合并dev_MogoAP_eagle-930_210926_8.0.12分支,并将规划全局路径以及引导线按照新架构中的监听合并,测试可用,在工控机上执行sh roadPlanning.sh 使用带有引导线的数据包

Signed-off-by: 董宏宇 <martindhy@gmail.com>
This commit is contained in:
董宏宇
2021-10-28 15:25:26 +08:00
parent 02f5f7cbee
commit a70eed4475
20 changed files with 377 additions and 471 deletions

View File

@@ -3,9 +3,8 @@ package com.mogo.module.adas;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import android.util.Log;
import com.google.gson.Gson;
import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotCarStateInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotGuardianStatusInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo;
@@ -14,8 +13,10 @@ import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage;
import com.mogo.eagle.core.data.config.FunctionBuildConfig;
import com.mogo.eagle.core.data.traffic.TrafficData;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningListener;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager;
import com.mogo.eagle.core.utilcode.util.ThreadUtils;
import com.mogo.module.adas.model.AdasServiceModel;
import com.mogo.module.common.drawer.IdentifyDataDrawer;
@@ -24,22 +25,9 @@ import com.mogo.utils.network.utils.GsonUtil;
import com.zhidao.autopilotservice.model.AdasAIDLAutopilotStateModel;
import com.zhidao.support.adas.high.AdasManager;
import com.zhidao.support.adas.high.OnAdasMsgConnectStatusListener;
import com.zhidao.support.adas.high.bean.AutopilotRoute;
import com.zhidao.support.adas.high.bean.AutopilotStatus;
import com.zhidao.support.adas.high.bean.AutopilotWayArrive;
import com.zhidao.support.adas.high.bean.CarLaneInfo;
import com.zhidao.support.adas.high.bean.CarStateInfo;
import com.zhidao.support.adas.high.bean.LightStatueInfo;
import com.zhidao.support.adas.high.bean.ObstaclesInfo;
import com.zhidao.support.adas.high.bean.RectInfo;
import com.zhidao.support.adas.high.bean.TrajectoryInfo;
import com.zhidao.support.adas.high.bean.WarnMessageInfo;
import com.zhidao.support.adas.high.bean.guardian.AutopilotGuardianInfo;
import com.zhidao.support.adas.high.common.MsgActionType;
import com.zhidao.support.obu.ami.AmiClientManager;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import io.reactivex.Flowable;
@@ -51,7 +39,8 @@ import io.reactivex.schedulers.Schedulers;
*/
public class AdasEventManager implements
OnAdasMsgConnectStatusListener,
IMoGoAutopilotStatusListener {
IMoGoAutopilotStatusListener,
IMoGoAutopilotPlanningListener {
private final String TAG = "AdasEventManager";
@@ -73,6 +62,7 @@ public class AdasEventManager implements
private AdasEventManager() {
gson = GsonUtil.getGson();
CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, this);
CallerAutopilotPlanningListenerManager.INSTANCE.addListener(TAG, this);
}
public static AdasEventManager getInstance() {
@@ -118,18 +108,6 @@ public class AdasEventManager implements
}
@Override
public void onAutopilotTrajectory(List<TrajectoryInfo> trajectoryList) {
// Log.e("lianglihui","adas onAutopilotTrajectory");
if(trajectoryList != null && trajectoryList.size() >0){
for (IAdasDataListener listener : iAdasEventListeners) {
if (listener != null) {
listener.onAutopilotTrajectory(trajectoryList);
}
}
}
}
@Override
public void onAutopilotSNRequest() {
if (providerBizListener != null) {
@@ -139,11 +117,6 @@ public class AdasEventManager implements
}
}
@Override
public void onAutopilotGuardian(AutopilotGuardianInfo guardianInfo) {
}
@Override
public void onWebSocketConnectSuccess() {
Logger.d(TAG, "webSocket 连接成功");
@@ -237,7 +210,6 @@ public class AdasEventManager implements
}
//can数据转发
AutopilotCarStateInfo.ValuesBean bean = autoPilotCarStateInfo.getValues();
if (bean != null) {
@@ -246,18 +218,6 @@ public class AdasEventManager implements
}
}
@Override
public void onAutopilotRoute(@Nullable AutopilotRouteInfo autopilotRoute) {
if (autopilotRoute.getModels() == null || autopilotRoute.getModels().size() == 0) {
Logger.d(TAG, "onAutopilotRoute is null !");
return;
}
for (IAdasDataListener listener : iAdasEventListeners) {
if (listener != null) {
listener.autopilotRoute(autopilotRoute);
}
}
}
@Override
public void onAutopilotGuardian(@Nullable AutopilotGuardianStatusInfo guardianInfo) {
@@ -265,7 +225,7 @@ public class AdasEventManager implements
}
@Override
public void onAutopilotIdentifyDataUpdate(@Nullable List<TrafficData> trafficData) {
public void onAutopilotIdentifyDataUpdate(@Nullable ArrayList<TrafficData> trafficData) {
try {
if (trafficData == null) {
IdentifyDataDrawer.getInstance().clearOldMarker();
@@ -294,4 +254,30 @@ public class AdasEventManager implements
}
}
}
@Override
public void onAutopilotTrajectory(ArrayList<ADASTrajectoryInfo> trajectoryInfo) {
if (trajectoryInfo != null && trajectoryInfo.size() > 0) {
for (IAdasDataListener listener : iAdasEventListeners) {
if (listener != null) {
listener.onAutopilotTrajectory(trajectoryInfo);
}
}
}
}
@Override
public void onAutopilotRotting(@Nullable AutopilotRouteInfo autopilotRoute) {
if (autopilotRoute.getModels() == null || autopilotRoute.getModels().size() == 0) {
Logger.d(TAG, "onAutopilotRoute is null !");
return;
}
for (IAdasDataListener listener : iAdasEventListeners) {
if (listener != null) {
listener.autopilotRoute(autopilotRoute);
}
}
}
}

