robot_localization是状态估计节点的集合,每个节点都是针对在3D空间中移动的机器人的非线性状态估计器的实现。 它包含两个状态估计节点ekf_localization_node和ukf_localization_node。 另外,robot_localization提供了navsat_transform_node,它有助于集成GPS数据。

robot_localization中的所有状态估计节点都具有共同的特征,即:

融合任意数量的传感器。 节点不限制输入源的数量。 例如,如果您的机器人具有多个IMU或里程表信息的多个来源,则robot_localization中的状态估计节点可以支持所有它们。

支持多种ROS消息类型。 robot_localization中的所有状态估计节点都可以接收nav_msgs / Odometry,sensor_msgs / Imu,geometry_msgs / PoseWithCovarianceStamped或geometry_msgs / TwistWithCovarianceStamped消息。

每个传感器的输入定制。 如果给定的传感器消息包含您不希望包含在状态估计中的数据,则robot_localization中的状态估计节点允许您逐个传感器排除该数据。

连续估算。 robot_localization中的每个状态估算节点在收到一次测量结果后就开始估算车辆的状态。 如果传感器数据中有节假日(即很长一段时间,没有收到任何数据),则滤波器将继续通过内部运动模型来估算机器人的状态。

所有状态估计节点都跟踪车辆的15维状态:

(X,Y,Z,roll,pitch,yaw,X˙,Y˙,Z˙,roll˙,pitch˙,yaw˙,X¨,Y¨,Z¨)(X,Y,Z,roll,pitch,yaw,X˙,Y˙,Z˙,roll˙,pitch˙,yaw˙,X¨,Y¨,Z¨)

ekf_localization_node是扩展卡尔曼滤波器的实现。 它使用全向运动模型在时间上向前预测状态,并使用感知的传感器数据校正预测的估计值。

ukf_localization_node是无迹卡尔曼过滤器的实现。 它使用一组精心选择的sigma点,以通过EKF中使用的同一运动模型来投影状态,然后使用这些投影的sigma点来恢复状态估计和协方差。 这消除了使用雅可比矩阵,并使滤波器更稳定。 但是,与ekf_localization_node相比,它在计算上也更加繁重。

ekf_localization_node和ukf_localization_node共享它们的绝大多数参数,因为大多数参数控制在与核心过滤器融合之前如何处理数据。

可用于状态估计节点的相对大量参数使启动文件和配置文件成为启动其任何节点的首选方法。 该软件包包含模板启动和配置文件,以帮助用户入门。

Parameters Common to ekf_localization_node and ukf_localization_node

~frequence

滤波器产生状态估计值的实值频率(单位为Hz)

注意:滤波器只有从输入之一接收到至少一条消息后才会开始计算。

~sensor_timeout

实值周期(以秒为单位),之后我们认为任何传感器都已超时。 在这种情况下,我们会对EKF进行预测周期,而无需对其进行校正。 可以将此参数视为滤波器将生成新输出的最小频率的倒数。

ros robot_localization相关推荐

  1. ROS学习笔记之——robot_localization包

    之前博客已经介绍过robot_pose_ekf功能包以及(extended)kalman滤波的原理< ROS学习笔记之--EKF (Extended Kalman Filter) node 扩展 ...

  2. 嵌入式的我们为什么要学ROS

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:羽林君 前言 本来是要写一篇STM32移植ROS ...

  3. android ros 节点编写_嵌入式的我们为什么要学ROS

    前言 本来是要写一篇STM32移植ROS的一个小lib库,ROS一般都是需要跑在Linux上的,STM32使用就是当成一个ROS通讯的小节点,但是写文章时间不够,所以就简单做一篇ROS的介绍文章,分享 ...

  4. robot_localization中EKF源码介绍

    robot_localization中EKF源码介绍 /** Copyright (c) 2014, 2015, 2016 Charles River Analytics, Inc.* Copyrig ...

  5. ROS集成开发环境IDE----RoboWare开源

    RoboWare中文官网: http://cn.roboware.me/#/home github: https://github.com/TonyRobotics/RoboWare-Studio 目 ...

  6. 嵌入式的我们需要学习一下ROS吗?

    作者:良知犹存 来源:羽林君 前言 本来是要写一篇STM32移植ROS的一个小lib库,ROS一般都是需要跑在Linux上的,STM32使用就是当成一个ROS通讯的小节点,但是写文章时间不够,所以就简 ...

  7. 移动机器人开发--ROS框架

    开发思路: 完成移动移动机器人比赛,从零开始搭建ros框架,实现移动.定位导航.搬运等功能. 参考资料汇总: ROS基础,框架实例 ROS移动机器人+上层系统架构分析:https://blog.csd ...

  8. ETH ROS编程课程学习心得 vinbo2

    ROS Melodic教程及机器人学开放课程整理汇总:https://blog.csdn.net/ZhangRelay/article/details/100086799 ROS系统很强大,学习起来坑 ...

  9. robot_localization多传感器定位-IMU数据的校准与融合

    robot_localization多传感器融合中的IMU数据获取分四个部分来说明,分别是数据类型.IMU校准及融合理论.rikirobot源码解析以及优化 第一部分:数据类型 robot_local ...

最新文章

  1. 只因接了一个电话,程序员被骗 30 万!
  2. python饼图怎么显示中文_python生成饼图解决中文乱码
  3. html 设置div占位符,HTML5+CSS3 一组文本输入框占位符动效
  4. 有符号数据的符号位扩展
  5. 2.3.2 spring属性注入-注解注入-半注解注入-后序
  6. python怎么玩pdf_如何使用Python玩转PDF各种骚操作?
  7. 服务器安装红帽系统进入不图形界面,CentOS 安装图形化界面方法
  8. 从零开始搭建PHP项目
  9. IDEA+Maven搭建JavaWeb项目
  10. python求100被3he7整除_PYTHON练习题测验
  11. 网易云音乐云盘上传歌词的方法
  12. 永中office之在线预览(java版)
  13. 大数据平台层级架构图
  14. CGI编程学习----查询2000W开房数据
  15. windows定时自动备份
  16. ubuntu使用记录(3)ubuntu 防火墙开放端口(开启ssh)
  17. 洛谷 P2782 友好城市
  18. android 全键盘手机排行榜,提升打字效率 全键盘Android手机盘点
  19. HW1 游戏分类与热点探索
  20. 如何使用atom编辑php,安装和使用Atom编辑器

热门文章

  1. 山东公基考情 山东省情
  2. SPFA 算法详解( 强大图解,不会都难!) (转)
  3. 创新实训——飞讯(十)
  4. PHP简单实现快递接口api
  5. 摹客rp-产品原型设计(毫无经验)
  6. 微信小程序js页面调用函数
  7. Adaptive Cruise Control (ACC) Test Scenarios(PreScan里面的ACC)
  8. 操作系统-进程控制块PCB
  9. 杰理之关 MIC 处理方法。处理后对于减少喊话底噪 和啸叫有明显效果【篇】
  10. Google支付(In-app Billing)接入