前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >轮式机器人定位中ODO/NHC的两种测量模型的精度和鲁棒性研究

轮式机器人定位中ODO/NHC的两种测量模型的精度和鲁棒性研究

作者头像
一点人工一点智能
发布于 2022-12-27 02:28:18
发布于 2022-12-27 02:28:18
8981
举报

轮式机器人过减速带时,里程计(ODO)和非完整性约束(NHC)都被干扰甚至破坏,那么除了抗差这种亡羊补牢之外,ODO/NHC修正算法本身是否能够更鲁棒地应对这种情况?我们的研究表明:采用距离增量修正(包括ODO和NHC)比传统的速度修正的组合导航精度更高,稳健性也更好,尤其是对小型轮式机器人这种不精密载体[1]。

里程计(ODO)和非完整性约束(NHC)通常一起为轮式载体提供三维距离增量或速度测量信息,能够有效抑制轮式载体在GNSS失效时定位误差发散。车辆导航应用中,ODO/NHC辅助信息广泛采用了速度测量模型;距离增量测量模型也有一些前人研究,但未表现出明显优势[2]。然而,结构相对简单粗糙的轮式机器人相比于结构精密的汽车,工作时的震动和颠簸更严重,其运动学模型更容易被破坏。因此,ODO/NHC的速度修正和距离增量修正这两种测量模型在轮式机器人定位中的效果如何,有待进行针对性研究。

我们开展了在轮式机器人定位中ODO/NHC测量模型的精度和鲁棒性研究,主要开展了以下工作:

1,将NHC也扩展成为距离增量约束(在载体系横向和垂向的零距离增量约束),与里程计测量的距离增量一起为载体提供三维距离增量测量信息,并在载体坐标系下基于积分测量方法构建了ODO/NHC距离增量测量模型。

2,定量研究了轮式里程计提供的速度信息和距离增量信息的测量精度,并基于轮式机器人的运动特性定性分析了ODO/NHC的这两种测量模型的鲁棒性。

3,通过充分的实测实验来评估两种测量模型的定位精度,并设计了针对性的实验来对比分析这两种测量模型的鲁棒性。

测试机器人和测试轨迹

在六轮机器人上搭载4个组合导航模块(INS-Probe,集成了MEMS IMU ADIS16465),采集了7组测试数据进行ODO/NHC两种测量模型的精度评估。为了使两种测量模型的观测噪声达到最优值,我们使用了三组测试数据对ODO/NHC的观测噪声进行优化,采用余下四组数据的中断测试结果进行精度对比分析。下表为ODO/NHC距离增量模型定位误差相比于速度模型减小的百分比,距离增量测量模型在前向、横向和垂向定位误差相比于速度模型分别减小67%,15%和39%。

为了分析ODO/NHC两种模型的鲁棒性,我们设计了三种针对性测试,包括载体震动测试,急停测试和过减速带测试。

1,载体震动测试

我们在机器人的塔顶和安装板上分别安装了组合导航模块,其中塔顶相比于安装板震动更剧烈。GNSS中断测试结果表明,速度测量模型辅助下塔顶处IMU定位误差更大,距离增量模型辅助下塔顶和安装板IMU定位误差基本一致。即速度测量模型的辅助效果更易受载体震动影响,而距离增量测量模型几乎不受载体震动影响。

2,急停测试

我们在实验中设计了两次机器人急停情况,采用GNSS中断测试评估急停情况下两种测量模型的定位精度。测试结果表明,里程计速度测量模型定位误差在机器人急停时会突然变大,而距离增量测量模型的定位结果则几乎不受急停的影响。

3,过减速带测试

我们控制机器人通过减速带并评估过减速带时两种测量模型的鲁棒性。过减速带时,由于机器人的减震设置,车辆的运动模型被破坏,IMU和车体的安装角也发生变化。采用GNSS中断测试,并计算过减速带时两种测量模型的定位误差,结果表明距离增量测量模型定位误差明显小于速度模型,即在过减速带这种恶劣情况下表现出更强的鲁棒性。

总结:我们分析研究了轮式载体所具有的ODO/NHC运动辅助信息的两种测量模型(距离增量修正和速度修正)在轮式机器人定位中的精度和鲁棒性,在载体坐标系下构建了三维距离增量测量模型,并进行了实验验证。结果表明ODO/NHC距离增量模型在精度和鲁棒性上都有更好的表现。

