We would like to know how to access the allowed joint torques per timestep through the csv data recorded by LogViewer.
For a safety assessment project we use a simulator to calculate collision forces, and for simulation validation we compare the simulation forces with a recorded real world scenario where UR5e collides with a force tester.
The real world robot motions etc. have been logged using LogViewer to a csv-file, and from that we use target_q_# (joint angles) to drive the robot in the simulator.
In order to achieve somewhat accurate collision forces, we need to set maximum allowed joint torque per timestep in our simulator, but we are unsure of what corresponding value from the robot csv logs to use. Using robot’s fixed max torques yields too strong forces, as expected, and while using logged csv’s target_moment_# gives better results the torque still seems a bit off at times, and robot can sometimes not maintain its target angles.
Documentation of the safety function SF7 Force Limit says:
“The safety function continuously calculates the torques allowed for each joint to stay within the defined force limit for both the TCP & the elbow. The joints control their torque output to stay within the allowed torque range.”
Is is possible to get the allowed joint torques from the CSV data (or RTDE), or derive it somehow? If no, would you consider exposing it in the CSV/RTDE in the future?
Is there a way to get or calculate actual joint moment? I found this related post, but the proposed method of finding motor constants by dividing target moment by target current does not yield constants, which makes me wonder if there is more to it? Also, would you consider exposing actual moment per joint in the future?
Are the values target_moment_# and target_current_# the final values set on the motor, or does the safety functions modify these values further such that the final values are “hidden”?
Is it possible for actual joint moment to become greater than target_moment_#?
I first thought that target_moment_# indicated the limit, but by analyzing the logs I found that actual_current_# is sometimes of greater magnitude than target_current_#, which I believe means that actual joint moment at the same time is higher than target_moment_#?