IdealRollingWheel
IconIdealRollingWheel
Ideal rolling wheel converting rotational motion to translational motion and vice-versa, without inertia.
This component models the ideal kinematic and static interaction between a rotational mechanical port (spline) and a translational mechanical port (flange) representing a wheel rolling on a surface. It assumes perfect rolling contact, meaning there is no slip. The wheel itself is considered massless and frictionless, so no inertial effects or energy losses are included. The key kinematic relationship links the relative angular displacement of the spline (spline.phi - support_r.phi
) to the relative translational displacement of the flange (flange.s - support_t.s
) via the wheel radius:
\[(\text{spline.phi} - \text{support\\_r.phi}) \\cdot \text{radius} = \text{flange.s} - \text{support\\_t.s}\]
math The static force-torque balance is also defined, relating the torque at the spline ($\text{spline}.\tau$) and the force at the flange ($\text{flange.f}$) through the radius:
\[\text{radius} \\cdot \text{flange.f} + \text{spline.tau} = 0\]
math
PartialElementaryRotationalToTranslational
Usage
IdealRollingWheel(radius)
Parameters:
Name | Description | Units | Default value |
---|---|---|---|
radius | wheel radius | m |
Connectors
spline
- This connector represents a rotational spline with angle and torque as the potential and flow variables, respectively. (Spline
)flange
- This connector represents a mechanical flange with position and force as the potential and flow variables, respectively. (Flange
)support_r
- This connector represents a rotational spline with angle and torque as the potential and flow variables, respectively. (Spline
)support_t
- This connector represents a mechanical flange with position and force as the potential and flow variables, respectively. (Flange
)
Behavior
\[ \begin{align} \mathtt{radius} \left( - \mathtt{support\_r.phi}\left( t \right) + \mathtt{spline.phi}\left( t \right) \right) &= \mathtt{flange.s}\left( t \right) - \mathtt{support\_t.s}\left( t \right) \\ 0 &= \mathtt{spline.tau}\left( t \right) + \mathtt{radius} \mathtt{flange.f}\left( t \right) \end{align} \]
Source
# Ideal rolling wheel converting rotational motion to translational motion and vice-versa, without inertia.
#
# This component models the ideal kinematic and static interaction between a rotational mechanical port (spline) and a translational
# mechanical port (flange) representing a wheel rolling on a surface. It assumes perfect rolling contact, meaning there is no slip.
# The wheel itself is considered massless and frictionless, so no inertial effects or energy losses are included.
# The key kinematic relationship links the relative angular displacement of the spline (`spline.phi - support_r.phi`)
# to the relative translational displacement of the flange (`flange.s - support_t.s`) via the wheel radius:
# ```math
# (\text{spline.phi} - \text{support\\_r.phi}) \\cdot \text{radius} = \text{flange.s} - \text{support\\_t.s}
# ```math
# The static force-torque balance is also defined, relating the torque at the spline (\$\text{spline}.\\tau\$) and the force
# at the flange (\$\text{flange.f}\$) through the radius:
# ```math
# \text{radius} \\cdot \text{flange.f} + \text{spline.tau} = 0
# ```math
component IdealRollingWheel
extends PartialElementaryRotationalToTranslational
# wheel radius
parameter radius::Length
relations
(spline.phi-support_r.phi)*radius = flange.s-support_t.s
0 = radius*flange.f+spline.tau
metadata {
"Dyad": {"icons": {"default": "dyad://RotationalComponents/IdealRollingWheel.svg"}}
}
end
Flattened Source
# Ideal rolling wheel converting rotational motion to translational motion and vice-versa, without inertia.
#
# This component models the ideal kinematic and static interaction between a rotational mechanical port (spline) and a translational
# mechanical port (flange) representing a wheel rolling on a surface. It assumes perfect rolling contact, meaning there is no slip.
# The wheel itself is considered massless and frictionless, so no inertial effects or energy losses are included.
# The key kinematic relationship links the relative angular displacement of the spline (`spline.phi - support_r.phi`)
# to the relative translational displacement of the flange (`flange.s - support_t.s`) via the wheel radius:
# ```math
# (\text{spline.phi} - \text{support\\_r.phi}) \\cdot \text{radius} = \text{flange.s} - \text{support\\_t.s}
# ```math
# The static force-torque balance is also defined, relating the torque at the spline (\$\text{spline}.\\tau\$) and the force
# at the flange (\$\text{flange.f}\$) through the radius:
# ```math
# \text{radius} \\cdot \text{flange.f} + \text{spline.tau} = 0
# ```math
component IdealRollingWheel
# Primary rotational mechanical interface
spline = Spline() [{"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}]
# Primary translational mechanical interface
flange = Flange() [{"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}]
# Rotational mechanical support interface (e.g., for housing)
support_r = Spline() [{"Dyad": {"placement": {"icon": {"x1": 100, "y1": 950, "x2": 200, "y2": 1050}}}}]
# Translational mechanical support interface (e.g., for housing)
support_t = Flange() [{"Dyad": {"placement": {"icon": {"x1": 800, "y1": 950, "x2": 900, "y2": 1050}}}}]
# wheel radius
parameter radius::Length
relations
(spline.phi-support_r.phi)*radius = flange.s-support_t.s
0 = radius*flange.f+spline.tau
metadata {
"Dyad": {"icons": {"default": "dyad://RotationalComponents/IdealRollingWheel.svg"}}
}
end
Test Cases
No test cases defined.
Related
- Examples
- Experiments
- Analyses