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

From ESS-WIKI
Jump to: navigation, search
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
= Software Stack =
+
= Introduction =
The figure shows the overall software stack of the Advantech Robotic Suite for AFE-R360.
+
<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|1000px]]
 
  
= AMR SDK =
 
 
== Planning ==
 
== Planning ==
 
<div style="overflow-x:auto;">
 
<div style="overflow-x:auto;">
Line 13: Line 11:
 
|-
 
|-
 
| Waypoint Following
 
| Waypoint Following
| A navigation approach where the robot is guided through a series of predefined locations (waypoints), ensuring it follows a specific path or route accurately.
+
| 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
| A fundamental robotics technique that calculates an optimal or feasible path for a robot to move from a start point to a goal point while avoiding obstacles.
+
| 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>
Line 30: 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]
 
|}
 
|}
Line 64: Line 62:
 
|-
 
|-
 
| SLAM Toolbox
 
| SLAM Toolbox
| A collection of SLAM algorithms and tools for lifelong mapping and localization, supporting online and offline map building, pose-graph optimization, and loop closure.
+
| A collection of SLAM algorithms and tools for mapping and localization, supporting online and offline map building, pose-graph optimization, and loop closure.
 
| [https://github.com/SteveMacenski/slam_toolbox Github]
 
| [https://github.com/SteveMacenski/slam_toolbox Github]
 
|-
 
|-
Line 81: Line 79:
 
|-
 
|-
 
| Navigation 2
 
| Navigation 2
| A ROS 2 framework that provides a complete set of navigation features, including localization, path planning, and control, for autonomous robot movement in dynamic environments.
+
| 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
| A ROS package that fuses data from various sensors (e.g., GPS, IMU, odometry) to provide accurate state estimation of a robot’s position and orientation.
+
| 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*
| An advanced path planning algorithm that combines the flexibility of A* search with continuous motion primitives, enabling smooth and feasible paths for wheeled robots.
+
| 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
| A classic graph-based algorithm used for finding the shortest path between nodes, widely used in robotics for global path planning due to its completeness and optimality.
+
| 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
| A core robotics capability where sensors and algorithms work together to detect and navigate around obstacles, ensuring safe and collision-free movement.
+
| 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