使用 RVO-3D + ROS 实现三维避障

RVO官网代码运行

RVO官网有RVOc++、c#的包,也有实例,按照说明文档运行
https://gamma.cs.unc.edu/RVO2/

RVO-3D运行

打开下载的目录:
目前测试运行正常的是这个包
在这里插入图片描述

  1. 解压并在根目录创建build文件夹 ,在build文件夹中cmake src 生产make文件后make;
    在这里插入图片描述
    在这里插入图片描述

  2. 修改example中cmake文件的链接地址,把rvo库链接到cpp文件中;
    在这里插入图片描述

  3. 同上在example中创建builde文件夹,在build文件夹中cmke … 生成make文件后 make;
    在这里插入图片描述

  4. 执行RVO可执行文件,生成时间戳和速度值,RVO的名字是上边CMakeLists文件中自己修改的名称 ;
    输出
    RVO 3D 算法示例,可以修改目标点和智能体个数来调试查看使用方法。

RVO_ROS 运行

在github中找到了rvo_ros 包,在二维空间的避障的仿真:

https://github.com/hanruihua/rvo_ros
效果
在这里插入图片描述

把二维库换成三维库

|在这里插入图片描述

把三维库放到工作目录中,修改CMakeList文件,将RVO库的目录修改
在这里插入图片描述
修改 nav_rvo.cpp、rvo_node.cpp、set_goals_client.cpp、world_multi_obs.cc文件中的三维部分
在这里插入图片描述

记录发生的问题

插件目录

期间有一个问题突然就只能在二维方向上移动而不能在三维方向上移动了,原因是gazebo插件的路径在环境中写了两次,有一次是之前跑的二维的代码,所以系统找插件的时候默认先找到了二维的插件,所以无论三维这块怎么修改,都没有用到三维的插件。

调试

修改找问题的过程中也让我学会了怎么去看输出,怎么看话题,通过对比输出和订阅话题最终把问题锁定在了插件的问题上。

所学

ros通信gazebo仿真都是通过使用cpp文件写插件,写订阅话题发布话题,重定义实现的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值