[6.5.0][道路事件] 逻辑优化
This commit is contained in:
@@ -7,8 +7,11 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import androidx.test.filters.LargeTest
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.google.protobuf.ByteString
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters
|
||||
import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters.AutoPilotLine
|
||||
import com.mogo.eagle.core.data.config.FunctionBuildConfig
|
||||
import com.mogo.eagle.core.data.multidisplay.TelematicConstant
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotIdentifyListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationWGS84ListenerManager
|
||||
import com.mogo.eagle.core.function.call.autopilot.CallerV2nNioEventListenerManager
|
||||
@@ -125,6 +128,9 @@ class V2NTest {
|
||||
val polygon = generateTriangle(point.first, point.second, car.heading, r * 1e-5)
|
||||
val data = TrackedObject.getDefaultInstance().toBuilder().setType(13).setLongitude(point.first).setLatitude(point.second).setAltitude(0.0).setSystemTime(System.currentTimeMillis() * 1.0 / 1000).setSatelliteTime(1.0).setUuid(10).setCarID("1").setColor("#ffffff").setHeading(car.heading).setSpeed(0.0).setDrawLevel(1).setDriverTime(1.0).setCameraIp("172.18.7.40").setVideoUrl("").addAllImageUrl(Collections.singletonList("http://www.baidu.com")).addAllPolygon(polygon.map { Location.getDefaultInstance().toBuilder().setLongitude(it.first).setLatitude(it.second).setAltitude(0.0).setHeading(0.0).setStation(false).build() }).setDetectStartTime(System.currentTimeMillis()).setV2XUuid("xxxxx1").setStrUuid("xxxxx2").build()
|
||||
val trafficData = Collections.singletonList(data)
|
||||
CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(AutopilotControlParameters().also {
|
||||
it.autoPilotLine = AutoPilotLine(10L, "", "","", "", System.currentTimeMillis(), "")
|
||||
})
|
||||
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_AI_ROAD_SHI_GU, data.toByteArray())
|
||||
CallerAutopilotIdentifyListenerManager.invokeAutopilotIdentifyDataUpdate(trafficData)
|
||||
delay(TimeUnit.MINUTES.toMillis(10))
|
||||
@@ -185,6 +191,9 @@ class V2NTest {
|
||||
delay(2000)
|
||||
val data = V2nCrossSpeed.getDefaultInstance().toBuilder().setSpeedLeftMin(0).setSpeedLeftMax(0).setSpeedRightMin(0).setSpeedRightMax(0).setSpeedStraightMin(30).setSpeedStraightMax(54).setMaxSpeed(0).setMaxStatus(0).setLng(newPoint.first).setLat(newPoint.second).build()
|
||||
CallerV2nNioEventListenerManager.invokeV2nNioGreenWavePassageEvent(data)
|
||||
CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(AutopilotControlParameters().also {
|
||||
it.autoPilotLine = AutoPilotLine(10L, "", "","", "", System.currentTimeMillis(), "")
|
||||
})
|
||||
while (!CallerTelematicManager.getServerStarted()) {
|
||||
Log.d(TAG , "乘客屏未连接, 2秒后重试...")
|
||||
delay(2000)
|
||||
@@ -202,21 +211,6 @@ class V2NTest {
|
||||
if (millis > 0) {
|
||||
delay(millis)
|
||||
}
|
||||
val targetX = arguments.getString("lon", "0").toDouble()
|
||||
val targetY = arguments.getString("lat", "0").toDouble()
|
||||
val targetHeading = arguments.getString("angle", "0").toDouble()
|
||||
val targetDistance = arguments.getString("distance", "0").toDouble()
|
||||
var car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
var distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY)
|
||||
Log.d(TAG, "target_distance: $targetDistance, current distance: $distance")
|
||||
while (distance > targetDistance) {
|
||||
delay(2000)
|
||||
car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY)
|
||||
}
|
||||
Log.d(TAG, "2 -- > target_distance: $targetDistance, current distance: $distance")
|
||||
var newPoint = DrivingDirectionUtils.calculateNewPoint(targetX, targetY, targetHeading, targetDistance)
|
||||
Log.d(TAG, "location:[x:${targetX}, y:${targetY}, new_location:[x:${newPoint.first}, y:${newPoint.second}]")
|
||||
FunctionBuildConfig.isNewV2NData = true
|
||||
FunctionBuildConfig.v2nMainSwitch = true
|
||||
runCatching {
|
||||
@@ -228,13 +222,34 @@ class V2NTest {
|
||||
}
|
||||
|
||||
delay(2000)
|
||||
val targetX = arguments.getString("lon", "0").toDouble()
|
||||
val targetY = arguments.getString("lat", "0").toDouble()
|
||||
val targetHeading = arguments.getString("angle", "0").toDouble()
|
||||
val targetDistance = arguments.getString("distance", "0").toDouble()
|
||||
val eventDistance = arguments.getString("event_distance", "60").toDouble()
|
||||
var car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
var distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY)
|
||||
Log.d(TAG, "target_distance: $targetDistance, current distance: $distance")
|
||||
while (distance > targetDistance) {
|
||||
delay(2000)
|
||||
Log.d(TAG, "target_distance: $targetDistance, current distance: $distance")
|
||||
car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY)
|
||||
}
|
||||
Log.d(TAG, "2 -- > target_distance: $targetDistance, current distance: $distance")
|
||||
car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
var newPoint = DrivingDirectionUtils.calculateNewPoint(car.longitude, car.latitude, car.heading , eventDistance)
|
||||
Log.d(TAG, "location:[x:${targetX}, y:${targetY}, new_location:[x:${newPoint.first}, y:${newPoint.second}]")
|
||||
val eventId = "xxxxxxxxxxxxx"
|
||||
CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(AutopilotControlParameters().also {
|
||||
it.autoPilotLine = AutoPilotLine(10L, "", "","", "", System.currentTimeMillis(), "")
|
||||
})
|
||||
for (i in 0 until 500) {
|
||||
val data = MessagePad.Event.getDefaultInstance().toBuilder().setLongitude(newPoint.first).setLatitude(newPoint.second).setEventId(eventId).setTimestamp(System.currentTimeMillis()).addAllTargetIds(emptyList()).addTargetIdsBytes(ByteString.EMPTY).addTargetIds("0").setExts("{ \"cameraIp\": \"172.18.7.40\",\"eventExtUnits\":[{\"heading\":266.5414733886719,\"uuid\":\"e440951e-5eb6-4091-8560-72a5d8aaf229\"}] }").build()
|
||||
val data = MessagePad.Event.getDefaultInstance().toBuilder().setLongitude(newPoint.first).setLatitude(newPoint.second).setGnssType(2).setEventId(eventId).setTimestamp(System.currentTimeMillis()).addAllTargetIds(emptyList()).addTargetIdsBytes(ByteString.EMPTY).addTargetIds("0").setExts("{ \"cameraIp\": \"172.18.7.40\",\"eventExtUnits\":[{\"heading\":266.5414733886719,\"uuid\":\"e440951e-5eb6-4091-8560-72a5d8aaf229\"}] }").build()
|
||||
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_AI_ROAD_PEOPLE_CROSS, data.toByteArray())
|
||||
CallerV2nNioEventListenerManager.invokeV2nNioCrossoverEvent(data)
|
||||
delay(50)
|
||||
newPoint = DrivingDirectionUtils.calculateNewPoint(targetX, targetY, targetHeading, 1.0)
|
||||
newPoint = DrivingDirectionUtils.calculateNewPoint(newPoint.first, newPoint.second, targetHeading, 0.1)
|
||||
}
|
||||
delay(TimeUnit.MINUTES.toMillis(10))
|
||||
}
|
||||
@@ -246,21 +261,6 @@ class V2NTest {
|
||||
if (millis > 0) {
|
||||
delay(millis)
|
||||
}
|
||||
val targetX = arguments.getString("lon", "0").toDouble()
|
||||
val targetY = arguments.getString("lat", "0").toDouble()
|
||||
val targetHeading = arguments.getString("angle", "0").toDouble()
|
||||
val targetDistance = arguments.getString("distance", "0").toDouble()
|
||||
var car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
var distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY)
|
||||
Log.d(TAG, "target_distance: $targetDistance, current distance: $distance")
|
||||
while (distance > targetDistance) {
|
||||
delay(2000)
|
||||
car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY)
|
||||
}
|
||||
Log.d(TAG, "2 -- > target_distance: $targetDistance, current distance: $distance")
|
||||
var newPoint = DrivingDirectionUtils.calculateNewPoint(targetX, targetY, targetHeading, targetDistance)
|
||||
Log.d(TAG, "location:[x:${targetX}, y:${targetY}, new_location:[x:${newPoint.first}, y:${newPoint.second}]")
|
||||
FunctionBuildConfig.isNewV2NData = true
|
||||
FunctionBuildConfig.v2nMainSwitch = true
|
||||
runCatching {
|
||||
@@ -271,13 +271,34 @@ class V2NTest {
|
||||
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_NEW_LINK_SWITCH, GsonUtils.toJson(map).toByteArray())
|
||||
}
|
||||
delay(2000)
|
||||
val targetX = arguments.getString("lon", "0").toDouble()
|
||||
val targetY = arguments.getString("lat", "0").toDouble()
|
||||
val targetHeading = arguments.getString("angle", "0").toDouble()
|
||||
val targetDistance = arguments.getString("distance", "0").toDouble()
|
||||
val eventDistance = arguments.getString("event_distance", "60").toDouble()
|
||||
var car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
var distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY)
|
||||
Log.d(TAG, "target_distance: $targetDistance, current distance: $distance")
|
||||
while (distance > targetDistance) {
|
||||
delay(2000)
|
||||
Log.d(TAG, "target_distance: $targetDistance, current distance: $distance")
|
||||
car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
distance = CoordinateUtils.calculateLineDistance(car.longitude, car.latitude, targetX, targetY)
|
||||
}
|
||||
car = CallerChassisLocationWGS84ListenerManager.getChassisLocationWGS84()
|
||||
Log.d(TAG, "2 -- > target_distance: $targetDistance, current distance: $distance")
|
||||
var newPoint = DrivingDirectionUtils.calculateNewPoint(car.longitude, car.latitude, car.heading , eventDistance)
|
||||
Log.d(TAG, "location:[x:${targetX}, y:${targetY}, new_location:[x:${newPoint.first}, y:${newPoint.second}]")
|
||||
val eventId = "yyyyyyyyyyyyy"
|
||||
CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(AutopilotControlParameters().also {
|
||||
it.autoPilotLine = AutoPilotLine(10L, "", "","", "", System.currentTimeMillis(), "")
|
||||
})
|
||||
for (i in 0 until 500) {
|
||||
val data = MessagePad.Event.getDefaultInstance().toBuilder().setLongitude(newPoint.first).setLatitude(newPoint.second).setEventId(eventId).setTimestamp(System.currentTimeMillis()).addAllTargetIds(emptyList()).addTargetIdsBytes(ByteString.EMPTY).setGnssType(2).addTargetIds("0").setExts("{ \"cameraIp\": \"172.18.7.40\",\"eventExtUnits\":[{\"heading\":266.5414733886719,\"uuid\":\"e440951e-5eb6-4091-8560-72a5d8aaf229\"}] }").build()
|
||||
CallerTelematicManager.sendMsgToAllClients(TelematicConstant.V2N_AI_ROAD_OTHER_RETROGRADE_VEHICLE, data.toByteArray())
|
||||
CallerV2nNioEventListenerManager.invokeV2nNioOtherRetrogradeEvent(data)
|
||||
delay(50)
|
||||
newPoint = DrivingDirectionUtils.calculateNewPoint(targetX, targetY, targetHeading, 1.0)
|
||||
newPoint = DrivingDirectionUtils.calculateNewPoint(newPoint.first, newPoint.second, targetHeading, 1.0)
|
||||
}
|
||||
delay(TimeUnit.MINUTES.toMillis(10))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user