Difference between revisions of "Advantech Robotic Suite/OpenVINO"
(→Introduction) |
(→Architecture) |
||
Line 46: | Line 46: | ||
| | ||
+ | |||
= Architecture = | = Architecture = | ||
− | [[File: | + | [[File:Ros openvino chart.png|1024x600px|Ros openvino chart.png]] |
| |
Revision as of 08:01, 29 March 2023
Contents
- 1 Introduction
- 2 Featured Components
- 3 Benefits
- 4 Support Platform
- 5 Architecture
- 6 Download
- 6.1 Step1. Sign up and login to the Intel® Developer Zone
- 6.2 Step2. Search for “EI for AMR”
- 6.3 Step3. Click on Edge Insights for Autonomous Mobile Robots (EI for AMR)
- 6.4 Step4. Click on “Download” buttion to start options page
- 6.5 Step5. Customize your EI for AMR for the installation
- 6.6 Step6. Download the installer
- 6.7 Step7. Keep your Product Key for the step during installation
- 7 Installation
- 8 Run Sample Application
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).
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
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.
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 2.60GHz |
ARK-3532 | Intel Core i7-10700E 2.90GHz |
Architecture
Download
Step1. Sign up and login to the Intel® Developer Zone
Step2. Search for “EI for AMR”
Step3. Click on Edge Insights for Autonomous Mobile Robots (EI for AMR)
Step4. Click on “Download” buttion to start options page
Step5. Customize your EI for AMR for the installation
Selectable Options
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). 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 | Version 2022.3 | This docker-image is based on ros-base image and includes AAEON-ros2-interface and AAEON-transport-drivers components. |
AMR Robot Localization Docker Image | Version 2022.3 | 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/). 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
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.
Step7. Keep your Product Key for the step during installation
Please keep your product key, you will be prompted to enter it during installation.
Installation
Step1. Unzip edge_insights_for_amr.zip and run edgesoftware to start installation
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
Step2. Change owner for the folder of EI for AMR
cd edge_insights_for_amr/ sudo chown $USER:$USER * -R
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.
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.
Rqt also start for the user to control turtle location.
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.
The turtle1 will move to the new location that you changed.
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
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
Face Detection Tutorial