11#include < eigenpy/eigenpy.hpp>
22
3+ #include " simple-mpc/inverse-dynamics/centroidal.hpp"
34#include " simple-mpc/inverse-dynamics/kinodynamics.hpp"
45
56namespace simple_mpc
@@ -26,6 +27,18 @@ namespace simple_mpc
2627 return a;
2728 }
2829
30+ void setTarget_CentroidalID (
31+ CentroidalID & self,
32+ const Eigen::Ref<const Eigen::Vector<double , 3 >> & com_position,
33+ const Eigen::Ref<const Eigen::Vector<double , 3 >> & com_velocity,
34+ const CentroidalID::FeetPoseVector & feet_pose,
35+ const CentroidalID::FeetVelocityVector & feet_velocity,
36+ const std::vector<bool > & contact_state_target,
37+ const std::vector<CentroidalID::TargetContactForce> & f_target)
38+ {
39+ self.setTarget (com_position, com_velocity, feet_pose, feet_velocity, contact_state_target, f_target);
40+ }
41+
2942 void exposeInverseDynamics ()
3043 {
3144 bp::class_<KinodynamicsID::Settings>(" KinodynamicsIDSettings" , bp::init<>(bp::args (" self" )))
@@ -46,6 +59,20 @@ namespace simple_mpc
4659 .def (" setTarget" , &KinodynamicsID::setTarget)
4760 .def (" solve" , &solveProxy)
4861 .def (" getAccelerations" , &getAccelerationsProxy);
62+
63+ bp::class_<CentroidalID::Settings, bp::bases<KinodynamicsID::Settings>>(
64+ " CentroidalIDSettings" , bp::init<>(bp::args (" self" )))
65+ .def_readwrite (" kp_com" , &CentroidalID::Settings::kp_com)
66+ .def_readwrite (" kp_feet_tracking" , &CentroidalID::Settings::kp_feet_tracking)
67+ .def_readwrite (" w_com" , &CentroidalID::Settings::w_com)
68+ .def_readwrite (" w_feet_tracking" , &CentroidalID::Settings::w_feet_tracking);
69+
70+ bp::class_<CentroidalID>(
71+ " CentroidalID" , bp::init<const simple_mpc::RobotModelHandler &, double , const CentroidalID::Settings>(
72+ bp::args (" self" , " model_handler" , " control_dt" , " settings" )))
73+ .def (" setTarget" , &setTarget_CentroidalID)
74+ .def (" solve" , &solveProxy)
75+ .def (" getAccelerations" , &getAccelerationsProxy);
4976 }
5077 } // namespace python
5178} // namespace simple_mpc
0 commit comments