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


tsid
Author(s): Andrea Del Prete, Justin Carpentier
autogenerated on Sat May 3 2025 02:48:17