Однажды на просторах интернета я увидел вот такого робота: http://samodelniy.ru/samodelnyj-robot-inchworm-na-baze-arduino-nano. Идея мне понравилась, захотелось сделать своего робота с блэкджэком и ... датчиками. Простое радиоуправление мне не интересно, поэтому я задумал обучить его разным штукам. Но сперва о конструкции.
Робот движется при помощи трех серв HXT900. Он спаян из фольгированного стеклотекстолита. Четыре восьмиугольных платы образуют ребра гусеницы, девять треугольников образуют сочленения, еще есть три держателя серв и пятнадцать треугольников жесткости. Питается все от четырех аккумуляторов никель-металл-гидридных размера ААА, разделенных на две группы. Передняя плата содержит AVR Tiny25, работает ИК-бампером и получает информацию от датчиков цвета поверхности, сливает информацию в последовательном коде в мозг гусеницы. Задняя плата содержит AVR Tiny25, принимает команды от ИК пульта (работа в ручном режиме, а также выбор модели поведения) и передает их в мозг параллельным кодом (3 бита). Вторая плата спереди является мозгом, мозг на AVR Mega8, туда сходятся все провода-нервы. Четвертая плата электроники не содержит.
Сделав робота, я начал учить его разным штукам. Для начала научил его ходить, как ходил прототип (как гусеница, как краб, как перекати-поле). Вот результат:
Затем я стал учить робота лайнтрейсу. Это было непросто из-за дискретности шага, а также из-за того, что при повороте робот имеет отброс назад. Но все получилось, смотрим ролик.
Затем я стал учить робота кегельрингу. Это было самое сложное. А вся проблема в том, что глаз у робота один и конус зрения относительно большой. То есть цель видна при накрывании краем конуса, при этом робот по цели промажет. Пришлось изобретать хитрые алгоритмы. Тоже получилось, результат ниже. Кто досмотрит до конца - тот молодец. Вы увидите, что я кручу ринг - это потому, что робот видит и за рингом и упирается взглядом в шкаф. По регламенту вокруг ринга должно быть пусто. Поэтому сбитые кегли я убирал.
Ну и напоследок захотел продемонстрировать применение ИК-бампера в еще одном деле. Но по той же причине получилось не очень наглядно: робот ползет по столу и видит его край, соответственно заранее поворачивает. Видео вот:
Ну и напоследок немного фотографий.