mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-19 14: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
old-commit-hash: c18e7da3c2
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);
|