编译命令: powershell -NoProfile -ExecutionPolicy Bypass -File .\build-and-package.ps1 1. TrajectoryPoint.cs 已完成 2. Trajectory2D.cs 下一步 3. TrajectoryProjection.cs 定义一次投影结果 4. TrajectoryProjector.cs 实现连续线段投影 5. TrajectoryBuilder.cs 原始离散点转标准轨迹 1. VehicleState.cs ↓ 2. FirstOrderLowPassFilter.cs ↓ 3. VelocityEstimator2D.cs ↓ 4. IVehicleStateProvider.cs ↓ 5. DetourVehicleStateProvider.cs private const double LinearVelocityFilterTimeConstantSeconds = 0.15; private const double AngularVelocityFilterTimeConstantSeconds = 0.20; PathTrackingContext.cs LateralControlCommand.cs ILateralController.cs ILongitudinalController.cs GcpMotionCommand.cs AckermannGcpAllocator.cs StanleyLateralController.cs PidLongitudinalController.cs GcpCommandExecutor.cs ParkingGeometricController.cs 轨迹投影没有进度连续性 [TrajectoryProjector.cs (line 33)](/D:/Users/Desktop/入职培训/停车机器人/MyParking/MultiWheelC/Trajectory/TrajectoryProjector.cs:33) 每个控制周期都会遍历整条轨迹并选择全局最近线段。 当前4 m直线、圆弧、普通 S 曲线一般没有问题;但以后遇到自交、回环、相邻平行路径或 Detour 跳变时,投影可能突然跳到另一段轨迹。 建议在开始复杂曲线测试前增加: 上一次投影线段索引 有限前向搜索窗口 少量允许回退范围 现阶段测试直线不需要马上改。 通用轨迹动作没有起点航向保护 当前直线测试以实时 Detour 位姿作为起点,因此起点位置和航向天然匹配,没有问题。 但 [TrajectoryTrackingMovement.cs (line 119)](/D:/Users/Desktop/入职培训/停车机器人/MyParking/MultiWheelC/Movements/TrajectoryTrackingMovement.cs:119) 本身允许传入任意世界坐标轨迹。如果将来传入的轨迹起点航向和车辆实际航向差别很大,车辆会直接边走边纠正。 后续至少应选择一种: 规划层保证起点位姿和实际车辆一致; 控制器检查初始航向误差,超限则拒绝启动; 增加起步航向对齐状态。 第一阶段建议采用第二种,简单、安全。 把前后GCP转角分解成两个模态: 共同转角 = (前GCP转角 + 后GCP转角) / 2 差动转角 = (前GCP转角 - 后GCP转角) / 2