参考文献:

[1]. L. Wang, X. Niu, T. Zhang, H. Tang, and Q. Chen, “Accuracy and robustness of ODO/NHC measurement models for wheeled robot positioning,”Measurement, vol. 201, p. 111720, Sep. 2022, doi: 10.1016/j.measurement.2022.111720.

[2]. W. Ouyang, Y. Wu, and H. Chen, “INS/Odometer Land Navigation by Accurate Measurement Modeling and Multiple-Model Adaptive Estimation,” IEEE Trans. Aerosp. Electron. Syst., vol. 57, no. 1, pp. 245–262, Feb. 2021, doi: 10.1109/TAES.2020.3011998.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一点人工一点智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
你好,可以分享一下源码吗?拜托啦
你好,可以分享一下源码吗?拜托啦
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Django学习_简易博客(五)
{% csrf_token %}包含了自动生成的令牌,避免跨站点请求伪造(CSRF)
zx钟
2019/07/18
4610
django2实战4.创建文章列表页和详情页url适配自定义模型管理器在view中写业务逻辑新建模板文件添加分页功能
我们已经知道如何操作文章表的数据,接下来要将这些数据用界面显示出来。这就需要用到django的view层负责处理http请求,并将数据传给template模板进行渲染
章鱼喵
2018/09/26
1.5K0
django2实战4.创建文章列表页和详情页url适配自定义模型管理器在view中写业务逻辑新建模板文件添加分页功能
Django实战-用户注册和登陆系统
每当我们开始一个新项目的时候,通常都会搭建一个全新、独立、隔离的项目环境,这样做的好处自然不必多说。有很多种建立项目虚拟环境的工具,使用比较普遍的是Python中的virtualenv。安装好virtualenv工具后,进入想要放置的项目文件夹,建立一个虚拟环境,激活环境,安装django。
菲宇
2019/07/31
7.8K0
Django实战-用户注册和登陆系统
(原创)python发送邮件
这段时间一直在学习flask框架,看到flask扩展中有一个mail插件,所以今天就给大家演示如果发邮件。 首先我注册了一个163邮箱,需要开启smtp功能,因为咱们python发送邮件经
七夜安全博客
2018/06/21
8350
Django 之Form表单的常用操作
普通Form表单的提交 <!-- name:index.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/" method="post"> <p>账号:<input type="text" name="username"><span>{{ error.username }}<
王瑞MVP
2022/12/28
1.2K0
博客文章详情页
首页展示的是所有文章的列表,当用户看到感兴趣的文章时,他点击文章的标题或者继续阅读的按钮,应该跳转到文章的详情页面来阅读文章的详细内容。现在让我们来开发博客的详情页面,有了前面的基础,开发流程都是一样的了:首先配置 URL,即把相关的 URL 和视图函数绑定在一起,然后实现视图函数,编写模板并让视图函数渲染模板。 设计文章详情页的 URL 回顾一下我们首页视图的 URL,在 blog\urls.py 文件里,我们写了: blog/urls.py from django.conf.urls import u
追梦人物
2018/04/17
1.5K0
博客文章详情页
Django Web开发基础知识
MVC - Model View Controller,模型(model)-视图(view)-控制器(controller)的缩写,是软件工程中的一种软件架构模式,Model模型中主要用于存储与数据库相关的字段或数据库通信方面的东西,Controller控制器用于存储URL的分发等,最后的View视图则是完善控制器中的路径分发,每一个路径对应一个view视图函数。
王瑞MVP
2022/12/28
2.2K0
Django Web开发基础知识
Django+xadmin打造在线教育平台(三)
代码 github下载 五、用户注册 主要实现功能 用户输入邮箱、密码和验证码,点注册按钮 如果输入的不正确,提示错误信息 如果正确,发送激活邮件,用户通过邮件激活后才能登陆 即使注册功能,没有激活的用户也不能登陆 5.1.初步视图 users/views.py class RegisterView(View): '''用户注册''' def get(self,request): return render(request,'register.html')  用户以g
zhang_derek
2018/04/11
4.3K1
Django+xadmin打造在线教育平台(三)
django 1.8 官方文档翻译: 5-1-1 使用表单
除非你计划构建的网站和应用只是发布内容而不接受访问者的输入,否则你将需要理解并使用表单。
ApacheCN_飞龙
2022/11/27
4.5K0
Django+Bootstrap+Mysql 搭建个人博客 (六)
6.1.comments插件 (1)安装 pip install django-contrib-comments (02)settings INSTALLED_APPS = [ '
zhang_derek
2018/05/30
1.9K0
django搭建BBS-表单创建&注册
django搭建BBS-表单创建&注册 0824自我总结 文件结构 app 接口 migrations __inint__.py admin.py 管理员页面注册表单用 apps.py bbsform.py form组件相关设置 models.py 模型存放 tests.py views.py 业务逻辑 avatar 图片文件存储 BBS 项目名称以及路由存放 __inint__.py settings.py urls.py wsgi.py static bootstrap-3.3.7-dist bo
小小咸鱼YwY
2019/09/11
1.7K0
带你认识 flask 邮件发送
就实际的邮件发送而言,Flask有一个名为Flask-Mail的流行插件,可以使任务变得非常简单。和往常一样,该插件是用pip安装的:
公众号---人生代码
2019/11/15
1.9K0
一个完整的Django入门指南(二)
第三部分 Introduction        In this tutorial, we are going to dive deep into two fundamental concepts: URLs and Forms. In the process, we are going to explore many other concepts like creating reusable templates and installing third-party libraries. We are a
zhang_derek
2018/04/11
3.3K0
一个完整的Django入门指南(二)
Django 开发模板与视图
Django最强大的部分之一是自动管理界面。它从模型中读取元数据,以提供一个快速的,以模型为中心的界面,受信任的用户可以在其中管理您网站上的内容。管理员的建议用法仅限于组织的内部管理工具。它并非旨在构建您的整个前端。
王瑞MVP
2022/12/28
1.8K0
Django搭建blog网站(二)
10、页面侧边栏:使用自定义模板标签 我们的博客侧边栏有四项内容:最新文章、归档、分类和标签云。这些内容相对比较固定,且在各个页面都会显示,如果像文章列表或者文章详情一样,从视图函数中获取然后传递给模板,则每个页面对应的视图函数里都要写一段获取这些内容的代码,这会导致很多重复代码。更好的解决方案是直接在模板中获取,为此,我们使用 Django 的一个新技术:自定义模板标签来完成任务。 使用模板标签的思路 我们前面已经接触过一些 Django 内置的模板标签,比如比较简单的 {% static %} 模板标签
zhang_derek
2018/04/11
4.6K0
Django搭建blog网站(二)
评论
创建评论应用 相对来说,评论其实是另外一个比较独立的功能。Django 提倡,如果功能相对比较独立的话,最好是创建一个应用,把相应的功能代码写到这个应用里。我们的第一个应用叫 blog,它里面放了展示博客文章列表和细节等相关功能的代码。而这里我们再创建一个应用,名为 comments,这里面将存放和评论功能相关的代码。首先激活虚拟环境,然后输入如下命令创建一个新的应用: python manage.py startapp comments 我们可以看到生成的 comments 应用目录结构和 blog 应用
追梦人物
2018/04/17
3.3K0
评论
【玩转腾讯云】django 开发Bug追踪平台之用户注册篇(基于腾讯云短信 & redis)
项目预览 👉 Bug追踪平台【云短信买不起了,可通过 手机号:18203503747 密码:ruochen666 登入体验】 项目gitee地址 👉 saas 本篇教程对应代码为 【注册验证码处理】提交,可通过对应分支查看 用户注册篇 首先,总体的<font color="red">思维导图</font>如下: [watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI5MzM5NDY3,siz
ruochen
2021/04/11
27.2K0
【玩转腾讯云】django 开发Bug追踪平台之用户注册篇(基于腾讯云短信 & redis)
Django+xadmin打造在线教育平台(八)
代码 github下载 十一、用户信息 11.1.个人信息展示  (1)新建‘usercenter-bae.html’当母板 {% load staticfiles %} <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"
zhang_derek
2018/04/11
2.1K0
Django+xadmin打造在线教育平台(八)
36·Python项目-博客(前后不分离)
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/11/08
8440
36·Python项目-博客(前后不分离)
ASP.NET 实现发送邮件 + 多个收件人 + 多个附件
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/42011431
DannyHoo
2018/09/13
2.1K0
ASP.NET 实现发送邮件 + 多个收件人 + 多个附件
相关推荐
Django学习_简易博客(五)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档