You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
🚀 New Features
New scenarios:
InvadingTurn: vehicles at the opposite direction lane partially invade the ego's one, forcing it to leave space for them,moving slightly off-center.
EnterActorFlow: the ego has to enter a highway lane filled with incoming traffic
MergerIntoslowtraffic. variation of EnterActorFlow but with slow traffic.
InterurbanActorFlow and InterurbanAdvancedActorFlow: actor flow scenarios for the new interurban intersections with dedicated lanes present at Town12 and Town13.
Accident: the ego is met with an accident, forcing it to lane change to avoid it.
AccidentTwoWays: same as Accident but having to invade an opposite direction lane.
ParkedObstacle: similar to Accident but with a parked obstacle instead.
ParkedObstacleTwoWays: same as ParkedObstacle but having to invade an opposite direction lane.
HazardAtSideLane: similar to Accident but with a moving group of bicycles in the rightmost park of the lane
HazardAtSideLaneTwoWays: same as HazardAtSideLane but having to invade an opposite direction lane.
ConstructionObstacleTwoWays: same as ConstructionObstacle but having to invade an opposite direction lane.
VehicleOpensDoorTwoWays: similar to Accident but this time the blockage is cause by a vehicle opening its door.
StaticCutIn: the ego is meant with an adversary that exits a stopped lane, cutting in front of the ego.
ParkingCutIn: similar to StaticCutIn but the adversary starts at a parking lane.
HighwayCutIn: the ego is met with a vehicle that tries to enter the highway by cutting in front of it.
ParkingExit: Only usable at the beginning of the routes, makes the ego start at a parking lane.
HardBreakRoute: uses the BackgroundActivity to make all vehicles in front of the ego hard break.
YieldToEmergencyVehicle: the ego finds an emergency vehicle behind, having to lane chane to give way.
VehicleTurningRoutePedestrian: variation of VehicleTurningRoute but with a pedestrian crossing instead of a bycicle.
BlockedIntersection: with low visibility, the ego performs a turn only to find out that the end is blocked by another vehicle.
CrossingBicycleFlow: the ego has to do a turn at an intersection but it has to cross a bycicle lane full of traffic.
PedestrianCrossing: a group of pedestrians crossing a crosswalk. Easier version of DynamicObjectCrossing with no occluder.
ParkingCrossingPedestrian: variation of DynamicObjectCrossing, but using a parked vehicle as the occluder.
OppositeVehicleTakingPriority: variation of OppositeVehicleRunningRedLight but without traffic lights.
NonSignalizedJunctionLeftTurn: variation of SignalizedJunctionLeftTurn but without traffic lights.
NonSignalizedJunctionRightTurn: variation of SignalizedJunctionRightTurn but without traffic lights.
PriorityAtJunction: utility scenario during routes to add a green traffic light at the next intersection.
NoSignalJunctionCrossingRoute: Does nothing but wait for the ego to exit an intersection.
Improvements to old scenarios:
ControlLoss: Added actual noise to the ego's control (currently only during routes).
All VehicleTurning variations: more robustness and better synchronization.
OppositeVehicleRunningRedLight: Improvement synchronization and the opposite vehicle's behavior.
SignalizedJunctionLeftTurn: it is now an actor flow that ego has to cross.
SignalizedJunctionRightTurn. it is now an actor flow that the ego has to merge into.
Renamed ConstructionSetupCrossing to ConstructionObstacle, and prepared it for routes.
Improvements to the CarlaDataProvider:
Added a lock when checking the dictionaries to avoid issues in multithreading
Added the transform argument to all register function to avoid returning None during the first frame
Added the get_global_route_planner and get_all_actors to avoid repeating these costly calls more than necessary
Added set_runtime_init_mode and is_runtime_init_mode, used by the Leaderboard to initialize scenarios during the simulation
At the create_blueprint function, replaced the safe argument with the attribute_filter, for a more generic parsing of any of the blueprint attributes.
Removed the CarlaDataProvider.get_ego_vehicle_route() and CarlaDataProvider.set_ego_vehicle_route() functions as this is now information available to all scenarios.
Improvements to the routes:
Scenarios are no longer position based, but instead part of a route's xml.
Routes now also include the criteria of its scenarios.
waypoint have been renamed to position and are part of the waypoints category.
More than one weather are allowed, creating a dynamic one based on the ego vehicle's completed percentage of the route.
Changed the timeout to also be dependent on the distance driven by the ego vehicle.
Added the RouteLightsBehavior to control of all scene and vehicle lights during runtime
Added a new criteria for routes, CheckMinSpeed, that checks the ego's speed and compares it with the rest of the traffic
Separated the route argument into two, route for the file path, and route-id, for the name of route. the functionality remains unchanged.
Simplified the overall parsing.
The BackgroundActivity part of the routes has been completely remade, with the objective of creating the sensation of traffic around the ego will increasing the performance
Added a Backgroundmanager to interact with the new BackgroundActivity, to allow it to adapt to incoming scenarios
Added new atomic behaviors:
SyncArrivalWithAgent
CutIn
AddNoiseToRouteEgo
ConstantVelocityAgentBehavior
AdaptiveConstantVelocityAgentBehavior
WaitForever
BatchActorTransformSetter
OppositeActorFlow
InvadingActorFlow
BicycleFlow
OpenVehicleDoor
SwitchWrongDirectionTest
SwitchMinSpeedCriteria
WalkerFlow
AIWalkerBehavior
ScenarioTimeout
MovePedestrianWithEgo
Improved the Criterion class for a more comprehensive base criteria and easier use in the results_writer class.
Added new atomic criteria:
MinimumSpeedRouteTest
YieldToEmergencyVehicleTest
ScenarioTimeoutTest
Added new atomic trigger conditions
WaitUntilInFrontPosition
Merged the Scenario class into the BasicScenario one.
Scenarios can now have parameters as part of the their xml definition, which is saved as a dictionary at config.other_parameters
Simplified and improved how routes are parsed.
Added the wait-for-repetitions argument at the manual control for a smoother transition between scenarios / repetitions
Updated numpy's version to avoid issues with newer version of Python 3
🐛 Bug Fixes
Fixed bug at OtherLeadingVehicle scenario causing the vehicles to move faster than intended
Fixed bug causing some debris at ControlLoss scenario to be floating, instead of at ground level