Difference between revisions of "Advantech Robotic Suite/DeviceOn"

From ESS-WIKI
Jump to: navigation, search
 
(129 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;
 +
 +
== 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;
  
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.
+
=== ROS2 Node Monitor ===
  
More information please refer to [https://docs.wise-paas.advantech.com/en/Guides_and_API_References/1621244050073129071/1564727799415968385/1597720524675853634/v1.0.0 DeviceOn]
+
'''NOTE: '''The function of ROS2 Node Monitor for DeviceOn is supported only on the Intel x86_64 platform.
  
 
&nbsp;
 
&nbsp;
  
= How To =
+
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'''<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;
 +
 
 +
== 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;
 +
 
 +
= How to =
 +
 
 +
<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>
 +
 
 +
&nbsp;
 +
 
 +
&nbsp;
 +
 
 +
== Register for DeviceOn Trial Portal ==
 +
 
 +
&nbsp;
 +
 
 +
<span style="font-size:larger;">DeviceOn Trial Portal: '''[https://deviceon-trial.wise-paas.com/ https://deviceon-trial.wise-paas.com/]'''</span>
 +
 
 +
&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;
 +
 
 +
<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;
 +
 
 +
<span style="font-size:larger;">Step 4. Logon DeviceOn with your Account & Password</span> &nbsp;
 +
 
 +
&nbsp;
  
 
== Setup WISE-Agent ==
 
== 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;
 +
 +
<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;">For EPC-R3720, execute below command to install prerequisites before install WISE-Agent.</span>
+
<span style="font-size:larger;">Step3. Launch&nbsp;WISE Agent setup program.</span>
<pre>apt-get -y install libmosquittopp1 libmosquitto-dev
+
<pre>cd /usr/local/AgentService
 +
sudo ./setup.sh
 
</pre>
 
</pre>
  
 
&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>
+
<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>
  
== Remote Management ==
+
[[File:Ros2-wise-agent-installation-01.png|1024x480px|Ros2-wise-agent-installation-01.png]]
  
=== Device Management ===
+
<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>
  
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;">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;
  
Device List
+
<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>
  
Click on device name or device details to get device information.
+
[[File:ROS2 Suite DeviceOn iBm1HCe.png|border|1024x480px|RTENOTITLE]]
  
[[File:ROS2 Suite DeviceOn iBm1HCe.png|RTENOTITLE]]
+
&nbsp;
  
You could get the general information such as, device IP, version, MAC, Memory, BIOS, operation system and so on.
+
<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>
  
[[File:ROS2 Suite DeviceOn oFkGkrU.png|RTENOTITLE]]
+
[[File:ROS2 Suite DeviceOn oFkGkrU.png|border|1024x480px|RTENOTITLE]]
  
 
&nbsp;
 
&nbsp;
Line 46: Line 149:
 
&nbsp;
 
&nbsp;
  
=== Container Management ===
+
== <span style="font-size:larger;">Container Registry</span> ==
  
&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.
+
<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;">Detailed documentation about Container Management, please refer to [https://hackmd.io/cf93Uwf4RCSL2eI4jmqbeg#Container-Management DeviceOn Manual - Container Management Section]&nbsp;.</span>
+
<span style="font-size:larger;">[[File:ROS2 Suite RegistriesList.png|border|900x240px|RTENOTITLE]]</span>
  
 
&nbsp;
 
&nbsp;
 +
 +
<span style="font-size:larger;">Click on the registry name "Demo Registry", you can see how many containers in the container registry are available for you to deploy.</span>
 +
 +
<span style="font-size:larger;">[[File:ROS2 Suite RegistryDetail.png|border|1024x520px|ROS2 Suite RegistryDetail.png]]</span>
  
 
&nbsp;
 
&nbsp;
  
==== Deploy a new ROS 2 Node Container to edge ====
+
&nbsp;
  
 
&nbsp;
 
&nbsp;
  
<span style="font-size:larger;">Container of helloworld ROS Node is available in a private Azure Registry. And it is also added into&nbsp;[https://deviceon.wise-paas.com/#/AzureRegistry Registries List]&nbsp;named rosota in the DeviceOn Portal.</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 Suite ContainerManage 1.jpg|RTENOTITLE]]</span>
+
<span style="font-size:larger;">[[File:ROS2 ContainerManage 2.png|border|1024x560px|ROS2 ContainerManage 2.png]]</span>
  
 
&nbsp;
 
&nbsp;
  
Step1. <span style="font-size:larger;">Go to Container -> My Devices page ,&nbsp;choose&nbsp;device for deploy helloworld ros node . Then click Containers icon.</span>
+
<span style="font-size:larger;">Step2. Click "Add" icon to go into add container page.</span>
  
<span style="font-size:larger;">[[File:ROS2 ContainerManage 2.png|800px|ROS2 ContainerManage 2.png]]</span>
+
[[File:ROS2 ContainerManage 3.png|border|800px|ROS2 ContainerManage 3.png]]
  
 
&nbsp;
 
&nbsp;
  
Step2. Click Add icon
+
<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;">Container Name: '''<Give a container name by yourdelf>'''.</span>
 +
*<span style="font-size:larger;">Auto Start: '''On'''</span>
 +
*<span style="font-size:larger;">Source Image: '''Registries'''</span>
 +
*<span style="font-size:larger;">Registry: '''Demo Registry'''</span>
 +
*<span style="font-size:larger;">Image:&nbsp;'''helloworld-ros2-node-<platform-architecture>'''</span>
  
[[File:ROS2 ContainerManage 3.png|800px|ROS2 ContainerManage 3.png]]
+
&nbsp;
  
Step3. Source Image choose to Registries , Image choose the helloworld-ros2-node for your platform.
+
{| 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>
 +
|}
  
If your platform is x86, choose helloworld-ros2-node-x86_64. If your platform is arm, choose&nbsp;helloworld-ros2-node-aarch64.
+
&nbsp;
  
[[File:ROS2 ContainerManage choose image.png|RTENOTITLE]]
+
[[File:ROS2 ContainerManage choose image.png|border|800x400px|RTENOTITLE]]
  
And enter a name for Container Name , enable "Auto Start"
+
&nbsp;
  
[[File:ROS2 ContainerManage 4.png|800px|ROS2 ContainerManage 4.png]]
+
<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>
  
Step4. After click Confirm, the helloworld is going to deploy to the device you choose.
+
[[File:ROS2 ContainerManage 6.png|border|960x480px|ROS2 ContainerManage 6.png]]
  
[[File:ROS2 ContainerManage 6.png|800px|ROS2 ContainerManage 6.png]]
+
&nbsp;
  
Step5. In edge device , open a terminal to execute below command to verify helloworld ros2 node is working.
+
<span style="font-size:larger;">Step5. Now, helloworld-ros2-node is running and publishing "Hello World: <count>" message continuously, To subscribe the data that helloworld-ros2-node published,&nbsp;open a terminal from your device and execute below command:</span>
  
Helloworld ros2 node will publish Hello World message continuously.
+
&nbsp;
  
So, run below command to subscribe the topic for&nbsp;showing the message from helloworld ros2 node.
+
[[File:Helloworld-ros2-node-message.png|800x480px|Helloworld-ros2-node-message.png]]
  
 
&nbsp;
 
&nbsp;
  
1. Setup ROS2 environmant variables, replace ${ROS_DISTRO} with your ROS2 distribution (foxy, humble) to run this command:
+
<span style="font-size: larger;">1. Setup ROS2 environmant variables:</span>
<pre>
+
<pre>$ source /opt/ros/${ROS_DISTRO}/setup.bash
$ source /opt/ros/${ROS_DISTRO}/setup.bash
 
 
</pre>
 
</pre>
  
 
&nbsp;
 
&nbsp;
  
2. Subscribe the topic of helloworld node:
+
<span style="font-size:larger;">2. Subscribe the topic of helloworld node:</span>
<pre>
+
<pre>$ ros2 topic echo /topic
$ ros2 topic echo /topic
 
 
</pre>
 
</pre>
  
Result:
+
<span style="font-size:larger;">Result:</span>
<pre>
+
<pre>data: 'Hello World: 2663'
data: 'Hello World: 687'
 
 
---
 
---
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 132: 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