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.
- complete demo video
Sprint | #1 | #2 | #3 |
---|---|---|---|
Hrushikesh Budhale | Driver | Design Keeper | Navigator |
Abhijit Mahalle | Navigator | Driver | Design Keeper |
Ameya Konkar | Design Keeper | Navigator | Driver |
- Documentation
- External Dependencies
- Installation instructions
- Tests
- Generating documentation
- Installation instructions
- Activity Diagram
- UML Class Diagram
- Known Issues
Doxygen generated documentation for developers can be found here
- Product backlog sheet google sheet
- Sprint planning notes google docs
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
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
Run the following command in folder's root directory to generate new documentation
doxygen docs/doxygen_config.conf
Moveit trajectory generation fails while picking objects in places very near to the walls.