Собираем робота-художника на Arduino

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

Материалы и инструменты для самоделки:
— железный конструктор (Mechanix kit);
— гайки и болты;
— прищепка (или другой держатель для карандаша);
— два колеса (для опор);
— контроллер типа Arduino uno;
— питание (источник 5В 2А);
— макетная плата;
— USB-кабель;
— три серводвигателя;
— дрель, отвертка, ключ;
— необходимое программное обеспечение (Arduino uno, Matlab).

Процесс изготовления робота:

Шаг первый. Разработка механических элементов робота
Механическая часть собирается очень просто, это делается из конструктора. С такой задачей справится и пятилетний ребенок.

1. В качалках от серводвигателя нужно просверлить два отверстия. Отверстия должны находиться на определенном расстоянии, каком именно, видно на фото.
2. Теперь нужно сделать крепеж для основания с приводом. Нужно просверлить четыре отверстия для крепления привода и затем зафиксировать его с помощью винтов. Привод будет использоваться в качестве неподвижного основания для робота-руки.
3. Алюминиевые звенья конструктора нужно прикрутить к качалкам приводов. Желательно, чтобы расстояние между качалками составляло 20 см.
4. Одну качалку нужно прикрепить к неподвижному основанию, а вторую ко второму двигателю. Перед тем как качалки будут зафиксированы, сервоприводы нужно откалибровать. Их нужно установить таким образом, чтобы вал находился под углом 90 градусов. Серводвигатель у основания должен располагаться параллельно звеньям, а привод на свободном конце должен быть размещен перпендикулярно.
5. Далее берутся звенья конструктора и крепятся параллельно к свободному концу и серводвигателю.
6. К нижней части конструкции нужно прикрепить колеса, они нужны для балансировки робота и его поддержки.
7. Последний мотор должен быть подключен к окончанию второго звена из пятого пункта.

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

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

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

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

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

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

Теперь можно переходить к настройке Matlab и Arduino для того чтобы код отрабатывал. Сперва в Matlab нужно установить плагин Arduino IO. Далее файл под названием arduino.m нужно заменить тем, который прикреплен проекту под точно таким названием.

Файлы finaldraw.m и draw.m нужно сохранить в директорию с Matlab. Файл под названием adioes.ino загружается на плату.
На следующем этапе нужно проверить, к какому порту подключена плата Arduino, открыть файл finaldraw.m и заменить порт COM3 на нужный.

Расширение рисунка, который требуется нарисовать, нужно изменить на тип .png. Это делается очень просто, можно использовать графический редактор, к примеру, стандартный Paint. Файл сохраняется в директорию Matlab.

Затем нужно открыть файл finaldraw.m и заменить там emma.png на название рисунка, который нужно нарисовать.
Как видно на картинке, в качестве теста используется фотография Эммы Уотсон.


Вот и все, робот готов к использованию, можно приступать к тестированию. Плата Arduino подключается к персональному компьютеру, а в командной строке Matlab затем прописывается команда finaldraw. Система элементарно настраивается под нужные габариты конструкции.

adioes.rar

[17.81 Kb] (скачиваний: 621)

Источник (Source)

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

Источник: usamodelkina.ru

Оцените статью