VINS-Mono安装、编译、报错[pose_graph-3],以及cv_brige编译报错boost_python

一、Vins-mono安装、编译报错解决

这里侧重我遇到的难以解决的问题。

1.问题一:照着一般的教程来就行,只不过编译时会遇到opencv3和4的冲突问题。

要么把vins中的所有cmakelists.txt中的opencv版本改成4,然后编译报错时再对应修改。对应的方法都能搜到。

要么照着网上说的改cv_bridge方法,再把vins所有cmakelists.txt中的改成opencv3。

注:编译cv_bridge时,我遇到报错:boost_python版本问题(这里有一个常规解决方法,是报错没有1.71.0版本的,网上能搜到,但我照着那个解决我这个问题没能解决,这里附上链接:

http://t.csdn.cn/o9yjp

)(我的报错:没有匹配的1.77.0版本,已有的1.71.0不被接受,但偏偏我下载了1.77.0,好像就缺少他报错的那两个文件),怎么都解决不了,最后把cv_bridge中cmakelists.txt中的这一段(6—19行)改成这样,莫名其妙解决了:

2c8e7c89b73e41dc86d244d841e2401c.jpg

 

这里第15行这个目录是我下载的boost的目录。不过也不确定我这个之前跟着一个教程设置的软连接有没起作用(就是上面那个链接的文末的参考链接的第二个),不过我记得当时设置那个后编译了没用。

 

2.问题2:运行roslaunch vins_estimator euroc.launch时,报错:[pose_graph-3]

838a2e72fb744b0ca14ecefbcdc8ce15.jpg

一般都说是照着上面改vins_mono的所有cmakelists.txt中的opencv版本为4或者改cv_bridge(就是问题一中开头说的),就可以解决,但是我做了之后还是报这个错。只有去代码中找问题了。

我定位错误到pose_graph/src/pose_graph_node.cpp中的第486行左右,就这条语句:

std::string pkg_path=ros::package::getPath("pose_graph");

应该是这个功能包路径没有成功得到,于是我直接注释了这一行,直接改成我电脑中安装的vins_mono的pose_graph这个功能包路径,即修改后为:

b1fa328062de43c6a5e0a0fea33dc5c9.jpg

最后成功运行。真不容易。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值