diff --git a/include/msckf_vio/feature.hpp b/include/msckf_vio/feature.hpp
index 6c55861..c5d02ff 100644
--- a/include/msckf_vio/feature.hpp
+++ b/include/msckf_vio/feature.hpp
@@ -935,7 +935,7 @@ bool Feature::VisualizePatch(
//cv::imwrite(loc.str(), cam0.featureVisu);
cv::imshow("patch", cam0.featureVisu);
- cvWaitKey(1);
+ cvWaitKey(0);
}
float Feature::PixelIrradiance(cv::Point2f pose, cv::Mat image) const
diff --git a/launch/image_processor_tinytum.launch b/launch/image_processor_tinytum.launch
index 0e5985c..f862755 100644
--- a/launch/image_processor_tinytum.launch
+++ b/launch/image_processor_tinytum.launch
@@ -14,8 +14,8 @@
-
-
+
+
@@ -24,9 +24,9 @@
-
-
-
+
+
+
diff --git a/launch/msckf_vio_tinytum.launch b/launch/msckf_vio_tinytum.launch
index f89ea7a..f4e94a2 100644
--- a/launch/msckf_vio_tinytum.launch
+++ b/launch/msckf_vio_tinytum.launch
@@ -22,10 +22,10 @@
-
+
-
+
@@ -33,7 +33,7 @@
-
+
diff --git a/src/msckf_vio.cpp b/src/msckf_vio.cpp
index fe071b1..9425997 100644
--- a/src/msckf_vio.cpp
+++ b/src/msckf_vio.cpp
@@ -50,7 +50,7 @@ Isometry3d CAMState::T_cam0_cam1 = Isometry3d::Identity();
// Static member variables in Feature class.
FeatureIDType Feature::next_id = 0;
-double Feature::observation_noise = 0.05;
+double Feature::observation_noise = 0.2;
Feature::OptimizationConfig Feature::optimization_config;
map MsckfVio::chi_squared_test_table;
@@ -1623,7 +1623,7 @@ bool MsckfVio::PhotometricPatchPointResidual(
new_anchorPatch_3d = feature.anchorPatch_3d;
}
- for(auto point : new_anchorPatch_3d)
+ for(auto point : feature.anchorPatch_3d)
{
cv::Point2f p_in_c0 = feature.projectPositionToCamera(cam_state, cam_state_id, cam0, point);
@@ -1869,6 +1869,7 @@ bool MsckfVio::PhotometricMeasurementJacobian(
// visualizing functions
feature.MarkerGeneration(marker_pub, state_server.cam_states);
feature.VisualizePatch(cam_state, cam_state_id, cam0, r_photo, ss);
+ cout << "r\n" << r_photo << endl;
//feature.VisualizeKernel(cam_state, cam_state_id, cam0);
}
@@ -2782,7 +2783,6 @@ void MsckfVio::removeLostFeatures() {
MatrixXd p2H_xj;
VectorXd p2r_j;
- cout << "5: " << endl;
if(PhotometricFeatureJacobian(feature.id, cam_state_ids, pH_xj, pr_j, N))
{
if (gatingTest(pH_xj, pr_j, pr_j.size(), 1)) { //, cam_state_ids.size()-1)) {
@@ -2792,7 +2792,7 @@ void MsckfVio::removeLostFeatures() {
}
}
-
+ /*
cout << "3: " << endl;
if(PhotometricFeatureJacobian(feature.id, cam_state_ids, p2H_xj, p2r_j, 3))
{
@@ -2803,7 +2803,7 @@ void MsckfVio::removeLostFeatures() {
p2stack_cntr += p2H_xj.rows();
}
}
-
+ */
featureJacobian(feature.id, cam_state_ids, H_xj, r_j);
twodotFeatureJacobian(feature.id, cam_state_ids, twoH_xj, twor_j);
@@ -2981,7 +2981,6 @@ void MsckfVio::pruneLastCamStateBuffer()
for (const auto& cam_state : state_server.cam_states)
involved_cam_state_ids.push_back(cam_state.first);
- cout << "5: " << endl;
if(PhotometricFeatureJacobian(feature.id, involved_cam_state_ids, pH_xj, pr_j, N))
{
if (gatingTest(pH_xj, pr_j, pr_j.size(), 1)) { //, cam_state_ids.size()-1)) {
@@ -2991,6 +2990,7 @@ void MsckfVio::pruneLastCamStateBuffer()
}
}
+ /*
cout << "3: " << endl;
if(PhotometricFeatureJacobian(feature.id, involved_cam_state_ids, p2H_xj, p2r_j, 3))
{
@@ -3000,6 +3000,7 @@ void MsckfVio::pruneLastCamStateBuffer()
p2stack_cntr += p2H_xj.rows();
}
}
+ */
featureJacobian(feature.id, involved_cam_state_ids, H_xj, r_j);
twodotFeatureJacobian(feature.id, involved_cam_state_ids, twoH_xj, twor_j);
@@ -3179,7 +3180,6 @@ void MsckfVio::pruneCamStateBuffer() {
if (involved_cam_state_ids.size() == 0) continue;
- cout << "5: " << endl;
if(PhotometricFeatureJacobian(feature.id, involved_cam_state_ids, pH_xj, pr_j, N))
{
if (gatingTest(pH_xj, pr_j, pr_j.size(), 1)) {// involved_cam_state_ids.size())) {
@@ -3189,6 +3189,7 @@ void MsckfVio::pruneCamStateBuffer() {
}
}
+ /*
cout << "3: " << endl;
if(PhotometricFeatureJacobian(feature.id, involved_cam_state_ids, p2H_xj, p2r_j, 3))
{
@@ -3198,7 +3199,7 @@ void MsckfVio::pruneCamStateBuffer() {
p2stack_cntr += p2H_xj.rows();
}
}
-
+ */
featureJacobian(feature.id, involved_cam_state_ids, H_xj, r_j);
twodotFeatureJacobian(feature.id, involved_cam_state_ids, twoH_xj, twor_j);