Page 2 of 2 FirstFirst 12
Results 11 to 15 of 15

Thread: Com between raspberry pi and arbotix m

  1. #11
    Join Date
    Mar 2015
    Location
    Texas
    Posts
    342
    Images
    15
    Rep Power
    39

    Re: Com between raspberry pi and arbotix m

    Did someone say magic smoke?

    Sniff sniff
    01001001001000000100110001101111011101100110010100 10000001010010011011110110001001101111011101000111 0011

    My Instagram
    My YouTube

  2. #12

    Re: Com between raspberry pi and arbotix m

    So, I'm trying to play about a bit, looking at the bioloid and ax12 libraries and trying to figure out what the arbotix would send if it wanted to set servo id 1 to position 512... could someone explain with an example? What is the length variable? Also, is it possible to use the arbotix board as the full-to-half duplex buffer? (as is what would happen if I send these packets from the Pi to the arbotix board)

    Kurt gave: ff ff <id> <len> <instruction> <params...> <checksum>
    But I'm unsure what ^ ^ ^ should be... I was hoping that I could just set both of the servo's goal position registers (Hi and Lo bytes)

    Thus far I've been using a very modified NUKE export... NUKE was great but I'd prefer to try to make my own kinematics engine. (which is why I'm trying to use the Pi as the processor for MOAR SPEED :P)
    if (coffee.empty)
    {
    coffee.refill();
    }

  3. #13

    Re: Com between raspberry pi and arbotix m

    Side Note:
    As you probably already know, I have the full Phoenix code (actually a few different versions) base running on RPI as well as several other Linux boxes. This is in my Raspberry Pi project: https://github.com/KurtE/Raspberry_Pi

    As part of this there is a directory: BioloidEx which is a port of the Arduino libraries, to talk to an USB2AX, or, Arbotix Pro, or my Teensy board. Also added support to play through the Serial ports instead of USB...

    So with it you have the ability to set the Goal position register and the like the same way as you do in Arduino code...

    Again the format of these messages is in the AX manuals.

    So if you wish to set the Goal position of 1 servo, example id 1 to 512, the packet would be something like:

    ff ff 01 03 1e 00 02 <chksum>

    Got to run or would do checksum...

    As could you use the Arbotix-M as your converter... Yes totally. As I mentioned I am doing that with a Teensy 3.2.. Although more super set as emulating Arbotix Pro... Again code up at: https://github.com/KurtE/Teensy_Arbotix_Pro
    But again there is Teensy specific code here.

    Edit: Got back after dinner and found that entered the above packet incorrectly. Forgot to put the length correctly...
    Should look something like:
    Click image for larger version. 

Name:	screenshot.jpg 
Views:	312 
Size:	14.1 KB 
ID:	6452
    Last edited by KurtEck; 02-18-2016 at 09:37 PM.

  4. #14

    Re: Com between raspberry pi and arbotix m

    So, I've been looking at the instruction packet seen here: http://support.robotis.com/en/produc...dxl_packet.htm
    With your example it has really cleared things up for me
    So am I correct in seeing that the length is: the memory register + a lo byte + a hi byte + 2 = 5? are these the "parameters"?
    Thanks for being so helpful
    if (coffee.empty)
    {
    coffee.refill();
    }

  5. #15

    Re: Com between raspberry pi and arbotix m

    Note I personally prefer looking at the other version of the manual, which I think Trossen used to have. I found a copy of the one (or similar) up at: http://www.generationrobots.com/medi...ser-manual.pdf

    The top level description on Instruction and status registers starts at I believe page 10.

    If you look at Page 19 in that version, you will see the format of the Write packet:
    Where Length is set to number of registers to write plus 3, so we are writing 2 registers, so length = 5

    The first parameter is the starting 8 bit register we are writing to. Page 12 has a table showing the different registers for the AX servos.

    So to set the current position, you need to set the goal position. The goal position has a range of 0-1023, which will not fit in an 8 bit register, so it requires 2 registers: Register 30 (0x1e), is the goal position low and 31 is the goal position high.

    So that is why the above packet shows: Register: 0x1e (Goal low), 2 bytes 0(low), 2(high), which 2*256+0=512

    Hope that helps.

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Question(s) Moving more to the Raspberry Pi
    By CreedyNZ in forum Software and Programming
    Replies: 12
    Last Post: 09-10-2015, 01:27 PM
  2. Question(s) Raspberry Pi2 and USB Webcam
    By dmcman73 in forum Robot Computers
    Replies: 8
    Last Post: 05-29-2015, 10:57 AM
  3. Question(s) Raspberry Pi
    By Robonaut in forum Robot Computers
    Replies: 20
    Last Post: 07-07-2013, 11:46 AM
  4. About to give up on the Raspberry Pi
    By jwatte in forum Software and Programming
    Replies: 5
    Last Post: 01-14-2013, 11:57 AM
  5. Just For Fun My Raspberry PI
    By rebel in forum Arbotix, Microcontrollers, Arduino
    Replies: 0
    Last Post: 12-31-2012, 06:57 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
  •