Научная статья на тему 'РАЗРАБОТКА СОДЕРЖАНИЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ ПО КУРСУ "ЯЗЫКИ ПРОГРАММИРОВАНИЯ И СРЕДЫ УПРАВЛЕНИЯ РОБОТАМИ"'

РАЗРАБОТКА СОДЕРЖАНИЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ ПО КУРСУ "ЯЗЫКИ ПРОГРАММИРОВАНИЯ И СРЕДЫ УПРАВЛЕНИЯ РОБОТАМИ" Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
119
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБУЧЕНИЕ РОБОТОТЕХНИКЕ / ЯЗЫКИ ПРОГРАММИРОВАНИЯ / СРЕДЫ УПРАВЛЕНИЯ РОБОТАМИ / САМОСТОЯТЕЛЬНАЯ РАБОТА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гребнева Д.М.

В статье предложено содержание самостоятельной работы студентов по курсу «Языки программирования и среды управления роботами». В содержание работы включен анализ текста, решение тестовых заданий, решение задач. Приведено краткое теоретическое содержание занятия, примеры тестовых заданий, примеры практических задач. В качестве средств рассмотрены графические и текстовые среды программирования.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гребнева Д.М.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF THE CONTENT OF THE INDEPENDENT WORK OF STUDENTS ON THE COURSE "PROGRAMMING LANGUAGES AND CONTROL ENVIRONMENTS FOR ROBOTS

The article proposes the content of independent work of students in the course "Programming languages and robotic control environments." The content of the work includes text analysis, solving test problems, solving problems. The brief theoretical content of the lesson, examples of test tasks, examples of practical tasks are given. Graphical and textual programming environments are considered as means.

Текст научной работы на тему «РАЗРАБОТКА СОДЕРЖАНИЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ ПО КУРСУ "ЯЗЫКИ ПРОГРАММИРОВАНИЯ И СРЕДЫ УПРАВЛЕНИЯ РОБОТАМИ"»

Гребнева Д.М.

Доцент кафедры информационных технологий, канд.пед.наук

Филиал РГППУ в г. Нижнем Тагиле г. Нижний Тагил, Россия

РАЗРАБОТКА СОДЕРЖАНИЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ ПО КУРСУ «ЯЗЫКИ ПРОГРАММИРОВАНИЯ И СРЕДЫ УПРАВЛЕНИЯ РОБОТАМИ»

Аннотация

В статье предложено содержание самостоятельной работы студентов по курсу «Языки программирования и среды управления роботами». В содержание работы включен анализ текста, решение тестовых заданий, решение задач. Приведено краткое теоретическое содержание занятия, примеры тестовых заданий, примеры практических задач. В качестве средств рассмотрены графические и текстовые среды программирования.

Ключевые слова: обучение робототехнике, языки программирования, среды управления роботами, самостоятельная работа

DEVELOPMENT OF THE CONTENT OF THE INDEPENDENT WORK OF STUDENTS ON THE COURSE "PROGRAMMING LANGUAGES AND CONTROL ENVIRONMENTS FOR ROBOTS

Abstract

The article proposes the content of independent work of students in the course "Programming languages and robotic control environments." The content of the work includes text analysis, solving test problems, solving problems. The brief theoretical content of the lesson, examples of test tasks, examples of practical tasks

are given. Graphical and textual programming environments are considered as means.

Keywords: teaching robotics, programming languages, robot control environments, independent work

Для эффективного обучения важно правильно организовать самостоятельную работу студентов, которая должна иметь практическую направленность и быть ориентированной на расширение представлений обучающихся о практическом применении робототехники в различных отраслях деятельности. Автором предложено содержание самостоятельной работы для шести занятий по курсу «Языки программирования и среды управления роботами».

Занятие 1. «Программные среды управления роботами». Самостоятельная работа: ответить на вопросы теста, составить таблицу сравнения программных сред управления роботами.

Тест содержит пять вопросов.

