Skip to content

Developed a ROS software package for a domestic decluttering robot that scans the house floor for a specific object using Lidar, picks the object, and places it at a pre-defined location.

License

Notifications You must be signed in to change notification settings

abhijitmahalle/decluttering_domestic_robot

 
 

Repository files navigation

Build & Test Coverage Status License: MIT

decluttering_domestic_robot

Project Overview and Description

This project was created as a demonstration showcasing understanding of core ros concepts and best software development practices while working in robotics software teams.

In this project robot performs a small search and manipulation operation.

  • First, the robot moves through a house in search of a blue colored cube.
  • It utilizes ros movebase package for autonomously navigating through the mapped environment.
  • While moving, Opencv based filtering is used for object detection purpose. Once the object is detected, robot moves to that object location.
  • Moveit package is then used to plan manipulator trajectory towards the object to grasp it.
  • In last phase of the state machine, robot brings the object to desired location in the environment.

ACTIVITY DIAGRAM

Development Team

Sprint #1 #2 #3
Hrushikesh Budhale Driver Design Keeper Navigator
Abhijit Mahalle Navigator Driver Design Keeper
Ameya Konkar Design Keeper Navigator Driver

Table of Contents

Documentation

Doxygen generated documentation for developers can be found here

External Dependencies

Installation instructions

Install Tiago packages from wiki.ros.org

cd <catkin workspace>/src
sudo apt-get install git
git clone --recursive https://github.com/HrushikeshBudhale/decluttering_domestic_robot.git
cd ..
catkin build
source ./devel/setup.bash

Copy the existing SLAM configuration files and world file from cloned repo to the tiago directory using following command.

sudo cp -r src/decluttering_domestic_robot/configuration/smallHouse/ ~/.pal/tiago_maps/configurations/
sudo cp src/decluttering_domestic_robot/world/smallHouse.world /tiago_public_ws/src/tiago_simulation/tiago_gazebo/worlds/

For launching the simulation demo run following command. This will start a gazebo environment of a house with 5 rooms. Tiago robot will be spawned. Also a small blue color box will be spawned in a random location.

roslaunch decluttering_domestic_robot simulation.launch

Launch file can be used to record a bag file by passing rocord_bag argument as follows

roslaunch decluttering_domestic_robot simulation.launch record_bag:=true

Tests

To Build the Tests using catkin_make run following command in your catkin workspace.

catkin_make tests

To run the test execute following command.

rostest decluttering_domestic_robot main_test.test

Generating documentation

Run the following command in folder's root directory to generate new documentation

doxygen docs/doxygen_config.conf

Activity Diagram

ACTIVITY DIAGRAM

UML Class Diagram

UML Diagram

Known Issues

Moveit trajectory generation fails while picking objects in places very near to the walls.

About

Developed a ROS software package for a domestic decluttering robot that scans the house floor for a specific object using Lidar, picks the object, and places it at a pre-defined location.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 94.1%
  • CMake 5.9%