roboforum.ru

Технический форум по робототехнике.

Мой первенец

Наше хобби — конструировать и программировать.
Демонстрация готовых роботов и устройств построенных своими руками.

Мой первенец

Сообщение Denissimo » 05 июн 2013, 12:03

Изображение



Робот на основе компьютера с полноценной виндой на борту.
Пока может только дистанционно управляться через интернет и передавать видео.
Говорит то что напишут.
Сейчас работаю над распознаванием голосовых команд, изображения и ориентированием в пространстве.
Собирается довольно просто (мне показалось что это проще чем на основе микроконтроллера)
только немного дорого (около 20-25 тыс руб)
Проект написан на С++ с использованием OpenCV.
Можно легко подключать моторы, датчики, сервоприводы и пр.
Если кто то захочет сделать что то подобное, распишу все более подробно.
Последний раз редактировалось Denissimo 05 июн 2013, 22:08, всего редактировалось 1 раз.
Denissimo
 
Сообщения: 16
Зарегистрирован: 05 июн 2013, 11:46
прог. языки: C++

Re: Мой первенец

Сообщение Nesenin » 05 июн 2013, 15:02

как используется OpenCV ?
как организовано питание?
что за странный белый куб на борту?
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Мой первенец

Сообщение Denissimo » 05 июн 2013, 16:03

OpеnCV использовал скорее на перспективу - хочу изучать распознавание объектов (для этого вобщем и делал).
пока получаем картинку в формате IplImage переводим ее в монохромное изображение и построчно отсылаем на удаленный комп - оператору.
Питалово от LiPo аккумулятора на 21 вольт - через вот эту штуку - DC-DC Power Module 25W. На выходе получаем 5в для разных нужд и регулируемое напряжение где то в 15-17 вольт которое идет на блок питания M3-ATX (вставляется непосредственно в материнку) кнопки сверху - одна подрубает все питание, вторая симулирует автомобильное зажигание для старта. Довольно просто, хотя повозиться пришлось.
А белая штука это случайно попавшая ко мне маленькая аудио колонка :) (лень было с усилителями звука еще заморачиваться и динамиками). Внутри ей места уже не было, поэтому присобачил сверху.
Девушка моя была в шоке, когда робот к ней выкатился и поздоровался по имени :) - "откуда он знает как меня зовут?" до сих пор смеюсь :)
Denissimo
 
Сообщения: 16
Зарегистрирован: 05 июн 2013, 11:46
прог. языки: C++

Re: Мой первенец

Сообщение Nesenin » 05 июн 2013, 16:24

на тему зарядки аккумуляторов, контроля уровня заряда. http://www.mini-box.com/OpenUPS?sc=8&category=1264 может пригодится.
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Мой первенец

Сообщение Denissimo » 05 июн 2013, 16:39

О какая интересная штука, а есть какой то опыт в ее использовании?
Я так понимаю что ее можно поставить между аккумулятором и блоком питания чтоб контролить уровень заряда?
Мне бы что то придумать чтоб можно было как в ноутбуке - работал или от аккумулятора или от розетки и при этом аккумулятор бы заряжался. А то пока приходится всt это физически присоединять - отсоединять, каждый раз опасаясь короткого замыкания (пару раз он у меня уже горел :))
Denissimo
 
Сообщения: 16
Зарегистрирован: 05 июн 2013, 11:46
прог. языки: C++

Re: Мой первенец

Сообщение Nesenin » 05 июн 2013, 16:48

опыта нет. именно эта штука должна обеспечить при подключении робота к блоку питание переход на питание от БП и заряд аккумуляторов. при этом в системе все это видится как батарея ноутбука с сообщениями о низком заряде и выключении компа при разряде. для аккумуляторов у этого контроллера есть профили заряда и балансировки. то что надо для lipo . и профили можно делать самому. короче универсальная штука. см. документаци и ПО которое идет с этим чудом.
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Мой первенец

Сообщение Denissimo » 05 июн 2013, 16:57

если еще и научишь как заказывать ее оттуда буду вдвойне благодарен. M3-ATX мне из америки привезли. Как ее по почте заказать?

Добавлено спустя 4 минуты 40 секунд:
а все нашел где купить у нас в стране
Denissimo
 
Сообщения: 16
Зарегистрирован: 05 июн 2013, 11:46
прог. языки: C++

Re: Мой первенец

Сообщение Aseris » 05 июн 2013, 20:29

Хороший тон вставлять изображение на робофорум, а не на какой нить хостинг,
для ютуба хватит только кода : sJkHCC_Xm0M
Код: Выделить всёРазвернуть
[youtube] sJkHCC_Xm0M [/youtube]


