|
| | BackendSpecificController (mc_rbdyn::RobotModulePtr rm, double dt, const mc_rtc::Configuration &config, ControllerParameters params={}) |
| |
| const SolverT & | solver () const noexcept |
| |
| SolverT & | solver () noexcept |
| |
| | Controller (mc_rbdyn::RobotModulePtr rm, double dt, const mc_rtc::Configuration &config, ControllerParameters params={}) |
| |
| | ~Controller () override |
| |
| bool | run () override |
| |
| bool | run (mc_solver::FeedbackType fType) |
| |
| void | reset (const ControllerResetData &data) override |
| |
| virtual void | interrupt () |
| |
| bool | running () |
| |
| bool | resume (const std::string &state) |
| |
| std::shared_ptr< mc_tasks::PostureTask > | getPostureTask (const std::string &robot) |
| |
| mc_solver::ContactConstraint & | contactConstraint () |
| |
| StateFactory & | factory () |
| |
| virtual | ~MCController () |
| |
| 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 () |
| |
| 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::map< std::string, std::shared_ptr< mc_tasks::PostureTask > > | posture_tasks_ |
| |
| std::map< std::string, double > | saved_posture_weights_ |
| |
| std::map< std::string, std::shared_ptr< mc_tasks::EndEffectorTask > > | ff_tasks_ |
| |
| StateFactory | factory_ |
| |
| bool | idle_keep_state_ = false |
| |
| bool | running_ = false |
| |
| bool | first_reset_ = true |
| |
| Executor | executor_ |
| |
| 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::fsm::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