Commit Graph

121 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
bernatx 336559d993 Changes from PR (adjusting parameter names) 2020-02-27 10:10:21 +01:00
bernatx 85619ea31e Adding Ignore Hero to Replayer (Issue 1769) 2020-02-27 10:10:21 +01:00
Madecu 36f6920fee
Changed weather presets and manual_control.py fixed (#2455)
* Added more weather attributes

* Upload client_test.py as weather in utils
Activate mesh distance fields

* weather.py --> Added wetness, changed "cloudyness" , fixed some functions
Weather.cpp --> Skip weather
Weather.h --> Added "SetWeather" Function

* Changed ASCII characters in weather.py

* Finished weather script without dynamic weather

* Added missing end of file line.

* Fixed the initial state of weather.py

* Updated changelog & fix dynamic weather altitude

* New default values for weather presets
Temporal fix in manual_control.py to refresh weather when it opens the pygame windows or it changes the camera (Tab)

* Fixed walkers spawn in manual_control

Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>
Co-authored-by: doterop <daniel.oterop@gmail.com>
2020-02-25 12:18:37 +01:00
cassfalg 3f6021dff3
Add german / international keyboard support to manual_control.py (#1984)
* changed next sensor key from backquote to n

* fixed typo in spawn_npc.py

* reenabled backquote to switch sensor

Co-authored-by: Marc Garcia Puig <marcgpuig@gmail.com>
2020-02-07 17:17:18 +01:00
Marc Garcia Puig 7e57ec068d Allow manual_control to change vehicle lights 2020-02-04 10:39:01 +01:00
Marc Garcia Puig 3746fa3a75 Updated weather scripts 2020-02-04 10:39:01 +01:00
Marc Garcia Puig f270aa5949 Updated changelog & fix dynamic weather altitude 2020-01-20 20:53:58 +01:00
marcos909 c3a89b5a57 Upload client_test.py as weather in utils
Activate mesh distance fields
2020-01-20 20:53:58 +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
Marc Garcia Puig 1d71ecb9a8 Fixed NumLock error automatic_control.py (#2306)
* Fixed NumLock error aut_cntrl.py

* Updated Chaneglog & reduced unused imports
2019-12-17 10:40:27 -08: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 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
Jacopo Bartiromo fc955bdcb7 PID Changes + WIP Collision Stage bug fix 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
Jacopo Bartiromo e36a0c8f13 WIP: unblocking by killing 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 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 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 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 69142bfe75 tm_demo rework 2019-12-11 16:31:51 +01:00
Praveen Kumar 63c7ffa2f8 TrafficManager integrated to libcarla's python API 2019-12-11 16:31:51 +01:00
Jacopo Bartiromo e02ee7daad more folder organization 2019-12-11 16:31:51 +01:00
bernatx 039e6be501 Fix font name for windows 2019-12-11 15:29:32 +01:00
Marc Garcia Puig a937f268ee Fixed few issues in manual_control.py 2019-12-11 13:37:35 +01:00
Marc Garcia Puig 9e931f2c01 Added IMU and Radar visualization to manual_control.py 2019-12-11 13:37:35 +01:00
bernatx 780f0b0b75 Fixes from PR. Added distance to check for vehicles. 2019-12-11 12:07:59 +01:00
bernatx 41f47ed8a9 Fixes from Pull Request review 2019-12-11 12:07:59 +01:00
bernatx 51a7bf8588 Adding 'cross' zones for the pedestrians 2019-12-11 12:07:59 +01:00
bernatx 0ee3dd0305 Unblocking walkers when they are blocked by something 2019-12-11 12:07:59 +01:00
bernatx 5b7fcbd689 Controlling how many pedestrians can cross the road 2019-12-11 12:07:59 +01:00
Manish 8c53ddce2b Added more documentation and refactor on no rendering mode 2019-12-10 19:43:10 +01:00
Johannes Quast fe83f1ab3b Add Responsibility Sensitive Safety (RSS) to CARLA Client library
- Add build variant with RSS sensor
 - Add RSS result visualization
 - Add RSS Restrictor implementation
 - Add RSS manual control example
2019-12-09 16:37:32 +01:00
Marc Garcia Puig 8955d61a2e Renamed few variables 2019-11-19 16:10:39 +01:00
Marc Garcia Puig 6187bf4916
New sensor: Inertial measurement unit (IMU) (#2220)
* Added IMU sensor to the client-server pipeline

* Fixed lane_explorer.py with the new debug API

* Changed compass output to standard compass degrees

* - Added accelerometer calculation to IMU.

* Added angular velocity to the IMU

* Changed IMU acceleration from world to local

* Updated changelog

* Updated accelerometer. Now uses vehicle movement component information instead of pawn information.

* Added docs regardings new sensors

* Fixed SI units in Lidar

* Fixed core dumped when using other python modules

* Explicitly deleted  Vec3D from FVec constructors

* Removed redundant DeltaTime calculation
2019-11-13 18:50:21 +01:00
Marc Garcia Puig 3b625c28f9
Lens distortion shader (#2145)
* Exposed DOF and Exposure in Python for  RGB sensor

* Fixed blueprint waypoint functions

* Added Tonemapper settings

* Improved lens shader

* RGB camera have lens shader by default

* Adjusted lens shader

* Added lens disortion to Depth and SemSeg sensors

* Added Chromatic Aberration to Camera API

* Added the blueprint doc_gen and updated docs

* Sorted blueprint attributes in docs

* Added docs about new camera attributes

* Spelling fixes in docs

* Sorted includes

* Fixed travis pylint 3
2019-10-03 19:08:53 +02:00
Xavi c5465c250f Change default pedestrian speed (#1924)
* Change default pedestrian speed

* Changing a comment
2019-09-06 17:14:35 +02:00
manishthani 3161253fa1
Fixed client_bounding_boxes example script (#1962)
* Fix: Changed path to egg file to make it work

* Update CHANGELOG
2019-08-02 15:52:16 +02:00
bernat 70e67b8dbd
Better steering for manual control (#1957) 2019-08-01 11:36:34 +02:00
nsubiron 954f36b6a0 Add gamma correction as argument for manual_control.py 2019-07-09 18:46:55 +02:00
nsubiron 2c6df3b5a2 Move config.py to util 2019-07-09 18:46:09 +02:00
nsubiron a89a1bbbf9 Add config.py to easily configure the simulator 2019-07-09 18:46:09 +02:00
nsubiron 47be1747a1 Improve synchronous_mode.py 2019-07-09 18:46:09 +02:00