mc_rtc  2.15.2
mc_control::TVMController Struct Reference

#include <mc_control/TVMController.h>

Inheritance diagram for mc_control::TVMController:
Collaboration diagram for mc_control::TVMController:

Additional Inherited Members

- Public Types inherited from mc_control::MCController
using Backend = mc_solver::QPSolver::Backend
 
- Public Member Functions inherited from mc_control::details::BackendSpecificController< MCController::Backend::TVM, mc_solver::TVMQPSolver >
 BackendSpecificController (mc_rbdyn::RobotModulePtr robot, double dt, const mc_rtc::Configuration &config={})
 
 BackendSpecificController (const std::vector< mc_rbdyn::RobotModulePtr > &robots, double dt, const mc_rtc::Configuration &config={}, ControllerParameters params={})
 
const mc_solver::TVMQPSolver & solver () const noexcept
 
mc_solver::TVMQPSolver & solver () noexcept
 
- Public Member Functions inherited from mc_control::MCController
virtual ~MCController ()
 
virtual bool run ()
 
virtual void createObserverPipelines (const mc_rtc::Configuration &config)
 
virtual bool runObserverPipelines ()
 
virtual bool resetObserverPipelines ()
 Reset the observers. More...
 
bool hasObserverPipeline (const std::string &name) const
 
bool hasObserverPipeline () const
 
const std::vector< mc_observers::ObserverPipeline > & observerPipelines () const
 
std::vector< mc_observers::ObserverPipeline > & observerPipelines ()
 
const mc_observers::ObserverPipeline & observerPipeline (const std::string &name) const
 
mc_observers::ObserverPipeline & observerPipeline (const std::string &name)
 
const mc_observers::ObserverPipeline & observerPipeline () const
 
mc_observers::ObserverPipeline & observerPipeline ()
 
bool run (mc_solver::FeedbackType fType)
 
virtual void stop ()
 
virtual void reset (const ControllerResetData &reset_data)
 
void addCollisions (const std::string &r1, const std::string &r2, const std::vector< mc_rbdyn::Collision > &collisions)
 
bool hasCollision (const std::string &r1, const std::string &r2, const mc_rbdyn::Collision &col) const noexcept
 
bool hasCollision (const std::string &r1, const std::string &r2, const std::string &c1, const std::string &c2) const noexcept
 
void removeCollisions (const std::string &r1, const std::string &r2, const std::vector< mc_rbdyn::Collision > &collisions)
 
void removeCollisions (const std::string &r1, const std::string &r2)
 
void addContact (const Contact &c)
 
void removeContact (const Contact &c)
 
void clearContacts ()
 
const ContactSet & contacts () const
 
bool hasContact (const Contact &c) const
 
bool hasRobot (const std::string &robot) const noexcept
 
const mc_rbdyn::Robots & robots () const noexcept
 
mc_rbdyn::Robots & robots () noexcept
 
const mc_solver::QPSolver & solver () const noexcept
 
mc_solver::QPSolver & solver () noexcept
 
mc_rtc::Logger & logger () noexcept
 
std::shared_ptr< mc_rtc::gui::StateBuilder > gui () const noexcept
 
mc_rtc::DataStore & datastore () noexcept
 
const mc_rtc::DataStore & datastore () const noexcept
 
virtual void supported_robots (std::vector< std::string > &out) const
 
mc_rbdyn::Robot & loadRobot (mc_rbdyn::RobotModulePtr rm, const std::string &name)
 
mc_rbdyn::Robot & loadRobot (const mc_rbdyn::RobotModule &rm, const std::string &name)
 
void removeRobot (const std::string &name)
 
mc_rtc::Configuration & config ()
 
const mc_rtc::Configuration & config () const
 
Gripper & gripper (const std::string &robot, const std::string &gripper)
 
template<typename T = void>
void anchorFrame (const sva::PTransformd &)
 
template<typename T = void>
void anchorFrameReal (const sva::PTransformd &)
 
template<typename T = void>
const sva::PTransformd & anchorFrame () const
 
template<typename T = void>
const sva::PTransformd & anchorFrameReal () const
 
mc_rtc::Configuration robot_config (const std::string &robot_name) const
 
mc_rtc::Configuration robot_config (const mc_rbdyn::Robot &robot) const
 
const mc_rbdyn::Robot & robot () const noexcept
 
mc_rbdyn::Robot & robot () noexcept
 
const mc_rbdyn::Robot & robot (const std::string &name) const
 
mc_rbdyn::Robot & robot (const std::string &name)
 
const mc_rbdyn::Robot & env () const noexcept
 
mc_rbdyn::Robot & env () noexcept
 
const mc_rbdyn::Robots & realRobots () const noexcept
 
mc_rbdyn::Robots & realRobots () noexcept
 
const mc_rbdyn::Robot & realRobot () const noexcept
 
mc_rbdyn::Robot & realRobot () noexcept
 
const mc_rbdyn::Robot & realRobot (const std::string &name) const
 
mc_rbdyn::Robot & realRobot (const std::string &name)
 
const mc_rbdyn::Robots & outputRobots () const noexcept
 
mc_rbdyn::Robots & outputRobots () noexcept
 
const mc_rbdyn::Robot & outputRobot () const noexcept
 
mc_rbdyn::Robot & outputRobot () noexcept
 
const mc_rbdyn::Robot & outputRobot (const std::string &name) const
 
mc_rbdyn::Robot & outputRobot (const std::string &name)
 
const mc_rbdyn::Robots & outputRealRobots () const noexcept
 
mc_rbdyn::Robots & outputRealRobots () noexcept
 
const mc_rbdyn::Robot & outputRealRobot () const noexcept
 
mc_rbdyn::Robot & outputRealRobot () noexcept
 
const mc_rbdyn::Robot & outputRealRobot (const std::string &name) const
 
mc_rbdyn::Robot & outputRealRobot (const std::string &name)
 
- Static Public Member Functions inherited from mc_control::MCController
static void set_loading_location (std::string_view location)
 
static void set_name (std::string_view name)
 
- Public Attributes inherited from mc_control::MCController
const double timeStep
 
mc_rtc::unique_ptr< mc_solver::ContactConstraint > contactConstraint
 
mc_rtc::unique_ptr< mc_solver::DynamicsConstraint > dynamicsConstraint
 
mc_rtc::unique_ptr< mc_solver::KinematicsConstraint > kinematicsConstraint
 
mc_rtc::unique_ptr< mc_solver::CollisionsConstraint > selfCollisionConstraint
 
mc_rtc::unique_ptr< mc_solver::CompoundJointConstraint > compoundJointConstraint
 
std::shared_ptr< mc_tasks::PostureTask > postureTask
 
const std::string name_
 
const std::string loading_location_
 
- Protected Types inherited from mc_control::MCController
using ContactTableDataT = std::tuple< std::string, std::string, std::string, std::string, std::string, double >
 
using duration_ms = std::chrono::duration< double, std::milli >
 
- Protected Member Functions inherited from mc_control::MCController
 MCController (std::shared_ptr< mc_rbdyn::RobotModule > robot, double dt, ControllerParameters params={})
 
 MCController (std::shared_ptr< mc_rbdyn::RobotModule > robot, double dt, const mc_rtc::Configuration &config, ControllerParameters params={})
 
 MCController (const std::vector< std::shared_ptr< mc_rbdyn::RobotModule >> &robot_modules, double dt, ControllerParameters params={})
 
 MCController (const std::vector< std::shared_ptr< mc_rbdyn::RobotModule >> &robot_modules, double dt, const mc_rtc::Configuration &config, ControllerParameters params={})
 
mc_rbdyn::Robot & loadRobot (mc_rbdyn::RobotModulePtr rm, const std::string &name, mc_rbdyn::Robots &robots, const mc_rbdyn::LoadRobotParameters &params)
 
mc_rbdyn::Robot & loadRobot (const mc_rbdyn::RobotModule &rm, const std::string &name, mc_rbdyn::Robots &robots, const mc_rbdyn::LoadRobotParameters &params)
 
void addRobotToLog (const mc_rbdyn::Robot &robot)
 
void addRobotToGUI (const mc_rbdyn::Robot &robot)
 
void updateContacts ()
 
- Protected Attributes inherited from mc_control::MCController
std::shared_ptr< mc_solver::QPSolver > qpsolver
 
mc_rbdyn::RobotsPtr outputRobots_
 
mc_rbdyn::RobotsPtr outputRealRobots_
 
std::vector< mc_rbdyn::RobotConverter > converters_
 
std::vector< mc_observers::ObserverPipeline > observerPipelines_
 
std::shared_ptr< mc_rtc::Logger > logger_
 
std::shared_ptr< mc_rtc::gui::StateBuilder > gui_
 
mc_rtc::Configuration config_
 
mc_rtc::DataStore datastore_
 
std::vector< mc_solver::ConstraintSetPtr > constraints_
 
std::shared_ptr< mc_solver::ContactConstraint > contact_constraint_ = nullptr
 
std::map< std::pair< std::string, std::string >, std::shared_ptr< mc_solver::CollisionsConstraint > > collision_constraints_
 
ContactSet contacts_
 
bool contacts_changed_
 
std::vector< ContactTableDataT > contacts_table_
 
duration_ms updateContacts_dt_ {0}
 

Detailed Description

An MCController that uses the TVM backend

This is simply an helper class to write a TVM-only controller, the key difference with MCController are:


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