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.
* 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>
* Added raycasting and point projection capabilities to python api.
* Added documentation of new functions.
* Fixed missing .f on floats
Co-authored-by: doterop <daniel.oterop@gmail.com>
* Added new function to calculate BBs on SKM and SM
* Added BB calculation for an array of actors
* Added BB folliage calculation
* Added a call on the GM to get all the BBs of the level
* Fixed Folliage BB calculation.
* GM::GetAllBBsOfLevel now returns the array of BBs
* Added call on the server side to retrieve the BBs
* Removed debug draw calls
* Added call to the PythonAPI
* Added check for empty folliage actors
* Added missing EOF
* Added new RotateVector function
* Added rotation to the BBs
* Update changelog
* Split BB calculation on more functions
* Add tag query and simplified Folliage actor BB calculation
* Look for ISM instead of HISM
* Cleaning comments
* Fixed BB duplication on BP_Procedural_Buildings
* Fixed BB duplication on vehicles BPs
* Added pedestrians case
* Added CityObjectLabel enum on PythonAPI
* Splitted logic in small functions
* Fixed uint8_t
* Merged BB of the lights in a TL
* Splitted work into more functions
* Added missing BB and rotation to TL
* Cleaned comments
* Added missing include
* Changed None to Any in PythonAPI
* Fixed Any enum
* Added check for empty folliage actors
* Added missing EOF
* Added new RotateVector function
* Added rotation to the BBs
* Update changelog
* Split BB calculation on more functions
* Add tag query and simplified Folliage actor BB calculation
* Look for ISM instead of HISM
* Cleaning comments
* Fixed BB duplication on BP_Procedural_Buildings
* Fixed BB duplication on vehicles BPs
* Added pedestrians case
* Added CityObjectLabel enum on PythonAPI
* Splitted logic in small functions
* Fixed uint8_t
* Merged BB of the lights in a TL
* Splitted work into more functions
* Added missing BB and rotation to TL
* Cleaned comments
* Changed None to Any in PythonAPI
* Fixed Any enum
* Fixed rebase
* Fixing wrong BB on splines
* Fixed ISM transform to World
* Fixed duplication of RotateVector
* Added Rotation to BB output string
* Removed hidden components and procedural building
* Fixed string BB output
* Removed logs
* Fixed filter on pedestrians
* Fixed black debug lines in package
Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>
This mode can be enabled in the API and it will keep
a velocity constant.
For now, it needs to be disable automatically but this
can be improved in the future.
* Check for determinism
* Per-vehicle random device
* Parameterised random device seed.
* Changing next waypoint selection logic
to use bucketing random device sample.
Arranging next waypoint selections right to left.
* Change to numpy's random lib
* Sorting blueprints to ensure determinism
* New method for determinism
* ResetAllTrafficLight now works in sync mode.
* Moving recorder stuff to engine module
* Fixed recorder for traffic lights in standalone mode.
* Added check to prevent traffic light from updating during replay.
* Updating old traffic lights to use the traffic light component.
* Moved recorder to posttick.
* Small fix to elapse time function.
* Added reset group function to API.
* Merge with traffic_manager/determinism_check
* Changes in TL reset
Option to save to file for recorder script
* Added automatic signal match with OpenDRIVE.
* Fixed error that caused traffic light actors to be missing in client side.
* Added new frozen behavior.
* Updated documentation and changelog
* Updated ContentVersions.txt
* Review changes.
* fixes merge error
* fixes merge
* Update build_windows.md
Added info about command execution that toke me many time to find out
* Update build_windows.md
Updated as requested in pull request review
* Running Carla when choosing a) deb Carla install
This fixes a minor error in the documentation regarding running carla, if the deb installation was choosen.
* Fix for traffic manager freezing upon map change
* attempt to change sys clock to sim clock
* Remove manual unlock of mutex
* fixing merge error
* Changelog and review fixes
Co-authored-by: Praveen Kumar <pravinblaze@hotmail.com>
Co-authored-by: bernat <bernatx@gmail.com>
Co-authored-by: Axel1092 <axellopez92@outlook.com>
Co-authored-by: Axel1092 <35765780+Axel1092@users.noreply.github.com>
Co-authored-by: Néstor Sabater <web.nsabater@gmail.com>
Co-authored-by: ll7 <32880741+ll7@users.noreply.github.com>
* Added new function to calculate BBs on SKM and SM
* Added BB calculation for an array of actors
* Added BB folliage calculation
* Added a call on the GM to get all the BBs of the level
* Fixed Folliage BB calculation.
* GM::GetAllBBsOfLevel now returns the array of BBs
* Added call on the server side to retrieve the BBs
* Removed debug draw calls
* Added call to the PythonAPI
* Added check for empty folliage actors
* Added missing EOF
* Added new RotateVector function
* Added rotation to the BBs
* Update changelog
* Split BB calculation on more functions
* Add tag query and simplified Folliage actor BB calculation
* Look for ISM instead of HISM
* Cleaning comments
* Fixed BB duplication on BP_Procedural_Buildings
* Fixed BB duplication on vehicles BPs
* Added pedestrians case
* Added CityObjectLabel enum on PythonAPI
* Splitted logic in small functions
* Fixed uint8_t
* Merged BB of the lights in a TL
* Splitted work into more functions
* Added missing BB and rotation to TL
* Cleaned comments
* Added missing include
* Changed None to Any in PythonAPI
* Fixed Any enum
* Added check for empty folliage actors
* Added missing EOF
* Added new RotateVector function
* Added rotation to the BBs
* Update changelog
* Split BB calculation on more functions
* Add tag query and simplified Folliage actor BB calculation
* Look for ISM instead of HISM
* Cleaning comments
* Fixed BB duplication on BP_Procedural_Buildings
* Fixed BB duplication on vehicles BPs
* Added pedestrians case
* Added CityObjectLabel enum on PythonAPI
* Splitted logic in small functions
* Fixed uint8_t
* Merged BB of the lights in a TL
* Splitted work into more functions
* Added missing BB and rotation to TL
* Cleaned comments
* Changed None to Any in PythonAPI
* Fixed Any enum
* Fixed rebase
* Update build_windows.md
Added info about command execution that toke me many time to find out
* Update build_windows.md
Updated as requested in pull request review
* Running Carla when choosing a) deb Carla install
This fixes a minor error in the documentation regarding running carla, if the deb installation was choosen.
* Fix for traffic manager freezing upon map change
* Remove manual unlock of mutex
Co-authored-by: Néstor Sabater <web.nsabater@gmail.com>
Co-authored-by: ll7 <32880741+ll7@users.noreply.github.com>
Co-authored-by: Praveen Kumar <pravinblaze@hotmail.com>
Co-authored-by: bernat <bernatx@gmail.com>
- We needed to change completly the way we store and compute
the data because for some reason we could access the actor
information from the computation threads so we store all
the FHitResult in the Sensor and then we compute the Detection
information when we store in the LidarRawData structure.
As ad-rss-lib is using a right-handed and CARLA left-handed coordinate system, the calculation of the steering angle must be inverted
+ remove obsolete openscenario
* Traffic Manager 2.0
* WIP: new class structure for TM 2.0
Yet to use the new classes in TrafficManagerLocal
* WIP: new class structure integration
* Fix for python api build.
* Fix for hybrid mode crash.
* Fixed incorrect collision cache.
Fixed crash upon map change.
Minor reformatting.
* Fixed collisions with unregistered actors.
Fixed collisions among multiple traffic manager instances.
Fixed vehicle destruction upon being stuck for too long.
* Fixed vehicle wobble on steep roads
* Waypoint buffer extension at junction entrance.
* WIP: Revamped intersection anticipation.
* Implemented waypoint occupancy tracking.
* * considering buffer independent waypoints
for determining blocked junction exit.
* considering longitudinal extreme points
for localizing unregistered actors.
* Removed debug statements
* Intersection anticipation for vehicles moving across path.
* Fixed intersection anticipation in Town03, Town04.
* Safe interval length check for intersection anticipation.
* Distance check from safe interval for blocked exit.
* Removed debug statements
* * Intersection anticipation exception for roundabout in Town03.
* Updated comments.
* codacity fix
* more codacity fixes
* formatting and minor changes
* bad indentation
* Removed debug statements and updated comments.
* fixes unused variable error in make examples
* Increased minimum obstacle distance for lane change
to avoid partial lane changes.
* Removing crude stopping logic at junction entrance
for blocked junction case.
* Ignoring small intersection segments
for intersection anticipation.
* Fixed issue in unblocking mechanism
due to incorrect clock initialization.
* Fixing intersection entrance identification.
* Fixed incorrect safe space after junction detection.
* Fixed collision negotiation conditions
to work well inside intersections
and avoid deadlocks in roundabout turns.
* Replaced in file constants of InMemoryMap
with definitions from Constants.h
Updated comments
* Added a check to avoid collision considerations
in case of traffic light hazard in motion planner.
* Re-organised include statements for ALSM.h/.cpp files.
Fixed a double initialization precision.
* WIP: Refactoring ALSM::Update
* Refactored ALSM::Update into shorter functions.
* ALSM: Corrected numeric comparision precision
and container access optimizations.
* Initial review changes
* CollisionStage: addressed pr comments.
* Constants.h, DataStructures.h: addressed pr review comments.
* InMemorMap: review comment addressal.
* LocalizationStage: Review comment addressal
* New class for random generation instead of rand()
* Removed unused code
* MotionPlanStage: re-organized include statements.
* MotionPlanStage: review comment addressal.
* SimulationState, DataStructures: minor refactoring.
* SnippetProfiler, TrackTraffic: Review comment addressal.
* Refactored include statements for
SimpleWaypoint, SnippetProfiler, TrackTraffic files.
* TrafficLightStage: review comment addressal.
* Using sleep instead of continue to time hybrid mode.
* Changing fixed array allocation with dynamic resizing.
* Refactored include statements for TrafficManager
* Removed clamp macro
* Added const to Networking constants
Co-authored-by: Jacopo Bartiromo <jackbart94@gmail.com>
Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com>
to initiate pipeline in synchronous mode.
Restricting teleportation to forward direction only
by checking teleportation transform in batch control stage.
Create RssCheck (again) when Listen is called to prevent from creating
loggers all the time someone lopps over the actor list and the
actor/sensor instances getting created.
Only traverse actor list in CreateWorldModel once.
tbb::parallel_for_each() gets already created actors and doesn't loop
itself over actor list (which blocks).
Finally changed code format of RSS to keep 120 chars per line.
* Improved braking, collision negotiation.
* Improved braking algorithm for smoother approach
to lead vehicle.
* Implemented smoother path boundary modification
to aid smoother braking.
* Re-worked collision negotiation algorithm.
* Improved collision candidate filtering.
* Added safe-guard in case of vehicle removal
in collision stage.
* Used local variable for heavily referenced object
in localization stage.
* Implemented vector relative velocities
for motion planner's collision consideration.
* Moved collision candidate sorting logic
from collision stage to localization stage.
* Sorting collision candidates using their ids
instead of shared pointers to avoid memory corruption.
* Improved conditions for collision consideration
for greater efficiency.
* Removed fps limit in async mode.
* removed unused variable e
* Implemented more details in snippet profiler
Demonstration of compute bottleneck demo
* Deeper bottleneck investigation demo
* * Implemented road curvature threshold for path polygon
vertex selection
* Implemented direct boost point append to construct polygons
* * Fix for polygon shrink bug.
* Changed polygon start point relative to front waypoint
instead of vehicle location.
* Removed debug statements
* Implemented lock and track logic for collision avoidance
instead of state-less boundary extension.
Improved braking logic to approach moving lead vehicle
until a threshold and then following it at distance.
* Increased vertical overlap threshold
to accomodate high slope roads.
* Implemented PR review change
* Fixed collision negotiation bug inside junctions.
* Implemented speed dependent (linear) follow distance.
Temporary solution to flush overcompensating controller state.
* Clamped velocity integral to avoid accumulating
over-compensation for vehicles that take
a long time to reach high target velocities.
* changes to pid values
changes to collision stage conditions
Co-authored-by: Jacopo Bartiromo <jackbart94@gmail.com>
Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com>
Co-authored-by: bernat <bernatx@gmail.com>
Added Waypoint Binning changes
- Improved waypoint buffer scanning.The buffer need not to be fully scanned to find the target waypoint
- Improvised Localization Util class for getting targetWaypoint
and tried to spot the remaining CamelStyle variable names and changed to
snake_style
Added code formatting script and clang-format slightly changed from
google format:
AccessModifierOffset: -1 -> -2
AllowShortFunctionsOnASingleLine: All -> Empty
ConstructorInitializerIndentWidth: 4 -> 2
Move carla::client::Timestamp ostream operator to Timestamp.h to enable
reuse in log messages
Use of generated python interfaces of ad::physics, ad::map and ad::rss
types
RssSensor (and therefore also the RssRestrictor) now work globally on
the whole road network.
RssCheck: object conversion done in parallel using tbb
* Initial implementation of t.m. performance script
* Remove redundant getLocation() calls
* Demo for inter-client communication via Carla server
* WIP: To do: For client usage needed to be changed.
* Instead or client instance episodeProxy is passed to TM
* Instead or client instance episodeProxy is passed to TM
* parmeter improvements (walkers,cars,signs,lights)
* adding section id to map setup
* fix manual_control to reload car with autopilot on
* Instead of client instance episodeProxy is passed to TM.
* WIP: Only added vehicle register via RPC server / client call in TM to
local instance from remote instance. Similarly other APIs we need to
added.
* Added all TM APIs
* carla client now can provide TM instance if required.
* While getting TM instance if server given data is not valid new TM
instace is created. Need to decide what to do with earlier registed
vehicle with previous TM.
* Updated with HealthCheckRemoteTM() function to check TM server status
instead of ResetAllTrafficLights() for any new user client.
* Dynamic port selection added to TM server instace (in case of multiple
TM serve run, it required).
* Fixed change map error
* If registered TM at carla server is not present then remote TM should be
freed and new local TM instance is created.
* Created Process for Local TM.
It cheaks with total registered vehicles in it, if no register vehicles
for 5 sec, it closes it self.
In python spawn_npc.py Client Timeout set to 10 sec. as creating Process
is system dependent call and takes time.
User has to unregister vehicle before destroying it (if activated with
TM). Also neet to check TM unregister function to remove vehicles from
register list.
* Fix for collision ignore bug
* Update TM exit function check to compare registered vehicles with world
actors that if any valid vehicle present cointinue to run the TM else
stop.
* Print removal
* Splited work of main for loop in ApplyBatchCommandsSync
* WIP! Trying to get client directly
* WIP! Trying to access episode properly without getting it from TM ctr
* Changes to BatchControlStage for Sync Mode
Changes to Parameters for Synch Mode
* Added port support for TM. Multiclient MultiTM
* Added additions for RPC Synchronous Tick to TM.
Error handeling and code organization.
* Exposed API for Sync Mode
* TMServer notifies Server that it is gonna be destroyed
* Exposed Python API for Sync Mode
* Add TM as separate process and synchronous tick calls
* SetSynchronousModeTimeOutInMiliSecond method added
* TM shutsdown and informs to the connected clients
* WIP! Map change issues again
* Updated Traffic Manager for:
1) Multi-client, Multi-TM (as required) can be reistered to server.
2) TM is not a PROCESS separated from the user-client.
3) TM will exit if user-client exit.
4) If server closed, TM also get closed by catching runtime err.
* Server side changes ...
* Fixed possible stall on TM destruction
* fixing collision stage + cybertruck not safe
* Merge branch 'master' into 'soumyadeep/traffic_manager'
* WIP! Disconnection of server has to be properly handled by clients
* format update
* Fix bug unsignalized junctions
* # WARNING: head commit changed in the meantime
Merge branch 'doterop/traffic_manager' into soumyadeep/traffic_manager
Updates for Syncronized Tick.
* Updated runtime exception in Episode for smooth exit if TN server closed
for any other user client.
* Better Exception handeling
* Merged with jackbart94/tm_reduce_getloc_calls
* Merged soumyadeep/traffic_manager.
Removed World getter and recovered Episode as a parameter of TM ctr.
Fixed syntax errors.
* Initial implementation of t.m. performance script
* Remove redundant getLocation() calls
* Demo for inter-client communication via Carla server
* WIP: To do: For client usage needed to be changed.
* Instead or client instance episodeProxy is passed to TM
* Instead or client instance episodeProxy is passed to TM
* parmeter improvements (walkers,cars,signs,lights)
* fix manual_control to reload car with autopilot on
* Instead of client instance episodeProxy is passed to TM.
* WIP: Only added vehicle register via RPC server / client call in TM to
local instance from remote instance. Similarly other APIs we need to
added.
* Added all TM APIs
* carla client now can provide TM instance if required.
* While getting TM instance if server given data is not valid new TM
instace is created. Need to decide what to do with earlier registed
vehicle with previous TM.
* Updated with HealthCheckRemoteTM() function to check TM server status
instead of ResetAllTrafficLights() for any new user client.
* Dynamic port selection added to TM server instace (in case of multiple
TM serve run, it required).
* Fixed change map error
* If registered TM at carla server is not present then remote TM should be
freed and new local TM instance is created.
* Created Process for Local TM.
It cheaks with total registered vehicles in it, if no register vehicles
for 5 sec, it closes it self.
In python spawn_npc.py Client Timeout set to 10 sec. as creating Process
is system dependent call and takes time.
User has to unregister vehicle before destroying it (if activated with
TM). Also neet to check TM unregister function to remove vehicles from
register list.
* Fix for collision ignore bug
* Update TM exit function check to compare registered vehicles with world
actors that if any valid vehicle present cointinue to run the TM else
stop.
* Splited work of main for loop in ApplyBatchCommandsSync
* WIP! Trying to get client directly
* WIP! Trying to access episode properly without getting it from TM ctr
* Changes to BatchControlStage for Sync Mode
Changes to Parameters for Synch Mode
* Added port support for TM. Multiclient MultiTM
* Added additions for RPC Synchronous Tick to TM.
Error handeling and code organization.
* Exposed API for Sync Mode
* TMServer notifies Server that it is gonna be destroyed
* Exposed Python API for Sync Mode
* Add TM as separate process and synchronous tick calls
* SetSynchronousModeTimeOutInMiliSecond method added
* TM shutsdown and informs to the connected clients
* WIP! Map change issues again
* Updated Traffic Manager for:
1) Multi-client, Multi-TM (as required) can be reistered to server.
2) TM is not a PROCESS separated from the user-client.
3) TM will exit if user-client exit.
4) If server closed, TM also get closed by catching runtime err.
* Fixed possible stall on TM destruction
* fixing collision stage + cybertruck not safe
* Merge branch 'master' into 'soumyadeep/traffic_manager'
* WIP! Disconnection of server has to be properly handled by clients
* format update
* Fix bug unsignalized junctions
* # WARNING: head commit changed in the meantime
Merge branch 'doterop/traffic_manager' into soumyadeep/traffic_manager
Updates for Syncronized Tick.
* Updated runtime exception in Episode for smooth exit if TN server closed
for any other user client.
* Better Exception handeling
* Merged with jackbart94/tm_reduce_getloc_calls
* Merged soumyadeep/traffic_manager.
Removed World getter and recovered Episode as a parameter of TM ctr.
Fixed syntax errors.
* Rebased with master
* Changes after rebase
* Solving tab errors
* Updated Changelog
* Removing Destroyed vehicle's from TM Server
* Fixed uint compatibility with Windows
* Merged soumyadeep/traffic_manager. Discarded destroyed actors
* -Removed unnecessary files
* restoring docs from rebase
* Fix windows compilation
* refactoring stage-related code
* more code refactoring
* When map change the simulation doesn't throw exception anymore
* Fixed incorrect episode
* Fixed map change and TM remote detached thread destruction
* Syntax and comments fixes
* Missed change on previous commit
* Fixed compile minor compile issue
* Cleaned and fixed some issues after merge
* fix to sync localization bugs
modified PID parameters
revamping spawn_npc
* deleted tm_spawn_npc
* fixes spawn error in sync mode
* Redoing TM sync logic
* finished performance benchmark for tm
* deprecated wrapped methods:
register_vehicle
unregister_vehicle
* New TM management
* Fixed sync mode on TM
* Cleaned TM of prints and unussed functions
* collision stage checks for (0,0,0) to ignore.
in memory map has an # between keys to avoid possible mixup.
fixed spawn_npc with new sync mode
* changelog
* added more connection retries
* fixed changelog + comments (see reviewable)
* Moved socket include's to single header
* Added missing line at the end of the file
* Fixed syntax errors
* final commit
* Minor correction in comment
* update copyright year to 2020 + removed break
* restoring unwanted changes
* patch for smoke test error
* Removed "todo" for pylint
Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com>
Co-authored-by: Praveen Kumar <35625166+pravinblaze@users.noreply.github.com>
Co-authored-by: Soumyadeep <soumyadeep.dhar@kpit.com>
Co-authored-by: joel-mb <joel.moriana@gmail.com>
Co-authored-by: Sekhar Barua <58979936+sekhar2912@users.noreply.github.com>
Co-authored-by: bernat <bernatx@gmail.com>
Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>