Skip to content

raisim::Body ​

class · #include <raisim/object/ArticulatedSystem/JointAndBodies.hpp>

Inertial, collision and visual properties of a link, used to build an articulated system (see Child).

Constructors & destructor ​

Body ​

cpp
Body()
cpp
Body(double mass, const Mat<3, 3> &inertia, const Vec<3> &comPos)

Parameters

ParameterDescription
mass (in)mass [kg]
inertia (in)inertia about the COM in the body frame [kg m^2]
comPos (in)COM position in the body frame [m]

Public member functions ​

setMass ​

cpp
void setMass(double mass)

Parameters

ParameterDescription
mass (in)mass [kg]

getMass ​

cpp
double &getMass()

Returns reference to the mass [kg]

cpp
const double &getMass() const

Returns mass [kg]

setInertia ​

cpp
void setInertia(std::initializer_list<double> inertia)

Parameters

ParameterDescription
inertia (in)symmetric inertia about the COM as {ixx, ixy, ixz, iyy, iyz, izz} [kg m^2]
cpp
void setInertia(const Vec<3> &inertia)

Parameters

ParameterDescription
inertia (in)diagonal inertia about the COM {ixx, iyy, izz} [kg m^2]
cpp
void setInertia(const Vec<6> &inertia)

Parameters

ParameterDescription
inertia (in)symmetric inertia about the COM as {ixx, ixy, ixz, iyy, iyz, izz} [kg m^2]

setInertiaMjcfOrder ​

cpp
void setInertiaMjcfOrder(const Vec<6> &inertia)

Parameters

ParameterDescription
inertia (in)symmetric inertia about the COM in MJCF order {ixx, iyy, izz, ixy, ixz, iyz} [kg m^2]

setZeroInertial ​

cpp
void setZeroInertial()

Set the mass, inertia and COM to zero.

getInertia ​

cpp
Mat<3, 3> &getInertia()

Returns reference to the inertia about the COM in the body frame [kg m^2]

cpp
const Mat<3, 3> &getInertia() const

Returns inertia about the COM in the body frame [kg m^2]

setCom ​

cpp
void setCom(const Vec<3> &com)

Parameters

ParameterDescription
com (in)COM position in the body frame [m]

getCom ​

cpp
Vec<3> &getCom()

Returns reference to the COM position in the body frame [m]

cpp
const Vec<3> &getCom() const

Returns COM position in the body frame [m]

clearColAndVis ​

cpp
void clearColAndVis()

Remove all collision and visual objects.

addCollisionObject ​

cpp
void addCollisionObject(
    Shape::Type shape,
    const Vec<4> &param,
    const raisim::Vec<3> &origin,
    const raisim::Mat<3, 3> &rot,
    const raisim::Vec<3> &scale,
    const std::string &colName,
    const std::string &materialName,
    const std::string &collisionVisualizedMaterial,
    const std::string &meshFileName,
    CollisionGroup group=CollisionGroup(-1),
    CollisionGroup mask=CollisionGroup(-1))

Add a collision object to this body.

addVisualObject ​

cpp
void addVisualObject(
    Shape::Type shape,
    const Vec<4> &shapeParam,
    const raisim::Vec<3> &origin,
    const raisim::Mat<3, 3> &rotMat,
    const raisim::Vec<4> &color,
    const raisim::Vec<3> &scale,
    const std::string &meshFileNames,
    const std::string &visName,
    const std::string &material)

Add a visual object to this body.

Parameters

ParameterDescription
shape (in)geometry type
shapeParam (in)shape parameters (see VisObject)
origin (in)position in the body frame [m]
rotMat (in)orientation relative to the body frame
color (in)RGBA color
scale (in)mesh scale
meshFileNames (in)mesh file path (for mesh shapes)
visName (in)visual object name
material (in)visual material name

Public attributes ​

colObj ​

cpp
std::vector<CollisionBody> colObj

Collision geometries associated with this body.

visObj ​

cpp
std::vector<VisObject> visObj

Visual geometries associated with this body.

mass_ ​

cpp
double mass_

Body mass in kilograms.

inertia_ ​

cpp
Mat<3, 3> inertia_

Body inertia matrix about the COM in body frame.

com_ ​

cpp
Vec<3> com_

Center of mass in body frame.

sensorSet ​

cpp
std::vector<SensorSet *> sensorSet

Sensor sets attached to this body.

RaiSim — physics for robotics and AI.