Tuesday, September 7, 2010

Found an Intriguing Issue with Servo Controller

I didn't take the time to really review all of the capabilities of the Pololu 18-channel Maestro Servo Controller.  That was an unfortunate mistake.  I could have saved myself some headache with that one.  The problem is that the Maestro SDK assumes an i386 processor architecture, not one based on an AVR or a ARM.  In fact their example code is C# based, not C based and makes use of some DLLs (either Windows or Mono .NET emulation).  You can use C and a serial link to control the Maestro, but it works with the default settings - there is no way outside of USB to reset how the servo controller works with it's specific capabilities.  I need the servo controller to be able to play with multiple different processor groups for test and development.  That is the reason that I originally went for the USB/serial nature of the Maestro.  But the other discovery was buried in the user manual (which admittedly I should have read).  I have the iRobot Create Command Module (AVR) and the Chumby (ARM) which I wanted to interface with, but now I am going to have to rethink my strategy.  There will be times that I will want to use an Ubuntu based laptop for control, but not all the time.

What I did find on the forum were some very helpful employees from Pololu who were able to steer individuals in the direction of what to do with their C code to control the Maestro.  I may attempt this route, I might develop a USB package under general Linux to meet their command structure, or I might regroup and go back to a different servo controller such as the one from Lynxmotion (SSC-32) which seems to do most of what I want to do with a simplified serial interface.  I don't have a lot of time to be fiddling with the interface to the system that I am trying to build and I still want to hold on to the USB interface nature if I can.  Having a USB to serial interface cable in the mix is not a problem for me, it just adds a little more weight that will have to be compensated for.

I also failed to order a cable for the IR Distance sensor so I will have to wait for that with the next order that I make.  Lessons learned.

No comments:

Post a Comment