roboforum.ru

Технический форум по робототехнике.
Текущее время: 27 ноя 2024, 08:50

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Помогите с алгоритмом управления гусенечным роботом
СообщениеДобавлено: 11 апр 2011, 22:42 
Не в сети

Зарегистрирован: 11 апр 2011, 22:22
Сообщения: 3
Откуда: Воронеж
прог. языки: C#, Verilog
ФИО: Александр
Собрал платформу робота на базе гученечного танка.

CPU: платформа ПЛИС Altera Cyclone2, NIOS2, 8Мб ОЗУ.
Интерфейсы: Bluetooth UART, Ethernet 10T, PPM 40 Mhz.
Сенсоры: Ультразвуковой поворотный сканер 120град, фото/видеокамера 2МПикс, сенсорный ЖК дисплей 240*320.
Силовая установка: 2 коллекторных стандартных привода, ШИМ по 8 бит на направление, энкодер на каждой стороне 16 имп на оборот ведущего вала.
Все это все обрабатывается аппаратно, а результаты приходят на центральный процессор.

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

PS: пробовал застабилизировать обороты ПИД регулятором, но из-за малого числа импульсов на оборот и сильно разной нагрузке стабилизировать тяжело. Можно корректировать позицию ведомого привода относительно ведущего, но как тогда быть при поворотах.

Вообщем хелп, а то у меня творческий кризис.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с алгоритмом управления гусенечным роботом
СообщениеДобавлено: 11 апр 2011, 23:57 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Программу приведите, а лучше внешний вид выложите вашего робота. на слух плохо воспринимается

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с алгоритмом управления гусенечным роботом
СообщениеДобавлено: 12 апр 2011, 19:36 
Не в сети

Зарегистрирован: 11 апр 2011, 22:22
Сообщения: 3
Откуда: Воронеж
прог. языки: C#, Verilog
ФИО: Александр
Внешний вид - ничего особенного. Датчики снаружи невидно. А программа - это целый проект, написаный как на verilog так и на Си. С кучей файлов. Нужна собственно рабочая идея. Неужели ни у кого такой проблемы нет, как движение гусенечной техники с отклонением от прямой ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с алгоритмом управления гусенечным роботом
СообщениеДобавлено: 12 апр 2011, 19:59 
Не в сети
Аватара пользователя

Зарегистрирован: 19 янв 2010, 14:51
Сообщения: 979
Откуда: Петрозаводск
прог. языки: C, FBD, Wiring-Processimg,,,LD, SFC, ST...
ФИО: Вадим
digi писал(а):
как уровнять скорости вращения ведущих двигателей при прямом движении
тахогенераторы...они бывают разными (например обычный DC-мотор, может выполнять такую функцию...
digi писал(а):
как расчитать требуемую разность в шагах между двигателями
энкодеры...
digi писал(а):
Энкодеры выдают, грубо говоря, пройденное расстояние каждой гусеницы.
увеличьте их разрешение...
digi писал(а):
пробовал застабилизировать обороты ПИД регулятором, но из-за малого числа импульсов на оборот и сильно разной нагрузке стабилизировать тяжело. Можно корректировать позицию ведомого привода относительно ведущего, но как тогда быть при поворотах.
ну тогда тахогенератор и преобразователь U/F (напряжение/частота)...
Может как то графически вначале порешать задачку...типа нарисовать траекторию при развороте, оценить точки контакта гусениц с поверхностью, представить зависимости усилий на этих точках в разных режимах...И эмпирически составить табличку, в которой будут уставки скорости в зависимости от состояния системы...Эту табличку можно корректировать, приближаясь к идеалу...

_________________
Роботы, уже среди нас...
Прошу прощения за аватар, никак схему динамической индикации не могу настроить :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с алгоритмом управления гусенечным роботом
СообщениеДобавлено: 20 апр 2011, 18:33 
Не в сети

Зарегистрирован: 20 апр 2011, 17:57
Сообщения: 1
Сам искал что-то подобное, вот наверное наиболее подходящий вариант, но диски энкодеров придется крепить к валу двигателя, а не на колеса привода гусениц. Как реализовать, может подскажет статья: http://www.roboclub.ru/master/2005/07/25/sensor_90.html
Посмотрите текст программы по ссылке forum58/topic4392-15.html (текст программы взят оттуда):

'Платформа применения- МИНИБОТ-1.
'Язык - Basic
'Среда - BASCOM-AVR MCS Electronics v1.11.7.7
'Назначение программы - пример для некоммерческого использования.
'Действие программы - уравнивание угловых скоростей колес одноосевой схемы
' с двумя независимыми двигателями.
'Результат работы программы - езда прямо в одном направлении.
'Пояснения - в программе использован ШИМ для управления двигателями
' и прерывание от таймера0 для обработки информации от датчиков
' оборотов двигателей.
'Дата: 10.03.2008
'Автор: Чернышев А.А.

Есть видео: P1130699_toDivX.avi


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO