test_Trajectories.py
Go to the documentation of this file.
1 import numpy as np
2 import pinocchio as se3
3 import tsid
4 
5 print("")
6 print("Test Trajectory Euclidian")
7 print("")
8 
9 
10 tol = 1e-5
11 n = 5
12 q_ref = np.ones(n)
13 zero = np.zeros(n)
14 
15 traj_euclidian = tsid.TrajectoryEuclidianConstant("traj_eucl", q_ref)
16 assert traj_euclidian.has_trajectory_ended()
17 assert np.linalg.norm(traj_euclidian.computeNext().value() - q_ref, 2) < tol
18 assert np.linalg.norm(traj_euclidian.getSample(0.0).value() - q_ref, 2) < tol
19 
20 traj_sample = tsid.TrajectorySample(n)
21 traj_euclidian.getLastSample(traj_sample)
22 assert np.linalg.norm(traj_sample.value() - q_ref, 2) < tol
23 assert np.linalg.norm(traj_sample.derivative() - zero, 2) < tol
24 assert np.linalg.norm(traj_sample.second_derivative() - zero, 2) < tol
25 
26 print("")
27 print("Test Trajectory SE3")
28 print("")
29 
30 M_ref = se3.SE3.Identity()
31 M_vec = np.zeros(12)
32 M_vec[0:3] = M_ref.translation
33 zero = np.zeros(6)
34 
35 for i in range(1, 4):
36  M_vec[3 * i : 3 * i + 3] = M_ref.rotation[:, i - 1]
37 
38 traj_se3 = tsid.TrajectorySE3Constant("traj_se3")
39 traj_se3.setReference(M_ref)
40 
41 assert traj_se3.has_trajectory_ended()
42 assert np.linalg.norm(traj_se3.computeNext().value() - M_vec, 2) < tol
43 assert np.linalg.norm(traj_se3.getSample(0.0).value() - M_vec, 2) < tol
44 
45 traj_sample = tsid.TrajectorySample(12, 6)
46 traj_se3.getLastSample(traj_sample)
47 assert np.linalg.norm(traj_sample.value() - M_vec, 2) < tol
48 assert np.linalg.norm(traj_sample.derivative() - zero, 2) < tol
49 assert np.linalg.norm(traj_sample.second_derivative() - zero, 2) < tol
50 
51 print("All test is done")


tsid
Author(s): Andrea Del Prete, Justin Carpentier
autogenerated on Sun Jul 2 2023 02:21:51