KinematicsWorld Class Reference

The KinematicsWorld class encapsulates the kinemtics simulation and the corresponding data. All real physics simulation is either approximated through simple kinemtics or disabled. More...

#include <ArmarXSimulation/components/Simulator/KinematicsWorld.h>

+ Inheritance diagram for KinematicsWorld:

Classes

struct  KinematicRobotInfo
 

Public Member Functions

void actuateRobotJoints (const std::string &robotName, const std::map< std::string, float > &angles, const std::map< std::string, float > &velocities) override
 ignoring velocity target
 
void actuateRobotJointsPos (const std::string &robotName, const std::map< std::string, float > &angles) override
 
void actuateRobotJointsTorque (const std::string &robotName, const std::map< std::string, float > &torques) override
 
void actuateRobotJointsVel (const std::string &robotName, const std::map< std::string, float > &velocities) override
 
void applyForceObject (const std::string &objectName, const Eigen::Vector3f &force) override
 
void applyForceRobotNode (const std::string &robotName, const std::string &robotNodeName, const Eigen::Vector3f &force) override
 
void applyTorqueObject (const std::string &objectName, const Eigen::Vector3f &torque) override
 
void applyTorqueRobotNode (const std::string &robotName, const std::string &robotNodeName, const Eigen::Vector3f &torque) override
 
std::vector< SimDynamics::DynamicsEngine::DynamicsContactInfo > copyContacts () override
 
void enableLogging (const std::string &robotName, const std::string &logFile) override
 
armarx::DistanceInfo getDistance (const std::string &robotName, const std::string &robotNodeName, const std::string &worldObjectName) override
 
int getFixedTimeStepMS () override
 
virtual VirtualRobot::SceneObjectPtr getObject (const std::string &objectName)
 
Eigen::Matrix4f getObjectPose (const std::string &objectName) override
 
std::vector< VirtualRobot::SceneObjectPtr > getObjects () override
 
std::vector< std::string > getObstacleNames () override
 
VirtualRobot::RobotPtr getRobot (const std::string &robotName) override
 
Eigen::Vector3f getRobotAngularVelocity (const std::string &robotName, const std::string &nodeName) override
 
ForceTorqueDataSeq getRobotForceTorqueSensors (const std::string &) override
 
float getRobotJointAngle (const std::string &robotName, const std::string &nodeName) override
 
std::map< std::string, float > getRobotJointAngles (const std::string &robotName) override
 
float getRobotJointLimitHi (const std::string &robotName, const std::string &nodeName) override
 
float getRobotJointLimitLo (const std::string &robotName, const std::string &nodeName) override
 
std::map< std::string, float > getRobotJointTorques (const std::string &) override
 
std::map< std::string, float > getRobotJointVelocities (const std::string &robotName) override
 
float getRobotJointVelocity (const std::string &robotName, const std::string &nodeName) override
 
Eigen::Vector3f getRobotLinearVelocity (const std::string &robotName, const std::string &nodeName) override
 
float getRobotMass (const std::string &robotName) override
 
float getRobotMaxTorque (const std::string &robotName, const std::string &nodeName) override
 
std::vector< std::string > getRobotNames () override
 
armarx::DistanceInfo getRobotNodeDistance (const std::string &robotName, const std::string &robotNodeName1, const std::string &robotNodeName2) override
 
Eigen::Matrix4f getRobotNodePose (const std::string &robotName, const std::string &robotNodeName) override
 
Eigen::Matrix4f getRobotPose (const std::string &robotName) override
 
std::map< std::string, VirtualRobot::RobotPtr > getRobots () override
 
bool hasObject (const std::string &instanceName) override
 
bool hasRobot (const std::string &robotName) override
 
bool hasRobotNode (const std::string &robotName, const std::string &robotNodeName) override
 
virtual void initialize (int stepSizeMS, float maxRealTimeSimSpeed=1, bool floorPlane=false, std::string floorTexture=std::string())
 
 KinematicsWorld ()
 
void setObjectPose (const std::string &objectName, const Eigen::Matrix4f &globalPose) override
 
