AX12+ dynamixel API

I’m hoping someone here has (or can point me toward) an optimized RLP Dynamixel / AX12 API. If such does not exist, how many people would be interested?

I have converted part of my own Dynamixel API from AVR to Panda-II. I use VS2010 and C# professionally, so I was expecting an easy conversion. That was not to be, but I have found some new ways of dealing with old issues. The partial conversion is now working, but it’s slow, and sucking up far too many resources. I’ve not yet tried an RLP, but I may go there. If I spend much time in that realm, I may start wondering why I bothered with C# for my robotics, but I’m hoping that is not the case.

Is there an existing RLP for dynamixel (AX-12 virtualization)? How many folks are interested in having such a thing?

Have you seen this? http://wiki.tinyclr.com/index.php?title=Dynamixel_AX12

Yes I have, and it was helpful to get me past some initialization issues. However, it has more akin to “hello world” than a good (common in other circles) Dynamixel API. What I have working so far goes something like this (this is abbreviated and derived from my foggy memory):


public class AX12
{
    public byte Id;
    public ushort DestinationPosition;  //commanded location
    public ushort Speed;                     //commanded speed
    public ushort CurrentPosition;        //feedback of actual location
    public byte Error;
    public byte Temperature;
    public byte Voltage;
    ...etc
}

main()
{
    AX12 wrist = new AX12(){Id = 7};
    AX12 elbow = new AX12(){Id = 5};
    AX12 claw = new AX12(){Id = 9};
    ...

    AX12[] servos = new AX12[] { wrist, elbow, ...etc };
    DynamixelBus bus = new DynamixelBus("COM3", servos);

     /* from here out, you merely set values on wrist, elbow, and any other dyn device.  The bus automatically updates the servos at a preset frequency, and retrieves status from servos on the same frequency.  Normally this is fixed between 20 and 100 hertz, depending on the application needs */
}

@ Zoid - pls use code tags, it makes it much easier to read. thx.

Better? :wink: