资讯详情

[2D激光slam] robot_pose_ekf融合imu和里程计数据

修改1:

/realsense的catkin工作环境/src/realsense-ros/realsense2_camera/launch/rs_camera.launch中的

<arg name="unite_imu_method"      default="copy"/> 

修改为:

<arg name="unite_imu_method"      default="linear_interpolation"/> 

分别打开三个terminal,电脑插上realsense d435i,操作以下命令:

roscore  roslaunch realsense2_camera rs_camera.launch rostopic list  

查看是否有 /camera/imu ,有这句话说明ok

修改2:

dwa_loop_move_base_simulation_object_zhan.launch文件中修改realsense d435i修改为

<include file="$(find realsense2_camera)/launch/rs_camera.launch"/> 

修改3:

dwa_loop_move_base_simulation_object_zhan.launch添加到文件中TF变换。

<node name="base_imu_link" pkg="tf" type="static_transform_publisher" args="0 0 0 0 3.1415926 0 /base_link /base_imu_link 50"/> 

若是单独的imu可能需要传感器TF坐标转换。我在这里用的reslsense d435i,相机已经完成TFi所以这一步不需要修改。

修改4:

下载robot_pose_ekf功能包,编译,可能会报错。

– package ‘orocos-bfl’ not found CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:283 (message): A required package was not found Call Stack (most recent call first): /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:337 (_pkg_check_modules_internal) robot_pose_ekf/CMakeLists.txt:6 (pkg_check_modules) 

原因是:缺乏orocos-bfl包 解决方法:安装orocos-bfl包后重新编译

sudo apt-get install ros-melodic-bfl 

或者源安装:https://aur.archlinux.org/packages/ros-melodic-bfl

cd bfl-release-release-melodic-bfl-0.8.0-0/ mkdir build cd build cmake .. make  sudo make install 

修改5:

修改robot_pose_ekf.launch修改文件夹内容如下:

<launch>  <node pkg="robot_pose_ekf" type="robot_pose_ekf" name="robot_pose_ekf">
  <param name="output_frame" value="odom"/>
  <param name="base_footprint_frame" value="base_link"/>
  <param name="freq" value="30.0"/>
  <param name="sensor_timeout" value="1.0"/>  
  <param name="odom_used" value="true"/>
  <param name="imu_used" value="true"/>
  <param name="vo_used" value="false"/>

  <remap from="imu_data" to="camera/imu" />
</node>

</launch>

标签: cd22激光传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台