101 lines
3.9 KiB
C++
101 lines
3.9 KiB
C++
/*
|
||
* 说明: 科三项目[通过公交站台]评判
|
||
*
|
||
* 作者: 杨海洋
|
||
* 日期: 2024-03-21
|
||
*
|
||
* ***************************************************************************************
|
||
*
|
||
* 补充知识-->可以人工触发的项目:直线行驶、变更车道、超车、会车、靠边停车、掉头:普通掉头(非路口项目定义的掉头)
|
||
* 测绘及项目阶段定义
|
||
*
|
||
* (1)测绘相关
|
||
* 公交站台内部代码:8,测绘点1个,通过项目距离结束项目。
|
||
*
|
||
* (2) 标准评判内容
|
||
* 按定义的减速规则,评判减速。
|
||
*
|
||
* (3)补充
|
||
* 如果外面配置了脚刹车、随机行人,需要评判是否有脚刹车动作,是否有停车让行动作。
|
||
*
|
||
* (4)结束条件及扣分点。
|
||
* 如果启用了项目语音播报,SysSet[512]-->3 等于1,行驶60米后,检查减速。
|
||
* (如果设置了随机行人和脚刹车,处理对应的评判规则)
|
||
*
|
||
* 如果没有启用项目语音播报,SysSet[512]-->3等于0,行驶35米后,检查减速。
|
||
* (如果设置了随机行人和脚刹车,处理对应的评判规则)
|
||
*
|
||
* (5)减速规则讲解
|
||
* Ctl.JianSuLeiXing = 2
|
||
* a)30米前有刹车动作
|
||
* b) 30米前有降速,无增速
|
||
* c) 30米前有加速,有减速,速度不大于30
|
||
* d) 30米前,匀速行驶(无加速、无减速,速度不大于30)
|
||
* Ctl.JianSuLeiXing = 1
|
||
* 速度低于设定的阈值,即完成减速。
|
||
*
|
||
*
|
||
* (项目初始化)、项目初始化
|
||
* 1)SysSet[509]-->5 得到限速,默认:30
|
||
* 2)SysSet[509]-->6 是否需要脚刹车动作。
|
||
* 3) SysSet[509]-->8 是否必须减速(不关心你是否在3车道及以上)
|
||
* 4) 项目距离计算
|
||
*
|
||
* 5) SysSet[334]-->2 随机行人相关的
|
||
* 如果没有设置此参数,Itmv8.tmp_xrtg:=true; (表示已经行人停车,停车让行过了)
|
||
* //随机提示有行人通过(随机提示比例0~10)
|
||
* //停车让行相关的
|
||
*
|
||
* (一)、评判细则
|
||
* 1)实时更新是否需要评判减速
|
||
* //是否需要评判减速
|
||
* //SysSet[342]:车上是否能进行人工操作(0-能扣分和进项目 1-不能人工评判 2-可以人工评判 3-都不能)
|
||
* //如果是人工扣分或者人工评判的,自动评判就不触发 需要评判减速相关的
|
||
* //科研所规定,公交站台当前车辆的车道号在3车道及以上的,不需要评判减速相关的
|
||
* //需要评判减速相关的
|
||
* //需要评判减速相关的
|
||
*
|
||
* 2)停车让行赋值
|
||
*
|
||
* 3)脚刹车动作和完成减速相关的赋值。
|
||
* 讲代码的时候讲解这块。
|
||
*
|
||
* 4)是否行驶完项目距离
|
||
*
|
||
* 5) 达到项目距离后,评判是否有减速动作、是否脚刹车(如果配置了),是否停车让行(如果配置了)
|
||
*
|
||
*(二)、轨迹跟踪
|
||
*
|
||
* 快进到1840帧,然后步进跟踪项目。
|
||
*
|
||
* 公交判断规则:
|
||
* 1、509-8不为1 and 当前车道大于2,and (342参数为0,或为2,509-10为1):不扣分
|
||
* 2、500-13为2,按科研所规则判断是否减速;
|
||
* 3、509-6为1,同时满足刹车和速度小于阈值(509-5);
|
||
* 4、500-13为1,刹车和速度小于阈值,满足其中一个就不扣分;
|
||
* 5、无上述参数,只判断刹车
|
||
*
|
||
*/
|
||
|
||
#ifndef SUB3JUDGE08GJZT_H
|
||
#define SUB3JUDGE08GJZT_H
|
||
|
||
#include "ISub3JudgeWrap.h"
|
||
|
||
class JUDGE_API Sub3Judge08Gjzt : public ISub3JudgeWrap
|
||
{
|
||
public:
|
||
explicit Sub3Judge08Gjzt();
|
||
virtual ~Sub3Judge08Gjzt();
|
||
|
||
DEAL_API bool dealJudgeEnter() override;
|
||
DEAL_API void dealJudgeItem() override;
|
||
|
||
protected:
|
||
|
||
private:
|
||
TSub3Item08Gjzt m_itemv;
|
||
};
|
||
|
||
#endif // SUB3JUDGE08GJZT_H
|