Desired Force multi-direction force
emielke12 opened this issue · 0 comments
I am trying to use the DesiredForceControlMode
to apply a desired force in multiple directions. Right now, it appears that the service only supports applying a force in 1 direction at a time, i.e. force in X direction, or force in Y direction, etc. It also applies the force in the tool flange frame. This means if I want to apply a force with vector [1,1,0] for instance, I would need to rotate the tool flange to be at a 45 degree angle and apply a 1.414 force value in the X direction. This is not ideal, as I would like to keep the robot orientation the same, but be able to apply the forces in multiple directions.
I looked into creating a new service that takes an int
array as a direction, and an array for force values as well, but it looks like I'd have to change the DesiredForceControlMode.class
in the iiwa_msgs.jar
. Admittedly, I'm not super familiar with java, so perhaps this is some beginner's frustration, but in the .class
file the methods of interest to me for testing are getCartesianDof()
and getDesiredForce()
. which maybe extend from org.ros.internal.message.Message
, except I can't seem to find that library anywhere. There appear to be a number of org.ros.internal
class files amongst the binaries, but none that match.
Am I going about this correctly? Is the org.ros.internal.message.Message
file somewhere? Would an easier way be to express the desired force in another frame?