View File

@@ -1,6 +1,5 @@
package com.mogo.module.adas
import android.util.Log
import com.mogo.eagle.core.data.autopilot.AutopilotCarStateInfo
import com.mogo.eagle.core.data.autopilot.AutopilotGuardianStatusInfo
import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo
@@ -13,7 +12,6 @@ import com.zhidao.support.adas.high.bean.CarStateInfo
import com.zhidao.support.adas.high.bean.RectInfo.RectBean
import com.zhidao.support.adas.high.bean.WarnMessageInfo
import com.zhidao.support.adas.high.bean.guardian.AutopilotGuardianInfo
import java.util.*
/**
* @author congtaowang
@@ -62,11 +60,11 @@ object AdasObjectUtils {
return warnMessage
}
fun regroupTrafficDataData(datums: List<RectBean?>?): List<TrafficData>? {
fun regroupTrafficDataData(datums: List<RectBean?>?): ArrayList<TrafficData>? {
if (datums == null || datums.isEmpty()) {
return null
}
val recognizedListResults: MutableList<TrafficData> = ArrayList()
val recognizedListResults: ArrayList<TrafficData> = ArrayList()
for (model in datums) {
if (model == null) {
continue

View File

@@ -1,19 +1,12 @@
package com.mogo.module.adas;
import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotStationInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage;
import com.mogo.module.adas.entity.WarnMessageModel;
import com.zhidao.autopilotservice.model.AdasAIDLAutopilotArriveModel;
import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarRectModel;
import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarStateModel;
import com.zhidao.support.adas.high.bean.AutopilotRoute;
import com.zhidao.support.adas.high.bean.AutopilotStatus;
import com.zhidao.support.adas.high.bean.RectInfo;
import com.zhidao.support.adas.high.bean.TrajectoryInfo;
import com.zhidao.support.adas.high.bean.WarnMessageInfo;
import java.util.ArrayList;
import java.util.List;
@@ -65,8 +58,7 @@ public interface IAdasDataListener {
* 车前引导路径回调
* @param trajectory
*/
default void onAutopilotTrajectory(List<TrajectoryInfo> trajectory) {
default void onAutopilotTrajectory(ArrayList<ADASTrajectoryInfo> trajectory) {
}

View File

@@ -1,5 +1,8 @@
package com.mogo.module.adas;
import android.util.Log;
import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotCarStateInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotGuardianStatusInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo;
@@ -8,6 +11,7 @@ import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo;
import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage;
import com.mogo.eagle.core.data.traffic.TrafficData;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager;
import com.mogo.utils.logger.Logger;
import com.zhidao.support.adas.high.AdasManager;
import com.zhidao.support.adas.high.OnAdasListener;
@@ -24,6 +28,7 @@ import com.zhidao.support.adas.high.bean.WarnMessageInfo;
import com.zhidao.support.adas.high.bean.guardian.AutopilotGuardianInfo;
import com.zhidao.support.obu.ami.AmiClientManager;
import java.util.ArrayList;
import java.util.List;
/**
@@ -37,7 +42,7 @@ public class OnAdasListenerAdapter implements OnAdasListener {
@Override
public void onRectData(RectInfo rectInfo) {
List<TrafficData> recognizedListResults = AdasObjectUtils.INSTANCE.regroupTrafficDataData(rectInfo.getModels());
ArrayList<TrafficData> recognizedListResults = AdasObjectUtils.INSTANCE.regroupTrafficDataData(rectInfo.getModels());
CallerAutoPilotStatusListenerManager.INSTANCE.invokeAutopilotIdentifyDataUpdate(recognizedListResults);
}
@@ -95,12 +100,29 @@ public class OnAdasListenerAdapter implements OnAdasListener {
public void onAutopilotRoute(AutopilotRoute route) {
Logger.d(TAG, "onAutopilotRoute : " + route.toString());
AutopilotRouteInfo autopilotRoute = AdasObjectUtils.INSTANCE.fromAdasAutopilotRoute(route);
CallerAutoPilotStatusListenerManager.INSTANCE.invokeAutopilotRoute(autopilotRoute);
CallerAutopilotPlanningListenerManager.INSTANCE.invokeAutopilotRotting(autopilotRoute);
}
@Override
public void onAutopilotTrajectory(List<TrajectoryInfo> trajectoryList) {
ArrayList<ADASTrajectoryInfo> trajectoryInfoArrayList = new ArrayList<>();
if (trajectoryList != null && trajectoryList.size() > 0) {
for (TrajectoryInfo trajectory : trajectoryList) {
ADASTrajectoryInfo adasTrajectoryInfo = new ADASTrajectoryInfo();
adasTrajectoryInfo.setLat(trajectory.getLat());
adasTrajectoryInfo.setLon(trajectory.getLon());
adasTrajectoryInfo.setAcceleration(trajectory.getAcceleration());
adasTrajectoryInfo.setAccumulatedDis(trajectory.getAccumulatedDis());
adasTrajectoryInfo.setTime(trajectory.getTime());
adasTrajectoryInfo.setVelocity(trajectory.getVelocity());
adasTrajectoryInfo.setAlt(trajectory.getAlt());
adasTrajectoryInfo.setKappa(trajectory.getKappa());
adasTrajectoryInfo.setTheta(trajectory.getTheta());
trajectoryInfoArrayList.add(adasTrajectoryInfo);
}
Log.e(TAG, "time:" + System.currentTimeMillis() + "trajectoryInfoArrayList:" + trajectoryInfoArrayList);
}
CallerAutopilotPlanningListenerManager.INSTANCE.invokeAutopilotTrajectory(trajectoryInfoArrayList);
}
@Override