Неделя 1: различия между версиями

Материал из robbo
Перейти к навигации Перейти к поиску
Новая страница: «'''Пятый всероссийский летний робототехнический лагерь 2015''' ''Неделя 1'' Ребята участвующ…»
 
Нет описания правки
 
(не показано 35 промежуточных версий 1 участника)
Строка 1: Строка 1:
'''Пятый всероссийский летний робототехнический лагерь  2015'''
==[https://robofinist.ru/tournament/single/view/id/28 Пятый всероссийский летний робототехнический лагерь  2015]==
''Неделя 1''
 
Ребята участвующие в лагере должны уже как минимум год заниматься робототехникой, поэтому при приеме в лагерь они проходят входное тестирование. Поскольку робоплатформа рассчитана на самых маленьких и впервые попала в робототехнический лагерь было принято решение брать в группы ScratchDuino детей не прошедших тестирование. Для презентации направления мною было подготовлено [http://www.239.ru/userfiles/file/ScratchDuino_SPB_2.pdf несколько слайдов о робоплатформе].
'''Неделя 1'''
 
Ребята участвующие в лагере должны уже как минимум год заниматься робототехникой, поэтому при приеме в лагерь они проходят входное тестирование. Поскольку робоплатформа рассчитана на самых маленьких и впервые попала в робототехнический лагерь было принято решение брать в группы ScratchDuino детей не прошедших тестирование. В день заезда каждое направление в лагере, а их  [http://www.239.ru/userfiles/file/map_final.png около 20], было представлено руководителем направления на открытии лагеря. Для презентации направления мною было подготовлено [http://www.239.ru/userfiles/file/ScratchDuino_SPB_2.pdf несколько слайдов о робоплатформе]. После открытия дети могли выбрать заинтересовавшее их направление и пройти либо собеседование, либо тестирование по данному направлению. Очень многим детям отказывали в выбранном направлении в связи с недостаточной подготовкой. И так, в нашу группу попали 5 человек. В течении следующих 5 дней нас ждали три учебные пары в день: с 10:00 до 11:30, с 12:00 до 13:30 и с 17:00 до 19:00. При желании детей или в случаи необходимости можно было провести 4 пару с 20:00 до 21:30. Занятия в субботу состоят только из двух утренних пар, а после обеда происходит переход в место проведения соревнований и подготовка на реальных полях к соревнованиям. Воскресенье все посвящено соревнованиям.
 
'''День первый'''
 
[https://drive.google.com/file/d/0B60lhTn6qnvrN2tlMTlCbzdlMUE/view?usp=sharing Презентация к первому занятию]
[[Image:WP_002850.jpg|thumb|200px|right|Результаты соревнования, указано число успешно сделанных поворотов и время]]
[[Image:WP_002847.jpg|thumb|200px|left|Иосиф помогает]] [[Image:WP_002848.jpg|thumb|200px|left|Объезд двух дисков]]
 
Начались занятия. Знакомство с детьми показало, что у нас дети, закончившие 4 и 5 класс, все из Питера, занимавшиеся лего конструированием и некоторые NXT G в течении года, два из них знакомы немного со Scratch в чистом виде. Мы начали с рассказа о том, что такое свободная робототехника. Конечно всем детям нравится, что робота можно создать совсем с нуля, но не все понимают насколько это сложно. Обсудили сложности, которые возникают при создании роботов, а я сильно пожалела, что не взяла с собой реальные версии ScratchDuino, разработанные моими студентами. В общем момент мотивации прошел успешно. Хотя в лагере, благодаря старшим опытным детям-робототехникам атмосфера в отношении ScrstchDuino была не благоприятная - платформу постоянно вышучивали и мягко скажем презирали) Однако младшим ребятам как раз идея крепления датчиков на магнитах сильно понравилась. Покрутили платформу в руках, посмотрели где двигатели, как вставлять и вынать картридж, как ставить датчики. Рассмотрели все надписи и светодиоды. Погоняли платформу руками по столу и посмотрели как зажигаются светодиоды направления движения двигателей.
 
Следующим шагом стала установка программного обеспечения. Оказалось, что в партии поставленной в лагерь многие диски остались чистыми. Мы стали ставить всем Arduino 1.0.6 (а не записанную на диск версию), поскольку она автоматически устанавливает драйвера для Arduino. Показали как установить прошивку платы для использования Scratch. Детям понравилось рассматривать текст программы - "Какой он страшный" - "Как много написано" и тем самым мы создали положительную атмосферу для восприятия простого кода Scratch. Затем учились определять COM-порт по какому подключается робоплатформа, использовали для этого Arduino IDE, как наиболее быстрый способ. После запуска среды разработки Arduino IDE, достаточно в меню СЕРВИС -> ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ посмотреть номер порта. Только в этом случае каждый ребенок должен пользоваться одной и той же платформой, иначе IDE запоминает все порты. Потом подключали платформы в ScratchDuino. Кстати ни в одном руководстве не написано что же за Button такой, напротив которого при подключении должно возникнуть false. А на некоторых компьютерах возникает true и все работает. А уж загадочное А, вызывает массовый интерес детей, а преподавателю ответить нечего!
 
Первая программа конечно же была "тормози", поскольку останавливать робота больше нечем, а ловить его дети не всегда успевают. Потом практически самостоятельно было написано управление роботом со стрелок. Не использовали запуск двигателей на время и пришлось повозиться с тем, чтобы дети понимали, что сначала надо установить направление движения, а уж потом включать двигатель. Первое настоящее задание это написать движение по квадрату, бились за написание программы наименьшей длины. Таким образом, ненавязчиво, ввели понятие цикла. Мы поставили себе задачу показать удобства  и ограничения языка Scratch и для этого подбирали соответствующие примеры. Следующим заданием было заставить двигаться робоплатформу по кругу. Многие практически сразу догадались, что сделать это, используя существующие команды невозможно, в крайнем случае получится многоугольник. Попросили детей запомнить это, чтобы увидеть как это реализуется в более сложных языках программирования. Ну и как принято в методике Филиппова Сергея Александровича, каждое продвижение вперед должно завершаться соревнованием. Провели соревнование на самую лучшую программу, объезжающую два диска по восьмерке. Хотелось, чтобы ребята увидели в этом объезде квадраты и воспользовались уже существующими программами. Но... все же понятие цикла сложно воспринимается, поэтому мы получили большущие линейные программы.
 
 
[[Image:WP_002849.jpg|thumb|left|200px|Антон нагоняет пропущенный день]]
'''День второй '''
 
[https://drive.google.com/file/d/0B60lhTn6qnvrTmJUcFRrYmpRT3c/view?usp=sharing презентация ко второму занятию]
[[Image:WP_002861.jpg|thumb|right|200px|Тренировка]] [[Image:WP_002862.jpg|thumb|right|200px|Результаты соревнования]]
[[Image:WP_002859.jpg|thumb|200px|Оценка учебных задач]]
Так как циклы у детей не пошли, мы посвятили весь второй день разработке программ на циклы. Серия задач представляла задание пути для робота, по которому он должен был проехать. Мы неуклонно требовали самой короткой программы. На доске была нарисована табличка в которую заносились результаты решения задач. Кто решал задачу первым получал в табличку 1, кто вторым - 2 и т.д. Завершили день соревнованием по кегельрингу. На круглом поле-ринге стоит 6 банок-кегель. Необходимо написать программу для робоплатформы без датчиков, за минимальное время выталкивающую все кегли за пределы ринга. Оценивались решения по трем критериям: минимальный размер программы в строчках, количество вытолкнутых банок и время работы программы в секундах. Классический способ выполнения задания, так называемая звезда, когда робот едет в направлении банки, выталкивает ее, возвращается в исходную точку, поворачивает на угол и повторяет все операции сначала. Очень много было технических проблем. Неловкое движение ребенка в результате которого USB шнур вытащен из шилда и компьютер потерял COM-порт. Причем Windows может прекрасно видеть порт, как и Arduino IDE, а вот ScratchDuino отказывается подключаться. В итоге была придумана целая система последовательности действий, которая приводила к определению порта.
 
''' День третий '''
 
[https://drive.google.com/file/d/0B60lhTn6qnvrUkVmZVhwTE54QTQ/view?usp=sharing презентация к третьему занятию. Часть 1.]
[https://drive.google.com/file/d/0B60lhTn6qnvraGhqcTQ1dWROM28/view?usp=sharing презентация к третьему занятию. Часть 2.]
 
Третий день мы посвятили датчикам. Разобрали места крепления  и их обозначения. Разобрались с магнитиками. Очень часто дети переставляют магниты, поскольку не понимают их назначение. В проекте ScratchDuino магниты не только способ крепления датчиков, но способ передачи сигналов, поэтому от правильного расположения магнитов зависит работа датчиков. Первое: 4 контакта имеют четыре назначения - земля (минус), питание (плюс), передача аналогового (много разных) и цифрового (0 и 1) сигналов. Датчик может работать только в одном режиме, ибо как аналоговый, либо как цифровой, поэтому магнитов должно быть только три. Все датчики в ScratchDuino работают как аналоговые (даже кнопка), поэтому магнит напротив скошенного края (земля) должен отсутствовать, так как он отвечает за цифровой сигнал. Начали с простых датчиков касания и освещенности. Тут органично вводятся условные конструкции для проверки значений датчиков. Датчик касания конечно плохо срабатывает, поэтому еще со студентами мы придумали его модификацию  с приклеенным полукруглым куском пенопласта, но в лагере ничего похожего не нашли. Поэтому пользовались парой датчиков, когда один является зеркальным отражением другого. Брали отвертку и тут же его перекручивали - дети делали это с огромным удовольствием. Датчик освещенности прятался под куртки и кепки или освещался фонариком с телефона, так создавалась большая и малая освещенность. Подключение звука в Scratch с одной стороны оживляло занятие, с другой сильно тормозило образовательный процесс. Особое место занимал для нас датчик линии, поскольку в конце недели нас ждали соревнования, а там важнейшим элементом являлось движение по линии. К Сожалению возможности управления моторами в Scratch так урезаны, что полноценное построение регуляторов невозможно. Поэтому мы с ребятами остановились только на релейном.
 
''' День четвертый '''
 
[[image:WP_002867.jpg|200px|thumb|left]]
[[image:WP_002874.jpg|200px|thumb|left]]
 
Четвертый день мы начали с изучения последнего датчика из набора - инфракрасного датчика расстояния. Была поставлена задача обнаружения препятствия- банки и объезда ее. Дело в том, что одним из элементов соревнования в конце недели было выполнение элемента под названием "слалом", когда на линии встречаются две банки, которые необходимо объехать с нужной стороны и вернуться на линию. С помощью этого датчика можно выявить наличие препятствия, но сложность его использования состоит в том, что он подключается к 3 разъемам платформы, но при этом робот должен ехать по линии, т.е. разъемы А0 и А4 заняты под датчики линии. Использовать датчик глаз без двух фишек, т.е. только на центральном контакте нельзя. Поэтому пока дети выполняли простой объезд без линии, я отправилась к радиоэлектронщикам и удлинила провода, соединяющие две боковые фишки глаза, чтобы их можно было ставить в разъемы А1 и А2. Операция прошла успешно и мы начали готовиться к соревнованиям [https://robofinist.ru/tournament/single/competitions/id/41 "Полоса препятствий"]. Сразу было принято решение готовиться только к работе со второй частью полосы - со старта 2. В первой части имеется горка, а платформа в нынешнем состоянии не может ее преодолеть, поскольку имеет очень большую плоскость при очень маленьких колесах. Во второй части необходимо забить мяч в ворота, посбивать банки, обозначенные зеленым цветом на поле и не сбивать красные банки. Преодолеть плохую дорогу (точнее ее отсутствие) вдоль стены или выбрать альтернативный путь движения вдоль тонкой самопересекающейся линии.
 
''' День пятый '''
 
[[image:WP_002875.jpg|200px|thumb|right]]
[[image:WP_002866.jpg|200px|thumb|right]]
 
В предыдущий день только смогли разобрать правила и принцип начисления очков. Начали сам процесс тренировки. Первое это движение по линии. В связи с очень маленькой скоростью робоплатформы релейный регулятор после немногочисленных настроек смог приемлемо двигаться по линии. Обычно еще требуется калибровка датчиков, чтобы понять освещенность помещения. Калибровку делать не стали в связи с не очень высоким уровнем детей. Кроме движения по линии важным элементов является подсчет перекрестков, который удобнее делать на пропорциональном регуляторе, но он требует управления моторами по отдельности, чего нельзя сделать в ScratchDuino. Поэтому был сделан простейший способ подсчета перекрестков. Еще одна проблема которую решали в этот день это управление робоплатформой по bluetooth. Оказалось, что в этой партии стоит не стандартный модуль bluetooth, поэтому еще полдня провозились с его перепрошивкой. Кстати, спасибо технической поддержки, которая приложила массу усилий для того чтобы нам помочь и придумала красивый и простой способ перепрошивки.
 
''' День шестой '''
[[image:WP_002886.jpg|200px|thumb|left| 3D-шники распечатали нам поломанные запчасти]] [[image:Polosa1.png|200px|thumb|left| Так выглядит поле для соревнований]]
 
 
Первые пол дня ушли на изменение программ в связи с подключением bluetooth. Его дальность работы поразила, удаление робоплатформы на три метра и потеря с ней связи. Windows 8 очень плохо повела себя с blootooth. Первое подключение прошло удачно. Но после выключения компьютера и последующего включения, Scratch ни в какую не хотел подключаться. Таким образом, у нас выбыл из соревнований один из толковых ребят. Другая проблема - подключение батарейки. Скорость платформы резко увеличивается, поэтому все подобранные параметры пришлось подбирать по новой. Если до этого момента мы пользовались исключительно командой "вкл. мотор", то после подключения батарейки робоплатформа вела себя непредсказуемо. Пришлось использовать "включить мотор на 0.1 сек" и тем самым вернуть скорость робота к исходной. Мое подозрение, что передача команд по bluetooth не успевает за скоростью робота, так и не была доказана. Была написана специальная программа, сравнивающая количество команд полученных по bluetooth в цикле, показала что вроде проблем запаздывания передачи данных нет, но на что тогда грешить непонятно. Дети к 5 дню начали сильно уставать, поэтому только два самых стойких парня остались в субботу на 4 пару, чтобы готовится к соревнованиям.
 
''' День седьмой. Соревнования.'''
 
От направления ScratchDuino было заявлено на соревнования только 3 участника. Один из низ по техническим причинам (не подключался bluetooth) так и не вышел на полосу препятствий. Второй по той же причине пропустил первую попытку. Изменение освещенности в зале и отсутствие автоматической калибровки датчиков, требовали от ребят тщательной настройки параметров, что им не удалось хорошо сделать. В итоге из всех больших программ, было сделано, только прохождение по линии, за что оба участника получили по 20 баллов и попали оба на третье место. Наши ребята участвовали в номинации микроконтроллеры и ScratchDuino, в которой всего было 5 участников. [https://robofinist.ru/tournament/single/results/id/41/cid/342 Результаты] группы микроконтроллеры тоже показательны, из 6 учащихся на полосу препятствий смогли выйти только 2.  Что показали соревнования? Робоплатформа очень медленная и не может конкурировать ни с лего, ни с микроконтроллерами на соревнованиях, тем более работая на Scratch по bluetooth. Нужно работать над скоростью, проходимостью (горки), программировать в Scratch нельзя. Сонар очень неудобен для использования, и если леговцы ставят два, один для обнаружения банок, второй для езды вдоль линии, то в ScratchDuino  даже один сонар занимает очень много места. Роботы на Arduino сильно обгоняют нас по скорости, но подготовка их роботов требует слишком много времени. 
   
 
[[image:WP_002891.jpg|200px|thumb| Процесс подготовки к соревнованиям]]
[[image:WP_002892.jpg|200px|thumb| Процесс подготовки к соревнованиям]]
[[image:WP_002894.jpg|200px|thumb| Открытие соревнований]]
 
[[Категория:РОББО Лагерь]]

Текущая версия от 09:47, 16 февраля 2018

Пятый всероссийский летний робототехнический лагерь 2015

Неделя 1

Ребята участвующие в лагере должны уже как минимум год заниматься робототехникой, поэтому при приеме в лагерь они проходят входное тестирование. Поскольку робоплатформа рассчитана на самых маленьких и впервые попала в робототехнический лагерь было принято решение брать в группы ScratchDuino детей не прошедших тестирование. В день заезда каждое направление в лагере, а их около 20, было представлено руководителем направления на открытии лагеря. Для презентации направления мною было подготовлено несколько слайдов о робоплатформе. После открытия дети могли выбрать заинтересовавшее их направление и пройти либо собеседование, либо тестирование по данному направлению. Очень многим детям отказывали в выбранном направлении в связи с недостаточной подготовкой. И так, в нашу группу попали 5 человек. В течении следующих 5 дней нас ждали три учебные пары в день: с 10:00 до 11:30, с 12:00 до 13:30 и с 17:00 до 19:00. При желании детей или в случаи необходимости можно было провести 4 пару с 20:00 до 21:30. Занятия в субботу состоят только из двух утренних пар, а после обеда происходит переход в место проведения соревнований и подготовка на реальных полях к соревнованиям. Воскресенье все посвящено соревнованиям.

День первый

Презентация к первому занятию

Результаты соревнования, указано число успешно сделанных поворотов и время
Иосиф помогает
Объезд двух дисков

Начались занятия. Знакомство с детьми показало, что у нас дети, закончившие 4 и 5 класс, все из Питера, занимавшиеся лего конструированием и некоторые NXT G в течении года, два из них знакомы немного со Scratch в чистом виде. Мы начали с рассказа о том, что такое свободная робототехника. Конечно всем детям нравится, что робота можно создать совсем с нуля, но не все понимают насколько это сложно. Обсудили сложности, которые возникают при создании роботов, а я сильно пожалела, что не взяла с собой реальные версии ScratchDuino, разработанные моими студентами. В общем момент мотивации прошел успешно. Хотя в лагере, благодаря старшим опытным детям-робототехникам атмосфера в отношении ScrstchDuino была не благоприятная - платформу постоянно вышучивали и мягко скажем презирали) Однако младшим ребятам как раз идея крепления датчиков на магнитах сильно понравилась. Покрутили платформу в руках, посмотрели где двигатели, как вставлять и вынать картридж, как ставить датчики. Рассмотрели все надписи и светодиоды. Погоняли платформу руками по столу и посмотрели как зажигаются светодиоды направления движения двигателей.

Следующим шагом стала установка программного обеспечения. Оказалось, что в партии поставленной в лагерь многие диски остались чистыми. Мы стали ставить всем Arduino 1.0.6 (а не записанную на диск версию), поскольку она автоматически устанавливает драйвера для Arduino. Показали как установить прошивку платы для использования Scratch. Детям понравилось рассматривать текст программы - "Какой он страшный" - "Как много написано" и тем самым мы создали положительную атмосферу для восприятия простого кода Scratch. Затем учились определять COM-порт по какому подключается робоплатформа, использовали для этого Arduino IDE, как наиболее быстрый способ. После запуска среды разработки Arduino IDE, достаточно в меню СЕРВИС -> ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ посмотреть номер порта. Только в этом случае каждый ребенок должен пользоваться одной и той же платформой, иначе IDE запоминает все порты. Потом подключали платформы в ScratchDuino. Кстати ни в одном руководстве не написано что же за Button такой, напротив которого при подключении должно возникнуть false. А на некоторых компьютерах возникает true и все работает. А уж загадочное А, вызывает массовый интерес детей, а преподавателю ответить нечего!

Первая программа конечно же была "тормози", поскольку останавливать робота больше нечем, а ловить его дети не всегда успевают. Потом практически самостоятельно было написано управление роботом со стрелок. Не использовали запуск двигателей на время и пришлось повозиться с тем, чтобы дети понимали, что сначала надо установить направление движения, а уж потом включать двигатель. Первое настоящее задание это написать движение по квадрату, бились за написание программы наименьшей длины. Таким образом, ненавязчиво, ввели понятие цикла. Мы поставили себе задачу показать удобства и ограничения языка Scratch и для этого подбирали соответствующие примеры. Следующим заданием было заставить двигаться робоплатформу по кругу. Многие практически сразу догадались, что сделать это, используя существующие команды невозможно, в крайнем случае получится многоугольник. Попросили детей запомнить это, чтобы увидеть как это реализуется в более сложных языках программирования. Ну и как принято в методике Филиппова Сергея Александровича, каждое продвижение вперед должно завершаться соревнованием. Провели соревнование на самую лучшую программу, объезжающую два диска по восьмерке. Хотелось, чтобы ребята увидели в этом объезде квадраты и воспользовались уже существующими программами. Но... все же понятие цикла сложно воспринимается, поэтому мы получили большущие линейные программы.


Антон нагоняет пропущенный день

День второй

презентация ко второму занятию

Тренировка
Результаты соревнования
Оценка учебных задач

Так как циклы у детей не пошли, мы посвятили весь второй день разработке программ на циклы. Серия задач представляла задание пути для робота, по которому он должен был проехать. Мы неуклонно требовали самой короткой программы. На доске была нарисована табличка в которую заносились результаты решения задач. Кто решал задачу первым получал в табличку 1, кто вторым - 2 и т.д. Завершили день соревнованием по кегельрингу. На круглом поле-ринге стоит 6 банок-кегель. Необходимо написать программу для робоплатформы без датчиков, за минимальное время выталкивающую все кегли за пределы ринга. Оценивались решения по трем критериям: минимальный размер программы в строчках, количество вытолкнутых банок и время работы программы в секундах. Классический способ выполнения задания, так называемая звезда, когда робот едет в направлении банки, выталкивает ее, возвращается в исходную точку, поворачивает на угол и повторяет все операции сначала. Очень много было технических проблем. Неловкое движение ребенка в результате которого USB шнур вытащен из шилда и компьютер потерял COM-порт. Причем Windows может прекрасно видеть порт, как и Arduino IDE, а вот ScratchDuino отказывается подключаться. В итоге была придумана целая система последовательности действий, которая приводила к определению порта.

День третий

презентация к третьему занятию. Часть 1. презентация к третьему занятию. Часть 2.

Третий день мы посвятили датчикам. Разобрали места крепления и их обозначения. Разобрались с магнитиками. Очень часто дети переставляют магниты, поскольку не понимают их назначение. В проекте ScratchDuino магниты не только способ крепления датчиков, но способ передачи сигналов, поэтому от правильного расположения магнитов зависит работа датчиков. Первое: 4 контакта имеют четыре назначения - земля (минус), питание (плюс), передача аналогового (много разных) и цифрового (0 и 1) сигналов. Датчик может работать только в одном режиме, ибо как аналоговый, либо как цифровой, поэтому магнитов должно быть только три. Все датчики в ScratchDuino работают как аналоговые (даже кнопка), поэтому магнит напротив скошенного края (земля) должен отсутствовать, так как он отвечает за цифровой сигнал. Начали с простых датчиков касания и освещенности. Тут органично вводятся условные конструкции для проверки значений датчиков. Датчик касания конечно плохо срабатывает, поэтому еще со студентами мы придумали его модификацию с приклеенным полукруглым куском пенопласта, но в лагере ничего похожего не нашли. Поэтому пользовались парой датчиков, когда один является зеркальным отражением другого. Брали отвертку и тут же его перекручивали - дети делали это с огромным удовольствием. Датчик освещенности прятался под куртки и кепки или освещался фонариком с телефона, так создавалась большая и малая освещенность. Подключение звука в Scratch с одной стороны оживляло занятие, с другой сильно тормозило образовательный процесс. Особое место занимал для нас датчик линии, поскольку в конце недели нас ждали соревнования, а там важнейшим элементом являлось движение по линии. К Сожалению возможности управления моторами в Scratch так урезаны, что полноценное построение регуляторов невозможно. Поэтому мы с ребятами остановились только на релейном.

День четвертый

Четвертый день мы начали с изучения последнего датчика из набора - инфракрасного датчика расстояния. Была поставлена задача обнаружения препятствия- банки и объезда ее. Дело в том, что одним из элементов соревнования в конце недели было выполнение элемента под названием "слалом", когда на линии встречаются две банки, которые необходимо объехать с нужной стороны и вернуться на линию. С помощью этого датчика можно выявить наличие препятствия, но сложность его использования состоит в том, что он подключается к 3 разъемам платформы, но при этом робот должен ехать по линии, т.е. разъемы А0 и А4 заняты под датчики линии. Использовать датчик глаз без двух фишек, т.е. только на центральном контакте нельзя. Поэтому пока дети выполняли простой объезд без линии, я отправилась к радиоэлектронщикам и удлинила провода, соединяющие две боковые фишки глаза, чтобы их можно было ставить в разъемы А1 и А2. Операция прошла успешно и мы начали готовиться к соревнованиям "Полоса препятствий". Сразу было принято решение готовиться только к работе со второй частью полосы - со старта 2. В первой части имеется горка, а платформа в нынешнем состоянии не может ее преодолеть, поскольку имеет очень большую плоскость при очень маленьких колесах. Во второй части необходимо забить мяч в ворота, посбивать банки, обозначенные зеленым цветом на поле и не сбивать красные банки. Преодолеть плохую дорогу (точнее ее отсутствие) вдоль стены или выбрать альтернативный путь движения вдоль тонкой самопересекающейся линии.

День пятый

В предыдущий день только смогли разобрать правила и принцип начисления очков. Начали сам процесс тренировки. Первое это движение по линии. В связи с очень маленькой скоростью робоплатформы релейный регулятор после немногочисленных настроек смог приемлемо двигаться по линии. Обычно еще требуется калибровка датчиков, чтобы понять освещенность помещения. Калибровку делать не стали в связи с не очень высоким уровнем детей. Кроме движения по линии важным элементов является подсчет перекрестков, который удобнее делать на пропорциональном регуляторе, но он требует управления моторами по отдельности, чего нельзя сделать в ScratchDuino. Поэтому был сделан простейший способ подсчета перекрестков. Еще одна проблема которую решали в этот день это управление робоплатформой по bluetooth. Оказалось, что в этой партии стоит не стандартный модуль bluetooth, поэтому еще полдня провозились с его перепрошивкой. Кстати, спасибо технической поддержки, которая приложила массу усилий для того чтобы нам помочь и придумала красивый и простой способ перепрошивки.

День шестой

3D-шники распечатали нам поломанные запчасти
Так выглядит поле для соревнований


Первые пол дня ушли на изменение программ в связи с подключением bluetooth. Его дальность работы поразила, удаление робоплатформы на три метра и потеря с ней связи. Windows 8 очень плохо повела себя с blootooth. Первое подключение прошло удачно. Но после выключения компьютера и последующего включения, Scratch ни в какую не хотел подключаться. Таким образом, у нас выбыл из соревнований один из толковых ребят. Другая проблема - подключение батарейки. Скорость платформы резко увеличивается, поэтому все подобранные параметры пришлось подбирать по новой. Если до этого момента мы пользовались исключительно командой "вкл. мотор", то после подключения батарейки робоплатформа вела себя непредсказуемо. Пришлось использовать "включить мотор на 0.1 сек" и тем самым вернуть скорость робота к исходной. Мое подозрение, что передача команд по bluetooth не успевает за скоростью робота, так и не была доказана. Была написана специальная программа, сравнивающая количество команд полученных по bluetooth в цикле, показала что вроде проблем запаздывания передачи данных нет, но на что тогда грешить непонятно. Дети к 5 дню начали сильно уставать, поэтому только два самых стойких парня остались в субботу на 4 пару, чтобы готовится к соревнованиям.

День седьмой. Соревнования.

От направления ScratchDuino было заявлено на соревнования только 3 участника. Один из низ по техническим причинам (не подключался bluetooth) так и не вышел на полосу препятствий. Второй по той же причине пропустил первую попытку. Изменение освещенности в зале и отсутствие автоматической калибровки датчиков, требовали от ребят тщательной настройки параметров, что им не удалось хорошо сделать. В итоге из всех больших программ, было сделано, только прохождение по линии, за что оба участника получили по 20 баллов и попали оба на третье место. Наши ребята участвовали в номинации микроконтроллеры и ScratchDuino, в которой всего было 5 участников. Результаты группы микроконтроллеры тоже показательны, из 6 учащихся на полосу препятствий смогли выйти только 2. Что показали соревнования? Робоплатформа очень медленная и не может конкурировать ни с лего, ни с микроконтроллерами на соревнованиях, тем более работая на Scratch по bluetooth. Нужно работать над скоростью, проходимостью (горки), программировать в Scratch нельзя. Сонар очень неудобен для использования, и если леговцы ставят два, один для обнаружения банок, второй для езды вдоль линии, то в ScratchDuino даже один сонар занимает очень много места. Роботы на Arduino сильно обгоняют нас по скорости, но подготовка их роботов требует слишком много времени.


Процесс подготовки к соревнованиям
Процесс подготовки к соревнованиям
Открытие соревнований