Winner of Spring 2022 2.12/2.120 Robotic Challenge Competition!
Project Requirements
Utilizing a Universal Robots UR5e Collaborative Robot…
- Identify and pick up large scale construction bricks from a pile of randomly placed bricks
- Orient and position bricks over a worksite
- Place bricks sequentially to build up a perimeter wall around the worksite
Hardware Design
Key Design Features
- Computer Vision (CV) achieved through embedded camera ESP32 micro-controller package
- Redundant axial plane HX-711 load cell for contact sensing
- D-shaped gripper with compliant sleeves for multi-optional gripping postures
- Radial gear rack and pinion assembly powered by a servo for gripper actuation
- Modular plate-by-plate mechanical assembly approach to enable easy component replacement/troubleshooting
Design considerations
Servo motor provides single point-of-failure for system
- Ran lifecycle tests on gripper actuation and validated approximate lifetime of actuator to be 250 cycles (2.5 times higher than required lifecycle)
Load cell provides possible false readings or noise that can interrupt the operation
- High-pass filter integrated into data-processing node for load cell, tests conclude that readings fall within acceptable threshold for contact sensing
- High-level control architecture designed to accept load cell readings upon failed CV depth sensing
Software Design
Key Design Features
- Developed in ROS/rosserial package, enabling cross-compatibility framework with UR5e ROS driver
- Utilized overhead Intel Realsense camera for inertial tracking/redundant depth sensing
- Object detection achieved through HSV threshold
- Simultaneous state tracking and trajectory planning via ROS node with UR5e
- Object positioning and orientation discovery achieved through edge tracking with bounding box
Design considerations
ESP32 camera reliability is questionable
- Utilize overhead Realsense camera as redundant visualizer and extend object detection and location identification algorithm
Location of placed bricks must be tracked to avoid unintentional stacking order
- Before executing brick placement step, utilize Realsense camera to check location of placed bricks and reconfigure placement location upon discrepancy discovery
Brick falling from gripper during transit
- Run “IS_GRABBED” sequence to check for successful lift and hold of brick via Realsense and ESP32 cameras