Definition of the world frame for Chrono::Vehicle simulations.

The default is an ISO frame (Z up, X forward, Y to the left) and vehicle are assumed to be modeled in such a reference frame. However, this class allows a Chrono::Vehicle model to be simulated in a scene specified in a different reference frame (for example, a Y up frame). The world frame is uniquely defined through a rotation matrix (the rotation required to align the ISO frame with the desired world frame). To change the world frame definition from the default ISO convention, the desired world frame must be set before any Chrono::Vehicle library call.

#include <ChWorldFrame.h>

Public Member Functions

 ChWorldFrame (ChWorldFrame const &)=delete
void operator= (ChWorldFrame const &)=delete

Static Public Member Functions

static void Set (const ChMatrix33<> &rot)
 Set the world frame as a rotation from the base ISO frame.
static void SetYUP ()
 Set the world frame as a (right-handed) frame with Y up. More...
static bool IsISO ()
 Return true if the world frame is an ISO reference frame and false otherwise.
static const ChMatrix33Rotation ()
 Get the world frame rotation matrix.
static const ChQuaternionQuaternion ()
 Get the world frame orientation as a quaternion.
static const ChVectorVertical ()
 Get the vertical direction of the world frame.
static const ChVectorForward ()
 Get the forward direction of the world frame.
static ChVector ToISO (const ChVector<> &v)
 Re-express a vector from the current world frame into the ISO frame.
static ChVector FromISO (const ChVector<> &v)
 Re-express a vector from the ISO frame to the current world frame.
static double Height (const ChVector<> &v)
 Get the height of a given vector in the current world frame (i.e., the projection of the vector onto the vertical direction).
static void Project (ChVector<> &v)
 Project a given vector onto the horizontal plane of the world frame.

Member Function Documentation

◆ SetYUP()

void chrono::vehicle::ChWorldFrame::SetYUP ( )

Set the world frame as a (right-handed) frame with Y up.

This corresponds to a rotation of 90 degrees about the X axis.

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_vehicle/ChWorldFrame.h
  • /builds/uwsbel/chrono/src/chrono_vehicle/ChWorldFrame.cpp