Commit Graph

82 Commits

Author SHA1 Message Date
Bernd Gassmann 6489eafa4c Fix typo in comment 2023-11-24 08:33:40 +01:00
Bernd Gassmann 800b394d2a Fix build of RSS version with python 3.10 and Ubuntu 22.04 2023-11-24 08:33:40 +01:00
Fabian Oboril 0ac122b699 Enable RSS build with CARLA 0.9.15 2023-11-15 15:34:25 +01:00
LuisPoveda 8ce4ca9ed3
Ros2 (#6862)
* Adding ROS2 manager

* Trying to compile fastDDS in windows, but have problems with dependencies

* Camera sensors connected to ROS2, dependencies disabled temporaly

* Including enum with sensors list

* adding GNSS sensor capture

* adding IMU sensor capture

* adding DVS sensor capture

* adding Lidar sensor capture

* adding SemanticLidar and Radar capture

* adding ObstacleDetector and some fixes

* modify cmakelists, failed to find libatomic

* fixed libatomic

* compile fast-dds with libc++

* fixed compliation fast dds with libcxx

* linked carla with fastdds

* Fixed Fast-DDS lib
Now its compiled to a intermediate lib with a bridge so libstdc++ can be used

* moved all ros2 deps to ros2 folder
renamed types from .cxx to .cpp

* Finally FastDDS compiled and working inside CARLA

* exposed publish function for testing

* fixed code style

* make ros2 optional

* make ros2 optional

* Added defines to compile ROS2 code

* ros image publisher working

* deleted some buffer copies

* Added more topics  and ROS2 types

* Adding sensor Transform as argument, and add function to send buffer or serialize and send buffer

* Removing empty buffer from DVS sensor

* fixed lidar publisher

* fixed lidar publisher

* Fix buffer of RGB in ROS2

* adding timestamp of each frame into ROS2 manager

* sending timestamps with frame to ROS2

* put apart timestamp from frame counter call

* adding BufferView to share buffers

* adding BufferView to share buffers

* adding ros_name attribute to all actors

* mapping ros_name for each actor

* ROS2 is now published in a different thread
Publishers now can be created on demand and be reused
Added subscriber for ego vehicle
Fixed build scripts

* forgot to add this fix

* add ros2 to windows scripts

* fixed default ros topic names

* fix topic name duplication

* Adding functions for enable/disable sensors publishing without listen to it

* Added Camera info and ROI types
RGB Camera now publishes in both topics

* move camera info immutable data to the constructor

* Publish transform for all topics
Create Camera DVS subtopics
Fixed bug with Lidar

* Added flip Y to semantic lidar

* Adding callbacks for subscribers from Unreal

* Adding camera info to ROS2 (resolution and FOV)

* Finished ROS2 naming from python

* Fixed bug with ros names

* Delete topics when deleting the sensors

* setting the rosname same as default no longer rewrites it

* ROS transform fix

* Added all camera topics with the image and camera info
Added vehicle control
Added clock publisher

* Change ros2 topic names for vehicle subscriber and  clock publisher

* Rename vehicle control ros2 topic name

* rename subscriber type to CarlaEgoVehicleControl

* Fix semantic lidar default ros name
Fix sizeof the semantic lidar data buffer

* Changed controller stored as string to pointer

* Back to previous version for default hero ros name
Removed debug prints

* Remvoe callback when ego publisher disconnects

* Serializing DVS data before sending to ROS

* dvs camera image and lidar

* DVS Pointcloud publishing

* Remove unnecessary fields

* Send local transforms to ros

* avoid transform recalculation if not needed

* Optical Flow Camera fixed

* Set fixed branch for Fast-DDS to avoid cmake version change issues

* Finally Working on package

* Fix style from FastDDS auto generated files

* Added ros2 to ubuntu in jenkins

* removed ros2 from jenkins, test

* restore ros2 in jenkins

* fix copy shareds, and removed server dependency from libcarla

* test installing the fastdds dependencies in jenkins

* move installing deps to separate stage

* removed install deps

* Fixing test_benchmark_streaming

* Fixed imu orientation and camera info data

* Fixing test_benchmark_streaming.cpp with BufferView

* Removing DEBUG_ONLY()

* publish collision sensor

* Fixing unit-tests with the new BufferView

* camera info is set once

* Fix echo camera info

* fix transform rotation

* Fixing ros_name attribute creation

* fixed camera info and region of interest publish

* fix IMU compass

* Forgot to add ros2 flag to jenkins package

---------

Co-authored-by: bernatx <bernatx@gmail.com>
2023-11-06 12:34:07 +01:00
Axel1092 aeac45b09c
Terramechanics and Vegetation fixes (#5820)
* 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 not finding skeletal blueprints in shipping builds

* 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

* Physics fixed.
- Removed re-aplying forces all the time.
- Removed collisions with the static meshes.

* Fixed slow frames. Added functionality

* Removed unecessary library links

* Fixed pytorch link

* Limited search to relevant tiles

* Added parameter to modify torque and forces for nested bones.

* Forgot to add file.

* Added multithreaded particle search. Fixed cuda architectures compilation

* removed old unused code

* fix windows compilation

* collisions now are applied from the closest point.
added debug bools to enable more collisions and draw collision points.

* Removed old code.

* Fixed bug with distance less than zero.

* Try to stabilize a bit

* CHanged repulsion forces so that contacts end with equilibrium

* 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

* Changes to tile location computation and threaded structure

* Added lock to prevent parallel intialization of tiles

* Adding support for large texture

* Fixed infinite loop

* Removed unnecessary function, changed particle ordering

* Disable Enable plane and Change path to create folder

* Added debug options for particles, added fraction based displacement

* Tried to round to have deterministic rounds in Coords calculations

* Revert files

* Fixes to enable UCustomTerrainPhysicsComponent to interact with ALargeMapManager

* Now all foliages are spawned correctly.
- SpringBasedVegetationComponent: Added the posibility to set bones as static. This static bones will use the OnCollisionEvent instead overlap events.
- VegetationManager: Removed unnecessary variables.
- VegetationManager: Now the FTileData supports multiple level loads for the same tile.
- VegetationManager: Refactor the code.

* Remove unnecessary logs

* Resolve Conflict

* Added Local tile displacement field

* Removed Freeing CacheData

* Fixes to enable UCustomTerrainPhysicsComponent to interact with ALargeMapManager

* Added Local tile displacement field

* Update Heightmaps

* Mark for initial update generated tiles

* Added soil component field and code clean up

* Fix with the path for debug foliages.

* Added flag to atenuate particle forces

* Fix compilation in windows

* Removing 'can rest' feature

* Removed Tile being recreated losing tree references.

* Fixing sleep

* Check index is valid before accesing it preventing crash when loading  tiles from files

* Add debug position, add logging when removing and adding particles to zordered map, now only remove one element from multisets

* Initialize tile's heightmap on the fly not read it from file

* Fixed link errors

* Added debug to location when not vehicle loaded. Taking Height from ZOrdered particles instead from tile local heightmap

* Mitigation of vibration

* Remove unused code

* fixed white textures

* Fixed Z spin in some situations

* Multithread savemap and added more logging for debug purpouses

* Removing non used code. Updating texture based on tiles position instead of cars position

* Fixed terrain type flag not working

* add checks for tile removing only with valid pointers.

* Fixed map loading crash

Co-authored-by: Aaron <samaniegoaaron112@gmail.com>
Co-authored-by: LuisPoveda <lpoveda@cvc.uab.cat>
Co-authored-by: bernatx <bernatx@gmail.com>
2022-10-10 12:32:25 +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
bernatx 9c9eda84bc Multi GPU first version 2022-07-21 13:24:02 +02:00
Bernd Gassmann 9fe5e733ad RSS build uses the libproj version from CARLA
and now favours actually the boost variant from CARLA over the system
installed one
2021-07-21 16:05:25 +02:00
berndgassmann b91e1b5e0e
Merge pull request #3388 from carla-simulator/fix_rss_sensor 2020-10-08 11:29:25 +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 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
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
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
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
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
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
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
Axel ae2ae92bf1 Added spirals and splines to opendrive parser. 2020-02-07 17:16:48 +01:00
Jacopo Bartiromo 6009076f13 minor changes to paths and cmakefile 2019-12-11 16:31:51 +01:00
Jacopo Bartiromo 1c34ae73c2 initial move to libcarla.client 2019-12-11 16:31:51 +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
nsubiron 408e01db3e Install third-party sources for Windows to build the client-side 2019-07-09 13:18:19 +02:00
bernatx b652e67295 Fixes from PR 2019-07-08 18:42:45 +02:00
bernatx 3521fe42c3 Moving recast headers out of project 2019-07-08 18:42:45 +02:00
bernatx 8e4f7a7248 More fixing for windows 2019-07-08 18:42:45 +02:00
bernatx ced914a653 Fixing build in windows 2019-07-08 18:42:45 +02:00
bernat 036baa1488 Fixing Recast library for Windows 2019-07-08 18:42:45 +02:00
bernatx 42a4ea0eb7 Adding DetourCrowd 2019-07-08 18:42:45 +02:00
bernatx c189b6562f We can get a path from Python now 2019-07-08 18:42:45 +02:00
bernatx 8b92cc95b5 Added Recast&Detour to Carla project 2019-07-08 18:42:45 +02:00
nsubiron ab2f6f5bb6 Move third-party code in LibCarla to a third-party folder 2019-07-01 19:11:01 +02:00
nsubiron 0466081920 Prepare to upgrade to Boost 1.70 (not upgrading due to bug in Boost.Variant) 2019-05-03 12:53:43 +02:00
nsubiron 00cdad57c6 Fix missing quotes in CMake files 2019-04-29 15:35:33 +02:00
nsubiron 9e4925b838 Include external dependencies as system to allow stricter warning checks 2019-04-29 15:35:33 +02:00
nsubiron 5ef3dde552 Add C++ client example 2019-04-24 17:37:21 +02:00
nsubiron 560c124dab Merge branch 'master' into feature/new_opendrive_parser 2019-03-27 16:40:11 +01:00
nsubiron e8e13239c8 Organize CMakeLists.txt files 2019-03-27 15:00:41 +01:00
nsubiron 093038f9c2 Add build options to CMake cache 2019-03-20 12:36:25 +01:00
nsubiron 424441d72c Add unit tests for xodr files 2019-03-19 22:41:42 +01:00
bernatx 650231707d Creating tests for opendrive 2019-03-19 20:48:55 +01:00
Daniel 9025b7fa00 Signal parser 2019-03-15 19:44:27 +01:00
nsubiron e9d22073c7 Split LibCarla build into debug and release 2019-03-13 17:18:47 +01:00
nsubiron 39ec79ead2 Remove profiler from libcarla_client 2019-03-13 16:51:31 +01:00
nsubiron 04ccec5c45 Fix LibCarla recompiles after each commit 2019-03-13 16:51:31 +01:00
Marc Garcia Puig 5ef2148e73 Win build now copies the headers and libs of the new dependencies 2019-02-12 15:06:27 +01:00
Marc Garcia Puig 1e5d87878e Added zlib and libpng to Win setup, PythonAPI now compiles on Win 2019-02-12 15:06:27 +01:00
nsubiron 6ff8784f16 Compile server pipeline with -fno-exceptions, split unit tests for client and server 2019-01-26 17:27:14 +01:00