By Zipeng Fu
Share this project to show your support
Zipeng Fu*, Tony Zhao*, Chelsea Finn
* project co-leads Stanford University
https://mobile-aloha.github.io/
The robot frame design is also available from Vention: Link. Credit: Robert Shuttleworth
Part | Quantity | Link | Price (per unit) |
---|---|---|---|
ViperX 300 Robot Arm 6DOF | 2 | Link | $6,129.95 |
WidowX 250 Robot Arm 6DOF | 2 | Link | $3,549.95 |
Tracer AGV | 1 | Link | $6,999.95 |
Lambda Labs Tensorbook | 1 | Link | $2,399.00 |
4040 800mm x 8 | 4 | Link | $42.29 |
4040 500mm x 6 | 2 | Link | $58.99 |
4040 400mm x 2 | 2 | Link | $22.99 |
4040 300mm x 7 | 2 | Link | $59.99 |
4040 L-shape connectors x 28 | 5 | Link | $32.99 |
4040 T-shape connectors x 4 | 1 | Link | $30.99 |
4040 45-degree corner connectors | 1 | Link | $21.99 |
4040 Corner Bracket and T-Slot Sliding Nuts | 2 | Link | $24.99 |
4040 caps | 2 | Link | $9.81 |
M6 20mm (for mounting robot) | 1 | Link | $9.99 |
M6 T nuts for 4040 (for mounting robot) | 2 | Link | $14.16 |
Logitech C922x Pro Stream Webcam | 4 | Link | $98.35 |
USB Hub | 2 | Link | $19.99 |
Battery Pack | 1 | Link | $699.00 |
600W DC Supply | 1 | Link | $59.00 |
12V DC Cable | 5 | Link | $15.99 |
Fork Spade Connectors | 1 | Link | $13.69 |
USB-A to Micro USB Cable | 4 | Link | $17.87 |
DYNAMIXEL XL430-W250-T | 2 | Link | $49.90 |
U2D2 | 1 | Link | $32.10 |
U2D2 Power Hub Board Set | 1 | Link | $19.00 |
Jumper Wire | 1 | Link | $9.99 |
Weights | 1 | Link | se |
Rubber Band | 1 | Link | $9.99 |
Gripping Tape | 1 | Link | $54.14 |
$31,757.86
For leader and follower end-effectors, follow the original ALOHA tutorial: ALOHA 🏖️ Tutorial
For wheel odometry, below are the required parts (6 pieces in total):
Link to STL/STEP/Fusion360 Files
Follow Part 1 of ALOHA 🏖️ Tutorial to install end-effectors for both leaders and follower robots. Also install wrist cameras for both follower robots.
Follow the CAD files: https://a360.co/47Wn6hp
Select “Model Browser” to see the component list
Click on a component to highlight it
4040-50 means a 50cm beam
Unlike the rest of the frame which has M8 screws, the robot needs to be mounted with M6 (see M6 20mm, M6 T nuts for 4040 in the BOM.)
Mounting of the leader arm (left)
Mounting of the follower arm (left)
Secure the robot to the frame with 6x M6 screws. The front of the robot base plate should align with the extrusion bars.
The robot is mounted to the frame with 2x M6.
To mount the front camera, we tape the base of the logitech webcam on top of the beam, then use the hot glue to fix the camera angle.
The beam to use
Ours
Example camera views (front, left, right)
The original ALOHA’s gravity comp is too cumbersome for mobile applications. Below is our redesign (partially inspired by GELLO):
Shoulder joint
Elbow joint
Wrist
We use 4x M2.5 20mm screws and wrap rubber bands around it.
Note: the screws might bend overtime due to the stress.
Similarly with the elbow joint.
We also added a rubber band to the wrist joint to restore it back to home position.
This is important to prevent this joint from flipping 180 degrees.
Place the battery pack on top of the bottom beams:
To power the ALOHA arms, please refer to ALOHA 🏖️ Tutorial, then plug the power supply directly into the battery pack.
Also, plug in the laptop power supply to the battery pack directly.
To connect the Tracer Base to the laptop, use the USB-CAN bus converter that comes with the base.
We use two USB hubs for this setup:
These two USB hubs are then plugged into the laptop on the left and right sides respectively.
At this point, you should be able to teleoperate both arms! Go to the mobile-aloha repo to complete the software setup, then try out one_side_teleop.py!
The wheel odometry is used to collect base velocity information during teleoperated data collection. We cannot use the readings from Tracer wheels directly, because when powered on the wheels are automatically torqued on. Thus unless AgileX (manufacturer of Tracer) updates their software to support pure reading mode from their motors, we need to turn off the base and use this odometry unit for data.
We need to install the unit on both sides of the base. For each side, we need:
Since we use the Dynamixels purely for reading base velocity (just as an encoder but not the motor), the friction of the gear could result in slipping between the ground. To reduce that, we disconnect the shaft from the DC motor inside the Dynamixel.
To further reduce slipping between the wheels and the ground, we use gripping tape to wrap around the wheels, and add weight on top of the housing.
To connect the motors to the laptop:
Lastly, setup both motors following the tutorial in Mobile ALOHA repo.
You are now ready to use the Mobile ALOHA 🏄!