--- 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. ![](https://i.imgur.com/uIRq3pf.png) ## 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. ![](https://i.imgur.com/rbUy4VD.png) - Click Next, until you get to step 4. - On the Reference Implementations page, make sure that Intel® Edge Software Device Qualification is checked. ![](https://i.imgur.com/jLedt9e.png) - Make sure that AMR Bag Files and AMR Kudan SLAM are selected: ![](https://i.imgur.com/zRQK2ne.png) - 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/> ![](https://i.imgur.com/GGOIGyl.png) ![](https://i.imgur.com/j6ZU5Si.png) ![](https://i.imgur.com/B1ecdUA.png) ![](https://i.imgur.com/xnTM7PM.png) ![](https://i.imgur.com/8HhFr0D.png) ![](https://i.imgur.com/NgrkovJ.png) ![](https://i.imgur.com/q4hStIG.png) <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. ![](https://i.imgur.com/10gCG5u.png) ![](https://i.imgur.com/1HOYDbJ.png) ## 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/> ![](https://hackmd.io/_uploads/H1tBgYctn.png) <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 ![](https://hackmd.io/_uploads/BkoVHt9Yn.png) <br/> Product Key ``` 50be866d-1cb4-4c49-ac32-f7c96919b11b ``` Intel IPS issue https://premiersupport.intel.com/IPS/s/case-detail?recordId=5003b00001lsUErAAM&isCase=true