Closed LimHyungTae closed 3 months ago
To check what parts are updated, I run diff kimera_vio/params/D455/LcdParams.yaml kimera_multi/params/D455/LcdParams.yaml
and it outputs:
4c4
< alpha: 0.2
---
> alpha: 0.4
19c19
< nfeatures: 1000
---
> nfeatures: 700
60,63c60
< # pose_recovery_type options:
< # 0: 3d3d (Arun)
< # 1: PnP (opengv)
< pose_recovery_type: 0
---
> use_pnp_pose_recovery: 0
Q1. Is there a reason to change the parameter to use_pnp_pose_recovery
? I think it's wrong, because all the codes still use pose_recovery_type
as follows:
grep -r "use_pnp_pose_recovery" .
./kimera_multi/params/D455/LcdParams.yaml:use_pnp_pose_recovery: 0
(i.e., there's nowhere that use_pnp_pose_recovery
is used!)
grep -r "pose_recovery_type" .
./kimera_vio/params/KinectAzure/LcdParams.yaml:# pose_recovery_type options:
./kimera_vio/params/KinectAzure/LcdParams.yaml:pose_recovery_type: 0
./kimera_vio/params/uHumans1/LcdParams.yaml:# pose_recovery_type options:
./kimera_vio/params/uHumans1/LcdParams.yaml:pose_recovery_type: 0
./kimera_vio/params/EurocMono/LcdParams.yaml:# pose_recovery_type options:
./kimera_vio/params/EurocMono/LcdParams.yaml:pose_recovery_type: 2
./kimera_vio/params/uHumans2/LcdParams.yaml:# pose_recovery_type options:
./kimera_vio/params/uHumans2/LcdParams.yaml:pose_recovery_type: 0
./kimera_vio/params/Euroc/LcdParams.yaml:# pose_recovery_type options:
./kimera_vio/params/Euroc/LcdParams.yaml:pose_recovery_type: 0
./kimera_vio/params/D455/LcdParams.yaml:# pose_recovery_type options:
./kimera_vio/params/D455/LcdParams.yaml:pose_recovery_type: 0
./kimera_vio/params/RealSenseIR/LcdParams.yaml:# pose_recovery_type options:
./kimera_vio/params/RealSenseIR/LcdParams.yaml:pose_recovery_type: 0
./kimera_vio/tests/testLoopClosureDetector.cpp: lcd_params_.pose_recovery_type_ = PoseRecoveryType::kPnP;
./kimera_vio/tests/testLoopClosureDetector.cpp: lcd_params_.pose_recovery_type_ = PoseRecoveryType::kPnP;
./kimera_vio/tests/testLoopClosureDetector.cpp: lcd_params_.pose_recovery_type_ = PoseRecoveryType::k5ptRotOnly;
./kimera_vio/tests/testLoopClosureDetector.cpp: lcd_params_.pose_recovery_type_ = PoseRecoveryType::kPnP;
./kimera_vio/tests/testLoopClosureDetector.cpp: lcd_params_.pose_recovery_type_ = PoseRecoveryType::kPnP;
./kimera_vio/tests/data/ForLoopClosureDetector/testLCDParameters.yaml:# pose_recovery_type options:
./kimera_vio/tests/data/ForLoopClosureDetector/testLCDParameters.yaml:pose_recovery_type: 0
./kimera_vio/tests/data/EurocParams/LcdParams.yaml:# pose_recovery_type options:
./kimera_vio/tests/data/EurocParams/LcdParams.yaml:pose_recovery_type: 0
./kimera_vio/include/kimera-vio/loopclosure/LoopClosureDetectorParams.h: PoseRecoveryType pose_recovery_type_ = PoseRecoveryType::k3d3d;
./kimera_vio/src/loopclosure/LoopClosureDetectorParams.cpp: int pose_recovery_type;
./kimera_vio/src/loopclosure/LoopClosureDetectorParams.cpp: yaml_parser.getYamlParam("pose_recovery_type", &pose_recovery_type);
./kimera_vio/src/loopclosure/LoopClosureDetectorParams.cpp: pose_recovery_type_ = static_cast<PoseRecoveryType>(pose_recovery_type);
./kimera_vio/src/loopclosure/LoopClosureDetectorParams.cpp: "pose_recovery_type_",
./kimera_vio/src/loopclosure/LoopClosureDetectorParams.cpp: static_cast<unsigned int>(pose_recovery_type_),
./kimera_vio/src/loopclosure/LoopClosureDetectorParams.cpp: (pose_recovery_type_ == lp2.pose_recovery_type_) &&
./kimera_vio/src/loopclosure/LoopClosureDetector.cpp: if (lcd_params_.pose_recovery_type_ == PoseRecoveryType::kPnP ||
./kimera_vio/src/loopclosure/LoopClosureDetector.cpp: lcd_params_.pose_recovery_type_ == PoseRecoveryType::k5ptRotOnly) {
./kimera_vio/src/loopclosure/LoopClosureDetector.cpp: if (lcd_params_.pose_recovery_type_ == PoseRecoveryType::k5ptRotOnly) {
./kimera_vio/src/loopclosure/LoopClosureDetector.cpp: switch (lcd_params_.pose_recovery_type_) {
./kimera_vio/src/loopclosure/LoopClosureDetector.cpp: << static_cast<unsigned int>(lcd_params_.pose_recovery_type_)
./kimera_vio/src/loopclosure/LoopClosureDetector.cpp: switch (lcd_params_.pose_recovery_type_) {
./kimera_vio/src/loopclosure/LoopClosureDetector.cpp: << static_cast<unsigned int>(lcd_params_.pose_recovery_type_)
Thanks for investigating this! I think this was inherited from older kimera vio settings, and I created a PR to fix this issue.
Problem
After building the workspace, I conducted unit test as follows:
Yet, it outputs an error message as follows: