Comparativa
MOS4 vs ROS2
ROS2 es un middleware de robótica. MOS4 aloja sus nodos rclcpp y rclpy existentes sin modificar dentro de un contenedor supervisado, puentea topics DDS al EventBus tipado y añade OTA de flota, pilas de protocolo vehicular y observabilidad alrededor.
Rutas de integración
Puente o sidecar — nodos inalterados en ambos casos.
Dos flujos de integración. Flujo A: el micro service puente mos-ros2 se une al grafo DDS del cliente como peer RTPS, descubre topics y los reenvía como eventos protobuf EventBus a componentes MOS4. Flujo B: el supervisor MOS4 gestiona un contenedor sidecar ROS2 que aloja nodos rclcpp y rclpy sin ninguna dependencia del MOS SDK, comunicándose con el bus MOS4 por loopback MQTT.
flowchart TB
subgraph A["Flujo A — puente (mos-ros2 como peer RTPS)"]
R1[nodo rclcpp / rclpy] -->|topic DDS| Br[micro service puente mos-ros2] -->|protobuf EventBus| Mc[componente MOS4]
end
subgraph B["Flujo B — sidecar (nodos sin modificar)"]
Sup[supervisor MOS4] --> Side[contenedor sidecar ROS2]
Side --> R2[nodo rclcpp 1]
Side --> R3[nodo rclpy 2]
Side <-->|loopback MQTT| Bus[bus MOS4]
end Cara a cara
Comparación de capacidades.
Fuente — ROS2 desde docs.ros.org; MOS4 desde /es/architecture.
Mapeos de sensores
Mapeos canónicos MOS4 ↔ ROS2.
El registro mappings/mos-ros2-canonical.yaml impone el contrato de mapeo en tiempo
de build vía la CLI mos-ros2-mapping. Un filtro CI de matriz de cobertura bloquea
los merges que reducen la cobertura de mapeo.
| Evento EventBus MOS4 | Topic ROS2 | Tipo ROS2 |
|---|---|---|
| mos.events.gnss.Fix | /sensors/gnss/fix | sensor_msgs/NavSatFix |
| mos.events.imu.Raw | /sensors/imu/raw | sensor_msgs/Imu |
| mos.events.vslam.Pose | /sensors/vslam/pose | geometry_msgs/PoseStamped |
ROS2 Jazzy LTS (soportado hasta 2029) es la distro validada. Peers Cyclone DDS y Fast DDS probados.
FAQ
Las preguntas que más oímos.
-
¿Puedo conservar mis nodos ROS2 existentes?
Sí — ese es el diseño. Flujo B (sidecar): el supervisor MOS4 ejecuta un contenedor sidecar que aloja nodos rclcpp/rclpy sin ninguna dependencia del MOS SDK ni recompilación. Flujo A (puente): el micro service mos-ros2 se une al grafo DDS del cliente como un peer RTPS estándar y reenvía topics como eventos EventBus y métodos de servicio. Cambios en el código de los nodos del cliente: cero.
-
¿Por qué no usar simplemente ROS2 sobre una plataforma Linux ligera?
ROS2 es un middleware de robótica, no un sistema operativo embebido. No proporciona ruta OTA de flota, pilas de protocolo vehicular, paquete de observabilidad ni supervisor de ciclo de vida de componentes a nivel de OS. MOS4 proporciona esas primitivas y aloja nodos ROS2 dentro.
-
¿Es el puente un cuello de botella?
Es un paso de traducción por topic dentro del presupuesto IPC estándar de componentes. Para bucles internos ajustados, el patrón canónico es mantenerlos dentro del sidecar ROS2. Solo los topics entre dominios atraviesan el puente.
-
¿Qué políticas QoS DDS están soportadas?
Se soportan las políticas de fiabilidad BEST_EFFORT y RELIABLE. Cuatro perfiles con nombre — sensor_data, pose_estimate, actuation_cmd, latched_config — son configurables por entrada de mapeo y cubren los patrones de robótica más habituales. Matriz QoS completa disponible bajo petición.
-
¿MOS4 incluye su propia implementación DDS?
No para la ruta sidecar. El sidecar usa la capa DDS estándar de ROS2 — Cyclone DDS o Fast DDS. Para el puente (Flujo A), el micro service mos-ros2 usa iceoryx2 DDS al completo vía mos-frame — basado en rustdds, sin r2r ni FFI rcl, sin libstdc++.
-
¿Cuándo gana ROS2-solo a MOS4 + ROS2?
Cuando el programa es un prototipo de investigación de un único vehículo sin flota, sin integración de bus vehicular más allá de un driver CAN y sin requisito de OTA. Los programas que se despliegan en una flota de dispositivos en producción típicamente se benefician de la capa MOS4 alrededor de los nodos.
-
¿Está cualificado para despliegues AGV o de robots móviles?
mos-ros2 ejecuta rclcpp/rclpy sin modificar dentro de MCM — el patrón sidecar validado. Para la cualificación de producción AGV y robótica, hable con ingeniería.
Traiga su pila ROS2.
Una llamada de 30 minutos con ingeniería. Planificaremos la ruta de puente o sidecar para sus nodos y discutiremos la cualificación AGV o de robótica.