Commit Graph

286 Commits

Author SHA1 Message Date
Daniel Grimm bace2f1aab comments and formatting 2024-05-03 12:23:02 +02:00
Axel a12a137c86 Added restore_physx_physics function 2024-03-25 17:01:52 +01:00
Aperiss 193d9cf7cd Update changelog for get-transform-component changes 2024-02-12 13:14:13 +01:00
Bernd Gassmann 7003a7cfbf Fix RSS python code
and adapt on updated synchronous mode handling
2023-11-24 08:33:40 +01:00
bernatx 3552b1f184 Adding some pedestrians generation 3 2023-06-16 20:41:06 +02:00
Guillermo a9819fa289 Added filter check to examples 2023-04-24 11:35:12 +02:00
bernatx 7f5bb15731 adding --ignore-spectator to the replayer 2023-02-06 14:17:51 +01:00
bernatx c9552887a0 Some sensors are forced to be always on the primary server in multi-gpu mode 2022-12-20 13:18:19 +01:00
Marcel Pi 182a48a2f9
Marcel/empty gbuffer fix (#6013)
* Change handling of empty gbuffers.

Now, instead of sending an empty image, a black one with the size of the viewport is sent if the target gbuffer is unavailable.

* Add more GBufferID checks + improve empty gbuffer handling.

* Fix manual_control_gbuffer.py error on repeated listen_to_gbuffer.

* Expose is_listening and is_listening_gbuffer to the PythonAPI.

* Fix data race + autoremove unused gbuffers in manual_control_gbuffer.

* Update PythonAPI docs.

* Remove magic number.

* Switch from error to warning on invalid sensor type when requesting gbuffers.
2022-12-07 18:51:17 +01:00
Marcel Pi a880df37df Further improve the gbuffer error handling. 2022-12-01 17:01:15 +01:00
Marcel Pi 02d55758a2 Further improve error messages. 2022-12-01 17:01:15 +01:00
Marcel Pi 714f24f428 Add error message when attempting to get the gbuffers from an unsupported sensor. 2022-12-01 17:01:15 +01:00
Axel 26524eed4d Fixed manual control for pedestrians 2022-11-30 14:39:32 +01:00
Marcel Pi a152863b11
Merge GBuffer features. (#5960)
* Add Misc/GBuffer

* Add EnqueueRenderSceneImmediateWithGBuffer.

* Modified ASceneCaptureSensor to allow gbuffer recording.

* Minor GBuffer progress.

* More GBuffer changes.

* Removed unnecessary files.

* Add FRHITexture* functions to FPixelReader + temporarily disabled non-gbuffer rendering in ASceneCaptureSensor.

* Add missing FPixelReader functions.

* Minor changes (Switching to Windows).

* Remove FRHITexture functions from FPixelReader, added the file ImageUtil.

* Remove FRHITexture functions from FPixelReader, added the file ImageUtil. (2)

* Added API to listen GBuffer data.

* Added gbuffer serializer classes

* Temporarily remove ViewRect hack.

* Add USceneCaptureComponent* derived classes.

* Disable USceneCaptureComponent*_CARLA and add initial FRHIGPUTextureReadBack-based code.

* Fix and re-enable custom SceneCaptureComponents.

* Fully switch to FRHIGPUTextureReadback.

* Remove unnecessary call to FlushRenderingCommands.

* Minor API changes.

* Add support for PF_DepthStencil in ImageUtil.

* More API progress...

* More API progress... (2)

* Removed testing code.

* Minor changes for testing.

* GBuffer API fixes.

* Improve GBuffer capture code.

* Fixed SceneDepth transfer issues and added SceneStencil, CustomDepth and CustomStencil to the GBuffer capture.

* Fix compilation error due to the usage of C++17 features.

* Removed major memory leak and added manual_control_gbuffer.py.

* Fixed a silly mistake.

* Minor changes to manual_control_gbuffer and SceneCaptureSensor.

* Fix compilation error on some versions of Ubuntu.

* Disable TAA when reading GBuffers to avoid jitter.

* Improve memory usage.

* Progress towards automatically detecting when a GBuffer stream is unused.

* Fix includes in SceneCaptureSensor + minor change in manual_control_gbuffer.py

* Progress on automatically detecting which GBuffers aren't needed.

* Remove unneeded __declspec.

* Revert ASensor changes + fix tutorial_gbuffer.py

* Update CHANGELOG.md

* Apply requested changes for the PR, add gitignore for the file OptionalModules.ini and add a GBufferTextureID enum to the Python API.

* Remove OptionalModules.ini.

* Fix indentation.

* Fix indentation (2).

* Fix indentation (3).

* Add documentation and more indentation fixes.

* Remove commented includes.

* Add missing line break.

* Fix memory leak + remove unneeded files.

* Add .uproject again, fix EngineAssociation.

* Remove unneeded ENQUEUE_RENDER_COMMAND.

* Fix manual_control_gbuffer.py.

* Add `stop_gbuffer` to the Python API.

* Minor fixes.

* Fix performance bug.

Previously, when a client requested a gbuffer that is unused it would stay open, even after stopping it explicitly. This commit fixes this issue.

* Fix indentation.

* Add missing braces, more indentation fixes and simplify some of the code.

* Update sensor.yml docs.

* Update docs.

* Remove unnecessary UE_Log + changed one verbosity level.

Co-authored-by: Axel <axellopez92@outlook.com>
Co-authored-by: Axel1092 <35765780+Axel1092@users.noreply.github.com>
2022-11-29 11:24:26 +01:00
Axel 16ec77d5e4 Added terramechanics flag to manual_control.py 2022-10-18 09:58:10 +02:00
bernatx e9a7c321cd Adding new attachment type 'SpringArmGhost' 2022-09-28 13:54:04 +02:00
Axel1092 a6be1a67f3
Pytorch integration with terramechanics (#5684)
* Added sparse map reprsentation

* Added pytorch for terramechanics modules

* Added saving loading particles in independent thread

* Added blank space at the EOF

* Added texture creation lambda

* Moving function to component

* Added input/output architecture for neural network

* Filling heightmap with particles data. Adding Logging to debug

* Updating Texture data at realtime

* Connected 3 stages, using MPC Position to Update and Texture

* Added square particle sampling. Added second model input/output scheme. Fixed start up crash.

* Added new flags and fixes

* Position to update not updating in material but yes in MPC

* Fixed coordinate frame issues and crashes

* Prepared to follow position in the 1st vehicle in map

* Fixed height map alignment

* Fixed large map and terrain tiles alignment

* Fixed inputs for new model

* Added scale factor

* Fixed slow read write operations

* Bug fixes

* Removed debug output

* Removed nvidia profinling marks

* Preparing merge debug code removed, runtime working by rounding the loading data properly

* Made pytorch optional module

* Added TRACE_CPUPROFILER_EVENT_SCOPE to Update and UpdateTexture

* Added optional pytorch conditions and macros

* Removed static Path

* Fixed #ifdef clause. Added missing include.

* Deformation on vehicle working. Ready to start optimisation

* First optimsation done. Heightmap per Tile

* Updated tiles'heightmap to make their size relative to texture and tilesize

* Fixed slow frames. Added functionality

* Removed unecessary library links

* Fixed pytorch link

* Limited search to relevant tiles

* Added multithreaded particle search. Fixed cuda architectures compilation

* Deformation plane added

* Added missing resources

* Updated particle movement update methods

* Spawn on runtime deformation plane

* Added cachemap lock when initializing a region

* Added UHeightMapDataAsset to hold heightmap data

* Fixing some settings

Co-authored-by: Aaron <samaniegoaaron112@gmail.com>
Co-authored-by: bernatx <bernatx@gmail.com>
2022-09-23 15:39:09 +02:00
glopezdiest bf2815ec58
Improved Python agent performance (#5555)
* Improved agent performance

* CHANGELOG
2022-07-01 18:30:56 +02:00
glopezdiest 5003e58d7c
New ConstantVelocityAgent and TM parameter (#5290) 2022-04-20 14:44:27 +02:00
glopezdiest c977075b90
Added 4 new attributes to the vehicle blueprints (#5258)
* Added 4 new vehicle attributes
2022-04-12 15:57:54 +02:00
Marcel Pi 3b45bfd165 Added new sensor with camera normals 2022-02-18 11:42:32 +01:00
Joel Moriana 0e67ca23fd Handle steer speed in the ackermann controller 2022-02-08 20:15:57 +01:00
Joel Moriana 702bf9db50 removed tunning ackermann pid 2022-02-08 20:15:57 +01:00
Joel Moriana 8cc6f132fc First iteration ackermann controller 2022-02-08 20:15:57 +01:00
Anshumaan Singh 50abe1218f Update manual_control_steeringwheel.py 2021-11-10 14:54:45 +01:00
Anshumaan Singh 39d6ede417 Fixed an error caused during map name being called
An incorrect attribute call was being made, so `map_name` was changed to `get_map().name` to fix it
2021-11-10 14:54:45 +01:00
bernatx fa51e45e16 Adding example of python script to draw skeleton bones 2021-11-09 17:10:06 +01:00
Axel 63d5b314c6 Added instance semantic segmentation sensors 2021-11-08 09:30:35 +01:00
bernatx 328cfca118 Adding seed for better pedestrians reproducibility 2021-11-05 18:49:11 +01:00
berndgassmann 6fc187f4b3
RssSensor fixes (#4604)
* RssSensor fixes

RssSensor:
- make client side calculations threaded to ensure it is not
incrementally delaying the whole client
- support multiple instances of RssSensor
- initialize _last_processed_frame properly

RssRestrictor:
- enable python set_log_level

General:
- Update to RSS v4.4.2 and map v2.4.5_hotfix supporting elevation
- manual_control_rss: enalbe dynamics log level switching

* Update to ad-rss-lib 4.4.3

* really go to ad-rss-lib 4.4.3
2021-11-05 18:12:49 +01:00
Jacopo Bartiromo 5f07128176
New Traffic Manager features for 0.9.13 (#4786)
* Changes in constant values
Added new constants

* Added Ambulance and Firetruck as unsafe vehicles in spawn_npc.py

* WIP: Rerouting algorithm

* Removing rerouting algorithm.
Fixed collisions at high speed.

* Changes to constant values and cleaning up.

* Users can now set their own path by giving a list of locations.
Implementation of RoadOption for SimpleWaypoints
Implementation of GetNextAction and GetActionBuffer for TM actions
Parameters for setting the path import and starting the import process.
Other minor changes

* Users now only need to use one parameter to import path

* added road option to the cache map

* Introduced RoadOption in InMemoryMap for each swp
Introduced getter in PythonAPI for high level path
Introduced getter in PythonAPI for next high level action
Introduced parameters for random lane changes
Fixed keep right parameter

* Introduced parameter SetImportedRoute to set a RoadOption path for TM controlled vehicles.
Method in Localization Stage to compute a path using RoadOptions.

* CHANGELOG.

* Changing names of methods
Cleanup

* Small changes to Collision Stage
Cleanup of SetRoadOption
Added debug_helper in Loc Stage (to be removed)

* Changes to get_next_action and get_all_actions
Fixed lane changes representation in those methods
Now get_next_action and get_all_actions need the Actor in Python

* Remove debug_helper
Set MAX_BRAKE to 0.7

* Constant values in Loc stage

* Code fixes

* Small changes in collision stage
Adding constants for VLStage
Changes in VLStage

* Choose randomly a right or left lane change if forcing both.

* Reviewable changes
Changes name of variables in Loc stage
Removed unnecessary import

* Minor final changes

* Change of method name in generate_traffic

* Change in Latest ContentVersion.txt

Co-authored-by: Joel Moriana <joel.moriana@gmail.com>
2021-11-03 11:06:14 +01:00
Luca 85da613f51
Vehicle lights state in traffic manager (#4717)
* added vehicle lights stage to the traffic manager under the dev branch

* update CHANGELOG to lastest version and added vehicle lights stage for automatically turn on-off lights

* added vehicle lights stage to the traffic manager under the dev branch

* removed commented code

* cleanups to the code, adding some comments to explain how the trafficmanagerlocal handles the command buffer

* fixing missing reference in ALSM constructor, disabling vehicle light state for dormant vehicles

* bugfix in vehicle_id_list access, added fix to avoid blinking brake lights due to throttle control

* requested changes in the vehicle light stage code

* missing namespace qualifier for constants

* Added explicit method to enable the vehicle lights management by the TM, on a per-vehicle basis. Changed generate_traffic.py to use the new vehicle lights stage instead of just setting a fixed, constant vehicle light status. Docs are updated, accordingly.

Co-authored-by: npunito <npunito>
Co-authored-by: Jacopo Bartiromo <32928804+jackbart94@users.noreply.github.com>
2021-10-28 16:09:14 +02:00
Daniel Santos-Olivan e4243c890a manual_control: reset telemetry state when spawning new cars 2021-10-05 10:59:09 +02:00
Daniel Santos-Olivan 0913a7b053 Open/Close door added to PythonAPI and manual_control 2021-09-16 11:28:46 +02:00
Sid1057 9e0e04aae4 replaced os.system approach with os.mkdir 2021-08-10 09:16:52 +02:00
Sid1057 97e40a2aed vehicle name bugfix 2021-08-10 09:16:52 +02:00
Sid1057 08570d5fe1 'No such directory _out' bugfix 2021-08-10 09:16:52 +02:00
Guillermo 592eec0377 Fixed enter bug 2021-08-02 16:36:28 +02:00
Guillermo 5127b63d91 Fixed issues with new map.name 2021-08-02 16:36:28 +02:00
Daniel Santos-Olivan 4d9af29506 Modified also start_recording script 2021-08-02 16:36:28 +02:00
Daniel Santos-Olivan 3fa0c21e2a Added microlino and sprinter to safe vehicles 2021-08-02 16:36:28 +02:00
Daniel Santos-Olivan fd661cdbf4 Script changes
- Increase max throttle to manual control to 1.0
 - In manual control and generate traffic, ignore the generation
   if the filter only returns one blueprint
2021-07-30 15:11:09 +02:00
bernatx 756e753826 Revert "Refactor argument synch -> sync", because async is reserved word in Python
This reverts commit 48bd1b45c0.
2021-07-30 01:08:15 +02:00
Guillermo d40f787e68 Minor warning changes 2021-07-30 01:08:15 +02:00
Daniel Santos-Olivan b9bfa88fab Refactor argument synch -> sync 2021-07-30 01:08:15 +02:00
Daniel Santos-Olivan bc386b35da Remove path in map text 2021-07-30 01:08:15 +02:00
Guillermo 015f1c6d43 Unified more functions and exposed some parameters. 2021-07-29 15:34:20 +02:00
Guillermo 605a129638 Unified some functions and removed redundant arguments 2021-07-29 15:34:20 +02:00
Guillermo 0207ec6f72 Improved local planner 2021-07-29 15:34:20 +02:00
Guillermo f94afe9630 WIP: Unify local planner + local planner behavior 2021-07-29 15:34:20 +02:00