Difference between revisions of "Advantech Robotic Suite/DeviceOn"
(57 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | ||
− | |||
− | |||
− | |||
− | |||
| | ||
− | + | = Introduction = | |
− | <span style="font-size:larger;"> | + | <span style="font-size:larger;">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.</span> |
| | ||
− | |||
− | |||
− | |||
− | |||
| | ||
− | + | = DeviceOn = | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | + | <span style="font-size:larger;">DeviceOn is a remote central management system that allows user to connect their robotics to DeviceOn and remotely monitor, control, and maintain.</span> |
− | = DeviceOn | + | <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> | |
− | |||
− | <span style="font-size:larger;">More information please refer to [https:// | ||
| | ||
| | ||
− | |||
== Device Management == | == Device Management == | ||
Line 61: | Line 32: | ||
| | ||
− | + | | |
− | + | === 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'''<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]] | |
| | ||
− | |||
− | |||
− | |||
− | |||
| | ||
− | + | == Container Management == | |
− | <span style="font-size:larger;"> | + | <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 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.</span> |
− | + | <span style="font-size:larger;">[https://azure.microsoft.com/en-us/services/container-registry/ 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 [https://goharbor.io/ Harbor] 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] .</span> | |
− | |||
− | |||
| | ||
− | |||
− | |||
− | |||
− | |||
− | |||
= How to = | = How to = | ||
Line 106: | Line 66: | ||
| | ||
− | == Register | + | |
+ | |||
+ | == Register for DeviceOn Trial Portal == | ||
| | ||
− | + | <span style="font-size:larger;">DeviceOn Trial Portal: '''[https://deviceon-trial.wise-paas.com/ https://deviceon-trial.wise-paas.com/]'''</span> | |
− | |||
| | ||
− | <span style="font-size:larger;">Step1. Register a new account from DeviceOn Trial Protal.</span> | + | <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]] | [[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]] | [[File:Deviceon-trial 02.png|border|800x480px|Deviceon-trial 02.png]] | ||
Line 125: | Line 86: | ||
| | ||
− | <span style="font-size:larger;"> | + | <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]] | [[File:Deviceon-trial 05.png|border|800x360px|Deviceon-trial 05.png]] | ||
Line 131: | Line 92: | ||
| | ||
− | | + | <span style="font-size:larger;">Step 4. Logon DeviceOn with your Account & Password</span> |
| | ||
== 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 contact PM (Nathan.Wang@advantech.com.tw) to get support for this function.</span> | ||
+ | |||
+ | | ||
<span style="font-size:larger;">Step1. Login DeviceOn Trial Portal.</span> | <span style="font-size:larger;">Step1. Login DeviceOn Trial Portal.</span> | ||
Line 146: | Line 115: | ||
<span style="font-size:larger;">Step3. Launch WISE Agent setup program.</span> | <span style="font-size:larger;">Step3. Launch WISE Agent setup program.</span> | ||
+ | <pre>cd /usr/local/AgentService | ||
+ | sudo ./setup.sh | ||
+ | </pre> | ||
+ | |||
+ | | ||
<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;">Step4. Copy Credential URL from DeviceOn Trial portal and paste it to the WISE Agent setup program while it is prompt to input.</span> | ||
Line 155: | Line 129: | ||
<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;">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] to get | + | (<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] to get more detail description about install WISE-Agent and setup WISE-Agent for connecting to DeviceOn.)</span> |
| | ||
− | + | <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> | |
− | + | [[File:ROS2 Suite DeviceOn iBm1HCe.png|border|1024x480px|RTENOTITLE]] | |
− | + | | |
<span style="font-size:larger;">You could get the device detail information such as, device IP, version, MAC, Memory, BIOS, operation system in this page.</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 page.</span> | ||
− | [[File:ROS2 Suite DeviceOn oFkGkrU.png|border| | + | [[File:ROS2 Suite DeviceOn oFkGkrU.png|border|1024x480px|RTENOTITLE]] |
| | ||
Line 173: | Line 147: | ||
| | ||
− | + | | |
− | <span style="font-size:larger;">Helloworld ROS2 node is a sample ROS2 container | + | == <span style="font-size:larger;">Container Registry</span> == |
+ | |||
+ | <span style="font-size:larger;">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.</span> | ||
+ | |||
+ | | ||
<span style="font-size:larger;">[[File:ROS2 Suite RegistriesList.png|border|900x240px|RTENOTITLE]]</span> | <span style="font-size:larger;">[[File:ROS2 Suite RegistriesList.png|border|900x240px|RTENOTITLE]]</span> | ||
Line 184: | Line 162: | ||
<span style="font-size:larger;">[[File:ROS2 Suite RegistryDetail.png|border|1024x520px|ROS2 Suite RegistryDetail.png]]</span> | <span style="font-size:larger;">[[File:ROS2 Suite RegistryDetail.png|border|1024x520px|ROS2 Suite RegistryDetail.png]]</span> | ||
+ | |||
+ | | ||
| | ||
Line 209: | Line 189: | ||
| | ||
− | <span style="font-size:larger;">Step3. In the "Add Container" page, select parameters like below | + | <span style="font-size:larger;">Step3. In the "Add Container" page, select parameters like below and then 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> | ||
Line 218: | Line 198: | ||
*<span style="font-size:larger;">Image: '''helloworld-ros2-node-<platform-architecture>'''</span> | *<span style="font-size:larger;">Image: '''helloworld-ros2-node-<platform-architecture>'''</span> | ||
− | + | | |
− | <span style="font-size:larger;"> | + | {| 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> | ||
+ | |} | ||
| | ||
Line 228: | Line 218: | ||
| | ||
− | <span style="font-size:larger;">After | + | <span style="font-size:larger;">After the operation completed, you can see the container is deployed into your device and status of helloworld-ros2-node is running.</span> |
[[File:ROS2 ContainerManage 6.png|border|960x480px|ROS2 ContainerManage 6.png]] | [[File:ROS2 ContainerManage 6.png|border|960x480px|ROS2 ContainerManage 6.png]] | ||
Line 269: | Line 259: | ||
</pre> | </pre> | ||
+ | |||
+ | | ||
+ | |||
+ | <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> | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | == <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. | ||
+ | |||
+ | 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]] | ||
+ | |||
+ | '''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 03:34, 1 April 2024
Contents
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.
FeatureFrom "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. 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.
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 ]
Step 2. Fill the basic information
Step3. Verify account from DeviceOn Account Registration e-mail.
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.
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.
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.
You could get the device detail information such as, device IP, version, MAC, Memory, BIOS, operation system in this page.
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.
Click on the registry name "Demo Registry", you can see how many containers in the container registry are available for you to deploy.
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.
Step2. Click "Add" icon to go into add container page.
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 |
After the operation completed, you can see the container is deployed into your device and status of helloworld-ros2-node is running.
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:
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. 2. Click 'Install', and it will be deployed to the target device. 3. It can control container in containers manager. 4. After start container, the demo will run on target device.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