记录:robot_localization传感器数据融合学习

一、参考资料

  1. 官方:
  • http://wiki.ros.org/robot_localization
  • http://docs.ros.org/en/noetic/api/robot_localization/html/index.html
  • 2015 ROSCon 演讲官方网址(youyube上也有这个视频)
  1. 实践教程
  • https://kapernikov.com/the-ros-robot_localization-package/
  • https://github.com/methylDragon/ros-sensor-fusion-tutorial?tab=readme-ov-file

二、安装

mkdir -p catkin_ws/src
cd catkin_ws/src
git clone https://github.com/cra-ros-pkg/robot_localization --branch kinetic-devel
cd ..
catkin_make -DCMAKE_BUILD_TYPE=Release
source ./devel/setup.bash

出现CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake报错,执行sudo apt-get install ros-kinetic-geographic-msgs

三、实践

代码:https://github.com/Kapernikov/ros_robot_localization_tutorial

source /opt/ros/kinetic/setup.bash
cd /ros_robot_localization_tutorial/ros-ws
catkin_make
source ./devel/setup.bash

根据第一个教程,运行即可。如果报c++11的错误,CMakeLists中添加SET(CMAKE_CXX_FLAGS "-std=c++0x")
在这里插入图片描述
编译通过以后,启动节点,出现TurtleSim界面,可通过键盘操作,结果已经可视化出来了。

roslaunch robot_localization_demo robot_localization_demo.launch

在这里插入图片描述
灰色粗线是TurtleSim节点画的轨迹。蓝色细线是虚拟位置传感器,测量乌龟的绝对位置和方向。红色细线是虚拟速度传感器,测量乌龟的线速度和角速度。绿色粗线是robot_location融合的位姿估计结果。

四、理解

robots_localization 包是用于在 3D(或 2D)空间中移动的机器人的非线性状态估计器的集合。每个状态估计器都可以融合任意数量的传感器(IMU、里程计、GPS ……)来跟踪 15 维( x x x y y y z z z r o l l roll roll p i t c h pitch pitch y a w yaw yaw x ˙ \dot{x} x˙ y ˙ \dot{y} y˙ z ˙ \dot{z} z˙ r o l l ˙ \dot{roll} roll˙ p i t c h ˙ \dot{pitch} pitch˙ y a w ˙ \dot{yaw} yaw˙ x ¨ \ddot{x} x¨ y ¨ \ddot{y} y¨ z ¨ \ddot{z} z¨) 机器人的状态。

。。。待写

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/11815.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

纯福利|手把手教你如何白嫖免费的GPU资源(二)

大家好,我是无界生长。 前段时间写过一篇文章《纯福利|手把手教你如何白嫖免费的GPU资源(一)》,使用Google Colab提供的免费的GPU资源,今天接着写白嫖GPU资源攻略,可获得“长期免费的CPU实例资源…

【opencv】信用卡号识别实验

实验环境:anaconda、jupyter notebook(其它的ide也行) 实验用的包:numpy、matplotlib、opencv 实验目标: 识别信用卡的卡号 信用卡图片: 数字模板图片: 一、包引入 import cv2 import matplo…

kubernetes集群svc的代理模式-iptables修改为ipvs

一、概述\ 我们都知道,k8s集群的外部网络分发,借助kube-proxy组件来完成; 问题:我们为什么要将代理模式修改为ipvs而不继续使用iptables呐? 1,iptables底层使用四表五链完成网络代理,效率比较低…

RiProV2主题美化【支付页弹窗增加价格提示语】Ritheme主题美化RiProV2-网站WordPress美化二开

背景: 楼主的网站是用WordPress搭建的,并使用了正版主题RiProV2,但RiProV2在支付弹窗页没有价格,只在文章详情页会展示价格。本文就是美化这个支付弹窗,在支付弹窗页把价格字段加上,如下图所示: 美化前: 美化后 美化步骤: (1)定位到文件:/www/wwwroot/www.uu2i…

基于SpringBoot设计模式之创建型设计模式·抽象工厂模式

文章目录 介绍开始架构图(以穿搭举例)样例一(html关于列表和表格的应用)定义抽象工厂(html)定义抽象工厂需要制作抽象产物(托盘)定义具体工厂(列表、表格)定义…

海洋环境保护论文阅读记录