1. Достоинством визуальной среды программирования является (быстродействие и эффективность программы, возможность создания программы без знания языка программирования, компактность программы).

Верный ответ: возможность создания программы без знаний языка программирования.

2. Достоинством текстовой среды программирования является (быстродействие и эффективность программы, возможность создания программы без знания языка программирования, компактность программы).

3. К какому виду относится среда программирования Ev3? (визуальная, текстовая).

Верный ответ: текстовая.

4. К какому виду относится среда программирования Small Basic Ev3? (визуальная, текстовая).

Верный ответ: текстовая.

5. Составьте таблицу-сравнение сред программирования роботов по следующим критериям: простота использования, поддерживаемый язык программирования, стоимость программного обеспечения, поддерживаемые роботы.

Для программирования роботов можно использовать разные среды программирования. Данные среды можно разделить на две большие группы -это графические и текстовые среды программирования.

Работа в графических средах программирования целесообразна на начальном этапе знакомства с программированием роботов. В отличие от классических языков программирования, визуальные (графические) языки позволяют разрабатывать программы с помощью графических элементов.

К популярным средам графическим средам программирования роботов Lego Mindstorms Education EV3, Microsoft Robotics Developer Studio (MRDS) и ArduBlock.

EV3 (Ev3 Comander) - графическая среда программирования, созданная специально для популярного робототехнического комплекта Lego Mindstorms Ev3. Создание программ управления роботами напоминает создание блок-схем и осуществляется с помощью специальных блоков, размещаемых вдоль оси последовательности действий. Порядок выполнения программы определяется порядком следования блоков. Является бесплатным программным обеспечением. Приложение Ev3 Comander предназначено для работы на планшетных компьютерах.

Microsoft Robotics Developer Studio (MRDS) - графическая среда программирования, поддерживающая ряд образовательных роботов, в том числе Lego Mindstorm, iRobotCreate и др. Включает себя язык визуального программирования Visual Programming Language (VPL) и имитационную

визуальную BD-среду. Написание программы на VPL заключается в выборе подходящих компонентов для решения поставленной задачи и установке связи между ними. Для образовательных целей является бесплатным программным обеспечением.

ArduBlock - графическая среда программирования для плат arduino. Представляет собой специальный плагин визуального программирования для Arduino, позволяющий собирать программу в виде блоков. Программа из графического вида затем может быть переведена в текстовый скетч-код. Является бесплатным программным обеспечением.

Текстовые среды управления роботов предназначены для школьников, которые уже знакомы с основами какого-либо языка программирования и умеют реализовывать на нем базовые алгоритмические конструкции. К популярным текстовым средам программирования относят: Small Basic Ev3, RobotC, Arduino.

Small Basic Ev3 - текстовая среда программирования для платформы LEGO Mindstorms EV3, основанная наязыке Бейсик. EV3 Basic является расширением для Microsoft Small Basic. Является бесплатным программным обеспечением.

RobotC - текстовая среда программирования, поддерживающая ряд образовательных роботов. Является лидером среди языков программирования для изучения роботов и подготовки к соревнованиям. Язык NXC (not exactly C) основан на языке программирования Си обладает простой в использовании средой разработки. Является платным программным обеспечением.

Arduino - среда программирования роботов на базе Arduino. Интерфейс среды разработки Arduino содержит следующие основные элементы: текстовый редактор для написания кода, область для вывода сообщений, текстовая консоль, панель инструментов с традиционными кнопками и

главное меню. Данный софт позволяет компьютеру взаимодействовать с Arduino как для передачи данных, так и для прошивки кода в контроллер.

Занятие 2. «Краткий обзор среды LegoEv3 Education». Самостоятельная работа: ответить на вопросы теста. Тест содержит три вопроса:

1. Сколько всего палитр блоков для управления роботами выделено в визуальной среде EV3?

Верный ответ: 6.

2. На какой палитре размещены блоки реализаций основных алгоритмических конструкций?

Верный ответ: управление операторами.

3. Соотнесите названия палитр программных блоков и действия, которые можно совершать, используя компоненты этих палитр.

1. Палитра «Действие» а)генерация случайных чисел

2. Палитра «Управление» b) организация цикла операторами»

3. Палитра «Операции с данными» c) управление моторами

Верный ответ: 1-с; 2-b; 3-a.

Графическая среда Ev3 разработана специально для программирования роботов серии Lego MindstormsEv3.Она основана на программном пакете LabView и имеет понятный графический интерфейс. Пользователь формирует программу, перетаскивая иконки, отвечающие за те или иные функции робота.

Программное обеспечение Ev3 поставляется со специальным инструментом, включающим 48 пошаговых мультимедийных уроков по обучению RobotEducator. Также эти уроки обучают использованию функционала регистрации данных и поясняют свойства аппаратного обеспечения Ev3.

После запуска среды Ev3 открывается основное окно программы, в котором следует выбрать создание нового проекта.

Окно проекта является основным для программирования поведения робота.

Для наглядности при построении программ управления, основные программные блоки сгруппированы и помечены цветами.

1. Палитра блоков «Действие» (зеленый цвет, рис. 1) содержит блоки управления моторами, блок вывода информации на экран, блок управления звуком и кнопками контроллера Ev3.

Рис. 1. Палитра блоков «Действие» 2. Палитра блоков «Управление операторами» (оранжевый цвет, рис. 2) содержит блоки для реализации основных алгоритмических конструкций: линейного алгоритма, ветвления и цикла. Следует отметить, что линейное выполнение программ роботом происходит мгновенно и поэтому требует установки задержки (значок часов).

Рис. 2. Палитра блоков «Управление операторами»

3. Палитра блоков «Датчик» (желтый цвет, рис. 3) содержит блоки управления кнопками и датчиками робота.

Рис. 3. Палитра блоков «Датчик»

4. Палитра блоков «Операции с данными» (красный цвет, рис. 4) содержит блоки определения переменных и стандартные математические операции.

Рис. 4. Палитра блоков «Операции с данными» 5. Палитра блоков «Дополнения» (синий цвет, рис. 5) содержит средства для внешних связей: работу с файлами, электронной почты, организацию беспроводной связи.

Рис. 5. Палитра блоков «Дополнения» 6. Палитра блоков «Мои блоки» (рис. 6, голубой цвет) содержит программы, которые разработаны пользователем для решения узких задач и сохранены в библиотеке.

Таким образом, программа Ev3 представляет собой последовательность блоков, определяющих действия робота. Например, для того, чтобы робот

проехал вперед, а затем развернулся, можно составить программу из двух блоков управления моторами - езда прямо и поворот (рис. 6).

Рис. 6. Программа управления движением робота Занятие 3. «Краткий обзор среды Small Basic Ev3 ».Самостоятельная работа: ответить на вопросы теста. Тест содержит пять вопросов.

1. На какой угол команда Motor.Move(«BC», 40, 180, «True») повернет мотор робота? (40, 180, мотор не будет поворачиваться).

Верный ответ: 180.

2. С помощью какой команды в Small Basic Ev3 возможно поставить задержку выполнения команды?(Stop0, Wait(), Delay())

Верный ответ: Delay()

3. Какой объект в Small Basic хранит математические методы? (Math, Mathematics, Count).

Верный ответ: Math.

4. Сопоставьте названия объектов и их обозначений в языке Small basic

Ev3?

1. Монитор a) LCD

2. Мотор b) Motor

3. Кнопки c) Sensor

4. Датчик d) Button Верный ответ: 1-a, 2-b, 3-d, 4-c.

5 . Какой параметр нужно изменить, чтобы изменить интервал шага цикла For? (to, step, nextto). Верный ответ: step.

Small Basic Ev3 -свободно распространяемая среда программирования для платформы Lego Mindstorms Ev3, основанная на языке Basic.^a 7).

5b Small Basic | ^ I | П |М7Щ|

Создать Открыть Сохранить Сохранить как Файл ^ Импорт ¿^Опубликовать Интернет 0 '-» Вс-авить Буфер обмена 1> </> Запуск (F5) Преобразовать Программа

Безымянный * J

1 For i=l to 4 2 Motor.Move ("ВС", 40, 720, "True") 3 Motor.Move ("B", 40, 430, "True") 4 EndFor 5 Program.Delay(2000) 1

Рис. 7. Рабочее окно среды Small Basic Ev3

Реализация основных алгоритмических конструкций, математические операции, логические операторы и др. полностью аналогичны языку Basic. Приведем краткое описание языка программирования.

1. Комментарии. Комментарии в любой строке программы начинаются с символа ' (апостроф). Все остальные символы в этой строке, стоящие справа от ', игнорируются. Например:

// это комментарий

k = 1 // это тоже комментарий

2. Переменные. Программа Small Basic позволяет обрабатывать числовые и символьные данные, то есть в Small Basic есть только два типа данных: числовой и символьный. К числовому типу относятся целые и дробные числа, к символьному - символы и строки символов.

Для объявления переменной в Small Basic достаточно ввести ее и присвоить ей значение. Далее значение переменной можно использовать в специализированных функциях управления роботом.

angle=360

Motor.Move("BC",20,angle,"True")

3. Арифметические выражения. В арифметических выражениях можно использовать следующие операторы:

+ сложение - вычитание * умножение /деление

% остаток от деления

Кроме того, можно использовать вызовы функций, как встроенных, так и написанных пользователем.

3. Встроенные функции и процедуры. Для вычисления математических функций используется объект Math с параметром соответствующей функции. Список встроенных математических функций:

Pi - значение числа Пи;

Sin, Cos, Tan, Abs, ArcCos ArcSin, ArcTan - тригонометрические функции;

Round - округление к ближайшему целому;

Ceiling - округление к большему целому;

Floor - округление к меньшему целому;

GetDegrees - перевод заданного угла из радианов в градусы;

GetRadians - перевод заданного угла из градусов в радианы;

GetRandomNumber - генерация случайного числа;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Log, NaturalLog - логарифмические функции;

Max - сравнивает два значения и выводит наибольшее;

Min - сравнивает два значения и выводит наименьшее;

Power - возводит число в степень;

Remainder - находит остаток от деления.

SquareRoot - находит квадратный корень числа.

4. Ветвления. Поддерживается ветвление в полной форме If условие Then

серия 1 Else

серия 2 EndIf

и ветвление в неполной форме If условие Then серия 1 EndIf

В условиях можно использовать следующие операторы сравнения: < (меньше), > (больше), = (равно), <> (не равно), <= (меньше равно), >= (больше равно). И логические операции:

Сложные условия строятся с помощью логических операторов: And (и), Or (или), Not (не).

5. Циклы. Существует два типа циклов: цикл с известным числом шагов и цикл с условием. Цикл с известным числом шагов в Small Basic записывается следующим образом:

For счетчик=начального значения To конечного значения Step интервал

тело цикла

EndFor

Число шагов может быть константой или арифметическим выражением. Фигурные скобки, ограничивающие блок, обязательны, даже если в тело цикла входит только один оператор. Цикл с условием имеет следующий формат: While условие тело цикла EndWhile

Условие может содержать арифметические выражения, логические отношения и логические операции.

6. Использование специализированных функций. В библиотеке Ev3Basic содержатся специализированные функции управления роботом:

функции управления монитором (LCD), кнопками (Buttons), моторами (Motor) и датчиками (Sensor) робота.

Синтаксис команд управления роботом: объект.свойство (значение свойства)

Например, команда Motor.Move(«BC», 40, 720, «True») поворачивает моторы, подключенные к портам BC на угол 720 градусов со скоростью 40. Значение «true» возвращается, если необходимо торможение после остановки моторов.

