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;
89 double range(
const PoseRTV& other,
99 PoseRTV planarDynamics(
double vel_rate,
double heading_rate,
double max_accel,
double dt)
const;
105 PoseRTV flyingDynamics(
double pitch_rate,
double heading_rate,
double lift_control,
double dt)
const;
108 PoseRTV generalDynamics(
const Vector& accel,
const Vector& gyro,
double dt)
const;
113 Vector6 imuPrediction(
const PoseRTV& x2,
double dt)
const;
124 return translationIntegration(x2.rotation(), x2.velocity(), dt);
129 return translationIntegration(x2, dt);
140 ChartJacobian Dglobal = boost::none,
149 static Matrix RRTMbn(
const Vector3& euler);
150 static Matrix RRTMbn(
const Rot3& att);
154 static Matrix RRTMnb(
const Vector3& euler);
155 static Matrix RRTMnb(
const Rot3& att);
160 friend class boost::serialization::access;
161 template<
class Archive>
162 void serialize(Archive & ar,
const unsigned int ) {
163 ar & BOOST_SERIALIZATION_NVP(first);
164 ar & BOOST_SERIALIZATION_NVP(second);
173 template <
typename A1,
typename A2>
struct Range;
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition: Matrix.cpp:141
const Point3 & translation(OptionalJacobian< 3, 6 > H=boost::none) const
get translation
Definition: Pose3.cpp:265
Robot state for use with IMU measurements.
Definition: PoseRTV.h:23
Both LieGroupTraits and Testable.
Definition: Lie.h:237
Template to create a binary predicate.
Definition: Testable.h:110
Vector3 Velocity3
Velocity is currently typedef'd to Vector3.
Definition: NavState.h:28
Point3 translationIntegration(const PoseRTV &x2, double dt) const
predict measurement and where Point3 for x2 should be, as a way of enforcing a velocity constraint Th...
Definition: PoseRTV.h:123
OptionalJacobian is an Eigen::Ref like class that can take be constructed using either a fixed size o...
Definition: OptionalJacobian.h:39
Definition: BearingRange.h:193
Group product of two Lie Groups.
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition: concepts.h:30
Template to construct the product Lie group of two other Lie groups Assumes Lie group structure for G...
Definition: ProductLieGroup.h:29
Definition: BearingRange.h:39
const Rot3 & rotation(OptionalJacobian< 3, 6 > H=boost::none) const
get rotation
Definition: Pose3.cpp:272
Global functions in a separate testing namespace.
Definition: chartTesting.h:28
Vector translationIntegrationVec(const PoseRTV &x2, double dt) const
Definition: PoseRTV.h:128
Matrix trans(const Matrix &A)
static transpose function, just calls Eigen transpose member function
Definition: Matrix.h:244
Symbols for exporting classes and methods from DLLs.