ROS Autonomous Navigation

Learn to make your robot move autonomously in any environment

Featured image

ROS Autonomous Navigation

Youtube Video

Set up workspace

git clone https://github.com/bytesByHarsh/Robotics_ws/
cd Robotics_ws
git submodule update --init --recursive
catkin_make
source devel/setup.sh

Note: Do not add Robotics_ws in your catkin_ws/src

I am just using the folder name Robotics_ws instead of catkin_ws

Atom Robot

roslaunch atom world.launch

Atom ROS Simultation

Autonomous Navigation

Installation

sudo apt install ros-noetic-dwa-local-planner
sudo apt install ros-noetic-gmapping

GMapping

Terminal 1:

roslaunch atom gmapping_demo.launch

Terminal 2:

rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=/atom/cmd_vel

Gmapping using Lidar

Terminal 3:

cd <location to save map>
rosrun map_server map_saver -f map

Local Map of the environment

AMCL

Terminal 1:

roslaunch atom localization.launch

Terminal 2:

rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=/atom/cmd_vel

Now you after moving bot a little you will be able to see that it is able to localize itself properly.

Rough Position Estimates

Terminal 1:

roslaunch atom navigation.launch

Use RVIZ for 2D Navigation

Starting Position

Atom Robot Moving Autonomously