Project Overview
Our goal was to use a Sawyer Robotic Arm to build a tower using square blocks. We attempted to implement a feedback system that would ensure that each block was placed in an adequate position, within some small tolerance, to help stabilize the tower.
In this project, we implemented the skills we learned in Labs (computer vision, path planning, controls, etc.) Its success can be mirrored to real-world applications such as stacking boxes of products on pallets within major distribution centers.
We figured this would be an interesting project to implement as we envisioned this being an extension from what we learned in lab 7.
Sensing
Using the wrist arm camera, we were able to scan our playing field and record the position and orientation of any AR taf within view. This same camera also played a roll in ensuring accurate stacking and aided in adjustment calculations when blocks were placed incorrectly.
Planning
We used AR tags from each block to determine the orientation of the end effector and angles of each sawyer arm joint and do pick-and-place (stacking)
Using the most recent AR tag to find the square error compared with the AR tag of the first block to ensure stable stacking
Actuation
Using PID controller to efficiently do pick-and-place. Implemented learning system which allowed for more precise stacking. Using both our sensing algorithim as well as our PID, we reset the robot above the current stack to calcualte error of stack to decide whether corrections would be made or not.