|
| 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 |
|
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) |
|
|
using | Backend = mc_solver::QPSolver::Backend |
|
static void | set_loading_location (std::string_view location) |
|
static void | set_name (std::string_view name) |
|
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_ |
|
using | ContactTableDataT = std::tuple< std::string, std::string, std::string, std::string, std::string, double > |
|
using | duration_ms = std::chrono::duration< double, std::milli > |
|
| 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 () |
|
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} |
|
template<MCController::Backend backend, typename SolverT>
struct mc_control::details::BackendSpecificController< backend, SolverT >
Helper to declare backend-specific controllers
The difference with the default MCController class are:
- the backend is always the one specified here
- solver() returns the solver class specified here