|
TVM
0.9.4
|
#include <tvm/robot/CoMInConvexFunction.h>


Public Member Functions | |
| CoMInConvexFunction (RobotPtr robot) | |
| void | addPlane (geometry::PlanePtr plane) |
| void | reset () |
Public Member Functions inherited from tvm::function::abstract::Function | |
| virtual const Eigen::VectorXd & | velocity () const |
| virtual const Eigen::VectorXd & | normalAcceleration () const |
| virtual MatrixConstRef | JDot (const Variable &x) const |
Public Member Functions inherited from tvm::internal::FirstOrderProvider | |
| virtual const Eigen::VectorXd & | value () const |
| virtual MatrixConstRefWithProperties | jacobian (const Variable &x) const |
| bool | linearIn (const Variable &x) const |
| const Space & | imageSpace () const |
| int | size () const |
| int | rSize () const |
| int | tSize () const |
| const VariableVector & | variables () const |
Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| template<typename EnumT > | |
| bool | isUpdateEnabled (EnumT e) const |
| virtual bool | isUpdateStaticallyEnabled (int) const |
| virtual bool | isUpdateCustomEnabled (int) const |
| virtual | ~AbstractNode ()=default |
| void | update (int i) |
Public Member Functions inherited from tvm::graph::internal::Inputs | |
| virtual | ~Inputs ()=default |
| template<typename T , typename EnumI , typename... Args> | |
| void | addInput (std::shared_ptr< T > source, EnumI i, Args... args) |
| template<typename T , typename EnumI , typename... Args, typename std::enable_if< std::is_base_of< abstract::Outputs, T >::value, int >::type = 0> | |
| void | addInput (T &source, EnumI i, Args... args) |
| template<typename T > | |
| void | removeInput (T *source) |
| template<typename T , typename... Args> | |
| void | removeInput (T *source, Args... args) |
| template<typename T > | |
| Iterator | getInput (T *source) |
| template<typename T > | |
| Iterator | getInput (const std::shared_ptr< T > &source) |
Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| virtual | ~Outputs ()=default |
| template<typename EnumT > | |
| bool | isOutputEnabled (EnumT e) const |
| bool | isOutputEnabled (int i) const |
| virtual bool | isOutputStaticallyEnabled (int) const |
| virtual bool | isOutputCustomEnabled (int) const |
Protected Member Functions | |
| void | updateValue () |
| void | updateVelocity () |
| void | updateJacobian () |
| void | updateNormalAcceleration () |
Protected Member Functions inherited from tvm::function::abstract::Function | |
| Function (int m=0) | |
| Function (Space image) | |
| void | resizeCache () override |
| void | resizeVelocityCache () |
| void | resizeNormalAccelerationCache () |
| void | resizeJDotCache () |
| void | addVariable_ (VariablePtr v) override |
| void | removeVariable_ (VariablePtr v) override |
Protected Member Functions inherited from tvm::internal::FirstOrderProvider | |
| FirstOrderProvider (int m) | |
| FirstOrderProvider (Space image) | |
| void | resizeValueCache () |
| void | resizeJacobianCache () |
| void | addVariable (VariablePtr v, bool linear) |
| void | removeVariable (VariablePtr v) |
| void | addVariable (const VariableVector &v, bool linear) |
| void | splitJacobian (const MatrixConstRef &J, const std::vector< VariablePtr > &vars, bool keepProperties=false) |
| void | splitJacobian (const MatrixConstRef &J, const VariableVector &vars, bool keepProperties=false) |
| void | resize (int m) |
Protected Member Functions inherited from tvm::graph::abstract::Node< FirstOrderProvider > | |
| void | registerUpdates (EnumT u, void(U::*fn)(), Args... args) |
| void | registerUpdates (EnumT u, void(U::*fn)()) |
| void | addOutputDependency (EnumO o, EnumU u) |
| void | addOutputDependency (std::initializer_list< EnumO > os, EnumU u) |
| void | addInternalDependency (EnumU1 uDependent, EnumU2 u) |
| void | addInputDependency (EnumU u, std::shared_ptr< S > source, EnumO i, Args... args) |
| void | addInputDependency (EnumU u, S &source, EnumO i, Args... args) |
| void | addDirectDependency (EnumO o, std::shared_ptr< S > source, EnumI i) |
| void | addDirectDependency (EnumO o, S &source, EnumI i) |
Protected Attributes | |
| RobotPtr | robot_ |
| std::vector< geometry::PlanePtr > | planes_ |
| rbd::CoMJacobian | jac_ |
| Eigen::Vector3d | comSpeed_ |
Protected Attributes inherited from tvm::function::abstract::Function | |
| Eigen::VectorXd | velocity_ |
| Eigen::VectorXd | normalAcceleration_ |
| utils::internal::MapWithVariableAsKey< Eigen::MatrixXd, slice_jdot > | JDot_ |
Protected Attributes inherited from tvm::internal::FirstOrderProvider | |
| Eigen::VectorXd | value_ |
| utils::internal::MapWithVariableAsKey< MatrixWithProperties, slice_matrix, true > | jacobian_ |
| Space | imageSpace_ |
| VariableVector | variables_ |
| utils::internal::MapWithVariableAsKey< bool, slice_linear > | linear_ |
Protected Attributes inherited from tvm::graph::internal::AbstractNode | |
| std::map< int, std::function< void(AbstractNode &)> > | updates_ |
| std::map< int, std::vector< int > > | outputDependencies_ |
| std::map< int, std::vector< int > > | internalDependencies_ |
| std::map< int, input_dependency_t > | inputDependencies_ |
| std::map< int, std::pair< Outputs *, int > > | directDependencies_ |
Protected Attributes inherited from tvm::graph::abstract::Outputs | |
| bool | is_node_ = false |
Additional Inherited Members | |
Public Types inherited from tvm::graph::internal::AbstractNode | |
| enum class | Update_ |
| using | UpdateParent = AbstractNode |
| using | UpdateBase = AbstractNode |
Public Types inherited from tvm::graph::internal::Inputs | |
| using | inputs_t = std::unordered_map< abstract::Outputs *, std::set< int > > |
| using | store_t = std::unordered_set< std::shared_ptr< abstract::Outputs > > |
Public Types inherited from tvm::graph::abstract::Outputs | |
| enum class | Output_ |
| using | OutputParent = Outputs |
| using | OutputBase = Outputs |
Static Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| static constexpr const char * | UpdateName (Update_) |
| template<typename EnumT > | |
| static constexpr bool | UpdateStaticallyEnabled (EnumT) |
Static Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| static constexpr const char * | OutputName (Output_) |
| template<typename EnumT > | |
| static constexpr bool | OutputStaticallyEnabled (EnumT) |
Static Public Attributes inherited from tvm::graph::internal::AbstractNode | |
| static constexpr unsigned int | UpdateSize = 0 |
| static constexpr auto | UpdateBaseName = "AbstractNode" |
Static Public Attributes inherited from tvm::graph::abstract::Outputs | |
| static constexpr unsigned int | OutputSize = 0 |
| static constexpr auto | OutputBaseName = "Outputs" |
Protected Types inherited from tvm::graph::internal::AbstractNode | |
| using | input_dependency_t = std::map< Outputs *, std::set< int > > |
This function computes the distance of the CoM to a set of planes.
By providing a consistent set of planes, the function can be used to keep the CoM in a convex region of space.
| tvm::robot::CoMInConvexFunction::CoMInConvexFunction | ( | RobotPtr | robot | ) |
Constructor
By default, this function computes nothing
| void tvm::robot::CoMInConvexFunction::addPlane | ( | geometry::PlanePtr | plane | ) |
Add a plane.
This will add one dimension to the function output. This new value is the distance to that plane.
This function does not check whether this is consistent with planes that were added previously.
| void tvm::robot::CoMInConvexFunction::reset | ( | ) |
Remove all planes
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
CoM jacobian
|
protected |
Set of planes
|
protected |