roboforum.ru

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

Код робота-пылесоса версия 1.х

Код робота-пылесоса версия 1.х

EdGull » 23 ноя 2009, 10:34

Т.к. разработка механики на основе автомобильного пылесоса подходит к концу viewtopic.php?f=58&t=6794 , то пора писать код.
Здесь будем выкладывать все этапы программирования робота-пылесоса.
За основу будет браться заводская тестовая прошивка, но переносить будем по частям.

Допускаются небольшие обсуждения, но только в свете кода.
Категориеские запрещен троллинг, филосовствование и т.д.

И так, что хотелось бы сделать:
1. Управление с ИК-пульта по прерываниям
2. Запись и исполнение программ с пришедших с пульта
3. Поиск зарядки

Re: Первый код робота-пылесоса

repository » 02 дек 2009, 23:38

Значит так
Создал проект:
http://code.google.com/p/broombot/
Залили туда что нашел тут в ветке форума.
Кому нужен SVN качаем здесь:
http://tortoisesvn.net/downloads
Устанавливаем, под виндами после этого в проводник встроен клиент, простой и удобный.
Здесь хелп на русском:
http://tortoisesvn.net/docs/release/Tor ... index.html
Разделил на директории с именами MiBBiM EdGull SMT соотв там версии лежат кто что выкладывал тут.
соотв. можно не только на васике, но и другие вещи выкладывать, тексты описаний версий, картинки, библиотеки, схемы и тп.
при этом откатится к любой предыдущей версии любого файла, посмотреть чем отличаются версии и тп.
Самое главное - можно вдвоем и более человек работать надо одним файлом и не парится, что кто нить его изменит, так что потом фиг поймешь что и как там теперь.

Re: Первый код робота-пылесоса

Snable » 03 дек 2009, 11:40

Если баском UTF-8 поддерживает, то лучше перезалить в UTF-8, а то гуглокод кракозябры в вебе показывает :-)

Re: Первый код робота-пылесоса

repository » 03 дек 2009, 15:54

Хм, сомневаюсь, что поддерживает...

Re: Первый код робота-пылесоса

MiBBiM » 04 дек 2009, 01:13

эм, раз идея насчет репо поднялась, то я создал большое-пребольшое вот здесь. оно общее для всех (пока только моих, остальное будем добавлять потихоньку) наработок с платформой минибота.
http://code.google.com/p/minibot/source/list - последние изменения
http://code.google.com/p/minibot/source/browse/#svn/trunk - дерево всех проектов
http://code.google.com/p/minibot/source/browse/#svn/trunk/cleaner - проект пылесоса
http://code.google.com/p/minibot/source/browse/#svn/trunk/minibot_m32 - проект интерпретатора
ссылки для клиента:
http://minibot.googlecode.com/svn/trunk/
http://minibot.googlecode.com/svn/trunk/cleaner
http://minibot.googlecode.com/svn/trunk/minibot_m32
потестил переключение между режимами, для движения улиткой нужно подбирать константы, у меня бот не то чтобы очень плавно едет.
P.S. кодировка комментариев в самом деле съехала :(

Re: Первый код робота-пылесоса

Arsen » 04 дек 2009, 08:30

EdGull писал(а):какие у нас есть варианты?:
1. милисекунды
2. тики
3. по тикам энкодеров (которых у нас нет)
4. по количеству принятых команд
5. что еще?


5. событие датчика.

Пример на псевдокоде:

Едем_вперёд_до_срабатывания
затем (
Откат
Стоп
Случайный_разворот
Стоп
Едем_вперёд_до_срабатывания
)


Кстати, в примере рекурсия.

Re: Первый код робота-пылесоса

MiBBiM » 07 дек 2009, 21:59

если запоминание нужно только для фиксации маршрута, то можно по времени записывать величину управляющего воздействия (скважность шим).
как поведут себя уз маячки (это LPS?) при переходе из комнаты в комнату?
Arsen писал(а):Кстати, в примере рекурсия

и в отдаленной перспективе получим разрыв стека

Re: Первый код робота-пылесоса

EdGull » 08 дек 2009, 08:33

EdGull писал(а):Как написать чтобы, чем дольше я жму кнопку "Влево" тем на больший угол и более резче он бы поворачивал?
И без остановок.
А то сейчас он повернется, подождет, дальше повернется и т.д.

может будет у кого время разжевать мне?

Добавлено спустя 20 минут 48 секунд:
И еще думаю:
1. нужно подавать ШИМ на движки в зависимости он заряда акб.
Например, при 3.2В ШИМ 100%, а при 4.2В ШИМ такой чтобы крутились с такой же скоростью как и при 3.2В ШИМ 100%
2. нужно добавить новый тип движения, "рысканье", при езде прямо рыскать хрюнделем влево-вправо.Опять же завязанное на степень заряда акб так же как и в пункте 1.

MiBBiM поможешь?

Re: Первый код робота-пылесоса

MiBBiM » 08 дек 2009, 08:38

EdGull писал(а):может будет у кого время разжевать мне?

дык я же написал, постом-двумя выше.
EdGull писал(а):поможешь?

угу

Re: Первый код робота-пылесоса

EdGull » 08 дек 2009, 08:43

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


Добавлено спустя 2 минуты 32 секунды:
а надо так, жмем прямо, он едет скольно нам нужно впред, жмем влево, пока жмем, он поворачивает (и чем дольше, тем резче). как перестали жать он должен продолжить основное движение, т.е. прямо.

Re: Первый код робота-пылесоса

MiBBiM » 08 дек 2009, 08:46

чем больше жмем, тем сильнее он поворачивает. ты зашивал? управление похоже на вождение автомобиля.

Re: Первый код робота-пылесоса

EdGull » 08 дек 2009, 08:55

да, он у меня ваще не ездил, поэтому лучше отдельными процедурами (или как там это у вас называется), чтоб я просто вставлял в свой код.

я ща механику как обкатаю, тебе вышлю чтоб ты меня понмал о чемя толдычу... :D

Добавлено спустя 3 минуты 2 секунды:
MiBBiM писал(а):управление похоже на вождение автомобиля.

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

Re: Первый код робота-пылесоса

yak-40 » 08 дек 2009, 09:31

EdGull писал(а):1. нужно подавать ШИМ на движки в зависимости он заряда акб.
Например, при 3.2В ШИМ 100%, а при 4.2В ШИМ такой чтобы крутились с такой же скоростью как и при 3.2В ШИМ 100%
Можно так, а можно маршевые движки через отдельный стабилизатор запитать.

Re: Первый код робота-пылесоса

EdGull » 08 дек 2009, 09:37

но тогда свинца еще на меньшее время хватит пылесосить

Re: Первый код робота-пылесоса

yak-40 » 08 дек 2009, 10:15

Я делел на МС34063, он на ШИМ-е. Какая разница где ШИМ ставить :)
А потом твои маршевые движки потребляют немного, миллиампер по 150, или я ошибаюсь?

Re: Первый код робота-пылесоса

EdGull » 08 дек 2009, 14:27

именно что 150мА, т.е. 300мА/ч сколько это процентов от 4.5А/ч?
т.е на сколько минут меньше будет пылесосить, если на 4.5А/ч он пылесосит 45 минут? :wink:


cron
Rambler\'s Top100 Mail.ru counter