perception_interfaces 1.1.2
Loading...
Searching...
No Matches
checks.h
Go to the documentation of this file.
1// Copyright Institute for Automotive Engineering (ika), RWTH Aachen University
2// SPDX-License-Identifier: MIT
3
9#pragma once
10
12
13
14namespace perception_msgs {
15
16namespace object_access {
17
18 const std::string kExceptionInvalidStateSize = "Invalid continuous state size for model with ID: ";
19 const std::string kExceptionInvalidDiscreteStateSize = "Invalid discrete state size for model with ID: ";
20 const std::string kExceptionInvalidStateCovarianceSize = "Invalid continuous state covariance size for model with ID: ";
21
27 inline void sanityCheckContinuousStateSize(const ObjectState& state) {
28 int exp_state_size = getContinuousStateSize(state.model_id);
29 int state_size = getContinuousStateSize(state);
30 if (state_size != exp_state_size)
31 throw std::invalid_argument(kExceptionInvalidStateSize + std::to_string(state.model_id) + ", " + std::to_string(state_size) + " != " + std::to_string(exp_state_size));
32 }
33
39 inline void sanityCheckDiscreteStateSize(const ObjectState& state) {
40 int exp_discrete_state_size = getDiscreteStateSize(state.model_id);
41 int discrete_state_size = getDiscreteStateSize(state);
42 if (discrete_state_size != exp_discrete_state_size)
43 throw std::invalid_argument(kExceptionInvalidDiscreteStateSize + std::to_string(state.model_id) + ", " + std::to_string(discrete_state_size) + " != " + std::to_string(exp_discrete_state_size));
44 }
45
51 inline void sanityCheckContinuousStateCovarianceSize(const ObjectState& state) {
52 int exp_state_cov_size = getContinuousStateCovarianceSize(state.model_id);
53 int state_cov_size = getContinuousStateCovarianceSize(state);
54 if (state_cov_size != exp_state_cov_size)
55 throw std::invalid_argument(kExceptionInvalidStateCovarianceSize + std::to_string(state.model_id) + ", " + std::to_string(state_cov_size) + " != " + std::to_string(exp_state_cov_size));
56 }
57
63 inline void sanityCheckContinuousState(const ObjectState& state) {
65 }
66
73 template <typename T>
74 inline void sanityCheckContinuousState(const T& obj) {
76 }
77
83 inline void sanityCheckDiscreteState(const ObjectState& state) {
85 }
86
93 template <typename T>
94 inline void sanityCheckDiscreteState(const T& obj) {
95 sanityCheckDiscreteState(obj.state);
96 }
97
103 inline void sanityCheckContinuousStateCovariance(const ObjectState& state) {
105 }
106
113 template <typename T>
114 inline void sanityCheckContinuousStateCovariance(const T& obj) {
116 }
117
123 inline void sanityCheckFullState(const ObjectState& state) {
127 }
128
135 template <typename T>
136 inline void sanityCheckFullState(const T& obj) {
137 sanityCheckFullState(obj.state);
138 }
139
140} // namespace object_access
141
142} // namespace perception_msgs
void sanityCheckFullState(const ObjectState &state)
Perform sanity check on full state of given object state.
Definition checks.h:123
void sanityCheckContinuousStateCovarianceSize(const ObjectState &state)
Perform sanity check on continuous state covariance size of given object state.
Definition checks.h:51
void sanityCheckContinuousState(const ObjectState &state)
Perform sanity check on continuous state of given object state.
Definition checks.h:63
void sanityCheckContinuousStateSize(const ObjectState &state)
Perform sanity check on continuous state size of given object state.
Definition checks.h:27
void sanityCheckDiscreteStateSize(const ObjectState &state)
Perform sanity check on discrete state size of given object state.
Definition checks.h:39
void sanityCheckContinuousStateCovariance(const ObjectState &state)
Perform sanity check on continuous state covariance of given object state.
Definition checks.h:103
void sanityCheckDiscreteState(const ObjectState &state)
Perform sanity check on discrete state of given object state.
Definition checks.h:83
Object state utility functions.
int getDiscreteStateSize(const ObjectState &state)
Get the discrete state size for a given object state.
Definition utils.h:75
int getContinuousStateSize(const ObjectState &state)
Get the continuous state size for a given object state.
Definition utils.h:30
int getContinuousStateCovarianceSize(const ObjectState &state)
Get the continuous state covariance size for a given object state.
Definition utils.h:120