Commit Graph

1395 Commits

Author SHA1 Message Date
Jacopo Bartiromo 4757ce4dcc
Fixes a map change error when TM is in synchronous mode (#3288)
* 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>
2020-09-16 13:11:04 +02:00
doterop 5bdd65ca0e Added call to the PythonAPI 2020-09-10 15:48:22 +02:00
bernat e8f103c786 Remove unused .xodr parsing call 2020-09-09 23:07:34 +02:00
Axel 63ad110bf5 Fixed test compilation. 2020-09-03 19:27:53 +02:00
Axel 15f93a6862 Added libpng to linux setup. 2020-09-03 19:27:53 +02:00
Pasch, Frederik 5f67e28821 Update RSS library to 4.1.0
Add setMapLogLevel() to rss sensor API
2020-09-03 16:15:54 +02:00
Marc Garcia Puig b15f0d2d50 Added Terrain sem seg label 2020-09-02 14:44:42 +02:00
Marc Garcia Puig aabde2182b Small color fix 2020-09-02 14:44:42 +02:00
Marc Garcia Puig 564a15989b Added sem seg water and changed Dynamic color 2020-09-02 14:44:42 +02:00
Marc Garcia Puig 8cff64fd00 Added new semantic tags 2020-09-02 14:44:42 +02:00
bernat d23ce106bc Add stop for the replayer 2020-07-31 16:38:41 +02:00
Marc Garcia Puig 3d3e82f8ad Added Sky, Ground and Bridge 2020-07-31 15:16:06 +02:00
Daniel Santos-Olivan 96d0ae27e6 Refactor SemanticLidar in LibCarla and PythonAPI 2020-07-31 15:15:01 +02:00
Daniel Santos-Olivan e0430e66a1 Refactor SemanticLidar in server side. 2020-07-31 15:15:01 +02:00
Jacopo Bartiromo c2cc075d23 Changes in apply batch command for async mode 2020-07-31 15:14:14 +02:00
Daniel Santos-Olivan 0ea498f744 Indentation correction 2020-07-30 15:16:42 +02:00
Daniel Santos-Olivan 53f54ee0b7 Fix minor header return. 2020-07-30 15:16:42 +02:00
Daniel Santos-Olivan 92892ec8e9 Rewrite of RayCastLidar to inherit from RayCastRawLidar
to reuse code
2020-07-30 15:16:42 +02:00
Daniel Santos-Olivan 12cf111a45 Rewrite the RayCastRawLidar to store all info
- 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.
2020-07-30 15:16:42 +02:00
Daniel Santos-Olivan 3c5f051f93 Changed data structures to data folder 2020-07-30 15:16:42 +02:00
Daniel Santos-Olivan 3e1f17741c LidarRawData now inherits from LidarData to avoid repetion of code 2020-07-30 15:16:42 +02:00
Daniel Santos-Olivan 08e97be923 Rename LidarData and prepare it for merge it with LidarRawData 2020-07-30 15:16:42 +02:00
Daniel Santos-Olivan a4a9197c20 Removed unused file 2020-07-30 15:16:42 +02:00
Daniel Santos-Olivan 4f2fec1f64 Addapted PointCloud to both Lidars 2020-07-30 15:16:42 +02:00
Daniel Santos-Olivan e93f9d328d Added needed Writing functions to old lidar 2020-07-30 15:16:42 +02:00
Daniel Santos-Olivan fdb3553b2c Added data/serializer structures for RayLidar 2020-07-30 15:16:42 +02:00
Daniel Santos-Oliván f26ae8f8ac RayCastRawLidar: First version, still in a very early stage. 2020-07-30 15:16:42 +02:00
Axel cb431f1015 Removed debug warning. 2020-07-30 12:31:19 +02:00
Axel1092 7b455ce92e Compensate traffic light displacement. 2020-07-28 09:28:17 +02:00
Axel1092 215ceff451 Added stops in the ground from roadrunner. 2020-07-28 09:28:17 +02:00
Axel1092 284f1e726f Ficed conversion from object record to signal. 2020-07-28 09:28:17 +02:00
Axel1092 cbd12ac056 Added detection of 'Speed_' object record from roadrunner to interpret it as a speed signal. 2020-07-28 09:28:17 +02:00
Pasch, Frederik d20e6ef7ca RSS: Cleanup
- Only calculate for new frames
- Return calculation result
2020-07-23 12:59:37 +02:00
Pasch, Frederik e70480c664 RSS: Fix calculation of steering angle
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
2020-07-23 12:59:37 +02:00
Axel1092 64aa5b0396 Fixed road discretization for long geometries. 2020-07-17 20:04:58 +02:00
Bernd Gassmann 0332185e6f Update PythonAPI docu
+ Codeformatting of RSS parts
2020-07-14 17:53:28 +02:00
Pasch, Frederik 88ae9d04ae Update to AD RSS Library 4.0.0
- Added support for unstructured scenes and pedestrians.
- Rework rss example folder structure
- Python based debug drawing
- Handle negative speeds
- Fixes #2871 by linking libproj statically.
- Fixes #2958 by using sequential colcon build
- Allow setting log level
- Add ActorConstellationCallback
- Move setting of RssDynamics to python code
2020-07-14 17:53:28 +02:00
Axel1092 2d26512209 Added new frozen behavior. 2020-07-10 11:36:31 +02:00
Axel1092 07d016d318 Added reset group function to API. 2020-07-10 11:36:31 +02:00
Daniel Santos-Olivan 43e2809249 Added a warning when the SprintArm transformation
is ill formed.
2020-07-09 10:24:45 +02:00
Daniel Santos-Olivan 0d6a2ea184 Added default constructor for LidarDetection 2020-07-08 11:44:23 +02:00
Daniel Santos-Olivan 1926b68e70 Change variable name to adapt to code standard and added
stream operator for LidarDetection
2020-07-08 11:44:23 +02:00
Daniel Santos-Olivan 8e68cbdd8a Fix error in the serializer of LidarMeasurament. 2020-07-08 11:44:23 +02:00
Daniel Santos-Olivan a3ba5ca8f0 Change from xyz to rpc::Location 2020-07-08 11:44:23 +02:00
Daniel Santos-Olivan 1d9bb78a8d Format changes to answer review 2020-07-08 11:44:23 +02:00
Daniel Santos-Olivan 89da61292d Exposing the 4-matrix form of the transformation
to the client API
2020-07-08 11:44:23 +02:00
Daniel Santos-Olivan da2e29f5ef Lidar Intensity: Added intensity to lidar's output
For now, only takes into account the intensity loss
due to the the atmosphere atenuation.
2020-07-08 11:44:23 +02:00
Daniel Santos-Olivan 62e8b4ec1e Fix error in the inverse 4-matrix transformation 2020-07-02 12:22:12 +02:00
Daniel Santos-Olivan 1aa286f6a9 Added a getter to the 4-matrix form of the
inverse transformation for the client
2020-07-02 12:22:12 +02:00
Daniel Santos-Olivan 7e2b57338b Exposing the 4-matrix form of the transformation
to the client API
2020-07-02 12:22:12 +02:00
Axel1092 f39bc70242 Added velocity, acceleration and platform time to recorder. 2020-07-02 11:53:36 +02:00
bernat 315bfc45bf Trimming spaces and renaming variable 2020-06-30 13:12:22 +02:00
bernat b6639328ac Removing pointer to function, applying Nestor cleaner method 2020-06-30 13:12:22 +02:00
bernat e5861e5c91 Adding 'atomic' library at linking on Ubuntu 2020-06-30 13:12:22 +02:00
bernat acd85f0624 Made pointer to class method as atomic pointer 2020-06-30 13:12:22 +02:00
bernat 9b716e1698 All streams are multi stream now 2020-06-30 13:12:22 +02:00
Marc Garcia Puig 083d579961 Added default values for lanes missing width 2020-06-18 14:51:51 +02:00
Marc Garcia Puig f5bf74aafc Nagle's algorithm deactivation has been forced 2020-06-18 14:50:26 +02:00
doterop f114dc0aa1
Remove intermediate map when changing map. (#2911)
* Fixed load_new_episode and removed intermediate check.

* Recovered intermediate state.

* Removing intermediate map

* Fixing merge issue

* Remove unnecessary check in load_new_episode
2020-06-15 10:53:26 +02:00
Marc Garcia Puig 97cb2dfec0 Fixed fog_falloff in Boost Python 2020-06-10 14:43:21 +02:00
Marc Garcia Puig cd49cbc3b2 Fixed fog_falloff constructor 2020-06-10 14:43:21 +02:00
Marc Garcia Puig 07fe7a7153 Added weather parameter fog_fallow to PythonAPI 2020-06-10 14:43:21 +02:00
Praveen Kumar d2457a2e8c Implemented spatial index tree for
waypoint indexing and querying.
2020-06-09 15:26:02 +02:00
Marc Garcia Puig fc133121c7 Added get function for all car light states 2020-06-08 10:49:31 +02:00
Marc Garcia Puig 923960751f Added batch command SetVehicleLightState 2020-06-08 10:49:31 +02:00
Praveen Kumar 1e98335808
Traffic manager 2.0 (#2833)
* 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>
2020-06-05 00:02:10 +02:00
Néstor Subirón 66166399bb Fix wrong assert 2020-06-04 14:31:18 +02:00
Néstor Subirón ae6d327d1f Fix false positive assert in Array offset 2020-06-04 14:31:18 +02:00
Néstor Subirón 172aa55186 Fix threads not properly stopped on streaming tests 2020-06-04 14:31:18 +02:00
Néstor Subirón 4f11c03b94 Fix UB in MsgPack for empty strings 2020-06-04 14:31:18 +02:00
Néstor Subirón 15c250ad2a Fix division by zero 2020-06-04 14:31:18 +02:00
Axel1092 d26f69957f Added fast conversion from/to FString and std::string. 2020-05-29 12:34:29 +02:00
Marc Garcia Puig 3e8e6dc4de Fixed MeshFactory circular dependency 2020-05-29 12:34:29 +02:00
Axel1092 827368588d Updated docs and CHANGELOG. 2020-05-29 12:34:29 +02:00
Axel1092 cd277af189 Code clean up. 2020-05-29 12:34:29 +02:00
Axel1092 605c99136d Improved standalone mesh split. 2020-05-29 12:34:29 +02:00
Axel1092 543f502512 Fixed large RAM usage in cubic polinomial curves. 2020-05-29 12:34:29 +02:00
Axel1092 734912df54 Added optional recast execution. 2020-05-29 12:34:29 +02:00
Axel1092 381d6b2d97 Fixed string length limit in ToFString and FromFString in String.h. Fixed some parameters not used in standalone mode. 2020-05-29 12:34:29 +02:00
Javier Hidalgo-Carrió 26441431e4 DVSEventArray: boolean in +1 and -1. DVSCamera: set default threshold values 2020-05-08 20:08:27 +02:00
Javier Hidalgo-Carrió 38432de658 python api: move logic in sensor data methods to DVSEventArray 2020-05-08 20:08:27 +02:00
Marc Garcia Puig 9f5f4b9a2e Moved ToImage() and added a use case in man_contr 2020-05-08 20:08:27 +02:00
Marc Garcia Puig a55c71ad4f Added our standard noise to DVS sensor + Win fixes 2020-05-08 20:08:27 +02:00
Marc Garcia Puig 87ac3b9a6d Minor fixes and code style adaptation 2020-05-08 20:08:27 +02:00
Javier Hidalgo-Carrió c45614c983 DVS camera sensor implementation 2020-05-08 20:08:27 +02:00
Marc Garcia Puig 50d70709fc Fixed wrong operator 2020-05-08 12:12:57 +02:00
Marc Garcia Puig 3afd89074c Adjusten mesh generation EPSILON 2020-05-08 12:12:57 +02:00
Axel1092 f99a06f7e5 Bug fixes: poly geometries problems at s = 0, crash when computing junction bounding box, crash in GetNextUntilLaneEnd and GetPreviousUntilLaneStart for very short roads. 2020-05-08 12:12:57 +02:00
bernat b67ba6c3c9 Updating to master 2020-05-06 13:09:12 +02:00
Vaan5 06cbfa673d Add missing include in WheelPhysicsControl.h 2020-05-06 13:09:12 +02:00
bernat 4dc6eba755 New API function to add angular impulse to an actor 2020-05-05 11:16:23 +02:00
kbu9299 bcf542f579 Fix typos 2020-05-04 10:05:18 +02:00
kbu 9d66a06caf Correct the proper checking for left lane marking 2020-04-22 20:59:21 +02:00
Axel1092 ff97d65cc0 Fixed server-client sincronization for map change. 2020-04-22 20:58:46 +02:00
doterop 4384e386c2
Light API (#2756)
* Added CarlaLight class.

* Added get and set for carla light type.

* Added LightManager, Light and LightState

* Fixed unapplied changes

* Fixed LM::GetAllLights

* Fixed Python getter

* Added LightManager, Light and LightState. Python bindings included.

* Completed LightManager communication and LightSubsystem on server

* Fixed concurrency and color conversion

* Added check for null case on RegisterLight and UnregisterLight

* Fixed map change crash in editor.

* Added client syncronization.

* Updated Python docs.

* Fixed client sync

* Added CarlaLight class.

* Added get and set for carla light type.

* Added LightManager, Light and LightState

* Fixed unapplied changes

* Fixed LM::GetAllLights

* Fixed Python getter

* Added LightManager, Light and LightState. Python bindings included.

* Completed LightManager communication and LightSubsystem on server

* Fixed concurrency and color conversion

* Added check for null case on RegisterLight and UnregisterLight

* Fixed map change crash in editor.

* Added client syncronization.

* Updated Python docs.

* Fixed client sync

* Updated changelog

* New iteration on lights docs

* Fixed docs

* Content version updated

* Removed NonCopyable

* Compilation fix.

Co-authored-by: Axel1092 <axellopez92@outlook.com>
Co-authored-by: sergi-e <rigesklaine@gmail.com>
Co-authored-by: bernat <bernatx@gmail.com>
2020-04-17 12:29:54 +02:00
doterop 5d177eb4bb set_autopilot now uses the TM port instead of the TM object 2020-04-16 12:36:53 +02:00
Praveen Kumar 50281d7ecb Hot fix for PyEval error 2020-04-16 12:36:53 +02:00
bernat 4d448fc49c Removed some Epsion from calculations 2020-04-14 21:00:04 +02:00
Axel1092 6f3c4788d8 Added displacement to signals overlapping driving lanes. Fixed crash when closing spawn_npc with signals. 2020-04-14 21:00:04 +02:00
Marc Garcia Puig 0480feb230 Prevent sedewalks to be smoothed in junctions 2020-04-14 11:32:44 +02:00
Axel1092 6bcb390d1f Fixed crash when generating signals with an s position equal to the road length. 2020-04-13 18:26:11 +02:00
Marc Garcia Puig 3443a64db2 Fixed GetCornerPositions 2020-04-13 16:50:32 +02:00
Marc Garcia Puig d23e3d5f82 Fixed waypoint positive lanes offset heading 2020-04-13 16:50:32 +02:00
Marc Garcia Puig 1a9f87ff48 Fixed a rotation calculus error on lanes with positive id affected by a lane offset 2020-04-13 16:50:32 +02:00
Marc Garcia Puig 487d4e678b Some PR fixes 2020-04-13 16:50:32 +02:00
Marc Garcia Puig b28cb75273 Fixed codacy issue 2020-04-13 16:50:32 +02:00
Axel1092 d5c57e8903 Added parameter to enable/disable junction smooting. Moved config file variables to CarlaGameInstace for opendrive generation parameters. 2020-04-13 16:50:32 +02:00
Axel1092 c845db64e4 Rebase fix. 2020-04-13 16:50:32 +02:00
Axel1092 856979906e Split code into more functions. 2020-04-13 16:50:32 +02:00
Axel1092 ced9fccd18 Compilation fix. 2020-04-13 16:50:32 +02:00
Axel1092 6cc59261d8 Added modified laplacian smoothing for generated meshed in junctions. 2020-04-13 16:50:32 +02:00
Marc Garcia Puig e2c0349ef6 Exposed max chunk size to the PythonAPI 2020-04-13 16:50:32 +02:00
Axel1092 5ddb97a58e Added parameter to disable rendering meshes generated from OpenDRIVE. 2020-04-13 16:50:32 +02:00
Marc Garcia Puig 40ee5705d6 Added walls to the mesh chunks 2020-04-13 16:50:32 +02:00
Marc Garcia Puig 00a73c4f02 Splited the map generation in chunks 2020-04-13 16:50:32 +02:00
Marc Garcia Puig 832b293a33 Added MeshFactory + improved code architecture 2020-04-13 16:50:32 +02:00
codeffee 01f98aac07 Fixing Windows compilation errors and some warnings 2020-04-13 13:06:38 +02:00
doterop a108bf5b3b Updated default value for TM. Now should be retrocompatible. 2020-04-13 13:06:38 +02:00
doterop 66efc6ea17 Cleaned some TM includes 2020-04-13 13:06:38 +02:00
doterop 2f6b8e048f Change to support default parameter to keep compatibility 2020-04-13 13:06:38 +02:00
doterop 79d6298395 Cleaned logs 2020-04-13 13:06:38 +02:00
doterop 64cc616938 Added changes to SetAutopilot BatchCommand 2020-04-13 13:06:38 +02:00
doterop f2f4b229d7 Updated set_autopilot to get tm as a parameter 2020-04-13 13:06:38 +02:00
Praveen Kumar 6b1a5db4f6 Implemented carla::geom::Vector3D::MakeSafeUnitVector 2020-04-09 19:48:03 +02:00
Praveen Kumar ba6957b405 Magnitude guard on vector normalization. 2020-04-09 19:48:03 +02:00
berndgassmann b0787c0018
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-04-09 15:23:00 +02:00
Axel1092 9d76978f93 Fixed get_all_landmarks functions returning invalid landmarks when using world.get_map().get_all_landmarks(). 2020-04-09 14:47:49 +02:00
bernat 5e7c6bb783
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-04-09 12:18:23 +02:00
Jacopo Bartiromo b839cf3419
Minor changes to Traffic Manager (#2708)
* removes vertical offset
changes in radius
radius increasing with higher velocity

* changes to collision detection policy

* introducing radius as parameter
removed radius increasing with velocity
2020-04-09 09:56:04 +02:00
berndgassmann 53967647ed
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-04-08 16:00:03 +02:00
Praveen Kumar 30edd5ce2c Implemented changes to track multiple hero vehicles
in hybrid physics mode.
2020-04-08 15:45:52 +02:00
berndgassmann f02c269bd1
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-04-08 14:55:41 +02:00
Praveen Kumar 8c7ac56f8f Implemented changes to account for corners
of unregistered vehicles during localization.
2020-04-08 14:26:34 +02:00
berndgassmann cf413fa8b4
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-04-07 17:05:32 +02:00
Néstor Subirón 499b189fe7 Fix compilation issue with BullseyeCoverage 2020-04-06 17:40:25 +02:00
Bernd Gassmann f3930a8f0f Ensure make package always package the correct version
Add postfix to libcarla_client{_rss}{_debug}.a in RSS variant.
make package target always rebuilds the final python shared library and
so cannot package wrong version.
Put LGPL lisence in python egg if RSS is linked.
2020-04-03 19:57:44 +02:00
berndgassmann 07fafaea67
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-04-02 19:59:17 +02:00
Axel1092 bdd0aaaac9 Added function to retrieve landmarks in the same group. 2020-04-02 19:01:31 +02:00
Axel1092 e24bcebfbf Added get landmarks functions from map. 2020-04-02 19:01:31 +02:00
Bernd Gassmann 938c4516ae Added detailed documentation of RSSSensor 2020-04-01 11:51:33 +02:00
berndgassmann 5743930238
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-04-01 08:25:14 +02:00
Praveen Kumar fe86dc21d1 Changed ApplyBatchSync call by passing do_tick_cue=true
to reduce longitudinal oscillation in hybrid physics mode.
2020-03-31 23:04:04 +02:00
Praveen Kumar 58c7fe3539 Implemented waiting trigger in localization stage
to initiate pipeline in synchronous mode.

Restricting teleportation to forward direction only
by checking teleportation transform in batch control stage.
2020-03-31 23:04:04 +02:00
Bernd Gassmann 179ec725fa Fix some robustness issues
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.
2020-03-31 18:30:50 +02:00
berndgassmann 849a6c54c5
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-03-31 18:28:22 +02:00
Praveen Kumar 858a58556f
Hot Fixes For Hybrid Physics Mode (#2680)
* 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.

* Hybrid physics mode

* Introduced hybrid physics mode parameter
* Implemented physics independent velocity computation
* Modified localization stage to be physics agnostic

* Fixing velocity compute interval in sync and async mode.
Made motion planner stage work with internally computed velocities.

* Made collision stage agnostic to actor physics

* Sampling waypoint buffer for teleportation window

* WIP: Teleportation changes

* WIP2: Teleportation changes

* Fixes waypoint window and vehicle spawning

* hotfix to performance benchmark

* comment out debugs

* changelog

* fixes collision bug

* fixes package error and out_of_range bug

* WIP: Hybrid mode oscillation bug

* Added vertical offset parameter for physics-less mode.
Restricting longitudinal waypoint offset to forward only.

* remove comment

Co-authored-by: Jacopo Bartiromo <jackbart94@gmail.com>
Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com>
2020-03-31 14:56:18 +02:00
Axel1092 1e06309953 Added warning when signals overlap driving lanes. 2020-03-31 12:12:02 +02:00
Marc Garcia Puig 0eed245e34 Review fixes 2020-03-31 12:11:39 +02:00
Marc Garcia Puig 5520f31d0a Exposed road mesh generation params to PythonAPI 2020-03-31 12:11:39 +02:00
Marc Garcia Puig b94180b0ce Fixed wall generation 2020-03-31 12:11:39 +02:00
Marc Garcia Puig 0999b0ba05 Added basic walls to standalone OpenDRIVE mode 2020-03-31 12:11:39 +02:00
berndgassmann dc6c80a820
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-03-31 10:28:35 +02:00
Jacopo Bartiromo 151e38ce8d
Hybrid mode for Traffic Manager (#2674)
* 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.

* Hybrid physics mode

* Introduced hybrid physics mode parameter
* Implemented physics independent velocity computation
* Modified localization stage to be physics agnostic

* Fixing velocity compute interval in sync and async mode.
Made motion planner stage work with internally computed velocities.

* Made collision stage agnostic to actor physics

* Sampling waypoint buffer for teleportation window

* WIP: Teleportation changes

* WIP2: Teleportation changes

* Fixes waypoint window and vehicle spawning

* hotfix to performance benchmark

* comment out debugs

* changelog

* fixes collision bug

* fixes package error and out_of_range bug

* changes after review

* Left & Right Transit of a lane: Waypoint mapping

Co-authored-by: Praveen Kumar <pravinblaze@hotmail.com>
Co-authored-by: Soumyadeep <soumyadeep.dhar@kpit.com>
2020-03-30 22:53:29 +02:00
doterop 081de023ce Added methods to get trafficlights and trafficsigns from landmarks 2020-03-30 19:44:46 +02:00
Bernd Gassmann d913938f1f Integrate ad-rss without find_package to cope with cmake 3.5 and newer boost version 2020-03-30 17:52:37 +02:00
berndgassmann 5dda249040
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-03-30 17:49:15 +02:00
Axel1092 1b108a027c Review fixes. Added default lane validity if missing record in OpenDRIVE. Added Automatic spawn of traffic lights and signals to the map generation without geometry. 2020-03-30 14:40:39 +02:00
Axel1092 df75abf5bf Added stop sign automatic triggerbox generation. 2020-03-30 14:40:39 +02:00
Axel1092 d2b9c7e11f Added computation of conflicting road in junctions. 2020-03-30 14:40:39 +02:00
berndgassmann ee5c7c8c42
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-03-30 09:46:50 +02:00
Praveen Kumar a075e4fc5c
Collision avoidance and braking improvements (#2650)
* 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>
2020-03-28 16:26:50 +01:00
berndgassmann 38c59e714f
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-03-27 17:20:35 +01:00
Néstor Subirón bd9a4a3603 Remove unnecessary pass-by-ref 2020-03-27 16:27:21 +01:00
Néstor Subirón c4af2157f8 Fix compilation on older compilers 2020-03-27 16:27:21 +01:00
Néstor Subirón f015a1236d Replace uses of abs by std::abs 2020-03-27 16:27:21 +01:00
Néstor Subirón 2190005300 Fix wrong optional includes 2020-03-27 16:27:21 +01:00
berndgassmann 7d351b721d
Merge branch 'master' into feature/integrate_rss_3.0.0 2020-03-27 14:45:53 +01:00
Marc Garcia Puig 714850c4f9 Fixed the mesh addition 2020-03-27 12:51:34 +01:00
Marc Garcia Puig b0038182e6 Improved straight mesh generation 2020-03-27 12:51:34 +01:00
Marc Garcia Puig 393f6dd527 Fixed material name for crosswalks 2020-03-27 12:51:34 +01:00
Marc Garcia Puig d467bbb1da Used new tri strip function to generate road mesh 2020-03-27 12:51:34 +01:00
Marc Garcia Puig e20bb714b0 Used new tri fan function to generate crosswalks 2020-03-27 12:51:34 +01:00
Marc Garcia Puig 6e4801c992 Allow triangle fan generation to mesh class 2020-03-27 12:51:34 +01:00
Marc Garcia Puig 35d039c846 Fixed mesh indexes 2020-03-27 12:51:34 +01:00
Marc Garcia Puig d9b216c474 Added basic support for pedestrian crosswalks 2020-03-27 12:51:34 +01:00
bernat 457b63b85e Upgrade to LLVM 8.0.1 2020-03-27 12:51:02 +01:00
KPITBMW 77316f086b Review comment implementation 2020-03-26 13:53:01 +01:00
KPITBMW 151726f455 Implemented Review comment 2020-03-26 13:53:01 +01:00
KPITBMW 063fb89012 Minor Code Improvement 2020-03-26 13:53:01 +01:00
KPITBMW 2e8323f393 Removed all the Logging Code
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
2020-03-26 13:53:01 +01:00
KPITBMW 8218f2e0f8 WIP Added More Logging 2020-03-26 13:53:01 +01:00
KPITBMW 519be13bbc WIP Initial code for WayPoint Binning 2020-03-26 13:53:01 +01:00
Bernd Gassmann 67b17ee42a Code format according to google style
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
2020-03-25 18:34:29 +01:00
Bernd Gassmann eea9359527 Integrate AD RSS v3.0.0
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
2020-03-24 13:46:54 +01:00
Axel1092 6acecb2579 Added spawn of traffic signals. 2020-03-23 13:36:12 +01:00
dotero 40dc7bd7c5 Rollback component serialization and updated querries to use the new components if possible 2020-03-18 20:49:37 +01:00
doterop 1fb733c085 Fixed buffer resize when parsing components 2020-03-18 20:49:37 +01:00
dotero 783643f051 Updated traffic light serialization on server side 2020-03-18 20:49:37 +01:00
Sekhar Barua 4a9129bfba Review comment implemented 2020-03-16 15:11:51 +01:00
Sekhar Barua b35f6c95f6 Removed Logging code
Added clear logic for clearing the cache
Modified the key generation logic as hash approach is more expensive
2020-03-16 15:11:51 +01:00
Sekhar Barua f256a68fa6 Added changes for cacheing Geometric Result 2020-03-16 15:11:51 +01:00
Axel bcfc906368 Quick fix. 2020-03-11 16:15:47 +01:00
Axel ad2f05673c Style fixes. 2020-03-11 12:09:02 +01:00
Axel e2f9fa605f Implementing signal spawn from OpenDRIVE. 2020-03-11 12:09:02 +01:00
Axel d533e359b6 Added Traffic Lights from OpenDRIVE. 2020-03-11 12:09:02 +01:00
dotero 0b9084495b Adding Controllers to the parser 2020-03-11 12:09:02 +01:00
dotero 853317b594 Creation of TrafficLight and Sign Components on UE 2020-03-11 12:09:02 +01:00
Axel c076a722f7 Added signal parsing and queries. 2020-03-11 12:09:02 +01:00
Praveen Kumar e32e6bff93 Removing debug statements 2020-03-09 16:35:24 +01:00
Praveen Kumar e55d5750e9 Sychronous mode bug resolution 2020-03-09 16:35:24 +01:00
Praveen Kumar 4f21f94ac0 Synchronous mode bug demonstration 2020-03-09 16:35:24 +01:00
Praveen Kumar 2b29bc24ef Implemented keep right rule
for lane change logic
2020-03-06 16:06:34 +01:00
Praveen Kumar 48fb019be6 Added parameter set_percentage_keep_right_rule 2020-03-06 16:06:34 +01:00
bernatx 8e14666bdf Fixed unused variable 2020-03-06 16:06:34 +01:00
Jacopo Bartiromo aff8fe8fc3 changelog and remove print 2020-03-06 16:06:34 +01:00
Praveen Kumar c5cc7b7f2f Fixed lead vehicle distance stuttering
Removed debug statement
2020-03-06 16:06:34 +01:00
Praveen Kumar b769786bc3 Re-introduced force lane change parameter 2020-03-06 16:06:34 +01:00
Jacopo Bartiromo 35ac295f72 minor improvements 2020-03-06 16:06:34 +01:00
Sekhar Barua 6f892cff57 Changes to add Global distance to Leading Vehicle 2020-03-06 16:06:34 +01:00
Praveen Kumar 9d214c2d7c Fixed lane change oscillation bug 2020-03-06 16:06:34 +01:00
Praveen Kumar 8ce51d73e3 Debug buffer oscillation 2020-03-06 16:06:34 +01:00
Praveen Kumar 5616dd005c Increased distance check for waypoint clearing
Removed debug statements
2020-03-06 16:06:34 +01:00
Praveen Kumar ba4f0a2b27 Fixed improper waypoint buffer updates 2020-03-06 16:06:34 +01:00
Praveen Kumar 2ec242bf46 WIP: Revamping lane change algorithm
Neighboring lane occupancy bug
2020-03-06 16:06:34 +01:00
doterop 94affd9b79
Added timeout to World Tick (#2556)
* Added timeout to World Tick

* Updated Changelog

* Fixed timeout on SetEpisodeSettings

Co-authored-by: bernat <bernatx@gmail.com>
Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com>
Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>
2020-03-06 13:04:04 +01:00
Marc Garcia Puig 0f88b0b8cb Optimized straight lane mesh generation + clean-up 2020-03-06 09:49:38 +01:00
Marc Garcia Puig afda06f83f Fixed road mesh generation problem 2020-03-06 09:49:38 +01:00
Marc Garcia Puig ee343dbe9b Added support for recast build from server-side 2020-03-06 09:49:38 +01:00
Axel c4bf8d3f58 Review fix. 2020-03-05 15:34:58 +01:00
Axel bb8e3af4e4 Small fix. 2020-03-05 15:34:58 +01:00
Axel 90e342b21e Fixed lane 0 and rtree issues. 2020-03-05 15:34:58 +01:00
bernatx 640d57abd7 Fix 'Yield' reserved word in Windows 2020-03-03 16:57:29 +01:00
Jacopo Bartiromo 1a76064e7f change uint to uint64_t in ProfilesParser.cpp 2020-03-03 16:57:29 +01:00
doterop 85b192530d
Doterop/traffic manager (#2468)
* 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>
2020-02-28 19:58:13 +01:00
Axel 7927ac6921 Some comments. 2020-02-28 12:48:50 +01:00
Axel ae27fe7f78 Code cleanup. 2020-02-28 12:48:50 +01:00
Axel 83180fe9a5 Python documentation. 2020-02-28 12:48:50 +01:00
Axel 3a27e7e5b5 Added signal parsing and queries. 2020-02-28 12:48:50 +01:00
Axel 2a7bb9e15a Removed RoadObject. Adding RoadInfoSignals. 2020-02-28 12:48:50 +01:00
Axel e9e2015674 Added Landmark class. 2020-02-28 12:48:50 +01:00
Marc Garcia Puig c64a2f24ba Removed comments 2020-02-28 11:02:45 +01:00
Marc Garcia Puig 955b753b83 Improved standalone OpenDRIVE usability 2020-02-28 11:02:45 +01:00
Marc Garcia Puig a8aa5afa0a Added basic support for the client using custom xodr on server 2020-02-28 11:02:45 +01:00
Marc Garcia Puig 2b40797c79 Added mesh generation (.obj) from standalone .xodr 2020-02-28 11:02:45 +01:00
bernatx 85619ea31e Adding Ignore Hero to Replayer (Issue 1769) 2020-02-27 10:10:21 +01:00
Denis 090a39855d
Forward header offset directly to the Array constructor (#2194)
Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>
2020-02-25 13:10:29 +01:00
Axel 8005f4c32d Fix for missing elevation profile and lane offset. 2020-02-21 15:45:04 +01:00
Marc Garcia Puig aa381d05f9 Removed map_viewer 2020-02-07 17:16:48 +01:00
Marc Garcia Puig 7eda35fe80 Deleted opendrive cephes lib 2020-02-07 17:16:48 +01:00
Marc Garcia Puig 8c34a52ea7 More style fixes 2020-02-07 17:16:48 +01:00
Axel dd4e1a7733 Style fix 2020-02-07 17:16:48 +01:00
Marc Garcia Puig 744a2d47e0 Fixed style 2020-02-07 17:16:48 +01:00
Axel 3e6089a192 Fixed code format. Custom dimensions to Rtree. 2020-02-07 17:16:48 +01:00
Axel 77deb8f8a9 Fix for windows compatiility. 2020-02-07 17:16:48 +01:00
Axel 8bdf3f54d1 Fixed Python format. Removed unecessary include. 2020-02-07 17:16:48 +01:00
Axel c8c3952653 Fixed a bug in rtree generation. 2020-02-07 17:16:48 +01:00
Axel 055e8182dd More code prettrification. 2020-02-07 17:16:48 +01:00
Axel f43da77019 Added paramPoly3. Changed python map variable in map_viewer.py 2020-02-07 17:16:48 +01:00
Axel1092 446c6a57ee Added geometry paramPoly3. 2020-02-07 17:16:48 +01:00
Axel e4da746b31 Added fully poly3. 2020-02-07 17:16:48 +01:00
Axel aa78942489 Added support for nearest neighbour for all geometries. Added geometry poly3. 2020-02-07 17:16:48 +01:00
Axel ae2ae92bf1 Added spirals and splines to opendrive parser. 2020-02-07 17:16:48 +01:00
Axel 1792c68546 Adding geometry parser 2020-02-07 17:16:48 +01:00
Axel 26d44172a0 Added spiral and splines geometry classes. 2020-02-07 17:16:48 +01:00
Axel1092 49a09ff841
Axel1092/extend map api (#2380)
* Added GetPrevious function

* Added functions GetNextUntilLaneEnd and GetPreviousUntilLaneStart. Fixed GetPrevious issue.

* Added junction class.

* Added documentation for the python API. Fixed a bug regarding bounding box computation.

* Fixed formatting.

* Updated CHANGELOG.md.

* Fixed python format.

* Added GetPrevious function

* Added functions GetNextUntilLaneEnd and GetPreviousUntilLaneStart. Fixed GetPrevious issue.

* Added junction class.

* Added documentation for the python API. Fixed a bug regarding bounding box computation.

* Fixed formatting.

* Updated CHANGELOG.md.

* Fixed python format.

* Updated map API documentation

* updated mkdocs

* Prettified code.

* Removed nested carla repository

* Review fixes.

* Fixed small tab issues

* Improved code and comments.

* Small code fixes

* Small fix.

* Fixed until lane end and until lane start.

* Style fix

Co-authored-by: bernat <bernatx@gmail.com>
Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>
2020-02-06 16:43:23 +01:00
joel-mb 1449b1d139
Joel mb/traffic manager (#2385)
* Destroy actor when the waypoint buffer is not updated

The actor is destroyed when the buffer is not updated in a given time.

* Add elapsed time to avoid destroying multiple vehicles at the same time.

* Avoid reseting waypoint buffer when a vehicle is destroyed

* Geodesic boundaries are only computed once during collision stage

* Destroying vehicles with simulation time instead of world clock

* Fix slow down issues when destroying actors.

Avoid processing destroyed vehicles as unregistered actors.

* Remove debugging messages and code formatting.

* Remove false junctions and fix the building of segments maps

* Extend SimpleWaypoint to allow setting if it belongs to a junction

* Update TrafficManager according to new InMemoryMap

* Fix InMemoryMap links (i.e., next and previous waypoints)

* Remove check junction closest waypoint

* Refactor code InMemoryMap

* Add constant parameter stopped velocity threshold

* Fix PR

* Update CHANGELOG
2020-02-06 10:13:56 +01:00
glopezdiest 2f27cd368b
Glopez/intersection anticipation (#2355)
* Windows compatibility changes

* Windows compatibility changes pt2

* Updated docs regarding Traffic Manager

* Fixed Import folder in gitignore

* Namespaces fix

* WIP:TM modified to run synchronously with carla

* Synchronised all stages of TrafficManager
Removed redundant fps cap in BatchControl
Tuned PID values for synchronised mode

* Fix for LibCarla build error

* Fixed collision handling with unregistered actors
Fixed buffer data passed from localization stage to collision stage

* WIP:Geodesic map gridding

* WIP:Integrating geodesic griding with localization and collision stage

* Moved unregistered actor handling logic
to localization stage

Temporary patch for ignoring unregistered actors during lane change

Fixes for geodesic gridding logic

Added exception handling logic to PipelineStage class

Setting simulator back to variable time step asyncrhonous mode
in TrafficManager's destructor

* Modified PerformanceDiagnostics class
to work in synchronous execution

* Fixed incorrect overlap vehicle accumulation
Implemented geodesic grid centering logic

* WIP:Improvements to collision stage throughput

* Fixed incorrect memory handoff between stages
Modified messenger class to a blocking queue implementation

* Seg fault fixes for lane changes

* Removed logic for altering world settings from traffic manager
Fixed SnippetProfiler to work on multiple snippet
Using larger waypoint grids for pedestrian localization

* Set timeout for RPC calls to 5 seconds instead of 1 second, to get time to create Traffic Manager if needed

* Disable autopilot in server

* Fix type int to int64_t for windows compilation

* Fixing command batch autopilot

* Fix uint to uint64_t for windows

* Fix variable type and add parenthesis

* Pipeline changes + cleaning syncr changes

* Velocity dependent pedestrian bbox extension
Removed snippet profiling code from localization stage

(cherry picked from commit 4192906e655ad6f7ea48eda8e1a68ed317d67238)

* Fixing segmentation fault in AssignLaneChange

(cherry picked from commit 57da8b52bcccc359ff3dd27a10261cc724f26203)

* Fixed S.F when forcing lane changes

(cherry picked from commit db0516c8295bdc15993d9c4e1bec517a927ea33d)

* Added UnNotifyWheeledVehicle()

* Set some limits to the parameters.

* Fixed TM delete process

(cherry picked from commit cdd9178f2cbba7cbbc79b389e193517d07ba489e)

* Fixed merge error

* WIP PID Changes
Fixed FPS for PID to 20
Changes to waypoint buffer size

* Final PID + Waypoint buffer default settings.

* Junction anticipation algorithm

* WIP

* WIP: merging with carla 0.9.7

* WIP: merging with carla 0.9.7

* WIP: Intersection anticipation algorithm

* WIP: Intersection anticipation algorithm

* WIP: Intersection anticipation

* Intersection Anticipation algorithm (With debugging tools)

* Implementation of an intersection anticipation algorithm

* Changelog modified

* Removed some unused variables

* PR Changes

* More PR changes

* More minor changes

* Added some checks to detect failures

Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com>
Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>
Co-authored-by: Praveen Kumar <35625166+pravinblaze@users.noreply.github.com>
Co-authored-by: bernat <bernatx@gmail.com>
Co-authored-by: doterop <daniel.oterop@gmail.com>
2020-02-05 20:55:53 +01:00
Marc Garcia Puig 459581b09f Exposed car lights to the client 2020-02-04 10:39:01 +01:00
bernatx b83721c6e0 Checking for negative 's' 2020-02-03 16:03:57 +01:00
bernatx c1166e205f Fixing Travis 2020-02-03 16:03:57 +01:00
bernatx 923a794bb6 Adding new way of getting waypoints from parameters from openDRIVE 2020-02-03 16:03:57 +01:00
victor.anton 2bf2b97d64 Formatted inline code 2020-02-03 09:50:54 +01:00
victor.anton 34f993a7c9 Added Contains and Get(World/Local)Vertices to BoundingBox 2020-02-03 09:50:54 +01:00
Marc Garcia Puig a41bf95afd Added more weather attributes 2020-01-20 20:53:58 +01:00
bernat b9fbbf7fd0 Release candiadate (#2310) 2019-12-21 04:59:22 +01:00
bernatx b46117685e Adding new line at end 2019-12-13 15:29:38 +01:00
bernatx c9358be60c Refreshing tm_spawn_npc script 2019-12-13 15:29:38 +01:00
Jacopo Bartiromo 6f3c4e261c Namespaces fix 2019-12-13 15:29:38 +01:00
Jacopo Bartiromo fb41af3628 Windows compatibility changes pt2 2019-12-13 15:29:38 +01:00
Jacopo Bartiromo 3c1aa7d847 Windows compatibility changes 2019-12-13 15:29:38 +01:00
dotero e9a2935a5a Fixing code formatting 2019-12-11 16:31:51 +01:00
Jacopo Bartiromo f794f939f6 Higher min_junct_lookahead for traffic lights
pylint fix
2019-12-11 16:31:51 +01:00
Jacopo Bartiromo 02f292795a Increased min lane change distance
Rename tm_demo to _tm_spawn_npc
Add walker spawn
Remove tm_set_autopilot_test
2019-12-11 16:31:51 +01:00
Praveen Kumar 3e3d9acaf9 Modified waypoint purge logic
Fixed lane change targe point positioning
2019-12-11 16:31:51 +01:00
Jacopo Bartiromo fc955bdcb7 PID Changes + WIP Collision Stage bug fix 2019-12-11 16:31:51 +01:00
Guillermo df6a1ac7ea PID fixes 2019-12-11 16:31:51 +01:00
Jacopo Bartiromo 34a030f5bd Integrated changes regarding PID values.
New parameters to ignore actors or traffic light.
More WIP for killing vehicles.
2019-12-11 16:31:51 +01:00
Praveen Kumar 1ad26fb369 Fixes to collision negotiation logic in intersection
Fixes to false traffic light detection at non signalized junctions
2019-12-11 16:31:51 +01:00
Jacopo Bartiromo 6792fab047 compilation errors 2019-12-11 16:31:51 +01:00
Praveen Kumar 6178496b65 Fixed path track issue during lane change 2019-12-11 16:31:51 +01:00
Praveen Kumar e9b32bc424 Changes to lane change logic
to further rely on path tracking
2019-12-11 16:31:51 +01:00
Praveen Kumar 7a90088b48 Smoothened crawling approach to standing vehicle 2019-12-11 16:31:51 +01:00
Praveen Kumar 5dbc32672f Fixed vehicle removal issue in path tracking 2019-12-11 16:31:51 +01:00
Jacopo Bartiromo e36a0c8f13 WIP: unblocking by killing 2019-12-11 16:31:51 +01:00
Praveen Kumar ec6e16a1c1 WIP: Path tracking vehicle elimination bug
Consolidated path tracking code in LocalizationUtils.h/.cpp
Moved utility functions to LocalizationUtils.h/.cpp
Removed TrafficDistributor.h/.cpp
2019-12-11 16:31:51 +01:00
Jacopo Bartiromo 2428615934 traffic light reset demo working + other stuff 2019-12-11 16:31:51 +01:00
Praveen Kumar f1c97fceb0 WIP: Lane changes based on path tracking 2019-12-11 16:31:51 +01:00
Praveen Kumar 07943a2bcd Fixed path tracking localization issue
Modified collision negotiation to use path tracking
Removed grid extension search from VicinitGrid
2019-12-11 16:31:51 +01:00
Praveen Kumar 4e524d06f5 Fixed compile issues 2019-12-11 16:31:51 +01:00
Jacopo Bartiromo 52927eaac7 fixed compilation issues 2019-12-11 16:31:51 +01:00
Praveen Kumar 3c310b492b WIP:Path tracking collision detection 2019-12-11 16:31:51 +01:00
Jacopo Bartiromo 39e83a6a97 WIP traffic light reset 2019-12-11 16:31:51 +01:00
Praveen Kumar 3c72ba999b Implemented system wide performance diagnostics class
Fixed collision negotiation policy
2019-12-11 16:31:51 +01:00
Praveen Kumar b0b33f850d Fixed lane change map sampling 2019-12-11 16:31:51 +01:00
Praveen Kumar d1e0613d8f Filtering vehicles from different planes
during collision avoidance

Set max collision avoidance radius

Using messenger state in localization stage
to write to output buffer instead of selector state
2019-12-11 16:31:51 +01:00
Jacopo Bartiromo 36fa9829ce minor changes 2019-12-11 16:31:51 +01:00
Praveen Kumar 91cb80a4a1 Fixed incorret 3D waypoint localization 2019-12-11 16:31:51 +01:00
Praveen Kumar 3eb6386632 Modified lane change policy
To make decision based on available space
Instead of using vehicle count in lanes
2019-12-11 16:31:51 +01:00
Praveen Kumar 5818ca6732 Implemented path oriented collision avoidance
Fixed incorrect target grid logic for collision avoidance
2019-12-11 16:31:51 +01:00
Praveen Kumar 741679afc5 Fixed memory synchronization
between localization and collision stage
2019-12-11 16:31:51 +01:00
Jacopo Bartiromo 457fd34064 reset traffic lights method WIP 2019-12-11 16:31:51 +01:00
Jacopo Bartiromo b75a4ebdeb visualize lane change options 2019-12-11 16:31:51 +01:00
Praveen Kumar d3b35d7953 Modified cc::Vehicle::SetAutopilot to use TrafficManager 2019-12-11 16:31:51 +01:00
Jacopo Bartiromo a7068d2f45 traffic light debugger, no junctions, lane marking 2019-12-11 16:31:51 +01:00
Praveen Kumar 65f84442e0 Fixed incorrect speed unit conversion 2019-12-11 16:31:51 +01:00
Praveen Kumar dd19da3af0 Implemented Parameters class
Integrated Parameters class with stages
2019-12-11 16:31:51 +01:00
Praveen Kumar d36014511f Fixed lane change link anomaly 2019-12-11 16:31:51 +01:00
Praveen Kumar 4c85696547 Fixed throughput drop off issue for collision stage
Fixed vechicle grid update logic in vicinity grid
2019-12-11 16:31:51 +01:00
Praveen Kumar b2cc5fdd1e Fixed collision boundary inconsistency issue
Removed redundant waypoint buffer copy and sychronization
2019-12-11 16:31:51 +01:00
Praveen Kumar 5a941f116a Fixed segmentation fault in collision stage
- Passing copies of waypoint buffers
  from localization stage to collision stage
  instead of pointers to waypoint buffers
2019-12-11 16:31:51 +01:00
Jacopo Bartiromo c7d6aca079 change from 2 speed to % less than speed limit. 2019-12-11 16:31:51 +01:00
Praveen Kumar 2b48d1c340 Smaller map sampling implemented
Distance based lane change point
Grid localized waypoint localization implemented
2019-12-11 16:31:51 +01:00
Praveen Kumar 901745599e Implemented TrafficManager::SetDistanceToLeadingVehicle 2019-12-11 16:31:51 +01:00
Praveen Kumar 63523a38aa Implemented singleton lifecycle management for TrafficManager 2019-12-11 16:31:51 +01:00
Praveen Kumar 6fb91fc476 Implemented collision avoidance with pedestrians 2019-12-11 16:31:51 +01:00
Vimal b4eb10b2bb WIP:Pedestrian avoidance 2019-12-11 16:31:51 +01:00
Praveen Kumar d99ae94864 Implemented forced lane change
Implemented auto lane change enable/disable
2019-12-11 16:31:51 +01:00
Praveen Kumar 16b80a01ba Exposed set_collision_detection in traffic managers python wrapper
Code asthetic changes
2019-12-11 16:31:51 +01:00
Praveen Kumar 3fc4a88da7 Implemented selective collision and forced lane change 2019-12-11 16:31:51 +01:00
Praveen Kumar 3ce8c96665 WIP: Selective collisions 2019-12-11 16:31:51 +01:00
Praveen Kumar eca99c9c98 Implemented vehicle specific target velocities 2019-12-11 16:31:51 +01:00
Praveen Kumar 9d3db35a98 Renamed Pipeline class to TrafficManager
Changed exposed class names in python wrapper
Adapted tm_demo.py for new changes
Removed redundant TrafficManager files from carla/TrafficManager
2019-12-11 16:31:51 +01:00
Jacopo Bartiromo 6009076f13 minor changes to paths and cmakefile 2019-12-11 16:31:51 +01:00
Praveen Kumar 33678a173f Fixed compiler check failures 2019-12-11 16:31:51 +01:00
Jacopo Bartiromo 1c34ae73c2 initial move to libcarla.client 2019-12-11 16:31:51 +01:00
bernatx ea3965ec88 Fixed lost changes 2019-12-11 12:07:59 +01:00
Marc Garcia Puig afea285a93 Fixed Setup.sh permissions and other files 2019-12-11 12:07:59 +01:00
bernatx ad0488006a Walkers check vehicles in the direction to go 2019-12-11 12:07:59 +01:00
bernatx a41815f54c Fixing pedestrians collision with vehicles 2019-12-11 12:07:59 +01:00
bernatx 5a87e5dae5 Walker look at next point to go when paused 2019-12-11 12:07:59 +01:00
bernatx f12e63890f Finetunning pedestrians collision 2019-12-11 12:07:59 +01:00
bernatx 780f0b0b75 Fixes from PR. Added distance to check for vehicles. 2019-12-11 12:07:59 +01:00
bernatx ee2949abdd Fixes from the review of PR 2019-12-11 12:07:59 +01:00
bernatx f6df660a24 Remove parameter from function 2019-12-11 12:07:59 +01:00
bernatx 41f47ed8a9 Fixes from Pull Request review 2019-12-11 12:07:59 +01:00
bernatx 2766191ca4 Remove optimization of path 2019-12-11 12:07:59 +01:00
bernatx 8d4ce29533 Make bigger the goal distance for pedestrians 2019-12-11 12:07:59 +01:00
bernatx b72bc88e2b Adding 'grass' type zone 2019-12-11 12:07:59 +01:00
bernatx 62c6a26ed2 Adjusting parameters 2019-12-11 12:07:59 +01:00
bernatx f2798d1841 Fixing Linux compilation 2019-12-11 12:07:59 +01:00
bernatx 065295c7f0 Changing events for walkers 2019-12-11 12:07:59 +01:00
bernatx 4929f06ef7 Checking vehicles near 2019-12-11 12:07:59 +01:00
bernatx 1c4b8c4bea Pedestrians check if a vehicle is near before crossing 2019-12-11 12:07:59 +01:00
bernatx 3280e1bd6e Fixing Linux compilation 2019-12-11 12:07:59 +01:00
bernatx f66593427b Fix bug in navigation, erroneous index 2019-12-11 12:07:59 +01:00
bernatx 21f0bcf2e1 Use last version of Recast fork 2019-12-11 12:07:59 +01:00
bernatx a8a127cc54 First version of pedestrians waiting to cross 2019-12-11 12:07:59 +01:00
bernatx 865202f233 Unblocking walkers by distance 2019-12-11 12:07:59 +01:00
bernatx c3e8fb9671 Minor changes for linux compilation 2019-12-11 12:07:59 +01:00
bernatx 51a7bf8588 Adding 'cross' zones for the pedestrians 2019-12-11 12:07:59 +01:00