mc_tvm::PositionBasedVisServoFunction Struct Reference

#include <mc_tvm/PositionBasedVisServoFunction.h>

Inheritance diagram for mc_tvm::PositionBasedVisServoFunction:
Collaboration diagram for mc_tvm::PositionBasedVisServoFunction:

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW PositionBasedVisServoFunction (const mc_rbdyn::RobotFrame &frame)
 
void reset () noexcept
 
const sva::PTransformd & error () const noexcept
 
void error (const sva::PTransformd &X_t_s) noexcept
 
const mc_rbdyn::RobotFrameframe () const noexcept
 

Protected Member Functions

void updateValue ()
 
void updateVelocity ()
 
void updateJacobian ()
 
void updateNormalAcceleration ()
 

Protected Attributes

mc_rbdyn::ConstRobotFramePtr frame_
 
mc_tvm::RobotFrametvm_frame_
 
sva::PTransformd X_t_s_
 
rbd::Jacobian frameJac_
 
double angle_
 
Eigen::Vector3d axis_
 
Eigen::Matrix< double, 6, 6 > L_pbvs_
 
Eigen::Matrix< double, 6, 1 > frameVelocity_
 
Eigen::Matrix3d omegaSkew_
 
Eigen::Matrix< double, 6, 6 > L_pbvs_dot_
 
Eigen::MatrixXd shortJacMat_
 
Eigen::MatrixXd jacMat_
 

Detailed Description

This class implements a position-based visual servoing function

This task value is to be updated by an external process (e.g. a vision algorithm)

See https://hal.inria.fr/hal-01421734/file/2016_ral_agaravante.pdf for details

Constructor & Destructor Documentation

◆ PositionBasedVisServoFunction()

EIGEN_MAKE_ALIGNED_OPERATOR_NEW mc_tvm::PositionBasedVisServoFunction::PositionBasedVisServoFunction ( const mc_rbdyn::RobotFrame frame)

Constructor

Parameters
frameControlled frame

Member Function Documentation

◆ error() [1/2]

const sva::PTransformd& mc_tvm::PositionBasedVisServoFunction::error ( ) const
inlinenoexcept

Access the current error

◆ error() [2/2]

void mc_tvm::PositionBasedVisServoFunction::error ( const sva::PTransformd &  X_t_s)
inlinenoexcept

Set the function error, i.e. the current position relative to the target position

◆ frame()

const mc_rbdyn::RobotFrame& mc_tvm::PositionBasedVisServoFunction::frame ( ) const
inlinenoexcept

Access the controlled frame

◆ reset()

void mc_tvm::PositionBasedVisServoFunction::reset ( )
inlinenoexcept

Reset the error

◆ updateJacobian()

void mc_tvm::PositionBasedVisServoFunction::updateJacobian ( )
protected

◆ updateNormalAcceleration()

void mc_tvm::PositionBasedVisServoFunction::updateNormalAcceleration ( )
protected

◆ updateValue()

void mc_tvm::PositionBasedVisServoFunction::updateValue ( )
protected

◆ updateVelocity()

void mc_tvm::PositionBasedVisServoFunction::updateVelocity ( )
protected

Member Data Documentation

◆ angle_

double mc_tvm::PositionBasedVisServoFunction::angle_
protected

◆ axis_

Eigen::Vector3d mc_tvm::PositionBasedVisServoFunction::axis_
protected

◆ frame_

mc_rbdyn::ConstRobotFramePtr mc_tvm::PositionBasedVisServoFunction::frame_
protected

◆ frameJac_

rbd::Jacobian mc_tvm::PositionBasedVisServoFunction::frameJac_
protected

◆ frameVelocity_

Eigen::Matrix<double, 6, 1> mc_tvm::PositionBasedVisServoFunction::frameVelocity_
protected

◆ jacMat_

Eigen::MatrixXd mc_tvm::PositionBasedVisServoFunction::jacMat_
protected

◆ L_pbvs_

Eigen::Matrix<double, 6, 6> mc_tvm::PositionBasedVisServoFunction::L_pbvs_
protected

◆ L_pbvs_dot_

Eigen::Matrix<double, 6, 6> mc_tvm::PositionBasedVisServoFunction::L_pbvs_dot_
protected

◆ omegaSkew_

Eigen::Matrix3d mc_tvm::PositionBasedVisServoFunction::omegaSkew_
protected

◆ shortJacMat_

Eigen::MatrixXd mc_tvm::PositionBasedVisServoFunction::shortJacMat_
protected

◆ tvm_frame_

mc_tvm::RobotFrame& mc_tvm::PositionBasedVisServoFunction::tvm_frame_
protected

◆ X_t_s_

sva::PTransformd mc_tvm::PositionBasedVisServoFunction::X_t_s_
protected

The documentation for this struct was generated from the following file: