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

Обсуждаем рождающиеся мысли и результаты экспериментов.

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

Сообщение Duhas » 29 мар 2008, 13:51

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

Сергей, при желании мона и модуль сделать.. какие параметры нужны? только вот я SPI люблю ))
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

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
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение steel_monkey » 29 мар 2008, 15:30

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

Торрент решает. Если надо, могу скинуть.
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

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

Сообщение =DeaD= » 29 мар 2008, 16:34

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

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

Добавлено спустя 33 минуты 22 секунды:
Выложил прошивку реализующую этот протокол вдобавок ко всему что уже умеет шлюз-контроллер в соответствующую ветку форума - viewtopic.php?f=35&t=3658&p=51267#p51267
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение Duhas » 29 мар 2008, 18:48

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

to steel_monkey, буду рад.. чем удобнее, мылом?
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

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

Сообщение steel_monkey » 29 мар 2008, 19:09

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

:shock: охренеть, столько настрочить. Я ф шоке. Нафик, я столько за всю жизнь не напишу.
Аватара пользователя
steel_monkey
 
Сообщения: 346
Зарегистрирован: 14 июл 2007, 23:38
Откуда: SPb
прог. языки: немного албанский

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

Сообщение Duhas » 29 мар 2008, 19:16

duhas_hn(bow wow wow)mail.ru

кхм, он и стоял вроде ... и все раотало, только не 3гп...
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

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

Сообщение =DeaD= » 29 мар 2008, 21:42

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

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

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

K-Lite юзаю, вроде ничего кроме неё, всё работает... Может обновить версию?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение =DeaD= » 01 апр 2008, 00:02

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

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

В ближайшие дни подцеплю к своей прошивке обратную связь через ПИД-регулятор и посмотрим насколько улучшатся результаты :)
Вложения
MOV00009.zip
(26.82 КиБ) Скачиваний: 37
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение EdGull » 02 апр 2008, 01:04

кушай дарагой :friends: ... http://www.minibot.ru/pdf/movconverter.exe
Name: TEAM iNFECTED
Serial: 60493A12
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

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

Сообщение =DeaD= » 02 апр 2008, 06:46

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

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

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

PS: Кстати, ковровое покрытие теперь роботу инвариантно :) обратная связь рулит!
Вложения
MOV00016.avi.zip
(13.18 КиБ) Скачиваний: 41
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

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

Сообщение NeoLP » 28 апр 2008, 20:48

Это... я, конечно опоздал к дискуссии, но если посмотреть на пример команд видно много избыточности... это я про начальную скорость. Если ее убрать, то посылка сократиться, а если понадобиться резко ускоритьсято передадим команду - (за 0 времени изменить скорость до Х), а затем уже на выбранной скорости указать время движения. две таких команды всего на одно число длиннее одной сложной, а учитывая что такая ситуация не частая - съэкономится прпускная способность канала и протокол несколько упростится
Аватара пользователя
NeoLP
 
Сообщения: 62
Зарегистрирован: 01 авг 2005, 12:44
Откуда: Novosibirsk

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

Сообщение Виталий » 29 апр 2008, 00:58

Сэкономим канал тогда когда это понадобится. А сейчас незачем.
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

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. Подробнее можно там почитать.

А вот очереди команд у них нету, это да.
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Пред.След.

Вернуться в Идеи

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

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