When using position controller, low calibration_duty value means the motor will rotate slowly during the initial calibration while high value means the motor will rotate faster. However, when setting calibration_duty value lower than 0.1, the motor instead rotate at full speed. In random probability, the motor will sometimes oscillate back to home position after rotating at full speed but the program never indicates that the calibration is finished.
Abstract
When using position controller, low
calibration_duty
value means the motor will rotate slowly during the initial calibration while high value means the motor will rotate faster. However, when settingcalibration_duty
value lower than 0.1, the motor instead rotate at full speed. In random probability, the motor will sometimes oscillate back to home position after rotating at full speed but the program never indicates that the calibration is finished.How to Reproduce the Bug
https://github.com/sbgisen/vesc/blob/3d25c6a61d7cd14c673efe7412cbccd8afb7cad5/vesc_hw_interface/launch/position_control_sample.launch#L7-L17 In the rosparam above, add the following parameters:
Setting the
calibration_duty
lower than 0.1 will do the job.Problem due to the Bug
Factors
Suggestion