安装自https://github.com/PX4/PX4-Autopilot/的px4功能包,因为需要科学上网似乎会失败,这里采用其他方法来安装。


截止到2022年9月,https://hub.fastgit.xyz这个镜像已经挂掉了,因为我也不再需要使用PX4,所以不再更新了,但是方法已经写的比较清楚了,喜欢动手的朋友们可以看下这篇博客的原理,然后自己摸索一下安装,如果对这篇博客哪个步骤不理解的还是可以私信我,能帮的话鄙人一定帮一下


直接下载

并且如果你有百度云盘的会员,也可选择直接下载压缩包,大小为1g多,也不小。
链接: https://pan.baidu.com/s/10qUpCH-oWAm1HCiB5A-iIw 密码: ed0t
如果直接下载压缩包,可以先解压,然后进入PX4-Autopilot目录下,执行

wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo bash ./install_geographiclib_datasets.sh
bash ./Tools/setup/ubuntu.sh
git submodule update --init --recursive

然后进这个博客最后一个阶段执行相应的命令即可

原理


原理就是使用github的镜像来代替github,目前镜像好用的有https://hub.fastgit.xyz
所以手动更改镜像即可(将命令上对应镜像网址更改),下面的代码已经更新最新镜像,如果此镜像又挂了,只需要改新的镜像即可,也欢迎大家在评论区给出新的镜像。

手动安装

首先执行下面命令,需要等待很久,然后因为网络原因会弹出一堆失败,没关系,等待完成即可。

git clone https://hub.fastgit.xyz/PX4/PX4-Autopilot.git --recursive

下载完后,显示很多路径未注册和未完成。
在这里插入图片描述

到PX4-Autopilot目录下更改安装源

cd PX4-Autopilot/
sudo gedit .gitmodules 

更改下载源,使用镜像网址将github替换,按照图片操作:
在这里插入图片描述

在这里插入图片描述

继续更改下载源,操作是相同的

sudo gedit .git/config

在这里插入图片描述

然后执行

git submodule update --init --recursive

之后手动进入PX4-Autopilot/Tools/sitl_gazebo/目录,查看是不是只有.git一个文件,如果有其他文件,说明下载成功,此时直接进入到更改下载源完成之后的部分
如果只有一个.git文件,则返回到上一层目录,即在PX4-Autopilot/Tools目录下打开终端,执行

sudo rm -r sitl_gazebo
git clone https://hub.fastgit.xyz/PX4/PX4-SITL_gazebo
mv PX4-SITL_gazebo sitl_gazebo

继续更改下载源

sudo gedit sitl_gazebo/.gitmodules

复制下面的内容覆盖原有的

[submodule "external/OpticalFlow"]
	path = external/OpticalFlow
	url = https://hub.fastgit.xyz/PX4/OpticalFlow.git

继续执行

 cd ..
 cd ..
 git submodule update --init --recursive

然后

cd Tools
sudo gedit sitl_gazebo/external/OpticalFlow/.gitmodules

复制下面的内容覆盖原有的

[submodule "external/klt_feature_tracker"]
	path = external/klt_feature_tracker
	url = https://hub.fastgit.xyz/ethz-ait/klt_feature_tracker.git

下载源更改结束。
这时在PX4-Autopilot目录下执行下面命令

git submodule update --init --recursive

理论上应该不会返回任何信息,如图这样:
在这里插入图片描述
如果返回未对xxx路径注册,可以多执行2次:git submodule update --init --recursive
如果始终显示有路径未注册,建议检查一下是不是哪步没有做,或者私信我吧。

然后继续在PX4-Autopilot目录下执行:

wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo bash ./install_geographiclib_datasets.sh
bash ./Tools/setup/ubuntu.sh

编译尝试

1.返回到PX4-Autopilot目录下编译:

make

如果有以下报错
在这里插入图片描述
删掉指定目录(如果有的话,没有的话可以忽略)
在这里插入图片描述
然后在此目录下打开终端,下载PX4-GPSDrivers并重命名为devices。
执行:

git clone https://hub.fastgit.xyz/PX4/PX4-GPSDrivers.git
mv PX4-GPSDrivers devices

如果镜像网址下载不了,也可以github原地址(github.com代替hub.fastgit.xyz)

2.然后可以继续回到PX4-Autopilot目录下编译:

make

如果出现这样的报错

在这里插入图片描述
则删掉指定目录(如果有的话,没有的话可以忽略)

在这里插入图片描述

然后打开终端,下载libevents

git clone https://hub.fastgit.xyz/mavlink/libevents.git

如果镜像网址下载不了,也可以github原地址(github.com代替hub.fastgit.xyz)

然后可以继续回到PX4-Autopilot目录下编译:

make

这时就不会出错了,如图所示
在这里插入图片描述

最后

然后返回到PX4-Autopilot目录下,执行

sudo apt-get update
sudo apt-get upgrade
make px4_sitl_default gazebo_plane
第一次需要等待一会,正常的话会出现一个无人机
然后可以输入commander takeoff  起飞。。。
没起飞就多重复几次,快点重复。

之后没有报错的话基本上就成功了。
可以查看下效果,第一次启动需要等待较长时间。

出现小车的命令:
make px4_sitl_default gazebo_rover

放一下结果图。
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