Difference between revisions of "Advantech Robotic Suite/Robotic System/AMR SDK"

From ESS-WIKI
Jump to: navigation, search
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{DISPLAYTITLE:AMR SDK}}
+
__NOTOC__
 +
= Introduction =
 +
<big>Advantech Robotic Suite offers five main categories of ROS2 services specifically designed for AMR applications, helping users accelerate development. These services include a variety of applications, algorithms and reference documentation to support efficient integration and deployment.</big>
  
[[File:Robotic-suite-sw-stack-amr-01.png|center|960px|Robotic-suite-sw-stack-amr-01.png]]
+
== Planning ==
 
 
= Planning =
 
 
<div style="overflow-x:auto;">
 
<div style="overflow-x:auto;">
 
{| class="wikitable" style="width:90%;"
 
{| class="wikitable" style="width:90%;"
Line 11: Line 11:
 
|-
 
|-
 
| Waypoint Following
 
| Waypoint Following
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| Within Nav2, waypoint following is a feature that allows a robot to autonomously navigate through a series of specified points (waypoints) in sequence. It leverages the navigation stack’s planning and control capabilities to ensure accurate and reliable traversal of a given route.
| http
+
| [https://github.com/ros-navigation/navigation2/tree/main/nav2_waypoint_follower Doc]
 
|-
 
|-
 
| Path Planning
 
| Path Planning
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| Path planning in Nav2 refers to the process where the navigation stack computes a feasible and efficient path from the robot’s current location to its target destination. This process considers the environment’s obstacles and robot’s kinematics, using built-in planning algorithms.
| http
+
| [https://github.com/ros-navigation/navigation2/tree/main/nav2_planner Doc]
 
|}
 
|}
 
</div>
 
</div>
  
= Visual Perception =
+
== Visual Perception ==
 
<div style="overflow-x:auto;">
 
<div style="overflow-x:auto;">
 
{| class="wikitable" style="width:90%;"
 
{| class="wikitable" style="width:90%;"
Line 28: Line 28:
 
|-
 
|-
 
| Barcode Recognition
 
| Barcode Recognition
| Basic ROS 2 wrapper for the zbar barcode reader library. Reads image stream from image topic, and outputs detected barcodes to barcode topic. Works with 1D and 2D barcodes.
+
| Basic ROS2 wrapper for the zbar barcode reader library. Reads image stream from image topic, and outputs detected barcodes to barcode topic. Works with 1D and 2D barcodes.
 
| [https://github.com/ros-drivers/zbar_ros Github]
 
| [https://github.com/ros-drivers/zbar_ros Github]
 
|}
 
|}
 
</div>
 
</div>
  
= Sensing Perception =
+
== Sensing Perception ==
 
<div style="overflow-x:auto;">
 
<div style="overflow-x:auto;">
 
{| class="wikitable" style="width:90%;"
 
{| class="wikitable" style="width:90%;"
Line 41: Line 41:
 
|-
 
|-
 
| IMU Tools
 
| IMU Tools
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| A set of utilities for processing and visualizing data from Inertial Measurement Units (IMUs), which provide orientation, acceleration, and angular velocity information.
| http
+
| [https://github.com/CCNYRoboticsLab/imu_tools Github]
 
|}
 
|}
 
</div>
 
</div>
  
= SLAM =
+
== SLAM ==
 
<div style="overflow-x:auto;">
 
<div style="overflow-x:auto;">
 
{| class="wikitable" style="width:90%;"
 
{| class="wikitable" style="width:90%;"
Line 54: Line 54:
 
|-
 
|-
 
| RTAB-Map
 
| RTAB-Map
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| Real-Time Appearance-Based Mapping (RTAB-Map) is a graph-based SLAM (Simultaneous Localization and Mapping) algorithm that creates 3D maps using visual, depth, and sensor data.
| http
+
| [https://github.com/introlab/rtabmap_ros Github]
 
|-
 
|-
 
| Cartographer
 
| Cartographer
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| A real-time SLAM algorithm developed by Google that enables robots to build 2D and 3D maps of their environment using laser and odometry data.
| http
+
| [https://google-cartographer-ros.readthedocs.io/en/latest/ Doc]<br>[https://github.com/ros2/cartographer_ros Github]
 
|-
 
|-
 
| SLAM Toolbox
 
| SLAM Toolbox
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| A collection of SLAM algorithms and tools for mapping and localization, supporting online and offline map building, pose-graph optimization, and loop closure.
| http
+
| [https://github.com/SteveMacenski/slam_toolbox Github]
 
|-
 
|-
 
| LIO-SAM
 
| LIO-SAM
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| Lidar-Inertial Odometry via Smoothing and Mapping (LIO-SAM) is a state-of-the-art SLAM system that fuses LiDAR and IMU data to produce accurate, high-frequency odometry and maps.
| http
+
| [https://github.com/TixiaoShan/LIO-SAM/tree/ros2 Github]
 
|}
 
|}
 
</div>
 
</div>
  
= Navigation /Localization =
+
== Navigation /Localization ==
 
<div style="overflow-x:auto;">
 
<div style="overflow-x:auto;">
 
{| class="wikitable" style="width:90%;"
 
{| class="wikitable" style="width:90%;"
Line 79: Line 79:
 
|-
 
|-
 
| Navigation 2
 
| Navigation 2
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| A ROS2 framework that provides a complete set of navigation features, including localization, path planning, and control, for autonomous robot movement in dynamic environments.
| http
+
| [https://docs.nav2.org/ Doc]<br>[https://github.com/ros-navigation/navigation2 Github]
 
|-
 
|-
 
| Robot Localization
 
| Robot Localization
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| A ROS2 package that fuses data from various sensors (e.g., GPS, IMU, odometry) to provide accurate state estimation of a robot’s position and orientation.
| http
+
| [https://docs.ros.org/en/melodic/api/robot_localization/html/index.html Doc]<br>[https://github.com/cra-ros-pkg/robot_localization Github]
 
|-
 
|-
 
| Hybrid A*
 
| Hybrid A*
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| Hybrid A* is one of the path planning algorithms integrated in Nav2. It enhances traditional A* by considering the robot's motion constraints and continuous state space, making it suitable for robots that require smooth and realistic paths, especially non-holonomic vehicles.
| http
+
| [https://github.com/ros-navigation/navigation2/tree/main/nav2_navfn_planner Doc]
 
|-
 
|-
 
| Dijkstra
 
| Dijkstra
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| Dijkstra’s algorithm, available within Nav2’s planning plugins, is used to find the shortest path in a grid map from start to goal. It guarantees the optimal solution and serves as a robust global planner for route generation in the navigation stack.
| http
+
| [https://github.com/ros-navigation/navigation2/tree/main/nav2_navfn_planner Doc]
 
|-
 
|-
 
| Obstacle Avoidance
 
| Obstacle Avoidance
| Enables a ROS2 navigation framework and system. It provides perception, planning, control, localization, visualization, and more to build highly reliable autonomous systems.
+
| Obstacle avoidance in Nav2 is handled by its local planner and costmap modules. These components work together to detect obstacles in real time and dynamically adjust the robot’s path, ensuring safe navigation even in changing environments.
| http
+
| [https://github.com/ros-navigation/navigation2/tree/main/nav2_collision_monitor Doc]
 
|}
 
|}
 
</div>
 
</div>

Latest revision as of 04:16, 10 June 2025

Introduction

Advantech Robotic Suite offers five main categories of ROS2 services specifically designed for AMR applications, helping users accelerate development. These services include a variety of applications, algorithms and reference documentation to support efficient integration and deployment.

Planning

Application Description Reference
Waypoint Following Within Nav2, waypoint following is a feature that allows a robot to autonomously navigate through a series of specified points (waypoints) in sequence. It leverages the navigation stack’s planning and control capabilities to ensure accurate and reliable traversal of a given route. Doc
Path Planning Path planning in Nav2 refers to the process where the navigation stack computes a feasible and efficient path from the robot’s current location to its target destination. This process considers the environment’s obstacles and robot’s kinematics, using built-in planning algorithms. Doc

Visual Perception

Application Description Reference
Barcode Recognition Basic ROS2 wrapper for the zbar barcode reader library. Reads image stream from image topic, and outputs detected barcodes to barcode topic. Works with 1D and 2D barcodes. Github

Sensing Perception

Application Description Reference
IMU Tools A set of utilities for processing and visualizing data from Inertial Measurement Units (IMUs), which provide orientation, acceleration, and angular velocity information. Github

SLAM

Application Description Reference
RTAB-Map Real-Time Appearance-Based Mapping (RTAB-Map) is a graph-based SLAM (Simultaneous Localization and Mapping) algorithm that creates 3D maps using visual, depth, and sensor data. Github
Cartographer A real-time SLAM algorithm developed by Google that enables robots to build 2D and 3D maps of their environment using laser and odometry data. Doc
Github
SLAM Toolbox A collection of SLAM algorithms and tools for mapping and localization, supporting online and offline map building, pose-graph optimization, and loop closure. Github
LIO-SAM Lidar-Inertial Odometry via Smoothing and Mapping (LIO-SAM) is a state-of-the-art SLAM system that fuses LiDAR and IMU data to produce accurate, high-frequency odometry and maps. Github

Navigation /Localization

Application Description Reference
Navigation 2 A ROS2 framework that provides a complete set of navigation features, including localization, path planning, and control, for autonomous robot movement in dynamic environments. Doc
Github
Robot Localization A ROS2 package that fuses data from various sensors (e.g., GPS, IMU, odometry) to provide accurate state estimation of a robot’s position and orientation. Doc
Github
Hybrid A* Hybrid A* is one of the path planning algorithms integrated in Nav2. It enhances traditional A* by considering the robot's motion constraints and continuous state space, making it suitable for robots that require smooth and realistic paths, especially non-holonomic vehicles. Doc
Dijkstra Dijkstra’s algorithm, available within Nav2’s planning plugins, is used to find the shortest path in a grid map from start to goal. It guarantees the optimal solution and serves as a robust global planner for route generation in the navigation stack. Doc
Obstacle Avoidance Obstacle avoidance in Nav2 is handled by its local planner and costmap modules. These components work together to detect obstacles in real time and dynamically adjust the robot’s path, ensuring safe navigation even in changing environments. Doc