roboforum.ru

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

Алгоритмы и дизайн робота для езды по линии

Алгоритмы и дизайн робота для езды по линии

Ruslan » 30 янв 2009, 11:11

Здесь прелдагается выкладывать и обсуждать вопросы, связанные с разработкой и совершенствованием роботов для езды по линии. Если будет достаточно времени и материала - можно будет оформить в Вики.

1. Алгоритмы
a) Простые алгоритмы: робот считывает показания сенсоров и в зависимости от их комбинации устанавливает скорости моторов. Как правило определенной комбинации значений сенсоров строго соответствует определенная комбинация скоростей моторов.
- Хорошая статья про алгоритмы от Эдди Бауэра http://www.wrighthobbies.net/guides/linefollower.htm
б) ПИД алгоритмы: учитывают скорость изменений положения робота и позволяют более плавно реагировать на них.

2. Конструкция робота

Общие статьи про дизайн роботов
- простой робот Sandwich от Дэвида Кука http://www.robotroom.com/Sandwich.html
- гоночный робот Jet от Дэвида Кука http://www.robotroom.com/Jet.html

Re: Алгоритмы и дизайн робота для езды по линии

SMT » 30 янв 2009, 12:57

в забеге использовался простой код написанный на basic-е, в котором проверяется состояние 3-х датчиков линии (один - средний). Если линия появляется пол левым или правым датчиком, мотор с его стороны включается на реверс, пока линия не пропадет из под датчика.
Плюсы - простой код, не нужно использовать энкодеры мотор-колес (их можно использовать как дополнительные датчики)
Минусы - реверс мотора заставляет дергаться робота, резко снижается скорость - половина робота едет назад :(

Re: Алгоритмы и дизайн робота для езды по линии

frig » 30 янв 2009, 13:05

Минусы - реверс мотора заставляет дергаться робота, резко снижается скорость - половина робота едет назад :(


а можно ведь просто останавливать мотор либо снижать скорость его вращения... :D

Re: Алгоритмы и дизайн робота для езды по линии

SMT » 30 янв 2009, 13:08

ну так это и есть - доводка алгоритма :) Я как ракету RiO увидел, тоже об этом подумал

Re: Алгоритмы и дизайн робота для езды по линии

frig » 30 янв 2009, 13:10

я вчера писать его начал, так у меня один датчик отрубился... да и ночь уже была.

Re: Алгоритмы и дизайн робота для езды по линии

SMT » 02 фев 2009, 09:14

2RiO: Интересно - как еду удается в этом заезде на короткие "восходящие" так шустро проскакивать без среднего датчика?

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

Re: Алгоритмы и дизайн робота для езды по линии

frig » 02 фев 2009, 16:16

а я смотрю в сторону ПИД, только пока не додумал. Почитал статейку в вике, вроде все понятно, но вот как его применить в роботу... у нас ведь 2 мотора. пока не допетрил.

Re: Алгоритмы и дизайн робота для езды по линии

=DeaD= » 02 фев 2009, 17:10

frig писал(а):Почитал статейку в вике, вроде все понятно, но вот как его применить в роботу... у нас ведь 2 мотора. пока не допетрил.

Считай, что управлемый параметр - разница скоростей двигателей, при поддержании максимальной скорости на каждом движке.

Re: Алгоритмы и дизайн робота для езды по линии

frig » 02 фев 2009, 17:18

да я уже посмотрел код Pololu и все понял.

Общий то принцип я понимал, а теперь подсмотрел как реализовано и все понял.

Re: Алгоритмы и дизайн робота для езды по линии

frig » 03 фев 2009, 15:55

одна из самый интересных и важных тем, но что-то никто не торопится делиться своими наработками и опытом... :D это соревновательный дух так действует?

Добавлено спустя 5 минут 58 секунд:
кстати о Pololu... может выложить сюда код ихний? или это будет некорректно?

Re: Алгоритмы и дизайн робота для езды по линии

Ruslan » 03 фев 2009, 19:46

У меня секретных наработок нет. Фотки робота выложил. Код взял у Пололу http://www.pololu.com/docs/0J20, занимаюсь только подбором параметров для повышения скорости.

Насчет ихнего кода - можно спросить у них. По-моему ссылки достаточно.

Re: Алгоритмы и дизайн робота для езды по линии

frig » 03 фев 2009, 21:37

Насчет ихнего кода - можно спросить у них. По-моему ссылки достаточно.


да тут бы можно было выложить с русскими комментариями, разжевать все..

Re: Алгоритмы и дизайн робота для езды по линии

SMT » 04 фев 2009, 23:20

2olegsem: у вас в коде условие
Код: Выделить всёРазвернуть
If Pina.3 = 0 And Pina.0 = 0 Then                        'движение вправо
   Drl = 0 : Drr = 1 : Pwm1b = Speed : Pwm1a = Speed
   Portc.6 = 1
   Waitms 50

имеется ввиду "Правый и средний датчик линии на темной полосе", хотя для лайнтрейсинга по этой трассе вроде достаточно вашего
Код: Выделить всёРазвернуть
If Pina.0 = 0 Then                                       'движение вправо
   Drl = 0 : Drr = 1 : Pwm1b = Speed : Pwm1a = Speed
   Portc.6 = 1
   Waitms 50

это вы с крутыми (90 градусов) поворотам ездили? а как поворачивали - доезжали по энкодерам или паузе до поворота центром танка?

Re: Алгоритмы и дизайн робота для езды по линии

frig » 05 фев 2009, 10:20

имеется ввиду "Правый и средний датчик линии на темной полосе", хотя для лайнтрейсинга по этой трассе вроде достаточно вашего


ну это смотря как датчики поставить... если расстояние между мини менее ширины линии - то вполне актуально...


сложновасто выходит ваять без дисплея или uarta. отладка вообще на уровне "угадай мелодию". по светодиодам и моторам :cry:

Re: Алгоритмы и дизайн робота для езды по линии

executer » 05 фев 2009, 13:26

Постойте, я правильно понял, вы с датчиков принимаете дискретный уровень - есть/нет полоса? И еще и ПИД сюда подцепить хотите???


cron
Rambler\'s Top100 Mail.ru counter