ROS package to simulate multiple behaviors on a robot
- Ubuntu 16.04
- ROS Kinetic
- Gazebo
- This project was developed using ROS Kinetic.
- It is highly recommended that ROS Kinetic is properly installed on your system before the use of this project.
- Follow the instructions on this link to install Full-Desktop Version of ROS Kinetic.
- The full-version would help you install Gazebo as well. If you have ROS Kinetic pre-installed on your machine, use the following link to install Gazebo on your machine.
- Ensure successful installation by running Gazebo via your terminal window:
gazebo
- A window of Gazebo Simulator should be launched.
- Create your ROS workspace by following instructions on this link.
- Switch to your src sub-directory of your ROS workspace to clone this repository.
<ROS Workspace>/src
- Run the following commands to clone and build this project:
git clone --recursive https://github.com/urastogi885/obstacle_avoidance_simulation
cd robot_behaviors/
chmod +x reading_laser.py
chmod +x obstacle_avoidance.py
chmod +x wall_following.py
cd ../../
catkin_make
- In the same terminal, run:
roscore
- Open a new terminal, switch to the ROS workspace, and launch the manual mode:
cd <ROS Workspace>
source devel/setup.bash
roslaunch my_first_robot manual_mode.launch
- A 2-wheeled bot will open up on the Gazebo Simulator and you will be able to control the robot with standard teleop commands.
- Change your camera view to have better look at the movement of the robot.
- Stop execution using Ctrl+C.
- Open a new terminal, switch to the ROS workspace, and launch the obstacle avoidance node:
cd <ROS Workspace>
source devel/setup.bash
roslaunch my_first_robot follow_wall.launch
- The robot will display obstacle avoidance along with wall-following behavior.
- Change your camera view to have better look at the movement of the robot.
- Stop execution using Ctrl+C.