robotis-git / dynamixelsdk Goto Github PK
View Code? Open in Web Editor NEWROBOTIS Dynamixel SDK (Protocol1.0/2.0)
Home Page: http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_sdk/overview/
License: Apache License 2.0
ROBOTIS Dynamixel SDK (Protocol1.0/2.0)
Home Page: http://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_sdk/overview/
License: Apache License 2.0
Any possibility for a ARM version?
Hi Guys,
I am having issues with library import to a National Instruments PXI system running on Phar lap ETS operating system. On a quick compatibility check using a DLL checker from NI yielded 5 bad imports and 18 stub imports: http://digital.ni.com/public.nsf/websearch/0BF52E6FAC0BF9C286256EDB00015230?OpenDocument
The intent is to use LabVIEW code deployed on the Real_time target and let the PXI 8840 controller control the servo's.
Any guidance as to how to proceed to fix the errors related to bad import and stub imports (see figures attached below)?
The Servo is connected to the RS-485 module, which is connected to the PXIe chassis 1078. The PXI 8840 Quadcore Real-Time controls the modules in the chassis. The PXI 8840 run on a Real Time Phar lap ETS operating system.
Any help or guidance with regards to this problem is much appreciated,
Thank you,
Sunil
Please fill out the questionnaire to give you the best support service.
Please check the pages below.
https://github.com/ROBOTIS-GIT/DynamixelSDK/wiki/4.2.2-CPP-Protocol2.0
Hello,
I'm using the C++ sdk. I find that the method Protocol1PacketHandler::WriteTxRx
only malloc(length+6)
for txpacket (src/dynamixel_sdk/Protocol1PacketHandler.cpp:509
), but rotocol1PacketHandler::TxPacket
writes the checksum into txpacket[length+6] (length+3+4-1)
, causing a out-of-bounds write.
Instead, the method Protocol1PacketHandler::WriteTxOnly
calls malloc(length+7)
(src/dynamixel_sdk/Protocol1PacketHandler.cpp:485
)
Did you note this difference between the two methods?
Thank you.
Hi again,
I am currently using dynamixel sdk develop, and I tried running the ping.c for linux64 and got this ouput. In addition, when I run the read_write.c file I got this output.
Ping.c Output
Succeeded to open the port!
Succeeded to change the baudrate!
Now the controller baudrate is : 1000000
[ID:001] Try factoryreset : Aborted
[TxRxResult] There is no status packet!
Read_write.c Output
Succeeded to open the port!
Succeeded to change the baudrate!
[TxRxResult] There is no status packet!
Press any key to continue! (or press ESC to quit!)
[TxRxResult] There is no status packet!
[TxRxResult] There is no status packet!
[ID:001] GoalPos:000 PresPos:000
Press any key to continue! (or press ESC to quit!)
I am using the dynamixel2usb if that helps. My question is why isn't the servo I have connected moving by running read_write.c? Also why does it say there is no status packet, and how do I fix this issue?
I have the servo powered with the correct voltage source attached. Thank you for all the help!
Greetings,
I would love to have a import header file to implictly import the dll in to my c++ project.
If there is one and I just have not found, would you be so kind as to tell me where it is.
Thanks in advance.
Sincerely,
Lucas
Hi : I am unable to install this Dynamixel sdk on Matlab ? Can I have a simple procedures or guidance?
Thanks alot
Hello,
I keep having an error pop up when I attempt to run the examples in the DynamixelSDK file. I've go a crustcrawler ax-18a smart arm and I'm trying to connect to it with a USB2Dynamixel hooked up to a jetson TK1 board with ubuntu tegra on it. I've tried running the Ping example and it outputs this: Succeeded to open the port!
Succeeded to change the baudrate!
[TxRxResult] Failed transmit instruction packet!
[ID:001] ping Succeeded. Dynamixel model number : 0
I'm still pretty new with UNIX coding and so I'm not sure what the failed transmit instruction packet is or how to fix it. Also I'm not sure if its the problem or not but to get the make file to work I had to comment out the Format: -m64 line.
Thanks
Please fill out the questionaire to give you the best support service.
Which DYNAMIXEL is it?
[ MX-28R ]
Which CONTROLLER is it?
[ USB2Dynamixel ]
Which VERSION of DynamixelSDK is it?
[3.4.3]
Any SOURCE SAMPLES?
[ read_write.py from the SDK example]
ISSUE: Dynamixel MX-28 does not go to the exact goal position
For example, when running the read_write.py from the SDK example, if set goal position to 100, the returned position will be 95, 104, something very close but not the exact position.
Is there anyway to make the returned position same as the goal exact position? Wait longer time, or fine tune the PID parameters?
Hi,
The example sync_write_read is always terminated due to fail to get present_position.
Note that :
[TxRxResult] Incorrect status packet!
[ID:001] groupSyncRead getdata failed
How can I fix it ?
Does the DynamixelSDK have a function that allows to set the unique ID of each actuator or do I need to use DYNAMIXEL Wizard for that?
I have been able to set the baudrate and the I.D's of both servos to 1 and 2 respectively with the Dynamixel Wizard on Robotplus. I tried running the read_write code in the linux64 directory to make sure that they both were working individually. First I had servo 1 plugged in and ran the code and it moved. After, I changed the id number to 2 in the code, and ran the code with servo 2 plugged in. The result was that the servo moved.
The strange thing I noticed was that I plugged in servo 1 and servo 2 into a 6 Port RX/EX Power Hub, and ran the code with the id number in the code set to 2 and both servos ended up moving. I'm very confused on why this is happening when I thought the code only runs for 1 servo which has the specific id. Only one of these servos has an id of 2, but why do both of them move?
Here is part of the output in the terminal:
[ID:001] GoalPos:1023 PresPos:956
[ID:001] GoalPos:1023 PresPos:956
[ID:001] GoalPos:1023 PresPos:956
[TxRxResult] Incorrect status packet!
[ID:001] GoalPos:1023 PresPos:000
[ID:001] GoalPos:1023 PresPos:60348
[ID:001] GoalPos:1023 PresPos:60348
[ID:001] GoalPos:1023 PresPos:60348
[ID:001] GoalPos:1023 PresPos:60348
[ID:001] GoalPos:1023 PresPos:60348
[ID:001] GoalPos:1023 PresPos:60348
[ID:001] GoalPos:1023 PresPos:60348
[ID:001] GoalPos:1023 PresPos:60348
[ID:001] GoalPos:1023 PresPos:60348
[ID:001] GoalPos:1023 PresPos:1018
Press any key to continue! (or press ESC to quit!)
[ID:001] GoalPos:000 PresPos:956
[ID:001] GoalPos:000 PresPos:1021
[ID:001] GoalPos:000 PresPos:956
[ID:001] GoalPos:000 PresPos:1021
[ID:001] GoalPos:000 PresPos:956
[ID:001] GoalPos:000 PresPos:1021
[ID:001] GoalPos:000 PresPos:956
[ID:001] GoalPos:000 PresPos:956
[ID:001] GoalPos:000 PresPos:1021
[ID:001] GoalPos:000 PresPos:956
[ID:001] GoalPos:000 PresPos:1021
[ID:001] GoalPos:000 PresPos:956
[ID:001] GoalPos:000 PresPos:1021
[ID:001] GoalPos:000 PresPos:956
[ID:001] GoalPos:000 PresPos:956
[ID:001] GoalPos:000 PresPos:1021
[ID:001] GoalPos:000 PresPos:1023
[ID:001] GoalPos:000 PresPos:956
[ID:001] GoalPos:000 PresPos:1021
[ID:001] GoalPos:000 PresPos:956
[TxRxResult] Incorrect status packet!
[ID:001] GoalPos:000 PresPos:000
Press any key to continue! (or press ESC to quit!)
[ID:001] GoalPos:1023 PresPos:43196
[ID:001] GoalPos:1023 PresPos:1021
Another question I had is why is it stating incorrect status packet?
Also is there a way to set an inital position for the servo to start at, such as the mid point?
In addition, I ran sync_write and I was wondering what does this code do?
Lastly, why do you need a Data Byte Length, when in the read_write code you didn't need it.
Thank you once again for all the help! We were able to at least get our RX-28 servos moving.
Referring to the documentation, the bulk_read function doesn't work with the AX series. However in protocol1.0 folder there is a bulk_read example what may suggest that it should work. Which information is true?
I’m trying to control over 20 servos from MatLab. Read_write functions work fine (except printTxRxResult and printRxPacketError functions, I also don’t know why) , sync_write also, but when I’m running bulk_read example I’m getting communication error (-3001 -> [TxRxResult] There is no status packet!) as a result of function write2ByteTxRx. I was trying to rebuilt library but it doesn’t help.
Anyone has the same problem and found any solution? Or maybe library is not supporting bulk functions with AX servos?
Hi,
I am using RX-24F. I used 12V 2A regulated supply to run it. I checked with Dynamixel Wizard in windows and it shows all the details of the servo as shown in the wiki video. I attempted to run "read_write" function it in ubuntu as suggested in wiki video link. But it does not run. although it shows that the port is open. But it does not show that " dynamixel has been successfully connected".
I tried to run "ping" also and it shows the model number 3328, but [TxRxResult] There is no status packet! is still showing.
Please help me to fix the problem.
We are working on the OpenCR (the introduction film is here at 07:07), which is a board that can work with ROS Serial or Arduino between SBC (or Computer) and the Dynamixel now, and the DynamixelSDK 3.X for Arduino as a library file has been uploaded from few weeks ago.
If you have interested with your Arduino x Dynamixel issue, come here and get the temporary source.
The official library files (or package that is available through the Arduino IDE update, maybe) would be serviced soon.
I want us ros to control dynamixel. How should i do
Hi,
I am using the SDK matlab code to control several MX-64. I wanted to use SYNC write to command motors to follow desired positions and use other read functions to read one motor position out. When I use read2ByteTXRX to read out the present position, it usually takes 1ms for a round trip. But occasionally it fails and takes 35ms with error code either COMM_RX_TIMEOUT or COMM_RX_Corrupt. Do you know how to fix this problem to make it reliable?
예제 코드 c++, matlab 모두 아래 에러가 발생합니다.
[RxPacketError] The data value is out of range!
오류 이후에 R+ manager 2.0으로 동작하는 것을 확인했고 펌웨어 복구후에도 같은 에러를 확인하였습니다. 또 확인할 것이 있을까요?
Greetings,
it is not really an issue but I just wanted to mention, that in the API documentation printRXPacketError is not documented.
Sincerly Delet0r
Hello!
I is probably not the problem of your package, but I thought maybe you have already faced similar situation in the past: I have AX-12A dynamixels and using your package and USB2DYNAMIXEL I've got back a frame from servo using Protocol1.0/Ping program, but the time between sent and received package is each time different. I use 1Mb/s and Return Delay Time of 0 (set in EEPROM area). 3 of 4 frames I've got something like 20us of delay:
But sumetimes I've got really long return delay time (about 150us or even 200us):
Do you ever seen something like this? Do you have any idea what can cause this problem?
Best,
Daniel
I am having trouble using matlab with the USB2Dynamixel and the MX-28T. I am using windows 10 and i have followed the steps to compile the library using Microsoft Visual Studio 2015 Express for Desktop. I have set all the paths according to the available tutorial. Unfortunately when i run the read_write.m file, i receive the following errors.
Index exceeds matrix dimensions.
Error in loadlibrary>getLoadlibraryCompilerConfiguration (line 497)
compilerConfiguration=compilerConfiguration(1); %unix machines return c and cpp compilers here
Error in loadlibrary (line 253)
[thunk_build_fn,preprocess_command]=getLoadlibraryCompilerConfiguration(ccinclude,header,headername,compilerConfiguration);
Error in read_write (line 60)
[notfound, warnings] = loadlibrary(lib_name, 'dynamixel_sdk.h', 'addheader', 'port_handler.h',
'addheader', 'packet_handler.h');
I am using Matlab 2014a. I appreciate any help you are able to provide.
Please fill out the questionaire to give you the best support service.
Which DYNAMIXEL is it?
Dynamixel X 4p cable connector
Which CONTROLLER is it?
USB2Dynamixel
Which VERSION of DynamixelSDK is it?
3.4.3
I am using the example as shown in the tutorial to operate DynamixelX motor using Ubuntu 14.04, everything is going right until the last command to load the c++ example. it is returning : THERE IS NO STATUS PACKET!
I saw your comments on such pre-existing issue. I have followed all of the points that you suggested there, but still haven't been able to fix this error.
When I run the ping.py on my raspberry pi, I am getting inconsistent results.
Sometimes the dynamixel model number is returned, sometimes it is not.
The issue appears to correlate with whether there is a status packet or not.
As this is provided sample code I'm hoping there's some explanation for this.
I found that if I modify ping.py (see code below) to set the initial BAUD rate to 500K then immediately change it to 1m (and don't change anything else). I can run the ping code in a loop (as fast as it will run) and it will run 10k (or more) cycles before it does not get a status packet back.
The below is manual running of the ping.py code in terminal.
pi@srsVE1:~/DynamixelSDK-3.4.1/python/protocol1_0 $ python ping.py
Succeeded to open the port!
Succeeded to change the baudrate!
[ID:001] ping Succeeded. Dynamixel model number : 12
pi@srsVE1:~/DynamixelSDK-3.4.1/python/protocol1_0 $ python ping.py
Succeeded to open the port!
Succeeded to change the baudrate!
[ID:001] ping Succeeded. Dynamixel model number : 12
pi@srsVE1:~/DynamixelSDK-3.4.1/python/protocol1_0 $ python ping.py
Succeeded to open the port!
Succeeded to change the baudrate!
[ID:001] ping Succeeded. Dynamixel model number : 12
pi@srsVE1:~/DynamixelSDK-3.4.1/python/protocol1_0 $ python ping.py
Succeeded to open the port!
Succeeded to change the baudrate!
[TxRxResult] There is no status packet!
[ID:001] ping Succeeded. Dynamixel model number : 0
pi@srsVE1:~/DynamixelSDK-3.4.1/python/protocol1_0 $ python ping.py
Succeeded to open the port!
Succeeded to change the baudrate!
[TxRxResult] There is no status packet!
[ID:001] ping Succeeded. Dynamixel model number : 0
pi@srsVE1:~/DynamixelSDK-3.4.1/python/protocol1_0 $ python ping.py
Succeeded to open the port!
Succeeded to change the baudrate!
[TxRxResult] There is no status packet!
[ID:001] ping Succeeded. Dynamixel model number : 0
pi@srsVE1:~/DynamixelSDK-3.4.1/python/protocol1_0 $ python ping.py
Succeeded to open the port!
Succeeded to change the baudrate!
[TxRxResult] There is no status packet!
[ID:001] ping Succeeded. Dynamixel model number : 0
pi@srsVE1:~/DynamixelSDK-3.4.1/python/protocol1_0 $ python ping.py
Succeeded to open the port!
Succeeded to change the baudrate!
[ID:001] ping Succeeded. Dynamixel model number : 12
++++modified bits of ping.py+++++++++++++++++++++++
if dynamixel.setBaudRate(port_num, BAUDRATE_TEMP):
print("Succeeded to change the TEMP baudrate!")
else:
print("Failed to change the baudrate!")
print("Press any key to terminate...")
getch()
quit()
if dynamixel.setBaudRate(port_num, BAUDRATE_PERM):
print("Succeeded to change the PERM baudrate!")
else:
print("Failed to change the baudrate!")
print("Press any key to terminate...")
getch()
quit()
count = 1
while True:
dxl_model_number = dynamixel.pingGetModelNum(port_num, PROTOCOL_VERSION, DXL_ID)
if dynamixel.getLastTxRxResult(port_num, PROTOCOL_VERSION) != COMM_SUCCESS:
dynamixel.printTxRxResult(PROTOCOL_VERSION, dynamixel.getLastTxRxResult(port_num, PROTOCOL_VERSION))
elif dynamixel.getLastRxPacketError(port_num, PROTOCOL_VERSION) != 0:
dynamixel.printRxPacketError(PROTOCOL_VERSION, dynamixel.getLastRxPacketError(port_num, PROTOCOL_VERSION))
if dxl_model_number == 12:
print("[ID:%03d] ping Succeeded. Dynamixel model number : %d" % (DXL_ID, dxl_model_number))
count = count + 1
else:
print "model number not returned"
print count
break
Hi,
I'm currently trying to reset the dynamixel using the dynamixel monitor because I am running linux and there is no roboplus for linux yet. I tried inputting commands that did not work. I was wondering if there is a way to fix it. I have attached a picture of what I typed and the error. I was trying to see if the commands worked, and I am trying to factory reset the dynamixel.
Things I would like to do:
Thank you!
Hi again,
I'm currently trying to reset the dynamixel using the dynamixel monitor because I am running linux and there is not roboplus for linux yet. However, i tried inputting commands that did not work. I was wondering if there is a way to fix it. I have attached a picture of what I typed and the error.
Thank you!
Hi!
I want control two Dynamixel_pro actuators with goal positions and goal velocities simultaneously. Firstly, I use DynamixelSDK GroupSyncWrite to set the goal positions, then I use DynamixelSDK GroupSyncWrite to set the goal velocities. It seems that the velocity can be controlled. Just the goal positions is tracked.
How can control two Dynamixel_pro actuators with goal positions and goal velocities simultaneously?
According to this documentation, the BulkRead function doesn't work with the AX series. Is that still the case today and why?
How about the BulkWrite function? Will that work with the the AX series?
Please fill out the questionaire to give you the best support service.
Which DYNAMIXEL is it?
[ PRO M42-10-S260-R ] ( ex: MX-64AT , XM430-350R , PRO H54-100-S500-R , ...)
Which CONTROLLER is it?
[ USB2Dynamixel ] ( ex: OpenCM , OpenCR , Arduino Uno , PC via USB2Dynamixel , ... )
Which VERSION of DynamixelSDK is it?
([NOTE] DynamixelSDK Q&A is not available anymore if it is older than ver. 3.0.0, but feedback us)
[3.4.3 ] ( ex: 3.4.2 , dxl_sdk_win32_v2_02.zip , ... )
Any PICTURES or VIDEOS?
![]( Link the PICTURES or VIDEOS here, if necessary )
Any SOURCE SAMPLES?
I used DC-DC LM2596 for power supply of motor MX-28T, perhaps one of the wires is disconnected and my computer is switched off. Thereafter USB2DYNAMIXEL ceased to detect the presence of motors via program RoboPlus. I tried to connect other motors, but nothing has changed. Could you tell me, it is possible to fix adapter USB2DYNAMIXEL or do I have to buy a new one?
Hi,
When using a XM430 in extended position mode, reading present position (register address 132) gives -4096 where position should be -1. Adjacent values are ok (0 and -2).
Position value / Bytes given by a bulk read command
0 -> 0 0 0 0
-1 -> 0 240 255 255 (should be 255 255 255 255)
-2 -> 254 255 255 255
Maybe I missed something. Thanks for helping.
Jacques
Please fill out the questionaire to give you the best support service.
I have checkout the DynamixelSDK master branch. (last release note is dated 02.17.2017).
I copied the ros directory into my catkin workspace and ran catkin_make.
I am trying to control a set of dynamixel motors at 100 Hz.
Writing at that rate is no problem.
However, reading values is very slow.
Reading three fields (goal_position, present_position, present_load) takes 7 ms.
Therefore I have reduced the read rate to 10 Hz.
I use a read function which calls the read2ByteTxRx method of the packet_handler.
I use protocol version 1.0.
I can imagine that I am making a mistake somewhere.
Could anyone indicate what I might be doing wrong?
DynamixelSDK test on Windows 10 IoT Core #7
Example codes that run by getting input values (goal positions, led values, etc.)
Symlinks issue #89
Some works for USB2AX #106
Arbotix-M controller test #30
packet_handler.h
to be visibleHello! I am confused by all of your tables in the wiki, such as this one. Can you put a key somewhere (ideally on each table) saying what the X's, -'s, or O's mean? I am interested if this SDK works on the Raspberry Pi, but all I see are O's which might mean no. Thanks for the great work.
Hi,
In function port_handler_linux.c, this code seems strange to me:
if (port_num == g_used_port_num)
{
for (port_num = 0; port_num < g_used_port_num; port_num++)
{
if (portData[port_num].socket_fd != -1)
break;
}
if (port_num == g_used_port_num)
{
g_used_port_num++;
portData = (PortData*)realloc(portData, g_used_port_num * sizeof(PortData));
g_is_using = (uint8_t*)realloc(g_is_using, g_used_port_num * sizeof(uint8_t));
}
}
I think the test if (portData[port_num].socket_fd != -1)
should be if (portData[port_num].socket_fd == -1)
?
Best,
Jacques
Hi! I'm trying to run the dynamixel motors in MatLab on Linux so I download the SDK from this link support.robotis.com/en/baggage_files/dynamixel_sdk/dxl_sdk_linux_v1_01.zip
But when I try to load the library I get this error:
...dxl/DXL_SDK_LINUX_v1_01/src/dynamixel.so: clase ELF errónea: ELFCLASS32
What I understand is that this is only available for 32 bits and mine y 64 bits.
I have been looking for SDK for 64 bits but I don't fin it. Does someone knows where I can get it or maybe how to re compile this version. Or any other solution?
Thank you!!!
Hi again, I have looked online and I think there is no Dynamixel Wizard for Linux. I am also using RX-28 servos.
I tried sudo su, and still got the same error. Also, I made sure that the slide witch is on RS485 and that the servos are properly powered with 12V, but still got the same error. I'm sorry, but I don't know how I should do number 4 from your response earlier?
Thank you (I'm not too sure whether you would of been able to see my comment since the issue is close, so I created a new issue)
안녕하세요 랩뷰를 이용해서 다이나믹 셀 서보모터를 제어해보고자 합니다.
hi, I wanna control a servo motor using Labview.
깃허브 위키에서 제공하는 예제에 랩뷰를 이용한 서보모터 제어 블록다이어그램 화면을 봤는데요.
I saw the labview code example to control servo motors provided from github wiki.
VI 파일이 제공되어있지 않아서 화면만 봐서는 잘 이해가 되지 않네요.
But, they don't share VI file, so it's difficult to understand to me.
코드 카테고리에서 이것저것 다운받아서 한번 코드를 참고해보고자 했는데 제가 가지고 있는 랩뷰 버전보다 상위 버전에서 만들어진 파일이라 열어보는게 불가능 했습니다.
I downloaded some file in code category, but it's impossible to open in my labview version because its version is upper than that of mine.
제가 가지고 있는 버전은 랩뷰2011 버전이에요.
Mine is Labview 2011.
혹시 제가 가진 버전에서 열어볼 수 있는 랩뷰 예제 VI 파일을 얻을 수 있을까요?
So may i get some VI file i can open?
참고로 제가 컨트롤해보고자 하는 모터는 다이나믹셀 MX-64 입니다.
The servo motor model which i want to control using labview is MX-64.
Hi,
I have purchased a RX-24F dynamixel servo. I have USB-RS485 converter with me. I got to manage to power up the servo from a regulated supply. The red LED glowed for a moment and then turned off.
I used other dynamixel port for connecting with PC.
GND->GND
TX+(RS-485)->D+(PIN3 of Dynamixel)
TX-(RS-485)->D-(PIN4 of Dynamixel)
Then I opened Dynamixel wizard and as provided in https://www.youtube.com/watch?v=RLnpps8eh6U&list=PLEf1s0tzVSnSgVzf4AREpat_P_HRLSiDn&index=2 , I searched for servo. But it was not found. Can anybody help me to identify the problem?
thanks,
I'm following the steps provided on this page, but I have reached a part that I'm stuck on. https://github.com/ROBOTIS-Leon/test2/wiki/3.2.2-Linux I navigated to the linux64 directory and typed the command "make" and received an error. I then typed "make clean" to try and fix the issue, but when I typed "make" again, the same error appeared.
Here is the error I have:
root@river-turtlesim:/home/christian/Downloads/DynamixelSDK-master/c/build/linux64# make
mkdir -p ./.objects/
gcc -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c -I../../include -m64 -fPIC -g -c ../../src/dynamixel_sdk/group_bulk_read.c -o .objects/group_bulk_read.o
In file included from ../../include/dynamixel_sdk/group_bulk_read.h:43:0,
from ../../src/dynamixel_sdk/group_bulk_read.c:44:
../../include/dynamixel_sdk/robotis_def.h:42:29: error: conflicting types for ‘int8_t’
typedef char int8_t;
^
In file included from /usr/include/stdlib.h:314:0,
from ../../src/dynamixel_sdk/group_bulk_read.c:43:
/usr/include/x86_64-linux-gnu/sys/types.h:194:1: note: previous declaration of ‘int8_t’ was here
intN_t (8, __QI);
^
make: *** [.objects/group_bulk_read.o] Error 1
root@river-turtlesim:/home/christian/Downloads/DynamixelSDK-master/c/build/linux64# make cleanrm -f ./.objects/group_bulk_read.o ./.objects/group_bulk_write.o ./.objects/group_sync_read.o ./.objects/group_sync_write.o ./.objects/packet_handler.o ./.objects/port_handler.o ./.objects/protocol1_packet_handler.o ./.objects/protocol2_packet_handler.o ./.objects/port_handler_linux.o ./libdxl_x64_c.so
root@river-turtlesim:/home/christian/Downloads/DynamixelSDK-master/c/build/linux64# make
mkdir -p ./.objects/
gcc -O2 -O3 -DLINUX -D_GNU_SOURCE -Wall -c -I../../include -m64 -fPIC -g -c ../../src/dynamixel_sdk/group_bulk_read.c -o .objects/group_bulk_read.o
In file included from ../../include/dynamixel_sdk/group_bulk_read.h:43:0,
from ../../src/dynamixel_sdk/group_bulk_read.c:44:
../../include/dynamixel_sdk/robotis_def.h:42:29: error: conflicting types for ‘int8_t’
typedef char int8_t;
^
In file included from /usr/include/stdlib.h:314:0,
from ../../src/dynamixel_sdk/group_bulk_read.c:43:
/usr/include/x86_64-linux-gnu/sys/types.h:194:1: note: previous declaration of ‘int8_t’ was here
intN_t (8, __QI);
^
make: *** [.objects/group_bulk_read.o] Error 1
root@river-turtlesim:/home/christian/Downloads/DynamixelSDK-master/c/build/linux64#
Hello! It's good material. thank you for making it.
anyway I'm using MATLAB R2016a on windows 10 and using Dynamixel MX-28.
I have a problem that failed to open the port with matlab.
whenever I run this program, it doesn't work with "Failed to open the port!"
however the dynamixel is normally connected to Dynamixel Wizard Roboplus.
also, I checked the comport number and edited it on mfile(read_write.m) of protocol1.0.
I want know why it doesn't work.
if you let me know, I will really appreciate it.
Hello,
I am using an ArbotiX-M controller to communicate with an MX-servos. Can I use the DynamixelSDK library to control the motors? I installed everything, however when I run the read_write.py example, I get the message "There is no status packet". (In the long-run, I would like to give torque commands to the motor - MX-68).
Thank you.
Best Regards,
Chris
I plan to work with Dynamixel AX-12A, which is connected to computer (Win64) by USB2Dynamixel. I use information from Dynamixel SDK Manual (item 4.6) for adding libraries in MatLab R2014a (it's files for DynamixelSDK-3.4.1), but when I run file "read_write.m", I got error:
Index exceeds matrix dimensions.
Error in
loadlibrary>getLoadlibraryCompilerConfiguration
(line 497)
compilerConfiguration=compilerConfiguration(1);
%unix machines return c and cpp
compilers hereError in loadlibrary (line 253)
[thunk_build_fn,preprocess_command]=getLoadlibraryCompilerConfiguration(ccinclude,header,headername,compilerConfiguration);Error in read_write (line 60)
[notfound, warnings] =
loadlibrary(lib_name,
'dynamixel_sdk.h', 'addheader',
'port_handler.h', 'addheader',
'packet_handler.h');
Also I tried to add library as it's written in ROBOTIS e-Manual v1.24.00, but I have simular error.
Could you help me, what should I do?
I saw the 1st release of the software from this repo ros/rosdistro#12346 Congratulations!
It'd be great if you could clarify somewhere (e.g. personally I recommend at minimum the description tag in package.xml
is the best since 1) that's the official package manifest 2) it'll be automatically propagated onto ROS wiki) how this software is different from dynamixel_motor package, which has been serving as the defacto option in ROS to interact Dynamixel motors (but the maintenance of it has been stale for awhile, so IMHO official package from the manufacturer should be very much welcomed from the community).
It'd be very nice also for the existing users who use Dynamixel via ROS that how APIs are different between yours ant dynamixel_motors. Maybe a table to compare the APIs would work just fine.
I don't really know if this package can replace dynamixel_motors
or if this package is something with completely different purpose/features. But I believe the questions I've raised here are FAQ for ROS users.
Kamsahamnida!
To give our customers the best support services, we are asking detailed information that brings the issue, such as development environments and situations. Just fill out the questionaire.
[NOTE] Here only deals with the issues related with the DynamixelSDK sources
, the situations
occurred by using the Dynamixel with the DynamixelSDK. Some questions that can be seen as very hardware-dependent issues
or too-much-customized source issues
will make the answer be delayed
or be linked
to another customer service division, or even be ignored
. The issue which is overlapped
with another previous issues
will be linked to the same previous issues, or even be ignored. Check if there are the same issues in the github issue
or the FAQ before putting your issue.
If you have an idea related with the DynamixelSDK sources, please give it to us through Pull Requests
Which DYNAMIXEL is it?
[ - ] ( ex: MX-64AT , XM430-350R , PRO H54-100-S500-R , ...)
It means, Which Dynamixel do you use?
.
Which CONTROLLER is it?
[ ] ( ex: OpenCM , OpenCR , Arduino Uno , PC via USB2Dynamixel , ... )
It means, Which controller or signal converter do you use?
.
Which VERSION of DynamixelSDK is it?
([NOTE] DynamixelSDK Q&A is not available anymore if it is older than ver. 3.0.0, but feedback us)
[ ] ( ex: 3.4.2 , dxl_sdk_win32_v2_02.zip , ... )
It means which version of the DynamixelSDK do you use?
. Previous versions
of the DynamixelSDK, which is not belong to the DynamixelSDK 3.X
, will not get the support
, but only the issues around it will be asked of a feedback. Check list at here → Software Help
→ Software development kit
and type the File name
of what you are using now.
Any PICTURES or VIDEOS?
![](Link the PICTURES or VIDEOS here, if necessary)
It means Do you have any pictures or videos that can show the situation? Please paste it here if you have
.
Any SOURCE SAMPLES?
[](Link the SOURCE SAMPLES here, if necessary)
It means `Is there any additional description here? That will be great help to solve a puzzle.
In fact, the film have been accessible since last year december, but I forgot to update,
so I'm sorry about that
Please come Quick Start Guide to watch it
Hi guys!
I'm working with Dynamixel XM430 and USB2DYNAMIXEL.
At first I connect the USB2DYNAMIXEL through Windows x64 and I could run the example ReadWrite, then I connect the USB2DYNAMIXEL through my Raspberry PI 2 running Raspbian LINUX, and worked nicely, I could run the example ReadWrite without problems.
Now I want connect through Raspberry PI 2 running Windows IoT, I debugged and I could run the shell, but I just get Error when opening serial port, I tried several ports, but I don't know exactly where is the error.
Have you guys tried to run the SDK through Windows IoT?
Thanks,
Alex Duarte
Implemented the dxl_x86_c.dll driver on a 64-bit Windows 7 OS.
Was able to use the Roboplus Dynamixel Manager software to control my USB2Dynamixel,
Was NOT able to open communication using the dxl_x86_c.dll.
The issue was resolved by setting the USB2Dynamixel adapter COM Port number in Windows to a single digit address (e.g. COM12 DID NOT work, but COM9 DID work).
Please look into this to determine the root cause for future applications.
Thank you.
Hi folks,
I would like to know if there is any possibility of shutting down the motor when it loses its communication, for example: I'm using usb2dynamixel and velocity mode on my motors, when I disconnect my usb2dynamixel from PC the motor keeps running, which is not good for what I'm using those motors.
Also I would like to ask if there's a shutting down in case my motor get stuck and increase the motor's current.
Thanks
Can the DynamixelSDK work with the USB2AX device instead of using the the USB2Dynamixel?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.