roboforum.ru

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


Синхронизация ног веслоходового шестинога

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

Синхронизация ног веслоходового шестинога

Сообщение Vovan » 04 апр 2009, 22:08

Проблема в следующем:
живёт "оно" уже давно и долго и, вроде, как всё в порядке... Но вот захотелось мне всё же засинхронизировать ему ноги в противофазе. Т.е. чтобы ни в коем случае не получалось у него одновременно (параллельно) ногами двигать, а только в противофазе при любых маневрах и после них. На борту Мега8, есть 4-ре свободных порта. Не могу придумать (сообразить) какие, где и сколько датчиков для этого нужно?
Что-то мне подсказывает: нужно ставить датчики (не знаю какие) на одной стороне ног на любую крайнюю, а на другой стороне ног на среднюю...
Чё-то я стормозил кароче :oops:
В архиве видео "таракана" (3,7мег)
Вложения
mvi_0535.rar
(3.66 МиБ) Скачиваний: 124
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Синхронизация ног веслоходового шестинога

Сообщение =DeaD= » 04 апр 2009, 22:24

Прикольный бешенный таракан :D

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

Re: Синхронизация ног веслоходового шестинога

Сообщение Vovan » 04 апр 2009, 22:35

Ну бешенный потому что "испуган", в данном видео (у него несколько моделей поведения)...
В противофазе - я мождь неверно или неудачно сформулировал, но Вы правильно поняли - да именно так. :)
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Синхронизация ног веслоходового шестинога

Сообщение =DeaD= » 04 апр 2009, 22:38

Блин, ну не надо меня на "Вы" называть, тем более с большой буквы :) вроде же давно на форуме?

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

Re: Синхронизация ног веслоходового шестинога

Сообщение Vovan » 04 апр 2009, 22:43

Оптические - помещу, годится.
А вот алгоритм срабатывания можно уточнить?
Т.е. так:
сработал датчик на одной стороне - ждём пока сработает на второй и только тогда продолжаем движение первой стороной... блин... чё-то я капитально торможу с такой, казалось бы, простой траблой :oops: сорри...
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Синхронизация ног веслоходового шестинога

Сообщение =DeaD= » 04 апр 2009, 22:58

трабла не простая :)

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

Re: Синхронизация ног веслоходового шестинога

Сообщение Vovan » 04 апр 2009, 23:04

Спасибо за участие.
Да, походу реально не просто... я и думаю: чего это я никак не въеду?
Так-с... а если начать с того что мы пока отключим ШИМ и будем ехать только на макс. скорости? Может мне сначала определиться без ШИМа, а уж потом ПИД строить?
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Синхронизация ног веслоходового шестинога

Сообщение =DeaD= » 04 апр 2009, 23:33

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

Re: Синхронизация ног веслоходового шестинога

Сообщение Vovan » 04 апр 2009, 23:59

М...да... верно :(
Придётся всю прогу переделывать... думаю в сторону ПД (без И)...
Однако туго мне придётся :cry: на асме ужасно витиеватая прога и без того...
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Синхронизация ног веслоходового шестинога

Сообщение executer » 05 апр 2009, 00:04

А чем обоснован отказ от И составляющей и включение Д заместь нее? Если есть люфты - их можно рассматривать как шум в канале датчика, а Д составляющая противопоказана с зашумленным каналом ОС. Всякие фильтры и ухищрения - от лукавого, если датчик не позволяет - юзайте ПИ.
И составляющую думаю Вам помогут описать на асме.
Както так вроде должна выглядеть в упрощенном виде (поправте если что) I=I+(D-I)/T
где: I - величина интеграла. справа и слева от равно - в предидущий и текущий моменты времени, соотв.
D - ошибка на входе регулятора
T - пост. интегрирования
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: Синхронизация ног веслоходового шестинога

Сообщение Vovan » 05 апр 2009, 00:46

Да, собсно, ничем не обоснован, просто мысли вслух...
Да и описать, думаю смогу сам... было бы что...
Просто вижу две основных проблемы: слишком большая и витиеватая и без того прога (на си что ль начать?), а во-вторых где и как разместить ПИД чтоб не грузил сильно МК...
Кароче тут походу надо всё переделывать и начинать именно с управления ПИДом ШИМом, а уж потом всё остальное пристраивать...
Лан, будут проблемы конкретные - отпишусь...
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Синхронизация ног веслоходового шестинога

Сообщение =DeaD= » 05 апр 2009, 01:10

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

Re: Синхронизация ног веслоходового шестинога

Сообщение executer » 05 апр 2009, 10:30

В промышленных контроллерах функция ПИД неуклонно вызывается из прерывания, через равные промежутки времени.
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: Синхронизация ног веслоходового шестинога

Сообщение Vovan » 05 апр 2009, 12:22

Хех... спасибо... кароче пока отложу ибо с си совсем плохо (надо подучиться :oops: ), а на асме чё-то оторопь берёт :shock:
Видать пока не по зубам мне, надо признаться :cry:
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Синхронизация ног веслоходового шестинога

Сообщение EdGull » 05 апр 2009, 12:37

может это знак свыше, что пора на васик переходить? :D
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

След.

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

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

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