From 6f3377ad419bda0c79efdcd33f8eacc6754c55cf Mon Sep 17 00:00:00 2001 From: Misheel Bayartsengel Date: Tue, 17 Sep 2024 17:15:24 -0400 Subject: [PATCH] add logs --- .github/workflows/dockerhub.yml | 1 + .../bridge/carla_integration/synchronization.py | 1 + .../resources/scenarios/Town04/scenario_config.json | 6 +++--- .../resources/scenarios/Town04/sumo/Town04.rou.xml | 2 ++ .../fed/carma/ambassador/CarmaInstanceManager.java | 13 +++++++------ .../carma/ambassador/CarmaMessageAmbassador.java | 8 ++++---- .../fed/sumo/ambassador/AbstractSumoAmbassador.java | 11 +++++++++++ .../mosaic/fed/sumo/ambassador/SumoAmbassador.java | 1 + .../sumo/traci/facades/TraciSimulationFacade.java | 9 +++++++++ docker/build-image.sh | 2 +- 10 files changed, 40 insertions(+), 14 deletions(-) diff --git a/.github/workflows/dockerhub.yml b/.github/workflows/dockerhub.yml index 09bf8bbf..5bf1507b 100644 --- a/.github/workflows/dockerhub.yml +++ b/.github/workflows/dockerhub.yml @@ -4,6 +4,7 @@ on: branches: - develop - master + - test/map_frame_pose - "release/*" tags: - "carma-system-*" diff --git a/co-simulation/bridge/carla_integration/synchronization.py b/co-simulation/bridge/carla_integration/synchronization.py index 8b346fdb..f74d963c 100644 --- a/co-simulation/bridge/carla_integration/synchronization.py +++ b/co-simulation/bridge/carla_integration/synchronization.py @@ -13,6 +13,7 @@ import glob import os import sys +import logging try: sys.path.append( diff --git a/co-simulation/bundle/src/assembly/resources/scenarios/Town04/scenario_config.json b/co-simulation/bundle/src/assembly/resources/scenarios/Town04/scenario_config.json index 03a52f54..09f4c3d1 100755 --- a/co-simulation/bundle/src/assembly/resources/scenarios/Town04/scenario_config.json +++ b/co-simulation/bundle/src/assembly/resources/scenarios/Town04/scenario_config.json @@ -9,8 +9,8 @@ "longitude": 0 }, "cartesianOffset": { - "x": 0, - "y": 0 + "x": 503.02, + "y": 423.76 } }, "network": { @@ -36,6 +36,6 @@ "carma": true, "infrastructure": true, "carma-cloud": true - + } } diff --git a/co-simulation/bundle/src/assembly/resources/scenarios/Town04/sumo/Town04.rou.xml b/co-simulation/bundle/src/assembly/resources/scenarios/Town04/sumo/Town04.rou.xml index a0aea789..1070654e 100644 --- a/co-simulation/bundle/src/assembly/resources/scenarios/Town04/sumo/Town04.rou.xml +++ b/co-simulation/bundle/src/assembly/resources/scenarios/Town04/sumo/Town04.rou.xml @@ -6,6 +6,8 @@ + + diff --git a/co-simulation/fed/mosaic-carma/src/main/java/org/eclipse/mosaic/fed/carma/ambassador/CarmaInstanceManager.java b/co-simulation/fed/mosaic-carma/src/main/java/org/eclipse/mosaic/fed/carma/ambassador/CarmaInstanceManager.java index e53d049b..86a7169e 100644 --- a/co-simulation/fed/mosaic-carma/src/main/java/org/eclipse/mosaic/fed/carma/ambassador/CarmaInstanceManager.java +++ b/co-simulation/fed/mosaic-carma/src/main/java/org/eclipse/mosaic/fed/carma/ambassador/CarmaInstanceManager.java @@ -96,8 +96,8 @@ public V2xMessageTransmission onV2XMessageTx(InetAddress sourceAddr, CarmaV2xMes sender.getCarlaRoleName(), sender.getLocation()).viaChannel(AdHocChannel.CCH); // TODO: Get maximum broadcast radius from configuration file. MessageRouting routing = messageRoutingBuilder.geoBroadCast(new GeoCircle(sender.getLocation(), 300)); - log.debug("Generating V2XMessageTransmission interaction sim time: {}, sender id: {}, location: {}, type: {}, payload: {}", - time, + log.debug("Generating V2XMessageTransmission interaction sim time: {}, sender id: {}, location: {}, type: {}, payload: {}", + time, sender.getCarmaVehicleId(), sender.getLocation(), txMsg.getType(), @@ -116,6 +116,7 @@ public void onVehicleUpdates(VehicleUpdates vui) { for (VehicleData veh : vui.getUpdated()) { if (managedInstances.containsKey(veh.getName())) { managedInstances.get(veh.getName()).setLocation(veh.getPosition()); + log.warn("On vehicle updates in carma instance manager, vehicle position, veh_name:{}, position {}", veh.getName(), veh.getPosition().toString()); } } } @@ -142,7 +143,7 @@ public void onV2XMessageRx(byte[] rxMsg, String rxVehicleId) { /** * This function is used to send out encoded timestep update to all registered * instances the manager has on the managed instances map - * + * * @param message This time message is used to store current seq and timestep * from the ambassador side * @throws IOException @@ -156,9 +157,9 @@ public void onTimeStepUpdate(TimeSyncMessage message) throws IOException { byte[] bytes = gson.toJson(message).getBytes(); for (CarmaInstance currentInstance : managedInstances.values()) { log.debug("Sending CARMA Platform instance {} at {}:{} time sync message for time {}!" , - currentInstance.getCarmaVehicleId(), - currentInstance.getTargetAddress(), - currentInstance.getTimeSyncPort(), + currentInstance.getCarmaVehicleId(), + currentInstance.getTargetAddress(), + currentInstance.getTimeSyncPort(), message.getTimestep()); currentInstance.sendTimeSyncMsg(bytes); } diff --git a/co-simulation/fed/mosaic-carma/src/main/java/org/eclipse/mosaic/fed/carma/ambassador/CarmaMessageAmbassador.java b/co-simulation/fed/mosaic-carma/src/main/java/org/eclipse/mosaic/fed/carma/ambassador/CarmaMessageAmbassador.java index 5215000c..f121ee46 100644 --- a/co-simulation/fed/mosaic-carma/src/main/java/org/eclipse/mosaic/fed/carma/ambassador/CarmaMessageAmbassador.java +++ b/co-simulation/fed/mosaic-carma/src/main/java/org/eclipse/mosaic/fed/carma/ambassador/CarmaMessageAmbassador.java @@ -110,7 +110,7 @@ public CarmaMessageAmbassador(AmbassadorParameter ambassadorParameter) { /** * This method is called to tell the federate the start time and the end time. - * + * * @param startTime Start time of the simulation run in nano seconds. * @param endTime End time of the simulation run in nano seconds. * @throws InternalFederateException Exception is thrown if an error is occurred @@ -182,10 +182,10 @@ public synchronized void processTimeAdvanceGrant(long time) throws InternalFeder // Time Syncmessage in nano seconds TimeSyncMessage timeSyncMessage = new TimeSyncMessage(currentSimulationTime, timeSyncSeq); carmaInstanceManager.onTimeStepUpdate(timeSyncMessage); - // Increment time + // Increment time currentSimulationTime += carmaConfiguration.updateInterval * TIME.MILLI_SECOND; timeSyncSeq += 1; - + rti.requestAdvanceTime(currentSimulationTime, 0, (byte) 2); } catch (IllegalValueException e) { log.error("Error during advanceTime(" + time + ")", e); @@ -197,7 +197,7 @@ public synchronized void processTimeAdvanceGrant(long time) throws InternalFeder log.error("Error during advanceTime(" + time + ")", e); throw new InternalFederateException(e); } - + } /** diff --git a/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/ambassador/AbstractSumoAmbassador.java b/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/ambassador/AbstractSumoAmbassador.java index 040d2ab7..39866996 100644 --- a/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/ambassador/AbstractSumoAmbassador.java +++ b/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/ambassador/AbstractSumoAmbassador.java @@ -490,6 +490,7 @@ protected void processInteractionAdvanced(Interaction interaction, long time) th throw new InternalFederateException( "Interaction time lies in the future:" + interaction.getTime() + ", current time:" + time); } + log.warn("Received interaction of type: {}",interaction.getTypeId()); if (interaction.getTypeId().equals(VehicleFederateAssignment.TYPE_ID)) { receiveInteraction((VehicleFederateAssignment) interaction); @@ -564,6 +565,7 @@ private synchronized void receiveInteraction(VehicleUpdates vehicleUpdates) thro vehicleState = externalVehicleMap.get(updatedVehicle.getName()); if (vehicleState != null) { vehicleState.setLastMovementInfo(updatedVehicle); + log.warn("Received interaction for externally simulated vehicle {} with position x {}, y {}", vehicleState.getLastMovementInfo().getProjectedPosition().getX(), vehicleState.getLastMovementInfo().getProjectedPosition().getY()); } } @@ -572,6 +574,7 @@ private synchronized void receiveInteraction(VehicleUpdates vehicleUpdates) thro traci.getSimulationControl().removeVehicle(removed, VehicleSetRemove.Reason.ARRIVED); } } + } /** @@ -1237,6 +1240,14 @@ public synchronized void processTimeAdvanceGrant(long time) throws InternalFeder log.trace("Leaving advance time: {}", time); removeExternalVehiclesFromUpdates(simulationStepResult.getVehicleUpdates()); propagateNewRoutes(simulationStepResult.getVehicleUpdates(), time); + log.warn("Updated vehicle list"); + List vehicle_data_list = simulationStepResult.getVehicleUpdates().getUpdated(); + for (int i =0; i < vehicle_data_list.size(); i++) + { + VehicleData veh_data = vehicle_data_list.get(i); + log.warn("Vehicle name: {}, geoPoint lat: {} lon: {}", veh_data.getName(), veh_data.getPosition().getLatitude(), veh_data.getPosition().getLongitude()); + log.warn("Vehicle name: {}, projectedPosition lat: {} lon: {}", veh_data.getName(), veh_data.getProjectedPosition().getX(), veh_data.getProjectedPosition().getY()); + } nextTimeStep += sumoConfig.updateInterval * TIME.MILLI_SECOND; simulationStepResult.getVehicleUpdates().setNextUpdate(nextTimeStep); diff --git a/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/ambassador/SumoAmbassador.java b/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/ambassador/SumoAmbassador.java index d72d676e..06b29ddf 100644 --- a/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/ambassador/SumoAmbassador.java +++ b/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/ambassador/SumoAmbassador.java @@ -190,6 +190,7 @@ private void receiveInteraction(VehicleRegistration interaction) { } else { log.debug("Won't subscribe to vehicle \"{}\".", vehicleId); } + log.warn("Received vehicle registration interaction for vehicle id: {}", vehicleId); } /** diff --git a/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/traci/facades/TraciSimulationFacade.java b/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/traci/facades/TraciSimulationFacade.java index 49357f5b..0118f50d 100644 --- a/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/traci/facades/TraciSimulationFacade.java +++ b/co-simulation/fed/mosaic-sumo/src/main/java/org/eclipse/mosaic/fed/sumo/traci/facades/TraciSimulationFacade.java @@ -62,6 +62,7 @@ import org.eclipse.mosaic.lib.objects.vehicle.VehicleSignals; import org.eclipse.mosaic.lib.objects.vehicle.sensor.DistanceSensor; import org.eclipse.mosaic.lib.objects.vehicle.sensor.RadarSensor; +import org.eclipse.mosaic.lib.transform.GeoProjection; import org.eclipse.mosaic.rti.TIME; import org.eclipse.mosaic.rti.api.InternalFederateException; @@ -368,6 +369,7 @@ public TraciSimulationStepResult simulateUntil(long time) throws InternalFederat for (AbstractSubscriptionResult subscriptionResult : subscriptions) { if (subscriptionResult instanceof VehicleSubscriptionResult) { veh = (VehicleSubscriptionResult) subscriptionResult; + log.warn("Got vehicle from subscription result, position x:{} y:{}", veh.position.getX(), veh.position.getY()); } else { continue; } @@ -392,6 +394,7 @@ public TraciSimulationStepResult simulateUntil(long time) throws InternalFederat } continue; } else { + log.warn("Constructing new vehicleData"); vehicleData = new VehicleData.Builder(time, veh.id) .position(veh.position.getGeographicPosition(), veh.position.getProjectedPosition()) .road(getRoadPosition(lastVehicleData, veh)) @@ -407,8 +410,14 @@ public TraciSimulationStepResult simulateUntil(long time) throws InternalFederat .create(); } + + this.lastVehicleData.put(vehicleData.getName(), vehicleData); + log.warn("{\"id\":{}, \"Latitude\":{}, \"Longitude\":{}, \"x\":{}, \"y\":{}}",vehicleData.getName(), vehicleData.getPosition().getLatitude(), vehicleData.getPosition().getLongitude(), vehicleData.getProjectedPosition().getX(), vehicleData.getProjectedPosition().getY()); + log.warn(vehicleData.getPosition().toString()); + log.warn("Test position to geo function: ", vehicleData.getProjectedPosition().toGeo().toString()); + updateVehicleLists(addedVehicles, updatedVehicles, removedVehicles, vehicleData); } diff --git a/docker/build-image.sh b/docker/build-image.sh index d81099c4..334abe7c 100755 --- a/docker/build-image.sh +++ b/docker/build-image.sh @@ -63,7 +63,7 @@ if [[ $COMPONENT_VERSION_STRING = "develop" ]]; then --build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg BUILD_DATE=`date -u +”%Y-%m-%dT%H:%M:%SZ”` . else - docker build --no-cache -t $USERNAME/$IMAGE:$COMPONENT_VERSION_STRING \ + docker build --progress=plain --no-cache -t $USERNAME/$IMAGE:$COMPONENT_VERSION_STRING \ --build-arg VERSION="$COMPONENT_VERSION_STRING" \ --build-arg VCS_REF=`git rev-parse --short HEAD` \ --build-arg BUILD_DATE=`date -u +”%Y-%m-%dT%H:%M:%SZ”` .