ROS EKF 机器人位姿估计功能包:robot
ROSEKF机器人位姿估计功能包:robot_pose_ekf安装(Ubuntu20.04)功能包简介安装功能包简介robot_pose_ekf软件包用于基于来自不同来源的(部分)位姿测量值来估计机器人的3D姿势。它使用带有6D模型(3D位置和3D方向)的扩展卡尔曼滤波器,将来自车轮里程计,IMU传感器和视觉里程计的测量结果结合起来。基本思想是提供与不同传感器的松散耦合集成,其中传感器信号以ROS消息的形式接收。
安装安装环境:ubuntu20.04ros版本:noetic
下载源码
gitclonehttps://github.com/ros-planning/robot_pose_ekf安装完成后提示:
正克隆到‘robot_pose_ekf’…remote:Enumeratingobjects:569,done.remote:Countingobjects:100%(28/28),done.remote:Compressingobjects:100%(15/15),done.remote:Total569(delta12),reused22(delta12),pack-reused541接收对象中:100%(569/569),100.28KiB|251.00KiB/s,完成.处理delta中:100%(357/357),完成.
将robot_pose_ekf文件夹拷贝到ros的工作空间下,进行编译
catkin_make–+++processingcatkinpackage:‘robot_pose_ekf’–==>add_subdirectory(robot_pose_ekf)–Checkingformodule‘orocos-bfl’–Nopackage‘orocos-bfl’foundCMakeErrorat/usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:463(message):ArequiredpackagewasnotfoundCallStack(mostrecentcallfirst):/usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:643(_pkg_check_modules_internal)robot_pose_ekf/CMakeLists.txt:6(pkg_check_modules)
有个这个报错
原因是在robot_pose_ekf功能包的CMakeLists.txt的第6行
#bfl(BayesianFilteringLibrary)isathirdpartypackagethatusespkg-configfind_package(PkgConfig)pkg_check_modules(BFLREQUIREDorocos-bfl)orocos-bfl没有找到,所以报错
解决办法:ubuntu16.04or18.04:
sudoapt-getinstallros-kinetic-bflorsudoapt-getinstallros-melodic-bflubuntu20.04:sudoapt-getinstallros-noetic-bfl是不行的,需要
sudoapt-getinstallliborocos-bfl-dev安装完成后提示:
准备解压…/liborocos-bfl0.8_0.8.0-5build1_amd64.deb…正在解压liborocos-bfl0.8:amd64(0.8.0-5build1)…正在选中未选择的软件包liborocos-bfl-dev:amd64。准备解压…/liborocos-bfl-dev_0.8.0-5build1_amd64.deb…正在解压liborocos-bfl-dev:amd64(0.8.0-5build1)…正在设置liborocos-bfl0.8:amd64(0.8.0-5build1)…正在设置liborocos-bfl-dev:amd64(0.8.0-5build1)…正在处理用于libc-bin(2.31-0ubuntu9.9)的触发器…
再次对ros工作空间进行编译:
catkin_make成功后会提示:
[100%]LinkingCXXexecutable/home/jk-jone/jone_ws/devel/lib/robot_pose_ekf/test_robot_pose_ekf_zero_covariance[100%]LinkingCXXexecutable/home/jk-jone/jone_ws/devel/lib/robot_pose_ekf/test_robot_pose_ekf[100%]Builttargettest_robot_pose_ekf_zero_covariance[100%]Builttargettest_robot_pose_ekf[100%]LinkingCXXexecutable/home/jk-jone/jone_ws/devel/lib/robot_pose_ekf/robot_pose_ekf[100%]Builttargetrobot_pose_ekf