perception_interfaces 1.0.0
Loading...
Searching...
No Matches
checks.h
Go to the documentation of this file.
1
30#pragma once
31
33
34
35namespace perception_msgs {
36
37namespace object_access {
38
39 const std::string kExceptionInvalidStateSize = "Invalid continuous state size for model with ID: ";
40 const std::string kExceptionInvalidDiscreteStateSize = "Invalid discrete state size for model with ID: ";
41 const std::string kExceptionInvalidStateCovarianceSize = "Invalid continuous state covariance size for model with ID: ";
42
48 inline void sanityCheckContinuousStateSize(const ObjectState& state) {
49 int exp_state_size = getContinuousStateSize(state.model_id);
50 int state_size = getContinuousStateSize(state);
51 if (state_size != exp_state_size)
52 throw std::invalid_argument(kExceptionInvalidStateSize + std::to_string(state.model_id) + ", " + std::to_string(state_size) + " != " + std::to_string(exp_state_size));
53 }
54
60 inline void sanityCheckDiscreteStateSize(const ObjectState& state) {
61 int exp_discrete_state_size = getDiscreteStateSize(state.model_id);
62 int discrete_state_size = getDiscreteStateSize(state);
63 if (discrete_state_size != exp_discrete_state_size)
64 throw std::invalid_argument(kExceptionInvalidDiscreteStateSize + std::to_string(state.model_id) + ", " + std::to_string(discrete_state_size) + " != " + std::to_string(exp_discrete_state_size));
65 }
66
72 inline void sanityCheckContinuousStateCovarianceSize(const ObjectState& state) {
73 int exp_state_cov_size = getContinuousStateCovarianceSize(state.model_id);
74 int state_cov_size = getContinuousStateCovarianceSize(state);
75 if (state_cov_size != exp_state_cov_size)
76 throw std::invalid_argument(kExceptionInvalidStateCovarianceSize + std::to_string(state.model_id) + ", " + std::to_string(state_cov_size) + " != " + std::to_string(exp_state_cov_size));
77 }
78
84 inline void sanityCheckContinuousState(const ObjectState& state) {
86 }
87
94 template <typename T>
95 inline void sanityCheckContinuousState(const T& obj) {
97 }
98
104 inline void sanityCheckDiscreteState(const ObjectState& state) {
106 }
107
114 template <typename T>
115 inline void sanityCheckDiscreteState(const T& obj) {
116 sanityCheckDiscreteState(obj.state);
117 }
118
124 inline void sanityCheckContinuousStateCovariance(const ObjectState& state) {
126 }
127
134 template <typename T>
135 inline void sanityCheckContinuousStateCovariance(const T& obj) {
137 }
138
144 inline void sanityCheckFullState(const ObjectState& state) {
148 }
149
156 template <typename T>
157 inline void sanityCheckFullState(const T& obj) {
158 sanityCheckFullState(obj.state);
159 }
160
161} // namespace object_access
162
163} // namespace perception_msgs
void sanityCheckFullState(const ObjectState &state)
Perform sanity check on full state of given object state.
Definition checks.h:144
void sanityCheckContinuousStateCovarianceSize(const ObjectState &state)
Perform sanity check on continuous state covariance size of given object state.
Definition checks.h:72
void sanityCheckContinuousState(const ObjectState &state)
Perform sanity check on continuous state of given object state.
Definition checks.h:84
void sanityCheckContinuousStateSize(const ObjectState &state)
Perform sanity check on continuous state size of given object state.
Definition checks.h:48
void sanityCheckDiscreteStateSize(const ObjectState &state)
Perform sanity check on discrete state size of given object state.
Definition checks.h:60
void sanityCheckContinuousStateCovariance(const ObjectState &state)
Perform sanity check on continuous state covariance of given object state.
Definition checks.h:124
void sanityCheckDiscreteState(const ObjectState &state)
Perform sanity check on discrete state of given object state.
Definition checks.h:104
Object state utility functions.
int getDiscreteStateSize(const ObjectState &state)
Get the discrete state size for a given object state.
Definition utils.h:96
int getContinuousStateSize(const ObjectState &state)
Get the continuous state size for a given object state.
Definition utils.h:51
int getContinuousStateCovarianceSize(const ObjectState &state)
Get the continuous state covariance size for a given object state.
Definition utils.h:141