Difference between revisions of "Advantech Robotic Suite/OpenVINO"

From ESS-WIKI
Jump to: navigation, search
(Introduction)
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
  
 
= Introduction =
 
= Introduction =
Intel OpenVINO is an open-source toolkit for optimizing and deploying deep learning models. It provides boosted deep learning performance for vision, audio, and language models from popular frameworks like TensorFlow, PyTorch, and more.  
+
 
 +
Intel OpenVINO is an open-source toolkit for optimizing and deploying deep learning models. It provides boosted deep learning performance for vision, audio, and language models from popular frameworks like TensorFlow, PyTorch, and more.
  
 
Intel have already published OpenVINO container in the Edge Insights for Autonomous Mobile Robots (EI for AMR), EI for AMR is a container modularize toolkit for user to develop, build, and deploy end-to-end mobile robot applications with this purpose-built, open, and modular software development kit that includes libraries, middleware, and sample applications based on the open-source Robot Operating System 2* (ROS 2).
 
Intel have already published OpenVINO container in the Edge Insights for Autonomous Mobile Robots (EI for AMR), EI for AMR is a container modularize toolkit for user to develop, build, and deploy end-to-end mobile robot applications with this purpose-built, open, and modular software development kit that includes libraries, middleware, and sample applications based on the open-source Robot Operating System 2* (ROS 2).
  
Advantech ROS2 Suite support OpenVINO on verified Advantech platform, user can download and install OpenVINO from EI for AMR portal: https://www.intel.com/content/www/us/en/developer/topic-technology/edge-5g/edge-solutions/autonomous-mobile-robots.html
+
User can download and install OpenVINO from EI for AMR portal: [https://www.intel.com/content/www/us/en/developer/topic-technology/edge-5g/edge-solutions/autonomous-mobile-robots.html https://www.intel.com/content/www/us/en/developer/topic-technology/edge-5g/edge-solutions/autonomous-mobile-robots.html]
  
 
 
 
 
  
= Featured Components =
+
== Featured Components ==
  
 
*Intel® Distribution of OpenVINO™ Toolkit  
 
*Intel® Distribution of OpenVINO™ Toolkit  
Line 19: Line 21:
 
 
 
 
  
= Benefits =
+
== Benefits ==
  
 
*Enables code to be implemented once and deployed to multiple hardware configurations.  
 
*Enables code to be implemented once and deployed to multiple hardware configurations.  
 
*Accelerates deployment of customer ROS 2-based applications by reducing evaluation and development time.  
 
*Accelerates deployment of customer ROS 2-based applications by reducing evaluation and development time.  
 
*Provides prevalidated, scalable EI for AMR platforms through development partners.  
 
*Provides prevalidated, scalable EI for AMR platforms through development partners.  
 +
 +
 
 +
 +
== Architecture ==
 +
 +
OpenVINO enables you to optimize a deep learning model from almost any framework and deploy it with best-in-class performance on a range of Intel processors and other hardware platforms.
 +
 +
[[File:Ros openvino chart.png|border|800x480px|Ros openvino chart.png]]
  
 
 
 
 
Line 37: Line 47:
 
|-
 
|-
 
| MIO-5375
 
| MIO-5375
| Intel Core i5-1145G7E 2.60GHz
+
| Intel Core i5-1145G7E
|-
 
| ARK-3532
 
| Intel Core i7-10700E 2.90GHz
 
|}
 
 
 
 
 
 
 
 
 
 
 
= Architecture =
 
 
 
