机器人状态估计:robot_localization 功能包简介与安装

机器人状态估计:robot_localization 功能包简介与参数配置

前言

在这里插入图片描述

移动机器人的状态估计需要用到很多传感器,因为对单一的传感器来讲,都存在各自的优缺点,所以需要一种多传感器融合技术,将机器人的状态估计出来。对于移动机器人来讲,自身可能携带:

  • 惯导
  • 轮速里程计
  • 激光里程计
  • 视觉里程计
  • gps等

如何利用各传感器的优点,将所有数据结合起来,取长补短,就用到了本篇博客介绍的内容 robot_localization ,一个移动机器人状态估计功能包。

功能包简介

robot_localization是状态估计节点的集合,每个节点都是非线性状态估计器的一种实现,用于在3D空间中移动的机器人。它包括两个状态估计节点ekf_localization_nodeukf_localization_node。另外,robot_localization提供navsat_transform_node,它有助于集成GPS数据。

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

  • 融合任意数量的传感器。节点不限制传感器的数量。例如,如果您的机器人具有多个IMU或里程计信息,则robot_localization中的状态估计节点可以支持所有传感器。
  • 支持多种ROS消息类型。robot_localization中的所有状态估计节点都可以接收nav_msgs/Odometrysensor_msgs/Imugeometry_msgs/PoseWithCovarianceStamped,或geometry_msgs/TwistWithCovarianceStamped消息。
  • 自定义每个传感器的输入。如果给定的传感器消息包含您不希望包含在状态估计中的数据,则robot_localization中的状态估计节点允许您排除该数据。
  • 连续估计。robot_localization中的每个状态估计节点在收到一次测量结果后便开始估算车辆的状态。如果传感器数据中有间歇(即很长一段时间,没有收到任何数据),则滤波器将继续通过内部运动模型来估算机器人的状态。

所有状态估计节点都跟踪车辆的15维状态:
在这里插入图片描述

安装

安装环境:ubuntu 20.04
ros 版本:noetic

使用ubuntu软件源安装

sudo apt-get install ros-noetic-robot-localization

使用源码安装

github网址:https://github.com/cra-ros-pkg/robot_localization
注意现在默认是ros2
要选择分支 noetic-devel
在这里插入图片描述

git clone https://github.com/cra-ros-pkg/robot_localization --branch noetic-devel

成功后显示:
在这里插入图片描述

正克隆到 ‘robot_localization’… remote: Enumerating objects: 7078, done.
remote: Counting objects: 100% (72/72), done. remote: Compressing
objects: 100% (46/46), done. remote: Total 7078 (delta 33), reused 47
(delta 24), pack-reused 7006 接收对象中: 100% (7078/7078), 15.87 MiB |
370.00 KiB/s, 完成. 处理 delta 中: 100% (4739/4739), 完成.

将功能包移动到ros工作空间下面
进行编译

catkin_make

编译成功后提示:

在这里插入图片描述

[ 98%] Linking CXX executable /home/jk-jone/jone_ws/devel/lib/robot_localization/ukf_localization_node
[100%] Linking CXX executable /home/jk-jone/jone_ws/devel/lib/robot_localization/ekf_localization_node
[100%] Built target ukf_localization_node
[100%] Built target ekf_localization_node
[100%] Linking CXX shared library /home/jk-jone/jone_ws/devel/lib/libekf_localization_nodelet.so
[100%] Linking CXX shared library /home/jk-jone/jone_ws/devel/lib/libukf_localization_nodelet.so
[100%] Built target ekf_localization_nodelet
[100%] Built target ukf_localization_nodelet

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月照银海似蛟龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值