海洋环境保护 论文1:Critical role of wave–seabed interactions in the extensive erosion of Yellow River estuarine sediments 波浪-海床相互作用在黄河河口广泛侵中的关键作用 estuatine 河口的,港湾的 erodibility侵蚀度 sediment erodibility …

[PythonWeb:Django框架]:前后端请求调用;

文章目录 接着上篇项目app包下面创建static包,引入jquery,bootstrap 相关js文件views.py编写apicompute文件夹下面的urls.py路由模块引入views.py刚刚定义的函数html发送ajax请求 接着上篇 https://blog.csdn.net/Abraxs/article/details/138739727?sp…

24年湖南三支一扶报名详细流程(电脑报名)

24年湖南三支一扶报名详细流程(电脑报名) #湖南三支一扶 #湖南三支一扶考试 #三支一扶报名照片 #三支一扶考试 #三支一扶 #湖南省三支一扶

深度剖析深度神经网络(DNN):原理、实现与应用

目录 引言 一、DNN基本原理 二、DNN核心算法原理 三、DNN具体操作步骤 四、代码演示 引言 在人工智能和机器学习的浪潮中,深度神经网络(Deep Neural Network,简称DNN)已经成为了一种非常重要的工具。DNN模仿人脑神经网络的结…

paddle ocr v4 2.6.1实战笔记

目录 效果图: 安装 模型权重是自动下载,如果提前下载会报错。 识别orc,并opencv可视化结果,支持中文可视化 官方原版预测可视化: 效果图: 安装 安装2.5.2识别结果为空 pip install paddlepaddle-gpu…

【Python探索之旅】选择结构(条件语句)

文章目录 条件结构: 1.1 if单分支结构 1.2 if-else 多分支结构 1.3 if-elif 多重结构: 完结撒花​ 前言 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 Python提供了顺序、选择、循环三…

Git详解之六:Git工具

现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程。你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力。 接下来你将领略到一些 Git 可以实现的非常强大的功能&…

重学java 37.多线程基本了解

尽管走自己的路,别被那些三言两语击倒 —— 24.5.13 一、多线程_线程和进程 进程:在内存中执行的应用程序 线程:是进程中最小的执行单元线程作用:负责当前进程中程序的运行,一个进程中至少有一个线程,一个进程还可以有多个线程,这…

永嘉原厂8×16点阵数码管驱动抗干扰数码管驱动IC防干扰数显芯片VK1640 SOP28

产品型号:VK1640 产品品牌:永嘉微电/VINKA 封装形式:SOP28 原厂,工程服务,技术支持! 概述 VK1640是一种数码管或点阵LED驱动控制专用芯片,内部集成有数据锁存器、LED 驱动等电路。SEG脚接LE…

网络安全快速入门(十二) linux的目录结构

我们前面已经了解了基础命令,今天我们来讲讲linux中的目录结构,我们在了解linux的目录结构之前,我们先与Windows做一个对比 12.1linux和windows的目录结构对比 在之前认识liunx的章节中,我们已经简单说明了linux和window的目录结构…

Java面试八股之String类的常用方法有哪些

Java中String类的常用方法有哪些 获取字符串信息: length():返回字符串的字符数。 isEmpty():判断字符串是否为空(即长度为0)。 访问单个字符: charAt(int index):返回指定索引处的字符。 …

Mamba:6 线性RNN

若在阅读过程中有些知识点存在盲区,可以回到如何优雅的谈论大模型重新阅读。另外斯坦福2024人工智能报告解读为通识性读物。若对于如果构建生成级别的AI架构则可以关注AI架构设计。技术宅麻烦死磕LLM背后的基础模型。当然最重要的是订阅跟随“鲁班模锤”。 Mamba自从…

简单实现---基于STL的演讲比赛流程管理系统(C++实现)

前言 事先声明:本文章中编写的代码仅用于学习算法思想和编写基础形式使用,并未进行太多的代码优化,因此,若需要对代码进行优化以及异常处理的小伙伴们,可自行添加相关操作,谢谢! 一、题…

​​​【收录 Hello 算法】第 6 章 哈希表

目录 第 6 章 哈希表 本章内容 第 6 章 哈希表 Abstract 在计算机世界中,哈希表如同一位聪慧的图书管理员。 他知道如何计算索书号,从而可以快速找到目标图书。 本章内容 6.1 哈希表6.2 哈希冲突6.3 哈希算法6.4 小结