Smiling Robo Logo

SmilingRobo

Mobile ALOHA

By Zipeng Fu

Mobile-Robot

Share this project to show your support

Mobile ALOHA 🏄: Learning Bimanual Mobile Manipulation with Low-Cost Whole-Body Teleoperation

Zipeng Fu*, Tony Zhao*, Chelsea Finn

* project co-leads Stanford University

https://mobile-aloha.github.io/

Our CAD

https://a360.co/47Wn6hp

The robot frame design is also available from Vention: Link. Credit: Robert Shuttleworth

Bill of Materials

PartQuantityLinkPrice (per unit)
ViperX 300 Robot Arm 6DOF2Link$6,129.95
WidowX 250 Robot Arm 6DOF2Link$3,549.95
Tracer AGV1Link$6,999.95
Lambda Labs Tensorbook1Link$2,399.00
4040 800mm x 84Link$42.29
4040 500mm x 62Link$58.99
4040 400mm x 22Link$22.99
4040 300mm x 72Link$59.99
4040 L-shape connectors x 285Link$32.99
4040 T-shape connectors x 41Link$30.99
4040 45-degree corner connectors1Link$21.99
4040 Corner Bracket and T-Slot Sliding Nuts2Link$24.99
4040 caps2Link$9.81
M6 20mm (for mounting robot)1Link$9.99
M6 T nuts for 4040 (for mounting robot)2Link$14.16
Logitech C922x Pro Stream Webcam4Link$98.35
USB Hub2Link$19.99
Battery Pack1Link$699.00
600W DC Supply1Link$59.00
12V DC Cable5Link$15.99
Fork Spade Connectors1Link$13.69
USB-A to Micro USB Cable4Link$17.87
DYNAMIXEL XL430-W250-T2Link$49.90
U2D21Link$32.10
U2D2 Power Hub Board Set1Link$19.00
Jumper Wire1Link$9.99
Weights1Linkse
Rubber Band1Link$9.99
Gripping Tape1Link$54.14

Total

$31,757.86

3D Printed Parts

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):

  • Wheel (2)
  • Mount (2)
  • Housing (2)

Link to STL/STEP/Fusion360 Files

Hardware Guide

1. Install ALOHA end-effectors

Follow Part 1 of ALOHA 🏖️ Tutorial to install end-effectors for both leaders and follower robots. Also install wrist cameras for both follower robots.

2. Build the robot frame

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

3. Mount the robots and the cameras

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)

Optional: Gravity compensation for the leader arms.

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.

4. Cable connections

4.1 Power

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.

4.2 USB connections

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:

  • 4 USBs from each robot arm, 1 USB for the Tracer Base, 1 front camera
  • 2 wrist cameras

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!

5. Wheel Odometry

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:

  • 1x DYNAMIXEL XL430-W250-T
  • 1x Wheel, 1x Mount, 1x Housing (see Mobile ALOHA 🏄 Tutorial)

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.

  1. Take out the horn following Dynamixel X-Series Horn Disassembly or brute force.
  2. Open up the Dynamixel case following [Do It Yourself] DYNAMIXEL Gear Replacement - AX-Series till 0:41. The motor we used is different from the one shown, but similar in structure.
  3. Take out the gear closest to the motor shaft, then put everything back.

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:

  • Connect both motors to the U2D2 Power Hub Board Set with the cable that comes with the motor and the jumper wires.
  • Connect the U2D2 Power Hub Board Set to the U2D2
  • Connect U2D2 to laptop with USB directly
  • Add another 12V DC Cable to the 12V power supply and plug that into the U2D2 Power Hub Board Set

Lastly, setup both motors following the tutorial in Mobile ALOHA repo.

You are now ready to use the Mobile ALOHA 🏄!

SmilngRobo

SmilingRobo, a platfrom of opensource robotics

Opensource Robotics Platform with opensource tools and resources. We are on a journey to advance and democratize robotics through opensource.