/wanderer-bot

Primary LanguageC++MIT LicenseMIT

ARobot Wanderer - Objects Collecting bot

Build Status Coverage Status License: MIT

Overview

The ARoBot Wanderer is a simulation of an object collecting turtlebot in gazebo that identifies and collects the object’s from different rooms present in the warehouse and transfers them to the desired location. The robot tasks and its environment mimics a warehouse automation setup in which there is no human intervention in collecting the objects. This application can also be extended to other robots, environments, and different object identification tasks. The bot uses the G mapping (SLAM) to map its environment and navigate to certain locations based on the data received on the LIDAR sensor.

Authors

  • Arjun Srinivasan
  • Rajeshwar N S

Dependencies

  1. Ubuntu 18.04
  2. ROS Melodic (Robotics Middleware)
  3. Gazebo (3D physics Simulation environment)
  4. Robot Model: TurtleBot3
  5. Rviz (Sensor visualization)
  6. G mapping (SLAM)
  7. A-Star (Path planning)

Agile Iterative Process Log sheet

Agile log sheet

Sprint Backlog

Sprint sheet

Presentation

Slides Presentation

Video presentation

Build Instructions

  • Clone the repo and catkin_make
cd catkin_ws/src
git clone https://github.com/rajesh1996/wanderer-bot.git
cd ..
source devel/setup.bash
catkin_make
  • Launch the Gazebo world file
roslaunch wanderer-bot base.launch
  • Open a new terminal and run the node to perform the collection task
cd catkin_ws
source ./deve/setup.bash
rosrun wanderer-bot book

Setup

  1. Unzip the artag.zip folder and copy the contents into the $HOME/.gazebo/mmodels folder in your machine.

Generating Map for custom world file

  • To build a map for a custom world file, run the following
roslaunch wanderer-bot map.launch 
  • Run the turtlbot3 teleop node
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch  
  • Run SLAM-gmapping package to generate a map using the custom world file with collect_world
rosrun map_server map_saver -f ~/collect_world

Record bag while Mapping and Collecting


to record Collecting in a bag file, pass a record:=true argument as shown below (Open a new Terminal)

source devel/setup.bash
roslaunch wanderer-bot base.launch record:=true

View Log Levels To view Log levels using rqt console and rqt logger level Open a new Terminal

rosrun rqt_console rqt_console

Open a new Terminal

rosrun rqt_logger_level rqt_logger_level

Run Bag Files Go to the directory consisting bag file(Open a new Terminal) You can download the pre recoeded bag in this link and play it else run the demo yourself and follow the below instructions to play it. Run roscore

roscore

Open a new terminal

cd ~/catkin_ws/
source devel/setup.bash
cd ~/catkin_ws/src/wanderer-bot/results/
rosbag play collectrecording.bag 

Run ROS Tests

catkin_make run_tests_wanderer-bot

Doxygen

  • To generate doxygen file, run
sudo apt-get install doxygen
sudo apt install doxygen-gui
doxywizard

References

Bugs

  • The bot sometimes might not find a way to navigate through dynamic obstacles