Робот на основе компьютера с полноценной виндой на борту. Пока может только дистанционно управляться через интернет и передавать видео. Говорит то что напишут. Сейчас работаю над распознаванием голосовых команд, изображения и ориентированием в пространстве. Собирается довольно просто (мне показалось что это проще чем на основе микроконтроллера) только немного дорого (около 20-25 тыс руб) Проект написан на С++ с использованием OpenCV. Можно легко подключать моторы, датчики, сервоприводы и пр. Если кто то захочет сделать что то подобное, распишу все более подробно.
Последний раз редактировалось Denissimo 05 июн 2013, 22:08, всего редактировалось 1 раз.
OpеnCV использовал скорее на перспективу - хочу изучать распознавание объектов (для этого вобщем и делал). пока получаем картинку в формате IplImage переводим ее в монохромное изображение и построчно отсылаем на удаленный комп - оператору. Питалово от LiPo аккумулятора на 21 вольт - через вот эту штуку - DC-DC Power Module 25W. На выходе получаем 5в для разных нужд и регулируемое напряжение где то в 15-17 вольт которое идет на блок питания M3-ATX (вставляется непосредственно в материнку) кнопки сверху - одна подрубает все питание, вторая симулирует автомобильное зажигание для старта. Довольно просто, хотя повозиться пришлось. А белая штука это случайно попавшая ко мне маленькая аудио колонка (лень было с усилителями звука еще заморачиваться и динамиками). Внутри ей места уже не было, поэтому присобачил сверху. Девушка моя была в шоке, когда робот к ней выкатился и поздоровался по имени - "откуда он знает как меня зовут?" до сих пор смеюсь
О какая интересная штука, а есть какой то опыт в ее использовании? Я так понимаю что ее можно поставить между аккумулятором и блоком питания чтоб контролить уровень заряда? Мне бы что то придумать чтоб можно было как в ноутбуке - работал или от аккумулятора или от розетки и при этом аккумулятор бы заряжался. А то пока приходится всt это физически присоединять - отсоединять, каждый раз опасаясь короткого замыкания (пару раз он у меня уже горел )
опыта нет. именно эта штука должна обеспечить при подключении робота к блоку питание переход на питание от БП и заряд аккумуляторов. при этом в системе все это видится как батарея ноутбука с сообщениями о низком заряде и выключении компа при разряде. для аккумуляторов у этого контроллера есть профили заряда и балансировки. то что надо для lipo . и профили можно делать самому. короче универсальная штука. см. документаци и ПО которое идет с этим чудом.
силовая часть от компа через USB к модулю Ke-USB24A. (тут все просто на С++ шлем команды как в текстовый файл - включить выход\выключить, также считывание или напряжение можно считать) от Ke-USB24A идет все уже на драйвер двигателей.
а как тут картинку выложить? я пробовал что то не очень вышло просто.
картинку можно прикреплять как файл и вставлять в сообщений. Ke-USB24A немного унылая вещь. там нет ШИМ. нельзя плавно крутить движки. нельзя с нее сервами управлять. или как у вас реализовано управление сервами? нельзя заставить выполнять свой код. arduino за 10$ куда лучше
для сервов у меня драйвер сервоприводов стоит. ШИМ можно программно реализовать - нужды пока не было, но частота там вроде позволяет. ну робостроитель я начинающий - на днях придет ардуино - буду пробовать. а можно на ардуино в реалтайм с компа слать и выдавать ШИМ? как это програмно реализовать? может есть готовые примеры или где можно почитать?
программно если код в микроконтроллере. общение ПК-микроконроллер через USB если вкратце на уровне 5мс задержек. это много. среда ардуино умеет упрощенное программирование http://arduino.ru/Reference (за счет закрепленных настроек и готовых библиотек) там есть аппаратный 8битый ШИМ. есть библиотека для сервоприводов и кучи всего. пример программы для 1 выхода ШИМ и 1 сервы управление с ПК.
void setup() { Serial.begin(115200); //вкл общение с компом по виртуальному COM со скоростью 115200 все как на Ke-USB24A) pinMode(6, OUTPUT);//ножку 6 помечаем как выход. там же еть аппаратный шим servo1.attach(2); //серва бует на 2 ножке }
void loop() { if(Serial.available() > 1) проверяем поступление даных с ПК { byte a,b; // принимаем байты и разбиваем их a = Serial.read(); //тут будет значение ШИМ зачения 0-255 b = Serial.read(); //тут угол для сервы 0-180
при желании можно что то более низкоуровневое. возможности широки. вплоть до написания автопилота для какого-нибудь мультикоптера. см. проект arducopter
у меня кстати первый робот тоже был с Ke-USB24A. и M3-ATX есть, но не нужен, потому что я покупке miniITX платы предпочел Intel NUC. Рекомендую. по опыту могу порекомендовать использовать радиоуправление для моделистов. какой-нибудь китайский 2.4ггц. моя последняя поделка download/file.php?id=28106&t=1 имеет такой смешанный вид управления с приоритетом РУ. полезно когда надо остановить\отогнать тележку.
Denissimo писал(а):а можно на ардуино в реалтайм с компа слать и выдавать ШИМ? как это програмно реализовать? может есть готовые примеры или где можно почитать?
а как же, в ардуине есть UART и таймеры. У меня не ардуина, а просто микроконтроллер на AVR принимает команды с компа через bluetooth-модуль, подключенный напрямую к UARTу МК.