|
mc_rtc
2.14.0
|
#include <mc_solver/TVMQPSolver.h>


Public Member Functions | |
| TVMQPSolver (mc_rbdyn::RobotsPtr robots, double timeStep) | |
| TVMQPSolver (double timeStep) | |
| ~TVMQPSolver () final=default | |
| void | setContacts (ControllerToken, const std::vector< mc_rbdyn::Contact > &contacts) final |
| const sva::ForceVecd | desiredContactForce (const mc_rbdyn::Contact &id) const final |
| double | solveTime () final |
| double | solveAndBuildTime () final |
| tvm::LinearizedControlProblem & | problem () noexcept |
| const tvm::LinearizedControlProblem & | problem () const noexcept |
Public Member Functions inherited from mc_solver::QPSolver | |
| QPSolver (mc_rbdyn::RobotsPtr robots, double timeStep, Backend backend) | |
| QPSolver (double timeStep, Backend backend) | |
| virtual | ~QPSolver ()=default |
| Backend | backend () const noexcept |
| void | addConstraintSet (ConstraintSet &cs) |
| template<typename T > | |
| void | addConstraintSet (const std::unique_ptr< T > &ptr) |
| void | removeConstraintSet (ConstraintSet &cs) |
| template<typename T > | |
| void | removeConstraintSet (const std::unique_ptr< T > &ptr) |
| void | addTask (mc_tasks::MetaTask *task) |
| void | addTask (std::shared_ptr< mc_tasks::MetaTask > task) |
| void | removeTask (mc_tasks::MetaTask *task) |
| void | removeTask (std::shared_ptr< mc_tasks::MetaTask > task) |
| void | setContacts (const std::vector< mc_rbdyn::Contact > &contacts={}) |
| const std::vector< mc_rbdyn::Contact > & | contacts () const noexcept |
| const std::vector< mc_solver::ConstraintSet * > & | constraints () const noexcept |
| const std::vector< mc_tasks::MetaTask * > & | tasks () const noexcept |
| bool | run (FeedbackType fType=FeedbackType::None) |
| const mc_rbdyn::Robot & | robot () const |
| mc_rbdyn::Robot & | robot () |
| mc_rbdyn::Robot & | robot (unsigned int idx) |
| const mc_rbdyn::Robot & | robot (unsigned int idx) const |
| const mc_rbdyn::Robot & | env () const |
| mc_rbdyn::Robot & | env () |
| const mc_rbdyn::Robots & | robots () const |
| mc_rbdyn::Robots & | robots () |
| const mc_rbdyn::Robots & | realRobots () const |
| mc_rbdyn::Robots & | realRobots () |
| double | dt () const |
| void | logger (std::shared_ptr< mc_rtc::Logger > logger) |
| std::shared_ptr< mc_rtc::Logger > | logger () const |
| void | gui (std::shared_ptr< mc_rtc::gui::StateBuilder > gui) |
| std::shared_ptr< mc_rtc::gui::StateBuilder > | gui () const |
| void | controller (mc_control::MCController *ctl) noexcept |
| const mc_control::MCController * | controller () const noexcept |
| mc_control::MCController * | controller () noexcept |
Static Public Member Functions | |
| static TVMQPSolver & | from_solver (QPSolver &solver) noexcept |
| static const TVMQPSolver & | from_solver (const QPSolver &solver) noexcept |
Static Public Member Functions inherited from mc_solver::QPSolver | |
| static Backend | context_backend () |
| static void | context_backend (Backend backend) |
Additional Inherited Members | |
Public Types inherited from mc_solver::QPSolver | |
| enum class | Backend { Unset , Tasks , TVM } |
Protected Member Functions inherited from mc_solver::QPSolver | |
| void | addTaskToGUI (mc_tasks::MetaTask *task) |
Protected Attributes inherited from mc_solver::QPSolver | |
| Backend | backend_ |
| mc_rbdyn::RobotsPtr | robots_p |
| mc_rbdyn::RobotsPtr | realRobots_p |
| double | timeStep |
| std::vector< mc_rbdyn::Contact > | contacts_ |
| std::vector< mc_tasks::MetaTask * > | metaTasks_ |
| std::vector< std::shared_ptr< void > > | shPtrTasksStorage |
| std::vector< mc_solver::ConstraintSet * > | constraints_ |
| std::shared_ptr< mc_rtc::Logger > | logger_ = nullptr |
| std::shared_ptr< mc_rtc::gui::StateBuilder > | gui_ = nullptr |
| mc_control::MCController * | controller_ = nullptr |
This implements the QPSolver interface for the TVM backend
This solver can accepts tasks and constraints from mc_rtc
| mc_solver::TVMQPSolver::TVMQPSolver | ( | mc_rbdyn::RobotsPtr | robots, |
| double | timeStep | ||
| ) |
| mc_solver::TVMQPSolver::TVMQPSolver | ( | double | timeStep | ) |
|
finaldefault |
|
finalvirtual |
Desired resultant of contact force in robot surface frame
| contact | Contact for which the force is desired. This contact must be one of the active contacts in the solver. |
Implements mc_solver::QPSolver.
|
inlinestaticnoexcept |
Helper to get a TVMQPSolver from a QPSolver instance
The caller should make sure the cast is valid by checking the QPSolver backend.
In debug the program will abort otherwise, in release UB abounds
|
inlinestaticnoexcept |
Helper to get a TVMQPSolver from a QPSolver instance
The caller should make sure the cast is valid by checking the QPSolver backend.
In debug the program will abort otherwise, in release UB abounds
|
inlinenoexcept |
Access the internal problem (const)
|
inlinenoexcept |
Access the internal problem
|
finalvirtual |
Implements mc_solver::QPSolver.
|
finalvirtual |
Returns the building and solving time in ms
Implements mc_solver::QPSolver.
|
finalvirtual |
Returns the solving time in ms
Implements mc_solver::QPSolver.