Intel® Edge Software Device Qualification (Intel® Edge Software Device Qualification (Intel® ESDQ)) for Autonomous Mobile Robot#
Overview#
Intel® Edge Software Device Qualification (Intel® Edge Software Device Qualification (Intel® ESDQ)) for Autonomous Mobile Robot provides customers with the capability to run an Intel-provided test suite at the target system, with the goal of enabling partners to determine their platform’s compatibility with the Autonomous Mobile Robot.
The target of this self certification suite is the Autonomous Mobile Robot compute systems. These platforms are the brain of the Robot Kit. They are responsible to get input from sensors, analyze them, and give instructions to the motors and wheels to move the Autonomous Mobile Robot.
How It Works#
The Autonomous Mobile Robot Test Modules interact with the Intel® Edge Software Device Qualification (Intel® ESDQ) Command Line Interface (CLI) through a common test module interface (TMI) layer which is part of the Intel® Edge Software Device Qualification (Intel® ESDQ) binary. Intel® Edge Software Device Qualification (Intel® ESDQ) generates a complete test report in HTML format, along with detailed logs packaged as one zip file, which you can manually choose to email to: edge.software.device.qualification@intel.com. More detailed information is available at Intel® Edge Software Device Qualification (Intel® ESDQ) Overview.
Note
Each test and its pass/fail criteria is described below. To jump to the installation process, go to Download and Install Intel® Edge Software Device Qualification (Intel® ESDQ) for Autonomous Mobile Robot.
Intel® Edge Software Device Qualification (Intel® ESDQ) for Autonomous Mobile Robot contains the following test modules.
|
|
|
|
|
|
|
|
|
|
|
Get Started#
This tutorial takes you through the installation and execution of the Intel® Edge Software Device Qualification (Intel® ESDQ) CLI tool. Configure your target system to satisfy the necessary Prerequisites before you proceed with the Download and Install Intel® Edge Software Device Qualification (Intel® ESDQ) for Autonomous Mobile Robot. Execute your self-certification process by selecting from the three available certification types:
Run the Self-Certification Application for Compute Systems for certifying Intel®-based compute systems with the Autonomous Mobile Robot software
Run the Self-Certification Application for RGB Cameras for certifying RGB cameras with the Autonomous Mobile Robot software
Run the Self-Certification Application for Depth Cameras for certifying depth cameras with the Autonomous Mobile Robot software
Refer to How It Works for more detailed information about the test modules.
Prerequisites#
Satisfy the Intel® Edge Software Device Qualification (Intel® ESDQ) prerequisites by:
Installing OpenVINO™ Development Tools and specifying
tensorflow
as the extras parameter of the described “Step 4. Install the Package” instructions:pip install openvino-dev[tensorflow]
Installing the
intel-basekit
Deb package by following the Intel® oneAPI Base Toolkit Installation Guide for Linux OS instructions.Installing GStreamer by following the “Install GStreamer on Canonical Ubuntu OS or Debian OS” instructions.
Installing the pre-built Intel® RealSense™ SDK 2.0 packages
librealsense2-utils
,librealsense2-dev
andlibrealsense2-dbg
by following the “Installing the packages” instructions.Configuring your VTune™ Profiler installation as described in the “Additional System setup for CPU and GPU profiling” section of VTune™ Profiler for CPU and GPU profiling.
Installing the OpenVINO™ Runtime by executing these steps:
Add the OpenVINO™ APT package sources as described in section “OpenVINO™ Installation Steps” on page Install OpenVINO™ Packages.
Make sure that your file
/etc/apt/preferences.d/intel-openvino
pins the OpenVINO™ version of all components to2024.2.0*
or above. Consider that earlier OpenVINO™ versions do not support the NPU of Intel® Core™ Ultra Processors.Install the OpenVINO™ Runtime by using:
sudo apt-get install openvino
Additional information can be found in the OpenVINO™ documentation.
Installing the Intel® NPU Driver as described on page Install the Intel® NPU Driver on Intel® Core™ Ultra Processors. Don’t execute this step if your system does not have an Intel® Core™ Ultra Processor.
Note
Make sure that Git is installed on your target system.
Download and Install Intel® Edge Software Device Qualification (Intel® ESDQ) for Autonomous Mobile Robot#
Complete the following two installation steps in order to properly configure your test setup:
Download and Install Intel® Edge Software Device Qualification (Intel® ESDQ) CLI#
Download the Intel® Edge Software Device Qualification (Intel® ESDQ) CLI to your device from here:
edge-software-device-qualification-11.0.0.zip
Set the ESDQ_INSTALLATION
variable to point to the desired installation
location. For example, if you want to install the the Intel® Edge Software Device Qualification (Intel® ESDQ) CLI under
the ~/esdq
directory, just set the this variable as follows:
export ESDQ_INSTALLATION=~/esdq
mkdir $ESDQ_INSTALLATION
Directly from the download directory, unzip the downloaded file into the installation location.
unzip edge-software-device-qualification-11.0.0.zip -d $ESDQ_INSTALLATION
Set the convenient ROBOTICS_SDK
variable that is going to be used
in the next installation steps.
export ROBOTICS_SDK=$ESDQ_INSTALLATION/edge-software-device-qualification-11.0.0/
Install the Intel® Edge Software Device Qualification (Intel® ESDQ) CLI executing the following commands:
cd $ROBOTICS_SDK
./setup.sh -i
export PATH=$PATH:$HOME/.local/bin
Check the successful installation of the Intel® Edge Software Device Qualification (Intel® ESDQ) CLI verifying that the execution
of the following command prints Version: 11.0.0
on the terminal:
esdq --version
Download and Install the Test Modules#
To download and install the Autonomous Mobile Robot test modules on your target device follow the steps below:
Install the
ros-humble-amr-esdq
Deb package from Intel® Autonomous Mobile Robot APT repository.sudo apt update sudo apt install ros-humble-amr-esdq
The tests are conducted from the directory pointed by the previously set
ROBOTICS_SDK
variable. Copy the installed test suite into the directory.cp -r /opt/ros/humble/share/amr-esdq/AMR_Test_Module/ $ROBOTICS_SDK/modules/
Verify the appropriate permissions for the test modules directory by executing the following command:
cd $ROBOTICS_SDK chmod -R +xw modules/AMR_Test_Module
Check that the Autonomous Mobile Robot test module is correctly installed by verifying that the output of the following command lists the
Robotics_SDK
module.esdq module list
Download the necessary assets required by the test suite.
esdq --verbose module run Robotics_SDK --arg download
Run the Self-Certification Application for Compute Systems#
Use the
groups
command to verify whether the current user belongs to therender
,video
, anddialout
groups. If the user does not belong to these groups, add the group membership:sudo usermod -a -G render,video,dialout $USER
Log out and log in again.
If you have just installed the
ros-humble-amr-esdq
Deb package as described in the Download and Install Intel® Edge Software Device Qualification (Intel® ESDQ) for Autonomous Mobile Robot section, reboot your system.Otherwise, there is a possibility that the tests that depend on the GPU ORB Extractor encounter issues accessing the GPU.
Make sure that the environment variable
ROBOTICS_SDK
is initialized as shown in Download and Install Intel® Edge Software Device Qualification (Intel® ESDQ) for Autonomous Mobile Robot and change the working directory:echo $ROBOTICS_SDK cd $ROBOTICS_SDK
If your system uses a Linux Kernel 6.7.5 or later, read the section GPU device is not detected with Linux Kernel 6.7.5 or later. If your system is impacted by this issue, export the following debug variables as a workaround:
export NEOReadDebugKeys=1 export OverrideGpuAddressSpace=48
Run the Intel® Edge Software Device Qualification (Intel® ESDQ) test, and generate the report:
export ROS_DOMAIN_ID=19 esdq --verbose module run Robotics_SDK
Visualize the report by opening the
reports/report.html
file in your browser.Expected output (These results are for illustration purposes only.)
Note
All the tests are expected to pass. The VTune™ Profiler test failure and the Intel® RealSense™ camera test skip above are shown for demonstration purposes only. For example, the Intel® RealSense™ camera test is skipped if no Intel® RealSense™ camera is connected to the target system.
If individual test cases do not pass, you can check the detailed log files in folder
$ROBOTICS_SDK/modules/AMR_Test_Module/output/
.
Run the Self-Certification Application for RGB Cameras#
This self-certification test expects the camera stream to be on the
/camera/color/image_raw
topic. This topic must be visible in rviz2 using
the camera_color_frame fixed frame. If your camera ROS 2 node does not
stream to that topic by default, use ROS 2 remapping to publish to that
topic.
Note
The following steps use the Intel® RealSense™ camera’s ROS 2 node as an example. You must change the node to your actual camera’s ROS 2 node.
You can check your current configuration by:
Running the RGB camera node in a ROS 2 environment after setting the
ROS_DOMAIN_ID
.source /opt/ros/humble/setup.bash # set a unique id here that is used in all terminals export ROS_DOMAIN_ID=19 ros2 launch realsense2_camera rs_launch.py camera_namespace:=/ &
Verifying the presence of the topic in the topic list.
ros2 topic list
Once your configuration is set, you can proceed to run the Intel® Edge Software Device Qualification (Intel® ESDQ) test and generate the report.
cd $ROBOTICS_SDK export ROS_DOMAIN_ID=19 esdq --verbose module run Robotics_SDK --arg sensors_rgb
Run the Self-Certification Application for Depth Cameras#
This self-certification test expects the camera stream to be on the
/camera/depth/color/points
and on the /camera/depth/image_rect_raw
topics.
These topics must be visible in rviz2 using the camera_link fixed frame.
If your camera ROS 2 node does not stream to that topic by default, use
ROS 2 remapping to publish to that topic.
Note
The following steps use the Intel® RealSense™ camera’s ROS 2 node as an example. You must change the node to your actual camera’s ROS 2 node.
You can check your current configuration by:
Running the depth camera node in a ROS 2 environment after setting the
ROS_DOMAIN_ID
.source /opt/ros/humble/setup.bash # set a unique id here that is used in all terminals export ROS_DOMAIN_ID=19 ros2 launch realsense2_camera rs_launch.py pointcloud.enable:=true camera_namespace:=/ &
Verifying the presence of the topic in the topic list.
ros2 topic list
Once your configuration is set, you can proceed to run the Intel® Edge Software Device Qualification (Intel® ESDQ) test and generate the report.
cd $ROBOTICS_SDK export ROS_DOMAIN_ID=19 esdq --verbose module run Robotics_SDK --arg sensors_depth
Send Results to Intel#
Once the automated and manual tests are executed successfully, you can submit your test results and get your devices listed on the Intel® Edge Software Recommended Hardware site.
Send the zip file that is created after running Intel® Edge Software Device Qualification (Intel® ESDQ) tests to: edge.software.device.qualification@intel.com.
For example, after one of our local runs the following files were generated in the
$ROBOTICS_SDK/reports/
directory: report.html
and report.zip
.
Troubleshooting#
For issues, go to: Troubleshooting for Autonomous Mobile Robot Tutorials .
Support Forum#
If you’re unable to resolve your issues, contact the Support Forum.