"Pinchy" The Wiimote-controlled robot arm

I’ve had an old MiniMover5 trainer arm (1982) for about a year now, and hadn’t done nearly enough to get it up and running. I also just took an electromechanical systems course, and to motivate myself to make some progress (and get some help) I was able to make it into a group final project:

Basically we take the accelerometer, button, and sensor bar data from a Nintendo Wiimote, transferred over Bluetooth to a laptop, through which the user moves a virtual point in space. The computer finds an inverse kinematic solution for the arm to try to reach that point. If the point is outside of the arm’s workspace, the Wiimote even vibrates!

Anyway, the laptop commands the appropriate joint angles over a Pololu USB to Serial adapter and a Pololu Micro Serial Servo Controller, to six HS-311 servos. The arm originally used stepper motors, but they had gotten kind of wonky and the control electronics were shot.

Each servo has been modified for continuous rotation, and their potentiometers have been moved to the actual joints on the arm they control. This was really nice, since the joints are driven by a redundant cable mechanism from motors at the base. That means if you adjust the shoulder, without compensating with the elbow, two wrist, and hand motors, all the joints move in unintended ways. With the potentiometers measuring the actual joint angles, not just the motor positions, when we command one joint to move, the other motors correct for the unintended effects, and drive all the other joints to maintain their positions.

We also built a huge (world’s largest?) “sensor bar” out of a science-fair presentation board, and 50 IR LED’s, which looks really cool on a webcam viewed through an IR-pass filter:

We just presented it to the class this morning, and one of my group members felt the need to post a video of our work on you tube, check it out:

Demo Video

It still needs a lot of work, particularly faster motors (it would be nice to keep the servo electronics). Then tracks to make it mobile. Then wireless control. Then true autonomy. Then artificial intelligence…


1 Like

how do u get ure material?

Pinchy the robot arm is doing well, and is way fast thanks to two (well, three) rounds of motor upgrades. She’s now outfitted with six GM8 gearboxes, each with an RM2 high power replacement motor. Standard servo electronics weren’t able to keep up with the higher motor current, so Pinchy’s motors are now driven by a mix of quarter-scale servo control boards with big discrete FETs (Hitec HS700, HS805, and Futaba S3801, happened to be what I could find lying around).

The next problem I want to tackle is positioning precision. In their former lives running hobby servos, these controllers probably had a resolution of about 1.5 degrees, and I’m not getting results nearly that good now. These controllers are nice and simple to use, but they won’t deliver much power in response to very small position errors. What I really need to do is set up my own microcontroller to measure the joint potentiometers and my own motor controllers so I can tighten up the control loops. Or, does anyone know a supplier of cheap ~1000 tick quadrature encoders?

I still don’t quite regret getting rid of the original stepper motors, but potentiometers and DC motors aren’t turning out to be the perfect solution I originally thought they would be. Although, trying to account for the cable redundancy in software would also have driven me crazy. Sometimes it’s really hard to compare hardware/software solutions to a problem, especially when they’re both convoluted.

I was really hoping to get Pinchy playing chess for a group final project in a robot arm theory class I’m taking. We had managed to convince ourselves that we could overcome the Pinchy’s imprecision by always approaching pieces from the same side, only making large fast motions, etc… As of this morning, however, Pinchy has had her chess-playing privileges indefinitely revoked. I thought I had the pawn-pickup trajectory just right when, well, this happend:

It’s one of those things that’s just statistically inevitable. If you play with robot arms, you will eventually smash them into something delicate. I haven’t had chicken pocks or crashed a car, so I guess I was due. Amazingly the touch-pads all still work, and the arm itself is fine, but it’s time to focus on the trajectory planner itself. Making an actual robot arm move is not within the scope of the class, and thus won’t improve our project grade (LAME!). Pinchy will eventually do something neat, but at least for now, playing chess isn’t it.


Pinchy lives again!

Apparantly some nice guys over at the Carnegie Mellon University (my undergrad, yay) Robotics Academy saw the old slow YouTube video, and got in touch with me about putting the now faster Pinchy back under WiiMote control to make a demo video for their robotics high school curriculum. Teaching robotics in high school, what could be better than that!

Here’s the new video they’re using, coming to a classroom near you!


nice work, but you stole my thunder :slight_smile: I will post mine with much cheaper robot arm.