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

From ESS-WIKI
Jump to: navigation, search
Line 13: Line 13:
 
|-
 
|-
 
| 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 30:
 
|-
 
|-
 
| 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 81: Line 81:
 
|-
 
|-
 
| 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>

Revision as of 09:02, 6 June 2025

Software Stack

The figure shows the overall software stack of the Advantech Robotic Suite for AFE-R360.

Robotic-suite-sw-stack-amr-01.png

AMR SDK

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 lifelong 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