双系统ubuntu20.04部署ego_planner

 已经踩了许多坑了,浓缩下来就是这样了,还是要多看github的说明,不然吃亏的还是自己

        一.Ubuntu和windows双系统安装

双系统安装教程非常详细,但是过于详细,可以试着跳过部分原理内容

Windows 和 Ubuntu 双系统的安装和卸载_哔哩哔哩_bilibili

        二.安装好Ubuntu之后需要安装ros1,此处使用鱼香ros安装方便快捷,在Ubuntu中使用ctrl+alt+t呼出终端,输入以下指令并执行,之后跟随提示操作,安装ros1,并配置ros1环境

wget http://fishros.com/install -O fishros && . Fishros

        三.部署ego_planner

访问网站GitHub - ZJU-FAST-Lab/ego-planner可以查看相关介绍,在readme文档中有后续完整介绍

要求:ubuntu 16.04、18.04 或 20.04 并安装 ros-desktop-full。

步骤 1.安装 Armadillo,这是 uav_simulator 所需的。

sudo apt-get install libarmadillo-dev

步骤 2.从 github 或 gitee 克隆代码。这两个存储库会自动同步。

来自 github,

git clone https://github.com/ZJU-FAST-Lab/ego-planner.git

或者来自 gitee,

git clone https://gitee.com/iszhouxin/ego-planner.git

步骤 3.编译

cd ego-planner

catkin_make -DCMAKE_BUILD_TYPE=Release

步骤 4.跑。

在 ego-planner/ 文件夹的终端中,打开 rviz 以进行可视化和交互

source devel/setup.bash

roslaunch ego_planner rviz.launch

在另一个终端的 ego-planner/ 处,通过以下方式在模拟中运行规划器

source devel/setup.bash

roslaunch ego_planner run_in_sim.launch

<think>好的,我现在需要帮助用户寻找与YOLO结合的ego-planner示例或教程。首先,我得回忆一下ego-planner的相关资料。用户提供的引用里提到,ego-planner主要用于无人机路径规划,尤其是在集群模式下。引用[1]和[2]提到了配置和教程链接,特别是高飞老师的EGO视频教程。但用户现在需要的是结合YOLO,也就是目标检测的部分。 接下来,我需要考虑ego-planner和YOLO如何结合使用。通常,YOLO用于实时目标检测,然后将检测结果输入到路径规划中,比如避障或跟踪。可能的应用场景是无人机使用YOLO识别障碍物,再由ego-planner调整路径。 现在,用户可能需要具体的代码示例或教程,但目前提供的引用里没有直接提到YOLO。可能需要参考现有的ego-planner结构,看如何集成YOLO模块。例如,在感知部分添加YOLO的检测结果,作为障碍物信息传递给规划模块。 然后,我应该检查引用中的内容是否有相关线索。引用[1]提到替换plan_manage为集群模式,引用[3]涉及话题订阅的修改,可能和传感器数据输入有关。如果YOLO的输出是通过某个话题发布的,可能需要像引用[3]那样修改订阅的话题,将YOLO的检测结果传递给ego-planner。 此外,可能需要建议用户参考高飞老师的教程(引用[2]),看看是否有扩展部分。虽然没有直接结合YOLO的例子,但可以指导用户如何将外部感知模块集成进去。例如,在感知回调函数中处理YOLO的数据,生成障碍物信息,再调用ego-planner的API进行路径重规划。 最后,用户可能需要自己开发部分代码,比如订阅YOLO的话题,处理数据格式,与ego-planner的输入对接。需要提醒用户检查数据接口是否兼容,比如使用自定义的障碍物消息类型,或者修改现有参数配置。同时,建议用户查阅ego-planner的文档,了解如何添加动态障碍物,或者参考社区中其他类似项目的实现方式。</think>关于YOLO与ego-planner结合的开发,目前公开的示例较少,但可以通过以下步骤实现功能集成: ### 一、技术实现路径 1. **感知层对接** YOLO检测结果通过ROS话题发布,需将其输出的物体位置/尺寸转换为$三维点云$或$障碍物包围盒$。例如将检测框映射到点云坐标系: $$(x_{min}, y_{min}, z) \rightarrow (x_{max}, y_{max}, z+h)$$ 2. **ego-planner配置调整** 在`plan_manage/launch/ego_planner.launch`中启用动态障碍物处理模块: ```xml <param name="dynamic_obs" value="true"/> <!-- 启用动态障碍物处理 --> <param name="obs_topic" value="/yolo_obstacles"/> <!-- 指定YOLO障碍物话题 --> ``` 3. **数据格式转换** 创建`yolo_to_ego`节点,将YOLO输出的`BoundingBoxes`消息转换为ego-planner支持的`swarm_msgs/ObstacleArray`格式[^1]。 ### 二、代码修改示例 参考引用[3]的订阅逻辑,在感知模块添加: ```python # 订阅YOLOv5的检测结果 rospy.Subscriber('/yolo/detections', DetectionArray, self.yolo_callback) def yolo_callback(self, msg): obstacles = [] for detection in msg.detections: # 将检测框转换为障碍物圆柱体模型 center = detection.bbox.center radius = max(detection.bbox.size_x, detection.bbox.size_y)/2 obstacles.append(Obstacle(center, radius, height=detection.bbox.size_z)) self.planner.update_obstacles(obstacles) # 调用ego-planner的API更新障碍物 ``` ### 三、调试建议 1. **仿真测试** 使用Gazebo加载动态障碍物场景,通过RViz可视化规划路径与障碍物的交互过程[^2] 2. **参数调优** 调整`ego_planner_params.yaml`中的关键参数: ```yaml trajectory: max_vel: 2.0 # 最大飞行速度 acc: 1.5 # 最大加速度 obstacle: safety_dist: 0.3 # 安全避障距离 voxel_res: 0.1 # 障碍物体素分辨率 ``` ### 四、相关资源 1. **基础教程** 高飞老师ego-planner教学视频第15章详细讲解障碍物处理机制[^2] 2. **硬件部署** 在TX2/NX平台需使用TensorRT加速的YOLOv5s模型,保证检测帧率>15FPS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值