This is the repo for the GPS Nav Project, Mr robot is autonomous navigation robot made by A.T.O.M Robotics capable of Navigation using GPS coordinates utilizes Mapviz and various srcipts for various tasks. Various other operations can also be performed thanks to its modularity.
This project aims to develop a comprehensive ROS2 simulation package tailored for a differential drive robot.This repository shows how to set up a localization system using a GPS sensor(s) as the source of global positioning, robot_localization (RL) for sensor fusion, and how to use Nav2 to follow GPS waypoints.
Follow these instructions to set up this project on your system.
- ROS Humble Refer to the official ROS 2 installation guide
- Gazebo Classic
sudo apt install ros-humble-gazebo-ros-pkgs- Robot_localization and mapviz:
source /opt/ros/humble/setup.bash
sudo apt install ros-humble-robot-localization
sudo apt install ros-humble-mapviz
sudo apt install ros-humble-mapviz-plugins
sudo apt install ros-humble-tile-map- Nav2 packages
sudo apt install ros-humble-navigation2
sudo apt install ros-humble-nav2-bringup-
Make a new workspace
mkdir -p gps_nav_ws/src
-
Clone the GPS_Nav repository
Now go ahead and clone this repository inside the "src" folder of the workspace you just created.
cd gps_nav_ws/src git clone git@github.com:atom-robotics-lab/GPS_Nav.git -
Compile the package
Follow this execution to compile your ROS 2 package
colcon build --symlink-install
-
Source your workspace
source install/local_setup.bash
Our package consists of three directories as follows:-
- The
mr_robot_descriptiondir contains all the bot model description files. - The
mr_robot_gazebodir contains all the world description files. - The
mr_robot_navigationdir contains all the config files for enabling navigation and planning.
Spawns our robot in a custom gazebo world along with all the necessary plugins. It also launches navigation
ros2 launch mr_robot_navigation gps_waypoint_follower.launch.py use_rviz:=TrueNOTE: Make sure that you have installed the navigation dependencies before running the navigation launch file.
- Launches mapviz GUI
ros2 launch mr_robot_navigation mapviz.launch.pyThis script makes the robot navigate to the clicked waypoint in mapviz
ros2 run mr_robot_navigation interactive_waypoint_followerOpens up a GUI to save the robot current coordinates and heading on demand to a yaml file
ros2 run mr_robot_navigation gps_waypoint_loggerRobot navigates through previously logged waypoints
ros2 run mr_robot_navigation logged_waypoint_followerMR-ROBOT.mp4
We wholeheartedly welcome contributions!
They are the driving force that makes the open-source community an extraordinary space for learning, inspiration, and creativity. Your contributions, no matter how big or small, are genuinely valued and highly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/New-Feature) - Commit your Changes (
git commit -m 'Add some New-Feature') - Push to the Branch (
git push origin feature/New-Feature) - Open a Pull Request
Please adhere to this project's code of conduct.
If you have any feedback, please reach out to us at:
Our Socials - Linktree