Добавлено спустя 1 минуту 11 секунд:
Через что реализовано управление силовой частью?
Аватара пользователя
Aseris
 
Сообщения: 1142
Зарегистрирован: 01 сен 2009, 14:58
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python

Re: Мой первенец

Сообщение Denissimo » 05 июн 2013, 22:08

силовая часть от компа через USB к модулю Ke-USB24A. (тут все просто на С++ шлем команды как в текстовый файл - включить выход\выключить, также считывание или напряжение можно считать) от Ke-USB24A идет все уже на драйвер двигателей.

а как тут картинку выложить? я пробовал что то не очень вышло просто.
Denissimo
 
Сообщения: 16
Зарегистрирован: 05 июн 2013, 11:46
прог. языки: C++

Re: Мой первенец

Сообщение Nesenin » 05 июн 2013, 22:20

картинку можно прикреплять как файл и вставлять в сообщений.
Ke-USB24A немного унылая вещь. там нет ШИМ. нельзя плавно крутить движки. нельзя с нее сервами управлять. или как у вас реализовано управление сервами?
нельзя заставить выполнять свой код.
arduino за 10$ куда лучше
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Мой первенец

Сообщение Denissimo » 05 июн 2013, 22:40

для сервов у меня драйвер сервоприводов стоит. ШИМ можно программно реализовать - нужды пока не было, но частота там вроде позволяет.
ну робостроитель я начинающий - на днях придет ардуино - буду пробовать.
а можно на ардуино в реалтайм с компа слать и выдавать ШИМ? как это програмно реализовать? может есть готовые примеры или где можно почитать?
Denissimo
 
Сообщения: 16
Зарегистрирован: 05 июн 2013, 11:46
прог. языки: C++

Re: Мой первенец

Сообщение Nesenin » 05 июн 2013, 23:34

программно если код в микроконтроллере. общение ПК-микроконроллер через USB если вкратце на уровне 5мс задержек. это много.
среда ардуино умеет упрощенное программирование http://arduino.ru/Reference (за счет закрепленных настроек и готовых библиотек)
там есть аппаратный 8битый ШИМ. есть библиотека для сервоприводов и кучи всего.
пример программы для 1 выхода ШИМ и 1 сервы управление с ПК.
Код: Выделить всёРазвернуть
#include "Servo.h"//библиотека сервоприводов
Servo servo1;// глобальная переменная

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

  analogWrite(6,a); //запись
  servo1.write(b); //запись
  }
}

при желании можно что то более низкоуровневое. возможности широки. вплоть до написания автопилота для какого-нибудь мультикоптера. см. проект arducopter

у меня кстати первый робот тоже был с Ke-USB24A. и M3-ATX есть, но не нужен, потому что я покупке miniITX платы предпочел Intel NUC. Рекомендую.
по опыту могу порекомендовать использовать радиоуправление для моделистов. какой-нибудь китайский 2.4ггц.
моя последняя поделка download/file.php?id=28106&t=1 имеет такой смешанный вид управления с приоритетом РУ. полезно когда надо остановить\отогнать тележку.
Аватара пользователя
Nesenin
 
Сообщения: 1341
Зарегистрирован: 26 янв 2012, 03:59
Откуда: Казань
прог. языки: LabVIEW
ФИО: Никита Есенин

Re: Мой первенец

Сообщение AndreW82 » 05 июн 2013, 23:39

Denissimo писал(а):а можно на ардуино в реалтайм с компа слать и выдавать ШИМ? как это програмно реализовать? может есть готовые примеры или где можно почитать?
а как же, в ардуине есть UART и таймеры.
У меня не ардуина, а просто микроконтроллер на AVR принимает команды с компа через bluetooth-модуль, подключенный напрямую к UARTу МК.

Мой проект forum16/topic12233.html

А здесь найдешь всё по ардуине http://arduino.cc/
Аватара пользователя
AndreW82
 
Сообщения: 170
Зарегистрирован: 14 ноя 2012, 21:30
Откуда: Моск. обл.

Re: Мой первенец

Сообщение Denissimo » 06 июн 2013, 07:42

что такое UART?
Denissimo
 
Сообщения: 16
Зарегистрирован: 05 июн 2013, 11:46
прог. языки: C++

Re: Мой первенец

Сообщение elmot » 06 июн 2013, 09:36

Логически тот же rs-232, но с человеческими уровнями напряжений(5 или 3.3В). Есть практически на любом микроконтроллере.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

След.

Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13