[8.0.0] ADAS LIB 障碍物轨迹预测2025(老版本完全废弃已移除);增加域控障碍物类型转换成鹰眼使用的障碍物类型方法;

This commit is contained in:
xinfengkun
2025-04-24 11:56:53 +08:00
parent 128df8a27f
commit 2ccf1a18f2
11 changed files with 176 additions and 47 deletions

View File

@@ -2,9 +2,11 @@ package com.mogo.eagle.core.function.call.autopilot
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotIdentifyListener
import com.mogo.eagle.core.function.call.base.CallerBase
import com.zhjt.mogo.adas.data.Adas
import mogo.telematics.pad.MessagePad
import mogo.v2x.*
import perception.FusionTrafficLightOuterClass
import prediction2025.Prediction2025
/**
* 域控制器感知数据
@@ -13,6 +15,33 @@ import perception.FusionTrafficLightOuterClass
*/
object CallerAutopilotIdentifyListenerManager : CallerBase<IMoGoAutopilotIdentifyListener>() {
private val typeMap: Map<Adas.TrackedObjectType, Adas.TrackedObjectClassID> = mapOf(
Adas.TrackedObjectType.TYPE_PEDESTRIAN to Adas.TrackedObjectClassID.Person,
Adas.TrackedObjectType.TYPE_MOTOR to Adas.TrackedObjectClassID.MotorCycle,
Adas.TrackedObjectType.TYPE_BICYCLE to Adas.TrackedObjectClassID.Bicycle,
Adas.TrackedObjectType.TYPE_CAR to Adas.TrackedObjectClassID.Car,
Adas.TrackedObjectType.TYPE_TRUCK to Adas.TrackedObjectClassID.Truck,
Adas.TrackedObjectType.TYPE_BUS to Adas.TrackedObjectClassID.Bus,
Adas.TrackedObjectType.TYPE_WARNINGTRIANGLE to Adas.TrackedObjectClassID.WarningTriangle,
Adas.TrackedObjectType.TYPE_ROADWORK_OCCUPY_0501 to Adas.TrackedObjectClassID.RoadWork_occupy_0501,
Adas.TrackedObjectType.TYPE_ROADWORK_BREAK_0502 to Adas.TrackedObjectClassID.RoadWork_break_0502,
Adas.TrackedObjectType.TYPE_ROAD_CONGESTION to Adas.TrackedObjectClassID.ROAD_CONGESTION
)
/**
* 域控障碍物类型转换成鹰眼使用的类型
*
* @param classType 域控障碍物类型目前只有Prediction2025.mPredictionObjects.objs_app.classtype 是域控的障碍物类型)
*/
fun trackedObjectTypeTransform(classType: Int): Int {
var type = Adas.TrackedObjectType.forNumber(classType)
if (type == null) {
type = Adas.TrackedObjectType.TYPE_UNKNOWN
}
val classId = typeMap[type] ?: Adas.TrackedObjectClassID.Unknown
return classId.number
}
/**
* 识别交通元素数据发生更新 回调
*/
@@ -24,6 +53,14 @@ object CallerAutopilotIdentifyListenerManager : CallerBase<IMoGoAutopilotIdentif
}
}
@Synchronized
fun invokePredictionObstacleTrajectory(predictionObjects: Prediction2025.mPredictionObjects) {
M_LISTENERS.forEach {
val listener = it.value
listener.onPredictionObstacleTrajectory(predictionObjects)
}
}
/**
* planning识别感知预警物体
*/