Hi,
we are working in some research projects and would also like to use an existing UR10(e) as a demonstrator for control algorithms. Is there any way (e.g. low level APIs, own UR-CAPs, etc) we can comand and control the joint torques / currents / voltages? Anything more low level than joint speed?
-Klaus
Hi @klaus.ening,
There is no method for setting the joint torques. The script function “force_mode()” is what get closest. Maybe with the DH-parameters you can do the dynamics calculation from joint torques into tool force/torques
https://www.universal-robots.com/articles/ur-articles/parameters-for-calculations-of-kinematics-and-dynamics/
Hi Ebbe,
thanks for the answer. This sounds like a suboptimal and computation intensive route. I will have a look though.
Any chance the “servoj” “a”-parameter" might be useable in the future? Or to provide a low level “research-interface” ?
-Klaus
Hi @klaus.ening,
I completely agree. I think if the ROS community is having the same need. Then the likelihood is much higher.
Hi @Ebbe,
are there any updates on this?
We would like to use the UR10e on top of 3 additional axes (6+3=9DoF) for a teleoperation application. Our workaround would is to command the torques of the first 3 joints directly to the motor drivers and then mapping the last 6 torques (corresponding to the UR10e) to the UR10e end effector and using forcemode(). This is computationally not great however.
Thank you!
Hi @hannes.gamper,
Unfortunately there is still no way to do this directly. But thank you for sharing your wish.
You might take a look here: URScript_Examples/admittance-control at main · UniversalRobots/URScript_Examples · GitHub. It is in the cartesian space. If it is required to be in joint space maybe you can get inspired and utilize get_joint_torques() and speedj()
Ebbe