Klamp't  0.9.0
StanceCSpace.h
1 #ifndef ROBOT_STANCE_CSPACE_H
2 #define ROBOT_STANCE_CSPACE_H
3 
4 #include "ContactCSpace.h"
5 #include <Klampt/Contact/Stance.h>
6 #include <KrisLibrary/robotics/Stability.h>
7 #include <KrisLibrary/robotics/TorqueSolver.h>
8 
9 namespace Klampt {
10 
28 {
29  public:
30  StanceCSpace(WorldModel& world,int index,
31  WorldPlannerSettings* settings);
32  StanceCSpace(const SingleRobotCSpace& space);
33  StanceCSpace(const StanceCSpace& space);
34  virtual ~StanceCSpace() {}
35 
37  void SetStance(const Stance& s);
39  void SetHold(const Hold& h);
41  void CalculateSP();
43  void SetSPMargin(Real margin);
46  void InitTorqueSolver();
47 
50  bool CheckRBStability(const Config& x);
54  bool CheckTorqueStability(const Config& x);
55 
56  Stance stance;
57  Vector3 gravity;
58  int numFCEdges;
59  bool spCalculated;
60  Real spMargin;
61  SupportPolygon sp;
62  ContactFormation formation;
63  TorqueSolver torqueSolver;
64 };
65 
66 } // namespace Klampt;
67 
68 #endif
bool CheckRBStability(const Config &x)
void SetHold(const Hold &h)
Adds the given hold to the space&#39;s stance.
A cspace consisting of a single robot configuration in a WorldModel. Feasibility constraints are join...
Definition: RobotCSpace.h:103
A structure containing settings that should be used for collision detection, contact solving...
Definition: PlannerSettings.h:43
A collection of holds.
Definition: Stance.h:20
void CalculateSP()
Calculates the support polygon for faster equilibrium testing.
bool CheckTorqueStability(const Config &x)
void SetStance(const Stance &s)
Sets the current stance for this space.
void SetSPMargin(Real margin)
Enables robust equilbrium solving by shrinking the margin.
A single contact between the robot and the environment.
Definition: Hold.h:28
A SingleRobotCSpace for a robot maintaining contact.
Definition: ContactCSpace.h:19
Definition: ContactDistance.h:6
A configuration space that constrains a robot to the IK constraints in a stance, and checks for stabi...
Definition: StanceCSpace.h:27
The main world class containing multiple robots, objects, and static geometries (terrains). Lights and other viewport information may also be stored here.
Definition: World.h:24