RIT VEXU Core API
Toggle main menu visibility
Loading...
Searching...
No Matches
pose2d.h
1
#pragma once
2
#undef __ARM_NEON__
3
#undef __ARM_NEON
4
#include <Eigen/Dense>
5
6
#include <cmath>
7
#include <iostream>
8
#include <vector>
9
10
#include "core/utils/math/geometry/rotation2d.h"
11
#include "core/utils/math/geometry/transform2d.h"
12
#include "core/utils/math/geometry/translation2d.h"
13
#include "core/utils/math/geometry/twist2d.h"
14
24
class
Pose2d
{
25
public
:
29
constexpr
Pose2d
() : m_translation(
Translation2d
()), m_rotation(
Rotation2d
()) {}
30
37
Pose2d
(
const
Translation2d
&
translation
,
const
Rotation2d
&
rotation
);
38
46
Pose2d
(
const
double
&x,
const
double
&y,
const
Rotation2d
&
rotation
);
47
55
Pose2d
(
const
double
&x,
const
double
&y,
const
double
&radians);
56
63
Pose2d
(
const
Translation2d
&
translation
,
const
double
&radians);
64
70
Pose2d
(
const
Eigen::Vector3d &pose_vector);
71
77
Translation2d
translation
()
const
;
78
84
double
x
()
const
;
85
91
double
y
()
const
;
92
98
Rotation2d
rotation
()
const
;
102
void
setRotationRad
(
double
rotRad);
103
107
void
setRotationDeg
(
double
rotDeg);
108
116
bool
operator==
(
const
Pose2d
other)
const
;
117
124
Pose2d
operator*
(
const
double
&scalar)
const
;
125
132
Pose2d
operator/
(
const
double
&scalar)
const
;
133
140
Pose2d
operator+
(
const
Transform2d
&transform)
const
;
141
147
Transform2d
operator-
(
const
Pose2d
&other)
const
;
148
156
friend
std::ostream &
operator<<
(std::ostream &os,
const
Pose2d
&pose);
157
165
Pose2d
relative_to
(
const
Pose2d
&other)
const
;
166
175
Pose2d
transform_by
(
const
Transform2d
&transform)
const
;
176
194
Pose2d
exp
(
const
Twist2d
&twist)
const
;
195
207
Twist2d
log
(
const
Pose2d
&end_pose)
const
;
208
209
private
:
210
Translation2d
m_translation;
211
Rotation2d
m_rotation;
212
};
213
221
Pose2d
wrapped_mean(
const
std::vector<Pose2d> &list);
Pose2d
Definition
pose2d.h:24
Pose2d::relative_to
Pose2d relative_to(const Pose2d &other) const
Definition
pose2d.cpp:156
Pose2d::translation
Translation2d translation() const
Definition
pose2d.cpp:62
Pose2d::log
Twist2d log(const Pose2d &end_pose) const
Definition
pose2d.cpp:223
Pose2d::operator*
Pose2d operator*(const double &scalar) const
Definition
pose2d.cpp:106
Pose2d::x
double x() const
Definition
pose2d.cpp:69
Pose2d::operator==
bool operator==(const Pose2d other) const
Definition
pose2d.cpp:96
Pose2d::operator<<
friend std::ostream & operator<<(std::ostream &os, const Pose2d &pose)
Definition
pose2d.cpp:143
Pose2d::operator+
Pose2d operator+(const Transform2d &transform) const
Definition
pose2d.cpp:122
Pose2d::operator/
Pose2d operator/(const double &scalar) const
Definition
pose2d.cpp:114
Pose2d::rotation
Rotation2d rotation() const
Definition
pose2d.cpp:83
Pose2d::setRotationRad
void setRotationRad(double rotRad)
Definition
pose2d.cpp:85
Pose2d::setRotationDeg
void setRotationDeg(double rotDeg)
Definition
pose2d.cpp:87
Pose2d::transform_by
Pose2d transform_by(const Transform2d &transform) const
Definition
pose2d.cpp:169
Pose2d::operator-
Transform2d operator-(const Pose2d &other) const
Definition
pose2d.cpp:131
Pose2d::exp
Pose2d exp(const Twist2d &twist) const
Definition
pose2d.cpp:190
Pose2d::Pose2d
constexpr Pose2d()
Definition
pose2d.h:29
Pose2d::y
double y() const
Definition
pose2d.cpp:76
Rotation2d
Definition
rotation2d.h:26
Transform2d
Definition
transform2d.h:22
Translation2d
Definition
translation2d.h:21
Twist2d
Definition
twist2d.h:18
include
core
utils
math
geometry
pose2d.h
Generated by
1.17.0