University at Buffalo club talks robots...

To be honest, I’m a little jealous of these guys. As you read further you’ll understand why. I loved to experiment with my toy robots when I was a kid and then tried building a few of my own. My parts budget was always way too small to afford the right stuff and my expertise was always too little to make what I had do anything impressive. The benefits of doing this work in a group are many. You can pool your resources and afford better parts and equipment. Multiple brains means a multiplication of ideas and ingenuity. The social aspect of working within a group tends to keep you more motivated and makes the work a lot more fun. Robotics is a perfect science to build a club around.

Recently I was listening to my radio and heard an announcement about the University at Buffalo Robotics Club demonstrating at our city science museum. It grabbed my interest right away and I contacted them to answer some questions for an article. Colin Lea, the club's current president, responded and was happy to participate with the help of his fellow club members:

Q. Can you tell me how and when your club was formed? Was it an extension of the university’s curriculum or was it born solely out of individual interests?

A. About 12 years ago our club branched out of the local IEEE student club at UB, however it wasn't until 2000 when we were officially established in the Student Association. Our classes mostly focus on theory so clubs provide a way of applying these ideas in practical situations. There isn't an exhaustive document to refer to, so we really only know bits of our past. Since our start we have participated in several competitions including Robocup, Sumobots, battlebots, the Trinity Firefighter Competition, the Intelligent Ground Vehicle Competition, and possible others. A brief overview of our accomplishments can be found on our website.

Q. Does there seem to be a favorite robot character from the entertainment industry among your members?

A. For most of us our interests came from more real-world robotics applications rather than a particular character in entertainment. The DARPA Grand and Urban Challenges were certainly influential as well as the Mars Rover. I remember being awestruck hearing about the accomplishments of the rover. If we had to choose one entity then perhaps Walle?

Q. What types of robotics do you focus on most within the club?

A. Our current efforts specialize in wheeled mobile robots. For the past three years we have focused on our entry into the Intelligent Ground Vehicle Competition. Additionally, we have recently worked on entries into the Trinity Firefighter Competition as well as a vehicle for our University's battlebots competition.

Our current flagship robot is for the Intelligent Ground Vehicle Competition. We have created a vehicle about the size of a mini-ATV that must traverse a couple of obstacle courses. In one it has to stay within white lines that mimic a road while avoiding cones, barrels, and other obstacles. The other involves travelling to specific locations in a field filled with barrels and fences. The robot is completely autonomous so once the vehicle starts we can't touch it. Last year we placed 12th out of over 50 teams overall.

Q. For wheeled or track locomotion of a robot have you found a particular motor type to be the most reliable and accurate to control?

A. Motors vary largely depending on the project. For our IGVC project we are currently using NPCs but we aren't entirely happy with them. We are looking for something a little more efficient for next year. For our smaller platform we like the geared motors (w/ encoders) from Super Droid Robotics.

Q. There are experiments being done with materials that contract with an electrical signal, much like human muscle tissue. Have you tried any of these materials in your experiments?

A. We have not worked with any of these materials. There is a lot of cool work going on with bio-robotics but nothing that we have investigated.

Q. A human has five senses feeding signals to its brain so it can process, or perceive, its environment. Ideally a high functioning robot must also have many sensors to process its environment to do its work correctly. What sensor technologies are experimented with most in your club and why?

A. Our sensors range from cheap infrared distance sensors costing 10-20 dollars to a high-end SICK Laser Rangefinder that retails at several thousand. The laser rangefinder is a very cool piece of equipment that tells us the distance to nearest objects 180 degrees around us. We use this to detect and avoid objects in our path for the Intelligent Ground Vehicle Competition. We use this for demonstrations during tours and everyone seems to find it really cool. For reference, it is the big yellow thing on the front of our vehicle.

We also recently got a flame detector for our Firefighter entry which is able to tell us where a candle is located in a room. The point of the contest is to extinguish a flame so the sensor is invaluable.

With our video camera we have experimented with cool stuff such as face detection and finding lane markers on the ground.

Q. For the “brain” part there’s a huge selection available of microcontroller chips, single-board computers, and micro-PCs. It’s a very different situation now than it was in the ‘80s and before. Is there a bit of the ‘kid in the candy store’ type feeling when selecting a controlling processor for your machine?

A. We use two types of micros within the club: Atmel AVRs and Arduino. Technically the Arduino also uses Atmels, but we count it separately. It is really nice for prototyping and especially for newer members who don't have experience programming lower level micros. It is something we recommend for anyone new to robotics or electronics. For our larger projects we create our own printed circuit boards (PCBs) and include surface mount Atmel chips. Over the past few years Atmel has reigned due to internal documentation and support for them. They are nice because of the free compiler as well the cheap programmers that are available to put code on the chip.

Q. What’s the favored programming language for robotics control?

A. It depends on the application. For all microcontroller projects we use variants of C. For Atmels we use embedded C with the gcc compiler and for the Arduino we use its own C-based language. C provides easier access to lower level control and is very fast. It is also much easier to program than Assembly, our other option for Atmels. Last year for our larger project we decided to program in Java largely because of our familiarity. We are planning on shifting this program over to C++ in the next year in order to get better performance. Matlab is taught to all mechanical engineers so it has also been used as a test-bed for new algorithms.

Q. In any complex creation there’s always a compromise between what you imagine, what you’d like to do, and what practicality (and money) allows you to do. What do you find most frustrating when dealing with this reality?

A. We often come up with grandiose plans claiming that we are going to produce everything by hand for really cheap while making products that are better than anything commercially available. Then reality sinks in. Because we all have classes and other commitments we have to carfeully weigh time vs money. We have a large enough budget that we don't have to scrounge around for everything, but not enough to buy everything we can dream. Due to the structure of our club, where we have about a year to complete a project, our frustration usually comes from knowing that we won't have enough time to do everything we want.

Q. Ray Kurzweil defines the “singularity” as the point where human and machine intelligence becomes equal. It may be possible but it doesn’t seem like we’re anywhere close. What are some of the feelings within your club on this issue?

A. It will be a long time before robots reach human intelligence. There is a lot of current research going on within personal robotics which will bring robots into the same living area as humans, but these machines are slow and clunky. Don't get me wrong, some of this stuff is really cool (see Willow Garage), but it will be decades before we can get robots that communicate with humans in real-time and can actually process and think on their own.

Q. I imagine some of these events give a fast education in what works and what doesn’t. What are some of your best lessons so far?

A. Test, test, test! There have been times in the past where we have built elaborate projects, but didn't have enough time to fix all of the bugs. This is a problem we had with our IGVC Vehicle last year. To remedy this, this year we built a test platform that mimic our larger vehicle. The idea is that we are able to test algorithms on a smaller vehicle during the winter and while our other vehicle is being worked on.

Q. How would you advise somebody who wanted to get started in the science and construction of robots?

A. It's unfortunate that there isn't more out there for novices. Lego Mindstorms are a great introduction but a little expensive. The age range on the Mindstorms is early teens to adults. It comes with a basic graphical programming language but also can be used with Java, C++, Matlab, and other languages. Sparkfun has a lot of parts, including some introductory kits for sale. For someone interested in getting into physical computing (programming physical devices such as motors and lights) then we definitely suggest learning about the Arduino.