roboforum.ru

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

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

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

Vovan » 04 апр 2009, 22:08

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

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

=DeaD= » 04 апр 2009, 22:24

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

Не понял что такое в противофазе ногами двигать - в смысле чтобы когда поднимает среднюю ногу слева справа поднимал переднюю и заднюю ноги?

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

Vovan » 04 апр 2009, 22:35

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

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

=DeaD= » 04 апр 2009, 22:38

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

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

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

Vovan » 04 апр 2009, 22:43

Оптические - помещу, годится.
А вот алгоритм срабатывания можно уточнить?
Т.е. так:
сработал датчик на одной стороне - ждём пока сработает на второй и только тогда продолжаем движение первой стороной... блин... чё-то я капитально торможу с такой, казалось бы, простой траблой :oops: сорри...

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

=DeaD= » 04 апр 2009, 22:58

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

особенно если учитывать, что есть нефиговые задержки в системе - между подачей ШИМ и началом движения. По моему тут типичная задача для ПИД-регулятора. т.е. скажем левый движок пускаем всегда в 70% от ШИМ, а правым ШИМом управляем ПИД-регулятором, считая ошибкой время между срабатываниями датчиков и пытаясь свести его к нулю.

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

Vovan » 04 апр 2009, 23:04

Спасибо за участие.
Да, походу реально не просто... я и думаю: чего это я никак не въеду?
Так-с... а если начать с того что мы пока отключим ШИМ и будем ехать только на макс. скорости? Может мне сначала определиться без ШИМа, а уж потом ПИД строить?

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

=DeaD= » 04 апр 2009, 23:33

Без ШИМа по моему не получится - не реально управлять такими малыми задержками для выравнивания ног включая и выключая двигатели, слишком велико время реакции системы - пока все люфты выберет, пока якорь двигателя раскрутится - тут уже и 5 раз успеют датчики сработать...

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

Vovan » 04 апр 2009, 23:59

М...да... верно :(
Придётся всю прогу переделывать... думаю в сторону ПД (без И)...
Однако туго мне придётся :cry: на асме ужасно витиеватая прога и без того...

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

executer » 05 апр 2009, 00:04

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

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

Vovan » 05 апр 2009, 00:46

Да, собсно, ничем не обоснован, просто мысли вслух...
Да и описать, думаю смогу сам... было бы что...
Просто вижу две основных проблемы: слишком большая и витиеватая и без того прога (на си что ль начать?), а во-вторых где и как разместить ПИД чтоб не грузил сильно МК...
Кароче тут походу надо всё переделывать и начинать именно с управления ПИДом ШИМом, а уж потом всё остальное пристраивать...
Лан, будут проблемы конкретные - отпишусь...

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

=DeaD= » 05 апр 2009, 01:10

2Vovan: Use C :)

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

executer » 05 апр 2009, 10:30

В промышленных контроллерах функция ПИД неуклонно вызывается из прерывания, через равные промежутки времени.

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

Vovan » 05 апр 2009, 12:22

Хех... спасибо... кароче пока отложу ибо с си совсем плохо (надо подучиться :oops: ), а на асме чё-то оторопь берёт :shock:
Видать пока не по зубам мне, надо признаться :cry:

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

EdGull » 05 апр 2009, 12:37

может это знак свыше, что пора на васик переходить? :D


cron
Rambler\'s Top100 Mail.ru counter