CARLA
Loading...
Searching...
No Matches
V2XSensor.h
Go to the documentation of this file.
1// Copyright (c) 2026 Computer Vision Center (CVC) at the Universitat Autonoma
2// de Barcelona (UAB).
3//
4// This work is licensed under the terms of the MIT license.
5// For a copy, see <https://opensource.org/licenses/MIT>.
6
7#pragma once
8
10
14#include "V2X/CaService.h"
15#include "V2X/PathLossModel.h"
16#include <list>
17#include <map>
18#include <memory>
19#include "V2XSensor.generated.h"
20
21UCLASS()
22class CARLA_API AV2XSensor : public ASensor
23{
24 GENERATED_BODY()
25
26public:
27 AV2XSensor(const FObjectInitializer &ObjectInitializer);
28
29 static FActorDefinition GetSensorDefinition();
30
31 void Set(const FActorDescription &ActorDescription) override;
32
33 void SetCaServiceParams(const float GenCamMin, const float GenCamMax, const bool FixedRate);
34 void SetPropagationParams(const float TransmitPower,
35 const float ReceiverSensitivity,
36 const float Frequency,
37 const float combined_antenna_gain,
38 const float path_loss_exponent,
39 const float reference_distance_fspl,
40 const float filter_distance,
41 const bool use_etsi_fading,
42 const float custom_fading_stddev);
43 void SetScenario(EScenario scenario);
44
45 // CAM params
46 void SetAccelerationStandardDeviation(const FVector &Vec);
47 void SetGNSSDeviation(const float noise_lat_stddev,
48 const float noise_lon_stddev,
49 const float noise_alt_stddev,
50 const float noise_head_stddev,
51 const float noise_lat_bias,
52 const float noise_lon_bias,
53 const float noise_alt_bias,
54 const float noise_head_bias);
55 void SetVelDeviation(const float noise_vel_stddev);
56 void SetYawrateDeviation(const float noise_yawrate_stddev, const float noise_yawrate_bias);
57 void SetPathLossModel(const EPathLossModel path_loss_model);
58
59 virtual void PrePhysTick(float DeltaSeconds) override;
60 virtual void PostPhysTick(UWorld *World, ELevelTick TickType, float DeltaTime) override;
61 void SetOwner(AActor *Owner) override;
62 virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
63
64private:
65 std::unique_ptr<CaService> CaServiceObj;
66 std::unique_ptr<PathLossModel> PathLossModelObj;
67 void InitModel(AActor *Owner);
68
69 // store data
70 using ActorV2XDataMap = std::map<AActor *, carla::sensor::data::CAMData>;
72};
EScenario
EPathLossModel
static ActorV2XDataMap mActorV2XDataMap
Definition V2XSensor.h:71
std::unique_ptr< CaService > CaServiceObj
Definition V2XSensor.h:65
std::map< AActor *, carla::sensor::data::CAMData > ActorV2XDataMap
Definition V2XSensor.h:70
std::unique_ptr< PathLossModel > PathLossModelObj
Definition V2XSensor.h:66
A definition of a Carla Actor with all the variation and attributes.
A description of a Carla Actor with all its variation.