里程计的问题

里程计在转弯的时候, 能容易发生飘移现象,而且精度也不高, 容易产生累积误差
因此, 笔者想到了能不能通过imu来提高机器人的定位效果, 本文采用扩展卡尔曼滤波, ros上的功能包为robot_pose_ekf。
功能包官网链接

需要提供的话题

里程计数据 odom (nav_msgs/Odometry)
惯导传感器数据 imu_data (sensor_msgs/Imu)
甚至也支持 视觉里程计数据 vo (nav_msgs/Odometry)

robot_pose_ekf发布的数据

  1. 传感器数据融合之后的机器人位姿 robot_pose_ekf/odom_combined (geometry_msgs/PoseWithCovarianceStamped)
  2. 发布了从odom_combined 到 base_footprint的tf坐标变换。

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"/>
    <param name="debug" value="false"/>
    <param name="self_diagnose" value="false"/>
  </node>
 </launch>

实验的效果:

橙色曲线为融合之后的机器人位姿, 绿色为里程计发布的机器人位姿, 可见, 通过传感器融合之后, 机器人在转向上的效果显著提高, 并且更加符合实际。
在这里插入图片描述

转载版权:乐易云香港服务器 乐易云美国服务器

转载标题:在ROS平台上使用扩展卡尔曼融合里程计和IMU传感器 转载地址:https://www.123yun.com/article/1961.html

可以赚钱的画画app软件有哪些 一对一视频聊天挣钱的软件有哪些 不花钱的视频压缩软件 配音赚钱的软件有哪些

内容来源于网络如有侵权请私信删除