Resurgence (PY2022)
Codebase for the Husky Robotics 2021-2022 rover Resurgence
Loading...
Searching...
No Matches
transform.h
1#pragma once
2
3#include "../navtypes.h"
4
5#include <Eigen/Geometry>
6
7namespace util {
8
20double quatToHeading(double qw, double qx, double qy, double qz);
21
30double quatToHeading(const Eigen::Quaterniond& quat);
31
38Eigen::Quaterniond eulerAnglesToQuat(const navtypes::eulerangles_t& rpy);
39
52navtypes::points_t transformReadings(const navtypes::points_t& ps,
53 const navtypes::transform_t& tf);
54
65navtypes::trajectory_t transformTraj(const navtypes::trajectory_t& traj,
66 const navtypes::transform_t& tf);
67
79bool collides(const navtypes::transform_t& tf, const navtypes::points_t& lms, double radius);
80
93navtypes::transform_t toTransformRotateFirst(double x, double y, double theta);
94
111navtypes::pose_t toPose(const navtypes::transform_t& trf, double prev_theta);
112
120double closestHeading(double theta, double prev_theta);
121
132navtypes::transform_t toTransform(const navtypes::pose_t& pose);
133
134} // namespace util
Quaternion< double > Quaterniond
A collection of utility functions and classes with common use-cases.
Definition SwerveController.cpp:145
bool collides(const transform_t &tf, const points_t &ps, double radius)
Check for intersection between a pose and a point cloud.
Definition transform.cpp:48
transform_t toTransformRotateFirst(double x, double y, double theta)
Creates a rigid transform that takes a point from the map-frame to a frame that was rotated CCW by th...
Definition transform.cpp:62
double quatToHeading(double qw, double qx, double qy, double qz)
Extract the heading from a quaternion.
Definition transform.cpp:9
transform_t toTransform(const pose_t &pose)
Convert a pose to a rigid transform.
Definition transform.cpp:85
trajectory_t transformTraj(const trajectory_t &traj, const transform_t &tf)
Convert a trajectory to a different reference frame.
Definition transform.cpp:40
double closestHeading(double theta, double prev_theta)
Get an equivalent heading that is within π radians of another heading.
Definition transform.cpp:68
points_t transformReadings(const points_t &ps, const transform_t &tf)
Convert a set of points to a different reference frame.
Definition transform.cpp:31
pose_t toPose(const transform_t &trf, double prev_theta)
Given a transform, gives a robot pose that would have that transform.
Definition transform.cpp:76
Eigen::Quaterniond eulerAnglesToQuat(const navtypes::eulerangles_t &rpy)
Convert euler angles to a quaternion representation.
Definition transform.cpp:24