Commit Graph

431 Commits

Author SHA1 Message Date
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
Marc Garcia Puig 069b63873c Temporal fix for jenkins not able to compile FBX 2020-02-28 16:56:37 +01:00
Marc Garcia Puig e23d62dd88 Added support for space in paths 2020-02-28 16:01:47 +01:00
Marc Garcia Puig 790c6e9058 Fixed pedestrian navigation when import command 2020-02-28 16:01:47 +01:00
Marc Garcia Puig 5f23dd9e52 Fixed linux FBX2OBJ installat 2020-02-28 16:01:47 +01:00
Jeff Xiao 8e881ad5a7 Only create target folder if source folder exists
build.sh returns without errors even if there it does not generate a .bin file
this is a slight improvement on the existing fix
2020-02-28 16:01:47 +01:00
Michele Bianchi 8687ab18bc Updated Import.py style 2020-02-28 16:01:47 +01:00
Michele Bianchi a5e311e286 Don't assume that the map contains a pedestrian navmesh 2020-02-28 16:01:47 +01:00
Marc Garcia Puig 739001f04c Fixed codacy errors 2020-02-28 11:16:53 +01:00
nsubiron 9b1d307afc Use folder checksum to determine if CMake needs to be re-run 2020-02-28 11:16:53 +01:00
Marc Garcia Puig 9cdf00155e Added RecastBuilder to linux package 2020-02-28 11:02:45 +01:00
Marc Garcia Puig 28396910ff Added the map to the default package 2020-02-28 11:02:45 +01:00
Marc Garcia Puig b5c32aa8d2 Fixed PR issues 2020-02-28 11:02:45 +01:00
Axel aa017da604 Fixed indentation. 2020-02-25 12:07:45 +01:00
Axel 4cfcf1e52a Updated boost patch to fix exception error. 2020-02-25 12:07:45 +01:00
nsubiron c27aa1e40b Upgrade Boost to 1.72.0 2020-02-25 12:07:45 +01:00
krmartin 379cb5c319 Update install_rpclib.bat 2020-02-25 11:47:43 +01:00
Jit Ray Chowdhury 692bfeb144 added -iterate for BuildCookRun in Package.sh for faster re-cook 2020-02-21 15:43:01 +01:00
Marc Garcia Puig 7eda35fe80 Deleted opendrive cephes lib 2020-02-07 17:16:48 +01:00
Marc Garcia Puig 744a2d47e0 Fixed style 2020-02-07 17:16:48 +01:00
Cesar De Souza 31219b1c42 Fixed windows boost fix 2020-02-07 17:16:48 +01:00
Axel 01f9a3894b Added boost fix for windows. 2020-02-07 17:16:48 +01:00
Axel fc098c2579 Modified boost files to fix make package error. 2020-02-07 17:16:48 +01:00
urishab cad0c23ee6 better error message for missing "py launcher" 2020-02-04 15:34:25 +01:00
Marc Garcia Puig 92f2dde355 Updated cont_ver, since older one had invalid xodr 2020-02-04 10:39:01 +01:00
Marc Garcia Puig 2e656362c9 Updated docs and content version 2020-02-04 10:39:01 +01:00
bernatx 5a904579af Fixing wrong comparison in 'if' clause 2020-02-03 18:14:10 +01:00
Jeff Xiao cb9a48e40c Update Util/BuildTools/BuildPythonAPI.bat
Co-Authored-By: Gökhan Barış Aker <gokhanbarisaker@gmail.com>
2020-02-03 12:05:31 +01:00
Jeff Xiao 781ca97676 Fix make clean and success message 2020-02-03 12:05:31 +01:00
Marc Garcia Puig 7bd95e49b6 Updated ContentVersion.txt 2020-01-20 20:53:58 +01:00
bernat b9fbbf7fd0 Release candiadate (#2310) 2019-12-21 04:59:22 +01:00
Marc Garcia Puig 51a4683d30 Fixed dirty deploy 2019-12-11 21:11:26 +01:00
bernatx 47a2d82738 Release Linux 0.9.7 2019-12-11 18:17:36 +01:00
Jacopo Bartiromo 2362f71216 Removing traces of old make TrafficManager 2019-12-11 16:31:51 +01:00
Jacopo Bartiromo d4b57a44b7 Fixes pyconfig.h error 2019-12-11 16:31:51 +01:00
Xavi d3a504bb9b Update Content Version Release 2019-12-11 15:42:40 +01:00
bernatx 19ddc9fb79 Add BIN files to package 2019-12-11 15:42:40 +01:00
bernatx 36eacf67cc Fix docker utils 2019-12-11 15:42:40 +01:00
bernatx 0891cd6746 Fixing import.py 2019-12-11 15:42:40 +01:00
bernatx 00b901c9e2 Updating Docker pipeline to rebuild pedestrian binary for navigation 2019-12-11 15:42:40 +01:00
bernatx 5f1b5e18e0 Fix import on windows, and rename imported assets 2019-12-11 15:17:51 +01:00
German Ros ebbf2748b9 Update: New Dockerfile to support OpenGL and Vulkan in headless mode
* Support for OpenGL and Vulkan in headless mode
2019-12-11 14:56:29 +01:00
bernatx 960fac7e47 Last version of Recast 2019-12-11 12:07:59 +01:00
Marc Garcia Puig 6161c54b01 Added gitignore file in DockerUtils 2019-12-11 12:07:59 +01:00
bernatx 5fc36879ed Updating Recast last version 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 f12e63890f Finetunning pedestrians collision 2019-12-11 12:07:59 +01:00
bernatx e2bb97bbaa Update Recast version 2019-12-11 12:07:59 +01:00