roboforum.ru

Технический форум по робототехнике.
Текущее время: 26 ноя 2024, 22:58

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: CAN и ROS2
СообщениеДобавлено: 29 апр 2016, 03:47 
Не в сети

Зарегистрирован: 27 апр 2016, 01:34
Сообщения: 5
Добрый день.

Рассматривается вариант робота распределенной архитектуры с блоками:
  • центральный вычислительный блок (Cortex-A8/9/15, Linux, ROS2)
  • блок управления приводом А1 (STM32F4, ROS2, FreeRTOS)
  • ....
  • блок управления приводом АN (STM32F4, ROS2, FreeRTOS)

Информационную шину планируется реализовать на CAN (или CAN FD).

Вопрос 1: Кто либо использовал CAN в ROS1/ROS2?
Вопрос 2: У кого есть опыт использования CAN FD? Так ли он лучше CAN 2.0A/B? Какие могут быть "подводные камни"? То что я вижу, это увеличенный payload с 8 до 64 байт (!) и макс. пропускная способность с 1M до >1M

Детали:
Информационную шину физически можно реализовать используя CAN, Ethernet, RS-485 (другие интерфейсы пока не рассматриваются)
CAN хорош почти всем, по сравнению с Ethernet и RS-485.
Достоинства:
  • гарантированность доставки
  • арбитраж сообщений
  • "Жесткий" Realtime
  • всего 4 линии (CAN_H, CAN_L, VBUS, GND) на всех устройствах
Недостатки:
  • маленькая полезная нагрузка (8 байт)
  • низкая пропускная способность (Мах: 1Мbps ~ 100-120 мкс на 8 полезных байт)

Если вернуться к теме ROS2. В анонсах ROS2 заявляется поддержка транспорта поверх Ethernet, UART, RS485. CAN-а там не увидел.
Как вариант, нужно "положить" UDP/IP поверх CAN, вместо Ethernet. Поэтому и вопрос, может кто-либо уже реализовал подобное или начинал делать, но наткнулся на "грабли" из-за которых решение оказалось нецелесообразным.

Для ROS1 CAN тоже не очень удачно ложится, т.к. там используется TCPROS (поверх TCP), а квитирование TCP избыточно с учетом гарантированности доставки CAN.

Т.о. есть отличный физический интерфейс CAN, но, насколько я вижу, он почему-то не очень пользуется популярностью в робототехнике или я пока еще "не в теме".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN и ROS2
СообщениеДобавлено: 29 апр 2016, 17:43 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
небольшое уточнение ROS это который The Robot Operating System (ROS)?
если так, то
боюсь по поводу can вам лучше на форум по электронике обратиться, там can чаще используется.


Цитата:
ROS2 заявляется поддержка транспорта поверх Ethernet, UART, RS485. CAN-а там не увидел.

опять таки если это тот рос о котором я подумал, то он работает через сервисы вам нужно будет самим организовать такой сервис который преобразовывает сообщения ROS в сообщения can и обратно.

в ROS2 новый "движок" сообщений, и он пока ещё на стадии дикой разработки и судя по всему медленнее чем ROS1.
Я бы вам рекомендовал пока начать работать с ROS а через годик другой портировать на ROS2, если будет смысл.
Пока вся документация, все пакеты и драйверы написаны под ROS.

Цитата:
(Cortex-A8/9/15, Linux, ROS2)

а как вы планируете связать linux и can ? usb?

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN и ROS2
СообщениеДобавлено: 29 апр 2016, 21:21 
Не в сети

Зарегистрирован: 27 апр 2016, 01:34
Сообщения: 5
Цитата:
и он пока ещё на стадии дикой разработки

тоже терзают смутные сомнения. Наверное, стоит дать ему утрястись.

Цитата:
а как вы планируете связать linux и can ? usb?

Я не верно описал. Пока так, STMFx (UART) + Linux (UART). Но рассматриваю варианты чипов гибридной архитектуры (Cortex-A + Cortex-M). Например: VFxxx от NXP или Intel Edison + CAN-UART как конвертер физического канала. Хотя сейчас играюсь с Intel Edison - тормоз он. Ожидал большего.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN и ROS2
СообщениеДобавлено: 29 апр 2016, 22:30 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
кроме uart есть ещё голый USB HS, i2c 1Mhz,spi 25Mhz (эти три протокола часто доступны на высокопроизводительных ARM платах)
can конечно хорош в своём деле, но точно ли он вам нужен?

