#include <mc_tvm/JointsSelectorFunction.h>
Public Types | |
using | Function = tvm::function::abstract::Function |
Public Member Functions | |
const Eigen::VectorXd & | value () const override |
const Eigen::VectorXd & | velocity () const override |
const Eigen::VectorXd & | normalAcceleration () const override |
Static Public Member Functions | |
static std::unique_ptr< JointsSelectorFunction > | ActiveJoints (Function *f, const mc_rbdyn::Robot &robot, const std::vector< std::string > &activeJoints) |
static std::unique_ptr< JointsSelectorFunction > | InactiveJoints (Function *f, const mc_rbdyn::Robot &robot, const std::vector< std::string > &inactiveJoints) |
Protected Member Functions | |
JointsSelectorFunction (Function *f, tvm::VariablePtr variable, const std::vector< std::pair< Eigen::DenseIndex, Eigen::DenseIndex >> &activeIndex) | |
void | updateJacobian () |
void | updateJDot () |
Protected Attributes | |
Function * | f_ |
tvm::VariablePtr | variable_ |
std::vector< std::pair< Eigen::DenseIndex, Eigen::DenseIndex > > | activeIndex_ |
This class implements joints' selection on a given fucntion
using mc_tvm::JointsSelectorFunction::Function = tvm::function::abstract::Function |
|
protected |
Constructor
f | Function selected by this JointsSelector |
robot | Robot controlled by f |
fbActive | True if the selected joints include the floating-base |
activeIndex | For regular joints selected by this JointsSelector, this iss a list of (start, size) pair corresponding to the list of joints |
|
static |
Construct a JointsSelector from a vector of active joints
f | Function selected by this JointsSelector |
robot | Robot controlled by f |
activeJoints | Joints active in this selector |
If | does not depend on robot or any joint in activeJoints is not part of robot |
|
static |
Construct a JointsSelector from a vector of inactive joints
f | Function selected by this JointsSelector |
robot | Robot controlled by f |
inactiveJoints | Joints not active in this selector |
If | does not depend on robot or any joint in activeJoints is not part of robot |
|
inlineoverride |
|
protected |
|
protected |
|
inlineoverride |
|
inlineoverride |
|
protected |
|
protected |
|
protected |