No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro kilted. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
![]() |
path_planning package from robotics_software_engineer repocontrol_systems custom_robots drive_mobile_robot mapping navigation_ path_planning robot_sensing sensor_fusion |
Package Summary
Tags | No category tags. |
Version | 0.0.0 |
License | TODO: License declaration |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | Curated Learning Path for Robotics Software Engineer . Theory , Programming and Research |
Checkout URI | https://github.com/robotisim/robotics_software_engineer.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-06-06 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | opencv robotics computer gazebo cpp17 pcl drones mobile-robots ros2 robotic-arm moveit2 rviz2 |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
TODO: Package description
Additional Links
No additional links.
Maintainers
- luqman
Authors
No additional authors.
Path Planning Package
The path_planning
package contains comprehensive set of algorithms and utilities for implementing various path planning strategies in robotic applications. This package includes refined implementations of A* (A-star), Grid Sweep, and Rapidly-exploring Random Tree (RRT) algorithms, all tightly integrated with ROS 2 for seamless deployment and visualization
Source Files and Headers
Note: File names might have changed since the initial lectures, as this represents the final form of the package as it evolved by the last lecture.
-
path_planning.cpp (Improved Version)
- Purpose: Acts as the central node integrating all path planning algorithms (A*, RRT, Grid Sweep) and provides a unified interface for executing them based on the scenario.
-
Key Functions:
-
void PathPlanning::choose_algorithm()
- Allows selection of the most appropriate path planning algorithm based on the current environment and task. -
void PathPlanning::execute_algorithm()
- Executes the selected path planning algorithm and outputs the resulting path. - Improvements: Enhanced logic for better decision-making when choosing the path planning algorithm, optimizing the execution flow, and integrating more robust error handling mechanisms.
-
Launch Files
-
path_plan_rviz.launch.py
- Purpose: Launches the occupancy grid and path planning nodes along with RViz for visualization.
-
Nodes Launched:
-
occupancy_grid_node
- Manages the occupancy grid for path planning. -
path_planning_node
- Executes the chosen path planning algorithm. -
rviz2
- Visualizes the environment, occupancy grid, and planned path.
-
- Command to run:
ros2 launch path_planning path_plan_rviz.launch.py
Algorithms Implemented
-
A* (A-star)
- Description: A grid-based algorithm that efficiently finds the shortest path using heuristic search techniques.
- Use Case: Best suited for structured environments with well-defined grids, such as indoor navigation.
-
Grid Sweep
- Description: Ensures complete coverage of a grid by systematically sweeping through all areas, ensuring no spot is left unvisited.
- Use Case: Ideal for applications requiring full coverage, such as vacuum cleaning robots or agricultural drones.
-
RRT (Rapidly-exploring Random Tree)
- Description: A versatile algorithm that quickly explores complex, high-dimensional spaces, making it suitable for environments where grid-based methods are impractical.
- Use Case: Best for unstructured environments where traditional methods struggle, such as outdoor or dynamic environments.
CMakeLists Information
The CMakeLists.txt
file is configured to build and link all components of the path_planning
package:
-
Executables:
occupancy_grid_node
path_planning_node
-
Libraries:
algo_astar
algo_grid_sweep
algo_rrt
-
Tests:
- GTest-based unit and integeration tests for RRT implementations, ensuring algorithm robustness and reliability.
Building and Running
To build the package:
colcon build --packages-select path_planning
To source the setup file:
source install/setup.bash
To run the tests:
colcon test --packages-select path_planning
Example Commands
- Path Planning with RViz:
ros2 launch path_planning path_plan_rviz.launch.py
Test your Learnings with Assignments
CHANGELOG
No CHANGELOG found.
Wiki Tutorials
This package does not provide any links to tutorials in it's rosindex metadata.
You can check on the ROS Wiki Tutorials page for the package.
Package Dependencies
System Dependencies
No direct system dependencies.
Dependant Packages
Name | Deps |
---|---|
art_art5_meta |
Launch files
No launch files found
Messages
No message files found.
Services
No service files found
Plugins
No plugins found.
Recent questions tagged path_planning at Robotics Stack Exchange
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.