void setObjectSimType (const std::string &objectName, VirtualRobot::SceneObject::Physics::SimulationType simType) override
 
void setRobotAngularVelocity (const std::string &robotName, const std::string &robotNodeName, const Eigen::Vector3f &vel) override
 
void setRobotAngularVelocityRobotRootFrame (const std::string &robotName, const std::string &robotNodeName, const Eigen::Vector3f &vel) override
 
void setRobotLinearVelocity (const std::string &robotName, const std::string &robotNodeName, const Eigen::Vector3f &vel) override
 
void setRobotLinearVelocityRobotRootFrame (const std::string &robotName, const std::string &robotNodeName, const Eigen::Vector3f &vel) override
 
void setRobotMaxTorque (const std::string &robotName, const std::string &nodeName, float maxTorque) override
 
void setRobotNodeSimType (const std::string &robotName, const std::string &robotNodeName, VirtualRobot::SceneObject::Physics::SimulationType simType) override
 
void setRobotPose (const std::string &robotName, const Eigen::Matrix4f &globalPose) override
 
void stepPhysicsFixedTimeStep () override
 Perform one simulation step.
 
void stepPhysicsRealTime () override
 Perform one simulation step.
 
FramedPosePtr toFramedPose (const Eigen::Matrix4f &globalPose, const std::string &robotName, const std::string &frameName) override
 toFramedPose Constructs a framed pose
 
 ~KinematicsWorld () override
 
- Public Member Functions inherited from SimulatedWorld
virtual void activateObject (const std::string &objectName)
 
virtual VirtualRobot::RobotPtr adaptRobotToWorld (VirtualRobot::RobotPtr)
 
virtual bool addObstacle (const std::string &filename, const Eigen::Matrix4f &pose=Eigen::Matrix4f::Identity(), VirtualRobot::SceneObject::Physics::SimulationType simType=VirtualRobot::SceneObject::Physics::eUnknown, const std::string &localFilename="")
 Load and add an Obstacle (VirtualRobot xml file).
 
virtual bool addObstacle (VirtualRobot::SceneObjectPtr o, VirtualRobot::SceneObject::Physics::SimulationType simType=VirtualRobot::SceneObject::Physics::eUnknown, const std::string &filename="", const std::string &objectClassName="", ObjectVisuPrimitivePtr primitiveData={}, const std::string &project="")
 
virtual bool addRobot (std::string &robotInstanceName, const std::string &filename, Eigen::Matrix4f pose=Eigen::Matrix4f::Identity(), const std::string &filenameLocal="", double pid_p=10.0, double pid_i=0, double pid_d=0, bool staticRobot=false, float scaling=1.0f, bool colModel=false, const std::map< std::string, float > &initConfig={}, bool selfCollisions=false)
 Load and add a robot.
 
virtual bool addRobot (VirtualRobot::RobotPtr robot, double pid_p, double pid_i, double pid_d, const std::string &filename, bool staticRobot=false, float scaling=1.0f, bool colModel=false, bool selfCollisions=false)
 
virtual bool addScene (const std::string &filename, VirtualRobot::SceneObject::Physics::SimulationType simType=VirtualRobot::SceneObject::Physics::eUnknown)
 Load and add an Scene (VirtualRobot xml file).
 
virtual bool addScene (VirtualRobot::ScenePtr scene, VirtualRobot::SceneObject::Physics::SimulationType simType=VirtualRobot::SceneObject::Physics::eUnknown)
 
virtual SimulatedWorldData copyReportData ()
 
virtual SceneVisuData copySceneVisuData ()
 copySceneVisuData Creates a copy of the visualization data
 
virtual int getContactCount ()
 
virtual double getCurrentSimTime ()
 
virtual int getObjectCount ()
 
virtual SimulatedWorldData & getReportData ()
 
virtual int getRobotJointAngleCount ()
 
virtual ScopedRecursiveLockPtr getScopedEngineLock (const std::string &callStr)
 
virtual ScopedRecursiveLockPtr getScopedSyncLock (const std::string &callStr)
 
virtual float getSimTime ()
 
virtual float getSimulationStepDuration ()
 getSimulationStepDuration
 