[[File:Ros2 diagram-edge-insights-for-amr-graphic-16x9.png|1024x600px|Ros2 diagram-edge-insights-for-amr-graphic-16x9.png]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
= Download =
 
 
 
== Step1. Sign up and login to the Intel® Developer Zone ==
 
 
 
 
 
 
 
[[File:Ros2 intel-developer-zone.png|border|760x480px|Ros2 intel-developer-zone.png]]
 
 
 
 
 
 
 
== Step2. Search for “EI for AMR” ==
 
 
 
 
 
 
 
[[File:Ros2 intel-developer-zone ei-for-amr search.png|border|760x465px|Ros2 intel-developer-zone ei-for-amr search.png]]
 
 
 
 
 
 
 
== Step3. Click on Edge Insights for Autonomous Mobile Robots (EI for AMR) ==
 
 
 
 
 
 
 
[[File:Ros2 intel-developer-zone ei-for-amr.png|border|760x425px|Ros2 intel-developer-zone ei-for-amr.png]]
 
 
 
 
 
 
 
== Step4. Click on “Download” buttion to start options page ==
 
 
 
[[File:Ros2 intel-developer-zone ei-for-amr download.png|border|800x425px|Ros2 intel-developer-zone ei-for-amr download.png]]
 
 
 
 
 
 
 
== Step5. Customize your EI for AMR for the installation ==
 
 
 
[[File:Ros2 intel-developer-zone ei-for-amr customize.png|border|760x440px|Ros2 intel-developer-zone ei-for-amr customize.png]]
 
 
 
 
 
 
 
 
 
 
 
=== Selectable Options ===
 
 
 
{| border="1" cellpadding="1" cellspacing="1" style="width: 800px"
 
|-
 
! Image
 
! Version
 
! Description
 
|-
 
| AMR WWAN 5G Modem Docker Image
 
| Version 2022.3
 
| This docker image provides a unified high level API for communicating with mobile broadband modems, regardless of the protocol used to communicate with the actual device (Generic AT, vendor-specific AT, QCDM, QMI, MBIM…)
 
|-
 
| AMR Collaborative SLAM Docker Image
 
| Version 2022.3
 
| The Collaborative SLAM docker delivers the Collaborative SLAM vSLAM algorithm that provides high precision location accuracy and multi-robot map merging both in mapping and localization mode. The docker includes libraries and binaries based on ROS Foxy
 
|-
 
| '''AMR SLAM toolbox Docker Image'''
 
| Version 2022.3
 
| This docker-image is a set of tools and capabilities for 2D SLAM.
 
|-
 
| AMR OpenVINO SDK Docker Image
 
| Version 2022.3
 
| The AMR OpenVINO container includes the AMR ROS2 container, as well as the OpenVINO™development toolkit, the OpenVINO™ DL Gstreamer plugins and the Wandering demonstration application, This docker-image is based on ros2-foxy-sdk image and includes openvino and object-detection components
 
|-
 
| AMR ADBSCAN Docker Image
 
| Version 2022.3
 
| This docker-image is an improvement over the classic DBSCAN algorithm where the clustering parameters are adaptive based on the range, and especially suitable for processing Lidar data. It improves the object detection range by 20-30% on average.
 
|-
 
| '''AMR ROS2 FOXY SDK Docker Image'''
 
| Version 2022.3
 
| The AMR container includes the ROS2 middleware and tools, Intel® RealSense™ SDK and ROS2 wrapper, GStreamer* and build tools, ROS2 packages (Cartographer, Navigation, RTAB_MAP) and the Fast Mapping application (the Intel-optimized version of octomap). This docker-image is based on ros-base image and includes multiple components and provides a SDk image useful for multiple use cases. The image contains most of the small size packages/components: adbscan, battery_bridge, vda5050, cartographer, nav2, rtabmap, fastmapping, gazebo, gstreamer, kobuki, realsense, ros-arduino, ros1-bridge, rplidar, sick-nanoscan, turtlebot3, turtlesim, aaeon-amr-interface
 
|-
 
| AMR Kobuki Docker Image
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes kobuki-ros-interface, kobuki-drivers and kobuki-core components.
 
|-
 
| AMR Battery Bridge Docker Image
 
| Version 2022.3
 
| This container includes a component of Basic Fleet Management Client - battery bridge. It helps to read the battery value from kobuki driver in ROS2 to bridge to operating system battery value. With which, the correct battery value from robot can be reflected to Basic Fleet Management use cases.
 
|-
 
| AMR IMU Tools Docker Image
 
| Version 2022.3
 
| This docker image is based on ros-base image and contains: imu_filter_madgwick, imu_complementary_filter, rviz_imu_plugin
 
|-
 
| AMR Nav2 Docker Image
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes nav2-ros-package components.
 
|-
 
| AMR Full Flavour SDK Docker Image
 
| Version 2022.3
 
| This docker-image is a comprehensive image which includes all the released components: adbscan, battery_bridge, vda5050, cartographer, nav2, rtabmap, fastmapping, gazebo, gstreamer, kobuki, realsense, ros-arduino, ros1-bridge, rplidar, sick-nanosca, sick-nanoscan, turtlebot3, turtlesim, aaeon-amr-interface, OpenVINO, OneAPI, Object-detection, Wandering and many more.
 
|-
 
| AMR VDA Navigator Docker Image
 
| Version 2022.3
 
| This docker-image is based on ros-base image. The VDA Navigator is a basic waypoint navigator.
 
|-
 
| AMR Rtabmap Docker Image
 
| Version 2022.3
 
| This docker-image is based on nav2 image and includes nav2 stack, rtabmap and rtabmap-ros-wrapper components.
 
|-
 
| AMR Fleet Management Docker Image
 
| Version 2022.3
 
| This container includes a component of Basic Fleet Management Client - The Intel® In-Band Manageability Framework (INBM) ([https://github.com/intel/intel-inb-manageability https://github.com/intel/intel-inb-manageability]). The Intel® In-Band Manageability Framework is software which enables an administrator to perform critical Device Management operations over-the-air remotely from the cloud. It also facilitates the publishing of telemetry and critical events and logs from an IoT device to the cloud enabling the administrator to take corrective actions if, and when necessary.
 
|-
 
| AMR Kudan Slam Docker Image
 
| Version 2022.3
 
| This docker-image achieves much faster processing time, higher accuracy and more robustness in dynamic situations.
 
|-
 
| AMR Collab Slam gpu Docker Image
 
| Version 2022.3
 
| The Collaborative SLAM gpu docker delivers the Collaborative SLAM vSLAM algorithm that provides high precision location accuracy and multi-robot map merging both in mapping and localization mode. The docker includes libraries and binaries based on ROS Foxy.
 
|-
 
| '''AMR Gazebo Docker Image'''
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes gazebo-ros-package components.
 
|-
 
| AMR RPLIDAR Docker Image
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes rplidar-ros-package components.
 
|-
 
| AMR Fast Mapping Docker Image
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes fast-mapping ros component.
 
|-
 
| AMR ROS1 Bridge Docker Image
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes ros1-bridge component.
 
|-
 
| AMR Wandering Docker Image
 
| Version 2022.3
 
| This docker-image is based on nav2 image and includes nav2-stack and wandering component.
 
|-
 
| '''AMR Object Detection Docker Image'''
 
| Version 2022.3
 
| This container includes a component of Basic Fleet Management Client and/or AMR SDK - the Object Detection. It enables the images from camera feed to be inferenced and provide classification on the objects. The inferencing can be done locally or remotely (to OpenVINO™ Model Server) depends on the setting.
 
|-
 
| '''AMR ROS2 OpenVINO Docker Image'''
 
| Version 2022.3
 
| This docker image provides a ROS2-adapted runtime framework for neural network inference which allows to quickly deploy applications and solutions for vision inference.
 
|-
 
| AMR VDA5050 ROS2 Bridge Docker Image
 
| Version 2022.3
 
| This docker image is based on ros-base image. The VDA5050 ROS2 Bridge translates VDA5050 messages into ROS2 messages which can be received and executed by ROS2 components in an AMR SDK based AMR control system.
 
|-
 
| AMR Realsense Docker Image
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes realsense-sdk and realsense-ros2-wrapper components.
 
|-
 
| AMR Cartographer Docker Image
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes cartographer and cartographer-ros-package components.
 
 
|-
 
|-
| AMR Aaeon amr interface Docker Image
+
| ARK-1250L
| Version 2022.3
+
| Intel Core i5-1145G7E
| This docker-image is based on ros-base image and includes AAEON-ros2-interface and AAEON-transport-drivers components.
 
 
|-
 
|-
| AMR Robot Localization Docker Image
+
| EI-52
| Version 2022.3
+
| Intel Core i5-1145G7E
| This docker image is based on ros-base image. Robot_localization is a collection of state estimation nodes, each of which is an implementation of a nonlinear state estimator for robots moving in 3D space.
 
 
|-
 
|-
| AMR Ros Arduino Docker Image
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes Micro XRCE-DDS Agent component.
 
|-
 
| AMR Sick Nanoscan Docker image
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes SICK-nanoscan-ros-package component.
 
|-
 
| AMR Gstreamer Docker Image
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes gstreamer, realsense-sdk and realsense-ros2-wrapper components.
 
|-
 
| '''AMR Turtlesim Docker Image'''
 
| Version 2022.3
 
| This docker-image is based on ros-base image and includes turtlesim-ros-package components.
 
|-
 
| AMR FDO Client Docker Image
 
| Version 2022.3
 
| This container includes the FDO device entity of the Fido FDO Specification ([https://fidoalliance.org/specifications/download-iot-specifications/ https://fidoalliance.org/specifications/download-iot-specifications/]). The device being manufactured, later the device being provisioned. Typical this is the autonomous mobile robot (AMR). For the complete FDO technology preview all four FDO containers are required.
 
|-
 
| '''AMR ROS Base Docker Image'''
 
| Version 2022.3
 
| This docker-image is based on ros:foxy image and includes many generic ros2-packages and other needed components. It is used as base image for all other amr side released images.
 
 
|}
 
|}
  
 
 
 
 
 
== Step6. Download the installer ==
 
 
<span style="font-size:medium;">After complete the package selection, click “Download” to get the installer file (edge_insights_for_amr.zip). Once the download is complete, copy the file to your target edge device and run the installer.</span>
 
 
[[File:Ros2 intel-developer-zone ei-for-amr download-01.png|border|760x440px|Ros2 intel-developer-zone ei-for-amr download-01.png]]
 
 
&nbsp;
 
 
&nbsp;
 
 
== Step7. Keep your Product Key for the step during installation ==
 
 
<span style="font-size:medium;">Please keep your product key, you will be prompted to enter it during installation.</span>
 
 
[[File:Ros2 intel-developer-zone ei-for-amr productkey.png|border|760x440px|Ros2 intel-developer-zone ei-for-amr productkey.png]]
 
 
 
&nbsp;
 
&nbsp;
  
= Installation =
+
= Download & Installation =
  
== Step1. Unzip edge_insights_for_amr.zip and run edgesoftware to start installation ==
+
You can sign up and login to the Intel® Developer Zone to download and install OpenVINO container, please refer to the document [https://www.intel.com/content/www/us/en/docs/ei-for-amr/get-started-guide-robot-kit/2022-3/overview.html https://www.intel.com/content/www/us/en/docs/ei-for-amr/get-started-guide-robot-kit/2022-3/overview.html]
  
 
&nbsp;
 
&nbsp;
  
<pre>
+
[[File:Ros2 intel-developer-zone ei-for-amr.png|border|600x480px|Ros2 intel-developer-zone ei-for-amr.png]]
unzip edge_insights_for_amr.zip
 
cd edge_insights_for_amr/
 
chmod +x edgesoftware
 
sudo groupadd docker
 
sudo usermod -aG docker $USER
 
newgrp docker
 
sudo ./edgesoftware install
 
</pre>
 
  
 
&nbsp;
 
&nbsp;
  
== Step2. Change owner for the folder of EI for AMR ==
+
= Run Sample =
 
 
&nbsp;
 
 
 
<pre>
 
cd edge_insights_for_amr/
 
sudo chown $USER:$USER * -R
 
</pre>
 
 
 
&nbsp;
 
 
 
= Run Sample Application =
 
  
 
In this section, we will setup EI for AMR environment variables and run automated yml file that opens a ROS 2 sample application inside the EI for AMR Docker container.
 
In this section, we will setup EI for AMR environment variables and run automated yml file that opens a ROS 2 sample application inside the EI for AMR Docker container.
Line 301: Line 80:
 
&nbsp;
 
&nbsp;
  
* Go to the AMR_containers folder:  
+
*Go to the AMR_containers folder:  
  
 
&nbsp;
 
&nbsp;
 
 
<pre>cd Edge_Insights_for_Autonomous_Mobile_Robots_2022.3/AMR_containers/
 
<pre>cd Edge_Insights_for_Autonomous_Mobile_Robots_2022.3/AMR_containers/
 
</pre>
 
</pre>
Line 310: Line 88:
 
&nbsp;
 
&nbsp;
  
* Prepare the environment setup:
+
*Prepare the environment setup:  
  
 
&nbsp;
 
&nbsp;
 
 
<pre>source ./01_docker_sdk_env/docker_compose/common/docker_compose.source
 
<pre>source ./01_docker_sdk_env/docker_compose/common/docker_compose.source
 
export CONTAINER_BASE_PATH=`pwd`
 
export CONTAINER_BASE_PATH=`pwd`
Line 321: Line 98:
 
&nbsp;
 
&nbsp;
  
 +
&nbsp;
  
 
== Turtlesim Tutorial ==
 
== Turtlesim Tutorial ==
Line 381: Line 159:
  
 
== Object Detection Tutorial ==
 
== Object Detection Tutorial ==
 +
 +
This tutorial tells you how to run inference engine object detection on a pretrained network using the SSD method.
  
 
=== Step1. Run docker-compose to launch tutorial ===
 
=== Step1. Run docker-compose to launch tutorial ===
  
 
To start openvino_GPU.tutorial:
 
To start openvino_GPU.tutorial:
 
+
<pre>CHOOSE_USER=root docker-compose -f 01_docker_sdk_env/docker_compose/05_tutorials/openvino_GPU.tutorial.yml up
<pre>
 
CHOOSE_USER=root docker-compose -f 01_docker_sdk_env/docker_compose/05_tutorials/openvino_GPU.tutorial.yml up
 
 
</pre>
 
</pre>
  
Line 396: Line 174:
 
&nbsp;
 
&nbsp;
  
== Face Detection Tutorial ==
+
= Advanced Features =
 +
Intel provide a lot of samples for user to understand EI for AMR, user can refer to Intel on-line document and step-by-step walkthroughs to run sample application to learn advanced features of EI for AMR, for more detail information, please refer to Intel EI for AMR develop guide:
 +
 
 +
https://www.intel.com/content/www/us/en/docs/ei-for-amr/developer-guide/2022-3-1/overview.html
  
 
&nbsp;
 
&nbsp;
 
[[Category:Pages with broken file links]] [[Category:Editor]]
 

Latest revision as of 03:24, 5 March 2024


Introduction

Intel OpenVINO is an open-source toolkit for optimizing and deploying deep learning models. It provides boosted deep learning performance for vision, audio, and language models from popular frameworks like TensorFlow, PyTorch, and more.

Intel have already published OpenVINO container in the Edge Insights for Autonomous Mobile Robots (EI for AMR), EI for AMR is a container modularize toolkit for user to develop, build, and deploy end-to-end mobile robot applications with this purpose-built, open, and modular software development kit that includes libraries, middleware, and sample applications based on the open-source Robot Operating System 2* (ROS 2).

User can download and install OpenVINO from EI for AMR portal: https://www.intel.com/content/www/us/en/developer/topic-technology/edge-5g/edge-solutions/autonomous-mobile-robots.html

 

Featured Components

  • Intel® Distribution of OpenVINO™ Toolkit
  • Intel® oneAPI Base Toolkit
  • Intel® RealSense™ SDK 2.0
  • Algorithms of FastMap for 3D mapping
  • ROS 2 Sample Applications

 

Benefits

  • Enables code to be implemented once and deployed to multiple hardware configurations.
  • Accelerates deployment of customer ROS 2-based applications by reducing evaluation and development time.
  • Provides prevalidated, scalable EI for AMR platforms through development partners.

 

Architecture

OpenVINO enables you to optimize a deep learning model from almost any framework and deploy it with best-in-class performance on a range of Intel processors and other hardware platforms.

Ros openvino chart.png

 

Support Platform

Intel EI for AMR support 10 gen and newer Intel CPU and GPU, below list Advantech devices that are Intel ESDQ tested.

Device CPU Type
MIO-5375 Intel Core i5-1145G7E
ARK-1250L Intel Core i5-1145G7E
EI-52 Intel Core i5-1145G7E

   

Download & Installation

You can sign up and login to the Intel® Developer Zone to download and install OpenVINO container, please refer to the document https://www.intel.com/content/www/us/en/docs/ei-for-amr/get-started-guide-robot-kit/2022-3/overview.html

 

Ros2 intel-developer-zone ei-for-amr.png

 

Run Sample

In this section, we will setup EI for AMR environment variables and run automated yml file that opens a ROS 2 sample application inside the EI for AMR Docker container.

 

Setup environment variables

 

  • Go to the AMR_containers folder:

 

cd Edge_Insights_for_Autonomous_Mobile_Robots_2022.3/AMR_containers/

 

  • Prepare the environment setup:

 

source ./01_docker_sdk_env/docker_compose/common/docker_compose.source
export CONTAINER_BASE_PATH=`pwd`
export ROS_DOMAIN_ID=12

 

 

Turtlesim Tutorial

Turtlesim is a tool made for teaching ROS and ROS packages, below steps will introduct you to start the tutorial.

Step1. Run docker-compose to launch tutorial

To start turtlesim.tutorial:

CHOOSE_USER=eiforamr docker-compose -f 01_docker_sdk_env/docker_compose/05_tutorials/turtlesim.tutorial.yml down

 

TurtleSim start a window and shows the turtle at initial location.

Ros2 ei-for-amr-01.png

 

Rqt also start for the user to control turtle location.

Ros2 ei-for-amr-02.png

 

Step2. Control turtle location

Now you can call service to control turtle1 location:

1. From rqt menu, go to “Plugins” > “Services” > “Service Caller”

2. Choose to move turtle1 by choosing (from the Service drop-down list) “”/turtle1/teleport_absolute"

3. Make sure you changed x and y coordinates for the original values.

4. Press “Call”, the turtle should move.

Ros2 ei-for-amr-04.png

 

The turtle1 will move to the new location that you changed.

Ros2 ei-for-amr-03.png

 

To close this, do one of the following:

1. Type Ctrl-c in the terminal where you did the up command.

2. Close the rqt window.

3. Run this command in another terminal:

CHOOSE_USER=eiforamr docker-compose -f 01_docker_sdk_env/docker_compose/05_tutorials/turtlesim.tutorial.yml down

 

Object Detection Tutorial

This tutorial tells you how to run inference engine object detection on a pretrained network using the SSD method.

Step1. Run docker-compose to launch tutorial

To start openvino_GPU.tutorial:

CHOOSE_USER=root docker-compose -f 01_docker_sdk_env/docker_compose/05_tutorials/openvino_GPU.tutorial.yml up

 

Ros2 ei-for-amr-05.png

 

Advanced Features

Intel provide a lot of samples for user to understand EI for AMR, user can refer to Intel on-line document and step-by-step walkthroughs to run sample application to learn advanced features of EI for AMR, for more detail information, please refer to Intel EI for AMR develop guide:

https://www.intel.com/content/www/us/en/docs/ei-for-amr/developer-guide/2022-3-1/overview.html