IEEE Robot

The joys of the real world 

I'm a proud member of the IEEE Robot student group here at Madison.

What we do

Intelligent Ground Vehicle Competition 

Primarily we compete in the Intelligent Ground Vehicle Competition (IGVC). The competition is broken down into three parts: Autonomous, where the robot has to drive itself between two white lines and avoid obstacles on the path; Navigation, where the robot has to drive to particular way points while avoiding obstacles; and Design where members of the team give a 10 to 15 minute presentation on all the cool features of the robot.

Software

What it Does 

The robot gathers sensor data from a camera, laser range finder (LRF), digital compass, GPS, and wheel encoders. It uses the camera and LRF to detect obstacles in front of it and to determine where it shouldn't go. When it's in the Navigation challenge it uses the digital compass, GPS, and encoders to determine where it is, and as long as it doesn't see an obstacle in front of it, where to go.

How it Does it 

The Old Way

The last two years the code base has been written in Java and C. The Java ran on a laptop that talked to the C running on a embedded level system. My first year on the team I spent several late nights working with a few other team members to redesign the model of our control code.

The New Way

This year we've decided to start fresh with a new framework. We've decided to use a pre-existing framework called URBI. It's a client server approach to robot control. Its main feature is a scripting language that you can embed C++ objects into. This will allow us to use their powerful scripting language with efficient image processing code, which will be very useful when we tackle our new goal for this year: Stereovision.