Compare commits

...

1 Commits

Author SHA1 Message Date
7c84705ce7 update calcDirecPath 2026-03-23 03:02:29 +00:00

View File

@@ -794,6 +794,7 @@ namespace custom_planner
{ {
if(total_two_curve > 0) if(total_two_curve > 0)
{ {
robot::log_warning("DEBUG 1");
if(total_two_curve == 1) if(total_two_curve == 1)
{ {
vector<Pose> Pose_start_tmp; vector<Pose> Pose_start_tmp;
@@ -883,14 +884,19 @@ namespace custom_planner
} }
else else
{ {
robot::log_warning("DEBUG 2");
if(merge_path_calc_.status_yaw_edge_end_) if(merge_path_calc_.status_yaw_edge_end_)
{ {
robot::log_warning("DEBUG 2.1");
reverse_ = true; reverse_ = true;
// printf("custom_planner][calcAllYaw] DEBUG 300"); // printf("custom_planner][calcAllYaw] DEBUG 300");
setYawAllPosesOnEdge(savePosesOnEdge,true); setYawAllPosesOnEdge(savePosesOnEdge,true);
} }
else else
{ {
robot::log_warning("DEBUG 2.2");
reverse_ = false; reverse_ = false;
// printf("custom_planner][calcAllYaw] DEBUG 310"); // printf("custom_planner][calcAllYaw] DEBUG 310");
setYawAllPosesOnEdge(savePosesOnEdge,false); setYawAllPosesOnEdge(savePosesOnEdge,false);
@@ -1151,16 +1157,16 @@ namespace custom_planner
double yaw_goal = data_convert::getYaw(goal.pose.orientation); double yaw_goal = data_convert::getYaw(goal.pose.orientation);
// printf("[custom_planner] DEBUG: angle: %f; yaw_goal: %f",angle, yaw_goal); // printf("[custom_planner] DEBUG: angle: %f; yaw_goal: %f",angle, yaw_goal);
auto normalizeAngle0To2Pi = [](double angle) -> double // nomalize angle to [-pi, pi]
{ auto normalizeAngle = [](double a) {
angle = fmod(angle, 2.0 * M_PI); while (a > M_PI) a -= 2 * M_PI;
if (angle < 0) while (a < -M_PI) a += 2 * M_PI;
angle += 2.0 * M_PI; return a;
return angle;
}; };
double delta_angle = fabs((normalizeAngle0To2Pi(yaw_goal)) - (normalizeAngle0To2Pi(angle))); double delta_angle = std::fabs(std::fabs(normalizeAngle(yaw_goal)) - std::fabs(normalizeAngle(angle)));
return (delta_angle > (0.5*M_PI)); robot::log_warning("DEBUG 3: yaw_goal: %f, angle: %f, delta_angle: %f", yaw_goal, angle, delta_angle);
return (delta_angle > (0.5 * M_PI));
} }
// Export factory function // Export factory function