When working with the revolute Joints of a Robot, what's the difference between Sensing the torque and using the Inverse Dynamics Block?

3 views (last 30 days)
The title says it all.
In this example https://it.mathworks.com/help/sm/ug/computing-actuator-torques-using-inverse-dynamics.html the user computes the joint torques only by ticking the "Sensing" option inside the Revolute Joint block. So, what's the point of having/using the Inverse Dynamics block in Simulink?
Knowing that I'd need to do a Dynamic Simulation of a 7DOF robot (aka calculating the torques on each joint to know the torque that the motors need to output) what would be the correct choice given the already-chose trajectory? Using the Sensing option or the Inverse Dynamic Block?

Answers (1)

Anshuman
Anshuman on 16 May 2023
Hi Francesco,
While it is possible to compute joint torque by ticking the "Sensing" option inside the Revolute Joint block in Simulink, there are some limitations to this approach relative to using the Inverse Dynamics block.
Firstly, the "Sensing" option inside the Revolute Joint block computes the torque using the product of the joint position and velocity and a constant scalar factor. This approach does not account for a variety of other factors that may affect joint torque, such as gravity, non-linearities in the joint's behavior, and dynamics effects.
Secondly, the Inverse Dynamics block provides a more advanced method for computing joint torque that accounts for the full dynamics of the robot. It uses the robot's kinematics, mass, and external forces to calculate the joint torques that produce the desired joint motion.
Furthermore, the Inverse Dynamics block can be used in combination with other blocks in Simulink to develop more advanced control strategies. For example, you can use the Inverse Dynamics block to compute the desired joint torque for a given trajectory and then use a Proportional-Integral-Derivative (PID) controller to adjust the actual torque based on feedback from the system. This approach can help to improve the accuracy and stability of the control system.
Overall, it is recommended to use the Inverse Dynamics block when working with the revolute joints of a robot, especially in situations where high accuracy and stability are required. While the "Sensing" option inside the Revolute Joint block can be used as a quick and easy substitute for basic torque estimation, it is not suitable for many practical applications where more accurate and comprehensive estimates of joint torque are needed.
Hope it helps!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!