oonchulip97 / home_service_robot

Home service robot that picks up an object in one location and drop off in another.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Overview

This is a home service robot simulation that can pick up an object at one location and drop off at another.

This project was tested using:

  • Lubuntu
  • ROS Kinetic
  • C++ 11

Setup

Firstly, clone this workspace into user's home directory.

Install mapping package.

sudo apt-get install ros-kinetic-gmapping

Install navigation package.

sudo apt-get install ros-kinetic-move-base

Install teleop package.

sudo apt-get install ros-kinetic-teleop-twist-keyboard

Install localization package.

sudo apt-get install ros-kinetic-robot-localization

Finally build the workspace.

cd ~/robotics_ws/
catkin_make

Don't forget to source the workspace.

source ~/robotics_ws/devel/setup.bash

Running

Run the following in a terminal.

cd ~/robotics_ws/src/scripts
./home_service.sh

This will launch the necessary nodes and the simulation will begin.

Mechanism

Home Service Robot in Action

The objective is to develop a home service robot to pick up an object from one location and drop off the object in another location. The code is written in C++ under ROS (Robot Operating System) framework. The environment is simulated in Gazebo while visualization is achieved through rViz. The map of the environment can be generated through the Gmapping SLAM package and Frontier Exploration package autonomously. Then, the localization of the robot is handled by both the Robot Localization EKF (Extended Kalman Filter) package and AMCL (adaptive Monte Carlo localization) package in order to fuse odometry, IMU and laser scan data. Navigation of the robot is implemented by the Move Base package. ROS nodes are utilized to publish goal positions and also to display markers in the visualization.

About

Home service robot that picks up an object in one location and drop off in another.


Languages

Language:CMake 78.0%Language:C++ 19.2%Language:Shell 2.7%