ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Change dynamixel MX PID parameters?

asked 2014-02-26 04:20:43 -0600

sofiad gravatar image

Hi, I'm trying to play with the PID parameters in some MX-106 servos, however am a bit unclear on how to do this. I believe that to change the P parameter I should use the set_compliance_slope service, and have tried even setting this to zero but find that I cannot move the servo freely although I expected to be able to do so. I guess my question is: exactly how can I set the PID parameters in ROS? And how do I check these values have been set to the ones I requested?

Thanks

edit retag flag offensive close merge delete

Comments

Which dynamixel driver are you using?

ahendrix gravatar image ahendrix  ( 2014-02-26 05:02:26 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2014-02-27 08:53:03 -0600

arebgun gravatar image

Hi,

The short version is that it's not really possible right now with the current implementation. I started the driver before there were any MX motors and added those models later. But Robotis decided to use the same register addresses for PID gains as for compliance margin and slope in previous series motors (RX, AX, DX, and whatever else they had before MX). See below:

DXL_CW_COMPLIANCE_MARGIN = 26
DXL_CCW_COMPLIANCE_MARGIN = 27
DXL_CW_COMPLIANCE_SLOPE = 28
DXL_CCW_COMPLIANCE_SLOPE = 29
DXL_D_GAIN = 26
DXL_I_GAIN = 27
DXL_P_GAIN = 28

So, theoretically your setting Compliance Slope to 0 should have set the P_GAIN to 0 and overwrite whatever was in register 29 (since service exposed modifies both CW and CCW simultaneously). Have you tried modifying the P_GAIN register through software provided by Robotis to make sure it does what you expect it to?

edit flag offensive delete link more

Comments

1

Hi, Thanks for your answer. I has actually figured that out but was getting confused because setting the P to zero (the only one not zero by default) still has the servo move to the goal position- I expected this to not be the case. However, this happens when I use the ROS driver as well as the Robotis software.

sofiad gravatar image sofiad  ( 2014-03-04 00:41:43 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2014-02-26 04:20:43 -0600

Seen: 1,887 times

Last updated: Feb 27 '14