使用turtlebot3仿真,需要安装依赖包 navigation 导航中的move_base和amcl,我一看,干脆直接从github上下载navigation包编译安装,但是报错:
n file included from /home/g/catkin_ws/src/navigation/robot_pose_ekf/include/robot_pose_ekf/odom_estimation_node.h:44:0,
from /home/g/catkin_ws/src/navigation/robot_pose_ekf/src/odom_estimation_node.cpp:37:
/home/g/catkin_ws/src/navigation/robot_pose_ekf/include/robot_pose_ekf/odom_estimation.h:40:45: fatal error: bfl/filter/extendedkalmanfilter.h: No such file or directory
compilation terminated.
需要bfl,贝叶斯滤波器库,那么再次从github上下载源码,编译,发现,bfl不是标准的ros 包,打开一看,不会编译,从博客:https://blog.csdn.net/Start_From_Scratch/article/details/51160893中发现解决方法,简单到爆,输入:
sudo apt install ros-kinetic-bfl
解决。
拓展:
有时候需要某个成熟的包,一般可以直接通过apt 安装,navigation包按照类似的方式安装成功,根本不需要编译:
sudo apt install ros-kinetic-navigation
如果遇到找不到节点的问题,就源码编译吧。