Implement impedance control - Inertia and jacobian matrix

Hello all,

I need H,J of the robot to perform trajectory in the eef in real-time. I didn’t find any note or explanation of how it can be done. for clarity, i would like to define parameters and receive it as input via rtde for every robot position.

thanks.

Do you want to control UR robot and receive actual position data from it in real-time?

I need H,J to convert eef movements to joint moments.

It is not completely clear to me what you need and why. Maybe this is what you are looking for:
https://www.universal-robots.com/how-tos-and-faqs/faq/ur-faq/parameters-for-calculations-of-kinematics-and-dynamics-45257/
You can also take a look at the script functions:

  • get_inverse_kin(x, qnear, maxPositionError=1e-10,maxOrientationError=1e-10, tcp=’active_tcp’)
  • get_actual_joint_positions()

I am trying to implement some sort of impedance control method in real time, i thought using H,J to compute the joint torques but now i understand there is no function to command torques.
now i am trying to figure out other ways. I have tried movej,movep using rtde+register but both are updated only after the robot rich the joint/position goal. i also tried force_mode but the robot does not move smooth using this command.

so to maybe summary the question, how can i implement something simple like PD controller in eef space(in real time)?

You can use the script function
get_joint_torques()
to get the joint torques. If you are targeting to realize a close loop. You can take a look at the force mode function
force_mode(task_frame, selection_vector, wrench, type, limits)

Is there any good material on force_mode? Do I need to add the tool mass when I command in z-axis?
just feedback as a customer, There is not much organize information on how to work on the robot for research purposes.

Please, check the following link

https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/urscript-dynamic-force-control-20571/