机器人状态估计:robot_localization 功能包简介与安装
机器人状态估计:robot_localization 功能包简介与参数配置
- 前言
- 功能包简介
- 安装
- 使用ubuntu软件源安装
- 使用源码安装
前言

移动机器人的状态估计需要用到很多传感器,因为对单一的传感器来讲,都存在各自的优缺点,所以需要一种多传感器融合技术,将机器人的状态估计出来。对于移动机器人来讲,自身可能携带:
- 惯导
- 轮速里程计
- 激光里程计
- 视觉里程计
- gps等
如何利用各传感器的优点,将所有数据结合起来,取长补短,就用到了本篇博客介绍的内容 robot_localization ,一个移动机器人状态估计功能包。
功能包简介
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维状态:

安装
安装环境: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

相关文章:
机器人状态估计:robot_localization 功能包简介与安装
机器人状态估计:robot_localization 功能包简介与参数配置 前言功能包简介安装使用ubuntu软件源安装使用源码安装 前言 移动机器人的状态估计需要用到很多传感器,因为对单一的传感器来讲,都存在各自的优缺点,所以需要一种多传感器…...
RNN架构解析——GRU模型
目录 GRU模型实现优点和缺点 GRU模型 实现 优点和缺点...
【LeetCode】141.环形链表
题目 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#…...
nodejs+vue+elementui汽车销售网站
前端技术:nodejsvueelementui,视图层其实质就是vue页面,通过编写vue页面从而展示在浏览器中,编写完成的vue页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。 可以设置中间件来响应 HTTP 请求。 Express …...
spring boot整合kaptcha验证码
引入依赖 <dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version> </dependency>创建验证码生成配置类 KaptchaConfig.java Configuration public class KaptchaConf…...
【Linux下6818开发板(ARM)】在液晶屏上显示RGB颜色和BMP图片
(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…...
React的hooks---useLayoutEffect
useLayoutEffect 与 useEffect 类似,与 useEffect 在浏览器 layout 和 painting 完成后异步执行 effect 不同的是,它会在浏览器布局 layout 之后,painting 之前同步执行 effect useLayoutEffect 的执行时机对比如下: import Rea…...
北京创业孵化器汇总
北京创业孵化器汇总 1 创客总部实验室技术孵化平台 人工智能 海淀区中关村大街18号B座0909室 2 中孵高科 医药健康 经济技术开发区科创十四街99号D座9层 3 九州众创孵化器 医药健康 大兴区广平大街9号6幢等2幢 4 北京大学人工智能产业化孵化平台 国家级/市级 人工智能 中关村…...
电信软件的过去、现在和未来:推动核心网发展的关键力量
目录 导语:过去:从基础功能到增强服务现在:软件定义网络和智能化运营SDNNFV 未来:5G和物联网的挑战与机遇结束语 导语: 电信软件是支撑电信核心网运营的重要组成部分,它们在过去几十年中经历了巨大的变革。…...
2023年全国程序员薪酬排行天梯榜
文章目录 ⭐️ 2023年全国程序员薪酬排行天梯榜 在过去很长的一段时间内,网上总有一个声音:“大厂裁员”、“程序员内卷严重”、“程序员人员过盛”、“35岁中年危机”、“码农吃的青春饭”、“互联网寒冬” 等等等等。 讲道理,我对这种人为的…...
设计模式-工厂模式
定义 工厂模式是用来创建对象的一种最常用的设计模式,不暴露创建对象的具体逻辑,而是将将逻辑封装在一个函数中,那么这个函数就可以被视为一个工厂 其就像工厂一样重复的产生类似的产品,工厂模式只需要我们传入正确的参数&#…...
HummerRisk V1.3.0 发布
HummerRisk V1.3.0发布: 大家好,HummerRisk 1.3.0和大家见面了,在这个版本中我们继续在多云接入管理、多云检测方式、云资源态势方面提供新的能力,并增加了新的镜像仓库支持类型,并优化了云的区域选择、优化规则组内容…...
SkyWalking链路追踪中Trace概念以及Trace与span的关系
基本概念 在SkyWalking链路追踪中,Trace(追踪)是指一个请求或者一个操作从开始到结束的完整路径。它涵盖了分布式系统中所有相关组件的调用关系和性能信息。 具体来说,Trace包含了一系列的span(跨度)&…...
美容店预约小程序制作教程详解
现在,制作一个专属于美容店的预约小程序不再需要编程经验,通过乔拓云网提供的后台管理系统,你可以轻松地完成整个制作过程。下面,我将为你详细介绍如何DIY一个美容店预约小程序。 首先,登录乔拓云网的后台管理系统&…...
什么是内存泄漏及如何防护内存泄漏
目录 前言 什么是内存泄漏示例一示例二特殊版本 总结/结尾 前言 最近阅读量很低啊( ≧Д≦) 什么是内存泄漏 内存泄漏(Memory Leak)指在程序运行过程中,分配的内存空间在不再使用后未被正确释放或回收,导致这部分内存…...
【libuv】httpserver启用ssl 及 播放的日志打印
VLC vlc 第一次 接收不安全的证书黑屏。重启服务,再次vlc这次次好像就可以了。main debug: processing request item: zhangbin.flv, node: 播放列表, skip: 0 main debug: rebuilding array of current - root 播放列表 main debug: rebuild done - 2 items, index 1 main de…...
13、ffmpeg使用nvidia显卡对OAK深度相机进行解码和编码
基本思想:简单使用nvidia的硬件解码进行oak相机的编码和解码学习 一、在本机rtx3060配置好显卡驱动和cuda之后进行下面操作50、ubuntu18.04&20.04CUDA11.1cudnn11.3TensorRT7.2/8.6Deepsteam5.1vulkan环境搭建和YOLO5部署_ubuntu18.04安装vulkan_sxj731533730的…...
自动化测试如何做?搭建接口自动化框架从0到1实战(超细)
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 传统软件测试行业…...
安装Python之后 安装库报错 There was an error checking the latest version of pip.
报错代码 & 图片如下 Looking in indexes: https://pypi.tuna.tsicmdnghua.edu.cn/simple WARNING: Retrying (Retry(total4, connectNone, readNone, redirectNone, statusNone)) after connection broken by NewConnectionError(<pip._vendor.urllib3.connection.HT…...
"科技与狠活"企业级无代码开发MES系统,一周实现数字化
随着科技的不断发展,企业级无代码开发平台成为了一种新型的解决方案,能够有效降低软件开发门槛,提升开发效率。在制造业领域,MES系统(Manufacturing Execution System)作为一种关键的生产管理工具ÿ…...
嵌入式AI开发实战:从MCU到模型部署全流程
1. 嵌入式AI开发实战:从入门到项目落地作为一名在嵌入式领域摸爬滚打多年的工程师,我深知AI技术给这个传统行业带来的变革。记得2018年第一次接触基于MCU的简单图像识别时,那种"原来嵌入式设备也能做AI"的震撼感至今难忘。如今&…...
构建企业级抓取服务:基于快马平台的openclaw生产环境部署实战
今天想和大家分享一个实战经验:如何用InsCode(快马)平台快速搭建企业级的openclaw分布式抓取服务。这个方案特别适合需要处理大规模数据采集的业务场景,比如电商价格监控、舆情分析或者竞品追踪。 分布式架构设计 生产环境最怕单点故障,所以我…...
GreenLuma 2025 Manager:Steam游戏库管理工具的一站式解决方案
GreenLuma 2025 Manager:Steam游戏库管理工具的一站式解决方案 【免费下载链接】GreenLuma-2025-Manager An app made in python to manage GreenLuma 2025 AppList 项目地址: https://gitcode.com/gh_mirrors/gr/GreenLuma-2025-Manager GreenLuma 2025 Man…...
嵌入式C++轻量级生命体基类:面向OOP的零开销实体抽象
1. 项目概述life_entity是一个面向嵌入式系统与游戏逻辑建模场景设计的轻量级 C 基类,其核心定位并非通用游戏引擎组件,而是为资源受限环境(如 Cortex-M3/M4 微控制器运行 FreeRTOS 或裸机实时调度器)中实现可继承、可多态、可生命…...
Real-ESRGAN-GUI:如何用AI双引擎将模糊图片一键变高清
Real-ESRGAN-GUI:如何用AI双引擎将模糊图片一键变高清 【免费下载链接】Real-ESRGAN-GUI Lovely Real-ESRGAN / Real-CUGAN GUI Wrapper 项目地址: https://gitcode.com/gh_mirrors/re/Real-ESRGAN-GUI 还在为模糊的老照片、低分辨率的动漫图片而烦恼吗&…...
编程小白的第一课:用快马AI零代码基础创建个人技能展示网站
作为一个刚接触编程的新手,我最近尝试用InsCode(快马)平台做了一个个人技能展示网站。整个过程比我预想的简单很多,特别适合零基础的同学上手。下面分享我的具体实现过程和心得: 项目规划与结构设计 刚开始完全不懂代码结构,但平台…...
DeepSeek风格迁移降AI怎么用?从0到1完整操作教程
第一次操作的话,照着下面的步骤来,15分钟内搞定DeepSeek风格迁移降AI、降AI、降AIGC率。 工具选嘎嘎降AI(www.aigcleaner.com),达标率99.26%,有退款保障,操作也不复杂。 准备工作 需要准备的&…...
从毕设到实战:手把手教你用PyTorch复现麦克风阵列声源定位(附完整代码与SLoClas数据集)
从零构建声源定位系统:PyTorch实战指南与SLoClas数据集深度解析 1. 声源定位技术概述与应用场景 声源定位技术在现代音频处理领域扮演着关键角色,它通过分析声音信号的空间特性来确定声源的位置信息。这项技术在智能家居、视频会议系统、安防监控、机器人…...
MATLAB xyz2stl实战:手把手教你修复GitHub热门工具包的常见报错(含stlWrite函数缺失解决方案)
MATLAB xyz2stl实战:从报错排查到完整工作流搭建 当你从GitHub下载了NWRichmond/xyz2stl工具包,满心期待地运行却看到"未定义函数或变量stlWrite"的红色报错时,这种挫败感我深有体会。作为MATLAB社区中下载量排名前10%的三维数据处…...
Z-Image-Turbo_Sugar脸部Lora部署案例:科研团队构建可复现实验人脸数据集
Z-Image-Turbo_Sugar脸部Lora部署案例:科研团队构建可复现实验人脸数据集 1. 项目背景与价值 在计算机视觉和人工智能研究领域,高质量、标准化的人脸数据集对于模型训练和算法验证至关重要。传统的人脸数据收集面临诸多挑战:数据隐私问题、…...
