Intel® Edge Software Device Qualification (Intel® ESDQ) for Autonomous Mobile Robots

Version: 1.0   Published: 10/15/2021  

Last Updated: 02/25/2022

Overview

Intel® Edge Software Device Qualification (Intel® ESDQ) for Autonomous Mobile Robots (AMR) 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 Edge Insights for Autonomous Mobile Robots (EI for AMR).

The information below is specific to the Intel® ESDQ for Autonomous Mobile Robots (AMR) package. For documentation on the Intel® ESDQ CLI binary, refer to  Intel® Edge Software Device Qualification (Intel® ESDQ) Overview.

Edge Insights for Autonomous Mobile Robots (EI for AMR) offers containerized software packages and pre-validated hardware modules for sensor data ingestion, classification, environment modelling, action planning, and action control. Based on the Robot Operating System (ROS) 2 framework, it also includes the OpenVINO™ toolkit, Intel® oneAPI Base Toolkit (Base Kit), Intel® RealSense™ SDK, and other software dependencies in a container, along with the source code, as well as reference algorithms and deep learning models as working examples.

Select Configure & Download to download Intel® ESDQ for AMR and refer to Get Started for installation steps.  

Configure & Download


Target System Requirements 

Supported Intel® CPU Processors:

  • Intel Atom® processor with Intel® SSE4.1 support
  • Intel® Pentium® processor N4200/5, N3350/5, N3450/5 with Intel® HD Graphics
  • 6th - 11th generation Intel® Core™ processors
  • Intel® Xeon® processor E3, E5, and E7 family
  • 2nd Generation Intel® Xeon® Scalable Processors
  • 3rd Generation Intel® Xeon® Scalable Processors

 

Other System Requirements:

  • At least 8 GB RAM
  • At least 64 GB hard drive
  • Intel® RealSense™ camera D435i
  • Accelerator: Intel® Movidius™ Myriad™ X VPU (optional)
  • An Internet connection
  • Ubuntu* 20.04 LTS
  • Kernel version 5.10.65
  • Host has internet connection and can install packages via apt
  • For MIPI cameras with the Tiger Lake platform, Sony* IMX390 sensors (optional)
  • Slamtec* RPLIDAR A3 2D LIDAR

 

Knowledge/Experience:

  • You are familiar with executing Linux* commands.
  • You have basic Docker* experience.
  • ROS/ROS2 background recommended.

 


How it Works

The EI for AMR Test Modules interacts with the Intel® ESDQ CLI through a common test module interface layer (TMI) which is part of the Intel® ESDQ binary.

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 the ESH support team.

As some tests cannot be fully automated, manual steps were provided that should help the end customer determine if the target functionality works or not on the target system.

For more details about EI for AMR, go to EI for AMR - How it Works

EI for AMR Test Modules 

Intel® ESDQ for AMR contains the following test modules.

 

Docker Container 

This module verifies that the EI for AMR comes as a Docker container and it can run on the target platform.
For more information on Docker, go to: https://docs.docker.com/
The test is considered Pass if:

  • The Docker container can be opened.

 

Intel® RealSense™ Camera 

This module verifies the capabilities of the Intel® RealSense™ technology on the target platform. 
For more information on Intel® RealSense™, go to: https://www.intelrealsense.com/
The tests within this module verify that the following features are installed properly on the target platform and that EI for AMR and the Intel® RealSense™ camera are functioning properly:

  • The camera is detected and is working.
  • Intel® RealSense™ SDK.

The tests are considered Pass if:

  • The Intel® RealSense™ SDK 2.0 libraries are present in Docker container.
  • A simple C++ file can be compiled using g++ and -lrealsense2 flag.
  • Intel® RealSense™ Topics are listed and published.
  • The number of FPS (Frames Per Second) are as expected.

 

Intel® VTune™ Profiler


This module will run the Intel® VTune™ Profiler on the target system.
For more information on Intel® VTune™ Profiler, go to: https://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.html
The test is considered Pass if:

  • VTune™ Profiler runs without errors.
  • VTune™ Profiler collected Platform information.

 

Rviz and FastMapping

