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,
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.
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?
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,
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.
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.
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.
I have also tried OpenCR 1.4.6
This version doesnot solve the problem I have
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.
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,
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
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.