MOOC ROS8 Navigation Stack

路径规划,导航,机器人运动的调整等
在这里插入图片描述

Navigation Stack工作原理:

中间的部分是一个节点,move_base ,负责整体的导航规划,里面有插件不是node,只是node的一部分,灰色的是可选的,可以用给定的地图,也可以边走边建,蓝色的是必须要给出的信息,而且是要依赖自己的平台的,(传感器,里程计)

输入:
/tf 机器人关节的关系 base frame 、机器人和odom之间的关系,odom和map之间的关系。

odom 里程计的信息

还有map,可以由map service来给,也可以由slam Gmapping之类的来给

传感器的数据:激光雷达,点云…

输出就一个:cmd_vel发给机器人底盘base controller 速度 角速度等信息

Move_base

三个功能:
全局规划: rviz中输入一个点,机器人就会从当前位置到目标点执行一个可行的路线(只考虑静态的障碍物,所以需要局部的规划来进行动态的避障)
局部规划: 进行动态的避障
处理异常行为: 处理各种场景偶尔也会出现问题,复原一些异常行为

Move_base有三个接口部分,每一部分都需要制定算法或者规则,ros提供了很多插件,这三个功能都是继承于nav_core这个package
在这里插入图片描述
base local planner: base_local_planner dwa_local_planner(常用)
base global planner:
recovert behavior:

costmap

之前的map是全局的,原来的map是静态二维的一张地图
costmap主要用来导航,costmap是两张(global_costmap和local_costmap),2维的,是为全局和局部路径规划做准备的,而且具有多层的结构.
一般有三层
在这里插入图片描述

obstacle layer 可以把3d的障碍无投影到2d实现避障

inflation layer 把障碍物膨胀一圈,划定安全范围,避免机器人外壳触碰到

MapServer

MapServer提供地图, 加上定位 AMCL,配合使用
在这里插入图片描述
使用mapservice要用到2个信息
在这里插入图片描述
一个是.pgm的图片,另一个是my_map.yaml参数文件.判断障碍物,要计算occ概率.

在这里插入图片描述

AMCL

在这里插入图片描述
对比
只通过odom里程计信息计算
acml修正
在这里插入图片描述

roslaunch robot_sim_demo robot_spawn.launch
roslaunch navigation_sim_demo amcl_demo.launch
roslaunch navigation_sim_demo view_navigation.launch
rqt_graph可以看到
move_base路径规划 amcl定位 map提供地图
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值