Рейтинг@Mail.ru

Робот-художник EV3 Print3rbot

Автор: Alex. Опубликовано в Копилка . просмотров: 96271

Рейтинг:  4 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда не активна
 

Мне очень понравился проект робота-художника EV3 Print3rbot, в котором, к сожалению, используются нестандартные детали, которые нужно печатать на 3D-принтере. Я решил собрать такого же робота, но используя детали только из образовательного набора LEGO Mindstorms EV3 (45544). И у меня это получилось, правда, пришлось добавить ещё резинок.

Робот-художник EV3 Print3rbot

Посмотреть, как робот рисует логотип сайта ПрогХаус, можете на следующем видео:

Автором проекта является Christophe Avenel. Страничку проекта вы можете найти здесь. В оригинальной конструкции робота используются детали из домашнего набора конструктора, плюс две шестерёнки из образовательного набора и три детали распечатанные на 3D-принтере. Моя конструкция такая же, но я собрал этого робота, используя только детали из базового образовательного набора. При этом размеры рук совпадают и можно использовать оригинальную авторскую управляющую программу без изменений.

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

Сначала я сразу дам схему сборки робота-художника EV3 Print3rbot, а затем напишу, как оживить его. Кроме базового образовательного набора LEGO Mindstorms EV3 (45544) вам понадобятся ещё фломастер диаметром около 8 мм и 4 резинки для денег. Более тонкий фломастер не подойдёт, т.к. он будет стоять неровно, и будет болтаться. Итак, вот схема сборки робота:

Файлы:
Инструкция для сборки робота-художника EV3 Print3rbot Версия:от 24.03.2017

Инструкция для сборки робота-художника EV3 Print3rbot из базового образовательного набора конструктора LEGO Mindstorms Education EV3 (45544).

В версии от 24.03.2017 добавлены забытые необходимые детали.

Дата 23.03.2017 Размер файла 9.55 MB Закачек 111182

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

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

Установка ev3dev

Управляющая программа работает на прошивке ev3dev, поэтому сначала нужно установить на EV3 эту прошивку. Как это сделать написано в статье «ev3dev – устанавливаем и настраиваем Debian Linux на LEGO Mindstorms EV3». Там же написано, как выполнять команды на EV3 и как копировать файлы на EV3, поэтому эту статью читайте обязательно.

Обратите внимание, что версия ev3dev должна быть ev3dev-jessie-ev3-generic-2017-02-11 или более поздняя.

Установка управляющей программы

Управляющая программа написана на языке программирования Python (Питон). Чтобы установить программу нужно просто скопировать нужные файлы в EV3. Здесь есть два способа.

1. Если EV3 подключен к интернету, то вы можете выполнить следующую команду:

git clone https://github.com/cavenel/ev3-print3rbot.git

Так вы скопируете на свой EV3 последнюю версию необходимых файлов непосредственно из репозитория проекта. После копирования файлы будут находиться в папке /home/robot/ev3-print3rbot.

Копирование с HTTPS у меня не заработало при подключении EV3 к компьютеру через USB-кабель. А при подключении к интернету через Wi-Fi всё скопировалось без проблем. Поэтому, если по каким-либо причинам команда не выполнилась, используйте второй способ.

2. Вы можете скачать папку ev3-print3rbot со всеми необходимыми файлами со страницы проекта (для этого нажмите на кнопку «Clone or download» и выберите пункт «Download ZIP») к себе на компьютер.

Скачиваем программу для робота-художника EV3 Print3rbot

Или скачайте чуть более старую версию файлов, которую использовал я, по ссылке ниже.

Управляющая программа для робота-художника EV3 Print3rbot Версия:от 23.03.2017

Управляющая программа для робота-художника EV3 Print3rbot.

Дата 23.03.2017 Размер файла 22.36 KB Закачек 10497

После скачивания, распакуйте архив ev3-print3rbot-master.zip, переименуйте папку «ev3-print3rbot-master» на «ev3-print3rbot» и скопируйте её в директорию /home/robot на EV3.

Подготовка изображений

Управляющая программа работает только с векторными рисунками формата SVG, причём только с такими SVG-файлами, которые не содержат трансформации. Чтобы конвертировать любой SVG-файл, вы можете воспользоваться программой Inkscape. Для этого скачайте и установите на компьютер Inkscape. Затем запустите программу, выберите меню «Правка -> Параметры», в диалоге настроек найдите «Поведение -> Трансформация» и удостоверьтесь, что выбран режим сохранения трансформаций «С оптимизацией». После этого закройте окно с параметрами и закройте программу Inkscape.

Настройка Inkscape

Теперь вы можете конвертировать файл следующей командой:

"C:\Program Files\Inkscape\inkscape.exe" image1.svg --verb=EditSelectAll --verb=ObjectToPath --verb=SelectionUnGroup --verb=FileSave --verb=FileClose --verb=FileQuit

где «C:\Program Files\Inkscape\inkscape.exe» - это путь к программе Inkscape на вашем компьютере, image1.svg – это путь к вашему файлу, а всё остальное – это действия, которые будет делать Inscape. После выполнения команды, файл будет подготовлен для того, чтобы его мог использовать робот-художник.

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

Готовый файл скопируйте на EV3 в папку /home/robot/ev3-print3rbot/images.

Запуск управляющей программы

Прежде чем запустить программу поменяйте текущую папку, если вы ещё этого не сделали, с помощью команды:

cd ev3-print3rbot/

Затем откройте в редакторе файл writer.py, найдите в конце строку:

wri.draw_image(image_file = 'images/test.svg',max_speed=35)

Здесь test.svg – это файл, который робот художник будет рисовать. Файл test.svg уже есть в папке images, так что вы можете, ничего не меняя, сразу запустить программу и посмотреть, что нарисует робот-художник. А вот, чтобы робот нарисовал другой рисунок, используя ваш SVG-файл, замените имя test.svg на имя своего файла, например, image1.svg. Обратите внимание, что перед запуском программы ваш SVG-файл должен быть подготовлен и скопирован в папку images как об этом уже было написано выше.

Файл, который робот рисует на видео, вы можете скачать здесь:

Логотип ПрогХаус в формате SVG для робота-художника EV3 Print3rbot Версия:от 23.03.2017

Логотип ПрогХаус в формате SVG для робота-художника EV3 Print3rbot.

Логотип ПрогХаус в формате SVG для робота-художника EV3 Print3rbot

Дата 23.03.2017 Размер файла 3.93 KB Закачек 4028

Запустите управляющую программу командой:

python3 writer.py

После этого робот, поднимет руки вверх, затем сложит их и начнёт рисовать.

Запуск управляющей программы из меню ev3dev

Кроме способа описанного выше вы можете запустить управляющую программу прямо из меню ev3dev. Для этого найдите с помощью проводника файл writer.py и выберите его (т.е. нажмите на центральную кнопку EV3). После этого управляющая программа запустится.

Запуск управляющей программы робота-художника EV3 Print3rbot из меню ev3dev

Tags: ev3dev Инструкции LEGO Mindstorms EV3 LEGO Mindstorms Education EV3 LEGO

Комментарии   

baur
0 #61 baur 25.06.2020 13:19
Цитирую Alex:
Цитирую baur:
вот у меня тоже самое выдает

Рисунок нужно подготовить программой Inkscape.

подготовить то есть открыть и с оптимизацией сохранить в svg? сделал, но выдает ошибку (((((
Цитировать
Alex
+1 #62 Alex 27.06.2020 22:15
Цитирую baur:
подготовить то есть открыть и с оптимизацией сохранить в svg? сделал, но выдает ошибку (((((

Честно говоря, не знаю чем вам помочь. Лучше спросите автора программы, в чём может быть проблема.

Оф. страница проекта с контактами автора программы: www.ev3dev.org/projects/2015/05/06/EV3-Print3rbot/
Цитировать

Добавить комментарий