mrs_lib
Various reusable classes, functions and utilities for use in MRS projects
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 Cmrs_lib::AtomicScopeFlagConvenience class for automatically setting and unsetting an atomic boolean based on the object's scope. Useful e.g. for indicating whether a thread is running or not
 Cmrs_lib::AttitudeConverterThe main convertor class. Instantiate with any type in constructor and get the value in any other type by assigning the instance to your variable, as: tf::Quaternion tf1_quaternion = AttitudeConverter(roll, pitch, yaw); All the default Euler angles are in the extrinsic RPY notation
 Cmrs_lib::BatchVisualizerLibrary for drawing large amounts of geometric objects in RVIZ at the same time
 Cmrs_lib::geometry::ConeGeometric representaiton of a cone
 Cmrs_lib::geometry::CuboidGeometric representation of a cuboid
 Cmrs_lib::geometry::cyclic< flt, spec >Implementation of the a general cyclic value (such as angles in radians/degrees etc)
 Cmrs_lib::geometry::cyclic< double, degrees >
 Cmrs_lib::geometry::degreesConvenience specialization of the cyclic class for unsigned degrees (from $0$ to $360$)
 Cmrs_lib::geometry::cyclic< double, radians >
 Cmrs_lib::geometry::radiansConvenience specialization of the cyclic class for unsigned radians (from $0$ to $2\pi$)
 Cmrs_lib::geometry::cyclic< double, sdegrees >
 Cmrs_lib::geometry::sdegreesConvenience specialization of the cyclic class for signed degrees (from $-180$ to $180$)
 Cmrs_lib::geometry::cyclic< double, sradians >
 Cmrs_lib::geometry::sradiansConvenience specialization of the cyclic class for signed radians (from $-\pi$ to $\pi$)
 Cmrs_lib::geometry::cyclic< float, degrees >
 Cdegrees
 Cmrs_lib::geometry::CylinderGeometric representation of a cylinder
 Cmrs_lib::DynamicPublisherA helper class for easy publishing of ROS messages for debugging purposes
 Cmrs_lib::DynamicReconfigureMgr< ConfigType >
 Cmrs_lib::geometry::EllipseGeometric representation of an ellipse
 Cmrs_lib::EulerAttitudeA small class for storing the Euler angles
 Cexception
 Cmrs_lib::AttitudeConverter::EulerFormatExceptionThrown when the Euler angle format is set wrongly
 Cmrs_lib::AttitudeConverter::GetHeadingExceptionThrown when calculating of heading is not possible due to atan2 exception
 Cmrs_lib::AttitudeConverter::InvalidAttitudeExceptionThrown when the internal attitude becomes invalid
 Cmrs_lib::AttitudeConverter::MathErrorExceptionThrown when math breaks
 Cmrs_lib::AttitudeConverter::SetHeadingExceptionThrown when the heading cannot be set to an existing attitude
 Cmrs_lib::eigenvector_exceptionThis exception may be thrown when solving the generalized eigenvalue problem with the M and N matrices
 Cmrs_lib::JLKF< n_states, n_inputs, n_measurements, n_biases >::inverse_exceptionThis exception is thrown when taking the inverse of a matrix fails
 Cmrs_lib::LKF< n_states, n_inputs, n_measurements >::inverse_exceptionThis exception is thrown when taking the inverse of a matrix fails
 Cmrs_lib::Polygon::ExtraVertices
 Cmrs_lib::Polygon::WrongNumberOfColumns
 Cmrs_lib::Polygon::WrongNumberOfVertices
 Cmrs_lib::SafetyZone::BorderError
 Cmrs_lib::UKF< n_states, n_inputs, n_measurements >::inverse_exceptionThrown when taking the inverse of a matrix fails during kalman gain calculation
 Cmrs_lib::UKF< n_states, n_inputs, n_measurements >::square_root_exceptionThrown when taking the square root of a matrix fails during sigma generation
 Cmrs_lib::IirFilter
 Cmrs_lib::ImagePubliserData
 Cmrs_lib::ImagePublisher
 CDynamicPublisher::impl
 Cmrs_lib::SubscribeHandler< MessageType >::Impl< MessageType >
 Cmrs_lib::SubscribeHandler< MessageType >::ImplThreadsafe< MessageType >
 CThreadTimer::Impl
 Cmrs_lib::Intersection
 Cmrs_lib::KalmanFilter< n_states, n_inputs, n_measurements >This abstract class defines common interfaces and types for a generic Kalman filter
 Cmrs_lib::LKF< 3, 1, 1 >
 Cmrs_lib::LKF< n_states, n_inputs, -1 >
 Cmrs_lib::LKF< n_states, n_inputs, n_measurements >Implementation of the Linear Kalman filter [3]
 Cmrs_lib::UKF< n_states, n_inputs, n_measurements >Implementation of the Unscented Kalman filter [4]
 Cmrs_lib::KalmanFilterAloamGarm< n_states, n_inputs, n_measurements >This abstract class defines common interfaces and types for a generic Kalman filter
 Cmrs_lib::JLKF< n_states, n_inputs, n_measurements, n_biases >
 Cmrs_lib::MedianFilterImplementation of a median filter with a fixed-length buffer
 Cmrs_lib::quadratic_throttle_model::MotorParams_t
 Cmrs_lib::MRSTimerCommon wrapper representing the functionality of the ros::Timer
 Cmrs_lib::ROSTimerRos::Timer wrapper. The interface is the same as with ros::Timer, except for the initialization method
 Cmrs_lib::ThreadTimerCustom thread-based Timers with the same interface as mrs_lib::ROSTimer
 CMyPoint
 Cmrs_lib::NotchFilter
 Cobj_t
 Cobs_t
 Cmrs_lib::ParamLoaderConvenience class for loading parameters from rosparam server
 Cmrs_lib::ParamProviderHelper class for ParamLoader
 Cmrs_lib::Polygon
 Cmrs_lib::Profiler
 Cmrs_lib::PublisherHandler< TopicType >User wrapper of the publisher handler implementation
 Cmrs_lib::PublisherHandler_impl< TopicType >Implementation of the publisher handler
 Cmrs_lib::geometry::RayGeometric representation of a ray. Instantiate it by two input Vector3. Use static methods for from-to raycast, or a point-direction raycast
 Cmrs_lib::geometry::RectangleGeometric representation of a rectangle (can represent any quadrilateral)
 Cmrs_lib::Repredictor< Model, disable_reprediction >Implementation of the Repredictor for fusing measurements with variable delays
 Cmrs_lib::Repredictor< Model >
 Cmrs_lib::RepredictorAloamgarm< Model >Implementation of the RepredictorAloamgarm for fusing measurements with variable delays
 Cmrs_lib::RHEIV< n_states, n_params >Implementation of the Reduced Heteroscedastic Errors In Variables surface fitting algorithm [2]
 Cmrs_lib::Routine
 Cmrs_lib::SafetyZone
 Cmrs_lib::ScopeTimerSimple timer which will time a duration of a scope and checkpoints inside the scope in ros time and std::chrono time
 Cmrs_lib::ScopeTimerLoggerSimple file logger of scope timer and its checkpoints
 Cmrs_lib::ServiceClientHandler< ServiceType >User wrapper of the service client handler implementation
 Cmrs_lib::ServiceClientHandler_impl< ServiceType >Implementation of the service client handler
 Cmrs_lib::KalmanFilter< n_states, n_inputs, n_measurements >::statecov_tHelper struct for passing around the state and its covariance in one variable
 Cmrs_lib::KalmanFilterAloamGarm< n_states, n_inputs, n_measurements >::statecov_tHelper struct for passing around the state and its covariance in one variable
 CSubObject
 Cmrs_lib::SubscribeHandler< MessageType >The main class for ROS topic subscription, message timeout handling etc
 Cmrs_lib::SubscribeHandlerOptionsA helper class to simplify setup of SubscribeHandler construction. This class is passed to the SubscribeHandler constructor and specifies its common options
 CTest
 CVectorConverterTest< T >
 Cmrs_lib::ScopeTimer::time_point
 Cmrs_lib::TimeoutManagerTODO
 Cmrs_lib::TransformBroadcasterWrapper for the tf2_ros::TransformBroadcaster. With each sendTransform() command, the message is checked against the last message with the same frame IDs. If the transform was already published in this ros::Time step, then the transform is skipped. Prevents endless stream of warnings from spamming the console output
 Cmrs_lib::TransformerA convenience wrapper class for ROS's native TF2 API to simplify transforming of various messages
 Cmrs_lib::geometry::TriangleGeometric representation of a triangle. Instantiate a new triangle by providing three vertices
 Cstd::tuple_element< 0, mrs_lib::AttitudeConverter >
 Cstd::tuple_element< 1, mrs_lib::AttitudeConverter >
 Cstd::tuple_element< 2, mrs_lib::AttitudeConverter >
 Cstd::tuple_size< mrs_lib::AttitudeConverter >
 Cmrs_lib::Vector3ConverterConverter of Vector3 representations. Instantiate it with any type of vector3 in constructor and convert it by assigning it to any other type of vector3 variable
 Cmrs_lib::VisualObject