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

Dynamixel multiple motor speed controller

asked 2016-02-24 04:18:02 -0600

updated 2016-03-07 05:20:34 -0600

I would like to control some dynamixel motors (namely MX 28 and MX 64) by there speed while not using 'goal_position'. In the documentation is mentioned the Wheel Mode (by setting CW = 0 and CCW =0) which I suppose is designed for my needs.

I can't find any joint_speed_controller in the dynamixel_motor pkg. Did anyone found or wrote its own joint speed controller?

If not, I'v seen the functions set_speed(self, servo_id, speed) in dynamixel_io.py but I'm not sure what is required to be set in a jont_speed_controller node. Can someone help me in this?

UPDATE

I found the solution to control a single motor velocity, but now I'm interested if I would be able to control multiple motor velocities with a single controller. In the dynamixel_io.py there is a function: def set_multi_speed(self, valueTuples) which should be used for this task.

My main question is, should I reuse the already existing JointController class or build one on my own?

edit retag flag offensive close merge delete

Comments

Hi, How did you manage to use a velocity control? Or did you manage in increasing the number of revolution the motor can perform?

Oded gravatar image Oded  ( 2016-10-31 08:20:15 -0600 )edit

I created a modified dynamixel_motor driver, you can find it here: https://bitbucket.org/ElodP/dynamixel...

zweistein gravatar image zweistein  ( 2016-10-31 08:45:48 -0600 )edit

What should I write if I only have one motor that I wish to run with with a speed controller? Thanks

Oded gravatar image Oded  ( 2016-10-31 11:49:40 -0600 )edit

In a yam save motor parameters e.g. JointSpeedController_2motors.yam, in the control_spawner create only one and the controller_manager can be the same as int he 2 motor example. Check out the tutorial http://wiki.ros.org/dynamixel_control...

zweistein gravatar image zweistein  ( 2016-10-31 14:05:35 -0600 )edit

Thanks a lot, it works. Is there a way to set the min angle limit to infinity? When publishing a positive value it turns non stop CCW (which is good), however, when publishing a negative value it stops after a serveral degrees ("At end MN True" appears in manager). Any ideas why?

Oded gravatar image Oded  ( 2016-11-01 02:18:07 -0600 )edit

I just add this feature and pushed to the repo. I did not test if it works well, so please let me know if there is any problem with it.

zweistein gravatar image zweistein  ( 2016-11-01 04:40:36 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-10-31 14:10:56 -0600

I'v created a joint velocity controller and a multiple joint velocity controller, the modified dynamixel_motor pkg can be found here: https://bitbucket.org/ElodP/dynamixel...

Details are in the README. For more information feel free to contact me.

Notice: Min Angle (CW) and Max Angle (CCW) *are not the same as *minAngle and maxAngle parameters. The first pair is the original parameters for CW and CCW, while the second pair of params are specific for my velocity controller applied on a robot arm that has physical angle limits.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2016-02-24 04:18:02 -0600

Seen: 1,738 times

Last updated: Oct 31 '16