ROS:DWA算法解析、move_base导航包DWA源码解析

news2024/11/25 18:54:35

一.整体思路

1.基于速度控制运动模型

假设没有噪声,控制时间间隔为\Delta t内机器人速度v和角速度w保持不变,则机器人围绕半径为r的圆周运动。

 其中,v=\sqrt{v_{x}^{2}+v_{y}^{2}}

根据v 和w即可预测出下一次机器人位姿(x、y、\theta),根据此也可以判断机器人是否撞到障碍物。

2.构建可行的速度空间

 其中,坐标系x轴为角速度w,y轴为线速度v。假如给定机器人v和w,那么机器人在运动过程中就有可能碰到障碍物,也就是图中wall。

 不同的速度指令(v,w)会得到不同的运动半径,同样的时间间隔到达不同的终止位置。有些位置是安全的,有些会与障碍物发生碰撞。

其中方块1即可推倒方块2 。

3.速度窗口空间

考虑到机器人在运动过程中最大加速度的约束,在当前速度配置处以固定的小时间间隔开一个速度窗口空间。也就是如下红色方块

 我们即可得到新的机器人速度约束,如下:

 4.可行速度空间

在根据整个速度(v,w)上下限(如下红色方块), 可以获得新的机器人速度约束:

速度约束:

 结合上述三种速度约束(\upsilon _{a},\upsilon _{d},\upsilon _{f}),我们即可获得可行速度空间,如下:\upsilon _{r}=\upsilon _{a}\cap \upsilon _{d}\cap \upsilon _{f}

 5.在可行速度空间中选择最优的速度控制指令

根据如下评价函数,选择最优的速度(v,w):

 6.参考

自主移动机器人_浙江大学_中国大学MOOC(慕课)

二.move_base导航框架中DWA算法解析

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

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

相关文章

毕业4年,克服三次瓶颈,最终成功从字节跳动成功跳到阿里!经验分享

介绍下自己的测试历程吧,普通本科,毕业4年, 去年成功转型测试开发,总结一下测试心得。 平凡的大学生活 我大学期间属于并没有什么出众的,按部就班,老实办事的那种学生,我导师对我们那届的学生…

iOS 17(SwiftUI 5.0)带来的图表(Charts)新类型:“大饼”与“甜甜圈”

概览 WWDC 2023 为我们带来了 iOS 17,也为我们带来了 SwiftUI 5.0。 在 SwiftUI 新版中,Apple 增加了很多重磅功能,也对原有功能做了大幅度升级。 对于 Charts 框架, 新增了饼图(Pie)类型并且加入了图…

容器镜像差异分析工具 container-diff

概述 container-diff 是google出的一个容器差异比较工具,通过这个工具可以比较两个镜像之间存在的文件差异、RPM包差异、apt包差异、pip包差异和node包差异。 container-diff 也包括了对单个镜像分析能力,像文件分析啊、apt包、rpm包分析等功能。 在日常…

Python爬虫——怎么搭建和维护一个本地IP池

目录 背景 一、什么是本地代理IP池 二、代理IP池功能架构图 三、各个组件功能说明及示例代码 1. IP池管理器 2. 代理IP获取器 3. IP质量检测器 4、数据存储器 5、API接口层 6、应用程序 总结 背景 在我们进行爬虫工作时,经常需要使用代理IP。大多数代理…

unity2d粒子特效

文章目录 前言先看效果一、2d平台雨1. 配置2. 图片素材3. 最终效果 二、脚步灰尘效果1. 配置2. 代码调用3. 效果 三、受伤血液四溅效果1. 配置2. 效果 待续四、工程源码五、参考六、完毕 前言 我只是我抽空写了一些简单的2d粒子特效,后面如果接触新的不错的2d特效&a…

Maven 安装

一. 下载 apache官网下载 Maven:Maven – Download Apache Maven ,根据需要下载不同压缩包。 将压缩包进行解压,最好放在无中文目录下解压。 二. 安装 三. 配置 1. 配置maven本地仓库 打开解压后的文件夹,找到conf文件夹&#…

银行vr元宇宙全景虚拟展馆提供更加真实、立体、高效的数字资产交易场景

为了贯彻国家普惠金融政策,使金融如无惠及广大群体,宇宙技术在金融行业中的应用将进一步提升金融消费体验感觉和金融管理水平。打造元宇宙金融服务平台,构建虚实结构的金融服务世界,培育和管理好数字机器人员工队伍,提升金融业务各…

