#include <mc_control/TasksController.h>
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< backend, SolverT > | |
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 SolverT & | solver () const noexcept |
SolverT & | 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) |
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 ¶ms) |
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} |
An MCController that uses the Tasks backend
This is simply an helper class to write a Tasks-only controller, the key difference with MCController are: