38 const Curve1d& lon_trajectory) {
41 double v = lon_trajectory.
Evaluate(1, t);
42 if (!fuzzy_within(v, FLAGS_speed_lower_bound, FLAGS_speed_upper_bound)) {
46 double a = lon_trajectory.
Evaluate(2, t);
47 if (!fuzzy_within(a, FLAGS_longitudinal_acceleration_lower_bound,
48 FLAGS_longitudinal_acceleration_upper_bound)) {
52 double j = lon_trajectory.
Evaluate(3, t);
53 if (!fuzzy_within(j, FLAGS_longitudinal_jerk_lower_bound,
54 FLAGS_longitudinal_jerk_upper_bound)) {
57 t += FLAGS_trajectory_time_resolution;
66 double s = lon_trajectory.
Evaluate(0, t);
67 double dd_ds = lat_trajectory.
Evaluate(1, s);
68 double ds_dt = lon_trajectory.
Evaluate(1, t);
70 double d2d_ds2 = lat_trajectory.
Evaluate(2, s);
71 double d2s_dt2 = lon_trajectory.
Evaluate(2, t);
75 a = d2d_ds2 * ds_dt * ds_dt + dd_ds * d2s_dt2;
78 if (!fuzzy_within(a, -FLAGS_lateral_acceleration_bound,
79 FLAGS_lateral_acceleration_bound)) {
89 if (!fuzzy_within(j, -FLAGS_lateral_jerk_bound, FLAGS_lateral_jerk_bound)) {
92 t += FLAGS_trajectory_time_resolution;