Цитата:
Но рассматриваю варианты чипов гибридной архитектуры (Cortex-A + Cortex-M). Например: VFxxx от NXP или Intel Edison + CAN-UART как конвертер физического канала.

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

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN и ROS2
СообщениеДобавлено: 30 апр 2016, 00:02 
Не в сети

Зарегистрирован: 27 апр 2016, 01:34
Сообщения: 5
Началось все с шутки. "Ты ж программист, сделай динозавра (двухногого!), чтобы возить ребенка".
У меня есть большой опыт в embedded, а вот в "динозавростроении" нулевой :)
Сначала отмахивался, понимая, что область для меня новая и трудозатратная.
Потом ради интереса стал приглядываться, что народ делает в области робототехники. Смотрится интересно. Можно сказать, что я на этапе обзора предметной области.

Т.о. входные данные (привожу ТЗ со слов):
+ динозавр двуногий наподобие тирекса с седлом
+ достаточно большой чтобы возить ребенка от x до y лет
+ должен ходить и бегать (!)
Из плюшек:
+ дым, рычание

По хорошему взять бы реализацию Atlas (https://www.youtube.com/watch?v=rVlhMGQgDkY), немножно наклонить, убрать руки, добавить седло и хвост и ... вуаля, решение готово.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN и ROS2
СообщениеДобавлено: 30 апр 2016, 05:35 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2014, 13:53
Сообщения: 448
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч
kavit писал(а):
Т.о. входные данные (привожу ТЗ со слов):
+ динозавр двуногий наподобие тирекса с седлом
+ достаточно большой чтобы возить ребенка от x до y лет
+ должен ходить и бегать (!)
Из плюшек:
+ дым, рычание
По хорошему взять бы реализацию Atlas (https://www.youtube.com/watch?v=rVlhMGQgDkY), немножно наклонить, убрать руки, добавить седло и хвост и ... вуаля, решение готово.

Да не так то и вуаля!
Это вы серьезно замахнулись, не забудьте что Atlas делался в DARPA, а это контора с хорошим финансированием и крутыми спецами во всех областях. Для того чтобы создать робота, а тем более такого про которого говорите вы, мало быть программистом, нужны "прямые ручки" чтобы пилить, паять, клепать и прочие работы выполнять с железками, нужны умения и навыки работы с электроникой, нужны знания в разных областях от электрики до гидравлики, нужна масса времени свободного от основной деятельности, нужно помещение где все это будет собираться, где будет стоять оборудование для слесарных и сборочных работ, где вы без боязни потревожить отдых близких или соседей сможете спокойно сверлить, точить, стучать и пр., а самое главное нужна куча денег на всё, на эксперименты, на приобретение деталей и комплектующих, на оплату работы наемным людям, без которых вам в вашем проекте не обойтись.
Я вас не отговариваю, я предупреждаю с чем столкнуться придется. Может сначала трезво оценить силы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN и ROS2
СообщениеДобавлено: 30 апр 2016, 11:09 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2011, 12:37
Сообщения: 1672
Откуда: Москва
прог. языки: С
Цитата:
достаточно большой чтобы возить ребенка от x до y лет

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

если интересует реализация математической модели то есть готовые конструкторы на базе которых можно сделать модель http://support.robotis.com/en/product/b ... e_apps.htm

если реально нужно детей катать то либо голая механика, так чтобы робот никак упасть не мог,
http://www.engadget.com/2008/10/16/kota ... ands-on/#/

либо по старинке, макет динозавра на колёсиках + лапами махать и челюстью хлопать

Добавлено спустя 3 минуты 45 секунд:
и да, пока думать про can смысла нет, сначала определитесь с конструкцией и сервоприводами, сервами можно и по uart в полудуплексе управалять см. пример протокола dinamixel, openservo, или вот из свежего https://hackaday.com/2016/04/22/intelliservo/

_________________
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CAN и ROS2
СообщениеДобавлено: 09 май 2016, 19:37 
Не в сети

Зарегистрирован: 20 янв 2010, 16:48
Сообщения: 99
Откуда: Королев
Skype: pdkdrp
ФИО: Антон
Цитата:
Т.о. есть отличный физический интерфейс CAN, но, насколько я вижу, он почему-то не очень пользуется популярностью в робототехнике или я пока еще "не в теме".

Очень даже пользуется. Для 20-40 исполнительных устройств с обратной связью скорости хватает. Есть в мелких контроллерах что позволяет хоть каждый датчик в CAN включать.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO