humoto
Public Member Functions | Public Attributes | Protected Attributes | Private Attributes | List of all members
humoto::pepper_ik::WholeBodyController< t_features > Class Template Reference

Detailed Description

template<int t_features>
class humoto::pepper_ik::WholeBodyController< t_features >

Whole body controller.

Template Parameters
t_featuresfeatures identifying the model

Definition at line 23 of file whole_body_controller.h.

#include <whole_body_controller.h>

Inheritance diagram for humoto::pepper_ik::WholeBodyController< t_features >:
Inheritance graph

Public Member Functions

 WholeBodyController ()
 Constructor. More...
 
 WholeBodyController (const humoto::pepper_ik::WBCParameters &wbc_parameters)
 Constructor. More...
 
void computeTagsDesiredPoseInGlobal (const humoto::pepper_ik::Model< t_features > &model)
 Get desired tag(s) pose in global frame. More...
 
etools::Vector6 getBaseVelocityInGlobal (const humoto::pepper_ik::Model< t_features > &model)
 Get base velocity in global frame. More...
 
humoto::pepper_ik::GeneralizedCoordinates< t_features > getNextGeneralizedCoordinates (const humoto::Solution &solution, const humoto::pepper_ik::Model< t_features > &model)
 Get next model state. More...
 
humoto::pepper_ik::GeneralizedCoordinates< t_features > getNextGeneralizedCoordinates (const humoto::pepper_ik::Model< t_features > &model) const
 Get next model state. More...
 
etools::Vector6 getTagPoseErrorInGlobal (const humoto::pepper_ik::Model< t_features > &model, const std::string &tag_name) const
 Get tag pose error in global frame. More...
 
Eigen::VectorXd getTagVelocityInGlobal (const humoto::pepper_ik::Model< t_features > &model, const std::string &tag_name, const etools::Vector6 &tag_velocity_local, const rbdl::SpatialType::Type &spatial_type) const
 Get velocity in global frame. More...
 
Eigen::VectorXd getTagVelocityInLocal (const std::string &tag_name, const rbdl::SpatialType::Type &spatial_type) const
 Get tag velocity in local frame (vx, vy, vz, wx, wy, wz) More...
 
virtual void guessSolution (Solution &solution_guess, const Solution &old_solution) const
 Guess solution. More...
 
void initSolutionStructure (humoto::Solution &solution) const
 Initialize structure of the given solution based on the internally stored solution structure. More...
 
void log (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="wbc") const
 Log. More...
 
void parseSolution (const humoto::Solution &solution)
 Process solution. More...
 
void setTagsVelocity (const std::map< std::string, etools::Vector6 > &tag_velocity)
 Set tag(s) velocity. More...
 
ControlProblemStatus::Status update (humoto::pepper_ik::Model< t_features > &model, const humoto::pepper_ik::MotionParameters &motion_parameters)
 Update control problem. More...
 

Public Attributes

humoto::pepper_ik::MotionParameters motion_parameters_
 
std::map< std::string, etools::Vector6 > tags_desired_pose_global_
 
std::map< std::string, etools::Vector6 > tags_velocity_
 

Protected Attributes

SolutionStructure sol_structure_
 

Private Attributes

bool solution_is_parsed_
 
humoto::pepper_ik::WBCParameters wbc_parameters_
 

Constructor & Destructor Documentation

◆ WholeBodyController() [1/2]

template<int t_features>
humoto::pepper_ik::WholeBodyController< t_features >::WholeBodyController ( )
inline

Constructor.

Definition at line 221 of file whole_body_controller.h.

◆ WholeBodyController() [2/2]

template<int t_features>
humoto::pepper_ik::WholeBodyController< t_features >::WholeBodyController ( const humoto::pepper_ik::WBCParameters wbc_parameters)
inlineexplicit

Constructor.

Parameters
[in]wbc_parameters

Definition at line 232 of file whole_body_controller.h.

Member Function Documentation

◆ computeTagsDesiredPoseInGlobal()

template<int t_features>
void humoto::pepper_ik::WholeBodyController< t_features >::computeTagsDesiredPoseInGlobal ( const humoto::pepper_ik::Model< t_features > &  model)
inline

Get desired tag(s) pose in global frame.

Parameters
[in]model

Definition at line 161 of file whole_body_controller.h.

◆ getBaseVelocityInGlobal()

template<int t_features>
etools::Vector6 humoto::pepper_ik::WholeBodyController< t_features >::getBaseVelocityInGlobal ( const humoto::pepper_ik::Model< t_features > &  model)
inline

Get base velocity in global frame.

Parameters
[in]model
Returns
base_velocity

Definition at line 92 of file whole_body_controller.h.

◆ getNextGeneralizedCoordinates() [1/2]

template<int t_features>
humoto::pepper_ik::GeneralizedCoordinates<t_features> humoto::pepper_ik::WholeBodyController< t_features >::getNextGeneralizedCoordinates ( const humoto::Solution solution,
const humoto::pepper_ik::Model< t_features > &  model 
)
inline

Get next model state.

Parameters
[in]solutionsolution
[in]modelmodel
Returns
next model state.

Definition at line 285 of file whole_body_controller.h.

◆ getNextGeneralizedCoordinates() [2/2]

template<int t_features>
humoto::pepper_ik::GeneralizedCoordinates<t_features> humoto::pepper_ik::WholeBodyController< t_features >::getNextGeneralizedCoordinates ( const humoto::pepper_ik::Model< t_features > &  model) const
inline

