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:

Monday, April 29, 2013


PR-Shelf, the most awesome, not-actually ROS-powered, robot shelf:

Saturday, April 13, 2013

National Robotics Week: Robot Block Party Pictures

I wasn't at the Robot Block Party last year, but I was amazed this year at how much bigger it was. Two years ago, there were like all of 5 tables on the outside patio, this year there were like 20, and they were all full of robots. I didn't take any photos, but there is plenty of coverage elsewhere: HBRC member Tim Craig took a bunch of pictures. Camp Peavy, another HBRCer took some more pictures.

Updated 4/15: IEEE Spectrum also now has some coverage.

Monday, April 8, 2013

National Robotics Week (and a quick note on MakerFaire)

It's National Robotics Week! And apparently, there is just TOO MUCH ROBOTICS for just one standard week, because NRW spans 9 days, and the website lists events pretty much all month.

There are a number of events in the Bay Area. First up is the Robot Block Party at Stanford from 1-6PM on Wednesday -- there are usually a ton of bots around in a somewhat impromptu show and tell. While I don't think I'll be pulling Maxwell out for this event, I'll probably be there for the later part of the event. Oh, and it's FREE.

Also this week is an interesting event by on Thursday at SRI, put on by Xconomy: Robots Remake the Workplace. Including a keynotes speech from Rodney Brooks.

April 19-21, it's RoboGames! Maxwell will be making an appearance there for sure, likely in the Silicon Valley HomeBrew Robotics Club booth.

And finally, Maxwell will battle PR-Lite at MakerFaire 2013. In chess, that is. That's right, I've dusted off the old AAAI Chess code and the PR-Lite guys have been working to adapt it to their robot. I actually ran into some major issues upgrading the chess code to Groovy as many of the PCL nodelets were not ported forward during the catkinization. So, I took this as an opportunity to rewrite the whole board/piece detection pipeline into a single node that is way faster than the old one, taking into account a number of better heuristics.

I'm still working to integrate MoveIt instead of arm_navigation, but the current code is posted now on github.