This module will run the Fast Mapping application (the Intel-optimized version of octomap) on the target system and will use Rviz to check if it works as expected.
For more information about Rviz, go to: http://wiki.ros.org/rviz

The test is considered Pass if:

  • Fast Mapping is able to create a map out of a pre-recorded ros2 bag.

 

Turtlesim

This module will run the Turtlesim ROS2 application on the target system and will check if it works as expected.
For more information about Turtlesim, go to: http://wiki.ros.org/turtlesim

The test is considered Pass if:

  • Turtlesim opens and runs without error.

 

Intel® oneAPI 

This module verifies some basic capabilities of Intel® oneAPI on the target platform:
For more information on Intel® OneAPI, go to: https://software.intel.com/content/www/us/en/develop/tools/oneapi.html#gs.cjvm2h
The tests within this module verify that the following features are functioning properly on the target platform:

  • DPC++ compiler
  • CUDA to DPC++ converter

This test is considered Pass if:

  • A simple C++ file can be compiled using the DPC++ compiled and it runs as expected.
  • CUDA can be installed.
  • A CUDA specific file can be converted to DPC++ and it runs as expected.

 

OpenVINO™ Toolkit

This module verifies two core features of the OpenVINO™ Toolkit:

  • OpenVINO™ model optimizer
  • Object detection using TensorFlow*

The test is considered Pass if:

  • The OpenVINO™ model optimizer is capable to transform a TensorFlow model to an Intermediate Representation (IR) of the network, which can be inferred with the Inference Engine.

 

Object Detection on CPU

This module verifies object detection using OpenVINO™ on CPU. 

The test is considered Pass if:

  • The object is detected. 

If the test is failed, you can check the expected picture and the actual picture obtained by the test.

 

Object Detection on VPU

This module verifies object detection using OpenVINO™ on VPU. 

The test is considered Pass if:

  • The object is detected. 

If the test is failed, you can check the expected picture and the actual picture obtained by the test.

 

Object Detection on Intel® Movidius™ Myriad™ X VPU

This module verifies object detection using OpenVINO™ on Intel® Movidius™ Myriad™ X VPU. 

The test is considered Pass if:

  • The object is detected. 

If the test is failed, you can check the expected picture and the actual picture obtained by the test.

 

GStreamer* Video 

This module verifies if a GStreamer* Video Pipeline using GStreamer* Plugins runs on the target system.

The test is considered Pass if: 

  • The Video Pipeline was opened on the host without errors.

 

GStreamer* Audio

This module verifies if a GStreamer* Audio Pipeline using GStreamer* Plugins runs on the target system.

The test is considered Pass if:

  • The Audio Pipeline was opened on the host without errors.

 

GStreamer* Autovideosink Plugin - Display

This module verifies if a stream from a camera compatible with libv4l2 can be opened and displayed using GStreamer*.

The test is considered Pass if:

  • No Error messages are displayed while running the gst-launch command.

This test may FAIL, or it may be skipped if the target system does not have a web camera connected. 

 

GStreamer* Intel® RealSense™ Video Source Plugin

This module verifies if a GStreamer* Video Pipeline using the Intel® RealSense™ Plugin runs on the target system.

The test is considered Pass if:

  • No Error messages are displayed while running the gst-launch command.

This test may FAIL, or it may be skipped if the target system does not have an Intel® RealSense™ camera connected. 

  


Get Started 

 

This step-by-step guide takes you through installing the Intel® ESDQ CLI tool, which is installed as part of the EI for AMR. Refer to the How it Works section before you get started with the installation.

To use these instructions, you must download the Edge Insights for Autonomous Mobile Robots package. You can download the default packages or you can customize the package download depending upon your needs. 

See Troubleshooting if you run into problems installing the software. 

NOTE: Be aware that screenshots may show a package version number that is different from the current release. See the Release Notes for information on the current release. 

Prepare the Target System

EI for AMR requires a host system with Ubuntu* 20.04 and Kernel version 5.10.65.
Detailed steps on how to set it up can be found in the EI for AMR Documentation Get Started Guide.
See Install Edge Insights for Autonomous Mobile Robots sections: 
•    Step 1: Prepare the Target System
•    Step 2: Update the Kernel to Version 5.10.65

