Klamp't  0.9.0
Public Attributes | List of all members
Klampt::ODESimulatorSettings Struct Reference

Global simulator settings. More...

#include <ODESimulator.h>

Public Attributes

double gravity [3]
 The gravity vector.
bool autoDisable
 Whether to use ODE's auto-disable functionality for non-moving objects.
double defaultEnvPadding
 The default collision padding for environments.
ODESurfaceProperties defaultEnvSurface
 The default surface property for environments.
bool boundaryLayerCollisions
 If true, uses boundary layers for collision detection (recommended true)
bool rigidObjectCollisions
 If true, rigid objects collide with one another (default true)
bool robotSelfCollisions
 If true, robot self-collisions are detected (default false)
bool robotRobotCollisions
 If true, robots can collide with other robots (default false)
bool adaptiveTimeStepping
double minimumAdaptiveTimeStep
 The minimum time step used by adaptive time stepping (default 1e-6)
int maxContacts
double clusterNormalScale
double errorReductionParameter
 ODE's global ERP parameter.
double dampedLeastSquaresParameter
 ODE's global DLS parameter.
double instabilityConstantEnergyThreshold
double instabilityLinearEnergyThreshold
double instabilityMaxEnergyThreshold
double instabilityPostCorrectionEnergy

Detailed Description

Global simulator settings.

Member Data Documentation

bool Klampt::ODESimulatorSettings::adaptiveTimeStepping

If true, difficult collision situations are resolved using new adaptive time stepping methods (default true)

NOTE: adaptiveTimeStepping and autoDisable should not be on at the same time! Disabling does weird stuff.

double Klampt::ODESimulatorSettings::clusterNormalScale

During contact clustering, the metric for determining "nearby" contacts uses this weight to scale distances in normal space. Distance in position space have weight 1. (default 0.1)

double Klampt::ODESimulatorSettings::instabilityConstantEnergyThreshold

If kinetic energy grows too much from step to step, instability correction is triggered. Specifically it turns on if KE[t+1] > instabilityLinearEnergyThreshold*KE[t]+instabilityConstantEnergyThreshold KE[t+1] > instabilityMaxEnergyThreshold for any object. Default values are 1, 1.5, and 100000.

double Klampt::ODESimulatorSettings::instabilityPostCorrectionEnergy

The kinetic energy threshold enforced for any body going unstable. negative values -c means scale current kinetic energy by c. 0 means set velocity to 0. Positive values are constants * threshold. (default -0.9)

int Klampt::ODESimulatorSettings::maxContacts

Maximum number of contacts between each pair of objects after clustering. Larger values slow down collision detection (default 20)

The documentation for this struct was generated from the following file: