Closed marcoesposito1988 closed 9 years ago
Done! I am not in the lab at the moment, I will test it asap.
Actually after testing your master branch I am reconsidering if the position interface is at all necessary.
Before merging multi-robot-test I just couldn't use impedance mode because of all kinds of errors coming from the KUKA box, but now it works flawlessly. I guess this is because you are not sending the effort coming from the ROS PID controller anymore, but you are using the internal KUKA controller and just sending it the target position, am I right? Are you still using any custom controller with the arm?
The position interface is still needed, specially to avoid the PID tuning, which is already done by KUKA in that interface. I would leave the effort interface for people that need that for other apps, like bilateral teleoperation, etc.
I guess this is because you are not sending the effort coming from the ROS PID controller anymore,
Exactly. I'm using tau = K q_FRI ( + D(q)<-0 + tau_FRI<-0 + f_dyn() ).
This is what I call StiffnessJointInterface
in #19. Right know you can control both K and q_FRI with slides. You can also fix the K, and use it as a position-controlled robot. However, it is not as precise as using the native position control strategy, that's why it is still needed. In fact, it acts as a P-controller, and K is the proportional gain, so integral and derivative terms are missing.
What I don't like so far is having to switch scripts in the robot (which implies that you need to restart FRI), and for which I'd like to have a single KRL script. But we will get to that.
Only that fix in the script. I still would like to have one single script, but in the meantime we can work with this as well.
I should change the
ros_control.src
->ros_impedance.src
for consistency then.