Download and Install Intel® ESDQ for EI for AMR

1. Select Configure & Download to download Intel® ESDQ for EI for AMR and then follow the steps below to install it.

Configure & Download

Configure & Download
Figure 1. Configure & Download

 

2. Click the Download button on the displayed configuration window.

3. Select Accept License Agreement in the pop-up window, then follow the instructions below.

Accept License Agreement
Figure 2. Accept License Agreement

 

4. Copy and Save the Product Key

Product Key
Figure 3. Product Key

 

5. Transfer the downloaded ESDQ EI for AMR package to the target Ubuntu 20.04 system.

6. View the edgesoftware_configuration.xml included in the edge software zip package and look for the Intel® ESDQ ingredient and test modules for EI for AMR. 

   <project path="installation/src" id="61390027fc7d8e002b3f35c5" version="1.0" label="esdq/AMR_Test_Module"/>

 

7. Provide executable permission to edgesoftware

chmod +x ./edgesoftware

 

8. If a proxy is required to connect to the Internet, add the proxy settings in /etc/environment. Update <http_proxy> to your actual proxy.

These steps are needed only once per host. They do not have to be done for different users or different logins of the same user.

To change the environment for all users on the system, use the commands:

sudo su
echo 'export http_proxy="http://<http_proxy>:port"' >> /etc/environment
echo 'export https_proxy="http://<https_proxy>:port"' >> /etc/environment
echo 'export ftp_proxy="http://<ftp_proxy>:port"' >> /etc/environment
echo 'export no_proxy="<no_proxy>"' >> /etc/environment
exit
source /etc/environment  

 

9. Run the command below to install Intel® ESDQ and ESDQ EI for AMR. 

./edgesoftware install

 

Note: If the installer is blocked at checking internet connection, or if you encounter any Docker* pull-related issues during the installation process, refer to the Troubleshooting section at the end of this document.

 

10. During the installation, you will be prompted for the Product Key. The Product Key is contained in the email you received from Intel confirming your download (or from the saved Product Key in the step above). 

11. When the installation is complete, you see the message “Installation of package complete” and the installation status for each module

12. Set multiple variables used at build time and run time. These steps are needed for each user that builds or runs the docker images.

These steps are needed only once per host. They do not have to be done for different users or different logins of the same user.

To change the environment for all users on the system, use the commands:

sudo su
echo "export DOCKER_BUILDKIT=1" >> /etc/environment
echo "export COMPOSE_DOCKER_CLI_BUILD=1" >> /etc/environment
echo "export DOCKER_HOSTNAME=$(hostname)" >> /etc/environment
echo "export DOCKER_USER_ID=$(id -u)" >> /etc/environment
echo "export DOCKER_USER=$(whoami)" >> /etc/environment
echo "export DOCKER_TAG=2021.4" >> /etc/environment
echo "export DOCKER_GROUP_ID=$(id -g)" >> /etc/environment
exit
source /etc/environment 

 

13. Build the Docker* images by running a Docker* build for each container. (Update the proxies according to your network requirements; if no proxies are needed, remove them from the command.)

NOTE: If you are in the People's Republic of China (PRC), be aware that building Docker* images on the PRC open network may fail. Intel recommends updating these links with their corresponding PRC mirrors.

To do this, go to the Edge_Insights_for_Autonomous_Mobile_Robots_2021.4.2/AMR_containers folder and update the broken sites with the default or user-defined mirrors as shown below. 
If you are not in PRC, skip the instructions in this note, and continue with the Build Instructions below.

         

