Distance

Measure the distance between the origins of two frame connectors

    Distance

Library

Modelica/Mechanics/MultiBody/Sensors

Description

The distance between the origins of frame_aand of frame_b are determined and provided at theoutput signal connector distance. Thisdistance is always positive. Derivatives of thissignal can be easily obtained by connecting theblockModelica.Blocks.Continuous.Derto "distance" (this block performs analytic differentiationof the input signal using the der(..) operator).

In the following figure the animation of a Distancesensor is shown. The light blue coordinate system isframe_a, the dark blue coordinate system is frame_b, andthe yellow arrow is the animated sensor.

If the distance is smaller as parameter s_small (in the "advanced" menu),it is approximated such that its derivative isfinite for zero distance. Without such an approximation, the derivative wouldbe infinite and a division by zero would occur. The approximation is performedin the following way: If distance > s_small, it is computed as sqrt(r*r) wherer is the position vector from the origin of frame_a to the origin of frame_b.If the distance becomes smaller as s_small, the "sqrt()" function is approximatedby a second order polynomial, such that the function value and its first derivativeare identical for sqrt() and the polynomial at s_small. Furthermore, the polynomialpasses through zero. The effect is, that the distance function is continuous anddifferentiable everywhere. The derivative at zero distance is 3/(2*s_small).

Parameters

Distance_0

NameLabelDescriptionData TypeValid Values

mo_animation

animation

= true, if animation shall be enabled (show arrow)

Scalar

true
false

mo_arrowDiameter

arrowDiameter

Diameter of relative arrow from frame_a to frame_b

Scalar

mo_arrowColor

arrowColor

Color of relative arrow from frame_a to frame_b

Vector of size 3

mo_specularCoefficient

specularCoefficient

Reflection of ambient light (= 0: light is completely absorbed)

Scalar

Distance_1

NameLabelDescriptionData TypeValid Values

mo_s_small

s_small

Prevent zero-division if distance between frame_a and frame_b is zero

Scalar

Distance_2

NameLabelDescriptionData TypeValid Values

mo__nmodifiers

Number of Modifiers

Specifies the number of modifiers

Number

mo__modifiers

Modifiers

Add new modifier

Structure

mo__modifiers/varname

Variable name

Cell of strings

'r_rel_0'
'L2'
's_small2'

mo__modifiers/attribute

Attribute

Cell of strings

'start'
'fixed'

mo__modifiers/value

Value

Ports

NameTypeDescriptionIO TypeNumber

frame_a

implicit

Coordinate system a fixed to the component with one cut-force and cut-torque

input

1

frame_b

implicit

Coordinate system b fixed to the component with one cut-force and cut-torque

output

1

distance

implicit

Distance between the origin of frame_a and the origin of frame_b

output

2

See Also