Delta and mobile robot
design, course (MIT)
Overview
Roles: Building the delta robot, developing the software for the mobile robot
Tools/Skills: ROS, Python, CAD (SolidWorks), Computer Vision, Hardware
Timeline: February - June 2019 (5 months)
Team: 9 (MechE, Computer Science)
Goal
- Build a delta robot from a given base design
- Design and implement an end effector for the delta robot
- Develop software for the “chef” delta robot to identify, pick up, and place “toppings” on a “pizza”
- Develop software for the “waiter” mobile robot to navigate a board to deliver the “pizza”
- Develop integration and communication so the delta robot transfers the finished “pizza” to the mobile robot for delivery
Outcomes
1) Manufactured the frame and mechanism for a delta robot
2) Designed a granular jamming end effector
3) Used computer vision to identify toppings based on color
4) Integrated system to pick up and place items with the delta robot
7) Developed navigation software for the delivery robot
9) Integrated the systems to enable collaboration between the two robots
Design Process
The first step was to build the delta robot. We were provided with a base design, which we modified for improvement. We redesigned the frame so that it would be more stable and created a fixture for the table so that it would be placed in the same place every time. In addition, we wanted our workspace to be larger than what the base design could reach. To do this, we changed the length of the linkages, used ball joints with a larger angular range, and decreased the size of the end plate.
In the left column is the calculated workspace for the (top) original ball joints (20 degrees) and (bottom) new ball joints (55 degrees). We also redesigned the spacers used to attach the linkages and joints together to reduce friction. The final robot is pictured on the right.
For the end effector, we decided on a granular jamming system, which would allow us to relatively easily pick up the various topping shapes and sizes (compared to a motor-actuated gripper). This granular jamming end effector was controlled using a solenoid valve and vacuum pump as shown below. The physical device was fabricated using a balloon, coffee grounds, and a 3D printed housing.
Using a camera mounted to the top of the frame, software was developed using OpenCV to detect the colors and shapes of the toppings, as well as the locations in which they should be dropped (left). Software was developed for the mobile robot to navigate the boards based on dead reckoning as well as april tags and computer vision for course correction. Finally, the two robots communicated with each other through ROS nodes. The mobile robot would independently reach the table, but only continue on its path to the end once the delta robot was finished placing toppings and had transferred the pizza. On the right is a diagram of the system.
Reflection
Overall, this was a challenging project with several moving parts that had to all work for success at the system level. Some of the challenges were adapting to different lighting to detect the colors of the toppings and ensuring that the failure of the delta robot to perfectly complete the toppings on the pizza would not prevent the robot from at least transferring the pizza and allowing the mobile robot to complete its task. As with many projects, we likely would have figured out several of the problems given more time, but it was a good lesson in working with an interdisciplinary team as well as integrating software and hardware! However, we did win an award for the best software in the class (2.12, Introduction to Robotics)! The GIF at the top shows our robotic system, named R.E.M.Y. (Robot for Expedited Manufacturing of Ya’ pizzas) at work (4x speed).