ДО курс по робототехнике

4 апреля 2013 г.

Домашние задания для занятий по робототехнике

(С)NiNoXT
Когда занятия по робототехнике вводятся в учебный процесс, то встает вопрос давать или не давать домашние задания учащимся. Это ведь может быть даже не формальное задание, а предложение к ученикам использовать свободное время ребят для их же пользы.

Но тогда встает другой вопрос - не у каждого ребенка, занимающегося робототехникой, есть необходимое оборудование. Что делать?

При размышлении на эту тему возникают следующие идеи:

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


Конструирование.

Задания "до следующего занятия":
Японский конструктор ISOGAWA Yoshihito несколько лет назад выпустил конструктопедию (энциклопедию по конструированию) LEGO Technic Tora no Maci. Не смотря на свое японское происхождение в книге на несколько сотен страниц - только две страницы с текстом - одна на японском - вступление, а другая - тоже самое, только на английском. Остальные качественные фотографии и рисунки.


Так вот, а что если давать в качестве задания тому или иному учащемуся набор фотографий определенного механизма, и он бы подготавливал небольшой реферат (можно устный), который бы описывал что это за механизм, каково его предназначение, из каких частей состоит, в чем конструкторская особенность, и где бы можно было бы его использовать в реальных робототехнических задачах.
Имеет смысл попробовать.

Задание на долгий период времени: 
Было подсказано преподавателем робототехники из Екатеринбурга - он использовал этот метод для себя - для тренировки конструкторских навыков. 

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

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

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

Если ученик не может собрать робота в живую, то можно предусмотреть вариант, когда модель должна быть продемонстрирована в виде схемы, подготовленной в LEGO Digital Designer. Таким образом, ребята знакомятся также и с программным обеспечением, решающим задачи проектирования.

Программирование.

Тут, как ни странно, инструментов оказывается больше.
Простой вариант: преподаватель заранее готовит реализацию какого-то алгоритма. Особенно эффективно это смотрится на графических языках программирования. Ученикам раздаются распечатка программы или файл с ее текстом. Но не говорится, что это алгоритм и для чего он нужен. Это и есть задание - ребята должны догадаться о предназначении алгоритма и рассказать, для каких задач он подходит, какие должны быть конструкторские особенности робота (если это не входит в условие задачи).

Задания на программирование именно роботов, тоже могут выполнятся в домашних условиях. Для этого можно воспользоваться средами, которые эмулируют робота, его моторы и датчики, в 2D или даже в 3D мире. Из наиболее известных, это две среды RobotC Virtual Worlds (программирование на языках RobotC и Not eXactly C) и nxcSimulator (программирование на Not eXactly C). Среды достаточно мощные и уже проверенно, что на них можно тренировать написание даже довольно непростых вещей, например, PID регуляторов.


NiNoXT уже знакомил с этими средами здесь и здесь.

Есть еще, говорят, отечественная среда разработки QReal:Robots. Которая тоже поддерживает виртуальные полигоны для виртуальных роботов, но ее еще нужно опробовать. Интересующиеся, могут ознакомиться со средой здесь.


Еще один вариант также связан с роботами, но уже совсем не LEGO.

Существует такая древняя компьютерная игрушка COLOBOT. В ней космонавту необходимо управлять роботами для выполнения различных миссий по терраформированию неземных миров. Здесь есть и строительство новых объектов и роботов, и исследования новых земель и охрана своих владений от нападения извне. Для того, чтобы управлять роботами, вы должны их сначала запрограммировать. Т.е. наш виртуальный космонавт подходит к консоли робота и пишет там программу на C подобном языке. Программа может отвечать за всю миссию целиком, а может за небольшой какой-то ее участок. Потом, если нужно, еще одного робота программируете. А потом запускаете программы и смотрите, как механизмы повинуются вашим указаниям. 


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

Есть много отзывов, касающихся того, что данная игрушка реально помогает изучать не только программирование, но и английский язык. И даже недавно выяснился такой факт, что в 239 ФМЛ г. Санкт-Петербург ученики сдают зачет по программированию именно в этой среде! И ведь действительно, гонять виртуального робота выполняющего охрану какого-то объекта интереснее, чем двигать игрушечную черепашку по разлинованному полю.

Комментариев нет:

Отправить комментарий