...
POST No. 2407443
Xl-320 Open Cm 9.04 wheel mode Arduino IDE
2019-06-12 03:09:30 mmaisonneuve3

Hello,

I want to use my XL-320 as a wheel for my project but, when I try to make it move in the arduino IDE with the example i_Velocity the serial monitor says :


Succeeded to init : 1000000

Succeeded to ping

id : 4 model_number : 350

[DynamixelWorkbench] Failed to set Velocity Control Mode!

Failed to change wheel mode


How can I change it ?
Thank you
2019-06-12 03:09:30
mmaisonneuve3
2019-06-13 07:40:30 Kurt Eckhardt

@willson and @mmaisonneuve3 ...


My guess is there may be a bug in the Dynamixel Workbench for setting an XL-320 into Wheel mode:   The test app calls:

  result = dxl_wb.wheelMode(dxl_id, 0, &log);

Which in dynamxel_workbench.cpp the function: bool DynamixelWorkbench::wheelMode(uint8_t id, int32_t acceleration, const char **log)


I will assume you are running protocol 2...  The code will do:

else if (getProtocolVersion() == 2.0)
  {
    if (!strncmp(model_name, "PRO", strlen("PRO")))
    {
      result = writeRegister(id, "Goal_Acceleration", acceleration, log);
    }
    else
    {
      if (strncmp(model_name, "XL-320", strlen("XL-320")))
        result = writeRegister(id, "Profile_Acceleration", acceleration, log);
    }

So it is trying to write the register with string name: Profile_Acceleration


And if I look in dynamixel_item.cpp  at the control items for XL320...  It does not have that String item in it's table.  Nor if I look at  the docs for xl-320: http://emanual.robotis.com/docs/en/dxl/x/xl320/#control-table-data-address


I am not sure what that would translate to.  On XL430-W250 that goes to address 108.  My guess is this needs to talk to the Control_Mode setting(11) and set this to 1 for wheel mode...


My guess is someone should submit a github issue either against the OpenCM project: https://github.com/ROBOTIS-GIT/OpenCM9.04/issues

Or the Dynamixel Workbench project: https://github.com/ROBOTIS-GIT/dynamixel-workbench/issues



2019-06-13 07:40:30
kurteck
2019-06-13 17:06:31 Will Son

Hi,


I'm sorry for the inconvenience.

The bug was fixed in the develop branch of the OpenCM9.04 code as below, but has not been merged into the master branch for the release.

https://github.com/ROBOTIS-GIT/OpenCM9.04/commit/8113642faf8e3f09bd4f39f4ff99dfc9f4402fc0 

I think most likely it'll be released tomorrow, but if you are in a hurry, please download the latest develop branch as below.


1. Select "develop" branch

2. Click [Clone or download] and select [Download zip]

3. Extract the zip file

4. Go to your Arduino installed directory. If you are using default setting, it'll be something like C:/Users/[user_name]/AppData/Local/Arduino15/packages/OpenCM904/hardware/OpenCM904/1.4.0

5. From the extracted folder, go to arduino/opencm_arduino/opencm9.04_release folder and copy folders and files and overwrite onto the step #4 directory.


Thank you.

2019-06-13 17:06:31
willson
Reply
웹에디터 시작 웹 에디터 끝