ros-industrial-attic / swri-ros-pkg

Automatically exported from code.google.com/p/swri-ros-pkg
7 stars 9 forks source link

Joint position scaling does not work for some Motoman robots. #18

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
The joint positions of some Motoman robots w/DX100 controllers are not reported 
correctly.  This occurs because the pulse counts (which are available to the 
Motoplus software) do not directly correspond to joint positions.  Because some 
motors are mechanically linked across joints, motion of other joints can affect 
the reported pulse counts of the motor.  The current Motoplus software assumes 
that pulse counts are directly related (linearly scaled) to joint positions, 
when in actuality the pulse counts of other joint positions must be taken into 
account.

The work around for this problem is to change the conversion funcitons to match 
the physical setup of a particular robot ( see: 
http://code.google.com/p/swri-ros-pkg/source/browse/trunk/motoman/dx100/src/ros_
conversion.cpp ).

The full problem discussion can be found here: 
https://groups.google.com/forum/?fromgroups#!topic/swri-ros-pkg-dev/4BreWYLwEvE

Original issue reported on code.google.com by shaun.ed...@gmail.com on 7 Aug 2012 at 1:44

GoogleCodeExporter commented 9 years ago
This bug was fixed in revision 782.  The fix involved a binary library 
(ParameterExtraction.mpLib) that was provided by motoman.  The library queries 
the internal robot parameters to determine the joint scaling factors, including 
any coupling between joints.  Incidentally, joint coupling can now be handled 
at the ROS level in the industrial_robot_client nodes.

Original comment by shaun.ed...@gmail.com on 4 Mar 2013 at 8:59