Технический форум по робототехнике.
dccharacter » 05 апр 2012, 18:18
>Нам не надо учитывать проскальзывание колёс - пусть этим ДД заниматся
Ха, он в принципе этим заниматься не может, потому что он максимум что увидит - показания энкодера. Кто ж ему даст данные с сонаров и прочих датчиков?
NeON79 » 05 апр 2012, 18:20
dccharacter писал(а):>Нам не надо учитывать проскальзывание колёс - пусть этим ДД заниматся
Ха, он в принципе этим заниматься не может, потому что он максимум что увидит - показания энкодера. Кто ж ему даст данные с сонаров и прочих датчиков?
ВОт пусть и учитывает показания энкодера\датчика поверхности. Дальномерами\GPS должен отдельный блок заниматься - блок навигации.
=DeaD= » 05 апр 2012, 19:56
Угу, каждый модуль объявит независимость и потом хрена с два Калмана соберешь. Всё чуть сложнее, чем вы себе это представляете.
Калмано-подобные штуки хороши тем, что там как раз кучу данных скармливаешь 1 модулю центральному от всех датчиков - IMU, энкодеров, GPS, телеметрии, а они дают итоговую оценку положения в пространстве. А вы сепаратизм какой-то предлагаете

Но драйверы двигателей цеплять в 1 модуль с энкодерами это да, хорошо, только это не ДД, а КД = Контроллер Двигателей.
Но хорошо это, когда бюджет большой и можно себе позволить кучу умных модулей.
NeON79 » 05 апр 2012, 20:57
Антон, бюджет - конечно, важно, но... результат-то важнее. Вот и подумалось мне... Да не нужна нам независимость модулей. Нужен ОДИН мастер, и пофиг сколько слейвом. Вот и все.
elmot » 05 апр 2012, 21:06
Что-то я недогоняю. Вы хотите сеть МК делать? Имхо, это не лучший путь. Дорогой и весьма сложный. Для реализации сложных алгоритмов лучше подойдет единая мощная система, нежели набор камней на все случаи жизни. Модульность лучше поддерживать на уровне софты, а не на уровне множества специализированных МК. А отлаживать сети - это большой, сложный и дорогой проект. И вот когда он заработает, выяснится, что вновь вышедший камешек за $10 уделывает всю эту сеть по всем статьям.
Duhas » 05 апр 2012, 22:18
оффтопите, уважаемые )
оба варианта по-своему хороши. обсуждение уйдет в холивар.. лучше вернуться к командам )
Vooon » 09 апр 2012, 20:56
Завел на орфе библиотеку rosserial.
Для теста сделал управление сервой:
rosapp.cpp.
Работает, но serial_node периодически сообщает об ошибках.
Теперь нужно продумать набор топиков и сервисов.
Vooon » 13 апр 2012, 21:49
Немного доделал привязку к ROS. Теперь есть управление сервами, дискретными входами/выходами и АЦП.
s: ~servo/cmd [orfa2_msgs::ServoState] - принимает задание (серва, положение, скорость)
p: ~servo/state [orfa2_msgs::ServoState] - 10 раз в секунду публикует текущее состояние (только положение)
p: ~io/digital_in [orfa2_msgs::Digital] - каждые rate_ms (100 ms) публикует состояние входов
s: ~io/digital_out [orfa2_msgs::Digital] - выставляет новые состояния для выходов
p: ~io/analog_in [orfa2_msgs::Analog] - каждые rate_ms (20 ms) производит преобразование и публикует результат
service: ~io/setup_channel [orfa2_msgs::SetupChannel] - настраивает пин, задает rate_ms для digital_in и analog_in
Далее нужно написать управление моторами и добавить ~motor/cmd, ~motor/encoder_status и ~motor/setup.
SkyStorm » 13 апр 2012, 22:01
Вова, ты крут!
Мега прикольно получается!
Vooon » 13 апр 2012, 22:40
Только все равно нужна будет нода преобразующая orfa2_msgs::ServoState в sensor_state::JointState.
Ну и еще разобраться с URDF...
Описания лежат в стеке orfa_ros (
https://github.com/open-robotics/orfa_ros ):
rosws set orfa_ros --git git@github.com:open-robotics/orfa_ros.git