How it Works#
The Edge Insights for Autonomous Mobile Robots (EI for AMR) modules are deployed via Docker* containers for enhanced Developer Experience (DX), support of Continuous Integration and Continuous Deployment (CI/CD) practices and flexible deployment in different execution environments, including robot, development PC, server, and cloud.
Modules and Services#
The middleware layered architecture in the Intel® oneAPI Base Toolkit (oneAPI™) and Intel® Distribution of OpenVINO™ toolkit (OpenVINO™) abstracts hardware dependencies from the algorithm implementation.
The ROS 2 with data distribution service (DDS) is used as a message bus. This Publisher-Subscriber architecture based on ROS 2 topics decouples data providers from consumers.
Camera and LIDAR sensor data is abstracted with ROS 2 topics.
Video streaming processing pipelines are supported by GStreamer*. GStreamer* is a library for constructing graphs of media-handling components. It decouples sensor ingestion, video processing and AI object detection via OpenVINO™ toolkit DL Streamer framework. The applications it supports range from simple Ogg Vorbis playback audio and video streaming to complex audio (mixing) and video (non-linear editing) processing.
More complex computational graphs that decouple sense-plan-act AMR applications can be implemented using ROS 2 topic registration.
This diagram shows the software components included in the EI for AMR package.

The EI for AMR software stack is based on software supported by and part of the underlying hardware platform, their respective Unified Extensible Firmware Interface (UEFI) based boot, and their supported Linux* operating system. For requirement details, see Recommended Hardware.
EI for AMR Drivers#
Edge Insights for Autonomous Mobile Robots relies on standard Intel® Architecture Linux* drivers included and upstreamed in the Linux* kernel from kernel.org and included in Ubuntu* distributions. These drivers are not included in the EI for AMR package. Some notable drivers that are specifically important for EI for AMR include:
Battery Bridge Kernel Module, which allows user-space applications to feed battery and power information into the Linux kernel’s power supply subsystem. It has been designed to be used together with the ROS 2 Battery Bridge to allow ROS 2-based EI for AMR software stacks to forward battery information from an EI for AMR’s microcontroller into the Linux kernel.
Video4Linux2 Driver Framework, a collection of device drivers and an API for supporting realtime video capture on Linux* systems (It supports many USB webcams, TV tuners, and related devices, standardizing their output, so that programmers can easily add video support to their applications.)
Serial, the serial stream as used in Ethernet and USB interfaces
Deployment#
All applications, algorithms, and middleware components that are executed as standalone processes are deployed in their own Docker* containers. This allows you to selectively pull these components onto an EI for AMR or Edge Server and launch them there.
For development purposes, the middleware libraries and all tools are deployed in
a single container called Full SDK
. This container is constructed
hierarchically by extending the OpenVINO SDK
container, which itself extends
the ROS2 SDK
container. For storage space savings, you can choose to run any
of the containers depending on the needs of your application.
The
ROS2 SDK
container includes the ROS 2 middleware and tools, Intel® RealSense™ SDK and ROS 2 wrapper, GStreamer* and build tools, ROS 2 packages (Cartographer, Navigation, RTAB_MAP) and the FastMapping application (the Intel® optimized version of octomap).The
OpenVINO SDK
container includesROS2 SDK
, the OpenVINO™ development toolkit, the OpenVINO™ DL GStreamer* plugins, and the Wandering demonstration application.The
Full SDK
container includes the OpenVINO™ container, as well as the Intel® oneAPI Base Toolkit, the Data Parallel C++ (DPC++) compatibility tool and profiler, analyzer tools.