Commit Graph

911 Commits

Author SHA1 Message Date
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