传感器数据处理Ⅰ------常用里程计模型

里程计运动模型及标定

1、常用里程计模型

1、两轮差分底盘的运动学模型
  1. 优点
    • 结构简单 (越障好)
    • 便宜(2个电机)
    • 模型简单
    2、差分模型

    都是依据圆弧运动;

    在这里插入图片描述

  • 𝑣, 𝜔为底盘中心线速度和角速度
  • 𝑣𝐿, 𝑣𝑅为左右两轮的速度
  • d为轮子离底盘中心的距离
    在这里插入图片描述V公式 疑问1 直线运动成立, 圆弧运动时为什么也成立。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据之舞:大数据与数据挖掘 作者:David J. TenenBaum 来源:《求知导刊》2013年第09期 泄密者爱德华·斯诺登(Edward Snowden)还在寻求容身之所的时候,美国国家安全局(NSA)全方位收集电话和电子邮 件记录之事经过他的披露,已经引发了不安和愤怒。 奥巴马当局声称,监听数据带来了安全,然而左翼和右翼都在谴责这种窥探行 为是对隐私的侵犯。 数据不是信息,而是有待理解的原材料。但有一件事是确定无疑的:当NSA为了 从其海量数据中"挖掘"出信息,耗资数十亿改善新手段时,它正受益于陡然降落的计算 机存储和处理价格。 数据挖掘这一术语含义广泛,指代一些通常由软件实现的机制,目的是从巨量 数据中提取出信息。数据挖掘往往又被称作算法。 威斯康星探索学院主任大卫·克拉考尔(David Krakauer)说,数据量的增长——以及提取信息的能力的提高——也在影响着科学。"计算机 的处理能力和存储空间在呈指数增长,成本却在指数级下降。从这个意义上来讲,很多 科学研究如今也遵循摩尔定律。" 在2005年,一块1TB的硬盘价格大约为1,000美元,"但是现在一枚不到100美元 的U盘就有那么大的容量。"研究智能演化的克拉考尔说。现下关于大数据和数据挖掘的 讨论"之所以发生是因为我们正处于惊天动地的变革当中,而且我们正以前所未有的方式 感知它。"克拉劳尔说。 随着我们通过电话、信用卡、电子商务、互联网和电子邮件留下更多的生活痕 迹,大数据不断增长的商业影响也在如下时刻表现出来: ·你搜索一条飞往塔斯卡鲁萨的航班,然后便看到网站上出现了塔斯卡鲁萨的宾 馆打折信息 ·你观赏的电影采用了以几十万G数据为基础的计算机图形图像技术 ·你光顾的商店在对顾客行为进行数据挖掘的基础上获取最大化的利润 ·用算法预测人们购票需求,航空公司以不可预知的方式调整价格 ·智能手机的应用识别到你的位置,因此你收到附近餐厅的服务信息 大数据在看着你吗? 除了安全和商业,大数据和数据挖掘在科研领域也正在风起云涌。越来越多的 设备带着更加精密的传感器,传回愈发难以驾驭的数据流,于是人们需要日益强大的分 析能力。在气象学、石油勘探和天文学等领域,数据量的井喷式增长对更高层次的分析 和洞察提供了支持,甚至提出了要求。 这幅2005年6月至2007年12月海洋表面洋流的示意图集成了带有数值模型的卫星 数据。漩涡和窄洋流在海洋中传送热量和碳。海洋环流和气候评估项目提供了所有深度 的洋流,但这里仅仅使用了表层洋流。这些示意图用来测量海洋在全球碳循环中的作用 ,并监测地球系统的不同部分内部及之间的热量、水和化学交换。 在医学领域,2003年算是大数据涌现过程中的一个里程碑。那一年第一例人类 基因组完成了测序。那次突破性的进展之后,数以千计人类、灵长类、老鼠和细菌的基 因组扩充着人们所掌握的数据。每个基因组上有几十亿个"字母",计算时出现纰漏的危 险,催生了生物信息学。这一学科借助软件、硬件以及复杂算法之力,支撑着新的科学 类型。 另一例生物信息学的应用来自美国国家癌症研究所。该所的苏珊·霍尔贝克(S usan Holbeck)在60种细胞系上测试了5000对美国食品和药品管理局批准的抗癌药品。经过3 0万次试验之后,霍尔贝克说:"我们知道每种细胞系里面每一条基因的RNA表达水平。我 们掌握了序列数据、蛋白质数据,以及微观RNA表达的数据。我们可以取用所有这些数据 进行数据挖掘,看一看为什么一种细胞系对混合药剂有良好的反应,而另一种没有。我 们可以抽取一对观察结果,开发出合适的靶向药品,并在临床测试。" 互联网上的火眼金睛 当医学家忙于应对癌症、细菌和病毒之时,互联网上的政治言论已呈燎原之势 。整个推特圈上每天要出现超过5亿条推文,其政治影响力与日俱增,使廉洁政府团体面 临着数据挖掘技术带来的巨大挑战。 印第安纳大学Truthy(意:可信)项目的目标是从这种每日的信息泛滥中发掘 出深层意义,博士后研究员埃米利奥·费拉拉(Emilio Ferrara)说。"Truthy是一种能让研究者研究推特上信息扩散的工具。通过识别关键词 以及追踪在线用户的活动,我们研究正在进行的讨论。" Truthy是由印第安纳研究者菲尔·孟泽(Fil Menczer)和亚力桑德罗·弗拉米尼(Ale- ssandro Flammini)开发的。每一天,该项目的计算机过滤多达5千万条推文,试图找出其中蕴含 的模式。 一个主要的兴趣点是"水军",费拉拉说:协调一致的造势运动本应来自草根阶 层,但实际上是由"热衷传播虚假信息的个人和组织"发起的。 2012年美国大选期间,一系列推文声称共和党总统候选人米特·罗姆尼(Mitt Romney)在脸谱网上获得了可疑的大批粉丝。"调查者发现共和党人和民主党人皆与此
Exbot易科机器人实验维护书籍,提供学习镜像包括indigo和kinetic等,努力为ROS爱好者和开发人员提供力所能及的服务。, 本书第2版概括性地介绍了ROS系统的各种工具。ROS是一个先进的机器人操作系统框架,现今已有数百个研究团体和公司将其应用在机器人行业中。对于机器人技术的非专业人士来说,它也相对容易上手。在本书中,你将了解如何安装ROS,如何开始使用ROS的基本工具,以及最终如何应用先进的计算机视觉和导航工具。, 在阅读本书的过程中无需使用任何特殊的设备。书中每一章都附带了一系列的源代码示例和教程,你可以在自己的计算机上运行。这是你唯一需要做的事情。, 当然,我们还会告诉你如何使用硬件,这样你可以将你的算法应用到现实环境中。我们在选择设备时特意选择一些业余用户负担得起的设备,同时涵盖了在机器人研究中最典型的传感器或执行器。, 最后,由于ROS系统的存在使得整个机器人具备在虚拟环境中工作的能力。你将学习如何创建自己的机器人并结合功能强大的导航功能包集。此外如果使用Gazebo仿真环境,你将能够在虚拟环境中运行一切。第2版在最后增加了一章,讲如何使用“Move it!”包控制机械臂执行抓取任务。读完本书后,你会发现已经可以使用ROS机器人进行工作了,并理解其背后的原理。, 主要内容, 第1章介绍安装ROS系统最简单的方法,以及如何在不同平台上安装ROS,本书使用的版本是ROS Hydro。这一章还会说明如何从Debian软件包安装或从源代码进行编译安装,以及在虚拟机和ARM CPU中安装。, 第2章涉及ROS框架及相关的概念和工具。该章介绍节点、主题和服务,以及如何使用它们,还将通过一系列示例说明如何调试一个节点或利用可视化方法直观地查看通过主题发布的消息。, 第3章进一步展示ROS强大的调试工具,以及通过对节点主题的图形化将节点间的通信数据可视化。ROS提供了一个日志记录API来轻松地诊断节点的问题。事实上,在使用过程中,我们会看到一些功能强大的图形化工具(如rqt_console和rqt_graph),以及可视化接口(如rqt_plot和rviz)。最后介绍如何使用rosbag和rqt_bag记录并回放消息。, 第4章介绍ROS系统与真实世界如何连接。这一章介绍在ROS下使用的一些常见传感器和执行器,如激光雷达、伺服电动机、摄像头、RGB-D传感器、GPS等。此外,还会解释如何使用嵌入式系统与微控制器(例如非常流行的Arduino开发板)。, 第5章介绍ROS对摄像头和计算机视觉任务的支持。首先使用FireWire和USB摄像头驱动程序将摄像头连接到计算机并采集图像。然后,你就可以使用ROS的标定工具标定你的摄像头。我们会详细介绍和说明什么是图像管道,学习如何使用集成了OpenCV的多个机器视觉API。最后,安装并使用一个视觉里程计软件。, 第6章将展示如何在ROS节点中使用点云库。该章从基本功能入手,如读或写PCL数据片段以及发布或订阅这些消息所必需的转换。然后,将在不同节点间创建一个管道来处理3D数据,以及使用PCL进行缩减采样、过滤和搜索特征点。, 第7章介绍在ROS系统中实现机器人的第一步是创建一个机器人模型,包括在Gazebo仿真环境中如何从头开始对一个机器人进行建模和仿真,并使其在仿真环境中运行。你也可以仿真摄像头和激光测距传感器,为后续学习如何使用ROS的导航功能包集和其他工具奠定基础。, 第8章是两章关于ROS导航功能包集中的第1章。该章介绍如何对你的机器人进行使用导航功能包集所需的初始化配置。然后用几个例子对导航功能包集进行说明。, 第9章延续第8章的内容,介绍如何使用导航功能包集使机器人有效地自主导航。该章介绍使用ROS的Gazebo仿真环境和rviz创建一个虚拟环境,在其中构建地图、定位机器人并用障碍回避做路径规划。, 第10章讨论ROS中移动机器人机械臂的一个工具包。该章包含安装这个包所需要的文档,以及使用MoveIt!操作机械臂进行抓取、放置,简单的运动规划等任务的演示示例。, 预备知识, 我们写作本书的目的是让每位读者都可以完成本书的学习并运行示例代码。基本上,你只需要在计算机上安装一个Linux发行版。虽然每个Linux发行版应该都能使用,但还是建议你使用Ubuntu 12.04 LTS。这样你可以根据第1章的内容安装ROS Hydro。, 对于ROS的这一版本,你将需要Ubuntu 14.04之前的版本,因为之后的版本已经不再支持Hydro了。, 对于硬件要求,一般来说,任何台式计算机或笔记本电脑都满足。但是,最好使用独立显卡来运行Gazebo仿真环境。此外,如果有足够的外围接口将会更好,因为这样你可以连接几个传感器和执行器,包括摄像头和Arduino开发板。, 你还需要Git(g
1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用! 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时私信沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 EKF扩展的卡尔曼滤波器源码(C++和python两个版本)+项目说明.zip 软件架构 项目分两个目录C++和python,分别对应于两个开发语言版本; **一. python目录:** 1.tinyekf 是一个简单的ekf算法基类,其源码来自于上面参考文献4. 本人对其代码做了必要的中文注释和简单的结构调整; 其测试程序为: kalman_mousetracker.py 2.RobotEKF 这是一个从tinyekf继承来的子类.模拟一个小车,小车运动的加速度和方向由鼠标提供, 根据小车的运动学方程分析,对应于卡尔曼滤波方程扩展了F_k,增加了B_k(控制矩阵)和u_k(控制向量). 运行效果和tinyekf差不多,但鼠标移动过快时,加速度a过大,模拟小车就会飞出屏幕外. 总的来说模拟的效果并不好.但主要目的是扩展tinyekf,学习引入运动学方程; 其测试程序为: ekf_mouseRobot.py 3.AltitudeDataFusion 这是一个模拟飞机飞行时,基于气压计,陀螺仪(或IMU),GPS确定飞机海拔高度的例子; 也就是卡尔曼滤波器对三个传感器的数据融合; 主要目的有两个: 1>.学习多传感器数据融合; 2>.学习传感器非线性数据线性化处理了过程,即构建雅各比矩阵过程; 其测试程序为: ekf_AltitudeDataFusion.py 其测试数据效果图为: ekf_AltitudeDataFusion.xlsx **二. C++目录:** 此目录是一个ROS功能包:xtark_study(此包名无意义,自己学习用的). 背景介绍: 先介绍ROS系统下的robot_pose_ekf 扩展卡尔曼滤波算法包这个包用于评估机器人的 3D 位姿,使用了来自不同源的位姿测量信息,它使用带有 6D(3D position and 3D orientation)模型信息的扩展卡尔曼滤波器来整合来自轮子里程计, IMU 传感器和视觉里程计的数据信息。 基本思路就是用松耦合方式融合不同传感器信息实现位姿估计。 该功能包依赖于一个BFL(贝叶斯老滤波库),robot_pose_ekf的主要滤波算法也是由BFL完成. 出于学习的目的,自己想写一个自己的滤波器,用于完成BFL一样的滤波功能; 于是工作开始了: 第一步: ekf/TinyEKF.cpp 把上面python版本tinyekf用C++语言重新以便,作为EKF核心基类; 第二步: 为了先测试,编译了一个和上面python版本类似的多传感器数据融合计算海拔高度的例子: AltitudeDataFusion4Test. GPS海拔高度,大气压值,IMU惯性传感器海拔高度,三者数据融合,得到最优海拔高度 扩展子类: test/AltitudeDataFusion4Test.cpp 可执行main测试: test/test_AltitudeDataFusion.cpp 融合数据图形化效果: test/ekf_AltitudeDataFusion.xlsx 注: 如不在ros环境, 可以运行此测试样例. 但要注意对orocos-bfl库的依赖,因为用到了其中的SymmetricMatrix, Matrix, ColumnVector等 第三步: 也是重点 1. 开发针对位姿估计的ekf子类: OdomEstimationEKF.cpp 我的滤波器的主要代码这在此类及其基类中. 设计思路上和robot_pose_ekf中的BLF有所不同: * BLF采用松耦合的方式为每种传感器(odom和imu)设计了独立的PDF(概率密度函数),并独立 设计了sysModel,及各传感器的测量模型mesurementModel. 获取到传感器数据后,也是各部分独立计算后,汇总到总的estimate状态中; * 我的EKF思路则相对简单,设计了一个整体的状态方程模型和测量值模型. 2. 开发ROS系统节点(node)入口程序(main),包括ros初始化,odom,imu等消息的订阅,tf发布等. 需要说明的事,此入口程序,直接复制了ROS系统自带的
当然,我可以为您提供有关msckf-vio代码的分析。MSCKF-VIO是一种基于滑动窗口的多传感器融合视觉惯性里程计(Visual-Inertial Odometry)算法。它结合了相机和惯性测量单元(IMU)的数据,以实现高精度的相机位姿估计和三维结构重建。 MSCKF-VIO的代码一般包括以下几个主要部分: 1. 特征提取和跟踪:通过图像处理技术,提取图像中的特征点,并进行跟踪。这些特征点通常是具有良好纹理和独特性质的点,例如角点或边缘。 2. 视觉前端:视觉前端负责处理相机的图像数据,并提取特征点的深度信息。它使用视觉里程计(Visual Odometry)算法来估计相机的运动,并创建一个稀疏地图。 3. 惯性测量单元(IMU)预积分:IMU预积分模块将IMU的测量数据与相机的视觉估计结果进行融合。通过对IMU数据进行积分,得到相机的运动模型。这个模型用于优化相机位姿的估计。 4. 后端优化:后端优化模块使用滑动窗口优化(Smoothing and Mapping for Consistent Estimation,简称SAMC)算法,对相机和IMU的位姿进行优化。它通过最小化误差函数来提高位姿估计的精度,并维护一个一致的稀疏地图。 这只是对MSCKF-VIO代码的一个简要概述。实际上,代码可能还包括数据预处理、误差传播和滤波等其他模块。如果您需要更具体的代码分析,请提供相关的代码或问题,我会尽力为您解答。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值