trajopt
 All Classes Namespaces Files Functions Variables Typedefs Pages
humanoids.hpp
1 #pragma once
2 #include <Eigen/Core>
3 #include <trajopt/common.hpp>
4 #include "sco/modeling_utils.hpp"
5 
6 namespace trajopt {
7 using Eigen::MatrixX2d;
8 
9 struct ZMPConstraint : public IneqConstraint, public Plotter {
10  RobotAndDOFPtr m_rad;
11  VarVector m_vars;
12  MatrixX2d m_ab, m_pts;
13  VectorXd m_c;
14  ZMPConstraint(RobotAndDOFPtr rad, const MatrixX2d& hullpts, const VarVector& vars);
15  DblVec value(const DblVec&);
16  ConvexConstraintsPtr convex(const DblVec&, Model* model);
17  void Plot(const DblVec& x, OR::EnvironmentBase& env, std::vector<OR::GraphHandlePtr>& handles);
18 
19 };
20 
21 
23  RobotAndDOFPtr m_rad;
24  VarVector m_vars;
25  StaticTorqueCost(RobotAndDOFPtr rad, const VarVector& vars, double coeff);
26 };
27 
28 struct PECost : public CostFromErrFunc {
29  RobotAndDOFPtr m_rad;
30  VarVector m_vars;
31  PECost(RobotAndDOFPtr rad, const VarVector& vars, double coeff);
32 };
33 
35  FootHeightConstraint(RobotAndDOFPtr rad, OpenRAVE::KinBody::LinkPtr link, double height, const VarVector& vars);
36 };
37 
38 }