---
title: Note of Intel ESDQ
tags: ROS
description: Note of Intel ESDQ
---
:::success
<font size=6>
Note of Intel ESDQ
</font>
:::
[TOC]
<br/>
<br/>
# [Intel ESDQ](https://www.intel.com/content/www/us/en/developer/articles/guide/edge-software-device-qualification.html)
## Overview
The Intel® Edge Software Device Qualification (ESDQ) package comes with the Command Line Interface (CLI) tool. It provides customers with the capability to run an Intel-provided test suite at the target system, with the goal of enabling customers to test their platform for a specific Intel® Edge Software package.

## Support for EI for AMR
Intel® Edge Software Device Qualification (Intel® ESDQ) for EI for 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 EI for AMR.
https://www.intel.com/content/www/us/en/develop/documentation/ei4amr-2022-3-developer-guide/top/esdq.html
https://docs.google.com/spreadsheets/d/1l4n8Sb9ir1zuUZGD0HwA3LJPSEY_mmwdWCjidn_H06c/edit#gid=1860904618
## Download ESDQ
Intel® ESDQ is optionally bundled with EI for AMR solutions. Below steps introduct how to download a configuration that includes Intel® ESDQ.
- Go to the Product Download page.
- Select Robot Complete Kit.
- Select Customize Download.

- Click Next, until you get to step 4.
- On the Reference Implementations page, make sure that Intel® Edge Software Device Qualification is checked.

- Make sure that AMR Bag Files and AMR Kudan SLAM are selected:

