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

Dynamixel XL430-W250 does not reach goal position

asked 2018-09-11 11:30:26 -0500

jelly_legs gravatar image

When placed in position control mode and given a goal position, the motor moves towards the goal position but stops before reaching that position (+- 10 positions i.e. +- 0.88 degrees). Example: If i give the goal_position as 1000 , the motor stops at 995 (present_position); goal_position 1450, actual position 1446

I am using ROS dynamixel SDK to control the motors. What can be done to make the motors reach the position exactly?

dynamixel_state:


model_name: XL430-W250
id: 1
torque_enable: 1
goal_current: 0
goal_velocity: 415
goal_position: 1000
present_current: 0
present_velocity: 0
present_position: 995
moving: 0

dynamixel_state:


model_name: XL430-W250
id: 1
torque_enable: 1
goal_current: 0
goal_velocity: 415
goal_position: 1450
present_current: 0
present_velocity: 0
present_position: 1446
moving: 0
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2018-09-11 19:29:39 -0500

Gilbert gravatar image

There is a Moving Threadhold address in Dynamixel control table. It is set to 10. If you want to change this value, add your dynamixel_state or modify EEPROM data using Dynamixel wizard or R+ manager. http://emanual.robotis.com/docs/en/so...

edit flag offensive delete link more

Comments

Ah, the AX series has the "CC/CW compliance margin" in the control table, it did not occur to me that the new control table in the X-series accounts for that in "Moving Threshold". Much obliged, Gilbert!

jelly_legs gravatar image jelly_legs  ( 2018-09-12 16:22:53 -0500 )edit

It didn't solve the problem exactly. The disparity in position changed to +- 7 from +-10 even after changing the "Moving_Threshold" from 10 to 0. This is really frustrating. It seems like the X-series is better suited for wheel type robots than manipulators.

jelly_legs gravatar image jelly_legs  ( 2018-09-13 11:30:47 -0500 )edit

From the e-manual: Moving Threshold: This value helps to determine whether the Dynamixel is in motion or not. When the absolute value of Present Velocity(128) is greater than the Moving Threshold(24), Moving(122) is set to ‘1’, otherwise it is cleared to ‘0’.

jelly_legs gravatar image jelly_legs  ( 2018-09-13 11:31:37 -0500 )edit

HI ,

I'm having the same issues now. Anyone able to resolve this?

In my attempts to calibrate a pan-tilt mechanism, I used a laser dot to track my position on a grid. I've been playing with the PID position control settings without any luck. Changing the moving threshold did help a little bit.

meat030 gravatar image meat030  ( 2019-03-22 01:39:26 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2018-09-11 11:30:26 -0500

Seen: 1,125 times

Last updated: Mar 22 '19