mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-19 07:43:57 +08:00
* locationd at 20hz * update ref * bump cereal * dont modify global state * add scons files * ecef2geodetic and geodetic2ecef * Finish local coords class * Add header file * Add orientation.cc * cleanup * Add functions to header file * Add cython wrapper * y u no work? * This passes the tests * test rot2quat and quat2rot * Teste euler2rot and rot2euler * rot_matrix * test ecef_euler_from_ned and ned_euler_from_ecef * add benchmark * Add test * Consistent newlines * no more radians supported in geodetic * test localcoord single * test localcoord single * all tests pass * Unused import * Add alternate namings * Add source for formulas * no explicit tests needed * remove benchmark * Add release files * Typo * Remove print statement * no access to raw transform matrix * temporarily add tolerance * handcode quat2euler * update ref
18 lines
721 B
C++
18 lines
721 B
C++
#pragma once
|
|
#include <eigen3/Eigen/Dense>
|
|
#include "coordinates.hpp"
|
|
|
|
|
|
Eigen::Quaterniond ensure_unique(Eigen::Quaterniond quat);
|
|
|
|
Eigen::Quaterniond euler2quat(Eigen::Vector3d euler);
|
|
Eigen::Vector3d quat2euler(Eigen::Quaterniond quat);
|
|
Eigen::Matrix3d quat2rot(Eigen::Quaterniond quat);
|
|
Eigen::Quaterniond rot2quat(Eigen::Matrix3d rot);
|
|
Eigen::Matrix3d euler2rot(Eigen::Vector3d euler);
|
|
Eigen::Vector3d rot2euler(Eigen::Matrix3d rot);
|
|
Eigen::Matrix3d rot_matrix(double roll, double pitch, double yaw);
|
|
Eigen::Matrix3d rot(Eigen::Vector3d axis, double angle);
|
|
Eigen::Vector3d ecef_euler_from_ned(ECEF ecef_init, Eigen::Vector3d ned_pose);
|
|
Eigen::Vector3d ned_euler_from_ecef(ECEF ecef_init, Eigen::Vector3d ecef_pose);
|