【ROS-Navigation-costmap_2d】costmap_prohibition_layer障碍物插件

系列文章目录



前言

随着SLAM的不断发展,机器人这门行业也越来越重要,很多人都开启了学习机器人,本文就介绍了ROS机器人操作系统的SLAM导航方向的navigation导航包中的costmap_2d。

以下是添加一个自定义的障碍物插件的流程

一、costmap_2d是什么?

在这里插入图片描述

costmap_2d是navigation导航包中的一部分,在本文中,着重介绍如何在costmap_2d中添加障碍物,也叫做虚拟墙。

二、使用步骤

1.下载源代码

https://github.com/rst-tu-dortmund/costmap_prohibition_layer

2.安装插件

将代码放置到工作空间的src目录下面,使用catkin_make_isolated编译,catkin_make也可以。
编译后使用下面的命令查看是否安装成功:

rospack plugins --attrib=plugin costmap_2d

如果终端输出下面,则证明插件可使用

costmap_prohibition_layer /home/lyh/catkin_acad/src/costmap_prohibition_layer-repush3/costmap_plugins.xml
costmap_2d /opt/ros/kinetic/share/costmap_2d/costmap_plugins.xml

3.在costmap_2d中插入障碍物

在参数配置文件夹中找到 global_costmap_params.yaml 和 local_costmap_params.yaml,在末尾添加或修改:

 plugins:
      - {name: static_map,       type: "costmap_2d::StaticLayer"}
      - {name: obstacles,        type: "costmap_2d::VoxelLayer"}
      - {name: costmap_prohibition_layer,        type: "costmap_prohibition_layer_namespace::CostmapProhibitionLayer"}     
      - {name: inflation_layer,        type: "costmap_2d::InflationLayer"}


4.修改launch文件

修改启动movebase的launch文件,添加以下内容:

<rosparam file="$(find turtlebot3_navigation)/param/prohibition_areas.yaml" command="load" ns="global_costmap/costmap_prohibition_layer" />
<rosparam file="$(find turtlebot3_navigation)/param/prohibition_areas.yaml" command="load" ns="local_costmap/costmap_prohibition_layer" />

5.设置障碍物坐标参数

首先需要在参数配置文件夹(就是和 global_costmap_params.yaml 以及 local_costmap_params.yaml 相同位置的文件夹)中创建新的文档,命名为 "prohibition_areas.yaml".
  然后在prohibition_areas.yaml文档中输入:

prohibition_areas:
#定义一个禁止点
 - [17.09, -6.388]
# 定义一个禁止通行的线
 - [[8.33, 2.11],
    [8.26, 5.11]]
# 定义一个禁止通行的区域
 - [[-11.15, -15.614],
    [-12.35, -13.89],
    [-10.05, -12.218]]
    

6.主要事项

注意事项:
1 一定要严格按照上述格式来设置坐标,我之前遇到的格式错误导致不能识别禁止区域坐标情形有
  (1):坐标前的短横线没对齐
  (2):定义禁止区域或者禁止线,两坐标之间缺少了逗号
2 你可以同时定义多个禁止点/多个禁止线/多个禁止区域,或者混合定义多个点/线/区域.


总结

以上就是今天要讲的内容,本文仅仅简单介绍了障碍物插件的使用,而costmap_2d提供了大量能使我们快速便捷地添加我们想要添加的功能,障碍物插件只是其中的一部分。

下图是我所实现的障碍物插件:
在这里插入图片描述

https://blog.csdn.net/qq_41995710/article/details/88750354
https://blog.csdn.net/Neo11111/article/details/104852657/

  • 5
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 19
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WeSiGJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值