Wednesday, March 24, 2010

NXT Holonomic Drive Idea

Holonomic drive systems are difficult to build with LEGO. I've never successfully built one myself, but I started to try once and I see it as something that will be increasingly easy to do in the future. You can already see more three-sided elements showing up in current sets that will make this an easier thing to do. I'm hoping that someone with more time to work on this will take it up and be able to use my attempt as a starting point. If you do, let me know and I'll let my readers know.

From my one given-up-on attempt, here's my contribution to this:
The idea: use 3 of these modules (of which I only ever built this one - I doubt that this exact design would actually be able to hold the weight of a frame and a battery box to power it), and only power the ones you need to go a particular direction. The ball will function as an unpowered caster until a motor is turned on in either direction. When the motor turns on, the geared bar swings down and the wheel in the middle will power the ball. This is an extreme take on the poor man's directional transmission concept, and I suspect that it won't work so well once there's more weight on it - but it's an idea. Omni wheels would probably be harder to build but function more smoothly. Personally, I really like the idea of a wheel that can be powered selectively, but I think it would need to be much sturdier and more firmly powered than this.

More photos are on flickr (I finally went pro and started cleaning up my account, which is how I remembered I never did blog these photos) at

Tuesday, March 23, 2010

(Recently Used) Programming Resources

I've been stashing bunches of URLs at work that I've found useful. Some of these I might want to refer to in a non-work context, but they're all based on stuff I've been working with lately (perl, Git, Bash, Cacti, Linux, etc). Nothing too earth-shattering, but very handy. Here's the current list:

Git - SVN Crash Course
Git Cheat Sheet

Pointers in Perl
Perl Regular Expressions
Perl Tutorial - Arrays
Perl File IO
Yubnub commands: perldoc, cpandoc

