6 #ifndef RDL_CONTACTS_HPP
7 #define RDL_CONTACTS_HPP
181 double normal_acceleration = 0.);
190 result.
bound =
false;
231 std::vector<unsigned int>
body;
271 Eigen::HouseholderQR<Math::MatrixNd>
GT_qr;
306 std::vector<Math::SpatialVector>
d_a;
310 std::vector<Math::SpatialMatrix>
d_IA;
313 std::vector<Math::SpatialVector>
d_U;
Definition: rdl_eigenmath.hpp:54
LinearSolver
Available solver methods for the linear systems.
Definition: rdl_mathutils.hpp:29
@ LinearSolverColPivHouseholderQR
Definition: rdl_mathutils.hpp:32
std::vector< SpatialForce, Eigen::aligned_allocator< SpatialForce > > SpatialForceV
Definition: SpatialForce.hpp:252
Eigen::VectorXd VectorNd
Definition: rdl_eigenmath.hpp:20
Eigen::MatrixXd MatrixNd
Definition: rdl_eigenmath.hpp:21
Namespace for all structures of the RobotDynamics library.
Definition: examples.hpp:19
Structure that contains both constraint information and workspace memory.
Definition: Contacts.hpp:164
Math::MatrixNd H
Workspace for the joint space inertia matrix.
Definition: Contacts.hpp:252
std::vector< std::string > name
Definition: Contacts.hpp:230
std::vector< Math::SpatialMatrix > d_IA
Workspace for the inertia when applying constraint forces.
Definition: Contacts.hpp:310
Math::MatrixNd K
Workspace for the Inverse Articulated-Body Inertia.
Definition: Contacts.hpp:282
std::vector< Math::SpatialVector > d_a
Workspace for the acceleration due to the test force.
Definition: Contacts.hpp:306
Math::VectorNd qddot_z
Definition: Contacts.hpp:277
Math::VectorNd a
Workspace for the accelerations of due to the test forces.
Definition: Contacts.hpp:285
std::vector< Math::Vector3d > normal
Definition: Contacts.hpp:233
Math::MatrixNd GT_qr_Q
Definition: Contacts.hpp:273
Eigen::HouseholderQR< Math::MatrixNd > GT_qr
Workspace for the QR decomposition of the null-space method.
Definition: Contacts.hpp:271
Math::MatrixNd G
Definition: Contacts.hpp:259
Math::MatrixNd Z
Definition: Contacts.hpp:275
Math::VectorNd QDDot_0
Workspace for the default accelerations.
Definition: Contacts.hpp:291
Math::VectorNd d_u
Definition: Contacts.hpp:307
size_t size() const
Returns the number of constraints.
Definition: Contacts.hpp:216
std::vector< Math::Vector3d > d_multdof3_u
Definition: Contacts.hpp:318
Math::VectorNd b
Workspace for the Lagrangian right-hand-side.
Definition: Contacts.hpp:265
Math::VectorNd qddot_y
Definition: Contacts.hpp:276
std::vector< Math::Vector3d > point_accel_0
Workspace for the default point accelerations.
Definition: Contacts.hpp:300
Math::MatrixNd Y
Definition: Contacts.hpp:274
void setSolver(Math::LinearSolver solver)
Specifies which method should be used for solving undelying linear systems.
Definition: Contacts.hpp:197
bool bind(const Model &model)
Initializes and allocates memory for the constraint set.
Definition: Contacts.cpp:57
Math::SpatialForceV d_pA
Workspace for the bias force due to the test force.
Definition: Contacts.hpp:303
ConstraintSet Copy()
Copies the constraints and resets its ConstraintSet::bound flag.
Definition: Contacts.hpp:186
ConstraintSet()
Definition: Contacts.hpp:165
Math::VectorNd gamma
Workspace of the lower part of b.
Definition: Contacts.hpp:258
Math::VectorNd force
Definition: Contacts.hpp:240
Math::VectorNd v_plus
Definition: Contacts.hpp:247
Math::MatrixNd A
Workspace for the Lagrangian left-hand-side matrix.
Definition: Contacts.hpp:262
Math::VectorNd d_d
Workspace when applying constraint forces.
Definition: Contacts.hpp:316
Math::LinearSolver linear_solver
Method that should be used to solve internal linear systems.
Definition: Contacts.hpp:225
Math::SpatialForceV f_ext_constraints
Workspace for the actual spatial forces.
Definition: Contacts.hpp:297
Math::VectorNd QDDot_t
Workspace for the test accelerations.
Definition: Contacts.hpp:288
std::vector< Math::SpatialVector > d_U
Workspace when applying constraint forces.
Definition: Contacts.hpp:313
Math::SpatialForceV f_t
Workspace for the test forces.
Definition: Contacts.hpp:294
unsigned int addConstraint(unsigned int body_id, const Math::Vector3d &body_point, const Math::Vector3d &world_normal, const char *constraint_name=NULL, double normal_acceleration=0.)
Adds a constraint to the constraint set.
Definition: Contacts.cpp:22
Math::VectorNd acceleration
Definition: Contacts.hpp:237
std::vector< Math::Vector3d > point
Definition: Contacts.hpp:232
std::vector< unsigned int > body
Definition: Contacts.hpp:231
Math::VectorNd x
Workspace for the Lagrangian solution.
Definition: Contacts.hpp:268
Math::VectorNd C
Workspace for the coriolis forces.
Definition: Contacts.hpp:255
bool bound
Whether the constraint set was bound to a model (mandatory!).
Definition: Contacts.hpp:228
void clear()
Clears all variables in the constraint set.
Definition: Contacts.cpp:122
Math::VectorNd impulse
Definition: Contacts.hpp:243
Contains all information about the rigid body model.
Definition: Model.hpp:112