Background
2 million LCD monitors and TVs are sold each year in Sweden. As a monitor contains both environmentally harmful substances and valuable materials, the interest in an automated recycling process is large. This project is a part of the research project HÅPLA which investigates the possibility for such processes.
Project Aim
The objective of the project is to detect and locate LCD monitors in a pallet using a Microsoft Kinect sensor, then use a Yaskawa SDA10 industrial robot to pick up the monitors and place them by the side of the pallet. The project shall investigate the degree to which the sensor can be used to detect LCD monitors as well as how much information that can be obtained about the monitors.
Project Description
The system includes a Microsoft Kinect sensor that provides 2D-images and depth images. These images are processed by our software program in a computer in order to determine which monitor in the pallet that is most suitable to pick up. A route with a number of points for the robot arm to move through towards the grasping point is also calculated. Given the calculated points and the grasping point, the robot arm is programmed via the Yaskawa Controller to move through the points on its way towards the selected monitor to pick it up and then drop it off at a pre-programmed position on the side of the robot.
For a more thoroughly description, see ‘Technical Report’ under the section ‘Downloads’.
Future Work
There are a lot of future development opportunities. This is just the beginning of a project that will hopefully, in the end, consist of a fully developed recycling machine that retrieves pallets with monitors on a conveyor belt and sorts and places the monitors on another conveyor belt for collection of the dangerous and valuable materials inside the monitors.
Hardware
The robot used for this project was a Yaskawa SDA10 which has seven joints instead of six wich is more usual for industrial robots. The extra axis means that it can change it's posture similar as a human and has a broader operating range. This results also in a system with higher complexity that is more inclined to get stuck in singular positions.
Software
The software is written in C++ using Visual Studio and is currently compiled for a Windows environment. The software is however is not depending of any windows specific libraries so it should be theoretically be easy to compile for other operating systems as well. To enable a simple setup Cmake is used.
The robot that was used for the project could be manipulated through soap requests via http. The version we used only allowed variable reading and setting so we could not read or change any system state, like starting program or reading errors. One workaround that we used was starting a main program in the robot. This program waits for variables to be set and chooses a subroutine based on the variable value.
Third party libraries used in the project
The Point Cloud Library (or PCL) is a large scale, open project for 2D/3D image and point cloud processing. The PCL framework contains numerous state-of-the art algorithms including filtering, feature estimation, surface reconstruction, registration, model fitting and segmentation.
Libraries used by PCL:
- boost
- Eigen
- FLANN
- VTK
- Qt
- QHull