В типичной архитектуре ROS 2 мощный Linux‑компьютер выполняет высокоуровневую навигацию, SLAM и планирование, а внешний микроконтроллер занимается детерминированным реальным временем: GPIO, датчики, драйверы моторов.
Связать эти два мира обычно означает кастомные serial‑протоколы, отдельные драйверы и тяжёлые bridge‑ноды. Плата Arduino® VENTUNO Q спроектирована, чтобы этот барьер убрать.
Две «головы» на одной плате
VENTUNO Q объединяет на одной плате Linux‑совместимый MPU и realtime‑MCU — настоящая двухпроцессорная архитектура. На ROSCon Global 2026 в Торонто и затем на ROSCon Italy Джованни Бруно представил новый open‑source инструмент для прямой интеграции с ROS 2 — библиотеку Arduino_RouterBridge_ROS.
В её основе лежит Arduino_RouterBridge, реализующая протокол RPC поверх MsgPackRPC. Linux‑часть (Python) и микроконтроллер (Arduino‑скетч на Zephyr) могут вызывать функции друг друга с помощью двух методов:
Bridge.provide()— зарегистрировать вызываемую функцию на одной сторонеBridge.call()— вызвать её с другой стороны
Вместо самописного парсинга сериал‑пакетов вы просто вызываете функции через границу MPU/MCU, как будто это один поток.
ROS 2 ноды прямо в Arduino‑скетче
Поверх этого транспорта библиотека Arduino_RouterBridge_ROS добавляет лёгкий ROS 2 proxy, который подключает firmware микроконтроллера напрямую к графу ROS через пространство имён ros2ino:
- Полный набор возможностей ноды: создание нод, publisher, subscriber, service и action на MCU
- Независимость от RMW: работает с любым ROS Middleware на Linux
- Нативный C++‑интерфейс: синтаксис повторяет привычные шаблоны rclcpp
Теперь realtime‑код может напрямую публиковать, например, IMU‑телеметрию в /imu/data или подписываться на команды скорости /cmd_vel без дополнительных bridge‑нод.
Если вы делаете автономный ровер, точный робот‑манипулятор или первый ROS‑робот, возьмите VENTUNO Q, откройте репозиторий Arduino_RouterBridge_ROS и следуйте гайдам “Getting Started with ROS 2 on UNO Q” и “First ROS 2 Project on UNO Q”.
Источник: Arduino Blog










