Commit Graph

122 Commits

Author SHA1 Message Date
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
bernatx 7c106b9426 adding Town15 as AdditionalMap 2023-10-27 14:39:37 +02:00
bernatx ed2159fb0d Remove Recast hash version 2023-10-23 16:32:29 +02:00
bernatx 9ad61979c7 New version of Recast&Detour 2023-10-23 09:58:29 +02:00
anrp ba497e62f2 Force Unreal toolchain to use Unreal sysroot
Not doing this can lead to the Unreal toolchain examining the host system,
which can cause it to attempt to use glibc features newer than the Unreal
target of 2.17 provides (specifically, rpclib can accidentaly pick up the
symbol pthread_cond_clockwait, which is provided by Ubuntu 20.04 glibc 2.31
but *not* by Unreal glibc 2.17, which then causes a missing symbol linker
error when trying to build CARLA. The reason is that libc++ attempts to
detect glibc version in its headers and conditionally uses that symbol.)
2023-09-27 13:57:50 +02:00
bernatx 12fc74dcbb Fix installation of headers 2023-05-05 10:55:53 +02:00
bernatx 73315d3d62 Pedestrians collision deisabled when using AI or in replayer 2023-05-05 10:55:53 +02:00
Blyron dcca826ade
Aaron/opendrivetomapineditor (#6056)
* Added way to download files from overpass api

* Save downloaded text to a file

* Changed log type for File manipulation

* Online process files when request is valid

* Correct file format

* Correct file format for UE4 class

* Fix compilation issue due to name change

* Create Widget with OpenFileDialogFunctionality

* Step xodr to map completed

* Generated Static meshes and replace procedural actors

* Created and saved assets during road generation

* Formatted file correctly

* OSM To ODR broguht to UE4

* Full pipeline working on linux

* Added osm2odr support in editor in Windos

* Added Widget to CartaTools

* Fixed Linux compilation error

* Added Carla Game Instance included to avoid compilation error

* Added Simplify to LibCarla, Added timers to measure time generation.  Add mesh deformation during road creation.

* Fixed mesh format translations

* Concated meshes generated in the same lane to avoid errors during simplification

* Avoid Simplify to remove border vertices and try to parallel assets creation process

* Road Generation 0.1 version ready

* Removing Engine Association, Formatting CarlaTools Build dependencies

* Change container type of generated procedural mesh componetns to be supported by UPROPERTY

* Fixed indices jumping by two

* Cleaning branch

* Cleanup last spaces

* Remove spaces on Opendrivetowditor.cpp
2023-02-15 09:50:55 +01:00
anrp f66fd8e7c7 Use Unreal's host SDK on Linux
The supported compiler is clang, but that is not the default on Ubuntu.
Unreal Editor itself ships clang-10 for use on linux (along with the
libc++ that Unreal itself uses) so just use those in CARLA.
2023-01-27 12:39:48 +01:00
Axel dd3bc8709c Revert to boost 1.80 2022-12-20 13:18:34 +01:00
Axel cef4489d0f Upgraded boost 1.81 for linux 2022-12-20 13:18:34 +01:00
bernatx f628f204b4 Adding backup for xerces-c library 2022-10-20 10:31:16 +02:00
Axel 2f739238e4 fixed xerces-c dependencies 2022-10-20 10:31:16 +02:00
Axel 4e4d59fad9 Fixed xerces-c dependency 2022-10-19 10:37:10 +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
LuisPoveda 5ac3ce6d31
Luis/collisions bushes (#5477)
* Added base class for spring based vegetation simulation

* Excluded small bones from Inertia tensor computation. Added eigen 3.1.0 as dependency for vegetation modules.

* Added patch for eigen 3.1.0 in windows.

* Fixed windows compilation with eigen libraries

* Added automatic hierarchy extraction from skeletal mesh to spring based skeleton. Exposed custom spring vegetation structs to editor.

* Reorganized functions for spring based vegetation simulation. Fixed coordinate transformation bug (from UE left handed frame to right handed frame).

* Changes to use compile with CLang 10

* Improved spring strength settings for infividual branches. Enabled better debugging.

* added bush bp
added bush with sphere to the town10 map

* Fixed bush collision make car fly

* spring based vegetatation component updated

* System to get the bp from foliage mesh and instanciate if exists at runtime

* Added filters for spawning different types of foliage

* Spawning foliage hide and scaling it before showing.

* Added foliage bp class cache system to improve performance

* Changed Sphere Detection for Box and Implemented Object Pooling

* Fixed Dissapearing bushes, testing pooling

* Changed Sign function to not use clang's one

* Moved Spawner Logic out of Vehicle

* fix vegetation spawner now looks for new statich meshes every frame

* PR changes

* PR Changes

* Deleted spaces and scale spawn property

Co-authored-by: Axel <axellopez92@outlook.com>
Co-authored-by: Axel1092 <lopez1092@hotmail.com>
Co-authored-by: bernat <bernatx@gmail.com>
2022-06-02 14:35:42 +02:00
Axel 843ac4b38e Fix ubbuntu 18 compilation issues 2022-05-02 09:25:24 +02:00
Marcel Pi aaf40aa250 Switched back to using LLVM-8.0. 2022-04-26 16:17:00 +02:00
Marcel Pi 74e0c680cd Switched to a more robust way of detecting the current compiler. 2022-04-26 16:17:00 +02:00
Marcel Pi 9b13826865 Renamed CARLA_CLANG_VERSION_MAJOR to CARLA_LLVM_VERSION_MAJOR. 2022-04-26 16:17:00 +02:00
Marcel Pi 9a005e9c7c Revert "More Setup.sh changes."
This reverts commit ff82140d70.
2022-04-26 16:17:00 +02:00
Marcel Pi dfc799a5d3 More Setup.sh changes. 2022-04-26 16:17:00 +02:00
Marcel Pi 97f3b96659 Minor Setup.sh changes. 2022-04-26 16:17:00 +02:00
Marcel Pi 54d6116d57 Automatically detect clang version. 2022-04-26 16:17:00 +02:00
Marcel Pi 1821df68c4 Removed specific version requirements for clang, lld and gcc. 2022-04-26 16:17:00 +02:00
bernat df05a509f3 Changes to use compile with CLang 10 2022-04-26 16:17:00 +02:00
Axel 66d29be1a1 Fix xerces download broken link 2022-03-31 10:47:34 +02:00
Joel Moriana d6185fe982 first iteration python wheels support 2021-07-26 10:25:08 +02:00
bernat aa6377c9e1 Updating boost source URL 2021-05-17 20:57:40 +02:00
bernat a3797e02ac Using new version of RecastBuilder 2021-05-07 15:17:45 +02:00
Axel de6f3769b4 Fixed libxerces-c installation. 2021-04-07 17:47:45 +02:00
bernat 7580c682f6 Disable the minimum size of a network packet to be sent 2021-03-31 10:00:24 +02:00
Axel f8f064a73d Added missing folder creation command 2021-03-08 16:01:50 +01:00
Axel ced1d5c88c Added OSM2ODR dependencies for projection capabilities (linux). 2021-03-04 16:16:42 +01:00
Axel 546016c664 Set chrono version to 6.0.0. 2021-02-18 10:04:35 +01:00
Axel bf8e160622 Added release compile mode for chrono library. 2021-02-18 10:04:35 +01:00
Axel 2117794dd7 Created base chrono implementation 2021-02-18 10:04:35 +01:00
Axel c62070bbdd Fixed python 2 boost recompilation. 2020-10-02 11:51:37 +02:00
Axel b6c650d438 Python 2 returns. 2020-10-02 11:51:37 +02:00
Axel 247c27e6af Build scripts accept any option and only use those that are needed. 2020-10-02 11:51:37 +02:00
Axel ae4102c1c9 Changed xerces-c transcoder. 2020-09-30 12:52:00 +02:00
Axel a4eaba572f Added Xerces-c library to setup.sh 2020-09-30 12:52:00 +02:00
Axel 172d947ed8 Removed Python 2 from default builds. 2020-09-04 17:24:16 +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
Axel 3926fec5fb fixed argument parsing issue. 2020-08-27 11:29:47 +02:00
Axel c2f703b504 Added version to python3 compilation options. 2020-08-27 11:29:47 +02:00
bernat aa48256e93 Update RPClib with fix of crash when closing session 2020-07-31 15:15:35 +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 ba63075f37 Move required modules into documentation 2020-07-08 23:17:33 +02:00