dynamixel-workbench
dynamixel-workbench copied to clipboard
itemRead function does not work after Motor Error...
-
How to setup? U2D2
-
Which Dynamixel have you used? and how many? (Please describe below format to all connected Dynamixels)
-
Model Name: Combination of XL430 and XM430 servos (7 in total)
-
ID: 1 - 7
-
Baud Rate of Dynamixels: 1 Mbps
-
Protocol Version: 2.0
-
-
Write down the commands you used in order:
const char *log;
int32_t value = 0;
bool success = dxl_wb.itemRead(7, 'Hardware_Error_Status', &value, &log);
if (!success)
ROS_ERROR("%s", log);
- Copy and Paste your error message on terminal
[RxPacketError] Hardware error occurred. Check the error at Control Table (Hardware Error Status)!
- Please, describe detailedly what difficulty you are in
I'm purposely putting the motor with ID 7 into an error state (by overloading it), and then trying to read the Hardware_Error_Status register using the 'itemRead' function in the dynamixel_workbench_toolbox. Unfortunately, I always recieve the above error message - no matter what register I try to read from. Note that before putting the motor in an 'overloaded' state, the itemRead function works just fine. Is there a reason this function breaks after a motor error occurs? I'm not trying to enable the torque or even write to a register - just trying to read the register so I can know in software if the motor is in an error state or not.
Thanks
Any update on this?
Hi @swiz23 Sorry about the delayed response on this. I've created a new branch #335 for this issue which dxl_error won't block reading from DYNAMIXEL while blocking writing to DYNAMIXEL for safety purpose.
DYNAMIXEL Workbench has been updated with a limitation such as adding a new DYNAMIXEL, but without fixing bugs or adding new features. We're planning to upgrade the DYNAMIXEL SDK so that it can be a substitute for the Workbench though there could be some significant changes.
Thank you.
Got it. Thanks! Will the changes be merged into master eventually?
I think these changes are pretty safe to be merged as it only allows to "read" from DYNAMIXEL. I'll merge this change into master and release after receiving a confirmation from you application. Thanks!
Hi @swiz23 Have you had chance to try the code #335? Unless there's an issue with this change, I'll merge it to develop and prepare for the next release. Thanks!
Hi @ROBOTIS-Will, I have not tested this since I don't have any Dynamixels on me. But I'll ask a friend of mine who does to test this and get back to you.
@swiz23 Not a problem. I'll merge this into the develop branch for now :)
@ROBOTIS-Will We were able to verify that the patch does work. You can feel free to close this. Thanks!
@LSinterbotix Thanks for the confirmation! I'll include this in the next release.