Skip to content

Commit bdb0f98

Browse files
author
earlaud
committed
Expose inverse dynamics in bindings
1 parent 2349903 commit bdb0f98

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

bindings/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ set(
1313
expose-centroidal.cpp
1414
expose-fulldynamics.cpp
1515
expose-kinodynamics.cpp
16+
expose-inverse-dynamics.cpp
1617
expose-friction-compensation.cpp
1718
)
1819

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#include <eigenpy/eigenpy.hpp>
2+
3+
#include "simple-mpc/inverse-dynamics.hpp"
4+
5+
namespace simple_mpc
6+
{
7+
namespace python
8+
{
9+
namespace bp = boost::python;
10+
11+
Eigen::VectorXd solveProxy(
12+
KinodynamicsID & self,
13+
const double t,
14+
const Eigen::Ref<const Eigen::VectorXd> & q_meas,
15+
const Eigen::Ref<const Eigen::VectorXd> & v_meas)
16+
{
17+
Eigen::VectorXd tau_res(v_meas.size());
18+
self.solve(t, q_meas, v_meas, tau_res);
19+
return tau_res;
20+
}
21+
22+
void exposeInverseDynamics()
23+
{
24+
bp::class_<KinodynamicsID::Settings>("KinodynamicsIDSettings", bp::init<>(bp::args("self")));
25+
26+
bp::class_<KinodynamicsID>(
27+
"KinodynamicsID", bp::init<const simple_mpc::RobotModelHandler &, double, const KinodynamicsID::Settings>(
28+
bp::args("self", "model_handler", "control_dt", "settings")))
29+
.def("setTarget", &KinodynamicsID::setTarget)
30+
.def("solve", &solveProxy);
31+
}
32+
} // namespace python
33+
} // namespace simple_mpc

bindings/module.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ namespace simple_mpc::python
1919
void exposeIKIDSolver();
2020
void exposeInterpolator();
2121
void exposeFrictionCompensation();
22+
void exposeInverseDynamics();
2223

2324
/* PYTHON MODULE */
2425
BOOST_PYTHON_MODULE(simple_mpc_pywrap)
@@ -36,6 +37,7 @@ namespace simple_mpc::python
3637
exposeKinodynamicsOcp();
3738
exposeMPC();
3839
exposeInterpolator();
40+
exposeInverseDynamics();
3941
exposeFrictionCompensation();
4042
}
4143

0 commit comments

Comments
 (0)