/* * 说明: 科三项目[会车]评判 * * 作者: 杨海洋 * 日期: 2024-04-07 * * *************************************************************************************** * * 补充知识-->可以人工触发的项目:直线行驶、变更车道、超车、会车、靠边停车、掉头:普通掉头(非路口项目定义的掉头) * 测绘及项目阶段定义 * * (1)测绘相关 * 会车项目内部代码:9,测绘点1个,通过项目距离或者时间结束项目。 * 如果设置了项目距离,SysSet[506]-->2,用项目距离方式结束。 * 否则用时间结束,默认完成时间:10秒。 * * (2) 标准评判内容 * 会车需要减速,部令没有明确规定具体的减速动作(这一块我们通过参数控制)SysSet[442]:会车速度相关、SysSet[318]:自定义减速规则 * (SysSet[318] 规则同时适用于:路口掉头、普通掉头、会车) * * 3)个性参数介绍 * SysSet[506]-->1, 会车的速度阈值(如果只判速度,SysSet[442]=2, 那么速度只要小于阈值,表示减速成功) * SysSet[506]-->2,会车项目距离,如果会车设置了项目距离,项目距离方式结束项目,否则:10秒后结束会车项目。 * SysSet[506]-->3, 会车合法右边距,只有右边距小于这个值,才认为是合法的会车。(默认:50CM) * SysSet[506]-->4, 合法右边距行驶距离,必须行驶完指定的距离,才认为会车动作结束。 * SysSet[506]-->5,进项目后,必须在多长的时间(秒)内完成减速动作。 * * 4)减速规则讲解 * 1) SysSet[442] 会车只要求减速(0-按318设置的减速条件 1- 按318设置的减速条件 2-只判断车速) * 按规则翻译:如果 SysSet[442]=2,只要速度小于阈值(默认:35) 就认为完成减速动作。 * 2) 如果没有执行条件1),那么执行SysSet[318] 减速分支 * 减速慢行不扣分条件 * 非1,2,3,4,-车速 Or 踩刹 Or松油门 * 1-车速 or 踩刹, * 2-车速, * 3-车速 and 踩刹 * 4-脚刹车 * * (项目初始化)、项目初始化 * 1) 记录进入项目时刻的:时间、左前轮离右边线距离、进项目时刻的临时距离。 * 2)得到个性参数值:项目距离、限速、合法右边距、合法右边距行驶距离、减速评判时机(多少秒后评判减速动作是否完成) * * (一)、评判细则 * 1)如果往左侧车道走,判:不按规定考试(如果有9,41 这个扣分,如果没有则不扣) * 2)合法右边距以及右边距行驶距离相关的计算赋值(讲代码的时候讲) * 3) 减速相关的评判。 * 4) 最终完成:会车动作(如果没有设置右边距合法的行驶距离,小于等于合法有边距,就算会车动作完成)、减速动作。 * * (二)、轨迹跟踪 * * (无,济南会车是免考项目) * */ #ifndef SUB3JUDGE09HCXX_H #define SUB3JUDGE09HCXX_H #include "ISub3JudgeWrap.h" class JUDGE_API Sub3Judge09Hcxx : public ISub3JudgeWrap { public: explicit Sub3Judge09Hcxx(); virtual ~Sub3Judge09Hcxx(); DEAL_API bool dealJudgeEnter() override; DEAL_API void dealJudgeItem() override; protected: private: TSub3Item09Hcxx m_itemv; }; #endif // SUB3JUDGE09HCXX_H