Get next model state.

Parameters
[in]modelmodel
Returns
next model state.

Definition at line 309 of file whole_body_controller.h.

◆ getTagPoseErrorInGlobal()

template<int t_features>
etools::Vector6 humoto::pepper_ik::WholeBodyController< t_features >::getTagPoseErrorInGlobal ( const humoto::pepper_ik::Model< t_features > &  model,
const std::string &  tag_name 
) const
inline

Get tag pose error in global frame.

Parameters
[in]model
[in]tag_name
Returns
error in pose in global frame

Definition at line 195 of file whole_body_controller.h.

◆ getTagVelocityInGlobal()

template<int t_features>
Eigen::VectorXd humoto::pepper_ik::WholeBodyController< t_features >::getTagVelocityInGlobal ( const humoto::pepper_ik::Model< t_features > &  model,
const std::string &  tag_name,
const etools::Vector6 &  tag_velocity_local,
const rbdl::SpatialType::Type spatial_type 
) const
inline

Get velocity in global frame.

Parameters
[in]model
[in]tag_name
[in]tag_velocity_local
[in]spatial_type
Returns
velocity in global frame

Definition at line 110 of file whole_body_controller.h.

◆ getTagVelocityInLocal()

template<int t_features>
Eigen::VectorXd humoto::pepper_ik::WholeBodyController< t_features >::getTagVelocityInLocal ( const std::string &  tag_name,
const rbdl::SpatialType::Type spatial_type 
) const
inline

Get tag velocity in local frame (vx, vy, vz, wx, wy, wz)

Parameters
[in]tag_name
[in]spatial_type
Returns
velocity in local frame

Definition at line 45 of file whole_body_controller.h.

◆ guessSolution()

virtual void humoto::ControlProblem::guessSolution ( Solution solution_guess,
const Solution old_solution 
) const
inlinevirtualinherited

Guess solution.

Parameters
[out]solution_guesssolution guess
[in]old_solutionold solution
Attention
This method is called automatically. Can (and often should) be redefined in derived classes.

Reimplemented in humoto::pepper_mpc::MPCforMG, and humoto::wpg04::MPCforWPG.

Definition at line 82 of file control_problem.h.

◆ initSolutionStructure()

void humoto::ControlProblem::initSolutionStructure ( humoto::Solution solution) const
inlineinherited

Initialize structure of the given solution based on the internally stored solution structure.

Parameters
[out]solutionsolution
Attention
This method is called automatically.

Definition at line 64 of file control_problem.h.

◆ log()

template<int t_features>
void humoto::pepper_ik::WholeBodyController< t_features >::log ( humoto::Logger logger,
const LogEntryName parent = LogEntryName(),
const std::string &  name = "wbc" 
) const
inlinevirtual

Log.

Parameters
[in,out]loggerlogger
[in]parentparent
[in]namename

Implements humoto::ControlProblem.

Definition at line 324 of file whole_body_controller.h.

◆ parseSolution()

template<int t_features>
void humoto::pepper_ik::WholeBodyController< t_features >::parseSolution ( const humoto::Solution solution)
inline

Process solution.

Parameters
[in]solutionsolution

Definition at line 270 of file whole_body_controller.h.

◆ setTagsVelocity()

template<int t_features>
void humoto::pepper_ik::WholeBodyController< t_features >::setTagsVelocity ( const std::map< std::string, etools::Vector6 > &  tag_velocity)
inline

Set tag(s) velocity.

Parameters
[in]tag_velocity

Definition at line 80 of file whole_body_controller.h.

◆ update()

template<int t_features>
ControlProblemStatus::Status humoto::pepper_ik::WholeBodyController< t_features >::update ( humoto::pepper_ik::Model< t_features > &  model,
const humoto::pepper_ik::MotionParameters motion_parameters 
)
inline

Update control problem.

Parameters
[in]modelmodel of the system
[in]motion_parameters
Returns
ControlProblemStatus::OK/ControlProblemStatusSTOPPED

Definition at line 248 of file whole_body_controller.h.

Member Data Documentation

◆ motion_parameters_

template<int t_features>
humoto::pepper_ik::MotionParameters humoto::pepper_ik::WholeBodyController< t_features >::motion_parameters_

Definition at line 31 of file whole_body_controller.h.

◆ sol_structure_

SolutionStructure humoto::ControlProblem::sol_structure_
protectedinherited

Definition at line 43 of file control_problem.h.

◆ solution_is_parsed_

template<int t_features>
bool humoto::pepper_ik::WholeBodyController< t_features >::solution_is_parsed_
private

Definition at line 26 of file whole_body_controller.h.

◆ tags_desired_pose_global_

template<int t_features>
std::map<std::string, etools::Vector6> humoto::pepper_ik::WholeBodyController< t_features >::tags_desired_pose_global_

Definition at line 33 of file whole_body_controller.h.

◆ tags_velocity_

template<int t_features>
std::map<std::string, etools::Vector6> humoto::pepper_ik::WholeBodyController< t_features >::tags_velocity_

Definition at line 32 of file whole_body_controller.h.

◆ wbc_parameters_

template<int t_features>
humoto::pepper_ik::WBCParameters humoto::pepper_ik::WholeBodyController< t_features >::wbc_parameters_
private

Definition at line 27 of file whole_body_controller.h.


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