Pull to refresh

Comments 23

Добавить обработку сигналов с подключённых датчиков (на пример если впереди препятствие- обойти его).
Добавить возможность управления цифровыми выходами (на пример для включения светодиодов или чего-то другого)

Не знаю. Если это хобби, то делайте. Если это что-то для работы, то есть уже достаточно много программных пакетов, которые позволяют разрабатывать сложные программы управления автоматикой и роботами, тоже не написав ни одной строчки кода. Ну и естественно они работают как с Ардуино так и с другими контроллерами — как по навороченней, так и попроще.
Программа не коммерческая, разрабатывалась для себя и друзей, вот решил поделится. Это пока что только планы. Большим приоритетом стоит разработка ПО, для управления с мобильного телефона.
Запилите сплайны в управляющие траектории вместо кусочно-линейных интерполяций — получите гладкие траектории и уменьшите износ железок.
Но если с механикой было все более-менее понятно – то разработка программы для управления таким устройством, в котором слажено должны работать большое количество сервоприводов, вызывала не мало сложностей

Как только в алгоритме появятся различные условные ветвления, «если сработал такой-то датчик, то сделать поворот на Х градусов, повторить N раз», немало сложностей уже будет вызывать наоборот, борьба с визуальным редактором.

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

Очень нужный и полезный софт, но вот вопрос — в статье сказано что Arduino Uno и Arduino Nano позволяют одновременно управлять 12 серовприводами, что круто. Однако в документации на сайте ардуино сказано, что Uno и Nano имеют всего шесть PWM выводов. Как удается сделать работу с PWM у тех выводов, которые ее не поддерживают?
Здесь используется программный ШИМ, при помощи таймеров, для этого нужен просто цифровой выход. Стандартная библиотека ардуино поддерживает до 12 выходов управляющего ШИМ сигнала на платах Nano/Uno.
Безотносительно вашего проекта, просто сразу вспомнилось это видео как прочитал заголовок.


автор добился потрясающей моторики, движения на голову «живее» абсолютно всех аналогов что я видел, которые дёргаются как паралитики, очень интересная штука. Написано вроде на VB.

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

«Можно создать своего робота, не написав единой строчки кода»: понижение «порога вхождения» — это замечательно, вот только цель, как я понимаю, заинтересовать людей робототехникой на уровне повыше Lego EV3. А там без готовности написания не одной и не двух строчек кода далеко не уйдёшь.

Не-русскоязычного интерфейса у программы не будет?
Он, мне кажется, пригодился бы больше, чем фото автора в разделе «О программе».
«Можно создать своего робота, не написав единой строчки кода»: понижение «порога вхождения» — это замечательно, вот только цель, как я понимаю, заинтересовать людей робототехникой на уровне повыше Lego EV3. А там без готовности написания не одной и не двух строчек кода далеко не уйдёшь.

Еще как уйдешь. Уровень выше — это production code, и там уже заправляют такие гиганты, как Matlab и Labview, в которых не только роботов, а и технику помощнее без написания единой строчки кода программируют.
Понижение «порога вхождения» — рассчитано больше на людей, у которых появился 3D принтер, они увидели в интернете интересную вещь, либо придумали сами, но они не понимают ничего ни в схемотехники ни в программировании, но есть желание начать. Так же на кружки по робототехнике, радиолюбителей итд. В первую очередь возможность управлять механикой поможет этим людям.

Я не ставил цель создать конкурента для Matlab и Labview. Так же я не писал что при помощи данного софта можно создать «терминатора» в 2 клика мышки. Главной целью было создать удобный и простой инструмент для отладки механики, но получилось даже лучше.

В разделе «о программе» я указал ту информацию, которую посчитал нужной, на работу системы она никак не влияет. А на счет англоязычного интерфейса я уже думал, скорее всего будет, проблема больше в описании, такую же статью написать на английском языке- для меня немного проблематично. Но судя по форумам по 3D печати очень много англоязычных людей как раз в поиске такого инструмента.

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

Рано это утверждать. У вас достаточно серьезные планы, и вы будете тратить на эту программу все больше и больше времени и рано или поздно встанет вопрос — либо забросить все это нафиг, либо продолжать, но уже за деньги.
И если вы не собираетесь это бросать, то с самого начала подумайте о коммерции. В этом нет ничего плохого — вот вы уже начали изучать рынок, спрашивая про интерес и публикуя «рекламные» статьи о своем продукте.
Вы можете сделать opensource программу, но оказывать платную поддержку тем, кому это действительно нужно. Или даже курсы обучения на основе своей программы. Или предлагать ее тем же кружкам робототехники или моделирования за деньги. Подумайте об этом.
Еще раз — в коммерциализации ничего плохого нет — вы тратите свое личное время на разработку и сопровождение и имеете полное право получать оплату за свой продукт. От этого, вопреки распространенному мнению, выигрывают все — у вас появляется материальная мотивация улучшать свою программу, у пользователей появляется удобная программа, «понижающая порог вхождения».
Просто довольно мало удобных инструментов для людей, у которых хобби электроника. Потому хотелось создать софт который бы помог людям в освоении робототехники.
По поводу планов и времени, могу сказать что первая версия данной программы была готова давно, еще после выхода статьи Сергея Грищенко. Как бонус — сделал поддержку работы с его тестером. Так как функционал был довольно простой, писать статью по той версии не стал, просто выложил в некоторых технических сообществах ВК. Особого интереса не вызвало и проект был заброшен на несколько месяцев, потому что не возникает особого желания заниматься тем, что не интересно никому.
Сейчас у меня появился 3D принтер, и как следствие робот. Жена очень хотела побыстрее увидеть как он работает, потому возобновил проект, появились новые возможности, упростилось редактирование, появился просчет промежуточных точек итд. И вот решил им поделится, может еще комуто пригодится.
По поводу opensource — его не будет, не люблю когда ковыряются в моем софте. По поводу коммерции — программа платной не будет. Я хорошо зарабатываю написанием другого софта, и нет необходимости сдирать денег с людей, которые делают первые шаги в освоении. Здесь бы хоть простое «спасибо» было приятно услышать…
Сделайте под «мегу», на большее количество сервов, можно было бы на inmoovа «натянуть»
По большому счету оно уже под «мегу», так как в ардуино собственно и используется контроллер «Atmega328».
12 выходов взято из соображений что это не нагрузит интерфейс элементами управления плюс такой количество поддерживает стандартная библиотека. Можно написать свою либо использовать другую, но это создает неудобства в использовании, так как необходимо использовать дополнительные файлы. начинающих это очень сбивает с толку. Планирую в будущем сделать на большее количество, на платах ШИМ контроллера, но посмотрим как оно будет.
Извиняюсь, я наверное не так Вас понял. Это не очень целесообразно, можно использовать платы ШИМ контроллера для этого, так и будет для WiFi версии. Просто нужно переделать интерфейс программы, так как в данном варианте больше элементов управления просто сделают не удобным использование.
Спасибо! теперь у меня появилось желание купить ардуинку и делать первые шаги в освоении робототехнике

Всегда пожалуйста! Рад что Вам понравилось.

Павел, добавьте в программу возможность задавать скорость поворота, это было бы очень полезно
Так «Время шага»- это как раз и есть время, за которое будет произведен поворот в данную позицию относительно предыдущей. Другими словами это и есть установка скорость поворота.
Если нужно поменять скорость в разные моменты — просто создаете новую точку и устанавливаете новое значение.
Sign up to leave a comment.

Articles

Change theme settings