ROS的Navigation导航系统move_base

Navigation系统和人在使用地图app进行导航的过程类似,接下来让我们看下面的两幅框图:

global_planner(全局规划器)从map _server地图服务器获取global_costmap(全局地图数据),然后根

据输入的导航目的地(move_base_simple/goal)生成全局导航路线(internal  nav_msgs/Path)发送给

local_planner(局部规划器),由脑子来驱动机器人的底盘通讯节点(local_planner),控制机器人

沿着全局导航路线进行移动,在这过程中需要激光雷达(也就是机器人的眼睛)结合定位器amcl节

点来实时给出机器人的自身位置(tf),同时还需要里程计(odom)来提升定位的可靠性,在移动过程

中经常会出现一些临时障碍物,所以机器人还会使用雷达、相机等传感器实时生成机器人周围的障

碍物地图,又称local_costmap(局部地图)。当遇到临时障碍物挡住导航路线时,会动用局部规划

器的避障算法绕开障碍物,若实在绕不过去会激活应急机制,机器人会采用一系列措施尝试突破这

种困境。尝试所有措施依旧无法突破,会将障碍物更新至全局地图中,请求全局规划器再规划一条

新的路线直至最终完成导航任务。

move_base:move_base的软件包包含了很多用于导航的功能,并且其中也包含了一个同名的

move_base节点,将全局规划器和局部规划器连到了一起,同时还维护着两个地图分别给两个规

划器使用,也就是上图中的大方框所示。

下图所示的四个红色方框表示给move_base节点输送数据原料的四条线路,当四个线路都正常工

作且给定导航目标点,move_base才会输出指令给底盘节点驱动机器人行驶去往目标点。

1、map_server:地图服务节点,将地图运行起来并将导航需要的地图文件加载进去,move_base

就会自动来获取地图数据。

2、sensor sources:多个叠加在一起多个传感器节点,仿真机器人加载到仿真环境之中会自动输

出这些数据到对应的话题。

3、odometry sources:仿真机器人自己提供。

4、tf:仿真机器人自带。

5、amcl:定位节点,需要自己运行,软件包和节点名均为amcl。

总结:将下列三个节点运行起来,再指定一下导航目标点就能让move_base控制机器人进行自主

导航了

                     

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

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

相关文章

np.c_ 和 np.r_ 的使用

1. np.c_ 的使用 np.c_ 是 NumPy 库中的一个函数,用于沿着第二轴(列)连接两个或多个数组。这个函数通常用于将两个数组的列合并在一起,而不会改变它们原有的行顺序。np.c_ 是一个非常有用的工具,尤其是在处理需要按列…

Draw.io for Mac/Win:免费且强大的流程图绘制工具

在数字化时代,流程图已成为表达复杂过程和逻辑关系的重要工具。Draw.io(现也称为diagrams.net),作为一款免费且功能强大的流程图绘制工具,无论是对于Mac还是Windows用户,都是不可多得的选择。 一、跨平台兼…

基于51单片机的跑马串口调试波形发生器proteus仿真

地址: https://pan.baidu.com/s/1WTjU_hRJ-fLMTT5g1q-NlA 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMicroelectro…

python中.之后的圈c、圈v分别代表什么意思?

python中.之后的圈c、圈v分别代表什么意思? Python中,.之后的圈c表示类的实例方法,而圈v表示类的成员变量。 在面向对象编程中,类是一种抽象的数据类型,实例方法是定义在类中的函数,用于操作类的实例变量…

kubeadm方式安装k8s

⼀、安装环境 1. 安装说明 本次以⼆进制⽅式安装⾼可⽤ k8s 1.28.0 版本,但在⽣产环境中,建议使⽤⼩版本⼤于 5 的 Kubernetes 版本,⽐如 1.19.5 以后。 2. 系统环境 3. ⽹络及版本环境 注:宿主机⽹段、Pod ⽹段、Service ⽹段…

Python案例 | 四阶龙格库塔法简介

1.引言 在数值分析中,龙格-库塔法(Runge-Kutta methods)是用于非线性常微分方程的解的重要的一类隐式或显式迭代法。这些技术由数学家卡尔龙格和马丁威尔海姆库塔于1900年左右发明。 龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高…

59.以太网数据回环实验(2)硬件资源梳理及系统框图

硬件资源梳理介绍: 升腾开发板使用的以太网PHY芯片型号为RTL8211F,是低功耗10-BASE/100-BASE/1000-BASE全双工以太网PHY层芯片,支持 10Mbps、100Mbps 和 1000Mbps以太网通信。I/O 引脚电压可变,符合 IEEE802.3-2005 标准&#xff…

