Как подготовиться к соревнованиям по робототехнике

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

Рис. 1 Тщательное планирование — залог успешной авантюры 🙂

1. Робот должен быть полностью готов до последнего занятия

Друзья, никогда не откладывайте ответственную работу на последний день. Как правило , у преподавателей и учеников достаточно времени на подготовку к соревнованиям, если его недостаточно — лучше примите участие в следующих. Часто мы тратим это время не на то, что действительно важно.
Например, несколько наших учеников взялись за переделку колес и корпуса робота за месяц на соревнований. В итоге, на это убили кучу времени, а вот на то, чтобы отладить алгоритм — времени не хватило. Используйте время с умом, держите в голове цель — принять участие в соревнованиях, показать хороший результат (а робота, который поразит всех своей красотой).
Запомните, результаты на соревнованиях, как правило, хуже чем на уроке. Если ваш робот проехал кое-как на занятиях, на соревнованиях он может вообще не заработать.

2. Вы должны понимать как работает ваш робот и уметь самостоятельно его чинить

Робототехника — это сложная наука. Почему она сложная? Потому что мы имеем дело с реальным миром, который постоянно подкидывает нам новые сюрпризы. Оглянитесь вокруг, как быстро все меняется. Час назад еще было светло, а сейчас уже совсем темно. Думаете, это лирика? Но на самом деле изменилась освещенность в классе. Как вы думаете, это скажется на работе ваших датчиков освещенности или линии?
На соревнованиях нас тоже будут ждать сюрпризы: материал поле отличается от поля в классе, оно бликует, а колеса плохо цепляются за его скользкую поверхность. Это жизнь, и ваша задача научится справлятся с этими проблемами. Набирайтесь опыта, научитесь справляться с ошибками , подстраиватся под меняющиеся условия, и тогда вас точно ждет успех.

Рис. 2 Спасение утопающих — дело рук сами утопающих.

3. На что обратить внимание при проектировании и сборке электроники

Здесь главное — аккуратность. Если Вы спаиваете провода, убедитесь, что они держатся крепко, обязательно закрывайте место спайки термоусадкой или изолентой.
На соревнованиях прямо у меня перед глазами у одного участника закоротились провода питания из-за того, что они не были изолированы. Из-за этого драйвер двигателей сгорел, пришлось искать новый.
Когда вы собираете электронную схему на макетной плате — используйте общие шины для подключения питания. Так намного легче разобраться в ваших проводах во время отладки.
Убедитесь , что к электрике вашего робота есть доступ, и чтобы переключить провод не нужно разбирать всего робота. Но оставлять провода открытыми тоже нежелательно, вы можете вытащить их во время перевозки или случайно во время соревнований.

4. Питание робота (батарейки / аккумуляторы)

Во время соревнований Ваш робот будет питаться от батареек, а не от провода. Вот несколько советов по работе с ними.
— Возьмите с собой запасной комплект батареек
— Убедитесь, что батарейки заряжены перед соревнованиями
— На роботе обязательно должна быть кнопка включения/ выключения. Иначе придется каждый раз вытаскивать батарейки, чтобы они не разрядились , либо чтобы выключить робота.
— Соблюдайте технику безопасности при работе с батарейками! Мы часто используем литиевые аккумуляторы для питания роботов. У них высокое напряжение 3,5 — 4,2 Вольта, они выдают большой ток. В случае короткого замыкания такая батарейка может загореться! Также, эти батарейки нельзя разбивать или протыкать чем-то.

Рис. 3 Соревнования — отличная возможность узнать что-то новое.

5. На что обратить внимание при создании механических элементов (колес, крепежа и т.п.)

Все механические элементы робота должны хорошо держаться. То есть, робот не должен раскручиваться и разваливаться когда он едет по трассе, или когда Вы с ним работаете.
На соревнованиях один мальчик принес мне робота на котором все эелементы : батарейки, макетная плата, датчики , даже шаровая опора — были примотаны изолентой. Во-первых, я получил «огромное удовольствие» от разматывания метров изоленты, когда пытался этого робота починить. Во-вторых, даже после ремонта, результаты был плачевный. Даже несмотря на то, что программа работала исправно.
Поэтому, убедитесь, что все винтики надежно прикручены и не болтаются.
Робот должен стоять ровно и не шататься во время движения. Это приведет к неправильной работе датчиков линии, дальности и других. Подробнее о датчиках дальше.

6. Датчики и почему они могут вас подвести

Для примера возьмем датчики линии. Во-первых, мы должны убедится, что они подключены правильно. Как правило, у простых датчиков 3 или 4 контакта. 2 используются для питания (VCC и GND), еще 1 (или 2) для считывания сигнала. Датчик может выдавать как цифровой сигнал (1 / 0), так и аналоговый (0 — 255). В зависимости от того, какой сигнал выдает наш датчик, он должен быть подключен к правильному ПИНу (D1, D2 и т.п. для цифровых и A0, A1 и т.п. для аналоговых).

Также у датчиков есть свои рабочие условия. Например, у датчика линии есть конкретное фокусное расстояние, на котором он работает. Если датчик находится слишком высоко от поверхности или наоборот, робот «клюет носом» — он будет работать неправильно.

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

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

Датчики — это органы чувств вашего робота. Если они работают неправильно — не работает все программа. Убедитесь, что они работают правильно , и вы умеете их подстраивать.

7. Код для робота и его отладка

Когда вы пишите код для робота, убедитесь, что он понятен не только вам, его легко прочитать и понять. Хороший тон — добавлять комментарии в код, о том , как работает ваша программа. На соревнованиях это поможет вам вспомнить как работает ваша программа (случаи амнезии в условиях стресса не редки), и преподавателю внести какие-то изменения.

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

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

Рис. 4 Пишите код так, чтобы его поняли инопланетяне

8. Возьмите с собой ремкомплект

Максимально полный набор оборудования, который поможет вам на соревнованиях.
1) Ноутбук с установленными программами для отладки робота и программирования
2) Флешка с программой вашего робота
3) Паяльник и расходные материалы к нему (флюс или канифоль, припой, оплетка)
4) Набор проводов и устройство для их зачистки (плоскогубцы тоже сойдут при наличии соотв. навыка)
5) Отвертка крестовая для откручивания винтов на корпусе , шлиц для откручивания клем на драйвере
6) Клеевой пистолет и расходники
7) Запасные аккумуляторы и зарядное устройство, по возможности
8) Запасные винтики / гайки
9) Шаблоны для датчиков (например черно-белый лист для датчиков линии)

9. Неудачи возможны даже если ты готов идеально

Как уже было сказано ранее, даже если вы сделаете все по нашей инструкции и идеально подготовитесь, гарантии успеха нет. Часто все решают секунды и случайности, например как сработал датчик, с какой скоростью вращается мотор, как колесо цепляется за поле. Поэтому не расстраивайтесь, если что-то не получилось. Главное, это процесс, а не результат. Получайте удовольствие от робототехники, общения со своими соперниками — одноклассниками.

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