Добавляйте самоделоки - получайте оплату

*кликни за подробностями

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

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

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

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

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

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

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

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

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

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

Шаг третий. Программирование робота
Программирование состоит из нескольких этапов. Сперва нужно взять изображение и найти его границы. После этого можно начинать рисовать, процесс рисования состоит из двух этапов.
Собираем робота-художника на 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] (cкачиваний: 343)

Источник
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.
Чтобы написать комментарий необходимо войти на сайт через соц. сети (или зарегистрироваться):
Обычная регистрация
1 комментарий
  1. Vladimir_2016
    здравствуйте! какие серводвигатели подойдут для данного робота?можно ли купить в интернет-магазине?
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн чат

Опрос
Сколько по времени, чаше всего, Вы делаете самоделку?

Последние комментарии

Dmitrij
Случайно повторил...удалить...
Dmitrij
Это я все знаю. но вы меня не поняли или не читали, что я написал. Шарики зафиксированы, раскручиваем ось, потом отпускаем шарики, они поднимаются, снова фиксируем и отсанавливаем ось. Шарики так и
Новий Стандарт
то есть ось останавливается не тормозом а большим подъемом шариков ... Потом они падают вниз за счет земного притяжения на преодоление которого до раскрутки вы потратили энергию ... Шарики
Dmitrij
да остановка будет не за счет трения... Допустим, есть некий аккумулятор, типа механический, пружина, грубо, говоря. Пружина раскручивает ось, а потом ось снова растягивает пружину в исходное
Новий Стандарт
при разведении рук увеличивается момента инерции и уменьшается скорость ... кинетическая энергия при остановке оси переходит на трение остановки и на подъем шариков ...
Все комментарии