Tuesday, April 30, 2013

Blast from the Past: PR-MINI

I was recently updating my personal website when I realized that I had some projects that had never seen the light of day. This post is about one of these old projects that I never showed off:

Back in late summer of 2010 I started to build a miniature PR2. It was a 60% scale model of the PR2 arms, base, and torso. The base was differential drive instead of the more expensive casters found in the PR2. I reused the motors and 6" wheels that had previously been used in REX, one of my first large robots. For this robot, the frame was primarily 8020 Aluminum rail covered/connected with laser-cut ABS and the occasional sheet metal bracket:

The head sported a pan/tilt, which used two AX-12s for tilting and a third for pan. It had two webcams for stereo, and was designed with enough space between the web cams to install a Videre short-range stereo camera, although I never got around to that:

The arms were pretty massive, nearly 0.6 meters long, with 7 servos. The shoulder pan, forearm roll, wrist pitch and wrist roll joints were AX-12s. The shoulder lift joint was an RX-64, while the elbow and upper arm roll joints were powered by (admittedly, under-powered) RX-24F servos:

The torso had a 12" throw linear actuator, and used expensive and heavy 8020 parts to form the bearings and rail:

The entire thing was controlled by a laptop, tucked into the base, and an ArbotiX prototype with integrated motor drivers. When dealing with robots this big and heavy, an E-stop is a must. The wiring on the back panel was made somewhat tidy, and covered with Lexan shells:

I went as far as moving arms around under ROS, and tuning in the navigation stack a bit. The code developed for this robot later became the arbotix_ros drivers:

A couple of things did this robot in. First off, it was really heavy (45lbs) and hard to easily transport around (which I was doing a lot of back then). Transport was quite funny as well, because the arms loved to dangle in every possible direction, leading to the "bubble-wrap straight jacket":

Second, the Kinect came out shortly afterwards, making the sensor suite pretty lacking, and looked ludicrous trying to strap a Kinect on this robot. A number of lessons learned are pretty clear in Maxwell, which was built shortly after this robot sacrificed his arms. Oh, and since I couldn't find a reason to slip this picture into the story above, here is a view of the Autodesk Inventor CAD model:


  1. Can you estimate how much this cost total?

  2. The robot servos, batteries, motors, wheels, frame cost about $2500. Honestly though, the shoulder and elbow servos should have been the next step up, which would add about $700 to that. I didn't have to pay for laser cutting time or ABS, but I imagine there might be about $100-$150 raw material, and if you used a service like Pololu, maybe $300-400 in laser time (there are a lot of parts). On top of that, you would have $100 for the webcams, $1200 for a Hokuyo laser, and the cost of a laptop or Mini-ITX to go in the base.

    Maxwell was my next robot after this, and had only a single arm (which was actually more capable). The cost rollup on that robot (including actual quotes of laser cut materials) before I added the torso lift or upper arm roll was closer to $2000 including everything except the laptop and a laser (so, an Asus Xtion, the servos, drive motors, wheels, casters, lasercut frame, 8020 parts)

    1. This is great! I'm working on a similar low-cost but capable robot project called DORAbot. check it out on dorabot.com

      BTW we probably met on ROSCON2012...

    2. I'm new to robotics and have a few naive questions:

      1. Maxwell has only 1 arm vs 2 for PR-mini. Why is Maxwell more capable than PR-mini?

      2. PR2 costs $280, UBR-1 costs $50k, but PR-mini costs only $6k. Other than physical size, battery, and computer, what are the major functional differences between PR-mini and PR2?