etsi_its_messages
v3.5.0
Toggle main menu visibility
Loading...
Searching...
No Matches
cdd_v2-1-1_getters.h
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
// Copyright Institute for Automotive Engineering (ika), RWTH Aachen University
3
8
9
#ifndef ETSI_ITS_MSGS_UTILS_IMPL_CDD_CDD_V2_1_1_GETTERS_H
10
#define ETSI_ITS_MSGS_UTILS_IMPL_CDD_CDD_V2_1_1_GETTERS_H
11
12
#include <GeographicLib/UTMUPS.hpp>
13
14
#include <
etsi_its_msgs_utils/impl/cdd/cdd_getters_common.h
>
15
22
inline
double
getLongitudinalAcceleration
(
const
AccelerationComponent& longitudinal_acceleration) {
23
return
((
double
)longitudinal_acceleration.value.value) * 1e-1;
24
}
25
32
inline
double
getLongitudinalAccelerationConfidence
(
const
AccelerationComponent& longitudinal_acceleration) {
33
return
((
double
)longitudinal_acceleration.confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
34
}
35
42
inline
double
getLateralAcceleration
(
const
AccelerationComponent& lateral_acceleration) {
43
return
((
double
)lateral_acceleration.value.value) * 1e-1;
44
}
45
52
inline
double
getLateralAccelerationConfidence
(
const
AccelerationComponent& lateral_acceleration) {
53
return
((
double
)lateral_acceleration.confidence.value) * 1e-1 / etsi_its_msgs::ONE_D_GAUSSIAN_FACTOR;
54
}
55
56
63
template
<
typename
PositionConf
id
enceEllipse>
64
inline
std::tuple<double, double, double>
getPositionConfidenceEllipse
(PositionConfidenceEllipse& position_confidence_ellipse) {
65
return
{
66
getSemiAxis
(position_confidence_ellipse.semi_major_axis_length),
67
getSemiAxis
(position_confidence_ellipse.semi_minor_axis_length),
68
position_confidence_ellipse.semi_major_axis_orientation.value * 1e-1
69
};
70
}
71
79
template
<
typename
PositionConf
id
enceEllipse>
80
inline
std::array<double, 4>
getPositionConfidenceEllipse
(
const
PositionConfidenceEllipse& position_confidence_ellipse,
const
double
object_heading){
81
auto
[semi_major, semi_minor, major_orientation] =
getPositionConfidenceEllipse
(position_confidence_ellipse);
82
return
CovMatrixFromConfidenceEllipse
(semi_major, semi_minor, major_orientation, object_heading);
83
}
84
92
template
<
typename
PositionConf
id
enceEllipse>
93
inline
std::array<double, 4>
getWGSPositionConfidenceEllipse
(
const
PositionConfidenceEllipse& position_confidence_ellipse){
94
auto
[semi_major, semi_minor, major_orientation] =
getPositionConfidenceEllipse
(position_confidence_ellipse);
95
return
WGSCovMatrixFromConfidenceEllipse
(semi_major, semi_minor, major_orientation);
96
}
97
98
99
#endif
// ETSI_ITS_MSGS_UTILS_IMPL_CDD_CDD_V2_1_1_GETTERS_H
cdd_getters_common.h
Common getter functions for the ETSI ITS Common Data Dictionary (CDD) v1.3.1, v2.1....
getSemiAxis
double getSemiAxis(const SemiAxisLength &semi_axis_length)
Get the Semi Axis object.
Definition
cdd_getters_common.h:190
CovMatrixFromConfidenceEllipse
std::array< double, 4 > CovMatrixFromConfidenceEllipse(double semi_major, double semi_minor, double major_orientation, const double object_heading)
Convert the confidence ellipse to a covariance matrix.
Definition
cdd_getters_common.h:220
WGSCovMatrixFromConfidenceEllipse
std::array< double, 4 > WGSCovMatrixFromConfidenceEllipse(double semi_major, double semi_minor, double major_orientation)
Convert the confidence ellipse to a covariance matrix.
Definition
cdd_getters_common.h:249
getWGSPositionConfidenceEllipse
std::array< double, 4 > getWGSPositionConfidenceEllipse(const PositionConfidenceEllipse &position_confidence_ellipse)
Get the covariance matrix of the position confidence ellipse.
Definition
cdd_v2-1-1_getters.h:93
getLateralAcceleration
double getLateralAcceleration(const AccelerationComponent &lateral_acceleration)
Get the lateral acceleration.
Definition
cdd_v2-1-1_getters.h:42
getLongitudinalAcceleration
double getLongitudinalAcceleration(const AccelerationComponent &longitudinal_acceleration)
Get the longitudinal acceleration.
Definition
cdd_v2-1-1_getters.h:22
getLateralAccelerationConfidence
double getLateralAccelerationConfidence(const AccelerationComponent &lateral_acceleration)
Get the Lateral Acceleration Confidence.
Definition
cdd_v2-1-1_getters.h:52
getLongitudinalAccelerationConfidence
double getLongitudinalAccelerationConfidence(const AccelerationComponent &longitudinal_acceleration)
Get the Longitudinal Acceleration Confidence.
Definition
cdd_v2-1-1_getters.h:32
getPositionConfidenceEllipse
std::tuple< double, double, double > getPositionConfidenceEllipse(PositionConfidenceEllipse &position_confidence_ellipse)
Extract major axis length, minor axis length and orientation from the given position confidence ellip...
Definition
cdd_v2-1-1_getters.h:64
etsi_its_msgs_utils
include
etsi_its_msgs_utils
impl
cdd
cdd_v2-1-1_getters.h
Generated by
1.17.0