Bin Packing Robotic System

My graduate research aims at creating an accessible robotic system that can be used to test various 3D bin packing algorithms. An arm robot was integrated with a depth sensing camera so that given a random set of objects, each object can be grasped, 3D scanned, and packed into a container in a pose based on chosen criteria.
A neural network (GR-ConvNet) created by RIT alumn and fellow roboticist Sulabh Kumra was repurposed to allow the Sawyer arm robot to grasp random objects that are in the robot’s workspace and in the field of view of an overhead Intel RealSense Depth Camera D435. A hand-eye calibration method between the robot and the depth camera was also borrowed, which determines the spatial relationship between the robot’s coordinate system and the camera’s coordinate system.

Generated Grasps for Objects Alone and In Clutter
The open source Intel RealSense SDK and Point Cloud Library (PCL) packages were used to create a set of functions for grabbing 3D images, filtering and segmenting the object being held, stitching point clouds together, and displaying the resulting point cloud to the user in RViz. Code was then written for the robot to rotate the held object and display it to the camera at six different orientations. The object manipulation code and point cloud manipulation code were then combined to effectively create a 3D scanner that creates and publishes a point cloud model of the object held by the robot.

Block and Point Cloud Model
Finally, a wooden bin was constructed, and a set of 11 objects with varying dimensions that can fit into a perfect cube were designed and 3D printed. Code was written to demonstrate that the robot can place an object in the desired location inside of the bin with the desired orientation.

Object Set and Bin
This robotic system allows the user to freely choose and extract geometric features from the object model and use said features as criteria when making a bin packing decision. This will lead to experimentation with a plethora of bin packing algorithms, and with luck, opportunities to improve warehouse logistics in the field.
More information about this project is available on GitHub.