- Click Next until you get to the Download page, and click on Download.
- Follow the steps in the Get Started Guide for Robots to extract and install EI for AMR.
## Run ESDQ
### Run the Self-Certification Application for Compute Systems
1. Change the directory:
```
cd edge_insights_for_amr/Edge_Insights_for_Autonomous_Mobile_Robots_2022.3.1/esdq/
```
2. Unzip the ROS 2 bags used in the tests:
```
unzip ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags.zip -d ../AMR_containers/01_docker_sdk_env/docker_compose/
```
```
Archive: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags.zip
creating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/
creating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot_moving_15fps/
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot_moving_15fps/metadata.yaml
extracting: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot_moving_15fps/robot_moving_30fps_0.db3-wal
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot_moving_15fps/robot_moving_30fps_0.db3
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot_moving_15fps/robot_moving_30fps_0.db3-shm
creating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/laser_pointcloud_spinning/
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/laser_pointcloud_spinning/metadata.yaml
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/laser_pointcloud_spinning/laser_pointcloud_spinning_0.db3
creating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot1_bag/
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot1_bag/rosbag2_2022_02_22-16_59_26_0.db3-shm
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot1_bag/rosbag2_2022_02_22-16_59_26_0.db3
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot1_bag/metadata.yaml
extracting: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot1_bag/rosbag2_2022_02_22-16_59_26_0.db3-wal
creating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot_spinning/
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot_spinning/fastMappingBag3_0.db3
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot_spinning/metadata.yaml
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot_spinning/fastMappingBag3_0.db3-shm
extracting: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot_spinning/fastMappingBag3_0.db3-wal
creating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot2_bag/
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot2_bag/metadata.yaml
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot2_bag/rosbag2_2022_02_22-16_56_35_0.db3
extracting: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot2_bag/rosbag2_2022_02_22-16_56_35_0.db3-wal
inflating: ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags/robot2_bag/rosbag2_2022_02_22-16_56_35_0.db3-shm
```
3. Change mode for the ROS 2 bags used in the tests:
```
sudo chmod 0777 -R ../AMR_containers/01_docker_sdk_env/docker_compose/06_bags
```
4. Run the Intel® ESDQ test, and generate the report:
```
export ROS_DOMAIN_ID=19
./esdq run -r
```
```
***Test Starts At Tue Mar 14 14:27:49 CST 2023
Tested Platform is
[notice] A new release of pip available: 22.3.1 -> 23.0.1
[notice] To update, run: python3 -m pip install --upgrade pip
pexpect 4.6.0
Usage: xvfb-run [OPTION ...] COMMAND
Run COMMAND (usually an X client) in a virtual X server environment.
Options:
-a --auto-servernum try to get a free server number, starting at
--server-num
-e FILE --error-file=FILE file used to store xauth errors and Xvfb
output (default: /dev/null)
-f FILE --auth-file=FILE file used to store auth cookie
(default: ./.Xauthority)
-h --help display this usage message and exit
-n NUM --server-num=NUM server number to use (default: 99)
-l --listen-tcp enable TCP port listening in the X server
-p PROTO --xauth-protocol=PROTO X authority protocol name to use
(default: xauth command's default)
-s ARGS --server-args=ARGS arguments (other than server number and
"-nolisten tcp") to pass to the Xvfb server
(default: "-screen 0 1280x1024x24")
GraphicsMagick 1.3.35 2020-02-23 Q16 http://www.GraphicsMagick.org/
Copyright (C) 2002-2020 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.
Usage: gm help command [options ...]
Where commands include:
animate - animate a sequence of images
batch - issue multiple commands in interactive or batch mode
benchmark - benchmark one of the other commands
compare - compare two images
composite - composite images together
conjure - execute a Magick Scripting Language (MSL) XML script
convert - convert an image or sequence of images
display - display an image on a workstation running X
help - obtain usage message for named command
identify - describe an image or image sequence
import - capture an application or X server screen
mogrify - transform an image or sequence of images
montage - create a composite image (in a grid) from separate images
time - time one of the other commands
version - obtain release version
/home/hank/Projects/ei-for-amr/2022.3.0/edge_insights_for_amr/Edge_Insights_for_Autonomous_Mobile_Robots_2022.3/esdq/AMR_Test_Module
non-network local connections being added to access control list
2e308a9afd5d
Test demo AMR1 - ENTRY - Tue Mar 14 14:27:53 CST 2023
System requirements program Success 0
/home/hank/Projects/ei-for-amr/2022.3.0/edge_insights_for_amr/Edge_Insights_for_Autonomous_Mobile_Robots_2022.3/esdq/AMR_Test_Module
Test System requirements AMR1 - EXIT - Tue Mar 14 14:27:53 CST 2023
Test demo AMR2 - ENTRY - Tue Mar 14 14:27:53 CST 2023
The REPO_URL variable is not set. Defaulting to a blank string.
The http_proxy variable is not set. Defaulting to a blank string.
The https_proxy variable is not set. Defaulting to a blank string.
Creating amr_sdk ...
Creating amr_sdk ... done
OneAPI program Success 0
Test OneAPI AMR2 - EXIT - Tue Mar 14 14:41:06 CST 2023
317fa2f22e60
Test demo AMR3 - ENTRY - Tue Mar 14 14:41:06 CST 2023
The REPO_URL variable is not set. Defaulting to a blank string.
The http_proxy variable is not set. Defaulting to a blank string.
The https_proxy variable is not set. Defaulting to a blank string.
Creating amr_sdk ...
Creating amr_sdk ... done
OpenVINO program Success 0
Test OpenVINO AMR3 - EXIT - Tue Mar 14 14:42:30 CST 2023
1c67e5741236
Test demo AMR4 - ENTRY - Tue Mar 14 14:42:31 CST 2023
The REPO_URL variable is not set. Defaulting to a blank string.
The http_proxy variable is not set. Defaulting to a blank string.
The https_proxy variable is not set. Defaulting to a blank string.
Creating amr_sdk ...
Creating amr_sdk ... done
RealSense_SDK program Success 0
Test RealSense_SDK AMR4 - EXIT - Tue Mar 14 14:42:35 CST 2023
0e842b3ceb72
Test demo AMR5 - ENTRY - Tue Mar 14 14:42:35 CST 2023
The REPO_URL variable is not set. Defaulting to a blank string.
The http_proxy variable is not set. Defaulting to a blank string.
The https_proxy variable is not set. Defaulting to a blank string.
Creating amr_sdk ...
Creating amr_sdk ... done
ROS2 program Success 0
Test ROS2 AMR5 - EXIT - Tue Mar 14 14:42:37 CST 2023
5c9fccff7e84
Test demo AMR6 - ENTRY - Tue Mar 14 14:42:37 CST 2023
The REPO_URL variable is not set. Defaulting to a blank string.
The http_proxy variable is not set. Defaulting to a blank string.
The https_proxy variable is not set. Defaulting to a blank string.
Creating amr_sdk ...
Creating amr_sdk ... done
Docker_container program Success 0
Test Docker_container AMR6 - EXIT - Tue Mar 14 14:42:39 CST 2023
464e1848b21c
Test demo AMR7 - ENTRY - Tue Mar 14 14:42:39 CST 2023
WARNING! RealSense device is not detected.
RealSense program Skipped 256
Test RealSense AMR7 - EXIT - Tue Mar 14 14:42:39 CST 2023
Test demo AMR8 - ENTRY - Tue Mar 14 14:42:39 CST 2023
The REPO_URL variable is not set. Defaulting to a blank string.
The http_proxy variable is not set. Defaulting to a blank string.
The https_proxy variable is not set. Defaulting to a blank string.
Creating amr_sdk ...
Creating amr_sdk ... done
GStreamer plugin-video program Success 0
Test GStreamer plugin-video AMR8 - EXIT - Tue Mar 14 14:42:42 CST 2023
3cdae061269e
Test demo AMR9 - ENTRY - Tue Mar 14 14:42:43 CST 2023
The REPO_URL variable is not set. Defaulting to a blank string.
The http_proxy variable is not set. Defaulting to a blank string.
The https_proxy variable is not set. Defaulting to a blank string.
Creating amr_sdk ...
Creating amr_sdk ... done
GStreamer plugin-audio program Success 0
Test GStreamer plugin-audio AMR9 - EXIT - Tue Mar 14 14:42:45 CST 2023
da47b57359c3
Test demo AMR10 - ENTRY - Tue Mar 14 14:42:45 CST 2023
WARNING! Realsense device is not detected.
GStreamer Realsense plugin program Skipped 256
Test GStreamer Realsense plugin AMR10 - EXIT - Tue Mar 14 14:42:45 CST 2023
Test demo AMR11 - ENTRY - Tue Mar 14 14:42:45 CST 2023
The REPO_URL variable is not set. Defaulting to a blank string.
The http_proxy variable is not set. Defaulting to a blank string.
The https_proxy variable is not set. Defaulting to a blank string.
Creating amr_sdk ...
Creating amr_sdk ... done
GStreamer libv4l2 plugin program Success 0
Test GStreamer libv4l2 plugin AMR11 - EXIT - Tue Mar 14 14:42:49 CST 2023
810c30c47a50
Test demo AMR12 - ENTRY - Tue Mar 14 14:42:49 CST 2023
The REPO_URL variable is not set. Defaulting to a blank string.
The http_proxy variable is not set. Defaulting to a blank string.
The https_proxy variable is not set. Defaulting to a blank string.
Creating amr_sdk ...
Creating amr_sdk ... done
VTune-CPU program Success 0
Test VTune-CPU AMR12 - EXIT - Tue Mar 14 14:55:44 CST 2023
4d25df083a8b
Test demo AMR13 - ENTRY - Tue Mar 14 14:55:44 CST 2023
The REPO_URL variable is not set. Defaulting to a blank string.
The http_proxy variable is not set. Defaulting to a blank string.
The https_proxy variable is not set. Defaulting to a blank string.
Creating amr_sdk ...
Creating amr_sdk ... done
VTune-GPU program Success 0
Test VTune-GPU AMR13 - EXIT - Tue Mar 14 15:08:22 CST 2023
848b8e391b4e
Test demo AMR14 - ENTRY - Tue Mar 14 15:08:22 CST 2023
OpenVino object detection CPU program Success 0
Test OpenVINO object detection CPU AMR14 - EXIT - Tue Mar 14 15:13:14 CST 2023
c41602e5bdd4
Test demo AMR15 - ENTRY - Tue Mar 14 15:13:14 CST 2023
00:02.0 VGA compatible controller: Intel Corporation Device 9bc5 (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)
OpenVino object detection GPU program Success 0
Test OpenVINO object detection GPU AMR15 - EXIT - Tue Mar 14 15:18:03 CST 2023
49308d3b2874
Test demo AMR16 - ENTRY - Tue Mar 14 15:18:03 CST 2023
WARNING! MYRIAD device is not detected.
OpenVino object detection MYRIAD program Skipped 256
Test OpenVINO object detection MYRIAD AMR16 - EXIT - Tue Mar 14 15:18:03 CST 2023
Test demo AMR17 - ENTRY - Tue Mar 14 15:18:03 CST 2023
FastMapping program Success 0
Test FastMapping AMR17 - EXIT - Tue Mar 14 15:20:52 CST 2023
52f590a4048d
Test demo AMR18 - ENTRY - Tue Mar 14 15:20:53 CST 2023
TurtleSim App program Success 0
Test TurtleSim application AMR18 - EXIT - Tue Mar 14 15:22:19 CST 2023
b4aaf8894a9c
Test demo AMR19 - ENTRY - Tue Mar 14 15:22:19 CST 2023
ADBSCAN-CPU program Success 0
Test ADBSCAN KPI for CPU usage AMR19 - EXIT - Tue Mar 14 15:25:24 CST 2023
b0832fc69e3e
Test demo AMR20 - ENTRY - Tue Mar 14 15:25:24 CST 2023
ADBSCAN-MEM program Success 0
Test ADBSCAN KPI for MEM usage AMR20 - EXIT - Tue Mar 14 15:28:28 CST 2023
1d1fb1476127
Test demo AMR21 - ENTRY - Tue Mar 14 15:28:28 CST 2023
Collab-SLAM program Success 0
Test COLLAB-SLAM for CPU usage AMR21 - EXIT - Tue Mar 14 15:33:06 CST 2023
a182d7d594ae
Test demo AMR22 - ENTRY - Tue Mar 14 15:33:06 CST 2023
Kudan-SLAM program Success 0
Test KUDAN-SLAM for CPU usage AMR22 - EXIT - Tue Mar 14 15:36:49 CST 2023
2414983beef6
Test demo AMR23 - ENTRY - Tue Mar 14 15:36:50 CST 2023
Kudan-SLAM program Success 0
Test KUDAN-SLAM for CPU usage AMR23 - EXIT - Tue Mar 14 15:40:32 CST 2023
Execution successful and back to current Dir /home/hank/Projects/ei-for-amr/2022.3.0/edge_insights_for_amr/Edge_Insights_for_Autonomous_Mobile_Robots_2022.3/esdq/AMR_Test_Module
***Test Ends At Tue Mar 14 15:40:32 CST 2023
Total Test Execution Time in(minutes)
72:43
```
<br/>
## ESDQ Test Pass Report
### Tested Device
| Device | CPU Type | Result |
| --------- | ------------------------------- | -------- |
| MIO-5375 | Intel Core i5-1145G7E 2.60GHz | pass |
| ARK-3532 | Intel Core i7-10700E 2.90GHz | pass |
<br/>







<br/>
<br/>
<br/>
# Troubleshooting
## ESDQ Test Fail Report
If you got similar failures like below in your ESDQ HTML Report, you can refer to below solutions to fix them.


## AMR2: OneAPI fail
### Solution: To get CUDA without http-proxy option
Replace line 40 in the file /edge_insights_for_amr/Edge_Insights_for_Autonomous_Mobile_Robots_2022.3/esdq/AMR_Test_Module/src/test_OneAPI.sh to below:
```
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 204DD8AEC33A7AFF
```
Example:
```
...
# install CUDA
if [[ -z "${HTTP_PROXY}" ]] && [[ -z "${HTTPS_PROXY}" ]]; then
echo "Proxy is undefined"
else
echo 'Acquire::http::proxy' '"'"${HTTP_PROXY}"'";' | sudo tee -a /etc/apt/apt.conf.d/proxy.conf
echo 'Acquire::https::proxy' '"'"${HTTPS_PROXY}"'";' | sudo tee -a /etc/apt/apt.conf.d/proxy.conf
fi
echo "deb http://apt.pop-os.org/proprietary focal main" | sudo tee -a /etc/apt/sources.list.d/pop-proprietary.list
#sudo apt-key adv --keyserver-options http-proxy="${HTTP_PROXY}" --keyserver keyserver.ubuntu.com --recv-key 204DD8AEC33A7AFF
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 204DD8AEC33A7AFF
sudo -E apt-get update -y --allow-unauthenticated && DEBIAN_FRONTEND=noninteractive sudo -E apt-get install -y --no-install-recommends system76-cuda-10.1
if [ ! -d /usr/lib/cuda-10.1 ]; then
echo "[ERROR] Unable to install CUDA"
exit 1
fi
...
```
<br/>
## AMR17: FastMapping fail
### Solution: Support for 10 Gen (and newer) of Intel CPU & GPU
<br/>
## AMR22: Kudan-SLAM CPU fail
### Solution: Run ESDQ on EI for AMR v2022.3
<br/>
## AMR23: Kudan-SLAM GPU fail
### Solution: Run ESDQ on EI for AMR v2022.3
<br/>
<br/>
# Reference
## Install CUDA and NVIDIA driver
To install the Display Driver, the Nouveau drivers must first be disabled. Each distribution of Linux has a different method for disabling Nouveau.
### Disable Nouveau
The Nouveau drivers are loaded if the following command prints anything:
```
lsmod | grep nouveau
```
- Create a file at /etc/modprobe.d/blacklist-nouveau.conf with the following contents:
```
blacklist nouveau
options nouveau modeset=0
```
- Regenerate the kernel initramfs:
```
$ sudo update-initramfs -u
```
<br/>
### Download CUDA Toolkit 11.7.1
https://developer.nvidia.com/cuda-toolkit-archive
### Install CUDA Toolkit 11.7.1
Command:
```
$ wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda_11.7.1_515.65.01_linux.run
$ sudo chmod +x cuda_11.7.1_515.65.01_linux.run
$ sudo ./cuda_11.7.1_515.65.01_linux.run
```
Output:
```
===========
= Summary =
===========
Driver: Installed
Toolkit: Installed in /usr/local/cuda-11.7/
Please make sure that
- PATH includes /usr/local/cuda-11.7/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-11.7/lib64, or, add /usr/local/cuda-11.7/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.7/bin
To uninstall the NVIDIA Driver, run nvidia-uninstall
Logfile is /var/log/cuda-installer.log
```
Configure:
Add below two to .bashrc file:
```
export PATH="/usr/local/cuda-11.7/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH"
```
<br/>
## Intel ESDQ 2023.1 support Ubuntu 22.04
### Intel EI for AMR 2023.1
https://edgesoftware.intel.com/edge_insights_for_amr
<br/>

<br/>
### Intel ESDQ for EI for AMR 2023.1
https://www.intel.com/content/www/us/en/developer/articles/technical/edge-software-device-qualification-eci.html

<br/>
Product Key
```
50be866d-1cb4-4c49-ac32-f7c96919b11b
```
Intel IPS issue
https://premiersupport.intel.com/IPS/s/case-detail?recordId=5003b00001lsUErAAM&isCase=true