Andii – Phase II

It’s been quite a while since I’ve posted anything on the Andii navigating robot project. For most of 2006, as often happens with hobby projects, I shelved the robot. I picked it up a couple of times to present to the Orlando .NET Users Group, and for a Seminole Community College (SCC) open house event. But otherwise, the project was dormant.

So, when I started work at the University of Central Florida in the Modeling & Simulation program, I had an opportunity to continue this effort. This latest iteration picks up where I’d left off, and adds Video and GPS telemetry and a much more complete Windows client.

The software is broken into three primary components: the client, server, and shared interfaces. The server runs as a Windows service, and is composed of three independent “servers”, for vehicle control, and video and GPS telemetry. The client can connect to the each of these servers individually or at the same time.

The shared interfaces are for GPS telemetry and vehicle control using .NET Remoting. The video server offers up video data using a custom TCP/IP server instead of .NET Remoting because of the nature of the data (the heavy resource consumption for capturing and transmitting the video).

The service software employs the BrainStem.NET library for servo control, as well as two external software libraries for GPS and video management. The GPS library is GPS.NET from GeoFrameworks (~ $279) and the video library is DirectShow.NET (open source). The DirectShow.NET library wraps the Microsoft DirectX library DirectShow for use in .NET applications. The client software also makes use of DirectX for joystick input (DirectInput) and the GPS.NET library for speed and compass controls.

Here’s a screenshot of the client. If anyone’s interested in the source code, let me know and I’ll make it available (though you’ll need the GPS.NET controls).

2 Comments so far

  1. Bo on August 5th, 2007

    Hi Paul, it’s your buddy from work. I spent some time perusing your articles and I must say, you have a knack for demystifying things. I learned a good deal thanks to your convenient links. Keep at it, catch you later.

  2. samaneh on September 19th, 2007

    Your article is good, can I see it’s source code? I really need it. I want write a program for reading a picture from a camera that is connected to USB port, convert it to MPEG format and send it to another computer via network. I can’t find sutable refrence and maybe your code can help me.
    thanks a lot
    good luck

Leave a reply