10#include <gtsam/config.h>
12#ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V43
17#include <gtsam_unstable/dllexport.h>
28class GTSAM_UNSTABLE_EXPORT Mechanization_bRn2 {
43 Mechanization_bRn2(
const Rot3& initial_bRn = Rot3(),
44 const Vector3& initial_x_g = Z_3x1,
const Vector3& initial_x_a = Z_3x1) :
45 bRn_(initial_bRn), x_g_(initial_x_g), x_a_(initial_x_a) {
49 Mechanization_bRn2(
const Mechanization_bRn2& other) =
default;
51 Mechanization_bRn2& operator=(
const Mechanization_bRn2& other) =
default;
54 Vector3 b_g(
double g_e)
const {
55 Vector3 n_g(0, 0, g_e);
59 const Rot3& bRn()
const {
return bRn_; }
60 const Vector3& x_g()
const {
return x_g_; }
61 const Vector3& x_a()
const {
return x_a_; }
70 static Mechanization_bRn2 initializeVector(
const std::list<Vector>& U,
71 const std::list<Vector>& F,
const double g_e = 0,
bool flat=
false);
74 static Mechanization_bRn2 initialize(
const Matrix& U,
75 const Matrix& F,
const double g_e = 0,
bool flat=
false);
82 Mechanization_bRn2 correct(
const Vector9& dx)
const;
90 Mechanization_bRn2 integrate(
const Vector3& u,
const double dt)
const;
93 void print(
const std::string& s =
"")
const {
96 std::cout << s +
".x_g" << x_g_ << std::endl;
97 std::cout << s +
".x_a" << x_a_ << std::endl;
Macros for Vector constants to avoid excessive template instantiation.
typedef and functions to augment Eigen's VectorXd
3D rotation represented as a rotation matrix or quaternion
Global functions in a separate testing namespace.
Definition chartTesting.h:28
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition Matrix.cpp:143