Ubuntu20.04实现XTDrone 不会踩雷版
2024.07.24更新
关于第三步说千万不要upgrade gazebo的问题,现在发现问题应该是px4的版本原来安装的是PX4 1.11Bbeta版本,应该是1.11和gazebo11会有冲突导致PX4无法运行。
如果后面需要用到typhoon模型也就是云台的同学,直接安装gazebo11 和PX4 1.13版本就好了。
以下是原博客
其实全部的教程网络上很多,这里笔者不再赘述。按照安装下来的流程,中间踩了一些雷,在此记录以下希望可以帮助到其他人。
笔者是从安装双系统开始的,如果要使用XTDrone的话按照教程装Ubuntu20.04的版本就可以了,双系统教程很多,找找就可以安装了。
进入正题
在XTDrone的安装中只需要参考语雀上的官方教程和一位博主的教程,其他的感觉还是不够清晰或者存在错误,链接:语雀和CSDN
第一步 依赖
参考CSDN完成就可以了,语雀的命令还是有点问题。
第二步 安装ROS
依旧参考CSDN,选择方法二鱼香ROS一步到位。
第一次选择自己install ros,不知道怎么还是出错了,就用了鱼香ROS,很快很安心。
第三步 安装GAZEBO
参考CSDN,很顺利地完成gazebo的安装。
注意!安装完gazebo之后千万不要再进行upgrade!
因为XTDrone支持的版本是gazebo9,我们前面安装的也是9,但是在之后进行upgrade,会把gazebo升级为11,那么后面就容易出错。如果后面采用命令打不开gazebo的话,可以看看gazebo的版本是不是还是9。命令行输入gazebo --version
就可以查看。
其中有一个步骤需要下载model文件,这里可以去语雀中该步骤处下载。
第四步 安装MAVROS
参考CSDN
中间出了一些小差错,将MAVROS删了重新安装,sudo apt install ros-noetic-mavros ros-noetic-mavros-extras
然后出现错误显示无法定位软件包ros-noetic-mavros和ros-noetic-mavros-extras,这表明在库里找不到这两个包。
造成这个问题的原因不明确,解决办法是回到第二步ROS安装部分,方法一中的第一小步和第二小步。
这样就可以安装MAVROS了。
第五步 PX4安装
建议还是去语雀中下载他给的zip,不要git clone了,即使科学上网了,在clone时还是会发生有的文件传输失败的情况。
然后再解压出来,就可以直接make了,如果这里make失败,有可能就是gazebo版本没匹配上。这部分实在出现过太多种错误了,没有一一记录下来。印象最深刻就是upgrade之后,这部分编译失败了,搜了很久才找到问题所在。如果是其他错误应该直接搜都是可以找到解决办法的。
第六步 安装地面站
这一步基本不会出错,语雀和CSDN中都给出了官方教程的链接,按照链接去下载就没有问题。
第七步 XTDrone下载
跟着语雀,直接复制粘贴命令行。
一开始一个个复制命令的时候可能容易出错,后面要roslaunch px4 indoor1.launch
的时候一直显示找不到该文件,然后就把这个XTDrone文件夹删了,重新来一次就顺利了。
总结
配置的各种环境、依赖比较复杂,还是挺容易出错的。
如果在后面出现gazebo打不开、场景打不开的情况,首先考虑gazebo的版本问题,然后千万不要upgrade。
在某一步出现问题的话,可以倒退回去看看上一步是否还能实现,或许可以找到问题根源。
实在不行就重新安装某个部分,最好不要全部都删了。笔者将gazebo、mavros、XTDrone都重新下载安装过。
最后一个办法就是重启电脑,听起来蛮玄学的,但是确实重启后就能启动了。。。
其他在文中没有提到的一些小报错也在安装过程中出现过,没有一一记录下来,直接搜报错内容多看看其他的博客就能找到解决办法啦!