Implement popular robotics algorithms in C++ and ROS2
- To-do-list
- Localization:
- EKF localization
- Particle filter localization
- Mapping:
- Lidar to grid map
- Kmeans_clustering
- SLAM:
- EKF SLAM
- FastSLAM
- Path Planning
- Dynamic Window Approach
- A*
- Probabilistic Road-Map
- Rapid-Exploring Random Trees (RRT)
- Localization:
-
- Red Markers: Robot pose estimated with EKF
- Blue Markers: Ground-truth poses
- Green Markers: Robot poses obtained from Observations
- Black Markers: Robot pose estimated with Dead Reckoning
ros2 launch ekf_localization ekf_launch.launch.py
-
- Red Markers: Robot pose estimated with Particle Filter
- Blue Markers: Ground-truth poses
- Green Markers: Particles poses
- Black Markers: Robot pose estimated with Dead Reckoning
- Brown Markers: Landmarks
ros2 launch particle_filter particle_filter.launch.py
-
- Left plot: 2D Laser scanning point cloud
- Right plot: Occupancy grid map
ros2 launch lidar2gridmap lidar2gridmap.launch.py
-
- Red Sphere: Object pose
- Cluster with different colors as different labels
ros2 launch kmeans_clustering kmeans.launch.py
-
- Red Sphere: Robot pose estimated with EKF-SLAM
- Blue Markers: Ground-truth poses
- Black Markers: Robot pose estimated with Dead Reckoning
- Black Rec: GT poses of Landmarks
- Green Rec: Landmark poses estimated with EKF-SLAM
ros2 launch ekf_slam ekf_slam.launch.py
-
- Red Sphere: Robot pose and its traversal path
- Green Markers: Best predicted trajectory
- Black Markers: Obstacles
- Yellow Markers: Goal
ros2 launch dwa dwa_run.launch.py
-
- Green Markers: Best predicted trajectory
- Black Markers: Environment including boundary and obstacles
- Yellow markers: Passing nodes from star to end
- Green marker: Passing nodes from end to start
ros2 launch a_star_two_sides a_star_two_sides.launch.py
-
- Green Markers: Particle poses
- Black Markers: Robot pose estimated with Dead Reckoning
- Black Rec: Landmark poses
- Red Markers: Robot pose estimated with FastSlam 1.0
- Blue Markers: Robot pose GT
ros2 launch fast_slam fastSlam1.launch.py