![]() |
mrs_lib
Various reusable classes, functions and utilities for use in MRS projects
|
All mrs_lib functions, classes, variables and definitions are contained in this namespace. More...
Classes | |
class | AtomicScopeFlag |
Convenience 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. More... | |
class | AttitudeConverter |
The 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: tf2::Quaternion tf2_quaternion = AttitudeConverter(roll, pitch, yaw); All the default Euler angles are in the extrinsic RPY notation. More... | |
class | BatchVisualizer |
library for drawing large amounts of geometric objects in RVIZ at the same time More... | |
class | DKF |
Implementation of the Degenerate measurement Linear Kalman filter. More... | |
class | DynparamMgr |
Convenience class for managing dynamic ROS parameters. More... | |
class | EulerAttitude |
A small class for storing the Euler angles. More... | |
class | IirFilter |
class | KalmanFilter |
This abstract class defines common interfaces and types for a generic Kalman filter. More... | |
class | LKF |
Implementation of the Linear Kalman filter [2]. More... | |
class | LKF_MRS_odom |
class | Lockable |
Convenience class for safe and expressive management of mutexed variables. More... | |
class | MedianFilter |
Implementation of a median filter with a fixed-length buffer. More... | |
class | MRSTimer |
Common wrapper representing the functionality of the rclcpp::Timer. More... | |
class | NCLKF |
This class implements the norm-constrained linear Kalman filter [4]. More... | |
class | NCLKF_partial |
This class implements the partially norm-constrained linear Kalman filter [4]. More... | |
class | NCUKF |
class | NotchFilter |
class | ParamLoader |
Convenience class for loading parameters from rosparam server. More... | |
class | ParamProvider |
Helper class for ParamLoader and DynparamMgr. More... | |
class | Profiler |
class | PublisherHandler |
user wrapper of the publisher handler implementation More... | |
class | PublisherHandler_impl |
implementation of the publisher handler More... | |
struct | PublisherHandlerOptions |
class | Repredictor |
Implementation of the Repredictor for fusing measurements with variable delays. More... | |
class | ROSTimer |
rclcpp::Timer wrapper. The interface is the same as with rclcpp::Timer, except for the initialization method. More... | |
class | Routine |
class | ScopeTimer |
Simple timer which will time a duration of a scope and checkpoints inside the scope in ros time and std::chrono time. More... | |
class | ScopeTimerLogger |
Simple file logger of scope timer and its checkpoints. More... | |
class | ServiceClientHandler |
user wrapper of the service client handler implementation More... | |
class | ServiceServerHandler |
user wrapper of the service client handler implementation More... | |
class | SubscriberHandler |
The main class for ROS topic subscription, message timeout handling etc. More... | |
struct | SubscriberHandlerOptions |
A helper class to simplify setup of SubscriberHandler construction. This class is passed to the SubscriberHandler constructor and specifies its common options. More... | |
class | ThreadTimer |
Custom thread-based Timers with the same interface as mrs_lib::ROSTimer. More... | |
class | TimeoutManager |
struct | TimerHandlerOptions |
class | TransformBroadcaster |
Wrapper 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. More... | |
class | Transformer |
A convenience wrapper class for ROS's native TF2 API to simplify transforming of various messages. More... | |
class | UKF |
Implementation of the Unscented Kalman filter [3]. More... | |
class | Unlocker |
Convenience class for RAII-style access to a varible within a Lockable object. More... | |
class | varstepLKF |
class | Vector3Converter |
Converter 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. More... | |
class | VisualObject |
Concepts | |
concept | numeric |
Convenience concept of a numeric value (i.e. either integral or floating point, and not bool). | |
Typedefs | |
template<typename SubscriberHandler > | |
using | message_type = typename SubscriberHandler::message_type |
Helper alias for convenient extraction of handled message type from a SubscribeHandlerPtr. | |
using | lkf_t = LKF< n_states, n_inputs, n_measurements > |
using | rep_t = Repredictor< lkf_t > |
using | dumbrep_t = Repredictor< lkf_t, true > |
using | ukf_t = UKF< n_states, n_inputs, n_measurements > |
Enumerations | |
enum | RPY_convention_t { RPY_INTRINSIC = 1 , RPY_EXTRINSIC = 2 } |
enum | MarkerType { POINT = 0 , LINE = 1 , TRIANGLE = 2 } |
Functions | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const Eigen::MatrixX< T > &var) |
Helper overload for printing of Eigen matrices. | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const std::vector< T > &var) |
Helper overload for printing of std::vectors. | |
template<typename Key , typename Value > | |
std::ostream & | operator<< (std::ostream &os, const std::map< Key, Value > &var) |
Helper overload for printing of std::maps. | |
template<typename T > | |
rclcpp::ParameterType | to_param_type () |
Convenince function to get the corresponding rclcpp::ParamType from a C++ type. | |
double | probit (const double quantile) |
Inverse cumulative distribution function of the standard normal probability distribution. | |
std::tuple< double, double, double > | getXYZ (const geometry_msgs::msg::Point &data) |
get XYZ from geometry_msgs::msg::Point | |
std::tuple< double, double, double > | getXYZ (const geometry_msgs::msg::Point::SharedPtr &data) |
get XYZ from geometry_msgs::msg::Point | |
std::tuple< double, double, double > | getXYZ (const geometry_msgs::msg::Point::ConstSharedPtr &data) |
get XYZ from geometry_msgs::msg::Point | |
std::tuple< double, double, double > | getXYZ (const geometry_msgs::msg::Vector3 &data) |
get XYZ from geometry_msgs::msg::Vector3 | |
std::tuple< double, double, double > | getXYZ (const geometry_msgs::msg::Vector3::SharedPtr &data) |
get XYZ from geometry_msgs::msg::Vector3::SharedPtr | |
std::tuple< double, double, double > | getXYZ (const geometry_msgs::msg::Vector3::ConstSharedPtr &data) |
get XYZ from geometry_msgs::msg::Vector3::ConstSharedPtr | |
std::tuple< double, double, double > | getPosition (const geometry_msgs::msg::Pose &data) |
get position from geometry_msgs::msg::Pose | |
std::tuple< double, double, double > | getPosition (const geometry_msgs::msg::Pose::SharedPtr &data) |
get position from geometry_msgs::msg::Pose::SharedPtr | |
std::tuple< double, double, double > | getPosition (const geometry_msgs::msg::Pose::ConstSharedPtr &data) |
get position from geometry_msgs::msg::Pose::ConstSharedPtr | |
double | getHeading (const geometry_msgs::msg::Pose &data) |
get heading from geometry_msgs::msg::Pose | |
double | getHeading (const geometry_msgs::msg::Pose::SharedPtr &data) |
get heading from geometry_msgs::msg::Pose::SharedPtr | |
double | getHeading (const geometry_msgs::msg::Pose::ConstSharedPtr &data) |
get heading from geometry_msgs::msg::Pose::ConstSharedPtr | |
double | getYaw (const geometry_msgs::msg::Pose &data) |
get yaw from geometry_msgs::msg::Pose | |
double | getYaw (const geometry_msgs::msg::Pose::SharedPtr &data) |
get yaw from geometry_msgs::msg::Pose::SharedPtr | |
double | getYaw (const geometry_msgs::msg::Pose::ConstSharedPtr &data) |
get yaw from geometry_msgs::msg::Pose::ConstSharedPtr | |
std::tuple< double, double, double > | getPosition (const geometry_msgs::msg::PoseWithCovariance &data) |
get position from geometry_msgs::msg::PoseWithCovariance | |
std::tuple< double, double, double > | getPosition (const geometry_msgs::msg::PoseWithCovariance::SharedPtr &data) |
get position from geometry_msgs::msg::PoseWithCovariance::SharedPtr | |
std::tuple< double, double, double > | getPosition (const geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr &data) |
get position from geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr | |
double | getHeading (const geometry_msgs::msg::PoseWithCovariance &data) |
get heading from geometry_msgs::msg::PoseWithCovariance | |
double | getHeading (const geometry_msgs::msg::PoseWithCovariance::SharedPtr &data) |
get heading from geometry_msgs::msg::PoseWithCovariance::SharedPtr | |
double | getHeading (const geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr &data) |
get heading from geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr | |
double | getYaw (const geometry_msgs::msg::PoseWithCovariance &data) |
get yaw from geometry_msgs::msg::PoseWithCovariance | |
double | getYaw (const geometry_msgs::msg::PoseWithCovariance::SharedPtr &data) |
get yaw from geometry_msgs::msg::PoseWithCovariance::SharedPtr | |
double | getYaw (const geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr &data) |
get yaw from geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr | |
std::tuple< double, double, double > | getVelocity (const geometry_msgs::msg::Twist &data) |
get velocity from geometry_msgs::msg::Twist | |
std::tuple< double, double, double > | getVelocity (const geometry_msgs::msg::Twist::SharedPtr &data) |
get position from geometry_msgs::msg::Twist::SharedPtr | |
std::tuple< double, double, double > | getVelocity (const geometry_msgs::msg::Twist::ConstSharedPtr &data) |
get position from geometry_msgs::msg::Twist::ConstSharedPtr | |
std::tuple< double, double, double > | getVelocity (const geometry_msgs::msg::TwistWithCovariance &data) |
get velocity from geometry_msgs::msg::TwistWithCovariance | |
std::tuple< double, double, double > | getVelocity (const geometry_msgs::msg::TwistWithCovariance::SharedPtr &data) |
get position from geometry_msgs::msg::TwistWithCovariance::SharedPtr | |
std::tuple< double, double, double > | getVelocity (const geometry_msgs::msg::TwistWithCovariance::ConstSharedPtr &data) |
get position from geometry_msgs::msg::TwistWithCovariance::ConstSharedPtr | |
std::tuple< double, double, double > | getPosition (const nav_msgs::msg::Odometry &data) |
get position from nav_msgs::msg::Odometry | |
std::tuple< double, double, double > | getPosition (const nav_msgs::msg::Odometry::SharedPtr &data) |
get position from nav_msgs::msg::Odometry::SharedPtr | |
std::tuple< double, double, double > | getPosition (const nav_msgs::msg::Odometry::ConstSharedPtr &data) |
get position from nav_msgs::msg::Odometry::ConstSharedPtr | |
std::tuple< double, double, double > | getVelocity (const nav_msgs::msg::Odometry &data) |
get position from nav_msgs::msg::Odometry | |
std::tuple< double, double, double > | getVelocity (const nav_msgs::msg::Odometry::SharedPtr &data) |
get velocity from nav_msgs::msg::Odometry::SharedPtr | |
std::tuple< double, double, double > | getVelocity (const nav_msgs::msg::Odometry::ConstSharedPtr &data) |
get velocity from nav_msgs::msg::Odometry::ConstSharedPtr | |
double | getHeading (const nav_msgs::msg::Odometry &data) |
get heading from nav_msgs::msg::Odometry | |
double | getHeading (const nav_msgs::msg::Odometry::SharedPtr &data) |
get heading from nav_msgs::msg::Odometry::SharedPtr | |
double | getHeading (const nav_msgs::msg::Odometry::ConstSharedPtr &data) |
get heading from nav_msgs::msg::Odometry::ConstSharedPtr | |
double | getYaw (const nav_msgs::msg::Odometry &data) |
get yaw from nav_msgs::msg::Odometry | |
double | getYaw (const nav_msgs::msg::Odometry::SharedPtr &data) |
get yaw from nav_msgs::msg::Odometry::SharedPtr | |
double | getYaw (const nav_msgs::msg::Odometry::ConstSharedPtr &data) |
get yaw from nav_msgs::msg::Odometry::ConstSharedPtr | |
geometry_msgs::msg::Pose | getPose (const nav_msgs::msg::Odometry &data) |
returns the Pose part of the nav_msgs::msg::Odometry message | |
geometry_msgs::msg::Pose | getPose (const nav_msgs::msg::Odometry::SharedPtr &data) |
returns the Pose part of the nav_msgs::msg::Odometry::SharedPtr message | |
geometry_msgs::msg::Pose | getPose (const nav_msgs::msg::Odometry::ConstSharedPtr &data) |
returns the Pose part of the nav_msgs::msg::Odometry::ConstSharedPtr message | |
std::tuple< double, double, double > | getPosition (const mrs_msgs::msg::TrackerCommand &data) |
get position data from mrs_msgs::msg::TrackerCommand | |
std::tuple< double, double, double > | getPosition (const mrs_msgs::msg::TrackerCommand::SharedPtr &data) |
get position data from mrs_msgs::msg::TrackerCommandSharedPtr | |
std::tuple< double, double, double > | getPosition (const mrs_msgs::msg::TrackerCommand::ConstSharedPtr &data) |
get position data from mrs_msgs::msg::TrackerCommand::SharedPtr | |
std::tuple< double, double, double > | getVelocity (const mrs_msgs::msg::TrackerCommand &data) |
get velocity data from mrs_msgs::msg::TrackerCommand | |
std::tuple< double, double, double > | getVelocity (const mrs_msgs::msg::TrackerCommand::SharedPtr &data) |
get velocity data from mrs_msgs::msg::TrackerCommand::SharedPtr | |
std::tuple< double, double, double > | getVelocity (const mrs_msgs::msg::TrackerCommand::ConstSharedPtr &data) |
get velocity data from mrs_msgs::msg::TrackerCommand::ConstSharedPtr | |
double | getHeading (const mrs_msgs::msg::TrackerCommand &data) |
get heading from mrs_msgs::msg::TrackerCommand | |
double | getHeading (const mrs_msgs::msg::TrackerCommand::SharedPtr &data) |
get heading from mrs_msgs::msg::TrackerCommand::SharedPtr | |
double | getHeading (const mrs_msgs::msg::TrackerCommand::ConstSharedPtr &data) |
get heading from mrs_msgs::msg::TrackerCommand::ConstSharedPtr | |
std::tuple< double, double, double > | getPosition (const mrs_msgs::msg::Reference &data) |
get position from mrs_msgs::msg::Reference | |
std::tuple< double, double, double > | getPosition (const mrs_msgs::msg::Reference::SharedPtr &data) |
get position from mrs_msgs::msg::Reference::SharedPtr | |
std::tuple< double, double, double > | getPosition (const mrs_msgs::msg::Reference::ConstSharedPtr &data) |
get position from mrs_msgs::msg::Reference::ConstSharedPtr | |
double | getHeading (const mrs_msgs::msg::Reference &data) |
get heading from mrs_msgs::msg::Reference | |
double | getHeading (const mrs_msgs::msg::Reference::SharedPtr &data) |
get heading from mrs_msgs::msg::ReferenceSharedPtr | |
double | getHeading (const mrs_msgs::msg::Reference::ConstSharedPtr &data) |
get heading from mrs_msgs::msg::ReferenceConstSharedPtr | |
std::tuple< double, double, double > | getPosition (const mrs_msgs::msg::ReferenceStamped &data) |
get position from mrs_msgs::msg::ReferenceStamped | |
std::tuple< double, double, double > | getPosition (const mrs_msgs::msg::ReferenceStamped::SharedPtr &data) |
get position from mrs_msgs::msg::ReferenceStamped::SharedPtr | |
std::tuple< double, double, double > | getPosition (const mrs_msgs::msg::ReferenceStamped::ConstSharedPtr &data) |
get position from mrs_msgs::msg::ReferenceStamped::ConstSharedPtr | |
double | getHeading (const mrs_msgs::msg::ReferenceStamped &data) |
get heading from mrs_msgs::msg::ReferenceStamped | |
double | getHeading (const mrs_msgs::msg::ReferenceStamped::SharedPtr &data) |
get heading from mrs_msgs::msg::ReferenceStamped::SharedPtr | |
double | getHeading (const mrs_msgs::msg::ReferenceStamped::ConstSharedPtr &data) |
get heading from mrs_msgs::msg::ReferenceStamped::ConstSharedPtr | |
template<class... GetArgs, class... SetArgs> | |
std::tuple< GetArgs... > | get_set_mutexed (std::mutex &mut, std::tuple< GetArgs &... > get, std::tuple< SetArgs... > from_set, std::tuple< SetArgs &... > to_set) |
thread-safe getter and setter for values of variables (args) | |
template<class... Args> | |
std::tuple< Args... > | get_mutexed (std::mutex &mut, Args &... args) |
thread-safe getter for values of variables (args) | |
template<class T > | |
T | get_mutexed (std::mutex &mut, T &arg) |
thread-safe getter a value from a variable | |
template<class T > | |
void | set_mutexed_impl (const T what, T &where) |
base case of the variadic template for set_mutexed() | |
template<class T , class... Args> | |
void | set_mutexed_impl (const T what, T &where, Args &... args) |
general case of the variadic template for set_mutexed() | |
template<class T > | |
auto | set_mutexed (std::mutex &mut, const T what, T &where) |
thread-safe setter for a variable | |
template<class... Args> | |
auto | set_mutexed (std::mutex &mut, Args &... args) |
thread-safe setter for multiple variables | |
template<class... Args> | |
auto | set_mutexed (std::mutex &mut, const std::tuple< Args... > from, std::tuple< Args &... > to) |
thread-safe setter for multiple variables | |
template<> | |
rclcpp::Duration | ParamLoader::loadParam2< rclcpp::Duration > (const std::string &name, const rclcpp::Duration &default_value) |
An overload for loading rclcpp::Duration. | |
template<> | |
rclcpp::Duration | ParamLoader::loadParam2< rclcpp::Duration > (const std::string &name) |
An overload for loading rclcpp::Duration. | |
std::ostream & | operator<< (std::ostream &os, rclcpp::ParameterType &var) |
Helper overload for printing of rclcpp::ParameterType. | |
template<typename Class , class... Types> | |
void | construct_object (Class &object, Types... args) |
Helper function for object construstion e.g. in case of member objects. This function is useful to avoid specifying object template parameters twice - once in definition of the variable and second time during object construction. This function can deduce the template parameters from the type of the already defined object, because it returns the newly constructed object as a reference argument and not as a return type. | |
template<typename Iterator > | |
std::string | containerToString (const Iterator begin, const Iterator end, const std::string &delimiter=", ") |
Convenience function for converting container ranges to strings (e.g. for printing). | |
template<typename Iterator > | |
std::string | containerToString (const Iterator begin, const Iterator end, const char *delimiter) |
Convenience function for converting container ranges to strings (e.g. for printing). | |
template<typename Container > | |
std::string | containerToString (const Container &cont, const std::string &delimiter=", ") |
Convenience function for converting containers to strings (e.g. for printing). | |
template<typename Container > | |
std::string | containerToString (const Container &cont, const char *delimiter=", ") |
Convenience function for converting containers to strings (e.g. for printing). | |
template<typename T > | |
T::iterator | remove_const (const typename T::const_iterator &it, T &cont) |
Convenience class for removing const-ness from a container iterator. | |
template<typename T > | |
int | signum (T val) |
geometry_msgs::msg::Point | eigenToMsg (const Eigen::Vector3d &v) |
std_msgs::msg::ColorRGBA | generateColor (const double r, const double g, const double b, const double a) |
Eigen::Vector3d | msgToEigen (const geometry_msgs::msg::Point &p) |
std::vector< Eigen::Vector3d > | buildEllipse (const mrs_lib::geometry::Ellipse &ellipse, const int num_points) |
template bool | ParamLoader::loadParam< std::string > (const std::string &name, std::string &out_value, const std::string &default_value) |
template bool | ParamLoader::loadParamReusable< std::string > (const std::string &name, std::string &out_value, const std::string &default_value) |
template<> | |
rclcpp::Duration | ParamLoader::loadParam2< rclcpp::Duration > (const std::string &name, const rclcpp::Duration &default_value) |
An overload for loading rclcpp::Duration. | |
template<> | |
rclcpp::Duration | ParamLoader::loadParam2< rclcpp::Duration > (const std::string &name) |
An overload for loading rclcpp::Duration. | |
template bool | ParamProvider::getParam< std::string > (const std::string &name, std::string &out_value) const |
template bool | ParamProvider::getParam< std::vector< bool > > (const std::string &name, std::vector< bool > &out_value) const |
template bool | ParamProvider::getParam< std::vector< uint8_t > > (const std::string &name, std::vector< uint8_t > &out_value) const |
template bool | ParamProvider::getParam< std::vector< int64_t > > (const std::string &name, std::vector< int64_t > &out_value) const |
template bool | ParamProvider::getParam< std::vector< double > > (const std::string &name, std::vector< double > &out_value) const |
template bool | ParamProvider::getParam< std::vector< std::string > > (const std::string &name, std::vector< std::string > &out_value) const |
All mrs_lib functions, classes, variables and definitions are contained in this namespace.
void mrs_lib::construct_object | ( | Class & | object, |
Types... | args | ||
) |
Helper function for object construstion e.g. in case of member objects. This function is useful to avoid specifying object template parameters twice - once in definition of the variable and second time during object construction. This function can deduce the template parameters from the type of the already defined object, because it returns the newly constructed object as a reference argument and not as a return type.
object | The object to be constructed. |
args | These arguments are passed to the object constructor. |
std::string mrs_lib::containerToString | ( | const Container & | cont, |
const char * | delimiter = ", " |
||
) |
Convenience function for converting containers to strings (e.g. for printing).
cont | the container that will be converted to std::string . |
delimiter | will be used to separate the elements in the output. |
begin
to end
(excluding), converted to string and separated by delimiter
. std::string mrs_lib::containerToString | ( | const Container & | cont, |
const std::string & | delimiter = ", " |
||
) |
Convenience function for converting containers to strings (e.g. for printing).
cont | the container that will be converted to std::string . |
delimiter | will be used to separate the elements in the output. |
begin
to end
(excluding), converted to string and separated by delimiter
. std::string mrs_lib::containerToString | ( | const Iterator | begin, |
const Iterator | end, | ||
const char * | delimiter | ||
) |
Convenience function for converting container ranges to strings (e.g. for printing).
begin | first element of the container that will be converted to std::string . |
end | one-after-the-last element of the container that will be converted to std::string . |
delimiter | will be used to separate the elements in the output. |
begin
to end
(excluding), converted to string and separated by delimiter
. std::string mrs_lib::containerToString | ( | const Iterator | begin, |
const Iterator | end, | ||
const std::string & | delimiter = ", " |
||
) |
Convenience function for converting container ranges to strings (e.g. for printing).
begin | first element of the container that will be converted to std::string . |
end | one-after-the-last element of the container that will be converted to std::string . |
delimiter | will be used to separate the elements in the output. |
begin
to end
(excluding), converted to string and separated by delimiter
. std::tuple< Args... > mrs_lib::get_mutexed | ( | std::mutex & | mut, |
Args &... | args | ||
) |
thread-safe getter for values of variables (args)
Args | types of the variables |
mut | mutex which protects the variables |
args | variables to obtain the values from |
T mrs_lib::get_mutexed | ( | std::mutex & | mut, |
T & | arg | ||
) |
thread-safe getter a value from a variable
T | type of the variable |
mut | mutex which protects the variable |
arg | variable to obtain the value from |
std::tuple< GetArgs... > mrs_lib::get_set_mutexed | ( | std::mutex & | mut, |
std::tuple< GetArgs &... > | get, | ||
std::tuple< SetArgs... > | from_set, | ||
std::tuple< SetArgs &... > | to_set | ||
) |
thread-safe getter and setter for values of variables (args)
GetArgs | types of the variables to get |
SetArgs | types of the variables to set |
mut | mutex which protects the variables |
get | tuple of variable references to obtain the values from |
to_set | tuple of variable references to set the new values from from_set |
from_set | tuple of the new values to be set to to_set |
get
double mrs_lib::getHeading | ( | const geometry_msgs::msg::Pose & | data | ) |
get heading from geometry_msgs::msg::Pose
data | pose |
double mrs_lib::getHeading | ( | const geometry_msgs::msg::Pose::ConstSharedPtr & | data | ) |
get heading from geometry_msgs::msg::Pose::ConstSharedPtr
data | pose (ConstSharedPtr) |
double mrs_lib::getHeading | ( | const geometry_msgs::msg::Pose::SharedPtr & | data | ) |
get heading from geometry_msgs::msg::Pose::SharedPtr
data | pose (SharedPtr) |
double mrs_lib::getHeading | ( | const geometry_msgs::msg::PoseWithCovariance & | data | ) |
get heading from geometry_msgs::msg::PoseWithCovariance
data | pose with covariance |
double mrs_lib::getHeading | ( | const geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr & | data | ) |
get heading from geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr
data | pose with covariance (ConstSharedPtr) |
double mrs_lib::getHeading | ( | const geometry_msgs::msg::PoseWithCovariance::SharedPtr & | data | ) |
get heading from geometry_msgs::msg::PoseWithCovariance::SharedPtr
data | pose with covariance (SharedPtr) |
double mrs_lib::getHeading | ( | const mrs_msgs::msg::Reference & | data | ) |
get heading from mrs_msgs::msg::Reference
data | reference |
double mrs_lib::getHeading | ( | const mrs_msgs::msg::Reference::ConstSharedPtr & | data | ) |
get heading from mrs_msgs::msg::ReferenceConstSharedPtr
data | reference (ConstSharedPtr) |
double mrs_lib::getHeading | ( | const mrs_msgs::msg::Reference::SharedPtr & | data | ) |
get heading from mrs_msgs::msg::ReferenceSharedPtr
data | reference (SharedPtr) |
double mrs_lib::getHeading | ( | const mrs_msgs::msg::ReferenceStamped & | data | ) |
get heading from mrs_msgs::msg::ReferenceStamped
data | referencestamped |
double mrs_lib::getHeading | ( | const mrs_msgs::msg::ReferenceStamped::ConstSharedPtr & | data | ) |
get heading from mrs_msgs::msg::ReferenceStamped::ConstSharedPtr
data | referencestamped (ConstSharedPtr) |
double mrs_lib::getHeading | ( | const mrs_msgs::msg::ReferenceStamped::SharedPtr & | data | ) |
get heading from mrs_msgs::msg::ReferenceStamped::SharedPtr
data | referencestamped (SharedPtr) |
double mrs_lib::getHeading | ( | const mrs_msgs::msg::TrackerCommand & | data | ) |
get heading from mrs_msgs::msg::TrackerCommand
data | position command |
double mrs_lib::getHeading | ( | const mrs_msgs::msg::TrackerCommand::ConstSharedPtr & | data | ) |
get heading from mrs_msgs::msg::TrackerCommand::ConstSharedPtr
data | position command (ConstSharedPtr) |
double mrs_lib::getHeading | ( | const mrs_msgs::msg::TrackerCommand::SharedPtr & | data | ) |
get heading from mrs_msgs::msg::TrackerCommand::SharedPtr
data | position command (SharedPtr) |
double mrs_lib::getHeading | ( | const nav_msgs::msg::Odometry & | data | ) |
get heading from nav_msgs::msg::Odometry
data | odometry |
double mrs_lib::getHeading | ( | const nav_msgs::msg::Odometry::ConstSharedPtr & | data | ) |
get heading from nav_msgs::msg::Odometry::ConstSharedPtr
data | odometry (ConstSharedPtr) |
double mrs_lib::getHeading | ( | const nav_msgs::msg::Odometry::SharedPtr & | data | ) |
get heading from nav_msgs::msg::Odometry::SharedPtr
data | odometry (SharedPtr) |
geometry_msgs::msg::Pose mrs_lib::getPose | ( | const nav_msgs::msg::Odometry & | data | ) |
returns the Pose part of the nav_msgs::msg::Odometry message
data | odometry |
geometry_msgs::msg::Pose mrs_lib::getPose | ( | const nav_msgs::msg::Odometry::ConstSharedPtr & | data | ) |
returns the Pose part of the nav_msgs::msg::Odometry::ConstSharedPtr message
data | odometry (ConstSharedPtr) |
geometry_msgs::msg::Pose mrs_lib::getPose | ( | const nav_msgs::msg::Odometry::SharedPtr & | data | ) |
returns the Pose part of the nav_msgs::msg::Odometry::SharedPtr message
data | odometry (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const geometry_msgs::msg::Pose & | data | ) |
get position from geometry_msgs::msg::Pose
data | pose |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const geometry_msgs::msg::Pose::ConstSharedPtr & | data | ) |
get position from geometry_msgs::msg::Pose::ConstSharedPtr
data | pose (ConstSharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const geometry_msgs::msg::Pose::SharedPtr & | data | ) |
get position from geometry_msgs::msg::Pose::SharedPtr
data | pose (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const geometry_msgs::msg::PoseWithCovariance & | data | ) |
get position from geometry_msgs::msg::PoseWithCovariance
data | pose with covariance |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr & | data | ) |
get position from geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr
data | pose with covariance (ConstSharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const geometry_msgs::msg::PoseWithCovariance::SharedPtr & | data | ) |
get position from geometry_msgs::msg::PoseWithCovariance::SharedPtr
data | pose with covariance (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const mrs_msgs::msg::Reference & | data | ) |
get position from mrs_msgs::msg::Reference
data | reference |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const mrs_msgs::msg::Reference::ConstSharedPtr & | data | ) |
get position from mrs_msgs::msg::Reference::ConstSharedPtr
data | reference (ConstSharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const mrs_msgs::msg::Reference::SharedPtr & | data | ) |
get position from mrs_msgs::msg::Reference::SharedPtr
data | reference (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const mrs_msgs::msg::ReferenceStamped & | data | ) |
get position from mrs_msgs::msg::ReferenceStamped
data | reference stamped |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const mrs_msgs::msg::ReferenceStamped::ConstSharedPtr & | data | ) |
get position from mrs_msgs::msg::ReferenceStamped::ConstSharedPtr
data | reference stamped (ConstSharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const mrs_msgs::msg::ReferenceStamped::SharedPtr & | data | ) |
get position from mrs_msgs::msg::ReferenceStamped::SharedPtr
data | reference stamped (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const mrs_msgs::msg::TrackerCommand & | data | ) |
get position data from mrs_msgs::msg::TrackerCommand
data | position command |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const mrs_msgs::msg::TrackerCommand::ConstSharedPtr & | data | ) |
get position data from mrs_msgs::msg::TrackerCommand::SharedPtr
data | position command (ConstSharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const mrs_msgs::msg::TrackerCommand::SharedPtr & | data | ) |
get position data from mrs_msgs::msg::TrackerCommandSharedPtr
data | position command (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const nav_msgs::msg::Odometry & | data | ) |
get position from nav_msgs::msg::Odometry
data | odometry |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const nav_msgs::msg::Odometry::ConstSharedPtr & | data | ) |
get position from nav_msgs::msg::Odometry::ConstSharedPtr
data | odometry (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getPosition | ( | const nav_msgs::msg::Odometry::SharedPtr & | data | ) |
get position from nav_msgs::msg::Odometry::SharedPtr
data | odometry (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const geometry_msgs::msg::Twist & | data | ) |
get velocity from geometry_msgs::msg::Twist
data | twist |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const geometry_msgs::msg::Twist::ConstSharedPtr & | data | ) |
get position from geometry_msgs::msg::Twist::ConstSharedPtr
data | twist (ConstSharedPtr) |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const geometry_msgs::msg::Twist::SharedPtr & | data | ) |
get position from geometry_msgs::msg::Twist::SharedPtr
data | twist (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const geometry_msgs::msg::TwistWithCovariance & | data | ) |
get velocity from geometry_msgs::msg::TwistWithCovariance
data | twistwithcovariance |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const geometry_msgs::msg::TwistWithCovariance::ConstSharedPtr & | data | ) |
get position from geometry_msgs::msg::TwistWithCovariance::ConstSharedPtr
data | twistwithcovariance (ConstSharedPtr) |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const geometry_msgs::msg::TwistWithCovariance::SharedPtr & | data | ) |
get position from geometry_msgs::msg::TwistWithCovariance::SharedPtr
data | twistwithcovariance (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const mrs_msgs::msg::TrackerCommand & | data | ) |
get velocity data from mrs_msgs::msg::TrackerCommand
data | position command |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const mrs_msgs::msg::TrackerCommand::ConstSharedPtr & | data | ) |
get velocity data from mrs_msgs::msg::TrackerCommand::ConstSharedPtr
data | position command (ConstSharedPtr) |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const mrs_msgs::msg::TrackerCommand::SharedPtr & | data | ) |
get velocity data from mrs_msgs::msg::TrackerCommand::SharedPtr
data | position command (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const nav_msgs::msg::Odometry & | data | ) |
get position from nav_msgs::msg::Odometry
data | odometry |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const nav_msgs::msg::Odometry::ConstSharedPtr & | data | ) |
get velocity from nav_msgs::msg::Odometry::ConstSharedPtr
data | odometry (ConstSharedPtr) |
std::tuple< double, double, double > mrs_lib::getVelocity | ( | const nav_msgs::msg::Odometry::SharedPtr & | data | ) |
get velocity from nav_msgs::msg::Odometry::SharedPtr
data | odometry (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getXYZ | ( | const geometry_msgs::msg::Point & | data | ) |
get XYZ from geometry_msgs::msg::Point
data | point |
std::tuple< double, double, double > mrs_lib::getXYZ | ( | const geometry_msgs::msg::Point::ConstSharedPtr & | data | ) |
get XYZ from geometry_msgs::msg::Point
data | point (ConstSharedPtr) |
std::tuple< double, double, double > mrs_lib::getXYZ | ( | const geometry_msgs::msg::Point::SharedPtr & | data | ) |
get XYZ from geometry_msgs::msg::Point
data | point (SharedPtr) |
std::tuple< double, double, double > mrs_lib::getXYZ | ( | const geometry_msgs::msg::Vector3 & | data | ) |
get XYZ from geometry_msgs::msg::Vector3
data | vector3 |
std::tuple< double, double, double > mrs_lib::getXYZ | ( | const geometry_msgs::msg::Vector3::ConstSharedPtr & | data | ) |
get XYZ from geometry_msgs::msg::Vector3::ConstSharedPtr
data | vector3 (ConstSharedPtr) |
std::tuple< double, double, double > mrs_lib::getXYZ | ( | const geometry_msgs::msg::Vector3::SharedPtr & | data | ) |
get XYZ from geometry_msgs::msg::Vector3::SharedPtr
data | vector3 (SharedPtr) |
double mrs_lib::getYaw | ( | const geometry_msgs::msg::Pose & | data | ) |
get yaw from geometry_msgs::msg::Pose
data | pose |
double mrs_lib::getYaw | ( | const geometry_msgs::msg::Pose::ConstSharedPtr & | data | ) |
get yaw from geometry_msgs::msg::Pose::ConstSharedPtr
data | pose (ConstSharedPtr) |
double mrs_lib::getYaw | ( | const geometry_msgs::msg::Pose::SharedPtr & | data | ) |
get yaw from geometry_msgs::msg::Pose::SharedPtr
data | pose (SharedPtr) |
double mrs_lib::getYaw | ( | const geometry_msgs::msg::PoseWithCovariance & | data | ) |
get yaw from geometry_msgs::msg::PoseWithCovariance
data | pose with covariance |
double mrs_lib::getYaw | ( | const geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr & | data | ) |
get yaw from geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr
data | pose with covariance (ConstSharedPtr) |
double mrs_lib::getYaw | ( | const geometry_msgs::msg::PoseWithCovariance::SharedPtr & | data | ) |
get yaw from geometry_msgs::msg::PoseWithCovariance::SharedPtr
data | pose with covariance (SharedPtr) |
double mrs_lib::getYaw | ( | const nav_msgs::msg::Odometry & | data | ) |
get yaw from nav_msgs::msg::Odometry
data | odometry |
double mrs_lib::getYaw | ( | const nav_msgs::msg::Odometry::ConstSharedPtr & | data | ) |
get yaw from nav_msgs::msg::Odometry::ConstSharedPtr
data | odometry (ConstSharedPtr) |
double mrs_lib::getYaw | ( | const nav_msgs::msg::Odometry::SharedPtr & | data | ) |
get yaw from nav_msgs::msg::Odometry::SharedPtr
data | odometry (SharedPtr) |
std::ostream & mrs_lib::operator<< | ( | std::ostream & | os, |
const Eigen::MatrixX< T > & | var | ||
) |
Helper overload for printing of Eigen matrices.
os | The output stream to send the printed matrix to. |
var | The matrix to be printed. |
std::ostream & mrs_lib::operator<< | ( | std::ostream & | os, |
const std::map< Key, Value > & | var | ||
) |
Helper overload for printing of std::maps.
os | The output stream to send the printed map to. |
var | The map to be printed. |
std::ostream & mrs_lib::operator<< | ( | std::ostream & | os, |
const std::vector< T > & | var | ||
) |
Helper overload for printing of std::vectors.
os | The output stream to send the printed vector to. |
var | The vector to be printed. |
std::ostream & mrs_lib::operator<< | ( | std::ostream & | os, |
rclcpp::ParameterType & | var | ||
) |
Helper overload for printing of rclcpp::ParameterType.
os | The output stream to send the printed map to. |
var | The parameter type to be printed. |
rclcpp::Duration mrs_lib::ParamLoader::loadParam2< rclcpp::Duration > | ( | const std::string & | name | ) |
An overload for loading rclcpp::Duration.
The duration will be loaded as a double
, representing a number of seconds, and then converted to rclcpp::Duration.
name | Name of the parameter in the rosparam server. |
rclcpp::Duration mrs_lib::ParamLoader::loadParam2< rclcpp::Duration > | ( | const std::string & | name | ) |
An overload for loading rclcpp::Duration.
The duration will be loaded as a double
, representing a number of seconds, and then converted to rclcpp::Duration.
name | Name of the parameter in the rosparam server. |
rclcpp::Duration mrs_lib::ParamLoader::loadParam2< rclcpp::Duration > | ( | const std::string & | name, |
const rclcpp::Duration & | default_value | ||
) |
An overload for loading rclcpp::Duration.
The duration will be loaded as a double
, representing a number of seconds, and then converted to rclcpp::Duration.
name | Name of the parameter in the rosparam server. |
default_value | This value will be used if the parameter name is not found in the rosparam server. |
rclcpp::Duration mrs_lib::ParamLoader::loadParam2< rclcpp::Duration > | ( | const std::string & | name, |
const rclcpp::Duration & | default_value | ||
) |
An overload for loading rclcpp::Duration.
The duration will be loaded as a double
, representing a number of seconds, and then converted to rclcpp::Duration.
name | Name of the parameter in the rosparam server. |
default_value | This value will be used if the parameter name is not found in the rosparam server. |
double mrs_lib::probit | ( | const double | quantile | ) |
Inverse cumulative distribution function of the standard normal probability distribution.
Implements the quantile function of a standard normal probability distribution (aka the probit function, see https://en.wikipedia.org/wiki/Probit). The implementation uses the Beasley-Springer-Moro approximation (see page 68 of Glasserman, Paul, "Monte Carlo Methods in Financial Engineering. Stochastic Modelling and Applied Probability", 2003, doi:10.1007/978-0-387-21617-1, available at https://sci-hub.se/10.1007/978-0-387-21617-1).
quantile | the probability that a realization of a random variable with a standard normal dostribution is equal or less than the returned value (see https://en.wikipedia.org/wiki/Quantile). |
quantile
. T::iterator mrs_lib::remove_const | ( | const typename T::const_iterator & | it, |
T & | cont | ||
) |
Convenience class for removing const-ness from a container iterator.
it | the iterator from which const-ness should be removed. |
cont | the corresponding container of the iterator. |
it
. auto mrs_lib::set_mutexed | ( | std::mutex & | mut, |
Args &... | args | ||
) |
thread-safe setter for multiple variables
example: set_mutexed(my_mutex_, a, a_, b, b_, c, c_); where a, b, c are the values to be set a_, b_, c_ are the variables to be updated
Args | types of the variables |
mut | mutex to be locked |
args |
auto mrs_lib::set_mutexed | ( | std::mutex & | mut, |
const std::tuple< Args... > | from, | ||
std::tuple< Args &... > | to | ||
) |
thread-safe setter for multiple variables
example: set_mutexed(mu_mutex, std::tuple(a, b, c), std::forward_as_tuple(a_, b_, c_)); where a, b, c are the values to be set a_, b_, c_ are the updated variables
Args | types of the variables |
mut | mutex to be locked |
from | std::tuple of the values |
to | std::tuple of reference to the variablaes |
auto mrs_lib::set_mutexed | ( | std::mutex & | mut, |
const T | what, | ||
T & | where | ||
) |
thread-safe setter for a variable
T | type of the variable |
mut | mutex to be locked |
what | value to set |
where | reference to be set |
void mrs_lib::set_mutexed_impl | ( | const T | what, |
T & | where | ||
) |
base case of the variadic template for set_mutexed()
T | variable type |
what | value to set |
where | reference to be set |
void mrs_lib::set_mutexed_impl | ( | const T | what, |
T & | where, | ||
Args &... | args | ||
) |
general case of the variadic template for set_mutexed()
T | type of the next variable to set |
Args | types of the rest of the variables |
what | value to set |
where | reference to be set |
args | the remaining arguments |
rclcpp::ParameterType mrs_lib::to_param_type | ( | ) |
Convenince function to get the corresponding rclcpp::ParamType from a C++ type.