以开源项目XTDrone、Promethus、px4_fast_planner等为例,自行迁移修整的基于RGBD深度相机与港科大的Fast-Planner路径优化项目,实现无人机的自主导航飞行与避障。
一、环境及依赖
1.1 仿真环境
项目 | 配置 |
---|---|
平台 | Ubuntu18.04 |
硬件 | 8G i5 NVIDA GTX1080T |
ROS | melodic |
mavros |
2.1 依赖包
二、配置环境与测试
#######
- Fast-Planner
- mavros_controllers
#######
Ubuntu 18 + ROS Melodic
克隆功能包到 ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/mzahana/px4_fast_planner.git
使用安装文件夹中的setup.sh脚本轻松地设置所有依赖项:
cd ~/catkin_ws/src/px4_fast_planner/install
./setup.sh
脚本会询问是否要安装PX4。如果在机载计算机上进行安装,则可能希望跳过此步骤,此时只需在请求时将n传递给setup.sh脚本
cd ~/catkin_ws/src/px4_fast_planner/install
./setup.sh
- NOTE: you may need to provide credentials to sudo when prompted, for the script to continue
setup.sh脚本安装PX4 v1.10.1,mavros_controllers软件包和修改后的Fast-Planner软件包。
模拟运行打开终端,执行如下命令:
roslaunch px4_fast_planner px4_fast_planner.launch
注意!第一次运行模拟时,可能要花一些时间下载一些gazebo模型,推荐在前文配置的时候直接配置好。
向/move_base_simple/goal主题发布一条消息,命令无人机飞到目标姿态:
rostopic pub --once /move_base_simple/goal geometry_msgs/PoseStamped "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
pose:
position:
x: 19.0
y: 15.0
z: 3.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 1.0"
三、无人机自主导航
节点图如下:
四、最终飞行效果
4.1 穿越凉亭
一次
二次
4.2 障碍物避障与路径优化
4.3 视频——室外飞行避障
4.4 视频——室内飞行避障
参考文献
[1] Github px4_fast_planner
[2] Ubuntu18.04配置搭建基于Gazebo的虚拟仿真平台(Px4):无人机(UAV)、无人车等模拟实验平台
[3] 仿真平台基础配置(PX4 1.11版)
Comments 27 条评论
博主 叶凡
请问如果要加入八叉树地图用做导航该怎么做呢?
博主 GanAHE
@叶凡 这个还没有研究过哈,有兴趣的话可以参考相关的文献还有Github上的一些项目
博主 一桌饭
大佬,这些都是怎么实现的啊,完全不知道怎么把算法和仿真平台联系起来
博主 GanAHE
@一桌饭 你可以先看看我发布的TianwueROS项目源代码,现在文档我还没整理完,后续我会在网站更新项目的说明与使用文档
博主 一桌饭
@GanAHE 嗯,我先下着看看
博主 GanAHE
@一桌饭 你可以收到评论邮件通知吗?
博主 一桌饭
@GanAHE 没有收到,我是刷新网站看到的
博主 name
@GanAHE 您好,我也是个初学者,想通过fast planner 熟悉一下这个飞控流程,但是这篇文档有点简单,我把gazebo, mavros, fast planner, rviz 都下载安装了,但是不会把算法和仿真平台联合使用,而且我在rviz里边点击 2D Nav Goal 飞机没有反应,请问您可以分享一下您的TianwueROS项目源代码吗,我想学习一下,谢谢您。
博主 GanAHE
@name TianqueROS已经开源,详细可见网站的Github/Gitee链接
博主 王云龙
我在用您的项目时候,出现了一个问题,就是无人机会在Gazebo启动后不久乱飞,然后arm也无效
博主 GanAHE
@王云龙 检查一下是不是启用了视觉传感器插件之后,有什么参数更改了
博主 阳光果粒陈
@GanAHE 博主您好,我下载了您关于TianqueROS-main的源代码,但是我不太会用,该怎么运行呢,是要把前面的PX4啥的配置都要自己配好吗? 还有港科大那个,我按照那篇博客走的,但是启动launc时告诉我resource not found:px4,这是为啥呀
博主 GanAHE
@阳光果粒陈 报错可能是因为px4没有配置路径或是路径错误,TianqueROS的话可能你的环境有些不同,配置需要调整一下
博主 阳光果粒陈
@GanAHE 博主您好,您的Tianque-ROS代码我下载下来文件是空的,有详细的安装说明吗?另外港科大的fast-planner代码我按照您博客来安装,始终会在setup.bash时安装出现各种报错,装了七八次,唯一的一次也只能仿真出gazebo环境,无人机也无法起飞。我可以先要一份您的Tianque-ROS完整代码吗?感激不尽!
博主 GanAHE
@阳光果粒陈 源代码,已开源,如果获取不到,看看分支、节点有没有问题,或是Git拉取是否遗漏了
博主 2921113436
@王云龙 朋友你解决了吗,我遇到了和你一样的问题
博主 王云龙
请问您遇到过这种情况吗
博主 GanAHE
@王云龙 没有遇到过
博主 757948474
您好,我想问一下运行这个代码出现resource not found:px4
博主 GanAHE
@757948474 PX4是不是没下载,或是下载之后路径未成功配置?
博主 757948474
我下载了,但是我不清楚怎么样连接在一起
博主 lyzzooll
您好,请问能出一个TianqueROS的使用教程吗,刚接触这块,很茫然。
博主 GanAHE
@lyzzooll 近期一直没时间,后期计划把搭建完整的环境打包发出来
博主 lyzzooll
您好,我按照上文的教程配置了环境,能出来仿真画面,但是画面里没有无人机,求大佬解答,谢谢啦~
博主 GanAHE
@lyzzooll 这个需要自己看以下控制台输出日志呀,没有日志怎么定位问题呢,此外,有可能是环境搭建流程有问题
博主 GanAHE
@lyzzooll 检查一下日志输出,问题太笼统了
博主 113150255
rror: TF_NAN_INPUT: Ignoring transform for child_frame_id "base_link" from authority "/mavros" because of a nan value in the transform (0.014640 -0.035031 -nan) (0.010509 -0.012837 -0.089014 -0.995892)
at line 244 in /tmp/binarydeb/ros-melodic-tf2-0.6.5/src/buffer_core.cpp
请问是什么原因?