- Fusion360 -> For designing the 3D Model of the robot.
- fusion2urdf -> Fusion360 script to export urdf from fusion 360 directly.
- ROS - Noetic
- Gazebo
- Rviz
Robot Drive Plugin Used - Differential Drive - Gazebo
cd ~/catkin_ws/src/
git clone https://github.com/nilutpolkashyap/auto_nav_robot.git
cd ~/catkin_ws/
catkin_make
source devel/setup.bash
Type the command in a terminal to launch the Robot Navigation world simulation:
roslaunch bug_robot_description gazebo.launch
Type the command in another terminal to run the RVIZ visualization:
roslaunch bug_robot_description rviz.launch
Type the command in a terminal to launch the Robot Navigation world simulation:
roslaunch bug_robot_description navigation_sim.launch
Type the command in another terminal to run the Gmapping SLAM node:
roslaunch bug_robot_navigation gmapping_slam.launch
Type the command in another terminal to run teleoperation node and move the robot around the area to create the map:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py
When the map is created successfully, open a new terminal and type the command to save the map:
rosrun map_server map_saver -f ~/map
Type the command in a terminal to launch the Robot Navigation world simulation:
roslaunch bug_robot_description navigation_sim.launch
Type the command in another terminal to run the Navigation node:
roslaunch bug_robot_navigation navigation.launch
Initial Pose Estimation must be performed before running the Navigation as this process initializes the AMCL parameters that are critical in Navigation.
- Click the 2D Pose Estimate button in the RViz menu.
- Click on the map where the actual robot is located and drag the large green arrow toward the direction where the robot is facing.
- Click the 2D Nav Goal button in the RViz menu.
- Click on the map to set the destination of the robot and drag the green arrow toward the direction where the robot will be facing.