Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
p x
earlywarning
Commits
4a1d6d44
Commit
4a1d6d44
authored
Jul 30, 2025
by
p x
Browse files
添加8.8感知目标物
parent
0e908cdc
Changes
9
Show whitespace changes
Inline
Side-by-side
src/main/java/com/cusc/adas/v2x/assist/dto/PerceptualDto.java
0 → 100644
View file @
4a1d6d44
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
;
}
src/main/java/com/cusc/adas/v2x/assist/dto/PerceptualInfoDto.java
0 → 100644
View file @
4a1d6d44
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
;
}
}
src/main/java/com/cusc/adas/v2x/assist/dto/TrafficLightStatusDto.java
View file @
4a1d6d44
...
@@ -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
;
}
}
...
...
src/main/java/com/cusc/adas/v2x/assist/vo/AssistMessageBody.java
View file @
4a1d6d44
...
@@ -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
)
...
...
src/main/java/com/cusc/adas/v2x/assist/vo/Perceptual.java
0 → 100644
View file @
4a1d6d44
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
;
}
src/main/java/com/cusc/adas/v2x/assist/vo/PerceptualInfo.java
0 → 100644
View file @
4a1d6d44
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
;
}
}
src/main/java/com/cusc/adas/v2x/vo/DynamicsClassMap.java
View file @
4a1d6d44
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
);
}
}
...
...
src/main/java/com/cusc/adas/v2x/vo/FilterInfo.java
View file @
4a1d6d44
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
;
...
...
src/main/java/com/cusc/adas/v2x/vo/VehicleInfo.java
View file @
4a1d6d44
...
@@ -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
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment