Project ROCRs (ROS Operated Collection Robot)
Markose Jacob - [email protected] (Graduate Student in Robotics at the University of Maryland College Park)
Yash Mandar Kulkarni - [email protected] (Graduate Student in Robotics at the University of Maryland College Park)
Vivek Sood - [email protected] (Graduate Student in Robotics at the University of Maryland College Park, Dec 2021)
MIT License
Copyright (c) 2021 Vivek Sood, Markose Jacob, Yash Mandar Kulkarni
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
ROCR is an autonomous cleanup robot which can be used indoors to pick up objects (toys) and place them at a designated location. The robot can uses SLAM and gmapping to navigate its way indoors. The RGBD camera helps it to identify the bojects it has to pick up and the two arms which using a rack and pinion method picks to the object and the robot autonomously navigates itself to the drop off point.
The following dependencies are required to run this package:
- ROS Melodic
- catkin
- Ubuntu 18.04
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ git clone --recursive https://github.com/viveksood97/Project_ROCR.git
$ source devel/setup.bash
$ cd ..
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
- To spawn the robot and to use teleop, do the following In the first terminal
roslaunch rocr rocr_teleop.launch
In the second terminal
rosrun rocr teleop
- To launch the robot to map the environment
roslaunch rocr rocr_mapping.launch
In the second terminal
rosrun rocr teleop
- To move the ROCR using python script for teleop run the below command
rosrun rocr teleop_template.py
- Controller dependencies
ros-<distro>-effort-controllers
Example : $ ros-noetic-effort-controllers
ros-<distro>-velocity-controllers
Example : $ ros-noetic-velocity-controllers
cd ~/catkin_ws
source ./devel/setup.bash
rostest rocr launch_test.launch
Link to our demo using teleop can be found here : Teleop
The link to our sprint notes can be found here
We have been following the agile methodology in this project to track all the tasks involved. We have been utilizing the notion platform to achieve this which can be seen in the link below:
The link to our video presentation : Phase1 The link to our Final video presentation : Final