nbvplanner编译遇到的问题

代码地址:https://github.com/ethz-asl/nbvplanner/

!!!最终,编译问题解决,但gazebo在kinetic下的显示错误(本文中错误6)仍未解决。有时间的话考虑装个ubuntu14.04-indigo版本试试把,毕竟作者也没有在kinetic中测试过。

        最终结果图:

1.git submodule update --recursive这步会出现“拒绝连接,无法克隆”的错误。多试几次。
2.错误:#error regenerate this file with a newer version of protoc.
  解决:protoc版本太高。protoc --version 查看现在的protoc版本,为3.5.0。
        先删除高版本:
          cd /usr/local/include/google
          sudo rm -rf protobuf
        后安装2.6.1:
          https://github.com/protocolbuffers/protobuf/releases?after=v3.0.0-alpha-1      
         $ ./autogen.sh
         $ ./configure
         $ make
         $ make check
          $ sudo make install
          $ sudo ldconfig
3.错误:CMake Error at gflags_src-stamp/download-gflags_src.cmake:27 (message):
  error: downloading 'https://github.com/gflags/gflags/archive/v2.1.2.zip'
  failed
  解决: 科学上网,然后重复catkin build
4.错误:/home/y/nbvplanner/src/interface_nbvp_rotors/src/exploration.cpp:33:33: fatal error: nbvplanner/nbvp_srv.h: 没有那个文件或目录
  解决:在该工作空间搜索nbvp_srv.h,发现是有的。把它复制到exploration.cpp同一路径下,并把exploration.cpp中的#include <nbvplanner/nbvp_srv.h>改为#include "nbvp_srv.h"
5.错误:/home/y/nbvplanner/src/interface_nbvp_rotors/src/nbvp_srv.h:11:40: fatal error: nbvplanner/nbvp_srvRequest.h: 没有那个文件或目录
  解决:同4的解决方式。
6.错误:[ERROR] [1501055481.095702324, 0.210000000]: "navigation" passed to lookupTransform argument target_frame does not exist.
And
[ERROR] [1501055481.186681300, 0.300000000]: Lookup would require extrapolation at time 0.300000000, but only time 0.310000000 is in the buffer, when looking up transform from frame [world] to frame [navigation]
   解决:应该是有包没有编译全。按https://github.com/mintar/nbvplanner/commit/862addf19973060db621e0bbd24cbf623702e80b改一下各文件中的CMakeLists。这样编译的包数量会由原有的14个(还是16个?忘了)变成23个。但这样还会报错说找不到 interface_nbvp_rotors/CMakeLists.txt中添加的nbvplanner包,因此再按https://github.com/ethz-asl/nbvplanner/compare/master...lasdasdas:master#diff-ed35af4f051b4b5b28593948a2484c59R15改一下,删掉nbvplanner。这样改完,会编译24个包。编译成功后再运行出现了错误7。
7.错误:ERROR: cannot launch node of type [rotors_control/lee_position_controller_node]: can't locate node [lee_position_controller_node] in package [rotors_control]
ERROR: cannot launch node of type [nbvplanner/nbvPlanner]: can't locate node [nbvPlanner] in package [nbvplanner]
ERROR: cannot launch node of type [interface_nbvp_rotors/exploration]: can't locate node [exploration] in package [interface_nbvp_rotors]
   解决:定位到每个node,权限改为读写可执行。
   重新运行,错误7解决,然后又出现了错误6.。。。。。
8.错误:gzserver: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreRenderSystem.cpp:546: virtual void Ogre::RenderSystem::setDepthBufferFor(Ogre::RenderTarget*): Assertion `bAttached && "A new DepthBuffer for a RenderTarget was created, but after creation" "it says it's incompatible with that RT"' failed.
Aborted (core dumped)
[gazebo-2] process has died [pid 24127, exit code 134, cmd /opt/ros/kinetic/lib/gazebo_ros/gzserver -u -e ode /home/y/nbvplanner/src/interface_nbvp_rotors/worlds/flat.world __name:=gazebo __log:=/home/y/.ros/log/4748e604-e86e-11eb-993a-000c292cea47/gazebo-2.log].
解决:经搜索发现更新显卡驱动可以解决问题,但不知是不是因为使用虚拟机,提示找不到我的显卡(实际是有的)。所以最后也没有解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值