Vi (Don't use this often but frequently find myself in there and needto escape):
Vi Cheat Sheet
Simple Guide To VI / VIM

The .ssh/known_hosts file
Linux / Unix grep command help
Regular Expressions in grep
Show all running processes

How to Write a Shell Script
Bash Self-Extracting Script

Cacti Manual - CLI Scripts
Cacti Documentation

Monday, March 22, 2010

Robot Rumble 2010 Recap

A brief recap from yesterday's show:

Robot Rumble 2010 was a great show. As a LEGO-only person (this time out, anyway) with Triangle Amateur Robotics, I ended up being a bit of a point person for various AFOL-related topics. Although there was a group from IBM calling itself "Lego and Dancing Robotics" (long story short: they build generic 'bots from the NXT Education edition booklet and make them "dance" around. It's an outgrowth of an older educational program that they started a few years back), and there were several FIRST LEGO League teams on hand, I ended up fielding questions about LEGO, NCLUG, LEGOPalooza, and BrickMagic, alongside the more expected TAR, Maker Faire NC, TechShop, pneumatics, programming, and robotics questions. Some of it was influenced by the fact that we were so close to the front of the museum, but overall I feel like it was a good idea to have a dedicated LEGO robotics adult there (no offense - but there's a decided shortage of active LEGO hobbyists in this area who are into the robotics side of things).

The other groups displaying (listed at the official event link above) were alright, although a few were a little anticlimactic - Carolina Combat Robotics spent the day playing robot hockey instead of battle bots (maybe I got the wrong impression from their name...) and iRobot brought out almost the exact same display that they had at the NCSU career fair last year. The IBM group was helpful, since I could refer requests to see my NXT kit in action to their group. One of the IBMers also clued me in to OpenCV, which looks like something I can use with all those Logitech cameras I've been stashing around the house (back when LEGO had a branded version of the Logitech QuickCam and Logitech was still supporting the programming API for the QuickCam, I got excited about the idea of building a serious robot with them and started buying up every one I could find cheap).

My pneumatic walker spent most of the day between a completely homebrew line-follower and a Zhu-zhu pet, which is actually a pretty good metaphor for the range of robots you'll see at TAR. It was fun blowing people's minds with an entirely pneumatic robot - although pneumatic logic is old-hat by the standards of the LEGO fan community (in the late '90's/early '00's, it was something of a classic project and a fad), most people still have never seen a pneumatic walker or heard of a pneumatic logic control circuit. The idea of a system that doesn't need any software is apparently pretty far out of the mainstream of robotics now. Parents and kids, on the other hand, were pretty thrilled with this - here's something you can build and design yourself, with a little thought and less than $60 down into the hobby. A simple $60 walking robot (with almost 500 spare parts afterward) is understandably more appealing than spending ~$250 for an NXT kit and then not knowing quite how to use it and program it (which, of course, is why I intend to post instructions and encourage today's kids and parents to take this project up). Another fun thing I noticed was that kids really loved the pneumatic hand pump. Sure, it was annoying spending ~4 hours of my Saturday pumping up air pressure for my walker, but it was kind of fun to hand it over when kids asked "Can I try?", and then watch as every kid near the booth had a chance to "control" it for a minute or two. During the few times when the walker was unattended, kids were able to figure out how to use the pump and run the 'bot on their own. Next few LEGO shows, I'll have to make a point to have an interactive element controlled by a pump.

I will, as promised, deliver instructions for my pneumatic walker shortly. I've been making some revisions to allow it to run more smoothly, and I'm not entirely sure at the moment when/where I'll be putting photos and instructions online. I may test further - I had taken all the photos I needed to post instructions in the style of before, but then I realized I needed to work on reliability so that this would be ready for hours of use. I'll probably put off doing another round of instruction photos until I've worked out those kinks.

Expect event photos to show up online around the same time.

Thursday, March 18, 2010

Behind the Scenes Work

Not too much is happening here - last week's show was a bit of a bust for me but went surprisingly well overall in spite of some drama within NCLUG (in spite of months of work, the project I wanted to display at this event was not yet presentable). While I'm not used to having a supporting role at a LEGO show, things seem to have gone off well. The extra time came in handy - I ended up having some "work work" to do over the weekend, and I managed to squeeze in a concert on Saturday night. I've barely started attempting to clean up or post photos yet. I am now prepping for Robot Rumble this upcoming weekend. The next few weeks will involve more tidying up (my build area is currently absolutely unsafe) and preparing various things I'm planning on bringing to Maker Faire.

It looks like I'll be on my own for Maker Faire this year. Speaking of NCLUG drama...everyone wants to do more shows, but when we have one that's ours for the taking, nobody else wants to participate. There are some issues involved with coordinating a large group for a one day show, but I'd definitely say it's worth it to engage the larger hobbyist/DIY community and not just the families that tend to go to LEGO-only shows. Their loss - I'll be there and we'll have a great time. My only concern is that I might not have enough time to see the various other exhibits at the Faire.

Speaking of not having time, I'm stalling my wheels on pretty much all of my projects lately. In the interest of making it look like there is some progress on the fix-the-blog front, I've played around with the new Blogger Template Designer for a few minutes today (personally, I'm not happy with this tool but it's a slight improvement on their previous WYSIWYG GUI). I'm still not happy with the layout here, but I think it's a step in the right direction. I'm still interested in wasting much less space on the sides of the screen - and I'll probably switch to a 3-column set-up with a proper profile and contact info at some point - but this will have to do until I have more time available.

With any luck, my little pneumatic walker built entirely from the current LEGO Pneumatic Log Loader set will be working well enough for me to work out instructions soon - the current goal is to have that project finished and on display by Saturday. It seems like I can get simple walking mechanisms working, and I can get the binary adder control circuit working (don't worry, I'll explain this when I post instructions), but I can't seem to get everything working well together. As of this writing, the legs slip to the side more than they actually walk forward.

Monday, March 1, 2010

Rubik's Cubes

If you know me, you probably know I'm a big fan of Rubik's cubes. That's my excuse for featuring two awesome cube solving robots on LMOTD just two weeks apart.

While finding links to round out those posts, I found out that my collection is incomplete. First of all, this section of Wikipedia actually exists - which is exciting in more ways than I should think about. I apparently need to get my hands on 5x5x5, 6x6x6, and 7x7x7 cubes ASAP!