首次启动自驾参数传递
继续启动自驾
This commit is contained in:
@@ -16,6 +16,7 @@ import com.mogo.och.bridge.autopilot.line.LineManager
|
||||
import com.mogo.och.bridge.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.zhjt.mogo.adas.unmanned.task.dto.cmd.Trajectory
|
||||
import com.zhjt.mogo.adas.unmanned.task.dto.cmd.VehicleSite
|
||||
import java.util.concurrent.atomic.AtomicReference
|
||||
|
||||
object OchAutoPilotManager {
|
||||
@@ -117,15 +118,17 @@ object OchAutoPilotManager {
|
||||
return sessionId
|
||||
}
|
||||
|
||||
//TODO 任务管理继续
|
||||
// @JvmStatic
|
||||
// fun unmannedAutoPilotContinue(taskId: Long, traj: Trajectory, parameters: AutopilotControlParameters): Long {
|
||||
// val sessionId = CallerAutoPilotControlManager.unmannedAutoPilotContinue(taskId, traj, parameters)
|
||||
// globalSessionId.set(SessionWithTime(sessionId, System.currentTimeMillis(), -1L))
|
||||
// OchAutoPilotStatusListenerManager.fsmBackSessionId.set(-1L)
|
||||
// OchAutopilotAnalytics.triggerStartAutopilotParameters(traj, parameters, sessionId)
|
||||
// return sessionId
|
||||
// }
|
||||
/**
|
||||
* 继续启动自驾
|
||||
*/
|
||||
@JvmStatic
|
||||
fun unmannedAutoPilotContinue(taskId: Long, traj: Trajectory, vehicleSite : VehicleSite, parameters: AutopilotControlParameters): Long {
|
||||
val sessionId = CallerAutoPilotControlManager.unmannedAutoPilotContinue(taskId, traj,vehicleSite, parameters)
|
||||
globalSessionId.set(SessionWithTime(sessionId, System.currentTimeMillis(), -1L))
|
||||
OchAutoPilotStatusListenerManager.fsmBackSessionId.set(-1L)
|
||||
OchAutopilotAnalytics.triggerStartAutopilotParameters(traj, parameters, sessionId)
|
||||
return sessionId
|
||||
}
|
||||
/**
|
||||
* 启动自驾失败切 FSM返回的Session和启动SessionId 不同
|
||||
*/
|
||||
|
||||
@@ -678,8 +678,9 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
_lineInfos?.let { i ->
|
||||
val wayPoints = ArrayList<VehicleSite>()
|
||||
val blackPoints = ArrayList<VehicleSite>()
|
||||
i.siteInfos.forEach { site ->
|
||||
wayPoints.add(VehicleSite.builder()
|
||||
i.siteInfos.forEachIndexed { index, site ->
|
||||
if(index==0){
|
||||
wayPoints.add(VehicleSite.builder()
|
||||
.coordinateType(AutopilotCoordinateTypeEnum.WGS84.code)
|
||||
.point(AutopilotPoint.builder().x(site.lon).y(site.lat).build())
|
||||
.station(StationEnum.SITE.code)
|
||||
@@ -688,19 +689,20 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
.stationSeq(site.seq)
|
||||
.tag(site.tag)
|
||||
.build())
|
||||
site.passPoints?.forEach { p ->
|
||||
wayPoints.add(VehicleSite.builder()
|
||||
}else{
|
||||
site.passPoints?.forEach { p ->
|
||||
wayPoints.add(VehicleSite.builder()
|
||||
.coordinateType(AutopilotCoordinateTypeEnum.WGS84.code)
|
||||
.point(AutopilotPoint.builder().x(p.lon).y(p.lat).build())
|
||||
.station(StationEnum.SITE.code)
|
||||
.station(StationEnum.WAY.code)
|
||||
.stationId(p.siteId.toLong())
|
||||
.stationName(p.name)
|
||||
.stationSeq(p.seq)
|
||||
.tag(p.tag)
|
||||
.build())
|
||||
}
|
||||
site.blackPoints?.forEach { b ->
|
||||
blackPoints.add(VehicleSite.builder()
|
||||
}
|
||||
site.blackPoints?.forEach { b ->
|
||||
blackPoints.add(VehicleSite.builder()
|
||||
.coordinateType(AutopilotCoordinateTypeEnum.WGS84.code)
|
||||
.point(AutopilotPoint.builder().x(b.lon).y(b.lat).build())
|
||||
.station(StationEnum.SITE.code)
|
||||
@@ -709,6 +711,16 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
.stationSeq(b.seq)
|
||||
.tag(b.tag)
|
||||
.build())
|
||||
}
|
||||
wayPoints.add(VehicleSite.builder()
|
||||
.coordinateType(AutopilotCoordinateTypeEnum.WGS84.code)
|
||||
.point(AutopilotPoint.builder().x(site.lon).y(site.lat).build())
|
||||
.station(StationEnum.SITE.code)
|
||||
.stationId(site.siteId.toLong())
|
||||
.stationName(site.name)
|
||||
.stationSeq(site.seq)
|
||||
.tag(site.tag)
|
||||
.build())
|
||||
}
|
||||
}
|
||||
val traj = Trajectory.builder()
|
||||
@@ -722,7 +734,7 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
.wayPoints(wayPoints)
|
||||
.blackPoints(blackPoints)
|
||||
.build()
|
||||
val sessionId = unmannedStartAutoPilot(taskId, traj, parameters)
|
||||
val sessionId = OchAutoPilotManager.unmannedStartAutoPilot(taskId, traj, parameters)
|
||||
OchAutopilotAnalytics.triggerUpdateStartAutoPilotSessionId(sessionId, true)
|
||||
d(
|
||||
TAG,
|
||||
@@ -785,18 +797,41 @@ object LineManager : CallerBase<ILineCallback>() {
|
||||
return
|
||||
}
|
||||
_lineInfos?.let { i ->
|
||||
|
||||
//TODO 任务管理继续
|
||||
// val sessionId = unmannedAutoPilotContinue(taskId, traj, parameters)
|
||||
// OchAutopilotAnalytics.triggerUpdateStartAutoPilotSessionId(sessionId, true)
|
||||
d(
|
||||
startStation?.let { start->
|
||||
val wayPoints = ArrayList<VehicleSite>()
|
||||
val blackPoints = ArrayList<VehicleSite>()
|
||||
val vehicleSite = VehicleSite.builder()
|
||||
.coordinateType(AutopilotCoordinateTypeEnum.WGS84.code)
|
||||
.point(AutopilotPoint.builder().x(start.lon).y(start.lat).build())
|
||||
.station(StationEnum.SITE.code)
|
||||
.stationId(start.siteId.toLong())
|
||||
.stationName(start.name)
|
||||
.stationSeq(start.seq)
|
||||
.tag(start.tag)
|
||||
.build()
|
||||
wayPoints.add(vehicleSite)
|
||||
val traj = Trajectory.builder()
|
||||
.id(i.lineId)
|
||||
.name(i.lineName)
|
||||
.trajUrl(_contraiInfo!!.csvFileUrl)
|
||||
.trajMd5(_contraiInfo!!.csvFileMd5)
|
||||
.stopUrl(_contraiInfo!!.txtFileUrl)
|
||||
.stopMd5(_contraiInfo!!.txtFileMd5)
|
||||
.timestamp(_contraiInfo!!.contrailSaveTime)
|
||||
.wayPoints(wayPoints)
|
||||
.blackPoints(blackPoints)
|
||||
.build()
|
||||
val sessionId = OchAutoPilotManager.unmannedAutoPilotContinue(taskId, traj,vehicleSite, parameters)
|
||||
OchAutopilotAnalytics.triggerUpdateStartAutoPilotSessionId(sessionId, true)
|
||||
d(
|
||||
TAG,
|
||||
"无人化 行程日志-开启自动驾驶====" + GsonUtil.jsonFromObject(parameters)
|
||||
+ " startLatLon=" + parameters.startName + ",endLatLon=" + parameters.endName +
|
||||
"isRestart = " + isFirstStartAutopilot
|
||||
)
|
||||
M_LISTENERS.forEach {
|
||||
it.value.sendStartAutopilotSuccess()
|
||||
)
|
||||
M_LISTENERS.forEach {
|
||||
it.value.sendStartAutopilotSuccess()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,6 +247,8 @@ object OrderModel {
|
||||
if (CallerAutoPilotStatusListenerManager.getState() != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING
|
||||
) {
|
||||
LineManager.unmannedStartAutopilot(taskId ?: 0L, true)
|
||||
}else{
|
||||
LineManager.unmanneAutopilotContinue(taskId ?: 0L, false)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ import com.zhjt.mogo.adas.data.AdasConstants
|
||||
import com.zhjt.mogo.adas.data.bean.NodeStateInfo
|
||||
import com.zhjt.mogo.adas.data.sweeper.task.cloud.s_r.SweeperTaskCloudSuspendResume.BigTaskActionResp
|
||||
import com.zhjt.mogo.adas.unmanned.task.dto.cmd.Trajectory
|
||||
import com.zhjt.mogo.adas.unmanned.task.dto.cmd.VehicleSite
|
||||
import com.zhjt.service.chain.ChainLog
|
||||
import com.zhjt.service_biz.BizConfig
|
||||
import kotlinx.coroutines.launch
|
||||
@@ -106,17 +107,20 @@ object CallerAutoPilotControlManager {
|
||||
CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(controlParameters)
|
||||
return sessionId
|
||||
}
|
||||
//TODO 任务管理继续
|
||||
// fun unmannedAutoPilotContinue(trackId: Long, taskId: Long, stationId: Long, stationName: String, stationSeq: Int, lon: Double, lat: Double): Long {
|
||||
// if (traj == null) {
|
||||
// //LogUtils.eTag(TAG, "自动驾驶控制参数异常,请检查参数信息")
|
||||
// return -1L
|
||||
// }
|
||||
// val sessionId = providerApi?.sendTaskManagerAutopilotContinue(trackId, taskId, stationId, stationName, stationSeq, lon, lat) ?: -1L
|
||||
// // 更新记录在全局的控制参数
|
||||
// CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(controlParameters)
|
||||
// return sessionId
|
||||
// }
|
||||
|
||||
/**
|
||||
* 自驾成功后再次启动自驾时
|
||||
*/
|
||||
fun unmannedAutoPilotContinue(taskId: Long, traj: Trajectory?, vehicleSite : VehicleSite, controlParameters: AutopilotControlParameters): Long {
|
||||
if (traj == null) {
|
||||
//LogUtils.eTag(TAG, "自动驾驶控制参数异常,请检查参数信息")
|
||||
return -1L
|
||||
}
|
||||
val sessionId = providerApi?.sendTaskManagerAutopilotContinue(traj.id, taskId, vehicleSite.stationId, vehicleSite.stationName, vehicleSite.stationSeq, vehicleSite.point.x, vehicleSite.point.y) ?: -1L
|
||||
// 更新记录在全局的控制参数
|
||||
CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(controlParameters)
|
||||
return sessionId
|
||||
}
|
||||
/**
|
||||
* 启自驾前,是否要拦截
|
||||
* @param isShowTip true: 展示Toast+语音提示; false:不展示Toast+语音提示
|
||||
|
||||
Reference in New Issue
Block a user