roboforum.ru

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

Универсальный протокол для управления шасси робота - вар. 1

Re: Универсальный протокол для управления шасси робота - вар. 1

Duhas » 29 мар 2008, 13:51

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

Сергей, при желании мона и модуль сделать.. какие параметры нужны? только вот я SPI люблю ))

Re: Универсальный протокол для управления шасси робота - вар. 1

=DeaD= » 29 мар 2008, 15:07

Реализовал черновик протокола для управления шасси, пока 5 параметров изначальные, без расстояния, поскольку на гусеничном шасси нет энкодеров.
параметры - время выполнения команды в 1/50 долях секунды (частота связана с основным таймером в модуле, который заточен под управление сервами), начальные скорости колёс (левого и правого) и конечные скорости колёс (левого и правого).

Ниже выложено видео выполнения последовательности команд:
QFF00143000007F7F307F7F0F7F300F7F7F7F307F7F7F0F307F0F7F7F307F7F0000

в которой:

QFF0014 - обязательный заголовок серии команд для шасси;
3000007F7F - команда 1 (за 0х30 тактов разогнаться с 0х00, 0х00 до 0х7F, 0x7F)
307F7F0F7F - команда 2 (за 0х30 тактов притормозить левое колесо с 0х7F до 0x0F, продолжая двигаться правым со скоростью 0x7F)
300F7F7F7F - команда 3 (за 0х30 тактов вернуться левым колесом от скорости 0х0F к скорости 0x7F, продолжая двигаться правым со скоростью 0x7F)
307F7F7F0F - команда 4 (то же самое что и 2, только для правого колеса)
307F0F7F7F - команда 5 (то же самое что и 3, только для правого колеса)
307F7F0000 - команда 6 (то же самое что 1, только тормозим)
Вложения
MOV00003.zip
(73.52 КиБ) Скачиваний: 50

Re: Универсальный протокол для управления шасси робота - вар. 1

steel_monkey » 29 мар 2008, 15:30

Круто. Даже без энкодеров агрегат остановился направленный так же, как и начал двигаться ( ошибка очень маленькая). У меня с контролем скорости такого нет.
Duhas писал(а): гуглиться она сразу не захотела так что увы

Торрент решает. Если надо, могу скинуть.

Re: Универсальный протокол для управления шасси робота - вар. 1

=DeaD= » 29 мар 2008, 16:34

steel_monkey писал(а):Круто. Даже без энкодеров агрегат остановился направленный так же, как и начал двигаться ( ошибка очень маленькая). У меня с контролем скорости такого нет.

Ну такую красивую картинку легко испортить :) например ставим шасси на ковровое покрытие и всё... приехали :) 15° погрешность как с куста...

Добавлено спустя 33 минуты 22 секунды:
Выложил прошивку реализующую этот протокол вдобавок ко всему что уже умеет шлюз-контроллер в соответствующую ветку форума - viewtopic.php?f=35&t=3658&p=51267#p51267

Re: Универсальный протокол для управления шасси робота - вар. 1

Duhas » 29 мар 2008, 18:48

to Dead and All, можно выкладывать видео в человеческих форматах, а именно avi ? я как то пол часа моск мучил и машину чтобы найти денить чем посмотреть 3гп... в итоге забил..

to steel_monkey, буду рад.. чем удобнее, мылом?

Re: Универсальный протокол для управления шасси робота - вар. 1

steel_monkey » 29 мар 2008, 19:09

Давай мыло.
Вообще, проще всего поставить k-lite codec pack, и забыть про совместимости кодеков/проигрывателей.
=DeaD= писал(а):Выложил прошивку

:shock: охренеть, столько настрочить. Я ф шоке. Нафик, я столько за всю жизнь не напишу.

Re: Универсальный протокол для управления шасси робота - вар. 1

Duhas » 29 мар 2008, 19:16

duhas_hn(bow wow wow)mail.ru

кхм, он и стоял вроде ... и все раотало, только не 3гп...

Re: Универсальный протокол для управления шасси робота - вар. 1

=DeaD= » 29 мар 2008, 21:42

steel_monkey писал(а)::shock: охренеть, столько настрочить. Я ф шоке. Нафик, я столько за всю жизнь не напишу.

Это много что-ли? :) вечеров за 5-10 написано, не более... и вообще - какие-то жалкие 20Кб кода, из которого больше 2/3 копирование и небольшое изменение...

Duhas писал(а):кхм, он и стоял вроде ... и все раотало, только не 3гп...

K-Lite юзаю, вроде ничего кроме неё, всё работает... Может обновить версию?

Re: Универсальный протокол для управления шасси робота - вар. 1

=DeaD= » 01 апр 2008, 00:02

Пока нет другой платформы - перешел на платформу RealRobot'а. Приятная вещица! Синий зуб - это отличный вариант радиоканала :)

Адаптировал к нему уже свою прошивку, видео первого "забега" по команде QFF00141800007F7F187F7F0F7F180F7F7F7F187F7F7F0F187F0F7F7F187F7F0000 прилагается (пока не подключил энкодеры видно как мажет робот).

В ближайшие дни подцеплю к своей прошивке обратную связь через ПИД-регулятор и посмотрим насколько улучшатся результаты :)
Вложения
MOV00009.zip
(26.82 КиБ) Скачиваний: 37

Re: Универсальный протокол для управления шасси робота - вар. 1

=DeaD= » 01 апр 2008, 23:59

Вот такой странный декодер нашел - который из 30Кб делает 1.5Мб :) кто даст декодер лучше (3gp=>avi) буду очень рад! Получившийся огромный avi файл прикреплён ниже MOV00009.avi.zip

Добавлено спустя 3 часа 20 минут 49 секунд:
Прикрутил обратную связь по энкодерам (расстоянию).

Всё еще не передаю требуемое расстояние, а рассчитываю его внутри по начальным и конечным скоростям, в принципе вполне нормальный получился вариант :).

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

Еще немного снизил скорость от максимальной, чтобы было куда разгоняться, если что.

Итак выполнение всё той же команды QFF00141800007F7F187F7F0F7F180F7F7F7F187F7F7F0F187F0F7F7F187F7F0000 смотрите в приложенном файле MOV00016.3gp.zip
Вложения
MOV00016.3gp.zip
(38.67 КиБ) Скачиваний: 33
MOV00009.avi.zip
(1.45 МиБ) Скачиваний: 30

Re: Универсальный протокол для управления шасси робота - вар. 1

EdGull » 02 апр 2008, 01:04

кушай дарагой :friends: ... http://www.minibot.ru/pdf/movconverter.exe
Name: TEAM iNFECTED
Serial: 60493A12

Re: Универсальный протокол для управления шасси робота - вар. 1

=DeaD= » 02 апр 2008, 06:46

EdGull писал(а):кушай дарагой :friends:

О! Спасибо! Не догадался бы никогда что MOV to AVI это еще и 3GP to AVI :oops:

Прилагаю новый компактный AVI-шник :)

PS: Кстати, ковровое покрытие теперь роботу инвариантно :) обратная связь рулит!
Вложения
MOV00016.avi.zip
(13.18 КиБ) Скачиваний: 41

Re: Универсальный протокол для управления шасси робота - вар. 1

NeoLP » 28 апр 2008, 20:48

Это... я, конечно опоздал к дискуссии, но если посмотреть на пример команд видно много избыточности... это я про начальную скорость. Если ее убрать, то посылка сократиться, а если понадобиться резко ускоритьсято передадим команду - (за 0 времени изменить скорость до Х), а затем уже на выбранной скорости указать время движения. две таких команды всего на одно число длиннее одной сложной, а учитывая что такая ситуация не частая - съэкономится прпускная способность канала и протокол несколько упростится

Re: Универсальный протокол для управления шасси робота - вар. 1

Виталий » 29 апр 2008, 00:58

Сэкономим канал тогда когда это понадобится. А сейчас незачем.

Re: Универсальный протокол для управления шасси робота - вар. 1

Digit » 13 май 2008, 12:12

Dead, ну как? Развитие тема получила? А то я что-то из концовки не понял, что реализовано из протокола (Ls, Rs, Lf, Rf, DL, DR, T) + ПИД-регулятор... И статейку в вику обещался ;)

Кстати, ты тут говорил, что у девантеха нет возможности поворотов на скорости. А она есть! ;) Цитирую:
Turn mode (up to version 7)

In software versions up to 7, the turn modes look at the speed channel or register to decide if the direction is forward or reverse. They then apply a subtraction or addition of the turn value on either motor.

so if the direction is forward
motor speed1 = speed - turn
motor speed2 = speed + turn

else the direction is reverse so
motor speed1 = speed + turn
motor speed2 = speed - turn

If the either motor is not able to achieve the required speed for the turn (beyond the maximum output), then the other motor is automatically changed by the program to meet the required difference.

По I2C задается регистры speed и turn. Подробнее можно там почитать.

А вот очереди команд у них нету, это да.


cron
Rambler\'s Top100 Mail.ru counter