cd Edge_Insights_for_Autonomous_Mobile_Robots_*/AMR_containers
chmod 775 changesources.sh
./changesources.sh -d .
Enter mirror server ('https://example.com' format) or leave empty to use the default value.
Git mirror [https://github.com.cnpmjs.org]:
Apt mirror [http://mirrors.bfsu.edu.cn]:
Pip mirror [https://opentuna.cn/pypi/web/simple/]:
Raw files mirror [https://raw.staticdn.net]: 

    

Build Instructions: 

cd edge_software_device_qualification/Edge_Software_Device_Qualification_For_AMR*/AMR_containers
docker-compose -f 01_docker_sdk_env/docker_compose/01_amr/amr-sdk.all.yml build --parallel --no-cache 

 

The total build time is approximately 100 minutes. The time varies depending on the testing system’s capabilities.

For slower systems, Intel recommends that you compile on a faster system; then deploy the Docker images on the target system. 
For details on how to deploy on a remote target, see: https://www.docker.com/blog/how-to-deploy-on-remote-docker-hosts-with-docker-compose/.

Verify that all Docker* images were created:

docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
amr-ubuntu2004-ros2-foxy-nav2 2021.4 d8b47598f285 22 hours ago 4.15GB
amr-ubuntu2004-full-flavour-sdk 2021.4 add353b53ad6 22 hours ago 31.2GB
amr-ubuntu2004-openvino-sdk 2021.4 180ba2993b5b 23 hours ago 10.3GB
amr-ubuntu2004-ros2-foxy-object-detection 2021.4 dd8c57f22507 23 hours ago 10.1GB
.
. 

 

14. After module installation is completed successfully, reboot the system:

reboot

Run the Application

For the complete Intel® ESDQ CLI, refer to Intel® ESDQ CLI Overview. The test modules are already available in the target system.

1. Change directory to: 

cd $HOME/edge_software_device_qualification/Edge_Software_Device_Qualification_For_AMR_*/esdq

2. Run Intel® ESDQ test and generate report: 

./esdq run –r 

 

The test report should look like the following example. 

Note: The results shown below are for illustration only.

 

Test Report - Part 1
Figure 5. Test Report - Part 1

 

Test Report - Part 2
Figure 6. Test Report - Part 2

 

NOTE: The OpenVino Object Detection Myriad Test Failure above is for demonstration only. The test is expected to pass.

 

 

Send Results to Intel

Once all the automated and manual tests are executed successfully, you can submit your devices to Intel® at Edge.Software.Partners@intel.com and get your devices listed on the Intel® Edge Software Recommended Hardware page.

Follow the instructions below to submit your devices for qualification:

 

  1. The esdqReport.html generated by ESDQ after the tests are executed successfully.
  2. Fill out the Edge Software Recommended Hardware Application Form for each device. 
    • For a first time application, please provide a high resolution company logo and high resolution product photo.
      Also, sign and return the Promotional Materials Release (PMR) Form in order to list partner devices on the Intel recommended device page. 
    • For a repeat application, please provide a high resolution product photo.

Once the information is received, reviewed, and meets the requirements, the target devices will be added to the Intel® Edge Software Recommended Hardware page.

 


Release Notes 

Current Version: 2021.4 

New in this Release  

New tests were added to the Test Suite (5 new automated tests and 2 manual tests). 

The Test Suite can now be used by clients to certify their system compute capability compatibility with Edge Insights for Automated Mobile Robots.  

Known Issues 

  • The Intel® RealSense™ Camera test will fail if there is no Intel® RealSense™ Camera attached to the Target System.
    The test will report the following error message:
    [ERROR]: No RealSense devices were found
    For the test to PASS, Intel® RealSense™ camera D435i needs to be connected to the Target System.
  • The Object Detection on Intel® Movidius™ Myriad™ X VPU fails if there is no Intel® Movidius™ Myriad™ X connected to the target system.
  • The AMR Docker image build is failing in PRC network. An update will be made to this document once there is a resolution.

 

Troubleshooting

 

  • If you set up proxies using export, sudo does not know about them. You must use the following command to install the package: 
    sudo -E ./edgesoftware 
  • Make sure you have an active internet connection during the full installation. If you lose Internet connectivity at any time, the installation might fail. 

  • Make sure you are using a fresh Ubuntu* installation. Earlier software, especially Docker* and Docker Compose*, can cause issues.

  • For the following error message, go to Docker* hub download rate limit:

    docker: Error response from daemon: toomanyrequests: You have reached your pull rate limit. 



Support Forum

If you're unable to resolve your issues, contact the Support Forum

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.