ROS下如何创建新的costmap

ROS下如何创建新的costmap

在使用ros的过程中,可能会在除开move_base以外的地方还需要自己的costmap,那么该如何使用呢?
其实我们在使用时根据move_base里面的创建流程一样进行就可以。
分析costmap的代码,最上层面向用户的接口是costmap_2DROS,初始化时需要依赖TF的坐标变换,同时也需要像move_base里面的一样的yaml配置文件,具体流程如下:

  1. 创建功能包, catkin_create_pkg xxx roscpp rospy std_msgs costmap_2d tf
  2. 创建相关配置文件,如放在params里面的costmap的yaml文件,可以复制move_base里面的然后修改下就行;
  3. 撸代码,主要包括创建tf: tf::TransformListener tf(ros::Duration(10));
  4. 创建costmap势力:costmap_2d::Costmap2DROS test_costmap(“local_costmap”,tf);
  5. 开启 test_costmap.start();
  6. 修改cmakelist,编译
    至此就可以了,后面就可以使用了。
    另外本人在测试时出现以下情况:
    (1)main函数开启后需要spin(),否则costmap一直在地图原点;
    (2)我单独创建测试都可以,但是放在一个由nodelet加载的插件的时候observersion_source一直不能获取导致costmap不正常;
    以上两问题希望有人可以帮忙解答,谢谢!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值