Go to the documentation of this file.
67 bool run(mc_solver::FeedbackType fType);
82 bool running() {
return executor_.running(); }
93 bool resume(
const std::string & state);
101 std::shared_ptr<mc_tasks::PostureTask> getPostureTask(
const std::string & robot);
107 #ifndef MC_RTC_BUILD_STATIC
112 if(!factory_ptr_) { factory_ptr_.reset(
new StateFactory({}, {},
false)); }
113 return *factory_ptr_;
119 void resetPostures();
122 void startIdleState();
125 void teardownIdleState();
134 std::map<std::string, std::shared_ptr<mc_tasks::EndEffectorTask>>
ff_tasks_;
137 #ifndef MC_RTC_BUILD_STATIC
140 static std::unique_ptr<StateFactory> factory_ptr_;
144 bool idle_keep_state_ =
false;
146 bool running_ =
false;
148 bool first_reset_ =
true;
162 template<MCController::Backend backend,
typename SolverT>
Simplify access to values hold within a JSON file.
Definition: Configuration.h:165
const mc_solver::QPSolver & solver() const noexcept
Definition: MCController.h:337
StateFactory factory_
Definition: Controller.h:138
mc_solver::ContactConstraint & contactConstraint()
Definition: Controller.h:104
#define MC_CONTROL_FSM_DLLAPI
Definition: api.h:50
Controller(mc_rbdyn::RobotModulePtr rm, double dt, const mc_rtc::Configuration &config, ControllerParameters params={})
std::unordered_set< Contact, std::hash< Contact >, std::equal_to< Contact >, Eigen::aligned_allocator< Contact > > ContactSet
Definition: Contact.h:62
SolverT & solver() noexcept
Definition: Controller.h:175
std::map< std::string, double > saved_posture_weights_
Definition: Controller.h:131
virtual void interrupt()
Definition: Controller.h:79
std::map< std::string, std::shared_ptr< mc_tasks::EndEffectorTask > > ff_tasks_
Definition: Controller.h:134
Extra parameters that influence the creator construction.
Definition: MCController.h:52
Definition: StateFactory.h:32
struct MC_CONTROL_FSM_DLLAPI Controller
Definition: State.h:23
Executor executor_
Definition: Controller.h:150
mc_control::ContactSet ContactSet
Definition: Controller.h:34
std::map< std::string, std::shared_ptr< mc_tasks::PostureTask > > posture_tasks_
Definition: Controller.h:130
const SolverT & solver() const noexcept
Definition: Controller.h:173
Definition: Executor.h:32
StateFactory & factory()
Definition: Controller.h:108
bool running()
Definition: Controller.h:82
Contains information allowing the controller to start smoothly from the current state of the robot.
Definition: MCController.h:45
BackendSpecificController(mc_rbdyn::RobotModulePtr rm, double dt, const mc_rtc::Configuration &config, ControllerParameters params={})
Definition: Controller.h:165
mc_control::Contact Contact
Definition: Controller.h:22
std::shared_ptr< RobotModule > RobotModulePtr
Definition: RobotModule.h:629
Definition: CompletionCriteria.h:10
MCController is the base class to implement all controllers. It assumes that at least two robots are ...
Definition: MCController.h:98
mc_rtc::Configuration & config()
Definition: MCController.h:482
Definition: Controller.h:163
Definition: Controller.h:49