You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, the Python Robotics Toolbox has been incredibly helpful and is one of the most user-friendly libraries I’ve encountered. However, while simulating the UR10 robot, I noticed an issue with the ur10.inertia(q) function. Regardless of the input joint angles q, the last row of the inertia matrix is always zero, resulting in a singular (non-invertible) matrix.
Steps to Reproduce:
`import numpy as np
from roboticstoolbox import models
Issue:
The last row of the inertia matrix is entirely zero, making it singular. As far as I understand, the inertia matrix M(q) should always be symmetric and positive definite (thus invertible). This behavior seems contradictory.
Questions:
Is this a bug in the UR10 model implementation, or am I misunderstanding something?
Could there be missing inertial parameters for the last joint/link in the UR10 definition?
Note:
I’m a beginner in robotics, so apologies if this is a misunderstanding on my part. Any clarification would be greatly appreciated!
The text was updated successfully, but these errors were encountered:
Hello, the Python Robotics Toolbox has been incredibly helpful and is one of the most user-friendly libraries I’ve encountered. However, while simulating the UR10 robot, I noticed an issue with the ur10.inertia(q) function. Regardless of the input joint angles q, the last row of the inertia matrix is always zero, resulting in a singular (non-invertible) matrix.
Steps to Reproduce:
`import numpy as np
from roboticstoolbox import models
robot = models.DH.UR10()
print(robot.inertia(robot.qz))`
Output attached below
[[ 1.11024103e+01 5.54268189e-02 5.54268189e-02 5.54268189e-02 -1.21107730e-02 0.00000000e+00] [ 5.54268189e-02 1.06425026e+01 4.32753994e+00 2.91654488e-02 -6.70885910e-03 0.00000000e+00] [ 5.54268189e-02 4.32753994e+00 1.93032952e+00 2.91654488e-02 -6.70885910e-03 0.00000000e+00] [ 5.54268189e-02 2.91654488e-02 2.91654488e-02 2.91654488e-02 -6.70885910e-03 0.00000000e+00] [-1.21107730e-02 -6.70885910e-03 -6.70885910e-03 -6.70885910e-03 2.24759060e-03 0.00000000e+00] [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]]
Even with non-zero joint angles:
print(robot.inertia([0.1, 0.2, 0.3, 0.4, 0.5, 0.6]))
outputs
[[ 9.38114647e+00 5.22236675e-01 2.99317646e-01 3.83881804e-02 -3.60450616e-02 0.00000000e+00] [ 5.22236675e-01 1.01214122e+01 4.01657180e+00 -1.24053598e-01 2.66954058e-02 0.00000000e+00] [ 2.99317646e-01 4.01657180e+00 1.82948361e+00 -2.09992031e-02 5.87920184e-03 0.00000000e+00] [ 3.83881804e-02 -1.24053598e-01 -2.09992031e-02 2.96820550e-02 -5.88757776e-03 0.00000000e+00] [-3.60450616e-02 2.66954058e-02 5.87920184e-03 -5.88757776e-03 2.24759060e-03 0.00000000e+00] [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]]
Issue:
The last row of the inertia matrix is entirely zero, making it singular. As far as I understand, the inertia matrix M(q) should always be symmetric and positive definite (thus invertible). This behavior seems contradictory.
Questions:
Is this a bug in the UR10 model implementation, or am I misunderstanding something?
Could there be missing inertial parameters for the last joint/link in the UR10 definition?
Note:
I’m a beginner in robotics, so apologies if this is a misunderstanding on my part. Any clarification would be greatly appreciated!
The text was updated successfully, but these errors were encountered: