Commit 4a1d6d44 authored by p x's avatar p x
Browse files

添加8.8感知目标物

parent 0e908cdc
package com.cusc.adas.v2x.assist.dto;
import com.cusc.adas.v2x.utils.OffsetDef;
import com.cusc.adas.v2x.utils.Order;
import com.cusc.adas.v2x.vo.FilterInfo;
import com.cusc.adas.v2x.vo.TrajectoryInfo;
import java.util.List;
/****感知目标物**/
public class PerceptualDto {
//唯一编号
@Order(1)
private String uuid;
//目标编号
@Order(2)
private int objId;
//目标类型
@Order(3)
private short type;
//目标状态
@Order(4)
private short status;
//目标长度 单位:cm
@Order(5)
@OffsetDef(value = 0.01)
private int len;
//目标宽度 单位:cm
@Order(6)
@OffsetDef(value = 0.01)
private int width;
//目标高度 单位:cm
@Order(7)
@OffsetDef(value = 0.01)
private int height;
//经度
@Order(8)
@OffsetDef(value=0.0000001,minValidLength=10)
private double longitude;
//纬度
@Order(9)
@OffsetDef(value=0.00000001,minValidLength=10)
private double latitude;
//东西向距离 单位:cm
@Order(10)
@OffsetDef(value = 0.01)
private long locEast;
//南北向距离 单位:cm
@Order(11)
@OffsetDef(value = 0.01)
private long locNorth;
//位置精度等级
@Order(12)
private short posConfidence;
//高程 单位:dm
@Order(13)
@OffsetDef(value = 0.1)
private long elevation;
//高程精度
@Order(14)
private short elevConfidence;
//速度 ,单位:0.01 m/s
@Order(15)
@OffsetDef(value = 0.036)
private float speed;
//速度精度等级
@Order(16)
private short speedConfidence;
//东西向速度 cm/s
@Order(17)
@OffsetDef(value = 0.0036)
private float speedEast;
//东西向速度精 度等级
@Order(18)
private short speedEastConfidence;
//南北向速度 cm/s,
@Order(19)
@OffsetDef(value = 0.0036)
private float speedNorth;
//南北向速度精 度等级
@Order(20)
private short speedNorthConfidence;
//航向角
@Order(21)
@OffsetDef(value=0.0001,minValidLength=7)
private double heading;
//航向精度等级
@Order(22)
private short headConfidence;
//目标纵向加速 度 单位:0.01m/
@Order(23)
@OffsetDef(value = 0.036)
private float accelVert;
//目标纵向加速 度置精度等级
@Order(24)
private short accelVertConfidence;
//目标跟踪时长 单位:毫秒
@Order(25)
private long trackedTimes;
//目标历史轨迹 数量
@Order(26)
private int histLocNum;
//目标历史轨迹 列表
@Order(27)
private List<TrajectoryInfo> histLocs;
//目标预测轨迹 数量
@Order(28)
private int predLocNum;
//目标预测轨迹 列表
@Order(29)
private List<TrajectoryInfo> predLocs;
//目标所在车道编号
@Order(30)
private short laneId;
//滤波信息的类型
@Order(31)
private short filterInfoType;
//卡尔曼滤波信息
@Order(32)
private List<FilterInfo> filterInfo;
//车牌号字节数
@Order(33)
private short plateNoLen;
//车牌号
@Order(34)
private byte[] plateNo;
//车牌类型
@Order(35)
private short plateType;
//车牌颜色
@Order(36)
private short plateColor;
//车身颜色
@Order(37)
private short vehicleColor;
}
package com.cusc.adas.v2x.assist.dto;
import java.util.List;
/*** CLOUD2VEH_ASTFUNC_RSM 云端下发实时感知信息 11 **/
public class PerceptualInfoDto {
//数据源
private short source;
// 感知目标个数
private int objNum;
//感知目标数据
private List<PerceptualDto> detectionData;
public List<PerceptualDto> getDetectionData() {
return detectionData;
}
}
...@@ -23,6 +23,9 @@ public class TrafficLightStatusDto { ...@@ -23,6 +23,9 @@ public class TrafficLightStatusDto {
//灯组类型 //灯组类型
private short lightType; private short lightType;
public void setLightState(short lightState) {
this.lightState = lightState;
}
public short getLightState() { public short getLightState() {
return lightState; return lightState;
...@@ -32,10 +35,6 @@ public class TrafficLightStatusDto { ...@@ -32,10 +35,6 @@ public class TrafficLightStatusDto {
return timeLeft; return timeLeft;
} }
public void setNextLightState(short nextLightState) {
this.nextLightState = nextLightState;
}
public short getNextLightState() { public short getNextLightState() {
return nextLightState; return nextLightState;
} }
......
...@@ -5,6 +5,7 @@ import com.cusc.adas.v2x.utils.DynamicsClassDef; ...@@ -5,6 +5,7 @@ import com.cusc.adas.v2x.utils.DynamicsClassDef;
import com.cusc.adas.v2x.utils.FieldDef; import com.cusc.adas.v2x.utils.FieldDef;
import com.cusc.adas.v2x.utils.Order; import com.cusc.adas.v2x.utils.Order;
/****8.8 云端辅助功能信息及返回**/
public class AssistMessageBody<T> { public class AssistMessageBody<T> {
//车辆编号 //车辆编号
@Order(1) @Order(1)
......
package com.cusc.adas.v2x.assist.vo;
import com.cusc.adas.v2x.utils.OffsetDef;
import com.cusc.adas.v2x.utils.Order;
import com.cusc.adas.v2x.vo.FilterInfo;
import com.cusc.adas.v2x.vo.TrajectoryInfo;
import java.util.List;
/****感知目标物**/
public class Perceptual {
//唯一编号
@Order(1)
private short[] uuid;
//目标编号
@Order(2)
private int objId;
//目标类型
@Order(3)
private short type;
//目标状态
@Order(4)
private short status;
//目标长度 单位:cm
@Order(5)
@OffsetDef(value = 0.01)
private int len;
//目标宽度 单位:cm
@Order(6)
@OffsetDef(value = 0.01)
private int width;
//目标高度 单位:cm
@Order(7)
@OffsetDef(value = 0.01)
private int height;
//经度
@Order(8)
@OffsetDef(value=0.0000001,minValidLength=10)
private long longitude;
//纬度
@Order(9)
@OffsetDef(value=0.00000001,minValidLength=10)
private long latitude;
//东西向距离 单位:cm
@Order(10)
@OffsetDef(value = 0.01)
private long locEast;
//南北向距离 单位:cm
@Order(11)
@OffsetDef(value = 0.01)
private long locNorth;
//位置精度等级
@Order(12)
private short posConfidence;
//高程 单位:dm
@Order(13)
@OffsetDef(value = 0.1)
private long elevation;
//高程精度
@Order(14)
private short elevConfidence;
//速度 ,单位:0.01 m/s
@Order(15)
@OffsetDef(value = 0.036)
private int speed;
//速度精度等级
@Order(16)
private short speedConfidence;
//东西向速度 cm/s
@Order(17)
@OffsetDef(value = 0.0036)
private int speedEast;
//东西向速度精 度等级
@Order(18)
private short speedEastConfidence;
//南北向速度 cm/s,
@Order(19)
@OffsetDef(value = 0.0036)
private int speedNorth;
//南北向速度精 度等级
@Order(20)
private short speedNorthConfidence;
//航向角
@Order(21)
@OffsetDef(value=0.0001,minValidLength=7)
private long heading;
//航向精度等级
@Order(22)
private short headConfidence;
//目标纵向加速 度 单位:0.01m/
@Order(23)
@OffsetDef(value = 0.036)
private int accelVert;
//目标纵向加速 度置精度等级
@Order(24)
private short accelVertConfidence;
//目标跟踪时长 单位:毫秒
@Order(25)
private long trackedTimes;
//目标历史轨迹 数量
@Order(26)
private int histLocNum;
//目标历史轨迹 列表
@Order(27)
private List<TrajectoryInfo> histLocs;
//目标预测轨迹 数量
@Order(28)
private int predLocNum;
//目标预测轨迹 列表
@Order(29)
private List<TrajectoryInfo> predLocs;
//目标所在车道编号
@Order(30)
private short laneId;
//滤波信息的类型
@Order(31)
private short filterInfoType;
//卡尔曼滤波信息
@Order(32)
private List<FilterInfo> filterInfo;
//车牌号字节数
@Order(33)
private short plateNoLen;
//车牌号
@Order(34)
private byte[] plateNo;
//车牌类型
@Order(35)
private short plateType;
//车牌颜色
@Order(36)
private short plateColor;
//车身颜色
@Order(37)
private short vehicleColor;
}
package com.cusc.adas.v2x.assist.vo;
import com.cusc.adas.v2x.utils.Order;
import com.cusc.adas.v2x.utils.RefNumFlag;
import java.util.List;
/*** CLOUD2VEH_ASTFUNC_RSM 云端下发实时感知信息 11 **/
public class PerceptualInfo {
//数据源
@Order(1)
private short source;
// 感知目标个数
@Order(2)
private int objNum;
//感知目标数据
@Order(3)
@RefNumFlag(value = "objNum")
private List<Perceptual> detectionData;
public List<Perceptual> getDetectionData() {
return detectionData;
}
}
package com.cusc.adas.v2x.vo; package com.cusc.adas.v2x.vo;
import com.cusc.adas.v2x.assist.dto.PerceptualInfoDto;
import com.cusc.adas.v2x.assist.dto.TrafficLightDto; import com.cusc.adas.v2x.assist.dto.TrafficLightDto;
import com.cusc.adas.v2x.assist.vo.PerceptualInfo;
import com.cusc.adas.v2x.assist.vo.TrafficLight; import com.cusc.adas.v2x.assist.vo.TrafficLight;
import com.cusc.adas.v2x.clouddecision.dto.AbnormalVehicleDto; import com.cusc.adas.v2x.clouddecision.dto.AbnormalVehicleDto;
import com.cusc.adas.v2x.clouddecision.dto.AutoSpeedLimitDto; import com.cusc.adas.v2x.clouddecision.dto.AutoSpeedLimitDto;
...@@ -25,7 +27,7 @@ public class DynamicsClassMap { ...@@ -25,7 +27,7 @@ public class DynamicsClassMap {
static { static {
Map<Short, Class> cloundDecisionsubMap = new HashMap<>(); Map<Short, Class> cloundDecisionsubMap = new HashMap<>();
// 参考 adviceType 列表定义 // 参考 adviceType 列表定义 8.5 云端决策建议信息及返回
cloundDecisionsubMap.put((short) 1, TrafficLightInfo.class);//信号灯路口车速引导功能指令 cloundDecisionsubMap.put((short) 1, TrafficLightInfo.class);//信号灯路口车速引导功能指令
cloundDecisionsubMap.put((short) 5, AutoSpeedLimit.class);//动态车道级限速指令 cloundDecisionsubMap.put((short) 5, AutoSpeedLimit.class);//动态车道级限速指令
cloundDecisionsubMap.put((short) 9, FawWarnning.class);//前向碰撞预警 cloundDecisionsubMap.put((short) 9, FawWarnning.class);//前向碰撞预警
...@@ -34,11 +36,13 @@ public class DynamicsClassMap { ...@@ -34,11 +36,13 @@ public class DynamicsClassMap {
cloundDecisionsubMap.put((short) 17, RSIWarnning.class);//通用 RSI 预警 cloundDecisionsubMap.put((short) 17, RSIWarnning.class);//通用 RSI 预警
map.put("CloudDecision", cloundDecisionsubMap); map.put("CloudDecision", cloundDecisionsubMap);
// 8.8 云端辅助功能信息及返回
Map<Short, Class> assistSubMap = new HashMap<>(); Map<Short, Class> assistSubMap = new HashMap<>();
assistSubMap.put((short) 7, TrafficLight.class);//云端下发信号灯信息数据 assistSubMap.put((short) 7, TrafficLight.class);//云端下发信号灯信息数据
assistSubMap.put((short) 11, PerceptualInfo.class);//云端下发实时感知信息(CLOUD2VEH_ASTFUNC_RSM)
map.put("assist", assistSubMap); map.put("assist", assistSubMap);
// 参考 adviceType 列表定义 //Android Dto 参考 adviceType 列表定义
Map<Short, Class> cloundDecisionsubMapDto = new HashMap<>(); Map<Short, Class> cloundDecisionsubMapDto = new HashMap<>();
cloundDecisionsubMapDto.put((short) 1, TrafficLightInfoDto.class);//信号灯路口车速引导功能指令 cloundDecisionsubMapDto.put((short) 1, TrafficLightInfoDto.class);//信号灯路口车速引导功能指令
cloundDecisionsubMapDto.put((short) 5, AutoSpeedLimitDto.class);//动态车道级限速指令 cloundDecisionsubMapDto.put((short) 5, AutoSpeedLimitDto.class);//动态车道级限速指令
...@@ -46,10 +50,11 @@ public class DynamicsClassMap { ...@@ -46,10 +50,11 @@ public class DynamicsClassMap {
cloundDecisionsubMapDto.put((short) 11, AbnormalVehicleDto.class);//异常车辆预警 cloundDecisionsubMapDto.put((short) 11, AbnormalVehicleDto.class);//异常车辆预警
cloundDecisionsubMapDto.put((short) 13, EmergencyVehicleDto.class);//紧急车辆预警 cloundDecisionsubMapDto.put((short) 13, EmergencyVehicleDto.class);//紧急车辆预警
cloundDecisionsubMapDto.put((short) 17, RSIWarnningDto.class);//通用 RSI 预警 cloundDecisionsubMapDto.put((short) 17, RSIWarnningDto.class);//通用 RSI 预警
//Android Dto
mapDto.put("CloudDecision", cloundDecisionsubMapDto); mapDto.put("CloudDecision", cloundDecisionsubMapDto);
Map<Short, Class> assistSubMapDto = new HashMap<>(); Map<Short, Class> assistSubMapDto = new HashMap<>();
assistSubMapDto.put((short) 7, TrafficLightDto.class);//云端下发信号灯信息数据 assistSubMapDto.put((short) 7, TrafficLightDto.class);//云端下发信号灯信息数据
assistSubMapDto.put((short) 11, PerceptualInfoDto.class);//云端下发实时感知信息(CLOUD2VEH_ASTFUNC_RSM)
mapDto.put("assist", assistSubMapDto); mapDto.put("assist", assistSubMapDto);
} }
......
package com.cusc.adas.v2x.vo; package com.cusc.adas.v2x.vo;
import com.cusc.adas.v2x.utils.Order;
import java.util.List; import java.util.List;
/** /**
...@@ -8,10 +10,15 @@ import java.util.List; ...@@ -8,10 +10,15 @@ import java.util.List;
* *
*/ */
public class FilterInfo { public class FilterInfo {
@Order(1)
private int dimension; // 状态量协方差矩阵的维度 private int dimension; // 状态量协方差矩阵的维度
@Order(2)
private List<Integer> varNIndex; // 状态量所在序号列表 private List<Integer> varNIndex; // 状态量所在序号列表
@Order(3)
private List<Cov> covs; // 卡尔曼滤波的更新步骤得到的状态量协方差矩阵 private List<Cov> covs; // 卡尔曼滤波的更新步骤得到的状态量协方差矩阵
@Order(4)
private List<Cov> covsPred; // 卡尔曼滤波预测步骤得到的状态量协方差矩阵 private List<Cov> covsPred; // 卡尔曼滤波预测步骤得到的状态量协方差矩阵
@Order(5)
private List<Cov> varsPred; // 卡尔曼滤波预测步骤得到的状态量 private List<Cov> varsPred; // 卡尔曼滤波预测步骤得到的状态量
public int getDimension() { public int getDimension() {
return dimension; return dimension;
......
...@@ -34,6 +34,7 @@ public class VehicleInfo { ...@@ -34,6 +34,7 @@ public class VehicleInfo {
@Order(5) @Order(5)
private Position position; private Position position;
//航向角
/****[0..3600000],正北方向顺时针旋转至与车辆当前运动方向重合所转 过的角度,单位为 1e-4 ° , 不可缺省,0xFFFFFFFF 表示异常**/ /****[0..3600000],正北方向顺时针旋转至与车辆当前运动方向重合所转 过的角度,单位为 1e-4 ° , 不可缺省,0xFFFFFFFF 表示异常**/
@Order(6) @Order(6)
@OffsetDef(value=0.0001,minValidLength=7) @OffsetDef(value=0.0001,minValidLength=7)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment