...
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,

Fred

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

Hi,


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.

https://github.com/ROBOTIS-GIT/OpenCR/blob/master/arduino/opencr_arduino/opencr/libraries/turtlebot3/include/turtlebot3/turtlebot3_motor_driver.h#L47 

Thank you.

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

Hi,

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?


Thanks.

Regards,

Fred

2019-07-14 18:10:55
fredeisen
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
kurteck
2019-07-15 23:49:07 Fred Eisen

Hi,

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,

Fred

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

Hi,

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.

Thanks,

Best,

Fred

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

Hi,


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.

https://github.com/ROBOTIS-GIT/OpenCR 


Thank you.

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

Hi,

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,

Fred

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

Hi,

I have also tried OpenCR 1.4.6

This version doesnot solve the problem I have

Best,

Fred

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

Hi,


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
willson
2019-07-19 03:22:06 Fred Eisen

Hi, 

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,

Fred

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

Hi,

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

Fred

2019-07-21 05:23:41
fredeisen
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.

http://emanual.robotis.com/docs/en/dxl/ax/ax-12a/#goal-position-30 


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
willson
2019-07-24 03:52:14 Fred Eisen

Hi .

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.

Best regards,

Fred

2019-07-24 03:52:14
fredeisen
2019-07-24 10:28:57 Will Son

Hi Fred,


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!

2019-07-24 10:28:57
willson
2019-07-25 19:58:58 Fred Eisen

Hi,

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.

Regards,

Fred

comment
2019-07-26 17:29:25 willson
Hi,
By default, your DYNAMIXEL baudrate is be configured to 57600bps.
Since a_Model_Scan.ino example is running with BAUDRATE 1000000bps, you should change the baudrate to 1Mbps(1000000bps).
You can use "turtlebot3_setup_motor" example to configure left and right wheels for your system.
Thank you.
2019-07-26 17:29:25
willson
2019-07-25 19:58:58
fredeisen
2019-07-25 20:25:00 Fred Eisen

HI,

Additional info:


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 ..

--2019-07-25 02:22:46--  https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS1/latest/opencr_update.tar.bz2

Resolving github.com (github.com)... 140.82.118.3

Connecting to github.com (github.com)|140.82.118.3|:443... connected.

HTTP request sent, awaiting response... 302 Found

Location: https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR-Binaries/master/turtlebot3/ROS1/latest/opencr_update.tar.bz2 [following]

--2019-07-25 02:22:47--  https://raw.githubusercontent.com/ROBOTIS-GIT/OpenCR-Binaries/master/turtlebot3/ROS1/latest/opencr_update.tar.bz2

Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.36.133

Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.36.133|: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/burger_turtlebot3_core.ino.bin

opencr_update/om_with_tb3.opencr

opencr_update/waffle_turtlebot3_core.ino.bin

opencr_update/opencr_ld_shell_arm

opencr_update/update.sh

opencr_update/

opencr_update/released_1.2.5.txt

opencr_update/waffle.opencr

opencr_update/opencr_ld_shell_x86

opencr_update/burger.opencr

opencr_update/open_manipulator_turtlebot3_core.ino.bin

armv7l

arm

OpenCR Update Start..

opencr_ld_shell ver 1.0.0

opencr_ld_main 

[  ] 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

[OK] Download 

[OK] jump_to_fw 


Regrads

Fred,

2019-07-25 20:25:00
fredeisen
2019-07-25 21:08:18 Fred Eisen

More info: 

Using Arduino/opencr/DynamixelWorkbench/o_Find_Dynamixels,

I got the confirmation at speed 57600

Find 2 Dynamixels

id   : 1    model name  :  XL430-W250: 

id  :  2    model name  :  XL430_W250




2019-07-25 21:08:18
fredeisen
2019-07-25 21:56:08 Fred Eisen

Hi,

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.

Best regards,

Fred

2019-07-25 21:56:08
fredeisen
2019-07-26 17:24:01 Will Son

Hi Fred,


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

Thank you.

2019-07-26 17:24:01
willson
2019-07-26 21:23:10 Fred Eisen

Hi,

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.

Regards,

Fred

2019-07-26 21:23:10
fredeisen
2019-07-26 21:43:50 Fred Eisen

Hi,

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

Best regards,

Fred

comment
2019-07-29 14:22:48 willson
Hi Fred,

Glad to hear the good news!
Thank you for your feedback and have fun with your project :D
2019-07-29 14:22:48
willson
2019-07-26 21:43:50
fredeisen
Reply
웹에디터 시작 웹 에디터 끝