Merge branch 'dev_MogoAP_eagle-930_210926_8.0.12' into dev_MogoAP_eagle-1030_211020_8.0.14
# Conflicts: # core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/AutoPilotStatusView.kt # gradle.properties # modules/mogo-module-adas/build.gradle # modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasEventManager.java # modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasDataListener.java # services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java # services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
This commit is contained in:
@@ -4,6 +4,8 @@ import com.alibaba.android.arouter.facade.template.IProvider;
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters;
|
||||
import com.mogo.eagle.core.data.traffic.TrafficData;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.service.adas.entity.ADASRecognizedResult;
|
||||
import com.mogo.service.adas.entity.ADASTrajectoryInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -169,4 +171,15 @@ public interface IMogoADASController extends IProvider {
|
||||
*/
|
||||
void cancelAutopilot();
|
||||
|
||||
/**
|
||||
* 添加车前引导线回调
|
||||
* @param
|
||||
*/
|
||||
void addAdasTrajectoryDataCallBack(IMogoAdasTrajectoryDataCallBack callBack);
|
||||
/**
|
||||
* 移除车前引导线回调
|
||||
* @param
|
||||
*/
|
||||
void removeAdasTrajectoryDataCallBack(IMogoAdasTrajectoryDataCallBack callBack);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.mogo.service.adas;
|
||||
|
||||
import com.mogo.service.adas.entity.ADASTrajectoryInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IMogoAdasTrajectoryDataCallBack {
|
||||
void onAutopilotTrajectory(List<ADASTrajectoryInfo> trajectoryInfo);
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
package com.mogo.service.adas.entity;
|
||||
|
||||
|
||||
/**
|
||||
* @author song kenan
|
||||
* @des
|
||||
* @date 2021/10/21
|
||||
*/
|
||||
public class ADASTrajectoryInfo {
|
||||
//经度
|
||||
private Double lon;
|
||||
//纬度
|
||||
private Double lat;
|
||||
//高度
|
||||
private Double alt;
|
||||
//时间 秒s
|
||||
private Double time;
|
||||
//速度 m/s
|
||||
private Double velocity;
|
||||
//加速度
|
||||
private Double acceleration;
|
||||
//速度方向
|
||||
private Double theta;
|
||||
//曲率
|
||||
private Double kappa;
|
||||
//从起点到目前的总距离
|
||||
private Double accumulatedDis;
|
||||
|
||||
public void setLon(Double lon) {
|
||||
this.lon = lon;
|
||||
}
|
||||
|
||||
public void setLat(Double lat) {
|
||||
this.lat = lat;
|
||||
}
|
||||
|
||||
public void setAlt(Double alt) {
|
||||
this.alt = alt;
|
||||
}
|
||||
|
||||
public void setTime(Double time) {
|
||||
this.time = time;
|
||||
}
|
||||
|
||||
public void setVelocity(Double velocity) {
|
||||
this.velocity = velocity;
|
||||
}
|
||||
|
||||
public void setAcceleration(Double acceleration) {
|
||||
this.acceleration = acceleration;
|
||||
}
|
||||
|
||||
public void setTheta(Double theta) {
|
||||
this.theta = theta;
|
||||
}
|
||||
|
||||
public void setKappa(Double kappa) {
|
||||
this.kappa = kappa;
|
||||
}
|
||||
|
||||
public void setAccumulatedDis(Double accumulatedDis) {
|
||||
this.accumulatedDis = accumulatedDis;
|
||||
}
|
||||
|
||||
public Double getLon() {
|
||||
return lon;
|
||||
}
|
||||
|
||||
public Double getLat() {
|
||||
return lat;
|
||||
}
|
||||
|
||||
public Double getAlt() {
|
||||
return alt;
|
||||
}
|
||||
|
||||
public Double getTime() {
|
||||
return time;
|
||||
}
|
||||
|
||||
public Double getVelocity() {
|
||||
return velocity;
|
||||
}
|
||||
|
||||
public Double getAcceleration() {
|
||||
return acceleration;
|
||||
}
|
||||
|
||||
public Double getTheta() {
|
||||
return theta;
|
||||
}
|
||||
|
||||
public Double getKappa() {
|
||||
return kappa;
|
||||
}
|
||||
|
||||
public Double getAccumulatedDis() {
|
||||
return accumulatedDis;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TrajectoryModels{" +
|
||||
"lon=" + lon +
|
||||
", lat=" + lat +
|
||||
", alt=" + alt +
|
||||
", time='" + time + '\'' +
|
||||
", velocity=" + velocity +
|
||||
", acceleration=" + acceleration +
|
||||
", theta=" + theta +
|
||||
", kappa=" + kappa +
|
||||
", accumulatedDis=" + accumulatedDis +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,11 @@ package com.mogo.service.impl.adas;
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.os.SystemClock;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
@@ -27,7 +32,16 @@ import com.mogo.service.adas.IMogoAdasCarDataCallback;
|
||||
import com.mogo.service.adas.IMogoAdasDataCallback;
|
||||
import com.mogo.service.adas.IMogoAdasOCHCallback;
|
||||
import com.mogo.service.adas.IMogoAdasRouteCallBack;
|
||||
import com.mogo.service.adas.IMogoAdasTrajectoryDataCallBack;
|
||||
import com.mogo.service.adas.IMogoAdasWarnMessageCallback;
|
||||
import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters;
|
||||
import com.mogo.service.adas.entity.ADASCarStateInfo;
|
||||
import com.mogo.service.adas.entity.ADASRecognizedResult;
|
||||
import com.mogo.service.adas.entity.ADASTrajectoryInfo;
|
||||
import com.mogo.service.adas.entity.ADASWarnMessage;
|
||||
import com.mogo.eagle.core.data.autopilot.AdasOCHData;
|
||||
import com.mogo.service.adas.entity.CarModelListResponse;
|
||||
import com.mogo.service.datamanager.IMogoDataManager;
|
||||
import com.mogo.service.impl.singleton.SingletonsHolder;
|
||||
import com.mogo.service.statusmanager.IMogoStatusManager;
|
||||
import com.mogo.utils.UiThreadHandler;
|
||||
@@ -37,6 +51,13 @@ import com.zhidao.adasconfig.api.AdasConfigApiController;
|
||||
import com.zhidao.adasconfig.common.config.EnumCarHeading;
|
||||
import com.zhidao.adasconfig.common.config.EnumSkinStyle;
|
||||
import com.zhidao.autopilot.support.api.AutopilotServiceManage;
|
||||
import com.zhidao.autopilotservice.model.AdasAIDLAutopilotArriveModel;
|
||||
import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarRectModel;
|
||||
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 org.json.JSONObject;
|
||||
|
||||
@@ -78,6 +99,11 @@ public class MogoADASController implements IMogoADASController {
|
||||
*/
|
||||
private final List<IMogoAdasRouteCallBack> mMogoAdasRouteCallBacks = new CopyOnWriteArrayList<>();
|
||||
|
||||
/**
|
||||
* 车前引导线回调
|
||||
*/
|
||||
private final List<IMogoAdasTrajectoryDataCallBack> mMogoAdasTrajectoryDataCallBacks = new CopyOnWriteArrayList<>();
|
||||
|
||||
private IAdasDataListener mAdasDataListener;
|
||||
|
||||
private IMogoAdasCarDataCallback mMogoAdasCarDataCallback;
|
||||
@@ -170,6 +196,7 @@ public class MogoADASController implements IMogoADASController {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void autopilotArrive(AutopilotStationInfo autopilotArriveModel) {
|
||||
if (autopilotArriveModel == null) {
|
||||
@@ -187,6 +214,37 @@ public class MogoADASController implements IMogoADASController {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAutopilotTrajectory(List<TrajectoryInfo> trajectorys) {
|
||||
if(trajectorys != null && trajectorys.size() > 0){
|
||||
List<ADASTrajectoryInfo> trajectoryInfoArrayList = new ArrayList<>();
|
||||
// TrajectoryInfo t= trajectorys.get(0);
|
||||
Log.e("lianglihui","time:"+ System.currentTimeMillis());
|
||||
for (TrajectoryInfo trajectory : trajectorys){
|
||||
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());
|
||||
Log.e("lianglihui","trajectory:"+ trajectory.getLat()+"-"+trajectory.getLon());
|
||||
trajectoryInfoArrayList.add(adasTrajectoryInfo);
|
||||
}
|
||||
|
||||
for (IMogoAdasTrajectoryDataCallBack callBack: mMogoAdasTrajectoryDataCallBacks){
|
||||
if (callBack != null){
|
||||
callBack.onAutopilotTrajectory(trajectoryInfoArrayList);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void autopilotRoute(AutopilotRouteInfo autopilotRoute) {
|
||||
if (autopilotRoute.getModels() == null || autopilotRoute.getModels().size() == 0) {
|
||||
@@ -501,6 +559,23 @@ public class MogoADASController implements IMogoADASController {
|
||||
public void cancelAutopilot() {
|
||||
adasProvider.cancelPilot();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addAdasTrajectoryDataCallBack(IMogoAdasTrajectoryDataCallBack callBack) {
|
||||
if (callBack == null) {
|
||||
return;
|
||||
}
|
||||
if (!mMogoAdasTrajectoryDataCallBacks.contains(callBack)) {
|
||||
mMogoAdasTrajectoryDataCallBacks.add(callBack);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeAdasTrajectoryDataCallBack(IMogoAdasTrajectoryDataCallBack callBack) {
|
||||
if (callBack != null){
|
||||
mMogoAdasTrajectoryDataCallBacks.remove(callBack);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user