Now Pose3Config == LieConfig
parent
92c58e50a1
commit
43b2facd10
|
@ -68,6 +68,9 @@ namespace gtsam {
|
|||
}
|
||||
}; // Pose3 class
|
||||
|
||||
// global print
|
||||
inline void print(const Pose3& p, const std::string& s = "") { p.print(s);}
|
||||
|
||||
// Dimensionality of the tangent space
|
||||
inline size_t dim(const Pose3&) { return 6; }
|
||||
|
||||
|
|
|
@ -6,25 +6,16 @@
|
|||
#pragma once
|
||||
|
||||
#include <map>
|
||||
#include "BetweenFactor.h"
|
||||
#include "Pose3.h"
|
||||
#include "LieConfig.h"
|
||||
#include "BetweenFactor.h"
|
||||
|
||||
namespace gtsam {
|
||||
|
||||
/**
|
||||
* A config specifically for 3D poses
|
||||
*/
|
||||
class Pose3Config: public std::map<std::string, Pose3> {
|
||||
|
||||
public:
|
||||
|
||||
const Pose3& get(std::string key) const {
|
||||
const_iterator it = find(key);
|
||||
if (it == end()) throw std::invalid_argument("invalid key");
|
||||
return it->second;
|
||||
}
|
||||
|
||||
};
|
||||
typedef LieConfig<Pose3> Pose3Config;
|
||||
|
||||
/**
|
||||
* A Factor for 3D pose measurements
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
using namespace boost::assign;
|
||||
#include <CppUnitLite/TestHarness.h>
|
||||
#include "Pose3Factor.h"
|
||||
#include "LieConfig-inl.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace gtsam;
|
||||
|
@ -27,8 +28,8 @@ TEST( Pose3Factor, error )
|
|||
|
||||
// Create config
|
||||
Pose3Config x;
|
||||
x.insert(make_pair("t1",t1));
|
||||
x.insert(make_pair("t2",t2));
|
||||
x.insert("t1",t1);
|
||||
x.insert("t2",t2);
|
||||
|
||||
// Get error z-h(x) -> logmap(h(x),z) = logmap(between(t1,t2),z)
|
||||
Vector actual = factor.error_vector(x);
|
||||
|
@ -36,6 +37,13 @@ TEST( Pose3Factor, error )
|
|||
CHECK(assert_equal(expected,actual));
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
TEST( Pose3Factor, simple_circle )
|
||||
{
|
||||
Pose3Config expected, actual;
|
||||
CHECK(assert_equal(expected,actual));
|
||||
}
|
||||
|
||||
/* ************************************************************************* */
|
||||
int main() {
|
||||
TestResult tr;
|
||||
|
|
Loading…
Reference in New Issue