a kinematic body is a body that effects the motion of other objects but it is not directly affected itself.
More...
|
| KinematicBody (const BodyInfo &info, rw::models::Object::Ptr obj) |
| Construct a new dynamic body. More...
|
|
virtual | ~KinematicBody () |
| Destructor.
|
|
rw::kinematics::MovableFrame * | getMovableFrame () |
| Get the body frame as a movable frme. More...
|
|
rw::math::VelocityScrew6D | getVelocity (const rw::kinematics::State &state) const |
| gets the velocity of this body relative to the parent frame More...
|
|
virtual void | reset (rw::kinematics::State &state) |
| reset the state variables of this body More...
|
|
virtual double | calcEnergy (const rw::kinematics::State &state, const rw::math::Vector3D<> &gravity=rw::math::Vector3D<>::zero(), const rw::math::Vector3D<> &potZero=rw::math::Vector3D<>::zero()) const |
| Calculates the total energy of the body. More...
|
|
void | setForce (const rw::math::Vector3D<> &f, rw::kinematics::State &state) |
| Sets the force described in parent frame acting on the center mass of this body. More...
|
|
rw::math::Vector3D | getForce (const rw::kinematics::State &state) const |
| Gets the force described in parent frame acting on the center mass of this body. More...
|
|
void | addForce (const rw::math::Vector3D<> &force, rw::kinematics::State &state) |
| Adds a force described in parent frame to the center of mass of this body. More...
|
|
void | setTorque (const rw::math::Vector3D<> &t, rw::kinematics::State &state) |
| set the torque of this body with torque t, where t is described in body frame More...
|
|
void | addTorque (const rw::math::Vector3D<> &t, rw::kinematics::State &state) |
| Adds a force described in parent frame to the center of mass of this body. More...
|
|
rw::math::Vector3D | getTorque (const rw::kinematics::State &state) const |
| returns torque described in body frame More...
|
|
rw::math::Vector3D | getLinVel (const rw::kinematics::State &state) const |
| returns the linear velocity described in parent frame
|
|
rw::math::Vector3D | getAngVel (const rw::kinematics::State &state) const |
| returns the angular velocity described in parent frame
|
|
rw::math::Vector3D | getLinVelW (const rw::kinematics::State &state) const |
| returns the linear velocity described in world frame
|
|
rw::math::Vector3D | getAngVelW (const rw::kinematics::State &state) const |
| returns the angular velocity described in world frame
|
|
void | setLinVel (const rw::math::Vector3D<> &vel, rw::kinematics::State &state) |
| sets the linear velocity described in parent frame
|
|
void | setLinVelW (const rw::math::Vector3D<> &vel, rw::kinematics::State &state) |
| Set the linear velocity described in world frame. More...
|
|
void | setAngVel (const rw::math::Vector3D<> &vel, rw::kinematics::State &state) |
| sets the angular velocity described in parent frame
|
|
void | setAngVelW (const rw::math::Vector3D<> &vel, rw::kinematics::State &state) |
| Set the angular velocity described in world frame. More...
|
|
Public Member Functions inherited from Body |
virtual | ~Body () |
| Destructor.
|
|
const std::string & | getName () const |
| name of body which is the name of the BodyFrame More...
|
|
rw::kinematics::Frame * | getBodyFrame () const |
| Returns the frame that the bodies dynamic variables are described relative to. More...
|
|
const std::vector< rw::geometry::Geometry::Ptr > & | getGeometry (const rw::kinematics::State &state) |
| Get all geometry associated with this body. More...
|
|
const std::vector< rw::geometry::Geometry::Ptr > & | getGeometry () |
| Get all geometry associated with this body. More...
|
|
const std::vector< rw::kinematics::Frame * > & | getFrames () |
| gets all frames that is staticly connected to this Body More...
|
|
const BodyInfo & | getInfo () const |
| get the body info More...
|
|
BodyInfo & | getInfo () |
| retrieve body information More...
|
|
const std::string & | getMaterialID () const |
| Material identifier of this object. More...
|
|
const rw::math::InertiaMatrix & | getInertia () const |
| get the inertia matrix of this body. The inertia is described around the center of mass and relative to the parent frame. More...
|
|
BodyChangedEvent & | changedEvent () |
| Returns StateChangeEvent needed for subscribing and firing the event. More...
|
|
void | setMass (double m) |
| Set the mass of the body. More...
|
|
void | setMass (double m, const rw::math::InertiaMatrix<> &inertia) |
| Set the mass and inertia of the body. More...
|
|
void | setMass (double m, const rw::math::InertiaMatrix<> &inertia, const rw::math::Vector3D<> &com) |
| Set the mass, inertia and center of mass of the body. More...
|
|
void | setObject (rw::models::Object::Ptr obj) |
| Replaces object belonging to the body. More...
|
|
virtual rw::math::Vector3D | getPointVelW (const rw::math::Vector3D<> &p, const rw::kinematics::State &state) const |
| calculates the relative velocity of a point p on the body described in world frames.
|
|
rw::math::Vector3D | getLinVelW (const rw::kinematics::State &state) const |
| returns the linear velocity described in world frame
|
|
rw::math::Vector3D | getAngVelW (const rw::kinematics::State &state) const |
| returns the angular velocity described in world frame
|
|
virtual rw::kinematics::Frame * | getParentFrame (const rw::kinematics::State &state) const |
| Get the parent frame of this body. More...
|
|
virtual void | setForceW (const rw::math::Vector3D<> &f, rw::kinematics::State &state) |
| Sets the force described in world frame acting on the center mass of this body. More...
|
|
virtual rw::math::Vector3D | getForceW (const rw::kinematics::State &state) const |
| Gets the force described in world frame acting on the center mass of this body.
|
|
virtual void | addForceW (const rw::math::Vector3D<> &force, rw::kinematics::State &state) |
| Adds a force described in world frame to the center of mass of this body.
|
|
void | addForceToPos (const rw::math::Vector3D<> &force, const rw::math::Vector3D<> &pos, rw::kinematics::State &state) |
| Adds a force described in parent frame to this body which is working on a specific position pos that is described relative to this body.
|
|
virtual void | addForceWToPosW (const rw::math::Vector3D<> &force, const rw::math::Vector3D<> &pos, rw::kinematics::State &state) |
| Adds a force described in world frame to this body which is worked on a specific position pos that is described relative to world.
|
|
virtual void | setTorqueW (const rw::math::Vector3D<> &t, rw::kinematics::State &state) |
| set the torque of this body with torque t, where t is described in world frame
|
|
virtual void | addTorqueW (const rw::math::Vector3D<> &t, rw::kinematics::State &state) |
| Add a torque to the body. More...
|
|
virtual rw::math::Vector3D | getTorqueW (const rw::kinematics::State &state) const |
| returns torque described in world frame
|
|
virtual rw::math::Transform3D | getTransformW (const rw::kinematics::State &state) const |
| Get the current position and orientation of the body frame relative to world frame. More...
|
|
rw::math::Transform3D | pTbf (const rw::kinematics::State &state) const |
| Get the current position and orientation of the body frame relative to the body parent frame. More...
|
|
rw::math::Transform3D | pTcom (const rw::kinematics::State &state) const |
| Get the current position of the body center of mass relative to the body parent frame. More...
|
|
rw::math::Transform3D | wTbf (const rw::kinematics::State &state) const |
| Get the current position and orientation of the body frame relative to world frame. More...
|
|
rw::math::Transform3D | wTcom (const rw::kinematics::State &state) const |
| Get the current position of the body center of mass relative to the world frame. More...
|
|
rw::models::Object::Ptr | getObject () const |
| Get the geometry information for the body. More...
|
|
virtual | ~Stateless () |
| destructor
|
|
virtual void | registerIn (State &state) |
| initialize this stateless data to a specific state More...
|
|
virtual void | registerIn (StateStructure::Ptr state) |
| register this stateless object in a statestructure.
|
|
virtual void | unregister () |
| unregisters all state data of this stateless object
|
|
StateStructure::Ptr | getStateStructure () |
| Get the state structure. More...
|
|
const StateStructure::Ptr | getStateStructure () const |
| Get the state structure. More...
|
|
bool | isRegistered () |
| Check if object has registered its state. More...
|
|
a kinematic body is a body that effects the motion of other objects but it is not directly affected itself.
The user can make the kinematic object move using its velocity interface. Typically one would add a controller to do velocity updates of the kinematic body.
The kinematic body stores a 6 dof velocity (angular, linear) in the state vector.