LIBRARY
tests.PacejkaWheelInWorld
Pacejka Wheel In World
A wheel with Pacejka magic-formula friction on flat ground starts with large initial spin (der_angles = [0, 25, 0.1]) but zero linear velocity. The contact patch slips initially and then the wheel picks up speed as the magic-formula friction transfers torque to the road.
Useful for verifying that the longitudinal/lateral magic-formula factors (Bx,Cx,Dx,Ex, By,Cy,Dy,Ey) are wired up correctly.
Usage
MultibodyComponents.tests.PacejkaWheelInWorld()
Behavior
Source
dyad
"""
# Pacejka Wheel In World
A wheel with Pacejka magic-formula friction on flat ground starts with large
initial spin (`der_angles = [0, 25, 0.1]`) but zero linear velocity. The contact
patch slips initially and then the wheel picks up speed as the magic-formula
friction transfers torque to the road.
Useful for verifying that the longitudinal/lateral magic-formula factors
(`Bx,Cx,Dx,Ex`, `By,Cy,Dy,Ey`) are wired up correctly.
"""
example component PacejkaWheelInWorld
world = MultibodyComponents.World() {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 20, "y1": 20, "x2": 120, "y2": 120, "rot": 0}
},
"tags": []
}
}
wheel = MultibodyComponents.PacejkaSlippingWheel(radius = 0.3, m = 2, I_axis = 0.06, I_long = 0.12, Dx = 0.95, Dy = 0.9, x(initial = 0.2), z(initial = 0.2), angles(initial = [0, 0, 0]), der_angles(initial = [0, 25, 0.1])) {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 200, "y1": 20, "x2": 300, "y2": 120, "rot": 0}
},
"tags": []
}
}
relations
# Wheel starts at rest linearly (only spinning); needed to close the init system.
# y-component is determined by the holonomic contact constraint (wheel resting on ground).
initial wheel.body.v_0[1] = 0
initial wheel.body.v_0[3] = 0
endFlattened Source
dyad
"""
# Pacejka Wheel In World
A wheel with Pacejka magic-formula friction on flat ground starts with large
initial spin (`der_angles = [0, 25, 0.1]`) but zero linear velocity. The contact
patch slips initially and then the wheel picks up speed as the magic-formula
friction transfers torque to the road.
Useful for verifying that the longitudinal/lateral magic-formula factors
(`Bx,Cx,Dx,Ex`, `By,Cy,Dy,Ey`) are wired up correctly.
"""
example component PacejkaWheelInWorld
world = MultibodyComponents.World() {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 20, "y1": 20, "x2": 120, "y2": 120, "rot": 0}
},
"tags": []
}
}
wheel = MultibodyComponents.PacejkaSlippingWheel(radius = 0.3, m = 2, I_axis = 0.06, I_long = 0.12, Dx = 0.95, Dy = 0.9, x(initial = 0.2), z(initial = 0.2), angles(initial = [0, 0, 0]), der_angles(initial = [0, 25, 0.1])) {
"Dyad": {
"placement": {
"diagram": {"iconName": "default", "x1": 200, "y1": 20, "x2": 300, "y2": 120, "rot": 0}
},
"tags": []
}
}
relations
# Wheel starts at rest linearly (only spinning); needed to close the init system.
# y-component is determined by the holonomic contact constraint (wheel resting on ground).
initial wheel.body.v_0[1] = 0
initial wheel.body.v_0[3] = 0
metadata {}
endTest Cases
No test cases defined.
Related
Examples
Experiments
Analyses