#include <mc_tvm/CollisionFunction.h>
Classes | |
struct | ObjectData |
Public Member Functions | |
CollisionFunction (Convex &c1, Convex &c2, const Eigen::VectorXd &r1Selector, const Eigen::VectorXd &r2Selector, double dt) | |
void | tick () |
double | distance () const noexcept |
const Convex & | c1 () const noexcept |
const Eigen::Vector3d & | p1 () const noexcept |
const Convex & | c2 () const noexcept |
const Eigen::Vector3d & | p2 () const noexcept |
Protected Member Functions | |
void | updateValue () |
void | updateVelocity () |
void | updateJacobian () |
void | updateNormalAcceleration () |
Protected Attributes | |
uint64_t | iter_ = 0 |
uint64_t | prevIter_ = 0 |
Convex * | c1_ |
Convex * | c2_ |
double | dt_ |
Eigen::Vector3d | p1_ = Eigen::Vector3d::Zero() |
Eigen::Vector3d | p2_ = Eigen::Vector3d::Zero() |
sch::CD_Pair | pair_ |
std::vector< ObjectData > | data_ |
Eigen::Vector3d | normVecDist_ = Eigen::Vector3d::Zero() |
Eigen::Vector3d | prevNormVecDist_ = Eigen::Vector3d::Zero() |
Eigen::Vector3d | speedVec_ = Eigen::Vector3d::Zero() |
Eigen::MatrixXd | fullJac_ |
Eigen::MatrixXd | distJac_ |
This class implements a collision function for two given objects
mc_tvm::CollisionFunction::CollisionFunction | ( | Convex & | c1, |
Convex & | c2, | ||
const Eigen::VectorXd & | r1Selector, | ||
const Eigen::VectorXd & | r2Selector, | ||
double | dt | ||
) |
Constructor
c1 | First collision object |
c2 | Second collision object |
r1Selector | Joint selector for the first robot |
r2Selector | Joint selector for the second robot |
dt | Timestep |
|
inlinenoexcept |
First convex involved in the collision
|
inlinenoexcept |
Second convex involved in the collision
|
inlinenoexcept |
Distance between the two objects
|
inlinenoexcept |
Closest point on c1 in inertial frame coordinates
|
inlinenoexcept |
Closest point on c2 in inertial frame coordinates
void mc_tvm::CollisionFunction::tick | ( | ) |
Called once every iteration to advance the iteration counter
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Intermediate computation
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |