Description
I believe there is a problem with how angle limits are calculated when a motor is in indirect orientation. Here is a sample config
"base_arm":{
"id":2,
"orientation":"indirect",
"type":"MX-64",
"angle_limit":[-180, 180],
"offset":-50.0
},
As long is my angle limits are relaxed (here, -180 to 180), everything is fine. Now, if I move the arm in compliant mode, I find my angle limits are [40, 100]
. Now, if I modify my config and add those values as angle limits and turn the motors on, my base_arm
joint finds itself completely outside of the angle limits and bends over to try to get back within the limits.
When checking base_arm.angle_limit
, the values seems off: [10, -50]
. I guess it is [-min-offset, -max-offset]
, but it doesn't look right. Sorry for not being more precise, I'm rather new to pypot and dynamixels, not sure if direct/indirect is pypot or dynamixel specific.