При использовании специализированных функций в среде Small Basic появляется всплывающая подсказка, в которой представлена справка по использованию (рис. 8).

( | Операция

&

Move

Поворачивает один или несколько моторов с заданной скоростью на указанный угол (в градусах).

Программа не будет переходить к выполнению следующих команд до тех пор, пока моторы не повернутся на требуемый угол. Если тебе нужно больше возможностей по управлению моторами, например плавный старт и замедление, используй команду Мо-torüchedule

Motor.

Move(ports, speed, degrees, brake) ports

Порты моторов

Рис. 8. Всплывающая подсказка в SmallBasicEv3

Занятие 4. «Линейный алгоритм на SmallBasicEv3». Самостоятельная работа: решить задачи управления роботом с использованием линейного алгоритма.

1. Написать программу, которая заставляет робота двигаться по квадрату. При завершении движения робот издает одиночный звук определенной тональности.

2. Написать программу, которая заставляет робота двигаться по окружности. При завершении движения робот издает однократно серию звуков из файла.

3. Написать программу, которая издает однократно серию звуков различной тональности (программируем мелодию, например, «В траве сидел кузнечик»).

4. Написать программу, которая заставляет проехать робота вперед-назад. При завершении движения робот выводит на экран изображение из файла.

5. Написать программу, которая заставляет робота проехать по траектории в виде буквы «П». При завершении движения робот выводит на экран текст в одной двух строках «Движение завершено».

Занятие 5. «Циклы на Small Basic Ev3». Самостоятельная работа: решить задачи управления роботом с использованием циклов.

1. Напишите программу, которая 5 раз воспроизводит серию звуков различной тональности.

2. Напишите программу, которая выводит на дисплей робота все четные числа в диапазоне от 1 до 100.

3. Запрограммируйте робота ездить по кругу, пока он не получит условного сигнала.

Занятие 6. «Ветвление на Small Basic Ev3». Самостоятельная работа: решить задачи управления роботом с использованием оператора ветвления.

1. Напишите программу, реагирующую на нажатие датчика выводом сообщения на дисплей «Pressed».

2. Напишите программу, которая выводит на экран текущее расстояние до объекта. Построить с помощью данной программы график зависимости показаний датчика от реального расстояния до объекта.

3. Напишите программу, которая будет определять цвет предмета и выводить на экран надпись с названием этого цвета. Определите, на каком расстоянии более эффективно использование датчика цвета.

Большая часть самостоятельной работы студентов должна отводиться на продуктивные формы работы студентов для формирования у них первоначальных знаний и способов действий в робототехнике, а также развития ценностных отношений к изучаемому курсу. По каждому учебному блоку робототехники студенты могут разрабатывать конкретные образовательные продукты, которые преподаватель может оценивать как по отдельности в качестве текущего контроля самостоятельной деятельности, так и в комплексе, к примеру, в виде оформленного студентами портфолио.

ЛИТЕРАТУРА

1. Мерзлякова, Л.В. Актуализация самостоятельной работы студентов в современном образовательном процессе / Л.В. Мерзлякова, Н.П. Башкова // Самостоятельная работа студентов: модели, опыт, технологии / Под ред. М.Г. Савельевой. Ижевск: Издательство «Удмуртский университет», 2009. С. 181185.

2. Митусова, О.И. Некоторые вопросы организации самостоятельной работы студентов [Электронный ресурс] / О.И. Митусова. // Электронный журнал «Научно-педагогические школы Юга России». URL: http://rspu.edu.ru/umversity/pubHsh/schools/2/mdex. (дата обращения 20.11.2020).

3. Программное обеспечение LegoMindstormsEv3. Официальное руководство [Электронный ресурс]. URL: https://www.lego.com/ru-ru/mindstorms/downloads(дата обращения 20.11.2020)

4. Программы «Робототехника»: Инженерные кадры России [Электронный ресурс]. URL: http://www.robosport.ru (дата обращения 20.10.2020)

i Надоели баннеры? Вы всегда можете отключить рекламу.