Skip to content


February 17, 2013

At the beginning of last semester, I was doing some research into how to succeed at the IGVC. Luckily enough, I found Greg Czerniak, a dude who participated in the IGVC a few years back. One the biggest takeaways I got from talking with him and listening to his advice was to pay very close attention to logistics. In his words:

The military has a saying: “Amateurs talk tactics, professionals study logistics.” If I learned one thing from my repeated IGVC experiences, it’s that logistics count. A year of work can be invalidated by a stupid silly logistics detail.

As a result, logistics have become very important to us in this project. I’d like to use this post to talk about a few points that Greg brought up, and describe some steps we’ve taken or plan to take to address them.

1. Get a physical platform as soon as possible.

We bought a wheel chair base off of craigslist for $40 early on last semester. We’ve since added our own motor controllers, but other than that, we haven’t modified it much. So far it’s been a pretty reliable physical platform. It has two very heavy lead-acid batteries located right next to the driving wheels. It’s differential drive.

2. Make sure important equipment doesn’t break due to silly mistakes.

According to the datasheet, our motor controllers do not require a flyback diode. But just in case, we have an extra pair if the ones we have die.

3. Build a flexible software design.

We’re using ROS as our software platform. The whole node/topic paradigm has helped us try to modularize our programs as much as possible, in order to make it easy to isolate problems and test individual nodes. We’ve been code reviewing each other’s stuff and white boarding things constantly–keeping in mind a larger scope–to try avoid creating what you called a rigid software cathedral.

4. Back stuff up.

We’ve been using git fairly consistently. It has been very useful in keeping track of all the changes to the code we’ve made.

5. Test, test, test…

We’ve been taking it out to test on Friday afternoons. So far we’ve taken it out five times. I’ve begun to realize that even if we only take it outside for a brief moment, the information we gather is invaluable. Since we’re using ROS we can really easily record all data coming in and out of the system to playback later. Yesterday we tested autonomous code on a soccer field with obstacles strewn. Within a few seconds on running the code, the robot ran over a cone and almost smashed into a barrel (our kill switch works!) but I still consider it an accomplishment.

6. Make it easy to recharge the robot.

It’s fairly easy to plug in the batteries to charge, although we need to work on organizing our wiring. It’s a bit of a mess at the moment.

7. Make it easy to start up the robot.

We’ve aliased all our sensors in the udev rules, so there’s no worry about stuff changing ports from boot to boot. Bringing up the robot is a little challenging. It requires us to either have the robot broadcast it’s own network, SSH into the computer from a laptop, and launch our ROS nodes, or plug in a mouse, keyboard, and monitor and launch the nodes from there. Eventually, I think it would be good idea to have the monitor, keyboard, and mouse have a permanent place on the robot. Still working on this.

8. Don’t let the robot get out of control.

We’ve implemented a dead-man switch on the controller so that if it gets dropped, even if it lands on the joystick, nothing will happen.

9. Test with the real deal.

We’ve got a few traffic barrels and cones. We’re going to order some flags and more obstacles from Grainger in the next couple of days.

10. Use a quantitative approach to evaluate results rather than just eyeballing it.

We’re still working on developing a quantitative approach. Regarding vision, right now we’re eyeballing our algorithm, and we haven’t tested in many different weather conditions. We will be trying to flesh this out a bit more.

11. Have the robot be able to withstand a drizzle.

We haven’t sealed our electronics, and everything is exposed. It doesn’t rain much here in Austin, but we do plan on sealing everything and taking it out in the sprinklers at some point.

12. Practice the presentation, have a cool poster, be well-dressed, get a table banner…

We’re not going to try too hard for the design challenge. None of us are very good at “soft skills.” A few of us are using this project as a Senior Design class project, and we have to do a few presentations and papers for it anyway, so we’ll probably just end up reusing some of those.


From → Uncategorized

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: