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.
Many thanks for your support and the useful info.
You are right, it will take me too much time to get my Turtlebot3 working with the AX-12A
Thus I have decided to use the X-serie motors.
2x XL430-W250-T are on their way to me.
Thank you for your feedback.
Please let us know if you have other issues with using XL430-W250-T on your platform.
Have a great day!
New motors arrived
Changed one of the motors to ID 2
However SW#1 and SW#2 tests are not working, they donot move at all.
I have loaded the opencr_core with the ARDUINO ID as well as with Shell Script, but both fail.
I also tested with opencr/DynamixelWorkbench/a_Model_Scan, and it says: 0 Dynamixels.
With the previous AX-12A I got the comfirmation and their id's, that are 5 and 6.
Now I have the 2x XL430-W250-T mounted.
Please advise me how to debug my problem.
pi@raspberrypi:~ $ wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS1/latest/opencr_update.tar.bz2 && tar -xvf opencr_update.tar.bz2 && cd ./opencr_update && ./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr && cd ..
Resolving github.com (github.com)... 18.104.22.168
Connecting to github.com (github.com)|22.214.171.124|:443... connected.
HTTP request sent, awaiting response... 302 Found
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 126.96.36.199
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|188.8.131.52|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 462386 (452K) [application/octet-stream]
Saving to: ‘opencr_update.tar.bz2’
opencr_update.tar.b 100%[===================>] 451.55K 1.07MB/s in 0.4s
2019-07-25 02:22:48 (1.07 MB/s) - ‘opencr_update.tar.bz2’ saved [462386/462386]
OpenCR Update Start..
opencr_ld_shell ver 1.0.0
[ ] file name : burger.opencr
[ ] file size : 178 KB
[ ] fw_name : burger
[ ] fw_ver : 1.2.3
[OK] Open port : /dev/ttyACM0
[ ] Board Name : OpenCR R1.0
[ ] Board Ver : 0x17020800
[ ] Board Rev : 0x00000000
[OK] flash_erase : 0.89s
[OK] flash_write : 2.66s
[OK] CRC Check : 122F782 122F782 , 0.006000 sec
I got the confirmation at speed 57600
Find 2 Dynamixels
id : 1 model name : XL430-W250:
id : 2 model name : XL430_W250
Look at the additional info I have provided in the 2 earlier messages.
To meet the baudspeed (57600) of the XL430-W250 i have also updated the baudspeed at turtlebot3_motor_driver.h
After the update of the opencr_core, the motors still are not moving.
I hope soon to get solution from you.
I believe TurtleBot3 requires Baudrate of 1Mbps(1,000,000bps) to operate.
This setting can be easily performed if you use OpenCR Arduino Example "turtlebot3_setup_motor".
This example will allow you to configure DYNAMIXEL for left and right wheel one by one.
Once you complete the DYNAMIXEL setting, don't forget to upload turtlebot3 core sketch to OpenCR.
As I mentioned in the earlier posting, there's a bug related to SW1 and SW2 in the recent version, so please use OpenCR board manager v1.4.7
Thanks , Turtlebot3_setup_motors is working fine. Setup en test completed.
It did not say that the baudrate has been changed.
I will leave them as they are and hopefully they are in 1000000bps mode.
Again thank you very much for your support.
Your advise did the job!
SW-tests are working now.
Now I can continue my Turtlebot journey...
Have nice day