Skip to content

Commit 5dd2881

Browse files
add senspos to pos2d measmodel
1 parent 7e3389c commit 5dd2881

2 files changed

Lines changed: 11 additions & 6 deletions

File tree

src/meas_model/pos2d_meas_model.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ class Pos2dMeasModel
1919
: public MeasModel<Pos2dMeasModel<DIM_X>, DIM_X, DIM_Z_POS2D>
2020
{
2121
public:
22-
Pos2dMeasModel(float32_t const posSigma = 1.0F) : m_posSigma{posSigma} {}
22+
Pos2dMeasModel(Vector<2> const& sensPos, float32_t const posSigma = 1.0F)
23+
: m_sensPos{sensPos}, m_posSigma{posSigma}
24+
{
25+
}
2326
~Pos2dMeasModel() {}
2427

2528
static constexpr int32_t IDX_X_PX{0}; //< Index for position x in state
@@ -35,8 +38,8 @@ class Pos2dMeasModel
3538
Vector<DIM_Z_POS2D> h(Vector<DIM_X> const& vecX) const
3639
{
3740
Vector<DIM_Z_POS2D> vecZ;
38-
vecZ(IDX_Z_PX) = vecX(IDX_X_PX);
39-
vecZ(IDX_Z_PY) = vecX(IDX_X_PY);
41+
vecZ(IDX_Z_PX) = vecX(IDX_X_PX) - m_sensPos(0);
42+
vecZ(IDX_Z_PY) = vecX(IDX_X_PY) - m_sensPos(1);
4043
return vecZ;
4144
}
4245

@@ -71,6 +74,7 @@ class Pos2dMeasModel
7174
void setPosSigma(float32_t const sigma) { m_posSigma = sigma; }
7275

7376
private:
77+
Vector<2> m_sensPos; //< Sensor position in 2D space
7478
float32_t m_posSigma; //< Measurement noise vector
7579
};
7680
} // namespace measmodel

tests/unit/meas_model/pos2d_meas_model_test.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,16 @@ class Pos2DMeasModelTest : public testing::Test
2424
static constexpr int32_t DIM_Z{measmodel::DIM_Z_POS2D};
2525

2626
Vector<DIM_X> m_initialState;
27-
measmodel::Pos2dMeasModel<DIM_X> m_pos2DMeasModel;
27+
Vector<2> const m_sensPos{1.0F, 2.0F};
28+
measmodel::Pos2dMeasModel<DIM_X> m_pos2DMeasModel{m_sensPos};
2829
};
2930

3031
TEST_F(Pos2DMeasModelTest, test_MeasurementFunction)
3132
{
3233
Vector<DIM_Z> const vecZMeas{m_pos2DMeasModel.h(m_initialState)};
3334

34-
EXPECT_DOUBLE_EQ(vecZMeas(0), 15.0); // pos_x
35-
EXPECT_DOUBLE_EQ(vecZMeas(1), -10.0); // pos_y
35+
EXPECT_DOUBLE_EQ(vecZMeas(0), 14.0); // pos_x
36+
EXPECT_DOUBLE_EQ(vecZMeas(1), -12.0); // pos_y
3637
}
3738

3839
TEST_F(Pos2DMeasModelTest, test_JacobianHk)

0 commit comments

Comments
 (0)