Технический форум по робототехнике.
Vooon » 03 апр 2012, 23:26
В результате долгого курения сырцов ROS'а я откинул к черту многое из того что понаписал в начале темы.
Получается излишне сложно. Вместо этого я хочу получить прошивку где модуль отвечает на старые команды либо включается как нода ROS.
Сейчас я вернул eterm (app/orfa_eterm) в котором я постараюсь поддержать все "простые" команды орфы1.
На данный момент работают команды SSC-32 и IO на портах A и D (пока без АЦП).
https://github.com/open-robotics/orfa
elmot » 03 апр 2012, 23:51
Вооон, у меня есть N предложений к орфе, с которые родились в момент возни с ровером. Команды, в порядке убывания важности.
1) Reset.
2) Time Watchdog: команда, которая устанавливает таймаут - при отсутствии команд в течение заданного времени перегружаем МК со сбросом периферии. В случае ровера это нужно, если вырубился роутер или робот выехал из зоны приема вайфай.
3) Startup sequence: Возможность записать во flash несколько команд орфы, которые исполняются автоматом при включении МК.
4) HALT - упасть навсегда(до аппаратного сброса) в режим наименьшего потребления энергии
5) NOP
6) Voltage Watchdog: если значение с определенного АЦП в течении заданного времени ниже некоего порога, то reset и halt. Защита от переразряда батарей.
Vooon » 04 апр 2012, 11:01
- Зачем нужна команда ресет? Для чего ее использовать (сценарии применения).
- Я думаю добавить таймаут к команде управления моторами, думаю ресетить не правильно.
- Есть такая идея, правда не для eterm.
- Да, уйти в powerdown бывает полезно.
- Для чего NOP? Проверка связи?
- Возможно будет, но позже.
=DeaD= » 04 апр 2012, 11:17
1. Масса применений, кстати на ORFA под AVR тоже надо сделать

a. Для сбоса всех исполнительных устройств при перезапуске управляющего компьютера (чтобы привести всё к состоянию, когда перегрузили обоих);
b. Для обновления прошивки
2. Минимум для моторов, но вообще желательно для всего подряд. Если будем какой-нибудь водомет прикручивать или хуже того - эйрсофт автомат.
5. Хорошая мысль

для вотч-дога как минимум

6. Хорошая мысль, но пока не критично.
Добавлено спустя 2 минуты 6 секунд:2. Вообще надо бы сделать и тайм-аут для моторов и вотч-дог - вместе их

тайм-аут для моторов через 1сек, а вотч-дог - 15 сек.
elmot » 04 апр 2012, 11:51
Vooon писал(а):- Зачем нужна команда ресет? Для чего ее использовать (сценарии применения).
Dead написал, а так же для реализации вочдогов полезно.
Vooon писал(а):- Я думаю добавить таймаут к команде управления моторами, думаю ресетить не правильно.
Одно другому не мешает, а периферии может быть навешано очень много. Мало ли что еще привешено механическое - захваты, лебедки, сервы и т.д. Пусть уж все вырубится. Можно не ресетить, а запустить нечто наподобии startup sequence.
Vooon писал(а):
Есть такая идея, правда не для eterm.
Что такое eterm?
Vooon писал(а):
Для чего NOP? Проверка связи?
Проверка связи, вочдоги, hearbeats.
Vooon писал(а):
Возможно будет, но позже.
Voltage watchdog - наименее приоритетное. Тут еще надо продумать, как вырубить, скажем, набортный роутер, жрущий вполне отчетливые пару ватт. Или того хуже неттоп, жрущий вовсе не пару.
=DeaD= » 04 апр 2012, 12:18
Еще было бы круто иметь возможность роутер ставить в режим сна, из которого его можно вывести по WiFi.
Например, раз в 5 минут роутер просыпается, заходит на спец-сервер в инете и если там сказано "Подъём!" - переходит в рабочее состояние, иначе тупо засыпает дальше на 5 минут.
galex1981 » 05 апр 2012, 11:22
Тоже столкнулся со всем вышеуказанными проблемами.
Приоритетные проблемы:
6) Voltage Watchdog
1) Reset.
По команде Reset скажу: У меня когда начинают разряжаться до критического момента аккумуляторы, начинаются следующие глюки: при подаче команды на движение обоими моторами (вперед или назад) возможно заклинивание, то есть робот продолжает двигаться вперед или назад когда команда не подается. Ресетом нормально устаняется данная проблема.
dccharacter » 05 апр 2012, 11:50
(а у меня в батарейном блоке питания для роутера ряд отсечек - по мере выжирания батареи сначала идет предупреждение, потом отключается нагрузка - моторы, потом отключается питание роутера и блок халтится в минимальное потребление - сон. Выход только по перезагрузке.)
galex1981 » 05 апр 2012, 11:56
Это как так, поподробней можно?
dccharacter » 05 апр 2012, 12:27
galex1981 писал(а):Это как так, поподробней можно?
Чтобы тему не угонять, отписался в оригинальной:
forum35/topic10214-120.html#p237589
elmot » 05 апр 2012, 17:21
=DeaD= писал(а):Задачу бы сформулировать

По поводу ненужности внешней логики - не факт, 5В этот STM32 не выдаст.
А нужно 5В? Я сервотестер сделал на дискавери L, прекрасно все работает от GPIO 3.3V.
=DeaD= » 05 апр 2012, 17:46
По стандарту положено 5В, если иное не указано в спецификации сервы. Хотя большая часть серв конечно работает и от 3.3В
dccharacter » 05 апр 2012, 17:53
В stm32 можно конфигурировать выходы как OD
=DeaD= » 05 апр 2012, 17:55
да мы и решили уже через OD
NeON79 » 05 апр 2012, 18:03
Я, конечно, дико извиняюсь перед ТС, да и перед просими собравшимися тут гуру, но если можно, я выскажу мнение "прикладника", в отношении того, какой видится система:
1 - каждый модуль - функционально законченное устройство. Нам не нужно писать фильтр Калмана (хотя при желании его поправить - только в путь)для модуля акселя. Нам не надо учитывать проскальзывание колёс - пусть этим ДД заниматся (угу, МК на брту дофига получится, но при их нынешних ценах - не смешно), и т.д.
2 - нужна РЕАЛЬНО унифицированная шина. Юзер не думает, он втыкает разъёмчики, и надеется, чито всё заработает.
3 - протокол обмена с ПК\Сервером должен быть унифицирован, и поддаваться расширению, если это не закрытое решение.
Вы простите за то, что влез со свиным-то рылом... но при разработке УНИФИЦИРОВАННОЙ системы стоит оглядываться на многолетний опыт других.