Closed levenJun closed 3 years ago
When I follow the guide, run roslaunch mlcc pose_refine.launch, it`s fine。After that, I run roslaunch mlcc extrinsic_refine.launch, some errors occur, below are some msg, btw, my env is ubuntu18.04, ros is melodic.thanks for your reply.
setting /run_id to 6b384e2a-355c-11ec-850e-8cec4b814673
process[rosout-1]: started with pid [7627] started core service [/rosout] process[extrinsic_refine-2]: started with pid [7634] process[rviz-3]: started with pid [7635] iteration 0 extrinsic_refine: /home/admini//ws3/src/mlcc/include/extrinsic_refine.hpp:308: void EXTRIN_OPTIMIZER::optimize(): Assertion `!std::isnan(residual2)' failed.
Hi IevenJun, if you are following the default extrinsic_refine.launch
profile (base_lidar=3, ref_lidar=0), then you need to modify the ref.json
file. The ref.json
contains 3 lines (extrinsic values) which are used for step 3 global_refine.launch
. For step 2, you are refining the extrinsic of ONE LiDAR at each time, thus you only need to input ONE initial extrinsic value. The initialized extrinsic value is estimated from Hand-eye calibration and is stored in mlcc/config/init_extrinsic
. After that, you can paste the 3 refined extrinsic values and go to step 3.
Hope this helps.
When I follow the guide, run roslaunch mlcc pose_refine.launch, it`s fine。After that, I run roslaunch mlcc extrinsic_refine.launch, some errors occur, below are some msg, btw, my env is ubuntu18.04, ros is melodic.thanks for your reply.
setting /run_id to 6b384e2a-355c-11ec-850e-8cec4b814673
process[rosout-1]: started with pid [7627] started core service [/rosout] process[extrinsic_refine-2]: started with pid [7634] process[rviz-3]: started with pid [7635] iteration 0 extrinsic_refine: /home/admini//ws3/src/mlcc/include/extrinsic_refine.hpp:308: void EXTRIN_OPTIMIZER::optimize(): Assertion `!std::isnan(residual2)' failed.
Hi IevenJun, if you are following the default
extrinsic_refine.launch
profile (base_lidar=3, ref_lidar=0), then you need to modify theref.json
file. Theref.json
contains 3 lines (extrinsic values) which are used for step 3global_refine.launch
. For step 2, you are refining the extrinsic of ONE LiDAR at each time, thus you only need to input ONE initial extrinsic value. The initialized extrinsic value is estimated from Hand-eye calibration and is stored inmlcc/config/init_extrinsic
. After that, you can paste the 3 refined extrinsic values and go to step 3.Hope this helps.
Thanks a lot for your help, after your guide, I finished the <3.1 LiDAR-LiDAR Extrinsic Calibration> successfully.
When I follow the guide, run roslaunch mlcc pose_refine.launch, it`s fine。After that, I run roslaunch mlcc extrinsic_refine.launch, some errors occur, below are some msg, btw, my env is ubuntu18.04, ros is melodic.thanks for your reply.
setting /run_id to 6b384e2a-355c-11ec-850e-8cec4b814673
process[rosout-1]: started with pid [7627] started core service [/rosout] process[extrinsic_refine-2]: started with pid [7634] process[rviz-3]: started with pid [7635] iteration 0 extrinsic_refine: /home/admini//ws3/src/mlcc/include/extrinsic_refine.hpp:308: void EXTRIN_OPTIMIZER::optimize(): Assertion `!std::isnan(residual2)' failed.
Hi IevenJun, if you are following the default
extrinsic_refine.launch
profile (base_lidar=3, ref_lidar=0), then you need to modify theref.json
file. Theref.json
contains 3 lines (extrinsic values) which are used for step 3global_refine.launch
. For step 2, you are refining the extrinsic of ONE LiDAR at each time, thus you only need to input ONE initial extrinsic value. The initialized extrinsic value is estimated from Hand-eye calibration and is stored inmlcc/config/init_extrinsic
. After that, you can paste the 3 refined extrinsic values and go to step 3.Hope this helps.
Thanks for the advice. I followed this but still got the same error. My env is Ubuntu18 melodic and the following is what I have done.
Is there anything wrong?
When I follow the guide, run roslaunch mlcc pose_refine.launch, it`s fine。After that, I run roslaunch mlcc extrinsic_refine.launch, some errors occur, below are some msg, btw, my env is ubuntu18.04, ros is melodic.thanks for your reply.
setting /run_id to 6b384e2a-355c-11ec-850e-8cec4b814673
process[rosout-1]: started with pid [7627] started core service [/rosout] process[extrinsic_refine-2]: started with pid [7634] process[rviz-3]: started with pid [7635] iteration 0 extrinsic_refine: /home/admini//ws3/src/mlcc/include/extrinsic_refine.hpp:308: void EXTRIN_OPTIMIZER::optimize(): Assertion `!std::isnan(residual2)' failed.
Hi IevenJun, if you are following the default
extrinsic_refine.launch
profile (base_lidar=3, ref_lidar=0), then you need to modify theref.json
file. Theref.json
contains 3 lines (extrinsic values) which are used for step 3global_refine.launch
. For step 2, you are refining the extrinsic of ONE LiDAR at each time, thus you only need to input ONE initial extrinsic value. The initialized extrinsic value is estimated from Hand-eye calibration and is stored inmlcc/config/init_extrinsic
. After that, you can paste the 3 refined extrinsic values and go to step 3. Hope this helps.Thanks for the advice. I followed this but still got the same error. My env is Ubuntu18 melodic and the following is what I have done.
- roslaunch mlcc pose_refine.launch
- modify the contents of "mlcc/scene2/ref.json" to "0 0 0 -0.0332571 -0.0141886 -0.00218784 0.999344", which is copied from the 8th line "L0: 0 0 0 -0.0332571 -0.0141886 -0.00218784 0.999344" in file "mlcc/config/init_extrinsic", and keep "extrinsic_refine.launch" unchanged.
- roslaunch mlcc extrinsic_refine.launch
Is there anything wrong?
Hi qiliang72, this is probably due to the reason that you implicitly paste the newline
to the ref.json
file. This is to say, you actually input two lines to the ref.json
, but only one line is required. You may verify this using Visual Studio Code instead of system default gedit.
Hope this helps.
When I follow the guide, run roslaunch mlcc pose_refine.launch, it`s fine。After that, I run roslaunch mlcc extrinsic_refine.launch, some errors occur, below are some msg, btw, my env is ubuntu18.04, ros is melodic.thanks for your reply.
setting /run_id to 6b384e2a-355c-11ec-850e-8cec4b814673
process[rosout-1]: started with pid [7627] started core service [/rosout] process[extrinsic_refine-2]: started with pid [7634] process[rviz-3]: started with pid [7635] iteration 0 extrinsic_refine: /home/admini//ws3/src/mlcc/include/extrinsic_refine.hpp:308: void EXTRIN_OPTIMIZER::optimize(): Assertion `!std::isnan(residual2)' failed.
Hi IevenJun, if you are following the default
extrinsic_refine.launch
profile (base_lidar=3, ref_lidar=0), then you need to modify theref.json
file. Theref.json
contains 3 lines (extrinsic values) which are used for step 3global_refine.launch
. For step 2, you are refining the extrinsic of ONE LiDAR at each time, thus you only need to input ONE initial extrinsic value. The initialized extrinsic value is estimated from Hand-eye calibration and is stored inmlcc/config/init_extrinsic
. After that, you can paste the 3 refined extrinsic values and go to step 3. Hope this helps.Thanks for the advice. I followed this but still got the same error. My env is Ubuntu18 melodic and the following is what I have done.
- roslaunch mlcc pose_refine.launch
- modify the contents of "mlcc/scene2/ref.json" to "0 0 0 -0.0332571 -0.0141886 -0.00218784 0.999344", which is copied from the 8th line "L0: 0 0 0 -0.0332571 -0.0141886 -0.00218784 0.999344" in file "mlcc/config/init_extrinsic", and keep "extrinsic_refine.launch" unchanged.
- roslaunch mlcc extrinsic_refine.launch
Is there anything wrong?
Hi qiliang72, this is probably due to the reason that you implicitly paste the
newline
to theref.json
file. This is to say, you actually input two lines to theref.json
, but only one line is required. You may verify this using Visual Studio Code instead of system default gedit.Hope this helps.
Thanks so much for your help. Following your guide of using VS code, I successfully finished step3.1.
When I follow the guide, run roslaunch mlcc pose_refine.launch, it`s fine。After that, I run roslaunch mlcc extrinsic_refine.launch, some errors occur, below are some msg, btw, my env is ubuntu18.04, ros is melodic.thanks for your reply.
setting /run_id to 6b384e2a-355c-11ec-850e-8cec4b814673 process[rosout-1]: started with pid [7627] started core service [/rosout] process[extrinsic_refine-2]: started with pid [7634] process[rviz-3]: started with pid [7635]
iteration 0 extrinsic_refine: /home/admini//ws3/src/mlcc/include/extrinsic_refine.hpp:308: void EXTRIN_OPTIMIZER::optimize(): Assertion `!std::isnan(residual2)' failed.