65 lines
2.3 KiB
Plaintext
65 lines
2.3 KiB
Plaintext
编译命令:
|
|
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
|
|
|
|
|
|
|
|
|