postman登录鉴权之接口测试

一.背景 在做接口测试的时候,有些接口向后台请求数据的时候,是需要用户在登录情况下才有数据返回。 以电商平台为例,用户的个人中心,用户的订单列表,用户的支付信息等等,所有用户维度的数据都是需要登录态…

Django - 页面静态化和crontab定时任务(二)

一. 前言 一个网页会有很多数据是不需要经常变动的,比如说首页,变动频率低而访问量大,我们可以把它静态化,这样就不需要每次有请求都要查询数据库再返回,可以减少服务器压力 我们可以使用Django的模板渲染功能完成页面…

app反编译查看是否被混淆或者混淆是否成功

同时打 debug包和release包,生成的目录在build->output文件夹下面 一般直接运行的apk 包是在build/intermediates/apk/debug 目录下 方法1:Android studio 安装插件jadx build成apk 后 直接选中 右键 在Jadx GUI中反编译 就可以查看代码 方法2&…

距离保护的影响因素

1、汲出电流和助增电流的影响 当保护安装处与故障点之间有分支电源时,如图所示,分支电源将向故障点K送短路电流ICB,使流过故障线路的电流IBKIAB ICB,大于实际流过保护1的电流IAB,所以ICB称作助增电流。 由于助增电流的…

第一章操作系统引论

目录 一、熟悉的操作系统 二、计算机系统的层次结构 三、操作系统的概念 四、操作系统的功能 4.1 系统资源的管理者 4.2 向上层提供方便易用的服务 4.2.1 GUI:图形化用户接口(Graphical UserInterface) 4.2.2 命令接口 4.2.3 程序接…

当杠精型AI丈夫遇上阴阳怪气AI老婆,你的代码玩得转吗?

玩趣味活动 赢千元奖金 DataFountain社区首个趣味活动来啦!!! 活动已发车,来不及解释了,先上车:https://www.datafountain.cn/information/activity/3 人工智能问答爆火,你的算法技能储备跟上…

达梦数据库ODBC配置及达梦与mysql创建DBLINK测试

目录 官网ODBC配置... 3 1、ODBC下载官网... 3 2、上传安装包并解压... 3 3、安装odbc. 3 4、安装依赖... 4 5、再次执行安装即可... 4 6、查看版本及配置文件... 4 Mysql-ODBC配置... 5 一、达梦服务器... 5 1、下载odbc包... 5 2、安装... 6 3、报错... 6 4、先…

STM32——01-开发软件Keil5及STM32CubeMX的安装

1.1开发环境的安装 编程语言:C语言 需要安装的软件有两个:Keil5和STM32CubeMX 安装 安装包(不需要太新,以 MDK324 为例,最新的 MDK327 有问题) 安装过程一路下一步即可(建议不要安装在 C …

Gitlab集成jira

实现功能 gitlab提交和合并分支,会自动将comment信息提交到JIRA上的相关问题的页面gitlab可以修改jira上问题的状态 集成说明 gitlab集成Jira 按项目集成,因此gitlab上的每个项目对应jira上的对应项目由项目管理员(一般为接口人&#xff…

如何用Python开发QQ机器人

前言 虽然该文最终是达到以python开发mirai机器人的目的,但起步教程,尤其是环境配置上仍然有大量的相同操作,对其他编程语言仍有借鉴之处 假设你已经安装好了 Java、Python等运行必须的环境 mirai生态 mirai官方生态文档 要使用mirai开发…

【tableau】基础图形绘制

4.5 文字云 第一步: 想要突出显示的字段拖入 “标签”,如 客户名称 第二步: 展示大小的字段拖入“大小”,默认黑色 第三步:展示大小的字段拖入“颜色”,颜色不是喜欢的,可以右侧编辑颜色 4.6…

Vue中如何进行地图展示与交互(如百度地图、高德地图)?

Vue中如何进行地图展示与交互 随着移动互联网的普及,地图应用已经成为人们生活中不可或缺的一部分。在Vue.js中,我们可以使用第三方地图库(如百度地图、高德地图)来实现地图的展示和交互。本文将介绍如何在Vue.js中使用百度地图和…

IDEA整合GO并传module工程

IDEA整合Go 安装包环境配置idea配置并创建test mode 安装包 1.去官网下载对应还的安装包 官网下载地址 我选择下载的window 版本: 直接按照对应的目录,然后点击下一步 环境配置 1.配置go环境变量 在高级环境变量PAHT中添加安装包的**/bin 目录&…