[How-to Article] Streamlining Robotics Development with Advantech Robotic Development SDK

1 Introduction:

Advantech Robotic Development SDK provides a comprehensive framework to seamlessly integrate artificial intelligence (AI) techniques and peripheral devices into robotics applications. In this article, we demonstrate how this Robotic Development SDK simplifies development with our EPC-R7300 AI computer. EPC-R7300 is for a new age of robotics, enhancing robot capabilities and compatibility with a wide range of peripheral devices.

2 Prerequisites

Necessary Hardware:

You need to have: EPC-R7300 with a keyboard/mouse and HDMI monitor. EPC-R7300 is an industrial barebones PC for the NVIDIA® Jetson Orin™ NX and Jetson Orin™ Nano systems-on-modules with the following features:

  • Compatible with NVIDIA Jetson Orin™ Nano and NX modules, delivering 20–100 TOPS of AI performance
  • Industrial and expandable design
  • HDMI up to 3840 x 2160 at 60Hz resolution
  • 2 x GbE LAN, 2 x USB3.2 Gen 2
  • 1 x Nano SIM slot
  • 1 x M.2 3042/52 Key B Slot, 1 x M.2 2230 Key E Slot, 1 x M.2 2280 Key M Slot
  • Five rear I/O configurations for diverse applications: IEM, self-service, automation and networking

Necessary Software:

Advantech Robotic Development SDK, SUSI API and demo packages are required.

  • Advantech Robotic Development SDK:
    Please fill the form below and download the Robotic Development SDK from our portal.

  • SUSI:
    Advantech has created SUSI (Secure and Unified Smart Interface), a suite of application interfaces that lets users directly monitor and control digital I/O, I2C, etc. SUSI APIs help produce better, more reliable products, with faster time-to-market. Before you install Advantech Robotic Development SDK, make sure you have installed SUSI API. Please leave a message on the community page, we will contact you and provide a SUSI API installer package.

  • Demo package
    You have to get the package from the link, then you can do the SLAM demo below the last SLAM section.

3 Advantech Robotic Development SDK Installation Instructions:

  1. Before we start the installation, you should have downloaded the three files from the link mentioned above.

  2. Copy the SUSI driver and place under ~/ROS2_suite/SUSI and make a folder for each of Advantech Robotic Development SDK and SUSI.

$ mkdir ~/ROS2_suite
$ mkdir ~/ROS2_suite/SUSI
$ mkdir ~/ROS2_suite/ROS2-suite-installer

Copy Advantech Robotic Development SDK installer package and place under ~/ROS2_suite/ROS2-suite-installer.

  1. Install SUSI driver:
$ cd ~/ROS2_suite/SUSI
$ tar zxvf EPC-R7300_SUSI4.0_Release_2023_07_25_Ubuntu_20.04-jetson_x64_23737.tar.gz

  1. Run the installer with superuser privileges.
$ sudo ./Driver/install.sh

  1. Install Advantech Robotic Development SDK:
$ cd ~/ROS2_suite/ROS2-suite-installer
$ tar zxfv adv-ros2-suite-installer-1.3.0.tar.gz
  1. Run the installer with superuser privileges:
$ sudo ./adv-ros2-suite-installer.run

  1. Press “Y” to install ROS2 and Advantech Addons:

  2. Press “Y” to accept the License:

  3. Check the Advantech Robotic Development SDK has installed completely.

  4. Verifying the Installation: After successful installation, follow these steps to verify the Advantech Robotic Development SDK:

  5. Update ROS2 environment variables:

$ source ~/.bashrc
  1. Print ROS2 environment variables:
$ printenv | grep ROS

4 Advantech Robotic Development SDK Tutorials

  1. Monitor platform Information using the ROS2 Utility.

  2. Setup Advantech Robotic Development SDK environment variables.

$ cd /usr/local/Advantech/ros/foxy/include/edge-converter-ros2/adv_msgs/install
$ source local_setup.bash
  1. Run the ROS2 utility to list topics.
$ ros2 topic list

  1. Run the ROS2 utility to show susi node data.
$ ros2 topic echo /adv/susicontrol

  1. Monitor and control platform info using Advantech Robotic Development SDK sample node.

  2. Setup Advantech Robotic Development SDK environment variables.

$ cd /usr/local/Advantech/ros/foxy/sample_code/edge-data-client/
$ source setup_example.bash
  1. Change path to ROS2 sample node.
$ cd /usr/local/Advantech/ros/foxy/sample_code/edge-data-client/rclnodejs_edge_data_client
  1. Run Advantech Robotic Development SDK sample code to show platform info.
$ node example_SubscribeSensor.js "rclnodejs_SUSIControl_subscriber" "/adv/susicontrol"

  1. Run Advantech Robotic Development SDK sample code to set GPIO Dir.
$ node example_SetSensor.js "rclnodejs_SUSIControl_setter" "adv_susicontrol_set" "SUSIControl/GPIO/UIO_GPIO2/Dir" "bv" false
  1. Run Advantech Robotic Development SDK sample code to set GPIO Level.
$ node example_SetSensor.js "rclnodejs_SUSIControl_setter" "adv_susicontrol_set" "SUSIControl/GPIO/UIO_GPIO2/Level" "bv" true
  1. Open another terminal and run step 1, 2 and 3 to capture the GPIO2 status. Then open the second terminal to set GPIO2 Dir: false (1->0) Level: true(0->1).

  2. SLAM demos

  3. Download ROS2_2dSlam_Demo package to the system.

  4. Copy the ROS2_2D_SLAM_demo and place under /home/Ubuntu

$ cd ~
$ tar zxvf ros2_2dslam_demo_1.2.0.tar.gz
  1. Run Install.
$ cd ros2_2dslam_demo_1.2.0
$ sudo chmod a+x install.sh demo_loop.sh
$ sudo ./install.sh(PW: ubuntu)

  1. Run 2D SLAM demo.
$ ./demo_loop.sh

Demo video:
Screencast 2023-09-18 01_59_12.mp4

It can modify demo_loop.sh file “bagfile=rosbag2_2023_03_08-14_13_56” parameter to others rosbag2 file.

5 Conclusion:

Advantech Robotic Development SDK empowers developers with a comprehensive framework for integrating AI techniques and peripheral devices into robotics applications. With ROS-compatible add-ons, SDKs, and peripheral device compatibility, developers can seamlessly leverage Advantech’s hardware capabilities and advanced features. The straightforward installation process ensures a quick start, enabling developers to harness the power of AI and peripheral devices in their ROS2 systems. Advantech Robotic Development SDK simplifies development, enhances performance, and unlocks new possibilities for advanced robotics applications.