POST No. 2407485
Turtlebot3 with Dynamixels id's 5 and 6
2019-07-11 21:16:21 fredeisen

Hi support-team,

All went fine in setting up the Turtlebot3 environment.

After loading the OpendCR_core , the motors do not respond by pressing SW#1 and SW#2

Apparantly the core is working on Dynamixels ID 1 and 2.

Is there a way to fix this problem, the software way?

Thanks and best regards,


2019-07-11 21:16:21
2019-07-12 11:36:39 Will Son


In order to use ID 5 and 6 for the left and right wheel of TurtleBot3, you'll need to modify the Arduino TurtleBot3 core source code.


Thank you.

2019-07-12 11:36:39
2019-07-14 18:10:55 Fred Eisen


Thanks for prompt response.

However I have not been able to locate the menstioned file on my laptop,

although i am able to compile turtlebot3_core free of errors..

How should I proceed sothat I can get access to the "turtlebot_motor_driver.h" and

afterthat get it integrated when I re-compile opencr_core?




2019-07-14 18:10:55
2019-07-15 07:05:15 Kurt Eckhardt
Not sure of what OS you are using on your laptop...  But for example on my Windows 10 machine, it is stored wherever Arduino saves away the information associated with boards that you add through the board manager... 

On my Windows 10 machine it is located in the directory: C:UserskurteAppDataLocalArduino15packagesOpenCRhardwareOpenCR1.4.8librariesturtlebot3includeturtlebot3

Probably an easy way to find it on your machine is to open up Arduino go to file->preference (or ctrl-,) on windows
And near the bottom you will see something like: More preferences can be edited directly in the file ...
And there is should be a location of your preferences... Start searching down that directory and hopefully it should follow down to packagesOpenCR...

2019-07-15 07:05:15
2019-07-15 23:49:07 Fred Eisen


I have update in my folder C:UsersfredeAppDataLocalArduino15packagesOpenCRhardwareOpenCR1.4.8librariesturtlebot3includeturtlebot3 the variables

#define DXL_LEFT_ID                     5       // ID of left motor
#define DXL_RIGHT_ID                    6       // ID of right motor

After re-compilation of opencr_core the motors still not working by pressing SW#1 and SW#2

Maybe the problem because the motors I am using are Dynamixels AX-12A

Do I need another software? and how do I get it?

Thanks and best regards,


2019-07-15 23:49:07
2019-07-16 18:38:48 Fred Eisen


To get closer to the solution for the AX-12A motors,  I have also updated the variable:

#define PROTOCOL_VERSION                1.0

However it is still not working with the SW#1 and SW#2 tests.

Please advise me how to proceed further.




2019-07-16 18:38:48
2019-07-17 11:39:12 Will Son


We've found that there was a bug from updated code for safety under network disconnected situation.

This safety feature was preventing SW1 and SW2 function.

If you are using Arduino IDE, please use OpenCR board manager 1.4.7 and download the TurtleBot3 core example again.

Or you can download the latest updated code from Github repository below.


Thank you.

2019-07-17 11:39:12
2019-07-18 05:20:28 Fred Eisen


I am using the Arduino IDE

Firstly I have removed OpenCR 1.4.8 via the Board Manager.

To be sure that all is gone corretly, i also remove the Appdata/Arduino15

Then I have the Borad Manager install OpenCR 1.4.7

Next I have updated the turtlebot3_motor_driver.h, sothat it takes into account AX-14A and ID's 5 and 6.

I am really disappointed that the above doesnot solve the problem that I have.

SW#1 and SW#2 tests do not turn the motors.

Pls help.....

Best Regards,


2019-07-18 05:20:28
2019-07-18 06:42:09 Fred Eisen


I have also tried OpenCR 1.4.6

This version doesnot solve the problem I have



2019-07-18 06:42:09
2019-07-18 10:19:43 Will Son


I totally missed that you were using AX series instead of X series.

In case of using AX series, you'll need to modify quite a bit so that OpenCR could use Protocol 1.0 instead of 2.0.

This will require significant modifications in the source code as TurtleBot3 was designed for Protocol 2.0 DYNAMIXELs.

Sorry about that.

Thank you.

2019-07-18 10:19:43
2019-07-19 03:22:06 Fred Eisen


Does it mean that I should abondon the AX-motors?  and use the X series instead?

If that is the case, then I will loose my investments. Not be able to use the AX-14A's that I have bought.

I hope  to get these modifications from you sothat I can continue my journey in the turtlebot3-world.

Thanks and regards,


2019-07-19 03:22:06
2019-07-21 05:23:41 Fred Eisen


I quote a wrong number in my last message, it should be AX-12A

The difference between the X- and AX-series is the protocol they use.

Why is it difficult to make the AX-12A motor running in Turtlebot3?

If you can give the list of files to be modified in Arduino15-area, I will try myself to get it done.

The motor I/O has to be changed from protocol 2 to 1 somehow.

Please help me

Thanks and best regards


2019-07-21 05:23:41
2019-07-23 09:59:15 Will Son

Hi Fred,

It will take some time to find and rewrite the code, but there's more important issue regarding using AX series DYNAMIXEL.

AX series use potentiometer to get an absolute position, which inevitably introduce dead zone(invalid angle) between 300 ~ 360 degree.

This will make difficult to get a stable velocity based on current position, so the platform may not work as you intended.


But if you still wish to try it out, I'd recommend to start with reviewing the "turtlebot3_motor_driver.cpp" and "turtlebot3_motor_driver.h" files as they are directly related to the settings and Protocols.

Thank you very much.

2019-07-23 09:59:15
웹에디터 시작 웹 에디터 끝