9 #include <gtsam_unstable/dllexport.h> 34 : Base(
Pose3(rot, t), vel) {}
36 : Base(
Pose3(rot, t), vel) {}
38 : Base(
Pose3(
Rot3(), t),Vector3::Zero()) {}
42 : Base(pose,Vector3::Zero()) {}
49 PoseRTV(
double roll,
double pitch,
double yaw,
double x,
double y,
double z,
50 double vx,
double vy,
double vz);
53 explicit PoseRTV(
const Vector& v);
56 const Pose3& pose()
const {
return first; }
57 const Velocity3& v()
const {
return second; }
63 const Rot3& rotation()
const {
return pose().
rotation(); }
64 const Velocity3& velocity()
const {
return second; }
68 Vector vector()
const;
69 Vector translationVec()
const {
return pose().
translation(); }
70 const Velocity3& velocityVec()
const {
return velocity(); }
74 void print(
const std::string& s=
"")
const;
78 using Base::dimension;
82 using Base::localCoordinates;
83 using Base::LocalCoordinates;
90 double range(
const PoseRTV& other,
100 PoseRTV planarDynamics(
double vel_rate,
double heading_rate,
double max_accel,
double dt)
const;
106 PoseRTV flyingDynamics(
double pitch_rate,
double heading_rate,
double lift_control,
double dt)
const;
109 PoseRTV generalDynamics(
const Vector& accel,
const Vector& gyro,
double dt)
const;
114 Vector6 imuPrediction(
const PoseRTV& x2,
double dt)
const;
119 Point3 translationIntegration(
const Rot3& r2,
const Velocity3& v2,
double dt)
const;
125 return translationIntegration(x2.rotation(), x2.velocity(), dt);
130 return translationIntegration(x2, dt);
141 ChartJacobian Dglobal = {},
150 static Matrix RRTMbn(
const Vector3& euler);
151 static Matrix RRTMbn(
const Rot3& att);
155 static Matrix RRTMnb(
const Vector3& euler);
156 static Matrix RRTMnb(
const Rot3& att);
160 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 162 friend class boost::serialization::access;
163 template<
class Archive>
164 void serialize(Archive & ar,
const unsigned int ) {
165 ar & BOOST_SERIALIZATION_NVP(first);
166 ar & BOOST_SERIALIZATION_NVP(second);
176 template <
typename A1,
typename A2>
struct Range;
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:113
Definition: BearingRange.h:197
Vector3 Velocity3
Velocity is currently typedef'd to Vector3.
Definition: NavState.h:28
Group product of two Lie Groups.
Rot3 is a 3D rotation represented as a rotation matrix if the preprocessor symbol GTSAM_USE_QUATERNIO...
Definition: Rot3.h:58
Matrix trans(const Matrix &A)
Definition: Matrix.h:241
Vector translationIntegrationVec(const PoseRTV &x2, double dt) const
Definition: PoseRTV.h:129
Definition: Testable.h:112
GTSAM_EXPORT void print(const Matrix &A, const std::string &s, std::ostream &stream)
Definition: ProductLieGroup.h:29
Definition: BearingRange.h:41
Definition: chartTesting.h:28
Definition: OptionalJacobian.h:38
Both LieGroupTraits and Testable.
Definition: Lie.h:229
const Point3 & translation(OptionalJacobian< 3, 6 > Hself={}) const
get translation
const Rot3 & rotation(OptionalJacobian< 3, 6 > Hself={}) const
get rotation
Point3 translationIntegration(const PoseRTV &x2, double dt) const
Definition: PoseRTV.h:124
Vector3 Point3
Definition: Point3.h:38