Line |
Branch |
Exec |
Source |
1 |
|
|
#include <iostream> |
2 |
|
|
#include "pinocchio/multibody/liegroup/liegroup.hpp" |
3 |
|
|
|
4 |
|
|
using namespace pinocchio; |
5 |
|
✗ |
int main() |
6 |
|
|
{ |
7 |
|
|
typedef double Scalar; |
8 |
|
|
typedef SpecialEuclideanOperationTpl<3, Scalar> SE3Operation; |
9 |
|
|
|
10 |
|
✗ |
SE3Operation aSE3; |
11 |
|
✗ |
SE3Operation::ConfigVector_t pose_s, pose_g; |
12 |
|
✗ |
SE3Operation::TangentVector_t delta_u; |
13 |
|
|
|
14 |
|
✗ |
pose_s(0) = 1.0; |
15 |
|
✗ |
pose_s(1) = 1.0; |
16 |
|
✗ |
pose_s(2) = 1; |
17 |
|
✗ |
pose_s(3) = -0.13795; |
18 |
|
✗ |
pose_s(4) = 0.13795; |
19 |
|
✗ |
pose_s(5) = 0.69352; |
20 |
|
✗ |
pose_s(6) = 0.69352; |
21 |
|
✗ |
pose_g(0) = 4; |
22 |
|
✗ |
pose_g(1) = 3; |
23 |
|
✗ |
pose_g(2) = 3; |
24 |
|
✗ |
pose_g(3) = -0.46194; |
25 |
|
✗ |
pose_g(4) = 0.331414; |
26 |
|
✗ |
pose_g(5) = 0.800103; |
27 |
|
✗ |
pose_g(6) = 0.191342; |
28 |
|
|
|
29 |
|
|
// First normalize the inputs |
30 |
|
✗ |
aSE3.normalize(pose_s); |
31 |
|
✗ |
std::cout << "pose_s: " << pose_s.transpose() << std::endl; |
32 |
|
✗ |
aSE3.normalize(pose_g); |
33 |
|
✗ |
std::cout << "pose_g: " << pose_g.transpose() << std::endl; |
34 |
|
|
|
35 |
|
✗ |
aSE3.difference(pose_s, pose_g, delta_u); |
36 |
|
✗ |
std::cout << "delta_u: " << delta_u.transpose() << std::endl; |
37 |
|
|
|
38 |
|
✗ |
SE3Operation::ConfigVector_t pose_check; |
39 |
|
|
|
40 |
|
✗ |
aSE3.integrate(pose_s, delta_u, pose_check); |
41 |
|
✗ |
std::cout << "pose_check: " << pose_check.transpose() << std::endl; |
42 |
|
|
|
43 |
|
✗ |
return 0; |
44 |
|
|
} |
45 |
|
|
|