subject-two/entry/src/main/cpp/sdk/judge/sub3/Sub3Judge08Gjzt.h
2024-08-12 10:19:31 +08:00

101 lines
3.9 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* 说明: 科三项目[通过公交站台]评判
*
* 作者: 杨海洋
* 日期: 2024-03-21
*
* ***************************************************************************************
*
* 补充知识-->可以人工触发的项目:直线行驶、变更车道、超车、会车、靠边停车、掉头:普通掉头(非路口项目定义的掉头)
* 测绘及项目阶段定义
*
* (1测绘相关
* 公交站台内部代码8测绘点1个通过项目距离结束项目。
*
* (2) 标准评判内容
* 按定义的减速规则,评判减速。
*
* 3补充
* 如果外面配置了脚刹车、随机行人,需要评判是否有脚刹车动作,是否有停车让行动作。
*
* 4结束条件及扣分点。
* 如果启用了项目语音播报SysSet[512]-->3 等于1行驶60米后检查减速。
* (如果设置了随机行人和脚刹车,处理对应的评判规则)
*
* 如果没有启用项目语音播报SysSet[512]-->3等于0行驶35米后检查减速。
* (如果设置了随机行人和脚刹车,处理对应的评判规则)
*
* 5减速规则讲解
* Ctl.JianSuLeiXing = 2
* a30米前有刹车动作
* b) 30米前有降速,无增速
* c) 30米前有加速有减速速度不大于30
* d) 30米前匀速行驶无加速、无减速速度不大于30
* Ctl.JianSuLeiXing = 1
* 速度低于设定的阈值,即完成减速。
*
*
* (项目初始化)、项目初始化
* 1SysSet[509]-->5 得到限速默认30
* 2SysSet[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 当前车道大于2and 342参数为0或为2509-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