Web3社交新经济,与 SOEX 实现无缝交易的高级安全性

出于充分的理由,安全性是交易中至关重要的考虑因素。每个人都应该确保自己的资金在交易时是安全的。由于 SOEX 充当您与交易所的最佳连接,因此必须强调的是,该系统不会引发任何安全问题。 &a…

wincc 远程和PLC通讯方案

有 5个污水厂 的数据需要集中监控到1个组态软件上,软件是WINCC。每个污水厂监控系统都是独立的,已经投入运行了, 分站也是WINCC 和西门子PLC 。采用巨控远程模块的话,有两种方式:一种是从现场的PLC取数据,一种是从分站…

@DateTimeFormat和@JsonFormat的区别和使用场景

一、区别 DateTimeFormat 用于前端给后端传参时 JsonFormat 用于后端给前端返回时 二、使用场景 2、1 JsonFormat的场景 1、**(错误写法) **如果参数是实体类,不可以使用DateTimeFormat,这种写法前端传参序列化会报错&#xf…

设计模式-结构型模式-组合模式

1.组合模式的定义 将对象组合成树形结构以表示整个部分的层次结构,组合模式可以让用户统一对待单个对象和对象的组合;其更像是一种数据结构和算法的抽象,其中数据可以表示成树这种数据结构,业务需求可以通过在树上的递归遍历算法来…

论文速读|BiGym:一款基于演示的移动双手操作机器人基准

项目地址:BiGym: A Demo-Driven Mobile Bi-Manual Manipulation Benchmark BiGym 是一个针对移动双手操作的机器人学习基准,包含 40 个在家庭环境中进行的任务,如简单的目标接近到复杂的厨房清洁。这些任务涵盖了从固定的目标接近到需要与各种…

儿童耳勺需要买吗?真实测评赞誉有加的五大品牌

作为个护师,经常会碰到有家长问我需不需要买儿童耳勺,我每次的回答都必须是要的。因为传统耳勺由于不可视的原因,家长无法看清儿童狭窄的耳道,极容易刮伤儿童耳道。但是需要买哪种儿童耳勺? 这里可以跟大家分享一款神器…

vue项目生成插件的LICENSE文件

一、安装license-webpack-plugin npm install --save-dev license-webpack-plugin 二、添加webpack配置 const {LicenseWebpackPlugin} require(license-webpack-plugin)module.exports {configureWebpack: {plugins: [new LicenseWebpackPlugin()]} }三、执行npm run buil…

sM4040B科学级显微制冷相机特性

sM4040B科学级显微制冷相机特性 sM4040B搭载了 GSENSE4040BSI 3.2 英寸图像传感器,针对传感器固有的热噪声,专门设计了高效制冷模块,使得相机传感器的工作温度比环境温度低达 35-40 度。针对制冷相机常见的低温结雾现象设计了防结雾机制&…

计算机岗位(面试)

计算机岗位(面试) 明确从事工作内容: 计算机网络、设备、器材维护与管理等工作;计算机应用、数据分析、网络维护等工作;软件开发、网络维护与管理相关专业;信息保障、信息资源维护和建设;软件工…

推荐适合中秋的SVG模版(第III期)

宝藏模版 往期推荐(点击阅读): 趣味效果|高大上|可爱风|年终总结I|年终总结II|循环特效|情人节I|情人节II|妇女节|儿童节I&#xff…

如何用 Typed.js 制作炫酷的打字效果?

前言 在前端开发的世界中,动态和交互性是用户体验的关键。 Typed.js 是一个轻量级的 JavaScript 库,它能够以编程方式模拟打字效果,为网页增添动态的文本展示。 这篇文章将带你深入了解 Typed.js 的魔力,探索它如何为前端开发带…

【Linux网络】应用层协议HTTP(1)

🎉博主首页: 有趣的中国人 🎉专栏首页: Linux网络 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好,本片文章将会讲解 应用层协议HTTP 的相关内容。 如果看到最后您觉得这篇文章写得…

Mybatis链路分析:JDK动态代理和责任链模式的应用

背景 此前写过关于代理模式的文章,参考:代理模式 动态代理功能:生成一个Proxy代理类,Proxy代理类实现了业务接口,而通过调用Proxy代理类实现的业务接口,实际上会触发代理类的invoke增强处理方法。 责任链功…