3.3 KiB
3.3 KiB
项目概览
项目定位
MyParking 是停车机器人控制软件的当前正式开发版本,主体为 C# 插件工程。项目目标是让多舵轮停车机器人完成底盘运动、车辆状态获取、轨迹跟踪、原地自转和后续停车作业;当前研发重点仍是单车闭环和实车联调,多车协同尚未形成可运行实现。来源:README.md、MultiWheelC/PilotConfig.cs、Shared/Fleet/FleetKinematics.cs。
项目不是可直接 dotnet run 的独立应用:
MultiWheelC.dll由 Clumsy 宿主加载,提供 C 层动作、控制和MovementTest入口。MedullaAdapter.dll由 Medulla 宿主加载,负责 M 层硬件通信和周期逻辑。CommonUsage.dll提供通用底盘模型和四轮几何解算。
对应入口类型为 MultiWheelC/PilotDefinition.cs::PilotDefinition 和 MedullaAdapter/DiverCartDefinition.cs::DiverCartDefinition;仓库中没有 Program.Main。
车辆与业务场景
- 代码接口面向四个可转向轮组,并暴露8个驱动电机的位置/速度反馈和4个舵角反馈。M/C IO定义见
PilotDefinition、DiverCartDefinition。 - 车体支持正常前后行驶、倒车轨迹、任意固定运动方向β下的滚动运动、蟹行和停车后原地自转。主要入口见
MultiWheelC/Movements/和MultiWheelC/Experiments/。 - 夹臂速度、位置、限位和报警IO已经接入,但轮胎识别、自动钻车、释放车辆和完整停车作业状态机尚未在当前新版流程中完成。来源:
PilotConfig.cs、PilotDefinition.cs、README.md。 - 多车模型数据类型已经预留,但多车配置位于
PilotConfig.cs的#if false,FleetKinematics.cs只有占位注释,不能把当前代码视为已支持多车编队。
整体运行流程
典型新版轨迹跟踪流程:
- Clumsy 宿主通过
MovementTest或动作计划启动TrajectoryTrackingMovement。 - 动作停车并通过
PrepareWheelsForward将舵轮预对齐到本段运动方向β。 ParkingVehicleStateProviderFactory组合 Detour 位姿和轮组反馈速度。ParkingGeometricController完成轨迹投影、横纵向控制、GCP分配和完成条件判断。GcpCommandExecutor、MultiWheelChassisAdapter将SI单位命令转换到当前运动坐标系,再调用CommonUsage.Chassis.MultiWheelChassis。- M层周期逻辑将底盘和夹臂命令发送到MCU/CAN,并把反馈通过宿主IO返回C层。
详细调用链见 architecture.md,接口和坐标语义见 interfaces.md。
当前阶段
- 单车基本运动、新版轨迹跟踪、倒车直线、45°蟹行直线、原地自转和组合动作均有宿主测试入口。
- 新版控制默认采用 Stanley 横向控制和 PID 纵向控制;轨迹实验和控制周期诊断可输出CSV。
- 当前代码能力不等于完整实车验收,特别是高速、曲线倒车、蟹行曲线、长期稳定性和异常工况仍需单独验证。
待确认
- Clumsy/Medulla 宿主的正式版本、插件部署目录和启动顺序。
PilotDefinition.Conf在实车上的持久化文件位置、加载时机和发布流程。- 真实车辆最终几何参数、舵轮零位/限位和不同车辆配置的权威来源。
- 完整停车业务的产品流程、安全状态机和验收指标。