GPS points will be predefined in ROS based robots to navigate to the destination avoiding obstacles. This package performs outdoor GPS waypoint navigation. It can navigate while building a map, avoiding obstacles, and can navigate continuously between each goal or stop at each goal.
This repo is made to run on a Rover with IMU, Novatel GPS, and Sick lms111 lidar.
-
This package uses a combination of the following packages:
- ekf_localization to fuse odometry data with IMU and GPS data.
- navsat_transform to convert GPS data to odometry and to convert latitude and longitude points to the robot's odometry coordinate system.
- GMapping to create a map and detect obstacles.
- move_base to navigate to the goals while avoiding obstacles (goals are set using recorded or inputted waypoints).
-
The Navigation package within this repo includes the following custom nodes:
- gps_waypoint to read the waypoint file, convert waypoints to points in the map frame and then send the goals to move_base.
- gps_waypoint_continuous1 and gps_waypoint_continuous2 for continuous navigation between waypoints using two seperate controllers.
- collect_gps_waypoint to allow the user to drive the robot around and collect their own waypoints.
- calibrate_heading to set the heading of the robot at startup and fix issues with poor magnetometer data.
- plot_gps_waypoints to save raw data from the GPS for plotting purposes.
- gps_waypoint_mapping to combine waypoint navigation with Mandala Robotics' 3D mapping software for autonomous 3D mapping.
I would like to acknowledge the contribution of 2 website which helped me while making this repo.