We want to have a robot be able to pick and place different dishes into a multi-level dish rack.
To ensure proper functionality and safety, the following design criteria must be met:
Universal Gripper
End-Effector Orientation Constraints
Checkpoints for Complex Trajectories
Shortest Trajectory
Our Sawyer Robot should be equipped with a universal gripper that could pick-up a variety of dishes, such as bowls and cups with various diameters. To accommodate this, we had to redesign our gripper to be able to grip the edges of the dishes.
We also considered the handling of the dishes when designing the grippers. In fact the gripper should not be able to damage the dishes due to the soft padding added at the end. There are trade offs with different designs like suction cups are more simple but may struggle with smaller and more jagged spoons or forks.
Finally, using a universal gripper avoids the need to replace different grippers for different applications. Hence, improving efficiency.
Problem: Original gripper can’t pick-up thin objects
Solution: Redesigned the gripper
Setting end-effector orientation constraints improves efficiency and robustness as this increases the chance of an achievable motion plan for all dishes and place destinations.
After the YOLO object detection and transformation calculations have been performed. The robot knows the coordinates of the object. However, the internal path planning algorithm, when dealing with complex trajectories, is unpredictable especially with long trajectories. To improve the robustness and the efficiency of our process, we implemented checkpoints throughout the trajectories. Hence, we managed to minimize the chance of collision. This is a trade off of higher safety for lower speed. Below is an example scenario of the checkpoints :
The end-effector will move to that coordinate slightly above the object while maintaining its orientation
The end-effector will move downwards
The gripper will close
The gripped object will move to a "safe" position
End-effector orientation is changed
Object will be delivered to the dish-rack
We should aim to have the planner pick the shortest path as it is the most predictable and requires the least work. Convergence using replanning lets the solver find 50 to 100 path solutions, iterate through all of them and choose the shortest path. Giving us a trade off of predictability for replanning cost.
By setting the shortest trajectory, this improves efficiency and durability, because it can reach the goal with minimum effort and this prevents the motors from wearing our quickly, reducing required maintenance.
Ensures that the trajectory taken is the shortest (typically a straight line)
Prevents something random like this from happening