GCC Code Coverage Report


Directory: ./
File: tests/test-transition.cpp
Date: 2025-03-18 04:20:50
Exec Total Coverage
Lines: 539 539 100.0%
Branches: 1760 3488 50.5%

Line Branch Exec Source
1 //
2 // Copyright (c) 2018 CNRS
3 // Authors: Pierre Fernbach
4 //
5 // This file is part of bezier_COM_traj
6 // hpp-core is free software: you can redistribute it
7 // and/or modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation, either version
9 // 3 of the License, or (at your option) any later version.
10 //
11 // hpp-core is distributed in the hope that it will be
12 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
13 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // General Lesser Public License for more details. You should have
15 // received a copy of the GNU Lesser General Public License along with
16 // hpp-core If not, see
17 // <http://www.gnu.org/licenses/>.
18
19 #define BOOST_TEST_MODULE transition
20 #include <boost/test/included/unit_test.hpp>
21 #include <hpp/bezier-com-traj/common_solve_methods.hh>
22 #include <hpp/bezier-com-traj/data.hh>
23 #include <hpp/bezier-com-traj/solve.hh>
24 #include <hpp/centroidal-dynamics/centroidal_dynamics.hh>
25
26 #include "test_helper.hh"
27
28 #define NOMINAL_COM_HEIGHT 0.795
29
30 47 std::vector<double> computeDiscretizedTime(const VectorX& phaseTimings,
31 const int pointsPerPhase) {
32 47 std::vector<double> timeArray;
33 47 double t = 0;
34 47 double t_total = 0;
35
3/4
✓ Branch 1 taken 135 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 135 times.
✓ Branch 5 taken 47 times.
182 for (long int i = 0; i < phaseTimings.size(); ++i) t_total += phaseTimings[i];
36
37
2/2
✓ Branch 1 taken 135 times.
✓ Branch 2 taken 47 times.
182 for (long int i = 0; i < phaseTimings.size(); ++i) {
38
1/2
✓ Branch 1 taken 135 times.
✗ Branch 2 not taken.
135 double step = (double)phaseTimings[i] / pointsPerPhase;
39
2/2
✓ Branch 0 taken 675 times.
✓ Branch 1 taken 135 times.
810 for (int j = 0; j < pointsPerPhase; ++j) {
40 675 t += step;
41
1/2
✓ Branch 1 taken 675 times.
✗ Branch 2 not taken.
675 timeArray.push_back(t);
42 }
43 }
44 47 timeArray.pop_back();
45
1/2
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
47 timeArray.push_back(t_total); // avoid numerical errors
46 94 return timeArray;
47 }
48
49 763 bool check_constraints(const bezier_com_traj::ContactData& contactPhase,
50 Vector3 c, Vector3 dc, Vector3 ddc) {
51
7/14
✓ Branch 3 taken 763 times.
✗ Branch 4 not taken.
✓ Branch 9 taken 763 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 763 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 763 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 763 times.
✗ Branch 19 not taken.
✓ Branch 21 taken 763 times.
✗ Branch 22 not taken.
✗ Branch 27 not taken.
✓ Branch 28 taken 763 times.
763 BOOST_CHECK(verifyKinematicConstraints(
52 std::make_pair(contactPhase.Kin_, contactPhase.kin_), c));
53
10/20
✓ Branch 3 taken 763 times.
✗ Branch 4 not taken.
✓ Branch 9 taken 763 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 763 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 763 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 763 times.
✗ Branch 19 not taken.
✓ Branch 21 taken 763 times.
✗ Branch 22 not taken.
✓ Branch 24 taken 763 times.
✗ Branch 25 not taken.
✓ Branch 27 taken 763 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 763 times.
✗ Branch 31 not taken.
✗ Branch 36 not taken.
✓ Branch 37 taken 763 times.
763 BOOST_CHECK(
54 verifyStabilityConstraintsDLP(*contactPhase.contactPhase_, c, dc, ddc));
55
10/20
✓ Branch 3 taken 763 times.
✗ Branch 4 not taken.
✓ Branch 9 taken 763 times.
✗ Branch 10 not taken.
✓ Branch 12 taken 763 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 763 times.
✗ Branch 16 not taken.
✓ Branch 18 taken 763 times.
✗ Branch 19 not taken.
✓ Branch 21 taken 763 times.
✗ Branch 22 not taken.
✓ Branch 24 taken 763 times.
✗ Branch 25 not taken.
✓ Branch 27 taken 763 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 763 times.
✗ Branch 31 not taken.
✗ Branch 36 not taken.
✓ Branch 37 taken 763 times.
763 BOOST_CHECK(
56 verifyStabilityConstraintsPP(*contactPhase.contactPhase_, c, dc, ddc));
57 763 return true;
58 }
59
60 47 void discretized_check(const bezier_com_traj::ProblemData& pData,
61 const VectorX& Ts,
62 const bezier_com_traj::ResultDataCOMTraj& res,
63 const int pointsPerPhase, const double t_total) {
64 // check if timing is respected
65
1/2
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
47 std::vector<double> timings = computeDiscretizedTime(Ts, pointsPerPhase);
66
5/10
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 47 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 47 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 47 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 47 times.
47 BOOST_CHECK_EQUAL(timings.back(), t_total);
67
68
3/6
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 47 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 47 times.
✗ Branch 8 not taken.
47 Vector3 c, dc, ddc;
69
1/2
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
47 bezier_com_traj::bezier_t ct = res.c_of_t_;
70
1/2
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
47 bezier_com_traj::bezier_t dct = ct.compute_derivate(1);
71
1/2
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
47 bezier_com_traj::bezier_t ddct = dct.compute_derivate(1);
72
73
5/10
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 47 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 47 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 47 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 47 times.
47 BOOST_CHECK_EQUAL(ct.min(), 0);
74
5/10
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 47 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 47 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 47 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 47 times.
47 BOOST_CHECK_EQUAL(dct.min(), 0);
75
5/10
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 47 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 47 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 47 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 47 times.
47 BOOST_CHECK_EQUAL(ddct.min(), 0);
76
5/10
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 47 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 47 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 47 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 47 times.
47 BOOST_CHECK_EQUAL(ct.max(), t_total);
77
5/10
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 47 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 47 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 47 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 47 times.
47 BOOST_CHECK_EQUAL(dct.max(), t_total);
78
5/10
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 47 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 47 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 47 times.
✗ Branch 15 not taken.
✗ Branch 18 not taken.
✓ Branch 19 taken 47 times.
47 BOOST_CHECK_EQUAL(ddct.max(), t_total);
79
80 // check if each discretized point is feasible :
81
82 std::vector<int>
83 47 stepIdForPhase; // stepIdForPhase[i] is the id of the last step of phase
84 // i / first step of phase i+1 (overlap)
85
2/2
✓ Branch 1 taken 135 times.
✓ Branch 2 taken 47 times.
182 for (int i = 0; i < Ts.size(); ++i)
86
1/2
✓ Branch 1 taken 135 times.
✗ Branch 2 not taken.
135 stepIdForPhase.push_back(pointsPerPhase * (i + 1) - 1);
87 47 std::size_t id_phase = 0;
88
1/2
✓ Branch 2 taken 47 times.
✗ Branch 3 not taken.
47 bezier_com_traj::ContactData phase = pData.contacts_[id_phase];
89
90
2/2
✓ Branch 1 taken 675 times.
✓ Branch 2 taken 47 times.
722 for (size_t id_step = 0; id_step < timings.size(); ++id_step) {
91
1/2
✓ Branch 2 taken 675 times.
✗ Branch 3 not taken.
675 c = ct(timings[id_step]);
92
1/2
✓ Branch 2 taken 675 times.
✗ Branch 3 not taken.
675 dc = dct(timings[id_step]);
93
1/2
✓ Branch 2 taken 675 times.
✗ Branch 3 not taken.
675 ddc = ddct(timings[id_step]);
94
95 // check i (c,dc,ddc) verify the constraints of current phase
96
4/8
✓ Branch 1 taken 675 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 675 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 675 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 675 times.
✗ Branch 11 not taken.
675 check_constraints(phase, c, dc, ddc);
97
98 // check if we switch phases
99
2/2
✓ Branch 1 taken 1320 times.
✓ Branch 2 taken 675 times.
1995 for (std::size_t i = 0; i < (stepIdForPhase.size() - 1); ++i) {
100
2/2
✓ Branch 1 taken 88 times.
✓ Branch 2 taken 1232 times.
1320 if (id_step == (std::size_t)stepIdForPhase[i]) {
101 88 id_phase = i + 1;
102
1/2
✓ Branch 2 taken 88 times.
✗ Branch 3 not taken.
88 phase = pData.contacts_[id_phase];
103
4/8
✓ Branch 1 taken 88 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 88 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 88 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 88 times.
✗ Branch 11 not taken.
88 check_constraints(phase, c, dc, ddc);
104 }
105 }
106 }
107 47 }
108
109 51 void check_transition(bezier_com_traj::ProblemData& pData, VectorX Ts,
110 bool shouldFail = false, bool continuous = false,
111 bool test_continuous = true) {
112
5/10
✓ Branch 1 taken 51 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 51 times.
✗ Branch 6 not taken.
✓ Branch 12 taken 51 times.
✗ Branch 13 not taken.
✓ Branch 15 taken 51 times.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✓ Branch 20 taken 51 times.
51 BOOST_CHECK_EQUAL(pData.contacts_.size(), Ts.size());
113
114 51 double t_total = 0;
115
3/4
✓ Branch 1 taken 147 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 147 times.
✓ Branch 5 taken 51 times.
198 for (long int i = 0; i < Ts.size(); ++i) t_total += Ts[i];
116
117 51 int pointsPerPhase = 5;
118
119 // check if transition is feasible (should be)
120
1/2
✓ Branch 1 taken 51 times.
✗ Branch 2 not taken.
51 bezier_com_traj::ResultDataCOMTraj res;
121
2/2
✓ Branch 0 taken 28 times.
✓ Branch 1 taken 23 times.
51 if (continuous) {
122 // testing all available solvers
123
1/2
✓ Branch 1 taken 28 times.
✗ Branch 2 not taken.
56 res = bezier_com_traj::computeCOMTraj(pData, Ts, -1,
124
1/2
✓ Branch 1 taken 28 times.
✗ Branch 2 not taken.
28 solvers::SOLVER_QUADPROG);
125 28 if (pData.representation_ == bezier_com_traj::FORCE) {
126 /*bezier_com_traj::ResultDataCOMTraj res2 =
127 bezier_com_traj::computeCOMTraj(pData,Ts,-1,solvers::SOLVER_QUADPROG_SPARSE);
128 BOOST_CHECK(res.success_ == res2.success_);
129 if(res.success_)
130 {
131 std::cout << " x " << res.cost_ << std::endl;
132 std::cout << " x2 " << res2.cost_ << std::endl;
133 discretized_check(pData,Ts,res2,pointsPerPhase,t_total);
134 BOOST_CHECK(!res.success_ || (res.x.head<3>() -
135 res2.x.head<3>()).norm() < EPSILON);
136 }*/
137 #ifdef USE_GLPK_SOLVER
138 // clock_t s0,e0;
139 // s0 = clock();
140 bezier_com_traj::ResultDataCOMTraj res3 =
141 bezier_com_traj::computeCOMTraj(pData, Ts, -1, solvers::SOLVER_GLPK);
142 // e0 = clock();
143 // std::cout<<"Time to perform full lp :
144 // "<<((double)(e0-s0)/CLOCKS_PER_SEC)*1000.<<" ms "<<std::endl;
145 BOOST_CHECK(res.success_ == res3.success_);
146 if (res3.success_) {
147 discretized_check(pData, Ts, res3, pointsPerPhase, t_total);
148 }
149 #endif
150 }
151 } else
152
2/4
✓ Branch 1 taken 23 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 23 times.
✗ Branch 5 not taken.
23 res = bezier_com_traj::computeCOMTrajFixedSize(pData, Ts, pointsPerPhase);
153
154
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 47 times.
51 if (shouldFail) {
155
6/12
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 4 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 4 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 4 times.
4 BOOST_CHECK(!res.success_);
156
1/2
✓ Branch 0 taken 4 times.
✗ Branch 1 not taken.
4 if (test_continuous) {
157
1/2
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
8 res = bezier_com_traj::computeCOMTraj(pData, Ts, -1,
158
1/2
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
4 solvers::SOLVER_QUADPROG);
159
6/12
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 4 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 4 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 4 times.
4 BOOST_CHECK(!res.success_);
160 4 pData.representation_ = bezier_com_traj::FORCE;
161
1/2
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
8 res = bezier_com_traj::computeCOMTraj(pData, Ts, -1,
162
1/2
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
4 solvers::SOLVER_QUADPROG);
163
6/12
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 4 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 4 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 4 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 4 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 4 times.
4 BOOST_CHECK(!res.success_);
164 #ifdef USE_GLPK_SOLVER
165 res =
166 bezier_com_traj::computeCOMTraj(pData, Ts, -1, solvers::SOLVER_GLPK);
167 BOOST_CHECK(!res.success_);
168 #endif
169 }
170 4 return;
171 }
172
173
6/12
✓ Branch 1 taken 47 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 47 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 47 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 47 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 47 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 47 times.
47 BOOST_CHECK(res.success_);
174
175
2/4
✓ Branch 0 taken 47 times.
✗ Branch 1 not taken.
✓ Branch 3 taken 47 times.
✗ Branch 4 not taken.
47 if (res.success_) discretized_check(pData, Ts, res, pointsPerPhase, t_total);
176
2/2
✓ Branch 0 taken 28 times.
✓ Branch 1 taken 19 times.
47 if (continuous &&
177
2/2
✓ Branch 0 taken 14 times.
✓ Branch 1 taken 14 times.
28 pData.representation_ == bezier_com_traj::DOUBLE_DESCRIPTION) {
178 14 pData.representation_ = bezier_com_traj::FORCE;
179
2/4
✓ Branch 1 taken 14 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 14 times.
✗ Branch 5 not taken.
14 check_transition(pData, Ts, shouldFail, true);
180
4/4
✓ Branch 0 taken 19 times.
✓ Branch 1 taken 14 times.
✓ Branch 2 taken 14 times.
✓ Branch 3 taken 5 times.
33 } else if (!continuous && test_continuous)
181
2/4
✓ Branch 1 taken 14 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 14 times.
✗ Branch 5 not taken.
14 check_transition(pData, Ts, shouldFail, true);
182 else {
183
2/2
✓ Branch 1 taken 55 times.
✓ Branch 2 taken 19 times.
74 for (size_t i = 0; i < pData.contacts_.size(); ++i) {
184
1/2
✓ Branch 1 taken 55 times.
✗ Branch 2 not taken.
55 delete pData.contacts_[i].contactPhase_;
185 }
186 }
187
2/2
✓ Branch 1 taken 47 times.
✓ Branch 2 taken 4 times.
51 }
188
189 BOOST_AUTO_TEST_SUITE(flat_ground)
190
191 // one step (left foot) : init pos of end effector : (0,0.1)(0,-0.1)
192 // end pos : (0.3,0.1)(0,-0.1)
193 // three phases : both feet in contact, only right feet, both feet
194
195 20 bezier_com_traj::ContactData phase0_flat() {
196
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 bezier_com_traj::ContactData cData;
197
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
20 MatrixX3 normals(2, 3), positions(2, 3);
198
3/6
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
20 normals.block<1, 3>(0, 0) = Vector3(0, 0, 1);
199
3/6
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
20 positions.block<1, 3>(0, 0) = Vector3(0, 0.1, 0);
200
3/6
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
20 normals.block<1, 3>(1, 0) = Vector3(0, 0, 1);
201
3/6
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
20 positions.block<1, 3>(1, 0) = Vector3(0, -0.1, 0);
202 std::pair<MatrixX3, MatrixX3> contacts =
203
3/6
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
40 computeRectangularContacts(normals, positions, LX, LY);
204
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
40 cData.contactPhase_ = new centroidal_dynamics::Equilibrium(
205
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
20 ComputeContactCone(contacts.first, contacts.second));
206
207 ConstraintsPair kin1 =
208
5/10
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 20 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
20 generateKinematicsConstraints(Matrix3::Identity(), Vector3(0, -0.1, 0));
209 ConstraintsPair kin = stackConstraints(
210 kin1,
211
6/12
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 20 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
40 generateKinematicsConstraints(Matrix3::Identity(), Vector3(0, 0.1, 0)));
212
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 cData.Kin_ = kin.first;
213
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 cData.kin_ = kin.second;
214
215 40 return cData;
216 20 }
217
218 21 bezier_com_traj::ContactData phase1_flat() {
219
1/2
✓ Branch 1 taken 21 times.
✗ Branch 2 not taken.
21 bezier_com_traj::ContactData cData;
220
2/4
✓ Branch 1 taken 21 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 21 times.
✗ Branch 5 not taken.
21 MatrixX3 normals(1, 3), positions(1, 3);
221
3/6
✓ Branch 1 taken 21 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 21 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 21 times.
✗ Branch 8 not taken.
21 normals.block<1, 3>(0, 0) = Vector3(0, 0, 1);
222
3/6
✓ Branch 1 taken 21 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 21 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 21 times.
✗ Branch 8 not taken.
21 positions.block<1, 3>(0, 0) = Vector3(0, -0.1, 0);
223 std::pair<MatrixX3, MatrixX3> contacts =
224
3/6
✓ Branch 1 taken 21 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 21 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 21 times.
✗ Branch 8 not taken.
42 computeRectangularContacts(normals, positions, LX, LY);
225
2/4
✓ Branch 1 taken 21 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 21 times.
✗ Branch 5 not taken.
42 cData.contactPhase_ = new centroidal_dynamics::Equilibrium(
226
2/4
✓ Branch 1 taken 21 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 21 times.
✗ Branch 5 not taken.
21 ComputeContactCone(contacts.first, contacts.second));
227
228 ConstraintsPair kin =
229
5/10
✓ Branch 1 taken 21 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 21 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 21 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 21 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 21 times.
✗ Branch 14 not taken.
21 generateKinematicsConstraints(Matrix3::Identity(), Vector3(0, -0.1, 0));
230
1/2
✓ Branch 1 taken 21 times.
✗ Branch 2 not taken.
21 cData.Kin_ = kin.first;
231
1/2
✓ Branch 1 taken 21 times.
✗ Branch 2 not taken.
21 cData.kin_ = kin.second;
232
233 42 return cData;
234 21 }
235
236 20 bezier_com_traj::ContactData phase2_flat() {
237
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 bezier_com_traj::ContactData cData;
238
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
20 MatrixX3 normals(2, 3), positions(2, 3);
239
3/6
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
20 normals.block<1, 3>(0, 0) = Vector3(0, 0, 1);
240
3/6
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
20 positions.block<1, 3>(0, 0) = Vector3(0.3, 0.1, 0);
241
3/6
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
20 normals.block<1, 3>(1, 0) = Vector3(0, 0, 1);
242
3/6
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
20 positions.block<1, 3>(1, 0) = Vector3(0, -0.1, 0);
243 std::pair<MatrixX3, MatrixX3> contacts =
244
3/6
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
40 computeRectangularContacts(normals, positions, LX, LY);
245
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
40 cData.contactPhase_ = new centroidal_dynamics::Equilibrium(
246
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
20 ComputeContactCone(contacts.first, contacts.second));
247
248 ConstraintsPair kin1 =
249
5/10
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 20 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
20 generateKinematicsConstraints(Matrix3::Identity(), Vector3(0, -0.1, 0));
250 ConstraintsPair kin = stackConstraints(
251 kin1,
252
6/12
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 20 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 20 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 20 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 20 times.
✗ Branch 17 not taken.
40 generateKinematicsConstraints(Matrix3::Identity(), Vector3(0.3, 0.1, 0)));
253
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 cData.Kin_ = kin.first;
254
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 cData.kin_ = kin.second;
255
256 40 return cData;
257 20 }
258
259 20 bezier_com_traj::ProblemData gen_problem_data_flat() {
260 20 bezier_com_traj::ProblemData pData;
261
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 pData.c0_ = Vector3(0, 0, NOMINAL_COM_HEIGHT);
262
1/2
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
20 pData.c1_ = Vector3(0.15, 0, NOMINAL_COM_HEIGHT);
263
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
20 pData.dc0_ = Vector3::Zero();
264
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
20 pData.dc1_ = Vector3::Zero();
265
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
20 pData.ddc0_ = Vector3::Zero();
266
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
20 pData.ddc1_ = Vector3::Zero();
267
268
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
20 pData.contacts_.push_back(phase0_flat());
269
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
20 pData.contacts_.push_back(phase1_flat());
270
2/4
✓ Branch 1 taken 20 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 20 times.
✗ Branch 5 not taken.
20 pData.contacts_.push_back(phase2_flat());
271
272 20 return pData;
273 }
274
275
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(quasi_static) {
276 // compute kinematic constraints for the right foot :
277 ConstraintsPair kin1 =
278
5/10
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
2 generateKinematicsConstraints(Matrix3::Identity(), Vector3(0, -0.1, 0));
279 ConstraintsPair kin0 = stackConstraints(
280 kin1,
281
6/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
4 generateKinematicsConstraints(Matrix3::Identity(), Vector3(0, 0.1, 0)));
282 ConstraintsPair kin2 = stackConstraints(
283 kin1,
284
6/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
4 generateKinematicsConstraints(Matrix3::Identity(), Vector3(0.3, 0.1, 0)));
285
286
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cDataMid = phase1_flat();
287
5/10
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
4 ConstraintsPair stab = generateStabilityConstraints(*cDataMid.contactPhase_);
288
289
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 std::pair<Matrix3, Vector3> Hg = computeCost();
290
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 Vector3 init = Vector3::Zero();
291
292
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ConstraintsPair Ab_first = stackConstraints(kin0, stab);
293 bezier_com_traj::ResultData res_first =
294
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
4 bezier_com_traj::solve(Ab_first, Hg, init);
295
6/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
2 BOOST_CHECK(res_first.success_);
296
297
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ConstraintsPair Ab_second = stackConstraints(kin2, stab);
298 bezier_com_traj::ResultData res_second =
299
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
4 bezier_com_traj::solve(Ab_second, Hg, init);
300
6/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
2 BOOST_CHECK(res_second.success_);
301
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
2 delete cDataMid.contactPhase_;
302 2 }
303
304
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition) {
305
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
306
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
307
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
308
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
309 2 }
310
311
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_noc1) {
312
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
313 2 pData.constraints_.flag_ = bezier_com_traj::INIT_POS |
314 2 bezier_com_traj::INIT_VEL |
315 bezier_com_traj::END_VEL;
316
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
317
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
318
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
319 2 }
320
321
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_no_terminal_constraints) {
322
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
323 2 pData.contacts_.pop_back();
324 2 pData.contacts_.pop_back();
325 2 pData.constraints_.flag_ = bezier_com_traj::INIT_POS |
326 2 bezier_com_traj::INIT_VEL |
327 bezier_com_traj::INIT_ACC;
328
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(1);
329
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 Ts << 0.2;
330
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts, false, false, true);
331 2 }
332
333
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_noDc1) {
334
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
335 2 pData.constraints_.flag_ ^= bezier_com_traj::END_VEL;
336
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
337
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
338
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
339 2 }
340
341
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_ddc0) {
342
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
343 2 pData.constraints_.flag_ |= bezier_com_traj::INIT_ACC;
344
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
345
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
346
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
347 2 }
348
349
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_ddc0_ddc1) {
350
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
351 2 pData.constraints_.flag_ |= bezier_com_traj::INIT_ACC;
352 2 pData.constraints_.flag_ |= bezier_com_traj::END_ACC;
353
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
354
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
355
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
356 2 }
357
358
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_noAcc) {
359
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
360 2 pData.constraints_.constraintAcceleration_ = false;
361
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
362
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
363
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
364 2 }
365
366
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_noDc1_noAcc) {
367
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
368 2 pData.constraints_.flag_ ^= bezier_com_traj::END_VEL;
369 2 pData.constraints_.constraintAcceleration_ = false;
370
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
371
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
372
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
373 2 }
374
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
2 BOOST_AUTO_TEST_CASE(transition_ddc0_noAcc) {
375
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
376 2 pData.constraints_.flag_ |= bezier_com_traj::INIT_ACC;
377 2 pData.constraints_.constraintAcceleration_ = false;
378
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
379
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
380
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
381 2 }
382
383
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_ddc0_ddc1_noAcc) {
384
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
385 pData.constraints_.flag_ |=
386 2 bezier_com_traj::INIT_ACC | bezier_com_traj::END_ACC;
387 2 pData.constraints_.constraintAcceleration_ = false;
388
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
389
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
390
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
391 2 }
392
393
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_Acc1) {
394
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
395 2 pData.constraints_.maxAcceleration_ = 1.;
396
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
397
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
398
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts, false, false,
399 false); // fail with continuous formulation
400 2 }
401
402
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_noDc1_Acc1) {
403
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
404 2 pData.constraints_.flag_ ^= bezier_com_traj::END_VEL;
405 2 pData.constraints_.maxAcceleration_ = 1.;
406
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
407
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
408
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts, false, false,
409 false); // fail with continuous formulation
410 2 }
411
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
2 BOOST_AUTO_TEST_CASE(transition_ddc0_Acc2) {
412
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
413 2 pData.constraints_.flag_ |= bezier_com_traj::INIT_ACC;
414 2 pData.constraints_.maxAcceleration_ = 2.;
415
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
416
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
417
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts, false, false,
418 false); // fail with continuous formulation
419 2 }
420
421
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_ddc0_ddc1_Acc2) {
422
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
423 pData.constraints_.flag_ |=
424 2 bezier_com_traj::INIT_ACC | bezier_com_traj::END_ACC;
425 2 pData.constraints_.maxAcceleration_ = 2.;
426
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
427
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
428
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
429 2 }
430
431
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_ddc0_ddc1_Acc05) {
432
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
433 pData.constraints_.flag_ |=
434 2 bezier_com_traj::INIT_ACC | bezier_com_traj::END_ACC;
435 2 pData.constraints_.maxAcceleration_ = 0.5;
436
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
437
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
438
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts, false, false,
439 false); // fail with continuous formulation
440 2 }
441
442
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_Acc05) {
443
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
444 2 pData.constraints_.maxAcceleration_ = 0.5;
445
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
446
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
447
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts, false, false,
448 false); // fail with continuous formulation
449 2 }
450
451 // constraints that should fails :
452
453
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_Acc02) {
454
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
455 2 pData.constraints_.maxAcceleration_ = 0.2;
456 2 pData.constraints_.constraintAcceleration_ = true;
457
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
458
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
459
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts, true);
460 2 }
461
462
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_noDc1_Acc05) {
463
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
464 2 pData.constraints_.flag_ ^= bezier_com_traj::END_VEL;
465 2 pData.constraints_.maxAcceleration_ = 0.5;
466 2 pData.constraints_.constraintAcceleration_ = true;
467
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
468
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
469
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts, true);
470 2 }
471
472
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_ddc0_Acc1) {
473
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
474 2 pData.constraints_.flag_ |= bezier_com_traj::INIT_ACC;
475 2 pData.constraints_.maxAcceleration_ = 1.;
476 2 pData.constraints_.constraintAcceleration_ = true;
477
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
478
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
479
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts, true);
480 2 }
481
482
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_ddc0_ddc1_Acc02) {
483
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_flat();
484 pData.constraints_.flag_ |=
485 2 bezier_com_traj::INIT_ACC | bezier_com_traj::END_ACC;
486 2 pData.constraints_.maxAcceleration_ = 0.2;
487 2 pData.constraints_.constraintAcceleration_ = true;
488
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
489
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.6, 0.6, 0.6;
490
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts, true);
491 2 }
492
493 BOOST_AUTO_TEST_SUITE_END()
494
495 BOOST_AUTO_TEST_SUITE(platform)
496
497 // platform : first step :
498 // (0.35,0.1,0) ; (0.35,-0.1,0) -> (0.775, 0.23, -0.02);(0.35,-0.1,0) (normal :
499 // 0.0, -0.423, 0.906)
500
501 // second step :
502 // (0.775, 0.23, -0.02);(0.35,-0.1,0) -> (0.775, 0.23, -0.02);(1.15,-0.1,0)
503 // unfeasible in quasi-static
504
505 // third step :
506 //(0.775, 0.23, -0.02);(1.15,-0.1,0) -> (1.15,0.1,0);(1.15,-0.1,0)
507
508 2 bezier_com_traj::ContactData phase0_platform() {
509
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cData;
510
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 MatrixX3 normals(2, 3), positions(2, 3);
511
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 normals.block<1, 3>(0, 0) = Vector3(0, 0, 1);
512
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 positions.block<1, 3>(0, 0) = Vector3(0.35, 0.1, 0);
513
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 normals.block<1, 3>(1, 0) = Vector3(0, 0, 1);
514
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 positions.block<1, 3>(1, 0) = Vector3(0.35, -0.1, 0);
515 std::pair<MatrixX3, MatrixX3> contacts =
516
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
4 computeRectangularContacts(normals, positions, LX, LY);
517
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 cData.contactPhase_ = new centroidal_dynamics::Equilibrium(
518
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 ComputeContactCone(contacts.first, contacts.second));
519
520
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 ConstraintsPair kin1 = generateKinematicsConstraints(Matrix3::Identity(),
521
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 Vector3(0.35, -0.1, 0));
522 ConstraintsPair kin =
523
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 stackConstraints(kin1, generateKinematicsConstraints(
524
4/8
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
6 Matrix3::Identity(), Vector3(0.35, 0.1, 0)));
525
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 cData.Kin_ = kin.first;
526
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 cData.kin_ = kin.second;
527
528 4 return cData;
529 2 }
530
531 2 bezier_com_traj::ContactData phase1_platform() {
532
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cData;
533
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 MatrixX3 normals(1, 3), positions(1, 3);
534
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 normals.block<1, 3>(0, 0) = Vector3(0, 0, 1);
535
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 positions.block<1, 3>(0, 0) = Vector3(0.35, -0.1, 0);
536 std::pair<MatrixX3, MatrixX3> contacts =
537
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
4 computeRectangularContacts(normals, positions, LX, LY);
538
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 cData.contactPhase_ = new centroidal_dynamics::Equilibrium(
539
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 ComputeContactCone(contacts.first, contacts.second));
540
541
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 ConstraintsPair kin = generateKinematicsConstraints(Matrix3::Identity(),
542
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 Vector3(0.35, -0.1, 0));
543
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 cData.Kin_ = kin.first;
544
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 cData.kin_ = kin.second;
545
546 4 return cData;
547 2 }
548
549 4 bezier_com_traj::ContactData phase2_platform() {
550
1/2
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
4 bezier_com_traj::ContactData cData;
551
2/4
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
4 MatrixX3 normals(2, 3), positions(2, 3);
552
4/8
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 11 not taken.
4 normals.block<1, 3>(0, 0) = Vector3(0.0, -0.423, 0.906).normalized();
553
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
4 positions.block<1, 3>(0, 0) = Vector3(0.775, 0.23, -0.02);
554
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
4 normals.block<1, 3>(1, 0) = Vector3(0, 0, 1);
555
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
4 positions.block<1, 3>(1, 0) = Vector3(0.35, -0.1, 0);
556 std::pair<MatrixX3, MatrixX3> contacts =
557
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
8 computeRectangularContacts(normals, positions, LX, LY);
558
2/4
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
8 cData.contactPhase_ = new centroidal_dynamics::Equilibrium(
559
2/4
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
4 ComputeContactCone(contacts.first, contacts.second));
560
561
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
4 ConstraintsPair kin1 = generateKinematicsConstraints(Matrix3::Identity(),
562
2/4
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
8 Vector3(0.35, -0.1, 0));
563 Eigen::Quaterniond quat = Eigen::Quaterniond::FromTwoVectors(
564
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
4 Eigen::Vector3d::UnitZ(), Eigen::Vector3d(0.0, -0.423, 0.906));
565
2/4
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
4 Matrix3 rot = quat.normalized().toRotationMatrix();
566 ConstraintsPair kin = stackConstraints(
567
5/10
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 14 not taken.
8 kin1, generateKinematicsConstraints(rot, Vector3(0.775, 0.23, -0.02)));
568
1/2
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
4 cData.Kin_ = kin.first;
569
1/2
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
4 cData.kin_ = kin.second;
570
571 8 return cData;
572 4 }
573
574 2 bezier_com_traj::ContactData phase3_platform() {
575
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cData;
576
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 MatrixX3 normals(1, 3), positions(1, 3);
577
4/8
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
2 normals.block<1, 3>(0, 0) = Vector3(0.0, -0.423, 0.906).normalized();
578
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 positions.block<1, 3>(0, 0) = Vector3(0.775, 0.23, -0.02);
579
580 std::pair<MatrixX3, MatrixX3> contacts =
581
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
4 computeRectangularContacts(normals, positions, LX, LY);
582
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 cData.contactPhase_ = new centroidal_dynamics::Equilibrium(
583
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 ComputeContactCone(contacts.first, contacts.second));
584
585 Eigen::Quaterniond quat = Eigen::Quaterniond::FromTwoVectors(
586
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 Eigen::Vector3d::UnitZ(), Eigen::Vector3d(0.0, -0.423, 0.906));
587
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 Matrix3 rot = quat.normalized().toRotationMatrix();
588 ConstraintsPair kin =
589
4/8
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
2 generateKinematicsConstraints(rot, Vector3(0.775, 0.23, -0.02));
590
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 cData.Kin_ = kin.first;
591
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 cData.kin_ = kin.second;
592
593 4 return cData;
594 2 }
595
596 4 bezier_com_traj::ContactData phase4_platform() {
597
1/2
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
4 bezier_com_traj::ContactData cData;
598
2/4
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
4 MatrixX3 normals(2, 3), positions(2, 3);
599
4/8
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 11 not taken.
4 normals.block<1, 3>(0, 0) = Vector3(0.0, -0.423, 0.906).normalized();
600
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
4 positions.block<1, 3>(0, 0) = Vector3(0.775, 0.23, -0.02);
601
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
4 normals.block<1, 3>(1, 0) = Vector3(0, 0, 1);
602
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
4 positions.block<1, 3>(1, 0) = Vector3(1.15, -0.1, 0);
603 std::pair<MatrixX3, MatrixX3> contacts =
604
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
8 computeRectangularContacts(normals, positions, LX, LY);
605
2/4
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
8 cData.contactPhase_ = new centroidal_dynamics::Equilibrium(
606
2/4
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
4 ComputeContactCone(contacts.first, contacts.second));
607
608
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
4 ConstraintsPair kin1 = generateKinematicsConstraints(Matrix3::Identity(),
609
2/4
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
8 Vector3(1.15, -0.1, 0));
610 Eigen::Quaterniond quat = Eigen::Quaterniond::FromTwoVectors(
611
3/6
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
4 Eigen::Vector3d::UnitZ(), Eigen::Vector3d(0.0, -0.423, 0.906));
612
2/4
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
4 Matrix3 rot = quat.normalized().toRotationMatrix();
613 ConstraintsPair kin = stackConstraints(
614
5/10
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 4 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 4 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 4 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 4 times.
✗ Branch 14 not taken.
8 kin1, generateKinematicsConstraints(rot, Vector3(0.775, 0.23, -0.02)));
615
1/2
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
4 cData.Kin_ = kin.first;
616
1/2
✓ Branch 1 taken 4 times.
✗ Branch 2 not taken.
4 cData.kin_ = kin.second;
617
618 8 return cData;
619 4 }
620
621 2 bezier_com_traj::ContactData phase5_platform() {
622
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cData;
623
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 MatrixX3 normals(1, 3), positions(1, 3);
624
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 normals.block<1, 3>(0, 0) = Vector3(0, 0, 1);
625
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 positions.block<1, 3>(0, 0) = Vector3(1.15, -0.1, 0);
626
627 std::pair<MatrixX3, MatrixX3> contacts =
628
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
4 computeRectangularContacts(normals, positions, LX, LY);
629
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 cData.contactPhase_ = new centroidal_dynamics::Equilibrium(
630
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 ComputeContactCone(contacts.first, contacts.second));
631
632
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 ConstraintsPair kin = generateKinematicsConstraints(Matrix3::Identity(),
633
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 Vector3(1.15, -0.1, 0));
634
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 cData.Kin_ = kin.first;
635
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 cData.kin_ = kin.second;
636
637 4 return cData;
638 2 }
639
640 2 bezier_com_traj::ContactData phase6_platform() {
641
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cData;
642
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 MatrixX3 normals(2, 3), positions(2, 3);
643
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 normals.block<1, 3>(0, 0) = Vector3(0, 0, 1);
644
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 positions.block<1, 3>(0, 0) = Vector3(1.15, -0.1, 0);
645
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 normals.block<1, 3>(1, 0) = Vector3(0, 0, 1);
646
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 positions.block<1, 3>(1, 0) = Vector3(1.15, 0.1, 0);
647
648 std::pair<MatrixX3, MatrixX3> contacts =
649
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
4 computeRectangularContacts(normals, positions, LX, LY);
650
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 cData.contactPhase_ = new centroidal_dynamics::Equilibrium(
651
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 ComputeContactCone(contacts.first, contacts.second));
652
653
3/6
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
2 ConstraintsPair kin1 = generateKinematicsConstraints(Matrix3::Identity(),
654
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
4 Vector3(1.15, -0.1, 0));
655 ConstraintsPair kin =
656
2/4
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
2 stackConstraints(kin1, generateKinematicsConstraints(
657
4/8
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 2 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 2 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 2 times.
✗ Branch 11 not taken.
6 Matrix3::Identity(), Vector3(1.15, 0.1, 0)));
658
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 cData.Kin_ = kin.first;
659
1/2
✓ Branch 1 taken 2 times.
✗ Branch 2 not taken.
2 cData.kin_ = kin.second;
660
661 4 return cData;
662 2 }
663
664 1 bezier_com_traj::ProblemData gen_problem_data_Step0() {
665 1 bezier_com_traj::ProblemData pData;
666
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pData.c0_ = Vector3(0.35, 0, NOMINAL_COM_HEIGHT);
667
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pData.c1_ = Vector3(0.56, 0.04, NOMINAL_COM_HEIGHT);
668
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.dc0_ = Vector3::Zero();
669
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.dc1_ = Vector3::Zero();
670
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.ddc0_ = Vector3::Zero();
671
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.ddc1_ = Vector3::Zero();
672
673
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.contacts_.push_back(phase0_platform());
674
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.contacts_.push_back(phase1_platform());
675
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.contacts_.push_back(phase2_platform());
676
677 1 return pData;
678 }
679
680 1 bezier_com_traj::ProblemData gen_problem_data_Step1() {
681 1 bezier_com_traj::ProblemData pData;
682
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pData.c0_ = Vector3(0.56, 0.04, 0.765);
683
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pData.c1_ = Vector3(0.98, 0.02, 0.77);
684
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.dc0_ = Vector3::Zero();
685
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.dc1_ = Vector3::Zero();
686
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.ddc0_ = Vector3::Zero();
687
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.ddc1_ = Vector3::Zero();
688
689
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.contacts_.push_back(phase2_platform());
690
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.contacts_.push_back(phase3_platform());
691
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.contacts_.push_back(phase4_platform());
692
693 1 return pData;
694 }
695
696 1 bezier_com_traj::ProblemData gen_problem_data_Step2() {
697 1 bezier_com_traj::ProblemData pData;
698
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pData.c0_ = Vector3(0.98, 0.04, NOMINAL_COM_HEIGHT);
699
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
1 pData.c1_ = Vector3(1.15, 0, NOMINAL_COM_HEIGHT);
700
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.dc0_ = Vector3::Zero();
701
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.dc1_ = Vector3::Zero();
702
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.ddc0_ = Vector3::Zero();
703
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.ddc1_ = Vector3::Zero();
704
705
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.contacts_.push_back(phase4_platform());
706
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.contacts_.push_back(phase5_platform());
707
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
1 pData.contacts_.push_back(phase6_platform());
708
709 1 return pData;
710 }
711
712
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(quasi_static_0) {
713 // should be successfull in quasiStatic
714 // compute kinematic constraints for the right foot :
715
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cDataFirst = phase0_platform();
716
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cDataMid = phase1_platform();
717
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cDataSecond = phase2_platform();
718
719
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ConstraintsPair kin_first = std::make_pair(cDataFirst.Kin_, cDataFirst.kin_);
720 ConstraintsPair kin_second =
721
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 std::make_pair(cDataSecond.Kin_, cDataSecond.kin_);
722
5/10
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
4 ConstraintsPair stab = generateStabilityConstraints(*cDataMid.contactPhase_);
723
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 std::pair<Matrix3, Vector3> Hg = computeCost();
724
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 Vector3 init = Vector3::Zero();
725
726
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ConstraintsPair Ab_first = stackConstraints(kin_first, stab);
727 bezier_com_traj::ResultData res_first =
728
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
4 bezier_com_traj::solve(Ab_first, Hg, init);
729
6/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
2 BOOST_CHECK(res_first.success_);
730
731
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ConstraintsPair Ab_second = stackConstraints(kin_second, stab);
732 bezier_com_traj::ResultData res_second =
733
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
4 bezier_com_traj::solve(Ab_second, Hg, init);
734
6/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
2 BOOST_CHECK(res_second.success_);
735
736
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
2 delete cDataFirst.contactPhase_;
737
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
2 delete cDataMid.contactPhase_;
738
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
2 delete cDataSecond.contactPhase_;
739 2 }
740
741
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(quasi_static_1) {
742 // should NOT be successfull in quasiStatic
743 // compute kinematic constraints for the right foot :
744
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cDataFirst = phase2_platform();
745
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cDataMid = phase3_platform();
746
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cDataSecond = phase4_platform();
747
748
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ConstraintsPair kin_first = std::make_pair(cDataFirst.Kin_, cDataFirst.kin_);
749 ConstraintsPair kin_second =
750
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 std::make_pair(cDataSecond.Kin_, cDataSecond.kin_);
751
5/10
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
4 ConstraintsPair stab = generateStabilityConstraints(*cDataMid.contactPhase_);
752
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 std::pair<Matrix3, Vector3> Hg = computeCost();
753
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 Vector3 init = Vector3::Zero();
754
755
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ConstraintsPair Ab_first = stackConstraints(kin_first, stab);
756 bezier_com_traj::ResultData res_first =
757
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
4 bezier_com_traj::solve(Ab_first, Hg, init);
758
6/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
2 BOOST_CHECK(!res_first.success_);
759
760
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ConstraintsPair Ab_second = stackConstraints(kin_second, stab);
761 bezier_com_traj::ResultData res_second =
762
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
4 bezier_com_traj::solve(Ab_second, Hg, init);
763
6/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
2 BOOST_CHECK(!res_second.success_);
764
765
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
2 delete cDataFirst.contactPhase_;
766
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
2 delete cDataMid.contactPhase_;
767
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
2 delete cDataSecond.contactPhase_;
768 2 }
769
770
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(quasi_static_2) {
771 // should be successfull in quasiStatic
772 // compute kinematic constraints for the right foot :
773
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cDataFirst = phase4_platform();
774
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cDataMid = phase5_platform();
775
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ContactData cDataSecond = phase6_platform();
776
777
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ConstraintsPair kin_first = std::make_pair(cDataFirst.Kin_, cDataFirst.kin_);
778 ConstraintsPair kin_second =
779
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 std::make_pair(cDataSecond.Kin_, cDataSecond.kin_);
780
5/10
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
4 ConstraintsPair stab = generateStabilityConstraints(*cDataMid.contactPhase_);
781
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 std::pair<Matrix3, Vector3> Hg = computeCost();
782
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 Vector3 init = Vector3::Zero();
783
784
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ConstraintsPair Ab_first = stackConstraints(kin_first, stab);
785 bezier_com_traj::ResultData res_first =
786
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
4 bezier_com_traj::solve(Ab_first, Hg, init);
787
6/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
2 BOOST_CHECK(res_first.success_);
788
789
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 ConstraintsPair Ab_second = stackConstraints(kin_second, stab);
790 bezier_com_traj::ResultData res_second =
791
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
4 bezier_com_traj::solve(Ab_second, Hg, init);
792
6/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 1 times.
✗ Branch 18 not taken.
✗ Branch 22 not taken.
✓ Branch 23 taken 1 times.
2 BOOST_CHECK(res_second.success_);
793
794
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
2 delete cDataFirst.contactPhase_;
795
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
2 delete cDataMid.contactPhase_;
796
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
2 delete cDataSecond.contactPhase_;
797 2 }
798
799
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_0) {
800
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_Step0();
801
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
802
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.8, 0.6, 0.8;
803
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
804 2 }
805
806
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_1) {
807
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_Step1();
808
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
809
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.4, 0.2, 0.4;
810
811
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
812 2 }
813
814
33/66
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 5 taken 1 times.
✗ Branch 6 not taken.
✓ Branch 8 taken 1 times.
✗ Branch 9 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 1 times.
✗ Branch 15 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 23 taken 1 times.
✗ Branch 24 not taken.
✓ Branch 27 taken 1 times.
✗ Branch 28 not taken.
✓ Branch 30 taken 1 times.
✗ Branch 31 not taken.
✓ Branch 33 taken 1 times.
✗ Branch 34 not taken.
✓ Branch 36 taken 1 times.
✗ Branch 37 not taken.
✓ Branch 41 taken 1 times.
✗ Branch 42 not taken.
✓ Branch 45 taken 1 times.
✗ Branch 46 not taken.
✓ Branch 48 taken 1 times.
✗ Branch 49 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 66 taken 1 times.
✗ Branch 67 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
✓ Branch 73 taken 1 times.
✗ Branch 74 not taken.
✓ Branch 77 taken 1 times.
✗ Branch 78 not taken.
✓ Branch 80 taken 1 times.
✗ Branch 81 not taken.
✓ Branch 83 taken 1 times.
✗ Branch 84 not taken.
✓ Branch 86 taken 1 times.
✗ Branch 87 not taken.
✓ Branch 91 taken 1 times.
✗ Branch 92 not taken.
✓ Branch 95 taken 1 times.
✗ Branch 96 not taken.
✓ Branch 98 taken 1 times.
✗ Branch 99 not taken.
✓ Branch 102 taken 1 times.
✗ Branch 103 not taken.
✓ Branch 105 taken 1 times.
✗ Branch 106 not taken.
✓ Branch 108 taken 1 times.
✗ Branch 109 not taken.
✓ Branch 111 taken 1 times.
✗ Branch 112 not taken.
✓ Branch 116 taken 1 times.
✗ Branch 117 not taken.
4 BOOST_AUTO_TEST_CASE(transition_2) {
815
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 bezier_com_traj::ProblemData pData = gen_problem_data_Step2();
816
1/2
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
2 VectorX Ts(3);
817
3/6
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
2 Ts << 0.8, 0.6, 0.8;
818
819
2/4
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
2 check_transition(pData, Ts);
820 2 }
821
822 BOOST_AUTO_TEST_SUITE_END()
823