Speed control of Motoman robots

144 views
Skip to first unread message

Thomas Timm Andersen

unread,
Feb 24, 2014, 6:36:22 AM2/24/14
to swri-ros...@googlegroups.com
Hi,
 
I have a Motoman mh5l with a FX100 controller. I've got it set up with ROS and MoveIt, and everything works nicely as long as I only want to do offline planning of motions from one absolute position to another.
 
I am doing a project where I need to control the robot based on sensor feedback like a force/torque sensor in the wrist and/or a stereo / Kinect camera. For this, I am wondering if it is possible to send speed commands to the controller instead of using positions?
 
The problem for me with the current implementation is that when I send a new target pose, the first pose should be the current pose, and then a new pose for where it should be geing (easily found by integrating my desired speed). This works as long as the robot is not moving when I send the command, but as soon as the robot starts, it seems impossible to get the current position of the robot right, and thus all my messages gets discarded as the first pose is incorrect.
 
So how can I change the direction of the robot when it is currently executing another motion? -Not necessarily going in the opposite direction, but just correcting the direction slightly 10-20 pr. second. Imagine inserting a peg in a ring that are swinging back and forth like a pendulum, but where a large fan adds random motion to the ring.
 
If I could send joint speed commands to the robot, this wouldn't be hard. Are there any ways of doing this?
 
Maybe if anyone knows of another interface than the ROS-based (like the Universal Robots has their own URScript interface) that could do the trick?
 
Best regards
Thomas Timm Andersen
 

Shaun Edwards

unread,
Feb 24, 2014, 10:19:51 AM2/24/14
to swri-ros...@googlegroups.com
Thomas,

There is a pull request open for something that may work for you: https://github.com/ros-industrial/motoman/pull/16

I have been waiting to merge it after the Hydro release (which is actually done now).  If you do end up using this pull request, please give me feedback.  I haven't had a chance to test it out myself just yet.

If that doesn't work for you then you could program your own velocity interface (using the current one as an example).  At  the lowest level (in the controller), the motion is sent via incremental motion commands.  I don't think it would take much to make this work for you.  The controller level code can be found in the MotoPlus directory of the motoman_driver package.

Let me know if you need any other info,

Shaun


--
You received this message because you are subscribed to the Google Groups "swri-ros-pkg-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to swri-ros-pkg-d...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply all
Reply to author
Forward
0 new messages