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
@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);
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
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.
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.