Hi everyone,
I am trying to write a labview driver for dynamixel pro motors and I am in trouble. I think a sample packet will help a lot. I also try to get a sample packet by running Dynamixel SDK C++ code under my Ubuntu system but I am in trouble again %>_<%, so can anyone help me by getting a sample packet by hooking up one dynamixel pro motor and running your C++ code to read the current position of the motor under linux system?
There is a "readvalue" example under /example folder if you download Dynamixel Pro SDK for linux.
According to my understanding, it runs
DXL.WriteDWord(1, GOAL_POSITION, GoalPos, &error);
to send a signal, then it runs:
ReadDWord(1, Present_Position, &val3, &error)
which fits into
ReadDWord(id, address, *value, *error)
by id=1, address=Present_Position=611
Then it runs
Read(id, address, 4, data, error)
which fits into
Read(int id, int address, int length, unsigned char* data, int *error)
Then it runs
TxRxPacket(txpacket, rxpacket, error);
So the packet gets read will look something like this:
-----header-----
0xFF
0xFF
0xFD
0x00
--------------------
0x01 =ID
0x04
0x00 //Read data length
0x55 =INST_STATUS
?????
Then I really need the rest ????? part. Can anyone help me by print that part out to see how long it is and what it looks like? I think there're 1 error big, 2 data bits as well as 2 checksum bits.
My motor is Dynamixle pro H54-200-s500-r but I think any dynamixel pro motors will work. I would imagine this to be not easy so if somebody happens to have a motor on hand and is able to help me I will greatly appreciated.
Thank you!
Bookmarks