ConstraintForceSolver.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008, AIST, the University of Tokyo and General Robotix Inc.
3  * All rights reserved. This program is made available under the terms of the
4  * Eclipse Public License v1.0 which accompanies this distribution, and is
5  * available at http://www.eclipse.org/legal/epl-v10.html
6  * Contributors:
7  * National Institute of Advanced Industrial Science and Technology (AIST)
8  */
14 #ifndef OPENHRP_CONSTRAINT_FORCE_SOLVER_H_INCLUDED
15 #define OPENHRP_CONSTRAINT_FORCE_SOLVER_H_INCLUDED
16 
17 #include "Config.h"
18 
19 namespace OpenHRP {
20  class CollisionSequence;
21 }
22 
23 namespace hrp
24 {
25  class Link;
26  class CFSImpl;
27  class WorldBase;
28 
29  class HRPMODEL_API ConstraintForceSolver
30  {
32 
33  public:
36 
37  bool addCollisionCheckLinkPair
38  (int bodyIndex1, Link* link1, int bodyIndex2, Link* link2, double muStatic, double muDynamic, double culling_thresh, double restitution, double epsilon);
39  bool addExtraJoint(int bodyIndex1, Link* link1, int bodyIndex2, Link* link2, const double* link1LocalPos, const double* link2LocalPos, const short jointType, const double* jointAxis );
40  void clearCollisionCheckLinkPairs();
41 
42  void setGaussSeidelParameters(int maxNumIteration, int numInitialIteration, double maxRelError);
43  void enableConstraintForceOutput(bool on);
44  void useBuiltinCollisionDetector(bool on);
45  void setNegativeVelocityRatioForPenetration(double ratio);
46 
47  void initialize(void);
48  void solve(OpenHRP::CollisionSequence& corbaCollisionSequence);
49  void clearExternalForces();
50  void setAllowedPenetrationDepth(double dVal);
51  double getAllowedPenetrationDepth() const;
52  };
53 };
54 
55 
56 #endif
57 


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Sat May 8 2021 02:42:37