virtual float getSimulationStepTimeMeasured ()
 getSimulationStepTimeMeasured
 
virtual float getSyncEngineTime ()
 
virtual void objectGrasped (const std::string &robotName, const std::string &robotNodeName, const std::string &objectName)
 create a joint
 
virtual void objectReleased (const std::string &robotName, const std::string &robotNodeName, const std::string &objectName)
 remove a joint
 
virtual bool removeObstacle (const std::string &name)
 
virtual bool removeObstacles ()
 
virtual bool removeRobot (const std::string &robotName)
 
virtual bool removeRobots ()
 
virtual bool resetData ()
 resetData Clears all data
 
virtual void resetSimTime ()
 
virtual void setupFloor (bool enable, const std::string &floorTexture)
 
 SimulatedWorld ()
 
virtual bool synchronizeSimulationData ()
 synchronizeSimulationData Update the sim data according to the internal physics models.
 
virtual void updateContacts (bool enable)
 
virtual ~SimulatedWorld () override=default
 
- Public Member Functions inherited from Logging
SpamFilterDataPtr deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const
 disables the logging for the current line for the given amount of seconds.
 
MessageTypeT getEffectiveLoggingLevel () const
 
 Logging ()
 
void setLocalMinimumLoggingLevel (MessageTypeT level)
 With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set.
 
void setTag (const LogTag &tag)
 
void setTag (const std::string &tagName)
 
virtual ~Logging ()
 

Protected Member Functions

bool addObstacleEngine (VirtualRobot::SceneObjectPtr o, VirtualRobot::SceneObject::Physics::SimulationType simType) override
 
bool addRobotEngine (VirtualRobot::RobotPtr robot, double pid_p, double pid_i, double pid_d, const std::string &filename, bool staticRobot, bool selfCollisions) override
 
void calculateActualVelocities ()
 
virtual void createFloorPlane (const Eigen::Vector3f &pos, const Eigen::Vector3f &up)
 
float getDeltaTimeMilli ()
 
VirtualRobot::SceneObjectPtr getFloor () override
 
bool getRobotStatus (const std::string &robotName, NameValueMap &jointAngles, NameValueMap &jointVelocities, NameValueMap &jointTorques, Eigen::Vector3f &linearVelocity, Eigen::Vector3f &angularVelocity) override
 
bool objectGraspedEngine (const std::string &robotName, const std::string &robotNodeName, const std::string &objectName, Eigen::Matrix4f &storeLocalTransform) override
 create a joint
 
bool objectReleasedEngine (const std::string &robotName, const std::string &robotNodeName, const std::string &objectName) override
 remove a joint
 
bool removeObstacleEngine (const std::string &name) override
 
bool removeRobotEngine (const std::string &robotName) override
 
void setupFloorEngine (bool enable, const std::string &floorTexture) override
 
void stepStaticObjects (double deltaInSeconds)
 
void stepStaticRobots (double deltaInSeconds)
 
bool synchronizeObjects () override
 
bool synchronizeRobotNodePoses (const std::string &robotName, std::map< std::string, armarx::PoseBasePtr > &objMap) override
 
bool synchronizeSceneObjectPoses (VirtualRobot::SceneObjectPtr currentObjEngine, std::map< std::string, armarx::PoseBasePtr > &objMap) override
 
bool synchronizeSimulationDataEngine () override
 
bool updateForceTorqueSensor (ForceTorqueInfo &ftInfo) override
 
- Protected Member Functions inherited from SimulatedWorld
virtual bool synchronizeRobots ()
 
- Protected Member Functions inherited from Logging
bool checkLogLevel (MessageTypeT level) const
 
const LogSenderPtr & getLogSender () const
 Retrieve log sender.
 
LogSenderPtr loghelper (const char *file, int line, const char *function) const
 

Protected Attributes

std::map< VirtualRobot::RobotPtr, std::pair< IceUtil::Time, Eigen::Matrix4f > > angularVelocityFilters
 
VirtualRobot::SceneObjectPtr floor
 
double floorDepthMM
 
double floorExtendMM
 
Eigen::Vector3f floorPos
 
Eigen::Vector3f floorUp
 
VirtualRobot::ObstaclePtr groundObject
 
std::map< VirtualRobot::RobotNodePtr, std::pair< IceUtil::Time, float > > jointAngleDerivationFilters
 
std::vector< VirtualRobot::SceneObjectPtr > kinematicObjects
 
std::map< std::string, KinematicRobotInfo > kinematicRobots
 
IceUtil::Time lastTime
 
std::map< VirtualRobot::RobotPtr, std::pair< IceUtil::Time, Eigen::Vector3f > > linearVelocityFilters
 
int stepSizeMs
 
- Protected Attributes inherited from SimulatedWorld
std::vector< GraspingInfo > attachedObjects
 
bool collectContacts
 
double currentSimTimeSec = 0.0
 
double currentSyncTimeSec = 0.0
 
std::map< std::string, int > engineMtxAccCalls
 
std::map< std::string, float > engineMtxAccTime
 
std::map< std::string, IceUtil::Time > engineMtxLastTime
 
MutexPtrType engineMutex
 
float maxRealTimeSimSpeed = 1
 
SimulatedWorldData simReportData
 
float simStepExecutionDurationMS
 
float simTimeStepMS
 
SceneVisuData simVisuData
 
float synchronizeDurationMS
 
MutexPtrType synchronizeMutex
 
std::map< std::string, int > syncMtxAccCalls
 
std::map< std::string, float > syncMtxAccTime
 
std::map< std::string, IceUtil::Time > syncMtxLastTime
 
- Protected Attributes inherited from Logging
MessageTypeT minimumLoggingLevel
 
SpamFilterDataPtr spamFilter
 
LogTag tag
 

Additional Inherited Members

- Public Types inherited from SimulatedWorld
using MutexPtrType = typename argType<setMutexFunc>::type
 
using MutexType = MutexPtrType::element_type
 
using ScopedRecursiveLock = std::scoped_lock<MutexType>
 
using ScopedRecursiveLockPtr = std::shared_ptr<ScopedRecursiveLock>
 
using setMutexFunc = decltype(&SimDynamics::DynamicsEngine::setMutex)
 

Detailed Description

The KinematicsWorld class encapsulates the kinemtics simulation and the corresponding data. All real physics simulation is either approximated through simple kinemtics or disabled.

Constructor & Destructor Documentation

◆ KinematicsWorld()

◆ ~KinematicsWorld()

~KinematicsWorld ( )
overridedefault

Member Function Documentation

◆ actuateRobotJoints()

void actuateRobotJoints ( const std::string & robotName,
const std::map< std::string, float > & angles,
const std::map< std::string, float > & velocities )
overridevirtual

ignoring velocity target

Implements SimulatedWorld.

◆ actuateRobotJointsPos()

void actuateRobotJointsPos ( const std::string & robotName,
const std::map< std::string, float > & angles )
overridevirtual

Implements SimulatedWorld.

◆ actuateRobotJointsTorque()

void actuateRobotJointsTorque ( const std::string & robotName,
const std::map< std::string, float > & torques )
overridevirtual

Implements SimulatedWorld.

◆ actuateRobotJointsVel()

void actuateRobotJointsVel ( const std::string & robotName,
const std::map< std::string, float > & velocities )
overridevirtual

Implements SimulatedWorld.

◆ addObstacleEngine()

bool addObstacleEngine ( VirtualRobot::SceneObjectPtr o,
VirtualRobot::SceneObject::Physics::SimulationType simType )
overrideprotectedvirtual

Implements SimulatedWorld.

◆ addRobotEngine()

bool addRobotEngine ( VirtualRobot::RobotPtr robot,
double pid_p,
double pid_i,
double pid_d,
const std::string & filename,
bool staticRobot,
bool selfCollisions )
overrideprotectedvirtual

Implements SimulatedWorld.

◆ applyForceObject()

void applyForceObject ( const std::string & objectName,
const Eigen::Vector3f & force )
overridevirtual

Implements SimulatedWorld.

◆ applyForceRobotNode()

void applyForceRobotNode ( const std::string & robotName,
const std::string & robotNodeName,
const Eigen::Vector3f & force )
overridevirtual

Implements SimulatedWorld.

◆ applyTorqueObject()

void applyTorqueObject ( const std::string & objectName,
const Eigen::Vector3f & torque )
overridevirtual

Implements SimulatedWorld.

◆ applyTorqueRobotNode()

void applyTorqueRobotNode ( const std::string & robotName,
const std::string & robotNodeName,
const Eigen::Vector3f & torque )
overridevirtual

Implements SimulatedWorld.

◆ calculateActualVelocities()

void calculateActualVelocities ( )
protected

◆ copyContacts()

std::vector< SimDynamics::DynamicsEngine::DynamicsContactInfo > copyContacts ( )
overridevirtual

Implements SimulatedWorld.

◆ createFloorPlane()

void createFloorPlane ( const Eigen::Vector3f & pos,
const Eigen::Vector3f & up )
protectedvirtual

◆ enableLogging()

void enableLogging ( const std::string & robotName,
const std::string & logFile )
overridevirtual

Reimplemented from SimulatedWorld.

◆ getDeltaTimeMilli()

float getDeltaTimeMilli ( )
protected

◆ getDistance()

DistanceInfo getDistance ( const std::string & robotName,
const std::string & robotNodeName,
const std::string & worldObjectName )
overridevirtual

Implements SimulatedWorld.

◆ getFixedTimeStepMS()

int getFixedTimeStepMS ( )
overridevirtual
Returns
The number of steps * the timestep in MS

Implements SimulatedWorld.

◆ getFloor()

SceneObjectPtr getFloor ( )
overrideprotectedvirtual

Implements SimulatedWorld.

◆ getObject()

VirtualRobot::SceneObjectPtr getObject ( const std::string & objectName)
virtual

◆ getObjectPose()

Eigen::Matrix4f getObjectPose ( const std::string & objectName)
overridevirtual

Implements SimulatedWorld.

◆ getObjects()

std::vector< SceneObjectPtr > getObjects ( )
overridevirtual

Implements SimulatedWorld.

◆ getObstacleNames()

std::vector< std::string > getObstacleNames ( )
overridevirtual

Implements SimulatedWorld.

◆ getRobot()

VirtualRobot::RobotPtr getRobot ( const std::string & robotName)
overridevirtual

Implements SimulatedWorld.

◆ getRobotAngularVelocity()

Eigen::Vector3f getRobotAngularVelocity ( const std::string & robotName,
const std::string & nodeName )
overridevirtual

Implements SimulatedWorld.

◆ getRobotForceTorqueSensors()

ForceTorqueDataSeq getRobotForceTorqueSensors ( const std::string & )
overridevirtual

Implements SimulatedWorld.

◆ getRobotJointAngle()

float getRobotJointAngle ( const std::string & robotName,
const std::string & nodeName )
overridevirtual

Implements SimulatedWorld.

◆ getRobotJointAngles()

std::map< std::string, float > getRobotJointAngles ( const std::string & robotName)
overridevirtual

Implements SimulatedWorld.

◆ getRobotJointLimitHi()

float getRobotJointLimitHi ( const std::string & robotName,
const std::string & nodeName )
overridevirtual

Implements SimulatedWorld.

◆ getRobotJointLimitLo()

float getRobotJointLimitLo ( const std::string & robotName,
const std::string & nodeName )
overridevirtual

Implements SimulatedWorld.

◆ getRobotJointTorques()

std::map< std::string, float > getRobotJointTorques ( const std::string & )
overridevirtual

Implements SimulatedWorld.

◆ getRobotJointVelocities()

std::map< std::string, float > getRobotJointVelocities ( const std::string & robotName)
overridevirtual

Implements SimulatedWorld.

◆ getRobotJointVelocity()

float getRobotJointVelocity ( const std::string & robotName,
const std::string & nodeName )
overridevirtual

Implements SimulatedWorld.

◆ getRobotLinearVelocity()

Eigen::Vector3f getRobotLinearVelocity ( const std::string & robotName,
const std::string & nodeName )
overridevirtual

Implements SimulatedWorld.

◆ getRobotMass()

float getRobotMass ( const std::string & robotName)
overridevirtual

Implements SimulatedWorld.

◆ getRobotMaxTorque()

float getRobotMaxTorque ( const std::string & robotName,
const std::string & nodeName )
overridevirtual

Implements SimulatedWorld.

◆ getRobotNames()

std::vector< std::string > getRobotNames ( )
overridevirtual

Implements SimulatedWorld.

◆ getRobotNodeDistance()

DistanceInfo getRobotNodeDistance ( const std::string & robotName,
const std::string & robotNodeName1,
const std::string & robotNodeName2 )
overridevirtual

Implements SimulatedWorld.

◆ getRobotNodePose()

Eigen::Matrix4f getRobotNodePose ( const std::string & robotName,
const std::string & robotNodeName )
overridevirtual

Implements SimulatedWorld.

◆ getRobotPose()

Eigen::Matrix4f getRobotPose ( const std::string & robotName)
overridevirtual

Implements SimulatedWorld.

◆ getRobots()

std::map< std::string, RobotPtr > getRobots ( )
overridevirtual

Implements SimulatedWorld.

◆ getRobotStatus()

bool getRobotStatus ( const std::string & robotName,
NameValueMap & jointAngles,
NameValueMap & jointVelocities,
NameValueMap & jointTorques,
Eigen::Vector3f & linearVelocity,
Eigen::Vector3f & angularVelocity )
overrideprotectedvirtual

Implements SimulatedWorld.

◆ hasObject()

bool hasObject ( const std::string & instanceName)
overridevirtual

Implements SimulatedWorld.

◆ hasRobot()

bool hasRobot ( const std::string & robotName)
overridevirtual

Implements SimulatedWorld.

◆ hasRobotNode()

bool hasRobotNode ( const std::string & robotName,
const std::string & robotNodeName )
overridevirtual

Implements SimulatedWorld.

◆ initialize()

void initialize ( int stepSizeMS,
float maxRealTimeSimSpeed = 1,
bool floorPlane = false,
std::string floorTexture = std::string() )
virtual

◆ objectGraspedEngine()

bool objectGraspedEngine ( const std::string & robotName,
const std::string & robotNodeName,
const std::string & objectName,
Eigen::Matrix4f & storeLocalTransform )
overrideprotectedvirtual

create a joint

Implements SimulatedWorld.

◆ objectReleasedEngine()

bool objectReleasedEngine ( const std::string & robotName,
const std::string & robotNodeName,
const std::string & objectName )
overrideprotectedvirtual

remove a joint

Implements SimulatedWorld.

◆ removeObstacleEngine()

bool removeObstacleEngine ( const std::string & name)
overrideprotectedvirtual

Implements SimulatedWorld.

◆ removeRobotEngine()

bool removeRobotEngine ( const std::string & robotName)
overrideprotectedvirtual

Implements SimulatedWorld.

◆ setObjectPose()

void setObjectPose ( const std::string & objectName,
const Eigen::Matrix4f & globalPose )
overridevirtual

Implements SimulatedWorld.

◆ setObjectSimType()

void setObjectSimType ( const std::string & objectName,
VirtualRobot::SceneObject::Physics::SimulationType simType )
overridevirtual

Implements SimulatedWorld.

◆ setRobotAngularVelocity()

void setRobotAngularVelocity ( const std::string & robotName,
const std::string & robotNodeName,
const Eigen::Vector3f & vel )
overridevirtual

Implements SimulatedWorld.

◆ setRobotAngularVelocityRobotRootFrame()

void setRobotAngularVelocityRobotRootFrame ( const std::string & robotName,
const std::string & robotNodeName,
const Eigen::Vector3f & vel )
overridevirtual

Implements SimulatedWorld.

◆ setRobotLinearVelocity()

void setRobotLinearVelocity ( const std::string & robotName,
const std::string & robotNodeName,
const Eigen::Vector3f & vel )
overridevirtual

Implements SimulatedWorld.

◆ setRobotLinearVelocityRobotRootFrame()

void setRobotLinearVelocityRobotRootFrame ( const std::string & robotName,
const std::string & robotNodeName,
const Eigen::Vector3f & vel )
overridevirtual

Implements SimulatedWorld.

◆ setRobotMaxTorque()

void setRobotMaxTorque ( const std::string & robotName,
const std::string & nodeName,
float maxTorque )
overridevirtual

Implements SimulatedWorld.

◆ setRobotNodeSimType()

void setRobotNodeSimType ( const std::string & robotName,
const std::string & robotNodeName,
VirtualRobot::SceneObject::Physics::SimulationType simType )
overridevirtual

Implements SimulatedWorld.

◆ setRobotPose()

void setRobotPose ( const std::string & robotName,
const Eigen::Matrix4f & globalPose )
overridevirtual

Implements SimulatedWorld.

◆ setupFloorEngine()

void setupFloorEngine ( bool enable,
const std::string & floorTexture )
overrideprotectedvirtual

Implements SimulatedWorld.

◆ stepPhysicsFixedTimeStep()

void stepPhysicsFixedTimeStep ( )
overridevirtual

Perform one simulation step.

This updates all models.

Implements SimulatedWorld.

◆ stepPhysicsRealTime()

void stepPhysicsRealTime ( )
overridevirtual

Perform one simulation step.

Calculates the delta update time from the time that has passed since the last call. This updates all models.

Implements SimulatedWorld.

◆ stepStaticObjects()

void stepStaticObjects ( double deltaInSeconds)
protected

◆ stepStaticRobots()

void stepStaticRobots ( double deltaInSeconds)
protected

◆ synchronizeObjects()

bool synchronizeObjects ( )
overrideprotectedvirtual

Implements SimulatedWorld.

◆ synchronizeRobotNodePoses()

bool synchronizeRobotNodePoses ( const std::string & robotName,
std::map< std::string, armarx::PoseBasePtr > & objMap )
overrideprotectedvirtual

Implements SimulatedWorld.

◆ synchronizeSceneObjectPoses()

bool synchronizeSceneObjectPoses ( VirtualRobot::SceneObjectPtr currentObjEngine,
std::map< std::string, armarx::PoseBasePtr > & objMap )
overrideprotectedvirtual

Implements SimulatedWorld.

◆ synchronizeSimulationDataEngine()

bool synchronizeSimulationDataEngine ( )
overrideprotectedvirtual

Implements SimulatedWorld.

◆ toFramedPose()

armarx::FramedPosePtr toFramedPose ( const Eigen::Matrix4f & globalPose,
const std::string & robotName,
const std::string & frameName )
overridevirtual

toFramedPose Constructs a framed pose

Parameters
globalPose
robotName
frameName
Returns

Implements SimulatedWorld.

◆ updateForceTorqueSensor()

bool updateForceTorqueSensor ( ForceTorqueInfo & ftInfo)
overrideprotectedvirtual

Implements SimulatedWorld.

Member Data Documentation

◆ angularVelocityFilters

std::map<VirtualRobot::RobotPtr, std::pair<IceUtil::Time, Eigen::Matrix4f> > angularVelocityFilters
protected

◆ floor

VirtualRobot::SceneObjectPtr floor
protected

◆ floorDepthMM

double floorDepthMM
protected

◆ floorExtendMM

double floorExtendMM
protected

◆ floorPos

Eigen::Vector3f floorPos
protected

◆ floorUp

Eigen::Vector3f floorUp
protected

◆ groundObject

VirtualRobot::ObstaclePtr groundObject
protected

◆ jointAngleDerivationFilters

std::map<VirtualRobot::RobotNodePtr, std::pair<IceUtil::Time, float> > jointAngleDerivationFilters
protected

◆ kinematicObjects

std::vector<VirtualRobot::SceneObjectPtr> kinematicObjects
protected

◆ kinematicRobots

std::map<std::string, KinematicRobotInfo> kinematicRobots
protected

◆ lastTime

IceUtil::Time lastTime
protected

◆ linearVelocityFilters

std::map<VirtualRobot::RobotPtr, std::pair<IceUtil::Time, Eigen::Vector3f> > linearVelocityFilters
protected

◆ stepSizeMs

int stepSizeMs
protected

The documentation for this class was generated from the following files: