This file contains the utility function to add constraint in gripper/brick motion planning.
|
template<typename T > |
void | AddFrictionConeConstraint (const GripperBrickHelper< T > &gripper_brick, Finger finger, BrickFace brick_face, const Eigen::Ref< const Vector2< symbolic::Variable >> &f_Cb_B, double friction_cone_shrink_factor, solvers::MathematicalProgram *prog) |
| Adds the friction cone as linear constraints on the contact force f_Cb_B (the contact force applied on the brick contact point Cb, expressed in the brick frame B). More...
|
|
void | AddFingerTipInContactWithBrickFaceConstraint (const GripperBrickHelper< double > &gripper_brick_system, Finger finger, BrickFace brick_face, solvers::MathematicalProgram *prog, const Eigen::Ref< const VectorX< symbolic::Variable >> &q_vars, systems::Context< double > *plant_context, double face_shrink_factor, double depth) |
| Add the kinematic constraint that the finger tip (the sphere collision geometry in the tip of the finger) is in contact with a shrunk region on the brick face. More...
|
|
Eigen::Vector3d | ComputeFingerTipInBrickFrame (const GripperBrickHelper< double > &gripper_brick, const Finger finger, const systems::Context< double > &plant_context, const Eigen::Ref< const Eigen::VectorXd > &q) |
|
Vector3< AutoDiffXd > | ComputeFingerTipInBrickFrame (const GripperBrickHelper< double > &gripper_brick, const Finger finger, const systems::Context< double > &plant_context, const Eigen::Ref< const AutoDiffVecXd > &q) |
|
void | AddFingerNoSlidingConstraint (const GripperBrickHelper< double > &gripper_brick, Finger finger, BrickFace face, double rolling_angle_bound, solvers::MathematicalProgram *prog, systems::Context< double > *from_context, systems::Context< double > *to_context, const Eigen::Ref< const VectorX< symbolic::Variable >> &q_from, const Eigen::Ref< const VectorX< symbolic::Variable >> &q_to, double face_shrink_factor, double depth) |
| Impose a kinematic constraint which prohibits the fingertip sphere from sliding on the brick's face. More...
|
|
void | AddFingerNoSlidingFromFixedPostureConstraint (const GripperBrickHelper< double > &gripper_brick, Finger finger, BrickFace face, double rolling_angle_lower, double rolling_angle_upper, solvers::MathematicalProgram *prog, const systems::Context< double > &from_fixed_context, systems::Context< double > *to_context, const Eigen::Ref< const VectorX< symbolic::Variable >> &q_to, double face_shrink_factor, double depth) |
| Impose the kinematic constraint that the finger can only roll (or stick) starting from a given fixed posture. More...
|
|