Планирование движения для ровера на ходовой Ackerman'а
Проверяем, может ли GPU-планировщик MPPI-Generic работать без глобального планера. Самодельный симулятор, контроллер с приоритетом угловой скорости, сравнение с State Lattice и RPP vs MPPI, справился, но есть нюансы.
Hi #ROS2 devs, introducing ROSMAN (ROS2 Manager) - an interface that allows you to control your nodes via a UI that runs on your localhost. It uses #FastAPI on the backend and a simple web frontend, with #Python in the backend.
GitHub: https://github.com/cmodi306/rosman_app
I've kept it free and open source, so feel free to customize it, use it and do share your feedback. :)
Создаем клиентскую библиотеку ROS2. Элементы ноды
Теперь, когда в вашей клиентской библиотеке появились сообщения , можно перейти к созданию ROS2 ноды и связанных с ней элементов (издателей, сервисов и т.п.). На самом деле процесс добавления этих элементов мало отличается от создания обёртки для таймера, описанный в первой части, поскольку всё сводится к надстройке над функциями библиотеки rcl . Поэтому я не буду рассматривать их подробно, а остановлюсь только на отдельных особенностях.
Создаём клиентскую библиотеку ROS2. Генерация сообщений
Продолжаем разбираться с тем, как научить ROS2 понимать ваш язык программирования. В прошлый раз мы рассмотрели создание и запуск минимальной программы, теперь поговорим про работу с сообщениями. Свою библиотеку я разрабатывал для Lua, поэтому далее в примерах будет встречаться упоминание этого языка. Обмен данными играет в ROS2 ключевую роль. К счастью, практически все задачи, связанные с передачей и приемом сообщений берут на себя библиотеки rcl и rmw , нам "всего лишь" необходимо обеспечить возможность их создания и обработки. Структура сообщения в ROS2 описывается в файле с расширением msg или idl . При сборке пакета выполняются следующие действия:
Создаем клиентскую библиотеку ROS2. «Hello ROS»
Пару лет назад у меня возникла мысль, почему бы не написать полноценную клиентскую библиотеку ROS2 для языка Lua?.. Увы, результат оказался невостребованным, зато сама разработка позволила лучше понять, как устроен этот фреймворк, а также с интересом провести время, разгадывая логические головоломки. Создатели ROS2 вынесли базовый функционал в C библиотеку rcl (ROS Client Libraries). В теории, достаточно создать обертку на каком-либо языке программирования и можно пользоваться. Между тем, сторонних клиентских библиотек не так уж много. На мой взгляд, можно выделить следующие причины:
🧩 24 Ideas. 1 Future | @O_CEI_Horizon Open Call Winners
eProsima is securing the "language" machines use to talk to each other.
By using the safety-certified Safe DDS middleware, they ensure deterministic and fault-tolerant data exchange for critical energy infrastructure. This European-led solution strengthens tech sovereignty and makes edge systems more resilient.
📰 Winner: https://o-cei.eu/eprosima/
🔎 Pilot 2: https://o-cei.eu/use-cases-pilot-2/
ROS 2 is a great framework, but it's not the right tool for every #robotics project. I put together a few examples and questions to help you figure out when it's worth the investment and when it's overkill:
FusionCore: ROS 2 sensor fusion (IMU and GPS and encoders)
https://github.com/manankharwar/fusioncore
#HackerNews #FusionCore #ROS2 #SensorFusion #IMU #GPS #Encoders