|
My Project 1.0
Holistic Fusion: A Generic Framework for Multimodal Sensor Fusion
|
Absolute. More...
Typedefs | |
| typedef std::map< double, gtsam::Key > | TimeToKeyMap |
| typedef std::map< gtsam::Key, double > | KeyToTimeMap |
| using | GMSF_MEASUREMENT_CLASS = UnaryMeasurementXDAbsolute<Eigen::Isometry3d, 6> |
| typedef std::map< double, holistic_fusion::ImuMeasurement, std::less< double >, Eigen::aligned_allocator< std::pair< const double, holistic_fusion::ImuMeasurement > > > | TimeToImuMap |
Enumerations | |
| enum | VerbosityLevels { kDefault0 = 0 , kFunctioningAndStateMachine1 = 1 , kOptimizationEffort2 = 2 , kOperationInformation3 = 3 , kFactorAdding4 = 4 } |
| enum class | DynamicVariableTypeEnum { Global , RefFrame , Landmark } |
| enum class | FileFormatType { kCsv , kTum , kG2o } |
| enum class | UnaryExpressionType { Absolute , Local , Landmark } |
| enum class | MeasurementTypeEnum { Unary , Binary } |
| enum class | RobustNormEnum { None , Huber , Cauchy , Tukey , GemanMcClure } |
Functions | |
| template<char SYMBOL_CHAR> | |
| constexpr int | getSymbolIndex () |
| template<int n> | |
| constexpr int | countNDStates () |
| template<int n, int numStates> | |
| constexpr std::array< char, numStates > | getSymbolArrayForNDStates () |
| template<typename T, size_t N> | |
| constexpr auto | makeValuedArray (T value) -> std::array< T, N > |
| template<char SYMBOL_CHAR> | |
| constexpr bool | isAdmissibleSymbol () |
| template<char SYMBOL_CHAR> | |
| constexpr void | checkSymbol () |
| template<int ARRAY_SIZE> | |
| bool | isCharInCharArray (const char c, std::array< char, ARRAY_SIZE > charArray) |
| gtsam::Pose3_ | composeRigidTransformations (const gtsam::Pose3_ &T_frame1_frame2, const gtsam::Pose3_ &T_frame2_frame3) |
| gtsam::Rot3_ | inverseRot3 (const gtsam::Rot3_ &R) |
| gtsam::Rot2 | worldRotationErrorAsHeadingError (const gtsam::Rot3 &R_W_Wmeas, gtsam::OptionalJacobian< 1, 3 > H) |
| gtsam::Expression< gtsam::Rot2 > | headingInWorld (const gtsam::Rot3_ &exp_R_W_S, const gtsam::Rot3_ &exp_R_W_M, const gtsam::Rot3 &R_M_Smeas) |
| Eigen::Matrix< double, 6, 6 > | convertCovarianceGtsamConventionToRosConvention (const Eigen::Matrix< double, 6, 6 > &covGtsam) |
| Convert a 6x6 covariance matrix from ROS convention to GTSAM convention. | |
| double | rad2deg (double radians) |
| Convert the given radian angle to degrees. | |
| float | rad2deg (float radians) |
| Convert the given radian angle to degrees. | |
| double | deg2rad (double degrees) |
| Convert the given degree angle to radian. | |
| float | deg2rad (float degrees) |
| Convert the given degree angle to radian. | |
| template<typename PointT> | |
| float | calcSquaredDiff (const PointT &a, const PointT &b) |
| Calculate the squared difference of the given two points. | |
| template<typename PointT> | |
| float | calcSquaredDiff (const PointT &a, const PointT &b, const float &wb) |
| Calculate the squared difference of the given two points. | |
| template<typename PointT> | |
| float | calcPointDistance (const PointT &p) |
| Calculate the absolute distance of the point to the origin. | |
| template<typename PointT> | |
| float | calcSquaredPointDistance (const PointT &p) |
| Calculate the squared distance of the point to the origin. | |
| template<typename PointT> | |
| void | rotX (PointT &p, const Angle &ang) |
| Rotate the given point by the specified angle around the x-axis. | |
| template<typename PointT> | |
| void | rotY (PointT &p, const Angle &ang) |
| Rotate the given point by the specified angle around the y-axis. | |
| template<typename PointT> | |
| void | rotZ (PointT &p, const Angle &ang) |
| Rotate the given point by the specified angle around the z-axis. | |
| template<typename PointT> | |
| void | rotateZXY (PointT &p, const Angle &angZ, const Angle &angX, const Angle &angY) |
| Rotate the given point by the specified angles around the z-, x- respectively y-axis. | |
| template<typename PointT> | |
| void | rotateYXZ (PointT &p, const Angle &angY, const Angle &angX, const Angle &angZ) |
| Rotate the given point by the specified angles around the y-, x- respectively z-axis. | |
| void | invertHomogenousMatrix (const Eigen::Matrix4d &m_in, Eigen::Matrix4d &m_out) |
| Invert a homogenous transformation matrix. | |
| void | inPlaceRemoveRollPitch (Eigen::Isometry3d &T) |
| double | getYawFromIsometry (const Eigen::Isometry3d &T) |
| void | createPose3CsvFileStream (std::map< std::string, std::ofstream > &fileStreams, const std::string &savePath, const std::string &transformIdentifier, const std::string &timeString, const bool saveCovarianceFlag) |
| void | createLatLonAltCsvFileStream (std::map< std::string, std::ofstream > &fileStreams, const std::string &savePath, const std::string &transformIdentifier, const std::string &timeString) |
| void | writePose3ToCsvFile (std::map< std::string, std::ofstream > &fileStreams, const Eigen::Isometry3d pose, const std::string &transformIdentifier, const double timeStamp, const bool saveCovarianceFlag, const std::optional< Eigen::Matrix< double, 6, 6 > > &optionalPoseCovarianceInWorldRos=std::nullopt) |
| void | writeLatLonAltToCsvFile (std::map< std::string, std::ofstream > &fileStreams, const Eigen::Vector3d &latLonAlt, const std::string &transformIdentifier, const double timeStamp) |
| std::string | getLatestSubdirectory (const std::string &directoryPath) |
| template<typename T> | |
| void | printKey (const std::string &key, T value) |
| template<> | |
| void | printKey (const std::string &key, std::vector< double > vector) |
| template<typename T> | |
| T | tryGetParam (const std::string &key, const ros::NodeHandle &privateNode) |
| void | odomMsgToEigen (const nav_msgs::Odometry &odomLidar, Eigen::Matrix4d &T) |
| void | geometryPoseToEigen (const geometry_msgs::Pose &pose, Eigen::Matrix4d &T) |
| void | geometryPoseToEigen (const geometry_msgs::PoseWithCovarianceStamped &odomLidar, Eigen::Matrix4d &T) |
| void | odomMsgToTf (const nav_msgs::Odometry &odomLidar, tf::Transform &T) |
| tf::Transform | matrix3ToTf (const Eigen::Matrix3d &R) |
| tf::Transform | matrix4ToTf (const Eigen::Matrix4d &T) |
| tf::Transform | isometry3ToTf (const Eigen::Isometry3d &T) |
| void | tfToMatrix4 (const tf::Transform &tf_T, Eigen::Matrix4d &T) |
| void | tfToIsometry3 (const tf::Transform &tf_T, Eigen::Isometry3d &T) |
| tf::Transform | pose3ToTf (const Eigen::Matrix3d &T) |
Variables | |
| constexpr char | ADMISSIBLE_DYNAMIC_SYMBOL_CHARS [4] = {'r', 'c', 'd', 'l'} |
| constexpr int | ADMISSIBLE_DYNAMIC_STATE_DIM [sizeof(ADMISSIBLE_DYNAMIC_SYMBOL_CHARS)] = {6, 6, 3, 3} |
Absolute.
Local
| using holistic_fusion::GMSF_MEASUREMENT_CLASS = UnaryMeasurementXDAbsolute<Eigen::Isometry3d, 6> |
Definition at line 22 of file GmsfUnaryExpressionAbsolutePose3.h.
| typedef std::map<gtsam::Key, double> holistic_fusion::KeyToTimeMap |
Definition at line 21 of file TimeGraphKeyBuffer.h.
| typedef std::map<double, holistic_fusion::ImuMeasurement, std::less<double>, Eigen::aligned_allocator<std::pair<const double, holistic_fusion::ImuMeasurement> > > holistic_fusion::TimeToImuMap |
Definition at line 35 of file ImuBuffer.hpp.
| typedef std::map<double, gtsam::Key> holistic_fusion::TimeToKeyMap |
Definition at line 20 of file TimeGraphKeyBuffer.h.
|
strong |
| Enumerator | |
|---|---|
| Global | |
| RefFrame | |
| Landmark | |
Definition at line 10 of file DynamicVariableType.h.
|
strong |
| Enumerator | |
|---|---|
| kCsv | |
| kTum | |
| kG2o | |
Definition at line 32 of file FileLogger.h.
|
strong |
| Enumerator | |
|---|---|
| Unary | |
| Binary | |
Definition at line 17 of file Measurement.h.
|
strong |
| Enumerator | |
|---|---|
| None | |
| Huber | |
| Cauchy | |
| Tukey | |
| GemanMcClure | |
Definition at line 20 of file Measurement.h.
|
strong |
| Enumerator | |
|---|---|
| Absolute | |
| Local | |
| Landmark | |
Definition at line 28 of file GmsfUnaryExpression.h.
| Enumerator | |
|---|---|
| kDefault0 | |
| kFunctioningAndStateMachine1 | |
| kOptimizationEffort2 | |
| kOperationInformation3 | |
| kFactorAdding4 | |
Definition at line 15 of file GraphConfig.h.
|
inline |
Calculate the absolute distance of the point to the origin.
| p | The point. |
Definition at line 89 of file math_utils.h.
|
inline |
Calculate the squared difference of the given two points.
| a | The first point. |
| b | The second point. |
Definition at line 59 of file math_utils.h.
|
inline |
Calculate the squared difference of the given two points.
| a | The first point. |
| b | The second point. |
| wb | The weighting factor for the SECOND point. |
Definition at line 75 of file math_utils.h.
|
inline |
Calculate the squared distance of the point to the origin.
| p | The point. |
Definition at line 99 of file math_utils.h.
|
constexpr |
Definition at line 77 of file AdmissibleGtsamSymbols.h.
|
inline |
Definition at line 31 of file GmsfUnaryExpression.h.
|
inline |
Convert a 6x6 covariance matrix from ROS convention to GTSAM convention.
| covGtsam | The 6x6 covariance matrix in GTSAM convention. |
Definition at line 18 of file conversions.h.
|
constexpr |
Definition at line 32 of file AdmissibleGtsamSymbols.h.
| void holistic_fusion::createLatLonAltCsvFileStream | ( | std::map< std::string, std::ofstream > & | fileStreams, |
| const std::string & | savePath, | ||
| const std::string & | transformIdentifier, | ||
| const std::string & | timeString ) |
Definition at line 45 of file eigen_wrapped_gtsam_utils.cpp.
| void holistic_fusion::createPose3CsvFileStream | ( | std::map< std::string, std::ofstream > & | fileStreams, |
| const std::string & | savePath, | ||
| const std::string & | transformIdentifier, | ||
| const std::string & | timeString, | ||
| const bool | saveCovarianceFlag ) |
Definition at line 38 of file eigen_wrapped_gtsam_utils.cpp.
|
inline |
Convert the given degree angle to radian.
| degrees | The degree angle to convert. |
Definition at line 39 of file math_utils.h.
|
inline |
Convert the given degree angle to radian.
| degrees | The degree angle to convert. |
Definition at line 48 of file math_utils.h.
| void holistic_fusion::geometryPoseToEigen | ( | const geometry_msgs::Pose & | pose, |
| Eigen::Matrix4d & | T ) |
Definition at line 6 of file conversions.cpp.
| void holistic_fusion::geometryPoseToEigen | ( | const geometry_msgs::PoseWithCovarianceStamped & | odomLidar, |
| Eigen::Matrix4d & | T ) |
Definition at line 16 of file conversions.cpp.
|
inline |
Definition at line 22 of file input_output.h.
|
constexpr |
Definition at line 44 of file AdmissibleGtsamSymbols.h.
|
constexpr |
Definition at line 20 of file AdmissibleGtsamSymbols.h.
| double holistic_fusion::getYawFromIsometry | ( | const Eigen::Isometry3d & | T | ) |
Definition at line 31 of file eigen_wrapped_gtsam_utils.cpp.
|
inline |
Definition at line 40 of file GmsfUnaryExpressionAbsoluteHeading.h.
| void holistic_fusion::inPlaceRemoveRollPitch | ( | Eigen::Isometry3d & | T | ) |
Definition at line 22 of file eigen_wrapped_gtsam_utils.cpp.
|
inline |
Definition at line 36 of file GmsfUnaryExpression.h.
|
inline |
Invert a homogenous transformation matrix.
| m_in | input 4x4 matrix |
| m_out | inverted 4x4 matrix |
Definition at line 172 of file math_utils.h.
|
constexpr |
Definition at line 66 of file AdmissibleGtsamSymbols.h.
|
inline |
Definition at line 84 of file AdmissibleGtsamSymbols.h.
| tf::Transform holistic_fusion::isometry3ToTf | ( | const Eigen::Isometry3d & | T | ) |
Definition at line 53 of file conversions.cpp.
|
constexpr |
Definition at line 58 of file AdmissibleGtsamSymbols.h.
| tf::Transform holistic_fusion::matrix3ToTf | ( | const Eigen::Matrix3d & | R | ) |
Definition at line 37 of file conversions.cpp.
| tf::Transform holistic_fusion::matrix4ToTf | ( | const Eigen::Matrix4d & | T | ) |
Definition at line 45 of file conversions.cpp.
| void holistic_fusion::odomMsgToEigen | ( | const nav_msgs::Odometry & | odomLidar, |
| Eigen::Matrix4d & | T ) |
Definition at line 20 of file conversions.cpp.
| void holistic_fusion::odomMsgToTf | ( | const nav_msgs::Odometry & | odomLidar, |
| tf::Transform & | T ) |
Definition at line 30 of file conversions.cpp.
| tf::Transform holistic_fusion::pose3ToTf | ( | const Eigen::Matrix3d & | T | ) |
Definition at line 79 of file conversions.cpp.
|
inline |
Definition at line 22 of file read_ros_params.h.
|
inline |
Definition at line 17 of file read_ros_params.h.
|
inline |
Convert the given radian angle to degrees.
| radians | The radian angle to convert. |
Definition at line 21 of file math_utils.h.
|
inline |
Convert the given radian angle to degrees.
| radians | The radian angle to convert. |
Definition at line 30 of file math_utils.h.
|
inline |
Rotate the given point by the specified angles around the y-, x- respectively z-axis.
| p | the point to rotate |
| angY | the rotation angle around the y-axis |
| angX | the rotation angle around the x-axis |
| angZ | the rotation angle around the z-axis |
Definition at line 161 of file math_utils.h.
|
inline |
Rotate the given point by the specified angles around the z-, x- respectively y-axis.
| p | the point to rotate |
| angZ | the rotation angle around the z-axis |
| angX | the rotation angle around the x-axis |
| angY | the rotation angle around the y-axis |
Definition at line 147 of file math_utils.h.
|
inline |
Rotate the given point by the specified angle around the x-axis.
| p | the point to rotate |
| ang | the rotation angle |
Definition at line 109 of file math_utils.h.
|
inline |
Rotate the given point by the specified angle around the y-axis.
| p | the point to rotate |
| ang | the rotation angle |
Definition at line 121 of file math_utils.h.
|
inline |
Rotate the given point by the specified angle around the z-axis.
| p | the point to rotate |
| ang | the rotation angle |
Definition at line 133 of file math_utils.h.
| void holistic_fusion::tfToIsometry3 | ( | const tf::Transform & | tf_T, |
| Eigen::Isometry3d & | T ) |
Definition at line 70 of file conversions.cpp.
| void holistic_fusion::tfToMatrix4 | ( | const tf::Transform & | tf_T, |
| Eigen::Matrix4d & | T ) |
Definition at line 61 of file conversions.cpp.
| T holistic_fusion::tryGetParam | ( | const std::string & | key, |
| const ros::NodeHandle & | privateNode ) |
Definition at line 32 of file read_ros_params.h.
|
inline |
Definition at line 29 of file GmsfUnaryExpressionAbsoluteHeading.h.
| void holistic_fusion::writeLatLonAltToCsvFile | ( | std::map< std::string, std::ofstream > & | fileStreams, |
| const Eigen::Vector3d & | latLonAlt, | ||
| const std::string & | transformIdentifier, | ||
| const double | timeStamp ) |
Definition at line 63 of file eigen_wrapped_gtsam_utils.cpp.
| void holistic_fusion::writePose3ToCsvFile | ( | std::map< std::string, std::ofstream > & | fileStreams, |
| const Eigen::Isometry3d | pose, | ||
| const std::string & | transformIdentifier, | ||
| const double | timeStamp, | ||
| const bool | saveCovarianceFlag, | ||
| const std::optional< Eigen::Matrix< double, 6, 6 > > & | optionalPoseCovarianceInWorldRos = std::nullopt ) |
Definition at line 53 of file eigen_wrapped_gtsam_utils.cpp.
|
constexpr |
Definition at line 16 of file AdmissibleGtsamSymbols.h.
|
constexpr |
Definition at line 15 of file AdmissibleGtsamSymbols.h.