RackAndPinion
IconRackAndPinion
Models an ideal rack and pinion system, converting rotational motion to translational motion.
This component represents a one-dimensional, inertia-less rack and pinion mechanism. It establishes a kinematic relationship between the rotation of the pinion (circular gear) and the translation of the rack (linear gear). The core behavior is inherited from the IdealRollingWheel
component. This model assumes no slip between the rack and pinion and neglects any inertial effects.
PartialElementaryRotationalToTranslational
Usage
RackAndPinion(radius)
Parameters:
Name | Description | Units | Default value |
---|---|---|---|
radius | Specifies the radius of the pinion gear, determining the kinematic relationship between rotational and translational motion. | 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
# Models an ideal rack and pinion system, converting rotational motion to translational motion.
#
# This component represents a one-dimensional, inertia-less rack and pinion mechanism.
# It establishes a kinematic relationship between the rotation of the pinion
# (circular gear) and the translation of the rack (linear gear). The core behavior
# is inherited from the `IdealRollingWheel` component. This model assumes no slip
# between the rack and pinion and neglects any inertial effects.
component RackAndPinion
extends PartialElementaryRotationalToTranslational
# Specifies the radius of the pinion gear, determining the kinematic relationship between rotational and translational motion.
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
# Models an ideal rack and pinion system, converting rotational motion to translational motion.
#
# This component represents a one-dimensional, inertia-less rack and pinion mechanism.
# It establishes a kinematic relationship between the rotation of the pinion
# (circular gear) and the translation of the rack (linear gear). The core behavior
# is inherited from the `IdealRollingWheel` component. This model assumes no slip
# between the rack and pinion and neglects any inertial effects.
component RackAndPinion
# 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}}}}]
# Specifies the radius of the pinion gear, determining the kinematic relationship between rotational and translational motion.
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