modelRollingWheel

Joint (no mass, no inertia) that describes an ideal rolling wheel (rolling on the plane z=0)

Information

A joint for a wheel rolling on the x-y plane of the world frame. The rolling contact is considered being ideal, i.e. there is no slip between the wheel and the ground. This is simply gained by two non-holonomic constraint equations on velocity level defined for both longitudinal and lateral direction of the wheel. There is also a holonomic constraint equation on position level granting a permanent contact of the wheel to the ground, i.e. the wheel can not take off.

The origin of the frame frame_a is placed in the intersection of the wheel spin axis with the wheel middle plane and rotates with the wheel itself. The y-axis of frame_a is identical with the wheel spin axis, i.e. the wheel rotates about y-axis of frame_a. A wheel body collecting the mass and inertia should be connected to this frame.

Note

To work properly, the gravity acceleration vector g of the world must point in the negative z-axis, i.e.

inner Modelica.Mechanics.MultiBody.World world(n={0,0,-1});

Parameters

TypeNameDefaultDescription
SI.RadiusradiusWheel radius
StateSelectstateSelectStateSelect.alwaysPriority to use generalized coordinates as states

Connectors

TypeNameDefaultDescription
Modelica.Mechanics.MultiBody.Interfaces.Frame_aframe_aFrame fixed in wheel center point. x-Axis: upwards, y-axis: along wheel axis

Components

TypeNameDefaultDescription
SI.Positionxx-coordinate of wheel axis
SI.Positionyy-coordinate of wheel axis
SI.Positionz
SI.Angle[3]anglesAngles to rotate world-frame into frame_a around z-, y-, x-axis
SI.AngularVelocity[3]der_anglesDerivative of angles
SI.Position[3]r_road_0Position vector from world frame to contact point on road, resolved in world frame
SI.Force[3]f_wheel_0Contact force acting on wheel, resolved in world frame
SI.Forcef_nContact force acting on wheel in normal direction
SI.Forcef_latContact force acting on wheel in lateral direction
SI.Forcef_longContact force acting on wheel in longitudinal direction
SI.Positionerr|r_road_0 - frame_a.r_0| - radius (must be zero; used for checking)