Simscape Multibody中的Joint Actuator关节驱动方式区别

1、前记:这篇博文主要是介绍在关节驱动时选择不同的驱动方式有不同的意义。

主要内容如下:

Motion Actuation in SimMechanics 

Posted by Guy Rouleau, November 13, 2013

In R2013b, it is possible to specify joint motion in SimMechanics Second Generation models. In this post, I will use a simple pendulum with internal friction and subject to gravity to highlight different ways to actuate a mechanism.

If you look at the dialog of a joint like the Revolute Joint, you will notice that each primitive now has two fields in the Actuation section: Torque and Motion.

The Torque field gives you 3 options: NoneProvided by Input and Automatically Computed.

Simscape Multibody中的Joint Actuator关节驱动方式区别_第1张图片

The Motion field two: Provided by Input and Automatically Computed.

Simscape Multibody中的Joint Actuator关节驱动方式区别_第2张图片

This makes a total of 6 possible configurations for each joint primitive. In the Joint Actuation documentation page, you can find a description of all the modes into which a joint primitive can be actuated.

Passive: No torque and Automatically Computed Motion(被动的,在重力作用下运动)

This is the default setting, where the joint primitive is passive. For our example, the pendulum will simply fall under the effect of gravity.

Simscape Multibody中的Joint Actuator关节驱动方式区别_第3张图片

Forward Dynamics: Torque Specified by Input and Automatically Computed Motion

(正动力学,指定力矩,运动由指定的力驱动而运动,由于重力或摩擦力会在一个角度值稳定下来)

A force or torque is specified for the joint primitive and the engine computes the resulting motion. For example, if we take the same pendulum as in the previous case and apply a constant torque, it will stabilize at an angle.

Simscape Multibody中的Joint Actuator关节驱动方式区别_第4张图片

Inverse Dynamics: Motion specified by Input and Automatically Computed Torque

(逆动力学,指定关节运动轨迹自动计算驱动的力矩大小,即保证指定的运动轨迹所需要的实际驱动力)

If you know how a joint should move and want to know the amount of torque or force necessary to make that happen, this mode is for you. For example, we can apply a sine wave motion to our pendulum and measure the torque required to generate this motion:

Simscape Multibody中的Joint Actuator关节驱动方式区别_第5张图片

One important thing to note is that when specifying motion to a joint primitive, position, velocity and acceleration must be specified. To help with that, the Simulink-PS Converter gives the possibility to filter the desired motion and internally compute the first and second derivative of the input signal.(这里地方对Simulink-PS Converter的设置很必要)

Simscape Multibody中的Joint Actuator关节驱动方式区别_第6张图片

***Note: By default, the time constant in the Simulink-PS Converter block is 1e-3s. This value is appropriate for most Simscape domains, but for many SimMechanics models increasing it to 1e-2s can speed up the simulation without affecting the results significantly.

If filtering is not appropriate for your application, you can always turn it off and manually provide position, velocity and acceleration to the Simulink-PS Converter.

Indirect Inverse Dynamics

(间接逆动力学,指定末端运动轨迹并作为输入,计算实际满足运动需要的力矩值,可以参看案例sm_welding_robot)

在MATLAB命令行输入:sm_welding_robot打开该例子,主要看Trajectory Controller部分。

This mode was not available in SimMechanics First Generation, and I decided to invent the expression indirect inverse Dynamics to describe it. As it is the case for Inverse Dynamics, the user specifies the motion of the mechanism. However the term Indirect means that SimMechanics automatically computes and applies the Forces and/or Torques necessary to produce the motion using joint primitives other than the ones where the motion is specified.

If we keep going with the same example, we can use the y-axis translational primitive of a Planar Joint to specify the translational motion of the pendulum extremity. SimMechanics can then compute the torque necessary at the pendulum base to generate this motion.

Simscape Multibody中的Joint Actuator关节驱动方式区别_第7张图片

***Note that I included a Weld Joint in the previous model. In R2013b, SimMechanics Second Generation has a constraint that every kinematic loop must contain at least one joint with no motion actuation and no computed torque.

Indirect Inverse Dynamics... plus external forces(间接逆动力学-加上外力干扰)

The last combination available is an extension of the previous. In addition to specifying the motion, it is possible to add an additional disturbance force or torque.

Simscape Multibody中的Joint Actuator关节驱动方式区别_第8张图片

Now it's your turn

Try the new motion actuation in SimMechanics R2013b and let us know what you think by leaving a comment here.

参考:https://www.mathworks.com/help/physmod/sm/mech/ref/jointactuator.html

来源:https://blogs.mathworks.com/simulink/2013/11/13/motion-actuation-in-simmechanics-r2013b/#comment

你可能感兴趣的:(MATLAB,simulink,Robot)