@@ -216,61 +216,9 @@ std::tuple<geometry_msgs::msg::TwistStamped, Eigen::ArrayXXf> Optimizer::evalCon
216216    shiftControlSequence ();
217217  }
218218
219-   {
220-     auto  & s = settings_;
221-     constexpr  float  epsilon = 1e-4f ;
222- 
223-     //  Check if accelerations exceed constraints
224-     double  dt = (control.header .stamp .sec  - prev_control_twist_.header .stamp .sec )
225-                 + 1e-9  * (control.header .stamp .nanosec  - prev_control_twist_.header .stamp .nanosec );
226- 
227-     float  ax = (control.twist .linear .x  - prev_control_twist_.twist .linear .x ) / s.model_dt ;
228-     float  ax_real = (control.twist .linear .x  - prev_control_twist_.twist .linear .x ) / dt;
229-     if  (std::abs (ax) > s.constraints .ax_max  + epsilon) {
230-       std::cout << " Acceleration constraint violated from last command " " :\t " 
231-       std::cout << " vx[i]: " twist .linear .x  << " , vx[i-1]: " twist .linear .x 
232-       << " , ax: " "  real dt: " "  real ax " " \n " 
233-     }
234-     float  wz = (control.twist .angular .z  - prev_control_twist_.twist .angular .z ) / s.model_dt ;
235-     float  wz_real = (control.twist .angular .z  - prev_control_twist_.twist .angular .z ) / dt;
236-     if  (std::abs (wz) > s.constraints .az_max  + epsilon) {
237-       std::cout << " Angular Acceleration constraint violated from last command " " :\t " 
238-       std::cout << " wz[i]: " twist .angular .z  << " , wz[i-1]: " twist .angular .z 
239-       << " , az: " "  real dt: " "  real az " " \n " 
240-     }
241-   }
242- 
243-   prev_control_twist_ = control;
244-   prev_control_sequence_ = control_sequence_;
245- 
246219  return  std::make_tuple (control, optimal_trajectory);
247220}
248221
249- void  Optimizer::computeControlSequenceAccel (const  models::ControlSequence& control_sequence)
250- {
251-   auto  & s = settings_;
252- 
253-   std::cout << std::endl;
254-   for  (long  int  i = 1 ; i < control_sequence.vx .size (); ++i) {
255-     constexpr  float  epsilon = 1e-4f ;
256- 
257-     //  Check if accelerations exceed constraints
258-     float  ax = (control_sequence.vx (i) - control_sequence.vx (i - 1 )) / s.model_dt ;
259-     if  (std::abs (ax) > s.constraints .ax_max  + epsilon) {
260-       std::cout << " ****Acceleration constraint violated at index " " :\n " 
261-       std::cout << " vx[i-1]: " vx (i - 1 ) << " , vx[i]: " vx (i) << " , ax: " " \n " 
262-     }
263- 
264-     float  wz_accel = (control_sequence.wz (i) - control_sequence.wz (i - 1 )) / s.model_dt ;
265-     if  (std::abs (wz_accel) > s.constraints .az_max  + epsilon) {
266-       std::cout << " ***Angular acceleration constraint violated at index " " :\n " 
267-       std::cout << " wz[i-1]: " wz (i - 1 ) << " , wz[i]: " wz (i) << " , wz_accel: " " \n " 
268-     }
269-   }
270-   std::cout << std::endl;
271- }
272- 
273- 
274222void  Optimizer::optimize ()
275223{
276224  for  (size_t  i = 0 ; i < settings_.iteration_count ; ++i) {
@@ -586,7 +534,6 @@ void Optimizer::updateControlSequence()
586534  }
587535
588536  utils::savitskyGolayFilter (control_sequence_, control_history_, settings_);
589-   control_sequence_virtual_ = control_sequence_;
590537
591538  applyControlSequenceConstraints ();
592539}
0 commit comments