Skip to content

CARLA Scenario Runner 0.9.10

Compare
Choose a tag to compare
@fabianoboril fabianoboril released this 30 Sep 14:40
· 130 commits to master since this release
0ff0ebe

🚀 New Features

  • Renamed some agent labels inside Jenkins CI pipelines for new standard proposals.

  • Added support for Jenkins CI pipelines doing automated testing and docker images creation.

  • Very important: CarlaActorPool has been removed and all its functions moved to the CarlaDataProvider:

    • The spawning functions have been refactored. All the setup functions have been removed, and its functionalities moved to their request counterparts. For example, previously request_new_actor just called setup_actor, but now setup_actor no longer exists, and the spawning is done via request_new_actor. They have also been unified and are now more consistent.
    • Changed ActorConfiguration to ActorConfigurationData.parse_from_node
    • Renamed the map element at routes to town, matching the scenario configuration files
  • Added new environment variables needed. They can be seen at (Docs/getting_scenariorunner.md).

  • Improved the visual display of the information from the output and file arguments.

  • Routes are now deterministic in regards to the spawning scenarios when more than one are at the same location

  • The BackgroundActivity functionality has been unchanged but some tweaks have been made, fixing a previous patch. As a result, the amount parameter at ActorConfigurationData has been removed.

  • Remade how ScenarioRunner reads the scenarios files. It now reads all scenarios inside the srunner/scenarios folder without needing to import them. Scenarios outside that folder will still need the --additionalScenario argument.

  • The new weather parameters (related to fog) are now correctly read when running scenarios outside routes.

  • Enable weather animation during scenario execution (requires ephem pip package)

  • Changed manual control to be in par with the CARLA version. Among others, added vehicle lights, recording and some new sensors

  • Removed unsupported scenarios (ChallengeBasic and BackgroundActivity, VehicleTurnLeftAtJunction)

  • Added a new metrics module, which gives access to all the information about a scenario in order to allow the user to extract any desired information about the simulation. More information here

  • Removed the default randomness at the ControlLoss scenario

  • OpenSCENARIO support:

    • Added support for controllers and provided default implementations for vehicles and pedestrians. This required changing the handling of actors, which results in that now all actors are controlled by an OSC controller. Supported controllers:
      • Pedestrian controller
      • NPC vehicle controller (based on CARLA LocalPlanner)
      • Simple vehicle controller to set velocities not brake/throttle, and consider obstacles in the forward-facing region.
      • External controller (to forward control to external entities)
    • Added initial speed support for pedestrians for OpenSCENARIO
    • Support for EnvironmentActions within Story (before only within Init). This allows changing weather conditions during scenario execution
    • Added support for RelativeSpeedCondition
    • Added support for AccelerationCondition
    • Added support for TimeOfDayCondition
    • Added support for OffroadCondition
    • Added support for CollisionCondition
    • Added support for EndOfRoadCondition
    • Added support for TimeHeadwayCondition
    • Added support for TrafficSignalCondition
    • Added support for AcquirePositionAction
    • Extended FollowLeadingVehicle example to illustrate weather changes
    • Created example scenarios to illustrate usage of controllers and weather changes
    • Reworked the handling of Catalogs to make it compliant to the 1.0 version (relative paths have to be relative to the scenario file)
    • The RoadNetwork can be defined as global Parameter
    • Fixed handling of relative positions with negative offset
    • Added support for local ParamaterDeclarations
    • Added support for Parameters within Catalogs
    • Added support for ParameterAssignments for CatalogReferences
    • Fixed name handling of Parameters: Parameter declerations must not start with a leading '$', but when the parameter is used a leading '$' is required.
    • Fixed use of Parameters for multiple instances of the same Catalog element
    • Fixed use of relative initial positions for any actor
    • Added possibility to use synchronous execution mode with OpenSCENARIO
    • Fixed use of relative paths in CustomCommandAction
    • Fixed use of ControllerCatalogs
  • Atomics:

    • Several new atomics to enable usage of OSC controllers
    • WeatherBehavior to simulate weather over time
    • UpdateWeather to update weather to a new setting, e.g. sun to rain
    • UpdateRoadFriction to update the road friction while running
    • new RelativeVelocityToOtherActor trigger condition, used to compare velocities of two actors
    • new TriggerAcceleration trigger condition which compares a reference acceleration with the actor's one.
    • new TimeOfDayComparison trigger condition, comparing the simulation time (set up by the new weather system) with a given datetime.
    • Added new OffRoadTest criteria.
    • Added new EndofRoadTest criteria, to detect when a vehicle changes between OpenDRIVE roads.
    • CollisionTest criterion can now filter the collisions for a specific actor, or actor type_id.
    • Added a duration argument to OnSidewalkTest criteria, which makes the criteria fail after a certain time has passed, instead of doing so immediately. The default behavior has been unchanged.
    • InTimeToArrivalToVehicle has had its two actor arguments swapped, to match all the other behaviors.
    • Added along_route flag to InTimeToArrivalToVehicle, to take into account the topology of the road
    • Changed the inputs to TrafficLightStateSetter to match the other atomics, but the functionality remains unchanged

🐛 Bug Fixes

  • Fixed bug causing parsing RelativeTargetSpeed tag to fail.
  • Fixed missing 'six' in requirements.txt
  • Support OpenSCENARIO parameters also if they're only part of a string value
  • Support Routes in Catalogs
  • Fix parsing of properties within ControllerCatalogs
  • Add cleanup of instantiated OpenSCENARIO controllers
  • Do not register SIGHUP signal in windows
  • Fixed initial speed of vehicles using OpenSCENARIO
  • Fixed bug causing an exception when calling BasicScenario's _initialize_actors with no other_actors.
  • Fixed bug causing the route to be downsampled (introduced by mistake at 0.9.9)
  • Fixed bug causing output argument to not display the correct number with InRouteTest and RouteCompletionTest criterias (the succces and failure was correctly displayed)
  • Fixed bug causing OpenSCENARIO's SpeedCondition to not work as intended
  • Fixed bug causing CollisionConditions not to work properly in OpenSCENARIO
  • Fixed bug causing the group: functionality to behave incorrectly when moving scenarios around.
  • Fixed bug causing FollowLeadingVehicle and FollowLeadingVehicleWithObstacle scenarios to not properly end
  • Fixed bug causing CollisionTest to ignore multiple collisions with scene objects
  • Fixed bug causing NoSignalJunctionCrossing to not output the results of the scenario
  • Fixed bug causing SyncArrival to fail when the actor was destroyed after the behavior ended
  • Fixed bug with ending roads near stop signals to break the simulation
  • Fixed exception bug in spawn function of CarlaDataProvider
  • Fixed access to private member of CARLA LocalPlanner inside OSC NpcVehicleControl
  • Fixed handling of OSC LanePosition (#625)
  • Fixed bug causing the route repetitions to spawn different background activity
  • Fixed bug causing the rotate_point function inside RunningRedLightTest to not function properly.

👻 Maintenance

  • Exposed traffic manager port flag to enable the execution of multiple scenarios on a single machine.