About the 'torque'
Closed this issue · 5 comments
I got 6 numbers with the following code.
left_torque
= sub.left.get_torque()
But sorry, there are two questions, hope you can help me.
- I do not know which of them is the torque of the six joints.
- The value does not change significantly when I stop the Yumi movement by hand,
1:
The torque values respond to the corresponding joints 1 through 6 on the specified robot arm. See RAPID code here (lines 50-55 show how we get the torque values).
You can figure out which joint is which by changing individual joint angles on the FlexPendant, or using the goto_state method in YuMiPy, varying each joint angle individually.
2:
That I'm not sure with. The torque values seems pretty reasonable during lead through mode, although some joints experience more torque than others for certain motions. Can you verify that 1) you're looking at the torque values for the arm you're moving and 2) the arm's motion is sufficient to reflect a big change in torque readings?
Thank you for your detailed answers! But I still have some questions, hope you can help me answer, thank you!
1.
When I was using goto_pose to operate Yumi, I looked at 'torque' and got the data like this:
#R_torque: (135.89, array ([0.028, -0.027, -0.024, 0.001, 0., 0.]])
#L_torque: (138.25, array ([0.034, -0.041, -0.029, -0.002, 0.003, 0.002]))
Do they look right?
2.
And I don't know how to operate Yumi with FlexPendant when the program is running. It doesn't seem to be allowed. How did you do it? Which programs in RAPID will be executed?
3.
Also, why don't you take the torque of the seventh joints?
-
I'm unsure about the specific values as the torque values change instantaneously and vary depending on the specific joint configurations the robot is in, its payload, and speed. The easiest way to see if the torque readings are sensible is recording a list of torque values while the robot is operating, then plot the magnitude of the torques separately with respect to time. This should reveal some interpretable trends that correlate with the robot's motion.
-
So to command the robot through Python you have to run our server on the FlexPendant, but you don't need that for just reading torques/poses/joints from the YuMi using the YuMiSubscriber class. You can still use YuMiSubscriber to read these values during jogging or lead-through mode.
-
Unfortunately ABB's RAPID API does not have a function call that can give us the torque reading for the 7th joint (all of ABB's other robots have 6 joints). This may be fixed in the future.
Just to chime in: I've tried to use the torque reading for the wrist to try to detect whether or not the YuMi is grasping an object (which leads to load on the wrist), and I've also tried to use it to detect collisions with the environment through Python. While it does work sometimes, the torque readings are generally very noisy, possibly because the torques are computed from motor currents rather than a designated force-torque sensor. I don't recommend trying to use the torques for any application requiring high-reliability (whether or not you use them through yumipy).
Thank you very much for the detailed answers. I have been clear, thank you very much. @jacky-liang and @jeffmahler