我是靠谱客的博主 丰富马里奥,最近开发中收集的这篇文章主要介绍costmap2D自定义layers的坑(二),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

为什么没有一,因为之前没时间写(笑)

因为已经用了一段时间costmap2D这个包,所以现在的bug都是新的bug了。(之前的不记得了)

大部分人自定义图层的代码都是基于David.Lu的那个超声波层(senor layer)改的

所以本篇更多是对senor layer的坑

 

1.

senorlayer的GitHub包分为两个版本 indigo和melodic 记得区分

gcc版本记得切到7.3及以上,不然会出现

error: no matching function for call to ‘tf::TransformListener::canTransform(std::__cxx11::string&, std_msgs::Header_<std> >::_frame_id_type&, std_msgs::Header_<std> >::_stamp_type&, ros::Duration)’ nsform(global_frame_, in.header.frame_id, in.header.stamp, ros::Duration(0.1))) 

这样的bug

2.

会出现未定义项的

error: ‘class range_sensor_layer::RangeSensorLayerConfig’ has no member named ‘ranges_buffer_size’
   ranges_buffer_size_ = config.ranges_buffer_size;

是因为定义重复,直接把ranges_buffer_size改成别的名字就OK了

3.

关于自定义障碍层,推荐加到global_map,超声波就老老实实local_map,记得好好赋值

网上默认订阅topic都是UltraSoundPublisher,记得改成sonar……

4.

如果出现

"Range sensor layer can't transform from odom to /Ultrasor at %f"

或者出现Range数据特别卡,速度特别慢或者rviz动不动冒“!”

多半是TF问题,在TF的broadcast前面加上static,稳定内存分配,一下就好使了……

 

 最后多个超声波sensor多个障碍效果大概这样……

 

 

方向和个数主要在发送range的cpp和cfg上面改

自定义障碍物(虚拟墙)大概如下

 

自己在cpp文件中改虚拟障碍物的坐标和大小即可

参考资料:

http://wiki.ros.org/navigation/Tutorials/Writing%20A%20Global%20Path%20Planner%20As%20Plugin%20in%20ROS
https://answers.ros.org/question/159166/understanding-costmap_2d-tutorial-updating-master_grid/
https://blog.csdn.net/jinking01/article/details/79455962
https://blog.csdn.net/jinking01/article/details/79451573?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242
https://blog.csdn.net/x_r_su/article/details/53454368
https://blog.csdn.net/heyijia0327/article/details/42241831#insertcode
http://blog.chinaunix.net/uid-27875-id-5821308.html
https://www.pianshen.com/article/6142142176/

https://www.jianshu.com/p/65153b579191

https://blog.csdn.net/linxigjs/article/details/79618374

https://blog.csdn.net/u011802646/article/details/85158162

https://zhuanlan.zhihu.com/p/69672308

http://wiki.ros.org/range_sensor_layer

https://blog.csdn.net/qq_25241325/article/details/83824504

https://www.freesion.com/article/97771287095/

https://blog.csdn.net/xiekaikaibing/article/details/80096033

https://blog.csdn.net/walleva96/article/details/78430429?utm_source=blogxgwz5

最后

以上就是丰富马里奥为你收集整理的costmap2D自定义layers的坑(二)的全部内容,希望文章能够帮你解决costmap2D自定义layers的坑(二)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部