Dynamixel multiple motor speed controller
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?
Hi, How did you manage to use a velocity control? Or did you manage in increasing the number of revolution the motor can perform?
I created a modified dynamixel_motor driver, you can find it here: https://bitbucket.org/ElodP/dynamixel...
What should I write if I only have one motor that I wish to run with with a speed controller? Thanks
In a yam save motor parameters e.g.
JointSpeedController_2motors.yam
, in thecontrol_spawner
create only one and thecontroller_manager
can be the same as int he 2 motor example. Check out the tutorial http://wiki.ros.org/dynamixel_control...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?
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.