Results 1 to 7 of 7

Thread: Serial communication to control dynamixels via arbotix, specifications ?

  1. Question Serial communication to control dynamixels via arbotix, specifications ?

    hi there, I saw that you can use the controller to send serial data to control the servos.

    for the poject i want to use my phantomX turret for i would need to be able to control them via serial communication as well, but i can't find some place with all the details (baud rates, messages, etc etc).

    anyone already did that and can point me to ressources or should i reverse engineer the controller's code ?

    thanks in advance

  2. Re: Serial communication to control dynamixels via arbotix, specifications ?

    I stopped beeing lazy and wrote some simple code to send postion to my servos with bioloid via serial port, rather that trying to find commander ones. this is working like a charm, but with bioloid i only have acces to 1024 position for my AX-18 (300°) where pypose have 4096, any idea on how can i get that ?

  3. #3

    Re: Serial communication to control dynamixels via arbotix, specifications ?

    As you mentioned the AX-12 servos have a range of 1024 values. I believe the MX have a range of 4096.

    If I remember properly, the Pypose/bioloid libraries, internally use a larger ranges where they shift the values to the right maybe 3 places. This helps in doing the interpolation, but then the values are scaled back to the servos actual range whenever you actually talk to the servos.

    That is suppose you tell the system that you wish for for the servos to move from the center location (512) to (500) in what would take 20 interpolation cycles. The system would want to decrement by <1 unit per interpolation period, which is difficult with fixed math. But if instead you multiply these values by 8 you get a range of 4096 to 4000 in the 20 units, so you can decrement by 4 or 5 logical units per interpolation, and then fix to actual end point for the 20th step.

    Hope that is somewhat clear.

    Kurt

  4. Re: Serial communication to control dynamixels via arbotix, specifications ?

    clear as crystal, thanks kurt. and you confirm what I had guessed.

    now I'm on my way on finding how fast you can controll theses (for the moment i hit a 20ms ceiling)

  5. Re: Serial communication to control dynamixels via arbotix, specifications ?

    I'm back with my serial related questions

    I'm now facing an intermittent problem where the tilt servo of my phantom turret blocks itself (close to the 0 range it bumps on the bottom servo).

    the servo then enter in alarm mode, I can reset that by shutting down the bot, but I also read that i can just re-anable torque to reactivate it.

    I can't find the references of the bytes is should send to do so, nor the one i should read to check if the servo is in alarm.

    is there a clear list of what i can send via the bioloid library somewhere ?

  6. #6

    Re: Serial communication to control dynamixels via arbotix, specifications ?

    There are manuals with the register set. For example:
    http://support.robotis.com/en/produc...x_actuator.htm
    http://support.robotis.com/en/produc...ries/mx-64.htm
    Then there is a document for how the communications actually work (so, how to read/write these registers):
    http://support.robotis.com/en/product/dxl_main.htm
    Put these together, and you know what bytes to send/receive!

  7. Re: Serial communication to control dynamixels via arbotix, specifications ?

    I'm new to Dynamixel programming too, and I ran into the same problem. It took me >a while< to figure out how to deal with stalled servos. The documentation is far from clear about it.

    In pseudocode, here's what I do to recover from a stall alarm:

    Code:
    // Get the current torque limit
    trqLmt = getRegister(srvoId, 34, 2);
    //If the torque limit is zero, the servo has stalled
    if(!trqLmt) {
      // Retrieve the reference torque limit from the servo
      trqLmt = getRegister(srvoId, 14, 2);
      // Restore the torque limit
      setRegister(srvoId, 34, trqLmt);
      // The servo will reset the alarm state and recover from 
      // the stall when a new goal position is next written
    }
    Update: I take it back. The AX12A manual clearly states in its description of the Torque Limit registers:

    Notes: If the function of Alarm Shutdown is triggered, the motor loses its torque because the value becomes 0. At this moment, if the value is changed to the value other than 0, the motor can be used again.
    >>Note to self: RTFM.<<
    Last edited by tigakub; 06-15-2015 at 05:08 AM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Question(s) TTL communication in Dynamixels?
    By Robotronn in forum Robotics General Discussion
    Replies: 1
    Last Post: 11-25-2014, 11:17 PM
  2. Serial communication between Arduino and Arbotix
    By dburongarcia in forum Arbotix, Microcontrollers, Arduino
    Replies: 17
    Last Post: 03-09-2014, 12:44 PM
  3. Dynamixels communication speed
    By kareth in forum DYNAMIXEL & Robot Actuators
    Replies: 4
    Last Post: 02-02-2014, 10:40 AM
  4. Question(s) arbotiX Robocontroller Specifications(noob)
    By Bunkerman in forum Arbotix, Microcontrollers, Arduino
    Replies: 6
    Last Post: 03-18-2010, 07:33 AM
  5. C++ Serial Communication
    By Resilient in forum Software and Programming
    Replies: 14
    Last Post: 02-03-2009, 03:23 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •