A ROS package for managing waypoints and navigation for mobile robots. This package allows users to create waypoints manually or automatically as the robot moves through an environment, and then navigate between these waypoints efficiently.
- Manual waypoint creation at the robot's current position
- Automatic waypoint creation based on distance and angle thresholds
- Interactive visualization of waypoints in RViz
- Waypoint persistence to disk using YAML format
- Efficient path planning between waypoints using A* algorithm
- Integration with move_base for navigation
- Interactive markers for easy waypoint selection and navigation
- docker
- ROS Noetic
- yaml-cpp
- tf2
- move_base
- interactive_markers
- Clone this package into your docker workspace along with anscer robotics :
cd ~/catkin_ws/src
git clone https://github.com/anscer/AR100.git
git clone https://github.com/phdraushan/waypoint_manager.git
# building- Install dependencies:
cd ..
# checking dependencies
rosdep install --from-paths src --ignore-src -r -y- Build the package:
cd ~/catkin_ws
catkin_make- Start anscer bringup
roslaunch start_anscer start_anscer.launch- Start anscer navigaiton
roslaunch anscer_navigation anscer_navigation.launch- Start the waypoint manager:
roslaunch waypoint_manager waypoint_manager.launch-
Create waypoints:
- Manual: Use the
create_waypointservice - Automatic: Move the robot around, waypoints will be created automatically when distance or angle thresholds are met
- Manual: Use the
-
Navigate to waypoints:
- Click on waypoint markers in RViz
- Use the
navigate_to_waypointservice
-
Get Waypoints:
- Array of all waypoints
position_threshold(default: 0.5m): Minimum distance between waypointsdistance_threshold(default: 2.0m): Distance threshold for automatic waypoint creationangle_threshold(default: 45 degrees): Angle threshold for automatic waypoint creation
Waypoints are visualized in RViz using interactive markers:
- Manual waypionts : Red arrows
- Automatic waypoints : Green arrows
- Click on a waypoint marker to navigate to it
waypoints.yaml: Persistent storage for waypoints- Manual and automatic wayponts named differently