University of Minnesota, Twin Cities
CSCI5551: Introduction to Intelligent Robotic Systems (Fall 2017)
Instructor: Junaed Sattar
Project by: Bat-Orgil Batsaikhan
The goal of the project is to have Baxter detect the cap and the bottle via right hand camera and place the cap on the bottle. The MoveIt! package's Inverse Kinematics Service along with ROS integration of Baxter were used for the movement of the arm. OpenCV was used to perform image processing for object detection.
Demo:
- Baxter Robot (from Rethink Robotics)
- [ROS Kinetic] (Or, ROS Indigo for Ubuntu 14.04)
- Baxter setup
Once you setup the catkin workspace using the setup tutorial, copy the package bat under src.
You need to enable the robot before running the script. Also, configure the right hand camera with 960x600 resolution (works best for me).
Currently, I'm running the scripts through Jupyter Notebook. The object detection only works for water bottles with a small cap and a round opening.
You must modify the following parameters to make it work:
- Table height
- Bottle height
- Parameters for the circle detection algorithm. Appropriate the min/max radius for the bottle opening. Experiment with param1 and param 2.
- Parameters for the blob detection algorithm. Filtering by the area works best.
To test the program, simply run all cells of the .ipynb file: bat/src/bat/End To End.ipynb. Intermediate cells are helpful for understanding the workflow.