|
@@ -465,16 +465,16 @@ void LidarScanController::controlRechargeMotion(const RechargeResult &result)
|
|
|
double adjust_angular = 0.0;
|
|
double adjust_angular = 0.0;
|
|
|
std::string adjust_type;
|
|
std::string adjust_type;
|
|
|
|
|
|
|
|
- const double ANGLE_8DEG = 5.0 * M_PI / 180.0; // 6度阈值
|
|
|
|
|
- const double DY_THRESHOLD = 0.05; // 5cm阈值
|
|
|
|
|
|
|
+ const double ANGLE_8DEG = 5.0 * M_PI / 180.0; // 5度阈值
|
|
|
|
|
+ // const double DY_THRESHOLD = 0.05; // 5cm阈值
|
|
|
|
|
|
|
|
// 优先调整角度
|
|
// 优先调整角度
|
|
|
if (fabs(yaw_diff) > ANGLE_8DEG)
|
|
if (fabs(yaw_diff) > ANGLE_8DEG)
|
|
|
{
|
|
{
|
|
|
adjust_type = "角度调整";
|
|
adjust_type = "角度调整";
|
|
|
// 根据夹角大小计算调整时间
|
|
// 根据夹角大小计算调整时间
|
|
|
- adjust_duration = fabs(yaw_diff) / 0.35; // 角速度0.25 rad/s
|
|
|
|
|
- adjust_angular = (yaw_diff > 0) ? -0.35 : 0.35;
|
|
|
|
|
|
|
+ adjust_duration = fabs(yaw_diff) / 0.15; // 角速度0.25 rad/s
|
|
|
|
|
+ adjust_angular = (yaw_diff > 0) ? -0.15 : 0.15;
|
|
|
|
|
|
|
|
RCLCPP_WARN(node_->get_logger(), "旋转 %.2f 秒", adjust_duration);
|
|
RCLCPP_WARN(node_->get_logger(), "旋转 %.2f 秒", adjust_duration);
|
|
|
}
|
|
}
|
|
@@ -520,7 +520,7 @@ void LidarScanController::controlRechargeMotion(const RechargeResult &result)
|
|
|
|
|
|
|
|
// 5. 向前走一小段距离(新增功能)
|
|
// 5. 向前走一小段距离(新增功能)
|
|
|
const double FORWARD_DISTANCE = 0.80; // 向前走150cm
|
|
const double FORWARD_DISTANCE = 0.80; // 向前走150cm
|
|
|
- const double FORWARD_SPEED = 0.08; // 前进速度 0.08 m/s
|
|
|
|
|
|
|
+ const double FORWARD_SPEED = 0.09; // 前进速度 0.08 m/s
|
|
|
|
|
|
|
|
// 计算前进所需时间
|
|
// 计算前进所需时间
|
|
|
double forward_duration = FORWARD_DISTANCE / FORWARD_SPEED;
|
|
double forward_duration = FORWARD_DISTANCE / FORWARD_SPEED;
|