1 |
|
|
// |
2 |
|
|
// Copyright (c) 2015-2021 CNRS |
3 |
|
|
// |
4 |
|
|
|
5 |
|
|
#include "pinocchio/bindings/python/algorithm/algorithms.hpp" |
6 |
|
|
#include "pinocchio/algorithm/crba.hpp" |
7 |
|
|
|
8 |
|
|
namespace pinocchio |
9 |
|
|
{ |
10 |
|
|
namespace python |
11 |
|
|
{ |
12 |
|
|
static Eigen::MatrixXd crba_proxy(const Model & model, |
13 |
|
|
Data & data, |
14 |
|
|
const Eigen::VectorXd & q) |
15 |
|
|
{ |
16 |
|
|
data.M.fill(0); |
17 |
|
|
crba(model,data,q); |
18 |
|
|
data.M.triangularView<Eigen::StrictlyLower>() |
19 |
|
|
= data.M.transpose().triangularView<Eigen::StrictlyLower>(); |
20 |
|
|
return data.M; |
21 |
|
|
} |
22 |
|
|
|
23 |
|
19 |
void exposeCRBA() |
24 |
|
|
{ |
25 |
✓✗ |
19 |
bp::def("crba",crba_proxy, |
26 |
|
38 |
bp::args("model","data","q"), |
27 |
|
|
"Computes CRBA, store the result in Data and return it.\n" |
28 |
|
|
"Parameters:\n" |
29 |
|
|
"\tmodel: model of the kinematic tree\n" |
30 |
|
|
"\tdata: data related to the model\n" |
31 |
|
|
"\tq: the joint configuration vector (size model.nq)\n"); |
32 |
|
19 |
} |
33 |
|
|
|
34 |
|
|
} // namespace python |
35 |
|
|
} // namespace pinocchio |