Commit Graph

1355 Commits

Author SHA1 Message Date
LuisPoveda 5ac3ce6d31
Luis/collisions bushes (#5477)
* Added base class for spring based vegetation simulation

* Excluded small bones from Inertia tensor computation. Added eigen 3.1.0 as dependency for vegetation modules.

* Added patch for eigen 3.1.0 in windows.

* Fixed windows compilation with eigen libraries

* Added automatic hierarchy extraction from skeletal mesh to spring based skeleton. Exposed custom spring vegetation structs to editor.

* Reorganized functions for spring based vegetation simulation. Fixed coordinate transformation bug (from UE left handed frame to right handed frame).

* Changes to use compile with CLang 10

* Improved spring strength settings for infividual branches. Enabled better debugging.

* added bush bp
added bush with sphere to the town10 map

* Fixed bush collision make car fly

* spring based vegetatation component updated

* System to get the bp from foliage mesh and instanciate if exists at runtime

* Added filters for spawning different types of foliage

* Spawning foliage hide and scaling it before showing.

* Added foliage bp class cache system to improve performance

* Changed Sphere Detection for Box and Implemented Object Pooling

* Fixed Dissapearing bushes, testing pooling

* Changed Sign function to not use clang's one

* Moved Spawner Logic out of Vehicle

* fix vegetation spawner now looks for new statich meshes every frame

* PR changes

* PR Changes

* Deleted spaces and scale spawn property

Co-authored-by: Axel <axellopez92@outlook.com>
Co-authored-by: Axel1092 <lopez1092@hotmail.com>
Co-authored-by: bernat <bernatx@gmail.com>
2022-06-02 14:35:42 +02:00
Guillermo e228aa0fff Added map key check 2022-06-01 08:25:05 +02:00
Guillermo befc30f5c7 Added loop check at Localization stage 2022-05-17 08:43:08 +02:00
Guillermo 4a1c43d733 Improved TM's non signalized junctions 2022-05-17 08:43:08 +02:00
glopezdiest a649c67d7e
Added failure states for vehicles (#5410)
* Added failure states for vehicles

* Added missing endline
2022-05-16 21:55:19 +02:00
glopezdiest c11dfddcab
Fixed bug at TM when teleporting vehicles with no physics 2022-05-09 10:10:37 +02:00
Axel 788427fdd5 Fixed lights not changing after a map change event. Fixed lights blocking the thread to update the episode. 2022-04-29 10:20:06 +02:00
Marcel Pi 139041fd7f
Improvements to the dust_storm weather parameter. (#5388)
* Switched DustStorm parameter from bool to float.

* Automatically detect clang version.

* Revert "Automatically detect clang version."

This reverts commit 4ac1c95c26.

* Update environment.py weather presets.

* Expose dust_storm console command in environment.py + documentation.

* Fix minor DustStorm preset error.

* Update CHANGELOG.md
2022-04-27 12:52:25 +02:00
Guillermo 46d50df7c5 Fix topology with ending lanes 2022-04-26 09:38:56 +02:00
glopezdiest 5003e58d7c
New ConstantVelocityAgent and TM parameter (#5290) 2022-04-20 14:44:27 +02:00
glopezdiest 8d5204e048
Added set_day_night_cycle parameter (#5322) 2022-04-13 18:25:46 +02:00
Marcel Pi a9ad9b7e95 Fixed DustStorm weather preset. 2022-04-05 11:52:16 +02:00
Marcel Pi 9d8c6175ab Added DustStorm boolean option in WeatherParameters. 2022-04-05 11:52:16 +02:00
Armando Fandango 56b7bfb3f9 fixed the namespace resolution ambiguity with Server and Client class objects in tests 2022-03-31 13:05:49 +02:00
anrp 60709f506b Switch to boost::variant2
boost::variant only supports up to 20 types (MPL limit). boost::variant2
has no such limit; switch to it.
2022-03-28 12:35:11 +02:00
Marcel Pi 98cf46d027 Minor fixes for the pull request.
Updated copyrights, added custom normal camera definition function in ActorBlueprintFunctionLibrary and fixed minor include error.
2022-02-18 11:42:32 +01:00
Marcel Pi 3b45bfd165 Added new sensor with camera normals 2022-02-18 11:42:32 +01:00
Joel Moriana 0e67ca23fd Handle steer speed in the ackermann controller 2022-02-08 20:15:57 +01:00
Joel Moriana 67e12c34ac Added more review changes 2022-02-08 20:15:57 +01:00
Joel Moriana 8cc6f132fc First iteration ackermann controller 2022-02-08 20:15:57 +01:00
Guillermo 69cb31b857 Changed simulate physics to be sync call 2022-01-11 11:37:27 +01:00
Guillermo fc944bfcc5 Removed debug line 2022-01-11 11:37:27 +01:00
Guillermo e0719a8270 Fixed vehicle sorting + WIP physics deter check 2022-01-11 11:37:27 +01:00
Jacopo Bartiromo 9ff76463eb Unique seed for Traffic Manager 2022-01-11 11:37:27 +01:00
Jacopo Bartiromo 68658f9bd3 Changes to make 0.9.13 deterministic 2022-01-11 11:37:27 +01:00
Jacopo Bartiromo a55e877bf1 Fixes rpc error
Changes in function name
2021-11-09 12:25:37 +01:00
Jacopo Bartiromo 39e0fcbf1d Fixes RPC error when using update_vehicle_lights 2021-11-09 12:25:37 +01:00
Jacopo Bartiromo 19ae10af01 Removes unused variable
Improves vehicle behavior
2021-11-09 12:25:37 +01:00
bernatx 29ef62acf4 change some log types to debug only 2021-11-09 10:43:35 +01:00
bernatx f4f144cc39 Add folder with current CARLA version to cache 2021-11-09 10:36:08 +01:00
Axel 63d5b314c6 Added instance semantic segmentation sensors 2021-11-08 09:30:35 +01:00
bernatx 5695337c5b Fixing seed as unsigned int 2021-11-05 18:49:11 +01:00
bernatx 328cfca118 Adding seed for better pedestrians reproducibility 2021-11-05 18:49:11 +01:00
berndgassmann 6fc187f4b3
RssSensor fixes (#4604)
* RssSensor fixes

RssSensor:
- make client side calculations threaded to ensure it is not
incrementally delaying the whole client
- support multiple instances of RssSensor
- initialize _last_processed_frame properly

RssRestrictor:
- enable python set_log_level

General:
- Update to RSS v4.4.2 and map v2.4.5_hotfix supporting elevation
- manual_control_rss: enalbe dynamics log level switching

* Update to ad-rss-lib 4.4.3

* really go to ad-rss-lib 4.4.3
2021-11-05 18:12:49 +01:00
Axel 33c044d493 Added option to change textures of multiple objects with a single call (saving texture memory). 2021-11-05 16:37:17 +01:00
Axel c99e5adf2a Added functions and structures to update textures in runtime. 2021-11-05 16:37:17 +01:00
bernatx 4284ebb0e1 Added new pose to blend with the animation 2021-11-05 16:29:36 +01:00
bernatx b7a1685166 Return all transforms for bones (world, component and relative) 2021-11-05 16:29:36 +01:00
bernatx 93e4733cf8 First version, bones transform in world space 2021-11-05 16:29:36 +01:00
Jacopo Bartiromo 5f07128176
New Traffic Manager features for 0.9.13 (#4786)
* Changes in constant values
Added new constants

* Added Ambulance and Firetruck as unsafe vehicles in spawn_npc.py

* WIP: Rerouting algorithm

* Removing rerouting algorithm.
Fixed collisions at high speed.

* Changes to constant values and cleaning up.

* Users can now set their own path by giving a list of locations.
Implementation of RoadOption for SimpleWaypoints
Implementation of GetNextAction and GetActionBuffer for TM actions
Parameters for setting the path import and starting the import process.
Other minor changes

* Users now only need to use one parameter to import path

* added road option to the cache map

* Introduced RoadOption in InMemoryMap for each swp
Introduced getter in PythonAPI for high level path
Introduced getter in PythonAPI for next high level action
Introduced parameters for random lane changes
Fixed keep right parameter

* Introduced parameter SetImportedRoute to set a RoadOption path for TM controlled vehicles.
Method in Localization Stage to compute a path using RoadOptions.

* CHANGELOG.

* Changing names of methods
Cleanup

* Small changes to Collision Stage
Cleanup of SetRoadOption
Added debug_helper in Loc Stage (to be removed)

* Changes to get_next_action and get_all_actions
Fixed lane changes representation in those methods
Now get_next_action and get_all_actions need the Actor in Python

* Remove debug_helper
Set MAX_BRAKE to 0.7

* Constant values in Loc stage

* Code fixes

* Small changes in collision stage
Adding constants for VLStage
Changes in VLStage

* Choose randomly a right or left lane change if forcing both.

* Reviewable changes
Changes name of variables in Loc stage
Removed unnecessary import

* Minor final changes

* Change of method name in generate_traffic

* Change in Latest ContentVersion.txt

Co-authored-by: Joel Moriana <joel.moriana@gmail.com>
2021-11-03 11:06:14 +01:00
Luca 85da613f51
Vehicle lights state in traffic manager (#4717)
* added vehicle lights stage to the traffic manager under the dev branch

* update CHANGELOG to lastest version and added vehicle lights stage for automatically turn on-off lights

* added vehicle lights stage to the traffic manager under the dev branch

* removed commented code

* cleanups to the code, adding some comments to explain how the trafficmanagerlocal handles the command buffer

* fixing missing reference in ALSM constructor, disabling vehicle light state for dormant vehicles

* bugfix in vehicle_id_list access, added fix to avoid blinking brake lights due to throttle control

* requested changes in the vehicle light stage code

* missing namespace qualifier for constants

* Added explicit method to enable the vehicle lights management by the TM, on a per-vehicle basis. Changed generate_traffic.py to use the new vehicle lights stage instead of just setting a fixed, constant vehicle light status. Docs are updated, accordingly.

Co-authored-by: npunito <npunito>
Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com>
2021-10-28 16:09:14 +02:00
Jacopo Bartiromo 3858c5f04c
Improvements in Traffic Manager for 0.9.12 (#4686)
* Changes in constant values
Added new constants

* Added Ambulance and Firetruck as unsafe vehicles in spawn_npc.py

* WIP: Rerouting algorithm

* Removing rerouting algorithm.
Fixed collisions at high speed.

* Changes to constant values and cleaning up.

* Cleanup

* Changelog

* Added a factor of vehicle length when checking for collision at low speed.

* Change in horizon rate
2021-10-05 10:57:47 +02:00
Daniel Santos-Olivan d03632c006 LibCarla: Added vehicle open/close doors 2021-09-16 11:28:46 +02:00
Daniel Santos-Olivan 9a81ecf045 CarlaServer: Open/Close door logic implemented in plugin 2021-09-16 11:28:46 +02:00
Joel Moriana 321a4495f6 fix bug reading junction and geodesic grid id from cached map 2021-09-15 11:28:55 +02:00
Guillermo f90c2c6123 Added ymls and Cross C++ function 2021-08-07 17:43:38 +02:00
Jacopo Bartiromo 32465c3ba8 Revert broken MP stage change 2021-08-02 16:37:39 +02:00
Joel Moriana c84747676e fix bug generating too near waypoints 2021-07-30 01:05:58 +02:00
Jacopo Bartiromo d74495c7ff Fixes issue with pedestrins in ALSM
Some changes in constants for approaching vehicles
2021-07-28 18:19:02 +02:00
Guillermo c611c1b464 Smoothed TM's PID 2021-07-28 18:19:02 +02:00
Axel 45d8e30c88 Fixed weather default parameters 2021-07-28 17:57:34 +02:00
Axel 6f077553c6 Added weather pressets 2021-07-28 17:57:34 +02:00
joel-mb 4b0525eef2
[Traffic Manager] InMemoryMap binary file (#4424)
* First iteration of the required files functionality

* WIP: Binary file for in memory map

* Fixed "/Game/" replacement and load new episode by name problems with the required files system

* removed unnecessary changes

* added extra space

* Enable pedestrians building only for single maps, no in tiled maps (temporal)

* Added python selector to make import command

* returning const reference

* fix bug not finding required files

* add TM binary files to packages

Co-authored-by: Alejandro Fraga Cimadevila <alex_fraga95@hotmail.com>
Co-authored-by: bernatx <berni2berni>
Co-authored-by: bernat <bernatx@gmail.com>
2021-07-28 14:44:54 +02:00
bernat c2b93b374a Removing unused variable 2021-07-26 12:57:10 +02:00
Jacopo Bartiromo 13c08e8e9c
Landmark and Curvature Anticipation for Traffic Manager and other updates (#4428)
* Added LargeMapManager

* Added DVector Vector of doubles

* Declaration of interface

* Added AUncenteredPivotPointMesh

* Added map generation from assets folder

* Updates on FDVector

* Added tile load on demand

* Fixed load tile issues after rebasing origin

* Updated FDVector

* Added some auxiliary functions

* Added conversion and operator

* Added methods to check and configure the state

* Removed const and updated printed info

* Added macro to avoid logs

* Added info dump functions

* The asset spawn check was added to the tick

* LargeMapManager added to CarlaGM

* Moving to level load autocontrol

* Updated with new function name, AddNewClientToConsider

* Fixing forced tile load

* Added operator*(float)

* Disabled Localplayer

* Now the streaming is handled by us

* Fixed remove of considered actors

* Fixed typo

* Added MapOrigin to the Episode

* Added Vector3DInt to LibCarla

* Removed floats in Vector3DInt

* Added offset to client actor's location

* Fixed old cast warning

* Removed float

* Added explicit cast to avoid warning

* Fixed client actor transform

* Removed unnecessary code

* Added origin offset to spawn_actor

* Adding spawn points generation

* Added spawn points folder in editor

* Changed Spawnpoint for only Transforms

* World rebase is triggered directly

* Added offset when attaching actors

* Detecting hero vehicle

* Added LargeMapManager

* Added DVector Vector of doubles

* Declaration of interface

* Added AUncenteredPivotPointMesh

* Added map generation from assets folder

* Updates on FDVector

* Added tile load on demand

* Fixed load tile issues after rebasing origin

* Updated FDVector

* Added some auxiliary functions

* Added conversion and operator

* Added methods to check and configure the state

* Removed const and updated printed info

* Added macro to avoid logs

* Added info dump functions

* The asset spawn check was added to the tick

* LargeMapManager added to CarlaGM

* Moving to level load autocontrol

* Updated with new function name, AddNewClientToConsider

* Fixing forced tile load

* Added operator*(float)

* Disabled Localplayer

* Now the streaming is handled by us

* Fixed remove of considered actors

* Fixed typo

* Added MapOrigin to the Episode

* Added Vector3DInt to LibCarla

* Removed floats in Vector3DInt

* Added offset to client actor's location

* Fixed old cast warning

* Removed float

* Added explicit cast to avoid warning

* Fixed client actor transform

* Removed unnecessary code

* Added origin offset to spawn_actor

* Adding spawn points generation

* Added spawn points folder in editor

* Changed Spawnpoint for only Transforms

* World rebase is triggered directly

* Added offset when attaching actors

* Detecting hero vehicle

* Only hero vehicles are considered to stream tiles

* Little update on log macro

* Adding support for ghost actors

* Refactored LargeMap classes

* Refactored LargeMap classes

* Revert refactor

* Remove files

* Added dormant state to actors

* Fixed spawn+rebase on new OnActorSpawn

* Removed circular dependency warning

* Converted FActorView into an USTRUCT

* Added actor state conversion to dormant

* Removed ConvertActorDormant

* Added spawn and transition of dormants

* Ghost to Dormant working

* Replicated dormant actors

* Add substraction operators

* Added dormant to ghost conversion

* Fixed some issues in dormant to ghost conversion

* WIP! Attached actors not working properly

* WIP! Attached actors not working properly

* Changing several constant variables
Removing sorting in LocalizationStage.cpp

* Fixing variable name

* Fixing variable name

* WIP: Fixing hybrid mode

* Added tiles loaded from umaps.

* Fixed Missing includes

* Debug settings are still on.
Added extra points in tight curves for PID improvement.
Fixed Hybrid Mode, now moves in the direction of the next waypoint.
Reduced calculations in MotionPlanningStage.cpp

* Removed all debug helper functions

* Added FActorData classes to save and restore actor state for dormant actors. Edited all client - server calls to recognize the dormant state. FActorView now can hold null AActor* when is dormant. Large Maps now load tiled umaps instead of assets.

* Fixed dormant check for attached actors

* Expanded FActorData classes. Added world observer aware of dormant actors.

* Extended FActorData classes with walker data.

* Fixed missing includes

* Removed some with editor macros.

* Added virtual destructor to FActorData.

* Adding includes

* Fixed warnings. Added UNoWorldOffsetSceneComponent to have unreal actors unnafected by rebase.

* Fixed tile alingment.

* Added sensor data to restore the comunication.

* Added parent hierarchy consideration to sleep/wakeup of ghost/dormant actors.

* Fixed crash for sensor destruction.

* Changed InMemoryMap to generate more points if two waypoints are even further than a multiple of the limit.
Removed SetSimulatePhysics call when not needed.
Changed PID functions to inline.

* Fixed child-parent when waking up dormant actors. Added profiling traces. Fixed transformation of debug shapes in large maps.

* WIP: Relocating TM-controlled vehicles near the hero vehicle

* WIP: Vehicle teleportation near hero vehicle.
Missing a way to place them in a better order around the map.
Fixes non-deterministic seed setup.

* Fixes bug where the hero vehicle was also set to not have physics.

* Introduces parameter SetRespawnDormantVehicles
WIP Respawning dormant vehicles

* Fixed child-parent when waking up dormant actors. Added profiling traces. Fixed transformation of debug shapes in large maps.

* WIP: renaming FActorView to FCarlaActor. Changing calls related to FCarlaActor to acomodate new typing.

* Renaming FActorView to FCarlaActor. Changing calls related to FCarlaActor to acomodate new typing.

* Now traffic lights can be spawned without controllers inside junctions.

* Added functions to interface the FCarlaActor object with recorder. Started adapting recorder to new FCarlaActor object.

* Fixed missing includes.

* Updated CarlaRecorder and CarlaReplayer to use new FCarlaActor interface for vehicles, walkers and sensors.

* Fixed missing includes.

* Streaming level list now is persistant and can be saved for unreal to detect the dependencies.

* Enabled packages for large maps.

* Added Tiles to the MapPath.txt file. Removed debug warnings.

* WIP: Fix seed when setting deterministic mode.
WIP: Respawn actors when dormant
Added --hero and --respawn to spawn_npc.py

* Fixed traffic light trigger box placement in large maps.

* Fixed traffic light warning. Set speed limit for dormant actors to 30. Fixed semantic segmentation on streaming levels.

* added server bind for set_respawn_dormant_vehicles parameter

* TM doesn't destroy hero vehicle if idle.
ALSM stage will now update hero vehicles first.
MP stage will treat dormant vehicles like physics-less in hybrid mode.
Added fixed seed increment in deterministic mode.

* Fixed Traffic Light issue with recorder and dormant state. Removed old ActorView files.

* handles scenario where the hero vehicle does not exist

* Fixing line markings semantics

* Fixed recorder issues with traffic lights.

* Filter out the base large map as available map

* Added tile_stream_distance and actor_stream_distance to world settings.

* removed unused comments.

* Added IsActive functions. Dormant actors that cannot be respawned now remain dormant.

* Fixed missing includes.

* Fixed missing includes

* Review fixes. Missing includes.

* Fixed link errors.

* Fixes issue with Hybrid mode in async mode.
Introduces new set_boundaries_respawn_dormant_vehicles parameter.
Fixes issue when reloading map.

* WIP: New algorithm to move vehicles from dormant to active

* Finished new policy for teleporting vehicles.
Created new generate_traffic.py script, which works in sync mode.
Removed spawn_npc.py script.
General cleanup in Traffic Manager.

* Cleanup.

* Set FXAA antialiasing method

* Added automatic generation of speed limit signals.

* Adding some includes

* Fixed speed limit component crash when waking up.

* Fixed speed limit component wrong check.

* Fixed speed limit not reset when waking up actors.

* Fixed rare crash when traffic lights become dormant.

* Added speed limit to FActorData.

* Fixed generating waypoints when angle is tight

* Added warning when using asynchronous mode in generate traffic.
Lane changes now require more space.
Vehicle switching from no physics to physics in hybrid mode will have an initial speed.
Changed lower bound to 20 meters for respawn in Large Maps.

* WIP: Landmark anticipation using waypoints

* WIP: anticipation landmark

* Added lane check to landmark search

* Fixed excluded lanes

* WIP: landmark anticipation

* WIP: landmark anticipation

* Changes to constants for path buffer and max speed
Bug fix for landmarks that return nullptr
Included prints for debugging

* Updating constants
Changed collision radius check value
New max_distance for GetAllLandmakrsInDistance

* Incoming turns now make vehicles break

* Added variable radius when finding possible collisions
Added GetMap in InMemoryMap
Added TLMap in MPStage to cache TL
Finished GetLandmarkTargetVelocity function
General cleanup

* Fix merge error
Change constant for collision detection

* Improved lateral PID

* More PID improvements

* Improved longitudinal PID + minor fixes

* Tuned PID parameters

* Changed algorithm for respawn using GeoGrid IDs.

* Fix merge error

* Fixes intersection anticipation algorithm

* Removed print and debug helper init

Co-authored-by: doterop <daniel.oterop@gmail.com>
Co-authored-by: Axel <axellopez92@outlook.com>
Co-authored-by: bernat <bernatx@gmail.com>
Co-authored-by: Joel Moriana <joel.moriana@gmail.com>
Co-authored-by: Axel1092 <lopez1092@hotmail.com>
Co-authored-by: Axel1092 <35765780+Axel1092@users.noreply.github.com>
Co-authored-by: Guillermo <glopez@cvc.uab.es>
2021-07-26 10:24:45 +02:00
Daniel Santos-Oliván ec64374db6 Added ShowDebugTelemetry to API 2021-07-23 10:34:54 +02:00
bernatx cdb0318e05 Fixing where open drive content is cached 2021-07-21 11:37:23 +02:00
bernat 76a51b9010 Removing spaces 2021-07-20 22:12:36 +02:00
bernat 71102a2336 Move implementation of class to .cpp 2021-07-20 22:12:36 +02:00
Roel Algaba Brizuela 5850bfcbdf Fix compilation error 2021-07-20 22:12:36 +02:00
Roel Algaba Brizuela 3c89b03c54 Updated file transfer system 2021-07-20 22:12:36 +02:00
Roel Algaba Brizuela 66cd52b7e8 Modified file transfer to avoid multiple downloads 2021-07-20 22:12:36 +02:00
bernat cd76952655 Fixing environment variable in windows 2021-07-20 22:12:36 +02:00
alejandroFraga 1a58b48564 OpenDrive .xodr file integrated with the required file system 2021-07-20 22:12:36 +02:00
Alejandro Fraga Cimadevila 05a09b1007 First iteration of the required files functionality 2021-07-20 22:12:36 +02:00
Jacopo Bartiromo 6efe45f04d
Traffic Manager for Large Maps (#4324)
* Added LargeMapManager

* Added DVector Vector of doubles

* Declaration of interface

* Added AUncenteredPivotPointMesh

* Added map generation from assets folder

* Updates on FDVector

* Added tile load on demand

* Fixed load tile issues after rebasing origin

* Updated FDVector

* Added some auxiliary functions

* Added conversion and operator

* Added methods to check and configure the state

* Removed const and updated printed info

* Added macro to avoid logs

* Added info dump functions

* The asset spawn check was added to the tick

* LargeMapManager added to CarlaGM

* Moving to level load autocontrol

* Updated with new function name, AddNewClientToConsider

* Fixing forced tile load

* Added operator*(float)

* Disabled Localplayer

* Now the streaming is handled by us

* Fixed remove of considered actors

* Fixed typo

* Added MapOrigin to the Episode

* Added Vector3DInt to LibCarla

* Removed floats in Vector3DInt

* Added offset to client actor's location

* Fixed old cast warning

* Removed float

* Added explicit cast to avoid warning

* Fixed client actor transform

* Removed unnecessary code

* Added origin offset to spawn_actor

* Adding spawn points generation

* Added spawn points folder in editor

* Changed Spawnpoint for only Transforms

* World rebase is triggered directly

* Added offset when attaching actors

* Detecting hero vehicle

* Added LargeMapManager

* Added DVector Vector of doubles

* Declaration of interface

* Added AUncenteredPivotPointMesh

* Added map generation from assets folder

* Updates on FDVector

* Added tile load on demand

* Fixed load tile issues after rebasing origin

* Updated FDVector

* Added some auxiliary functions

* Added conversion and operator

* Added methods to check and configure the state

* Removed const and updated printed info

* Added macro to avoid logs

* Added info dump functions

* The asset spawn check was added to the tick

* LargeMapManager added to CarlaGM

* Moving to level load autocontrol

* Updated with new function name, AddNewClientToConsider

* Fixing forced tile load

* Added operator*(float)

* Disabled Localplayer

* Now the streaming is handled by us

* Fixed remove of considered actors

* Fixed typo

* Added MapOrigin to the Episode

* Added Vector3DInt to LibCarla

* Removed floats in Vector3DInt

* Added offset to client actor's location

* Fixed old cast warning

* Removed float

* Added explicit cast to avoid warning

* Fixed client actor transform

* Removed unnecessary code

* Added origin offset to spawn_actor

* Adding spawn points generation

* Added spawn points folder in editor

* Changed Spawnpoint for only Transforms

* World rebase is triggered directly

* Added offset when attaching actors

* Detecting hero vehicle

* Only hero vehicles are considered to stream tiles

* Little update on log macro

* Adding support for ghost actors

* Refactored LargeMap classes

* Refactored LargeMap classes

* Revert refactor

* Remove files

* Added dormant state to actors

* Fixed spawn+rebase on new OnActorSpawn

* Removed circular dependency warning

* Converted FActorView into an USTRUCT

* Added actor state conversion to dormant

* Removed ConvertActorDormant

* Added spawn and transition of dormants

* Ghost to Dormant working

* Replicated dormant actors

* Add substraction operators

* Added dormant to ghost conversion

* Fixed some issues in dormant to ghost conversion

* WIP! Attached actors not working properly

* WIP! Attached actors not working properly

* Changing several constant variables
Removing sorting in LocalizationStage.cpp

* Fixing variable name

* Fixing variable name

* WIP: Fixing hybrid mode

* Added tiles loaded from umaps.

* Fixed Missing includes

* Debug settings are still on.
Added extra points in tight curves for PID improvement.
Fixed Hybrid Mode, now moves in the direction of the next waypoint.
Reduced calculations in MotionPlanningStage.cpp

* Removed all debug helper functions

* Added FActorData classes to save and restore actor state for dormant actors. Edited all client - server calls to recognize the dormant state. FActorView now can hold null AActor* when is dormant. Large Maps now load tiled umaps instead of assets.

* Fixed dormant check for attached actors

* Expanded FActorData classes. Added world observer aware of dormant actors.

* Extended FActorData classes with walker data.

* Fixed missing includes

* Removed some with editor macros.

* Added virtual destructor to FActorData.

* Adding includes

* Fixed warnings. Added UNoWorldOffsetSceneComponent to have unreal actors unnafected by rebase.

* Fixed tile alingment.

* Added sensor data to restore the comunication.

* Added parent hierarchy consideration to sleep/wakeup of ghost/dormant actors.

* Fixed crash for sensor destruction.

* Changed InMemoryMap to generate more points if two waypoints are even further than a multiple of the limit.
Removed SetSimulatePhysics call when not needed.
Changed PID functions to inline.

* Fixed child-parent when waking up dormant actors. Added profiling traces. Fixed transformation of debug shapes in large maps.

* WIP: Relocating TM-controlled vehicles near the hero vehicle

* WIP: Vehicle teleportation near hero vehicle.
Missing a way to place them in a better order around the map.
Fixes non-deterministic seed setup.

* Fixes bug where the hero vehicle was also set to not have physics.

* Introduces parameter SetRespawnDormantVehicles
WIP Respawning dormant vehicles

* Fixed child-parent when waking up dormant actors. Added profiling traces. Fixed transformation of debug shapes in large maps.

* WIP: renaming FActorView to FCarlaActor. Changing calls related to FCarlaActor to acomodate new typing.

* Renaming FActorView to FCarlaActor. Changing calls related to FCarlaActor to acomodate new typing.

* Now traffic lights can be spawned without controllers inside junctions.

* Added functions to interface the FCarlaActor object with recorder. Started adapting recorder to new FCarlaActor object.

* Fixed missing includes.

* Updated CarlaRecorder and CarlaReplayer to use new FCarlaActor interface for vehicles, walkers and sensors.

* Fixed missing includes.

* Streaming level list now is persistant and can be saved for unreal to detect the dependencies.

* Enabled packages for large maps.

* Added Tiles to the MapPath.txt file. Removed debug warnings.

* WIP: Fix seed when setting deterministic mode.
WIP: Respawn actors when dormant
Added --hero and --respawn to spawn_npc.py

* Fixed traffic light trigger box placement in large maps.

* Fixed traffic light warning. Set speed limit for dormant actors to 30. Fixed semantic segmentation on streaming levels.

* added server bind for set_respawn_dormant_vehicles parameter

* TM doesn't destroy hero vehicle if idle.
ALSM stage will now update hero vehicles first.
MP stage will treat dormant vehicles like physics-less in hybrid mode.
Added fixed seed increment in deterministic mode.

* Fixed Traffic Light issue with recorder and dormant state. Removed old ActorView files.

* handles scenario where the hero vehicle does not exist

* Fixing line markings semantics

* Fixed recorder issues with traffic lights.

* Filter out the base large map as available map

* Added tile_stream_distance and actor_stream_distance to world settings.

* removed unused comments.

* Added IsActive functions. Dormant actors that cannot be respawned now remain dormant.

* Fixed missing includes.

* Fixed missing includes

* Review fixes. Missing includes.

* Fixed link errors.

* Fixes issue with Hybrid mode in async mode.
Introduces new set_boundaries_respawn_dormant_vehicles parameter.
Fixes issue when reloading map.

* WIP: New algorithm to move vehicles from dormant to active

* Finished new policy for teleporting vehicles.
Created new generate_traffic.py script, which works in sync mode.
Removed spawn_npc.py script.
General cleanup in Traffic Manager.

* Cleanup.

* Set FXAA antialiasing method

* Added automatic generation of speed limit signals.

* Adding some includes

* Fixed speed limit component crash when waking up.

* Fixed speed limit component wrong check.

* Fixed speed limit not reset when waking up actors.

* Fixed generating waypoints when angle is tight

* Added warning when using asynchronous mode in generate traffic.
Lane changes now require more space.
Vehicle switching from no physics to physics in hybrid mode will have an initial speed.
Changed lower bound to 20 meters for respawn in Large Maps.

* Calculating TLStage even when dormant

Co-authored-by: doterop <daniel.oterop@gmail.com>
Co-authored-by: Axel <axellopez92@outlook.com>
Co-authored-by: bernat <bernatx@gmail.com>
Co-authored-by: Joel Moriana <joel.moriana@gmail.com>
Co-authored-by: Axel1092 <lopez1092@hotmail.com>
Co-authored-by: Axel1092 <35765780+Axel1092@users.noreply.github.com>
2021-07-15 15:58:28 +02:00
Axel 9c2d8aef94 Added comments 2021-07-13 19:25:44 +02:00
Axel a34e12f4f4 Fixed excluded lanes 2021-07-13 19:25:44 +02:00
Axel 2f488b6efe Added lane check to landmark search 2021-07-13 19:25:44 +02:00
Axel c62b4bb280 Added get_stop_waypoints() to traffic light. Renamed affected_lane_waypoints function. Added transform_vector function. 2021-07-04 20:11:19 +02:00
Axel bf4e7b0633 Added get_light_boxes in traffic light actors. Added functions to the World to obtain traffic lights from waypoints and junctions. Improved chached map method. 2021-07-04 20:11:19 +02:00
Axel c757462d03 Added new api functions `get_effect_waypoints`, `get_light_boxes` and `get_opendrive_id` for traffic lights. 2021-07-04 20:11:19 +02:00
Daniel Santos-Oliván e9efa7677e Added Command: ApplyVehiclePhysicsControl 2021-07-02 10:26:00 +02:00
Daniel Santos-Oliván 15be33e874 World: world methods will use same timeout as client
The world methods: tick, wait_for_tick and apply_settings
will use the timeout defined in the client but they still
allow to define a custom one.
2021-06-16 10:57:38 +02:00
Daniel Santos-Oliván 71682ee57f LibCarla::Client.h Fixed tick in apply batch 2021-06-16 10:57:38 +02:00
Axel1092 74380cdc23
Fixed existing features for Large Maps (#4293)
* Fixed child-parent when waking up dormant actors. Added profiling traces. Fixed transformation of debug shapes in large maps.

* WIP: renaming FActorView to FCarlaActor. Changing calls related to FCarlaActor to acomodate new typing.

* Renaming FActorView to FCarlaActor. Changing calls related to FCarlaActor to acomodate new typing.

* Now traffic lights can be spawned without controllers inside junctions.

* Added functions to interface the FCarlaActor object with recorder. Started adapting recorder to new FCarlaActor object.

* Fixed missing includes.

* Updated CarlaRecorder and CarlaReplayer to use new FCarlaActor interface for vehicles, walkers and sensors.

* Fixed missing includes.

* Streaming level list now is persistant and can be saved for unreal to detect the dependencies.

* Enabled packages for large maps.

* Added Tiles to the MapPath.txt file. Removed debug warnings.

* Fixed traffic light trigger box placement in large maps.

* Fixed traffic light warning. Set speed limit for dormant actors to 30. Fixed semantic segmentation on streaming levels.

* Fixed Traffic Light issue with recorder and dormant state. Removed old ActorView files.

* Fixing line markings semantics

* Fixed recorder issues with traffic lights.

* Filter out the base large map as available map

* Added tile_stream_distance and actor_stream_distance to world settings.

* removed unused comments.

* Added IsActive functions. Dormant actors that cannot be respawned now remain dormant.

* Fixed missing includes.

* Fixed missing includes

* Review fixes. Missing includes.

* Fixed link errors.

Co-authored-by: bernat <bernatx@gmail.com>
2021-06-11 19:44:16 +02:00
Roel Algaba Brizuela 829664d8a3 Extended PythonAPI for weather 2021-06-11 14:31:49 +02:00
Daniel Santos-Oliván c88dc50052 Added missing header 2021-06-03 11:34:33 +02:00
Axel 68d75a9874 Fixed inacurate class description. Removed unused files. 2021-06-02 13:15:17 +02:00
Axel 2e76af9001 Fixed float texture format. Added method to convert optical flow to a color visualization. 2021-06-02 13:15:17 +02:00
Shashank Singh 6b6f639e15 removed unused code and added optical flow processing explanation+example to manual_control.py 2021-06-02 13:15:17 +02:00
Shashank Singh fa9f55a592 Optical Flow 2021-06-02 13:15:17 +02:00
Jacopo Bartiromo d3f8b58ae2 Changed InMemoryMap to generate more points if two waypoints are even further than a multiple of the limit.
Removed SetSimulatePhysics call when not needed.
Changed PID functions to inline.
2021-05-28 11:31:10 +02:00
Jacopo Bartiromo 83f0a0097c Removed all debug helper functions 2021-05-28 11:31:10 +02:00
Jacopo Bartiromo 0002f0b478 Debug settings are still on.
Added extra points in tight curves for PID improvement.
Fixed Hybrid Mode, now moves in the direction of the next waypoint.
Reduced calculations in MotionPlanningStage.cpp
2021-05-28 11:31:10 +02:00
Jacopo Bartiromo 5f0f95879e WIP: Fixing hybrid mode 2021-05-28 11:31:10 +02:00
Jacopo Bartiromo 2ef69447e3 Fixing variable name 2021-05-28 11:31:10 +02:00
Jacopo Bartiromo 252be2d881 Fixing variable name 2021-05-28 11:31:10 +02:00
Jacopo Bartiromo 341571c762 Changing several constant variables
Removing sorting in LocalizationStage.cpp
2021-05-28 11:31:10 +02:00
Daniel Santos-Olivan e3ba9e4940 Added tire stiffness forces to physics control 2021-05-20 16:33:27 +02:00
Daniel Santos-Olivan 3fbdd5b908 Added Abs method to carla vectors 2021-05-20 16:33:27 +02:00
Axel1092 c46c65ff4f
Large Maps (#4207)
* Added LargeMapManager

* Added DVector Vector of doubles

* Declaration of interface

* Added AUncenteredPivotPointMesh

* Added map generation from assets folder

* Updates on FDVector

* Added tile load on demand

* Fixed load tile issues after rebasing origin

* Updated FDVector

* Added some auxiliary functions

* Added conversion and operator

* Added methods to check and configure the state

* Removed const and updated printed info

* Added macro to avoid logs

* Added info dump functions

* The asset spawn check was added to the tick

* LargeMapManager added to CarlaGM

* Moving to level load autocontrol

* Updated with new function name, AddNewClientToConsider

* Fixing forced tile load

* Added operator*(float)

* Disabled Localplayer

* Now the streaming is handled by us

* Fixed remove of considered actors

* Fixed typo

* Added MapOrigin to the Episode

* Added Vector3DInt to LibCarla

* Removed floats in Vector3DInt

* Added offset to client actor's location

* Fixed old cast warning

* Removed float

* Added explicit cast to avoid warning

* Fixed client actor transform

* Removed unnecessary code

* Added origin offset to spawn_actor

* Adding spawn points generation

* Added spawn points folder in editor

* Changed Spawnpoint for only Transforms

* World rebase is triggered directly

* Added offset when attaching actors

* Detecting hero vehicle

* Added LargeMapManager

* Added DVector Vector of doubles

* Declaration of interface

* Added AUncenteredPivotPointMesh

* Added map generation from assets folder

* Updates on FDVector

* Added tile load on demand

* Fixed load tile issues after rebasing origin

* Updated FDVector

* Added some auxiliary functions

* Added conversion and operator

* Added methods to check and configure the state

* Removed const and updated printed info

* Added macro to avoid logs

* Added info dump functions

* The asset spawn check was added to the tick

* LargeMapManager added to CarlaGM

* Moving to level load autocontrol

* Updated with new function name, AddNewClientToConsider

* Fixing forced tile load

* Added operator*(float)

* Disabled Localplayer

* Now the streaming is handled by us

* Fixed remove of considered actors

* Fixed typo

* Added MapOrigin to the Episode

* Added Vector3DInt to LibCarla

* Removed floats in Vector3DInt

* Added offset to client actor's location

* Fixed old cast warning

* Removed float

* Added explicit cast to avoid warning

* Fixed client actor transform

* Removed unnecessary code

* Added origin offset to spawn_actor

* Adding spawn points generation

* Added spawn points folder in editor

* Changed Spawnpoint for only Transforms

* World rebase is triggered directly

* Added offset when attaching actors

* Detecting hero vehicle

* Only hero vehicles are considered to stream tiles

* Little update on log macro

* Adding support for ghost actors

* Refactored LargeMap classes

* Refactored LargeMap classes

* Revert refactor

* Remove files

* Added dormant state to actors

* Fixed spawn+rebase on new OnActorSpawn

* Removed circular dependency warning

* Converted FActorView into an USTRUCT

* Added actor state conversion to dormant

* Removed ConvertActorDormant

* Added spawn and transition of dormants

* Ghost to Dormant working

* Replicated dormant actors

* Add substraction operators

* Added dormant to ghost conversion

* Fixed some issues in dormant to ghost conversion

* WIP! Attached actors not working properly

* WIP! Attached actors not working properly

* Added tiles loaded from umaps.

* Fixed Missing includes

* Added FActorData classes to save and restore actor state for dormant actors. Edited all client - server calls to recognize the dormant state. FActorView now can hold null AActor* when is dormant. Large Maps now load tiled umaps instead of assets.

* Fixed dormant check for attached actors

* Expanded FActorData classes. Added world observer aware of dormant actors.

* Extended FActorData classes with walker data.

* Fixed missing includes

* Removed some with editor macros.

* Added virtual destructor to FActorData.

* Adding includes

* Fixed warnings. Added UNoWorldOffsetSceneComponent to have unreal actors unnafected by rebase.

* Fixed tile alingment.

* Added sensor data to restore the comunication.

* Added parent hierarchy consideration to sleep/wakeup of ghost/dormant actors.

* Fixed crash for sensor destruction.

Co-authored-by: doterop <daniel.oterop@gmail.com>
Co-authored-by: bernat <bernatx@gmail.com>
2021-05-20 16:09:43 +02:00
Axel 84b469b59e Added inertial position to parser. Updated osm2odr version. 2021-04-29 11:33:01 +02:00
Daniel Santos-Oliván 2eddbbcb39 Fix bug in lidar point count 2021-04-14 23:30:03 +02:00
Axel d7069ee098 Changed profiling macro fot static strings. 2021-04-07 12:34:05 +02:00
Axel 2584d884b9 Added trace profiler events for unreal insights. 2021-04-07 12:34:05 +02:00
doterop 86efe6f581 Added some UE isnights traces 2021-04-07 12:34:05 +02:00
Axel ed6062e5dd Added new argument to recreate sensors in the replayer. 2021-04-01 12:32:30 +02:00
bernat 7580c682f6 Disable the minimum size of a network packet to be sent 2021-03-31 10:00:24 +02:00
Roel Algaba Brizuela e9fc29898f
Added wheel control (#3868)
* First version - Wheel direction changes

* Updated CHANGELOG.md

* Fix DVSCamera include error

* Updated vehicle wheels direction commands

* Reset files back to default state

* Removed files from PR.

* Updated changelog
2021-03-15 15:42:33 +01:00
Daniel Santos-Olivan a0d8de23bc Fix bug in get_up_vector() 2021-03-15 12:37:15 +01:00
bernat 0ec6a45563 Ignore any error from socket when closing it 2021-03-08 14:48:22 +01:00
Axel 7d135da9c6 Added shut_down function to TM. 2021-03-08 13:31:28 +01:00
Axel c5fe20ab60 Compilation fix 2021-03-08 13:31:28 +01:00
Axel 081bb4191f Add small wait in TM for the next tick. 2021-03-08 13:31:28 +01:00
Axel 26f4bbec5b Changed wait method for next frame. Undone changes to determinsm smoke test. 2021-03-08 13:31:28 +01:00
Axel bb05155688 Added missing constant. 2021-03-08 13:31:28 +01:00
Axel 61542fa488 Fixed memory leak when activating TM in some maps in asynchronous mode 2021-03-08 13:31:28 +01:00
Axel 3fc6bce36c Added JSON ingestion for chrono vehicle definition 2021-03-04 12:48:57 +01:00
doterop 37ae251d1e Fixed IsAlive 2021-03-03 12:12:40 +01:00
Jacopo Bartiromo 8ae9090be2 Changes in constant values
Added new constants
2021-03-02 13:01:58 +01:00
doterop f379c63d43 Added functions to initialize is_alive from episode information 2021-03-02 12:56:21 +01:00
doterop 8604f81b0a destroy_actor now returns a bool 2021-03-02 12:56:21 +01:00
Axel f45e0d7c08 Added substep algorithm for chrono. Added initial UE4 terrain detection with raycast. 2021-02-18 10:04:35 +01:00
Axel1092 14a634aa29 Added chrono compilation support for windows. 2021-02-18 10:04:35 +01:00
Axel 7c3367325f Added chrono library 2021-02-18 10:04:35 +01:00
Axel 3bb3b0d3d5 Revert "Fixed tm loosing control of cars with low fps"
This reverts commit 30fc87a11a.
2020-12-22 20:19:50 +01:00
Axel 30fc87a11a Fixed tm loosing control of cars with low fps 2020-12-22 16:12:26 +01:00
Daniel Santos-Olivan 07d0f66c30 Simulator: We return to sync frame but with lower timeout 2020-12-21 23:04:07 +01:00
Daniel Santos-Olivan 14c22d9267 Fix Async - FixedDeltaTime mode
In ApplySettings we also need to check that the FixedDeltaTime
is correctly set when asynchronous mode.
2020-12-18 22:43:46 +01:00
Daniel Santos-Olivan 846b24cfac Removed synchronization causing timeout in apply_settings 2020-12-18 22:43:46 +01:00
Daniel Santos-Olivan 5d7a978527 Corrected type to avoid compilations issues in windows. 2020-12-17 19:03:20 +01:00
Daniel Santos-Olivan 78aa7cb1bc ApplySettings now check the episode settings
This method now check that the episode settings have
effect in the server as expected.
2020-12-17 19:03:20 +01:00
Jacopo Bartiromo 5170ca5880 Extends mutex to TM stages 2020-12-16 22:02:45 +01:00
Daniel Santos-Olivan 8f6806be69 Added default arguments in PythonAPI for reset settings
Also exposed the reset_settings in the GenerateOpendriveWorld
2020-12-15 22:31:48 +01:00
Daniel Santos-Olivan 4aa97d09ef Added support for load/reload maps without disabling the synchronous mode
Now you can add the option of reset_settings=False for not returning
to default options when you load/reload maps.
By default, reset_settings=True so it does not change the current
behavior of the simulator.
2020-12-15 22:31:48 +01:00
Daniel Santos-Olivan fd18ad85a9 Fix problem with reload map in the new syncronous pipeline 2020-12-15 22:31:48 +01:00
Axel b0fc79a3a6 Updated CarSim API 2020-12-10 20:38:33 +01:00
Axel 802f941fae Added function to set custom carsim simfile. Added option to use ue4 carsim road definition or unreal callback method. 2020-12-10 20:38:33 +01:00
Axel 7739b5eb94 Added first CarSim integration to vehicle class. 2020-12-10 20:38:33 +01:00
doterop 30db7e21d4
Added culling control (#3656)
* Added culling configuration to settings

* Updated changelog
2020-12-09 15:22:20 +01:00
Axel cba230bc0d Added toggle to select deterministic/physically based ragdoll animation. 2020-12-03 12:24:24 +01:00
Daniel Santos-Olivan 3835de9b0d Added sweep wheel option to VehiclePhysicsControl 2020-12-03 12:24:24 +01:00
Axel ad58149d17 Fixed distance > 0.0 bug for landmark search. 2020-12-03 10:07:44 +01:00
Axel 6189aa59f6 Changed the default value of lane change record to match OpenDRIVE specification. 2020-11-25 11:50:00 +01:00
Axel 2fbae920b9 Fixed conversion of std::string to FString. 2020-11-25 09:23:45 +01:00
doterop c98eb974c6 Added Any as a filter option instead of None 2020-11-24 10:30:35 +01:00
doterop a95d3d74a8 Added filter by type 2020-11-24 10:30:35 +01:00
doterop ab16a64ffb Added type to EnvironmentObject 2020-11-24 10:30:35 +01:00
doterop 42d67c2d28 Moved bounding_box to actor 2020-11-20 15:03:03 +01:00
Daniel Santos-Olivan d3879a1c53 Removed warning in LibCarla 2020-11-11 11:17:52 +01:00
Praveen Kumar 50ed66ac2c Registration lock while frame re-allocation 2020-11-07 20:34:10 +01:00
Axel c7ca5d1b2b Review fixes 2020-11-05 16:15:02 +01:00
Axel 5a56cb38d5 Small update to default lane validities. 2020-11-05 16:15:02 +01:00
Axel d7d79c3a63 Fixed bug in waypoint.get_landmarks(). Removed landmarks with lane validity [0,0]. 2020-11-05 16:15:02 +01:00
Daniel Santos-Olivan f6da3d1718 Minor formatting changes 2020-11-05 14:25:04 +01:00
Daniel Santos-Olivan 301eb9032e Changed default substepping parameters 2020-11-05 14:25:04 +01:00
Daniel Santos-Olivan 1c08f651d4 Added warnings for substepping parameters. 2020-11-05 14:25:04 +01:00
Daniel Santos-Olivan bbd3f4df4f Added substepping options in world options
Now, we can modify the substepping in the client.
TODO: Remove Logs
2020-11-05 14:25:04 +01:00
doterop 8f1b401e49
Adding load control on sublevels (#3515)
* Added MapLayer enum

* Added Load/Unload layer functions

* Added calls to register and tag objects on map change

* Added missing file

* Updated MapLayer to support more layers

* Added calls to PythonAPI

* Added default value

* Moved CurrentMapLayer to GI

* Updated manual_control with maplayer handling

* Updated help

* Updated Changelog

* Fixed a missing `;`

* Fixed LoadWorld() API so it works with old code

* Added missing include for shipping builds

* Fixed base enum type of MapLayer

* Removed int number from layer output

* Renamed variables

* MapLayer converted to int32 and added generic enumToString function

* MapLayer back to uint16

Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>
2020-11-02 11:22:49 +01:00