Difference between revisions of "Advantech Robotic Suite/DeviceOn"

From ESS-WIKI
Jump to: navigation, search
 
(117 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
 +
 
 +
 +
 
 +
 +
= Introduction =
 +
 +
<span style="font-size:larger;">In distributed robotic systems where robots are deployed in different locations or environments, remote central management becomes crucial. It&nbsp;enables remote&nbsp;monitoring, configuration, diagnostics, control, software update, and truoubleshoot issues, eliminating the need for physical access to each robot.&nbsp;&nbsp;Remote control and teleoperation allow operators to manipulate robot movements and perform tasks from a distance. Remote management also facilitates collaboration by enabling experts to remotely assist and provide guidance. Advantech DeviceOn is a remote central management system for robots.</span>
 +
 +
&nbsp;
 +
 +
&nbsp;
  
 
= DeviceOn =
 
= DeviceOn =
 +
 +
<span style="font-size:larger;">DeviceOn is a remote central management system that allows user&nbsp;to connect their robotics to DeviceOn and remotely monitor, control, and maintain.</span>
 +
 +
<span style="font-size:larger;">DeviceOn integrates information from various devices, making it convenient for users to analyze and monitor results for a large number of robotic devices.</span>
 +
 +
<span style="font-size:larger;">It is essential to effectively manage, monitor, and control thousands of connected devices while ensuring uninterrupted service. Devices must work properly and securely after they have been deployed.</span>
 +
 +
<span style="font-size:larger;">More information please refer to [https://campaign.advantech.online/en/DeviceOn/index.html DeviceOn]</span>
  
 
&nbsp;
 
&nbsp;
  
A surge in market demand for Industrial IoT products has rapidly increased the number of connected devices that are currently deployed and managed across different locations. It is essential to effectively manage, monitor, and control thousands of connected devices while ensuring uninterrupted service. Devices must work properly and securely after they have been deployed - without requiring frequent visits from service technicians. Customers require secure access to their devices in order to detect, troubleshoot, and undertake time-critical actions.
+
&nbsp;
  
More information please refer to [https://docs.wise-paas.advantech.com/en/Guides_and_API_References/1621244050073129071/1564727799415968385/1597720524675853634/v1.0.0 DeviceOn]
+
== Device Management ==
 +
 
 +
<span style="font-size:larger;">When your device is onboarded&nbsp;and is managed by DeviceOn, you could view, edit device basic information, remote control, and retrieve sensor data on your devices. Nine sub items under Device, Device List contain device name, upgrade status, power management and etc. Device Monitoring to give device loading at present. To remote diagnostic and debug through Remote Control. Next, all of plugin sensor data from Device Data. To grouping your device through the Device Group. For batch real-time or schedule control through Task defined. Rule Engine to set a threshold rule for your devices data in real-time.</span>
 +
 
 +
&nbsp;
  
 
&nbsp;
 
&nbsp;
  
= How To =
+
=== ROS2 Node Monitor ===
  
== Setup WISE-Agent ==
+
'''NOTE: '''The function of ROS2 Node Monitor for DeviceOn is supported only on the Intel x86_64 platform.
  
 
&nbsp;
 
&nbsp;
  
<span style="font-size:larger;">For EPC-R3720, execute below command to install prerequisites before install WISE-Agent.</span>
+
ROS2 Monitor on DeviceOn is a comprehensive package that facilitates efficient control and monitoring of your Robot Operating System 2 (ROS2) nodes. This powerful toolset includes essential components such as Node Topology, Node Structure, and Node Log, designed to streamline the management of ROS2-based robotic systems.
<pre>apt-get -y install libmosquittopp1 libmosquitto-dev
+
 
</pre>
+
'''Feature'''<br/> From "Device" > "Monitoring" label of DeviceOn, then click "ROS" label on the right.<br/> 1. "ROS Node Graph" feature enables you to gain insightful visibility into the network of ROS2 nodes in your system. With this functionality, you can easily visualize and understand the connections and interactions between nodes. This enhanced understanding empowers you to optimize the performance of your robotic applications, identify bottlenecks, and troubleshoot issues efficiently. [[File:ROS2 Topology Log.png|none|1200px|ROS2 Topology]]
 +
 
 +
2. "Node Log" component provides a detailed log of the communications occurring between nodes. This log not only allows you to monitor the flow of information within your ROS2 ecosystem but also helps in diagnosing problems and tracking the performance of specific nodes. [[File:ROS2 Topology Log2.png|none|ROS2 Log]]
  
 
&nbsp;
 
&nbsp;
  
<span style="font-size:larger;">Then, follow&nbsp;[https://docs.wise-paas.advantech.com/en/Guides_and_API_References/1621244050073129071/1564727799415968385/1600329407348533271/v1.0.0 Edge Installation & Onboarding]&nbsp;documentation to install WISE-Agent and setup WISE-Agent for connecting to DeviceOn.</span>
+
&nbsp;
  
== Remote Management ==
+
== Container Management ==
  
 +
<span style="font-size:larger;">Advantech Robotic Suite offers container framework for simplifies the development, deployment, and management of ROS Applications systems.</span>
  
 +
<span style="font-size:larger;">DeviceOn Container Managemnet help ROS developer and operator&nbsp;to&nbsp;deploy, monitor, and manage each container on different devices. You can&nbsp;manage and monitor the health of containers within minutes.&nbsp;Container Management function also provide a variety of container restart strategies for you to set the restart policy. Through the dashboard, you can quickly understand the running status of the container in the managed device. In addition, for container developers.</span>
  
 +
<span style="font-size:larger;">[https://azure.microsoft.com/en-us/services/container-registry/ Azure Container Repository]&nbsp;allows you to build, store, and manage container images and artifacts in a private registry for all types of container deployments. Use Azure container registries with your existing container development and deployment pipelines.&nbsp;Azure Container Registry&nbsp;is supported as a public cloud solution in the DeviceOn&nbsp;and support [https://goharbor.io/ Harbor]&nbsp; as a private cloud container repository. For more detailed information and operation steps, please refer to [https://hackmd.io/cf93Uwf4RCSL2eI4jmqbeg#Container-Management DeviceOn Manual - Container Management Section]&nbsp;.</span>
  
 +
&nbsp;
  
=== Device Management ===
+
= How to =
  
After your device onboarding, you could view, edit device basic information, remote control, and retrieve sensor data on your devices. Nine sub items under Device, Device List contain device name, upgrade status, power management and etc. Device Monitoring to give device loading at present. To remote diagnostic and debug through Remote Control. Next, all of plugin sensor data from Device Data. To grouping your device through the Device Group. For batch real-time or schedule control through Task defined. Rule Engine to set a threshold rule for your devices data in real-time.
+
<span style="font-size:larger;">In this section, we will instrduct you how to register a new account form DeviceOn trial portal and&nbsp;setup your edge device to connect to DeviceOn trial portal. After your edge device is managed in DeviceOn trial portal, you can find it is listed in the DeviceOn Device List,&nbsp;you can easily monitor it's status&nbsp;and deploy ROS2 node into&nbsp;it.&nbsp;</span>
  
Device List
+
&nbsp;
  
Click on device name or device details to get device information.
+
&nbsp;
  
[[File:ROS2 Suite DeviceOn iBm1HCe.png|900x240px|RTENOTITLE]]
+
== Register for DeviceOn Trial Portal ==
  
You could get the general information such as, device IP, version, MAC, Memory, BIOS, operation system and so on.
+
&nbsp;
  
[[File:ROS2 Suite DeviceOn oFkGkrU.png|border|960x800px|RTENOTITLE]]
+
<span style="font-size:larger;">DeviceOn Trial Portal: '''[https://deviceon-trial.wise-paas.com/ https://deviceon-trial.wise-paas.com/]'''</span>
  
 
&nbsp;
 
&nbsp;
 +
 +
<span style="font-size:larger;">Step1. Register a new account from DeviceOn Trial Protal. [ Sign up ]</span>
 +
 +
[[File:Deviceon-trial 01.png|border|800x480px|Deviceon-trial 01.png]]
 +
 +
<span style="font-size:larger;">Step 2. Fill the basic information</span>
 +
 +
[[File:Deviceon-trial 02.png|border|800x480px|Deviceon-trial 02.png]]
  
 
&nbsp;
 
&nbsp;
 +
 +
<span style="font-size:larger;">Step3. Verify account from DeviceOn Account Registration e-mail.</span>
 +
 +
[[File:Deviceon-trial 05.png|border|800x360px|Deviceon-trial 05.png]]
  
 
&nbsp;
 
&nbsp;
  
=== Container Management ===
+
<span style="font-size:larger;">Step 4. Logon DeviceOn with your Account & Password</span> &nbsp;
  
&nbsp;You can easily set up, deploy, monitor, and manage each container on different devices. For device managers, it can create, manage and set the health of containers within minutes, and provide a variety of container restart strategies. Through the dashboard, you can quickly understand the running status of the container in the managed device. In addition, for container developers, the&nbsp;[https://azure.microsoft.com/en-us/services/container-registry/ Azure Container Repository]&nbsp;is supported as a public cloud solution, and private cloud uses&nbsp;[https://goharbor.io/ Harbor]&nbsp;as a container repository.
+
&nbsp;
  
<span style="font-size:larger;">Detailed documentation about Container Management, please refer to [https://hackmd.io/cf93Uwf4RCSL2eI4jmqbeg#Container-Management DeviceOn Manual - Container Management Section]&nbsp;.</span>
+
== Setup WISE-Agent ==
 +
 
 +
<span style="font-size:larger;">'''NOTE:'''</span>
 +
 
 +
<span style="font-size:larger;">(1). WISE-Agent support DeviceOn Container Management function start from version 1.4.45, to make sure your WISE-Agent's version before below steps.</span>
 +
 
 +
<span style="font-size:larger;">(2). For ARM base platforms, WISE-Agent is provide by project, please&nbsp;contact&nbsp;PM (Nathan.Wang@advantech.com.tw) to get support for this function.</span>
  
 
&nbsp;
 
&nbsp;
 +
 +
<span style="font-size:larger;">Step1. Login DeviceOn Trial Portal.</span>
 +
 +
<span style="font-size:larger;">Step2. Click on Add device icon, you can find '''Credential URL''' and '''IoT Key''' are list in this page. you will be prompt to input these two strings in the following WISE-Agent setup&nbsp;steps.</span>
 +
 +
[[File:Deviceon-trial 04.png|border|800x480px|Deviceon-trial 04.png]]
  
 
&nbsp;
 
&nbsp;
  
 +
<span style="font-size:larger;">Step3. Launch&nbsp;WISE Agent setup program.</span>
 +
<pre>cd /usr/local/AgentService
 +
sudo ./setup.sh
 +
</pre>
 +
 +
&nbsp;
  
 +
<span style="font-size:larger;">Step4. Copy Credential URL from DeviceOn Trial portal and paste it to the WISE Agent setup program while it is prompt to input.</span>
  
 +
<span style="font-size:larger;">Step5. Copy IoT Key from DeviceOn Trial portal and paste it to the WISE Agent setup program while it is prompt to input.</span>
  
 +
[[File:Ros2-wise-agent-installation-01.png|1024x480px|Ros2-wise-agent-installation-01.png]]
  
 +
<span style="font-size:larger;">Step6. Finish the setup with default settings, then WISE-Agent Service will restart to connect to DeviceOn trial portal.</span>
  
 +
(<span style="font-size:larger;">You can refer to [https://docs.wise-paas.advantech.com/en/Guides_and_API_References/1621244050073129071/1564727799415968385/1600329407348533271/v1.0.0 Edge Installation & Onboarding]&nbsp;to get more detail description about install WISE-Agent and setup WISE-Agent for connecting to DeviceOn.)</span>
  
 +
&nbsp;
  
 +
<span style="font-size:larger;">Step7. From "Device List" table of DeviceOn trial portal, click on device name or device details to get device information.</span>
  
==== Deploy a new ROS 2 Node Container to edge ====
+
[[File:ROS2 Suite DeviceOn iBm1HCe.png|border|1024x480px|RTENOTITLE]]
  
 
&nbsp;
 
&nbsp;
  
<span style="font-size:larger;">Container of helloworld ROS Node is available in the Azure Container Registry which is named "Demo Registry"</span><span style="font-size:larger;">&nbsp;in the DeviceOn Portal.</span>
+
<span style="font-size:larger;">You could get the device detail information such as, device IP, version, MAC, Memory, BIOS, operation system in this&nbsp;page.</span>
  
<span style="font-size:larger;">[[File:ROS2 Suite RegistriesList.png|900x240px|RTENOTITLE]]</span>
+
[[File:ROS2 Suite DeviceOn oFkGkrU.png|border|1024x480px|RTENOTITLE]]
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
== <span style="font-size:larger;">Container Registry</span> ==
 +
 
 +
<span style="font-size:larger;">Helloworld ROS2 node is a sample ROS2 node container for this&nbsp;demonstration, it&nbsp;is already pre-upload&nbsp;to the DeviceOn Container Registry. You can find it is located in the "Demo Registry" of&nbsp;DeviceOn Registry List.</span>
 +
 
 +
&nbsp;
 +
 
 +
<span style="font-size:larger;">[[File:ROS2 Suite RegistriesList.png|border|900x240px|RTENOTITLE]]</span>
  
 
&nbsp;
 
&nbsp;
Line 84: Line 165:
 
&nbsp;
 
&nbsp;
  
<span style="font-size:larger;">Follow below steps to start deploy container:&nbsp;</span>
+
&nbsp;
  
<span style="font-size:larger;">Step1. Go to Container -> My Devices page ,&nbsp;choose&nbsp;device for deploy helloworld ros node . Then click Containers icon.</span>
+
&nbsp;
  
<span style="font-size:larger;">[[File:ROS2 ContainerManage 2.png|800px|ROS2 ContainerManage 2.png]]</span>
+
== <span style="font-size:larger;">ROS2 Node Deployment</span> ==
 +
 
 +
<span style="font-size:larger;">Below steps will introduce you to deploy a ROS2 container to your edge device.&nbsp;</span>
 +
 
 +
<span style="font-size:larger;">Step1. From left side bar, open&nbsp;"My Devices"&nbsp;page from "Container" function and then:</span>
 +
 
 +
*<span style="font-size:larger;">Choose your device group.</span>
 +
*<span style="font-size:larger;">Choose your device from your device group.</span>
 +
*<span style="font-size:larger;">Click on Containers icon to see container list in this&nbsp;device.</span>
 +
 
 +
<span style="font-size:larger;">[[File:ROS2 ContainerManage 2.png|border|1024x560px|ROS2 ContainerManage 2.png]]</span>
  
 
&nbsp;
 
&nbsp;
  
<span style="font-size:larger;">Step2. Click on "Add" icon.</span>
+
<span style="font-size:larger;">Step2. Click "Add" icon to go into add container page.</span>
  
[[File:ROS2 ContainerManage 3.png|800px|ROS2 ContainerManage 3.png]]
+
[[File:ROS2 ContainerManage 3.png|border|800px|ROS2 ContainerManage 3.png]]
  
 
&nbsp;
 
&nbsp;
  
<span style="font-size:larger;">Step3. Select parameters as below:</span>
+
<span style="font-size:larger;">Step3. In the "Add Container" page, select parameters like&nbsp;below and then&nbsp;click "Confirm" to start deploy helloworld-ros2-node to your device.</span>
  
*<span style="font-size:larger;">Mode: Device Mode</span>  
+
*<span style="font-size:larger;">Mode: '''Device Mode'''</span>  
*<span style="font-size:larger;">Container Name: Give a container name by yourdelf.</span>  
+
*<span style="font-size:larger;">Container Name: '''<Give a container name by yourdelf>'''.</span>  
*<span style="font-size:larger;">Auto Start: On</span>  
+
*<span style="font-size:larger;">Auto Start: '''On'''</span>  
*<span style="font-size:larger;">Source Image:&nbsp;Registries</span>  
+
*<span style="font-size:larger;">Source Image: '''Registries'''</span>
*<span style="font-size:larger;">Image:&nbsp;helloworld-ros2-node-<platform-architecture></span>  
+
*<span style="font-size:larger;">Registry: '''Demo Registry'''</span>  
 +
*<span style="font-size:larger;">Image:&nbsp;'''helloworld-ros2-node-<platform-architecture>'''</span>  
  
<span style="font-size:larger;">&nbsp; &nbsp; &nbsp; If your platform is x86, choose helloworld-ros2-node-x86_64. If your platform is arm, choose&nbsp;helloworld-ros2-node-aarch64.&nbsp;</span>
+
&nbsp;
  
<span style="font-size:larger;">&nbsp; &nbsp; &nbsp; C</span><span style="font-size:larger;">lick Confirm to start deploy helloworld-ros2-node&nbsp;to the device you choose.</span>
+
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
 +
|-
 +
| <span style="font-size:larger;">'''Platform Architecture'''</span>
 +
| '''<span style="font-size:larger;">Container Type</span>'''
 +
|-
 +
| <span style="font-size:larger;">Intel x86_64</span>
 +
| <span style="font-size:larger;">helloworld-ros2-node-x86_64</span>
 +
|-
 +
| <span style="font-size:larger;">ARM</span>
 +
| <span style="font-size:larger;">helloworld-ros2-node-aarch64</span>
 +
|}
  
 
&nbsp;
 
&nbsp;
  
[[File:ROS2 ContainerManage choose image.png|RTENOTITLE]]
+
[[File:ROS2 ContainerManage choose image.png|border|800x400px|RTENOTITLE]]
  
 
&nbsp;
 
&nbsp;
  
<span style="font-size:larger;">After&nbsp;several seconds, you can see the&nbsp;container is deployed into your device and status of helloworld-ros2-node is running.</span>
+
<span style="font-size:larger;">After the operation completed, you can see the&nbsp;container is deployed into your device and status of helloworld-ros2-node is running.</span>
  
[[File:ROS2 ContainerManage 6.png|800px|ROS2 ContainerManage 6.png]]
+
[[File:ROS2 ContainerManage 6.png|border|960x480px|ROS2 ContainerManage 6.png]]
  
 
&nbsp;
 
&nbsp;
Line 126: Line 228:
 
&nbsp;
 
&nbsp;
  
[[File:Helloworld-ros2-node-message.png|800x480px]]
+
[[File:Helloworld-ros2-node-message.png|800x480px|Helloworld-ros2-node-message.png]]
  
 
&nbsp;
 
&nbsp;
  
 
<span style="font-size: larger;">1. Setup ROS2 environmant variables:</span>
 
<span style="font-size: larger;">1. Setup ROS2 environmant variables:</span>
<pre>$ source /opt/ros/${ROS_DISTRO}/setup.bash</span>
+
<pre>$ source /opt/ros/${ROS_DISTRO}/setup.bash
 
</pre>
 
</pre>
  
Line 138: Line 240:
 
<span style="font-size:larger;">2. Subscribe the topic of helloworld node:</span>
 
<span style="font-size:larger;">2. Subscribe the topic of helloworld node:</span>
 
<pre>$ ros2 topic echo /topic
 
<pre>$ ros2 topic echo /topic
 
 
</pre>
 
</pre>
  
 
<span style="font-size:larger;">Result:</span>
 
<span style="font-size:larger;">Result:</span>
<pre>data: 'Hello World: 687'
+
<pre>data: 'Hello World: 2663'
 
---
 
---
data: 'Hello World: 688'
+
data: 'Hello World: 2664'
 
---
 
---
data: 'Hello World: 689'
+
data: 'Hello World: 2665'
 
---
 
---
data: 'Hello World: 690'
+
data: 'Hello World: 2666'
 
---
 
---
data: 'Hello World: 691'
+
data: 'Hello World: 2667'
 
---
 
---
data: 'Hello World: 692'
+
data: 'Hello World: 2668'
 
---
 
---
data: 'Hello World: 693'
+
data: 'Hello World: 2669'
 
---
 
---
  
 
</pre>
 
</pre>
 +
 +
&nbsp;
 +
 +
<span style="font-size:larger;">'''NOTE:'''</span>
 +
 +
*<span style="font-size:larger;">For the user first time to deploy helloworld-ros2-node, it will take several minutes to complete the deployment.</span>
 +
*<span style="font-size:larger;">Before you start/stop container from DeviceOn Container List, please make sure the STATUS of container is updated completely.</span>
 +
 +
&nbsp; &nbsp;
  
 
&nbsp;
 
&nbsp;
Line 163: Line 273:
 
&nbsp;
 
&nbsp;
  
== Reference ==
+
== <span style="font-size:larger;">ROS2 Demo App</span> ==
 +
 
 +
=== 3D Slam Demo ===
 +
 
 +
'''NOTE: '''3D/2D Slam Demo App is supported only on the Intel x86_64 and Jetson platform. &nbsp;
 +
 
 +
1. Demo App can be easily deployed through the app store of DeviceOn. [[File:ROS2 demo app.png|border|none|800x450px|ros2 demo app]]
 +
 
 +
2. Click 'Install', and it will be deployed to the target device. [[File:ROS2 demo app install.png|border|none|800x480px|ros2 demo app install]]
 +
 
 +
3. It can control container in containers manager. [[File:ROS2 demo container manager.png|border|none|800x450px|ROS2 demo container manager]]
 +
 
 +
4. After start container, the demo will run on target device. [[File:ROS2 3D slam demo container.png|border|none|800x450px|ROS2 3D slam demo container]] &nbsp;
  
*[https://docs.wise-paas.advantech.com/en/Guides_and_API_References/1621244050073129071/1564727799415968385/1597720532649645900/v1.0.0 WISE-Agent architecture]
+
'''NOTE: '''If it can't show rviz after start container, please fix the problem manually<br/>
 +
<syntaxhighlight lang="bash">
 +
cd /usr/local/Advantech/ros/container/ros-demokit/tools
 +
sudo ./Get_XAuth.sh
 +
</syntaxhighlight>

Latest revision as of 04:34, 1 April 2024

 

 

Introduction

In distributed robotic systems where robots are deployed in different locations or environments, remote central management becomes crucial. It enables remote monitoring, configuration, diagnostics, control, software update, and truoubleshoot issues, eliminating the need for physical access to each robot.  Remote control and teleoperation allow operators to manipulate robot movements and perform tasks from a distance. Remote management also facilitates collaboration by enabling experts to remotely assist and provide guidance. Advantech DeviceOn is a remote central management system for robots.

 

 

DeviceOn

DeviceOn is a remote central management system that allows user to connect their robotics to DeviceOn and remotely monitor, control, and maintain.

DeviceOn integrates information from various devices, making it convenient for users to analyze and monitor results for a large number of robotic devices.

It is essential to effectively manage, monitor, and control thousands of connected devices while ensuring uninterrupted service. Devices must work properly and securely after they have been deployed.

More information please refer to DeviceOn

 

 

Device Management

When your device is onboarded and is managed by DeviceOn, you could view, edit device basic information, remote control, and retrieve sensor data on your devices. Nine sub items under Device, Device List contain device name, upgrade status, power management and etc. Device Monitoring to give device loading at present. To remote diagnostic and debug through Remote Control. Next, all of plugin sensor data from Device Data. To grouping your device through the Device Group. For batch real-time or schedule control through Task defined. Rule Engine to set a threshold rule for your devices data in real-time.

 

 

ROS2 Node Monitor

NOTE: The function of ROS2 Node Monitor for DeviceOn is supported only on the Intel x86_64 platform.

 

ROS2 Monitor on DeviceOn is a comprehensive package that facilitates efficient control and monitoring of your Robot Operating System 2 (ROS2) nodes. This powerful toolset includes essential components such as Node Topology, Node Structure, and Node Log, designed to streamline the management of ROS2-based robotic systems.

Feature
From "Device" > "Monitoring" label of DeviceOn, then click "ROS" label on the right.
1. "ROS Node Graph" feature enables you to gain insightful visibility into the network of ROS2 nodes in your system. With this functionality, you can easily visualize and understand the connections and interactions between nodes. This enhanced understanding empowers you to optimize the performance of your robotic applications, identify bottlenecks, and troubleshoot issues efficiently.
ROS2 Topology
2. "Node Log" component provides a detailed log of the communications occurring between nodes. This log not only allows you to monitor the flow of information within your ROS2 ecosystem but also helps in diagnosing problems and tracking the performance of specific nodes.
ROS2 Log

 

 

Container Management

Advantech Robotic Suite offers container framework for simplifies the development, deployment, and management of ROS Applications systems.

DeviceOn Container Managemnet help ROS developer and operator to deploy, monitor, and manage each container on different devices. You can manage and monitor the health of containers within minutes. Container Management function also provide a variety of container restart strategies for you to set the restart policy. Through the dashboard, you can quickly understand the running status of the container in the managed device. In addition, for container developers.

Azure Container Repository allows you to build, store, and manage container images and artifacts in a private registry for all types of container deployments. Use Azure container registries with your existing container development and deployment pipelines. Azure Container Registry is supported as a public cloud solution in the DeviceOn and support Harbor  as a private cloud container repository. For more detailed information and operation steps, please refer to DeviceOn Manual - Container Management Section .

 

How to

In this section, we will instrduct you how to register a new account form DeviceOn trial portal and setup your edge device to connect to DeviceOn trial portal. After your edge device is managed in DeviceOn trial portal, you can find it is listed in the DeviceOn Device List, you can easily monitor it's status and deploy ROS2 node into it. 

 

 

Register for DeviceOn Trial Portal

 

DeviceOn Trial Portal: https://deviceon-trial.wise-paas.com/

 

Step1. Register a new account from DeviceOn Trial Protal. [ Sign up ]

Deviceon-trial 01.png

Step 2. Fill the basic information

Deviceon-trial 02.png

 

Step3. Verify account from DeviceOn Account Registration e-mail.

Deviceon-trial 05.png

 

Step 4. Logon DeviceOn with your Account & Password  

 

Setup WISE-Agent

NOTE:

(1). WISE-Agent support DeviceOn Container Management function start from version 1.4.45, to make sure your WISE-Agent's version before below steps.

(2). For ARM base platforms, WISE-Agent is provide by project, please contact PM (Nathan.Wang@advantech.com.tw) to get support for this function.

 

Step1. Login DeviceOn Trial Portal.

Step2. Click on Add device icon, you can find Credential URL and IoT Key are list in this page. you will be prompt to input these two strings in the following WISE-Agent setup steps.

Deviceon-trial 04.png

 

Step3. Launch WISE Agent setup program.

cd /usr/local/AgentService
sudo ./setup.sh

 

Step4. Copy Credential URL from DeviceOn Trial portal and paste it to the WISE Agent setup program while it is prompt to input.

Step5. Copy IoT Key from DeviceOn Trial portal and paste it to the WISE Agent setup program while it is prompt to input.

Ros2-wise-agent-installation-01.png

Step6. Finish the setup with default settings, then WISE-Agent Service will restart to connect to DeviceOn trial portal.

(You can refer to Edge Installation & Onboarding to get more detail description about install WISE-Agent and setup WISE-Agent for connecting to DeviceOn.)

 

Step7. From "Device List" table of DeviceOn trial portal, click on device name or device details to get device information.

RTENOTITLE

 

You could get the device detail information such as, device IP, version, MAC, Memory, BIOS, operation system in this page.

RTENOTITLE

 

 

 

Container Registry

Helloworld ROS2 node is a sample ROS2 node container for this demonstration, it is already pre-upload to the DeviceOn Container Registry. You can find it is located in the "Demo Registry" of DeviceOn Registry List.

 

RTENOTITLE

 

Click on the registry name "Demo Registry", you can see how many containers in the container registry are available for you to deploy.

ROS2 Suite RegistryDetail.png

 

 

 

ROS2 Node Deployment

Below steps will introduce you to deploy a ROS2 container to your edge device. 

Step1. From left side bar, open "My Devices" page from "Container" function and then:

  • Choose your device group.
  • Choose your device from your device group.
  • Click on Containers icon to see container list in this device.

ROS2 ContainerManage 2.png

 

Step2. Click "Add" icon to go into add container page.

ROS2 ContainerManage 3.png

 

Step3. In the "Add Container" page, select parameters like below and then click "Confirm" to start deploy helloworld-ros2-node to your device.

  • Mode: Device Mode
  • Container Name: <Give a container name by yourdelf>.
  • Auto Start: On
  • Source Image: Registries
  • Registry: Demo Registry
  • Image: helloworld-ros2-node-<platform-architecture>

 

Platform Architecture Container Type
Intel x86_64 helloworld-ros2-node-x86_64
ARM helloworld-ros2-node-aarch64

 

RTENOTITLE

 

After the operation completed, you can see the container is deployed into your device and status of helloworld-ros2-node is running.

ROS2 ContainerManage 6.png

 

Step5. Now, helloworld-ros2-node is running and publishing "Hello World: <count>" message continuously, To subscribe the data that helloworld-ros2-node published, open a terminal from your device and execute below command:

 

Helloworld-ros2-node-message.png

 

1. Setup ROS2 environmant variables:

$ source /opt/ros/${ROS_DISTRO}/setup.bash

 

2. Subscribe the topic of helloworld node:

$ ros2 topic echo /topic

Result:

data: 'Hello World: 2663'
---
data: 'Hello World: 2664'
---
data: 'Hello World: 2665'
---
data: 'Hello World: 2666'
---
data: 'Hello World: 2667'
---
data: 'Hello World: 2668'
---
data: 'Hello World: 2669'
---

 

NOTE:

  • For the user first time to deploy helloworld-ros2-node, it will take several minutes to complete the deployment.
  • Before you start/stop container from DeviceOn Container List, please make sure the STATUS of container is updated completely.

   

 

 

ROS2 Demo App

3D Slam Demo

NOTE: 3D/2D Slam Demo App is supported only on the Intel x86_64 and Jetson platform.  

1. Demo App can be easily deployed through the app store of DeviceOn.
ros2 demo app
2. Click 'Install', and it will be deployed to the target device.
ros2 demo app install
3. It can control container in containers manager.
ROS2 demo container manager
4. After start container, the demo will run on target device.
ROS2 3D slam demo container
 

NOTE: If it can't show rviz after start container, please fix the problem manually

cd /usr/local/Advantech/ros/container/ros-demokit/tools
sudo ./Get_XAuth.sh