Coder Social home page Coder Social logo

hrushikeshbudhale / decluttering_domestic_robot Goto Github PK

View Code? Open in Web Editor NEW
6.0 0.0 4.0 4.44 MB

Project using Mobile manipulator and ROS navigation stack to complete home organising task.

License: MIT License

CMake 5.90% C++ 94.10%
ros robotics slam moveit opencv cpp github-ci mobile-manipulator robotic-arm gazebo

decluttering_domestic_robot's Introduction

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.

decluttering_domestic_robot's People

Contributors

abhijitmahalle avatar ameyakonk avatar hrushikeshbudhale avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.