2020-06-09 16:44:26 -07:00
|
|
|
#pragma once
|
|
|
|
|
#include <eigen3/Eigen/Dense>
|
2023-08-24 22:42:17 +08:00
|
|
|
#include "common/transformations/coordinates.hpp"
|
2020-06-09 16:44:26 -07:00
|
|
|
|
|
|
|
|
|
2024-09-08 08:06:57 +08:00
|
|
|
Eigen::Quaterniond ensure_unique(const Eigen::Quaterniond &quat);
|
2020-06-09 16:44:26 -07:00
|
|
|
|
2024-09-08 08:06:57 +08:00
|
|
|
Eigen::Quaterniond euler2quat(const Eigen::Vector3d &euler);
|
|
|
|
|
Eigen::Vector3d quat2euler(const Eigen::Quaterniond &quat);
|
|
|
|
|
Eigen::Matrix3d quat2rot(const Eigen::Quaterniond &quat);
|
2020-12-28 20:36:23 -08:00
|
|
|
Eigen::Quaterniond rot2quat(const Eigen::Matrix3d &rot);
|
2024-09-08 08:06:57 +08:00
|
|
|
Eigen::Matrix3d euler2rot(const Eigen::Vector3d &euler);
|
2020-12-28 20:36:23 -08:00
|
|
|
Eigen::Vector3d rot2euler(const Eigen::Matrix3d &rot);
|
2020-06-09 16:44:26 -07:00
|
|
|
Eigen::Matrix3d rot_matrix(double roll, double pitch, double yaw);
|
2024-09-08 08:06:57 +08:00
|
|
|
Eigen::Matrix3d rot(const Eigen::Vector3d &axis, double angle);
|
|
|
|
|
Eigen::Vector3d ecef_euler_from_ned(const ECEF &ecef_init, const Eigen::Vector3d &ned_pose);
|
|
|
|
|
Eigen::Vector3d ned_euler_from_ecef(const ECEF &ecef_init, const Eigen::Vector3d &ecef_pose);
|