完整安装PX4/PX4-Autopilot,无需科学上网/墙。

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

因为我已经完成了编译,所以有些bug没法截图展示,不过按照步骤来说应该不会出错,如果有问题的话,可以留言询问。

目录

  • 直接下载
  • 手动安装
  • 安装依赖

直接下载

并且如果你有百度云盘的会员,也可选择直接下载压缩包,大小为1g多,也不小。
链接: https://pan.baidu.com/s/1-BK44mJrbLwSuZJm0onavA 密码: rev2
如果直接下载压缩包,可以先解压,
接着直接进入到安装依赖环节照着敲就行。

手动安装

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

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

下载完后,到PX4-Autopilot目录下更改安装源

cd PX4-Autopilot/
sudo gedit .gitmodules 

将下面的内容复制进去以覆盖以前的内容

[submodule "src/modules/mavlink/mavlink"]
	path = src/modules/mavlink/mavlink
	url = https://hub.fastgit.org/mavlink/mavlink.git
	branch = master
[submodule "src/drivers/uavcan/libuavcan"]
	path = src/drivers/uavcan/libuavcan
	url = https://hub.fastgit.org/dronecan/libuavcan.git
	branch = main
[submodule "Tools/jMAVSim"]
	path = Tools/jMAVSim
	url = https://hub.fastgit.org/PX4/jMAVSim.git
	branch = master
[submodule "Tools/sitl_gazebo"]
	path = Tools/sitl_gazebo
	url = https://hub.fastgit.org/PX4/PX4-SITL_gazebo.git
	branch = master
[submodule "src/drivers/gps/devices"]
	path = src/drivers/gps/devices
	url = https://hub.fastgit.org/PX4/PX4-GPSDrivers.git
	branch = master
[submodule "src/modules/micrortps_bridge/micro-CDR"]
	path = src/modules/micrortps_bridge/micro-CDR
	url = https://hub.fastgit.org/PX4/Micro-CDR.git
	branch = master
[submodule "platforms/nuttx/NuttX/nuttx"]
	path = platforms/nuttx/NuttX/nuttx
	url = https://hub.fastgit.org/PX4/NuttX.git
	branch = px4_firmware_nuttx-10.1.0+
[submodule "platforms/nuttx/NuttX/apps"]
	path = platforms/nuttx/NuttX/apps
	url = https://hub.fastgit.org/PX4/NuttX-apps.git
	branch = px4_firmware_nuttx-10.1.0+
[submodule "Tools/flightgear_bridge"]
	path = Tools/flightgear_bridge
	url = https://hub.fastgit.org/PX4/PX4-FlightGear-Bridge.git
[submodule "Tools/jsbsim_bridge"]
	path = Tools/jsbsim_bridge
	url = https://hub.fastgit.org/PX4/px4-jsbsim-bridge.git
[submodule "src/drivers/uavcan_v1/libcanard"]
	path = src/drivers/uavcan_v1/libcanard
	url = https://hub.fastgit.org/UAVCAN/libcanard.git
[submodule "src/drivers/uavcan_v1/public_regulated_data_types"]
	path = src/drivers/uavcan_v1/public_regulated_data_types
	url = https://hub.fastgit.org/UAVCAN/public_regulated_data_types.git
[submodule "src/drivers/uavcannode_gps_demo/public_regulated_data_types"]
	path = src/drivers/uavcannode_gps_demo/public_regulated_data_types
	url = https://hub.fastgit.org/UAVCAN/public_regulated_data_types.git
[submodule "src/drivers/uavcannode_gps_demo/libcanard"]
	path = src/drivers/uavcannode_gps_demo/libcanard
	url = https://hub.fastgit.org/UAVCAN/libcanard.git
[submodule "src/drivers/uavcan_v1/legacy_data_types"]
	path = src/drivers/uavcan_v1/legacy_data_types
	url = https://hub.fastgit.org/PX4/public_regulated_data_types.git
	branch = legacy
[submodule "src/lib/crypto/monocypher"]
	path = src/lib/crypto/monocypher
	url = https://hub.fastgit.org/PX4/Monocypher.git
	branch = px4
[submodule "src/lib/events/libevents"]
	path = src/lib/events/libevents
	url = https://hub.fastgit.org/mavlink/libevents.git
[submodule "Tools/simulation-ignition"]
	path = Tools/simulation-ignition
	url = https://hub.fastgit.org/PX4/px4-simulation-ignition.git
[submodule "src/lib/crypto/libtomcrypt"]
	path = src/lib/crypto/libtomcrypt
	url = https://hub.fastgit.org/PX4/libtomcrypt.git
	branch = px4
[submodule "src/lib/crypto/libtommath"]
	path = src/lib/crypto/libtommath
	url = https://hub.fastgit.org/PX4/libtommath.git
	branch = px4

继续更改下载源,

sudo gedit .git/config

将下面的内容复制进去以覆盖以前的内容

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[submodule]
	active = .
[remote "origin"]
	url = https://hub.fastgit.org/PX4/PX4-Autopilot.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
	remote = origin
	merge = refs/heads/master
[submodule "Tools/flightgear_bridge"]
	url = https://hub.fastgit.org/PX4/PX4-FlightGear-Bridge.git
[submodule "Tools/jMAVSim"]
	url = https://hub.fastgit.org/PX4/jMAVSim.git
[submodule "Tools/jsbsim_bridge"]
	url = https://hub.fastgit.org/PX4/px4-jsbsim-bridge.git
[submodule "Tools/simulation-ignition"]
	url = https://hub.fastgit.org/PX4/px4-simulation-ignition.git
[submodule "Tools/sitl_gazebo"]
	url = https://hub.fastgit.org/PX4/PX4-SITL_gazebo.git
[submodule "platforms/nuttx/NuttX/apps"]
	url = https://hub.fastgit.org/PX4/NuttX-apps.git
[submodule "platforms/nuttx/NuttX/nuttx"]
	url = https://hub.fastgit.org/PX4/NuttX.git
[submodule "src/drivers/gps/devices"]
	url = https://hub.fastgit.org/PX4/PX4-GPSDrivers.git
[submodule "src/drivers/uavcan/libuavcan"]
	url = https://hub.fastgit.org/dronecan/libuavcan.git
[submodule "src/drivers/uavcan_v1/legacy_data_types"]
	url = https://hub.fastgit.org/PX4/public_regulated_data_types.git
[submodule "src/drivers/uavcan_v1/libcanard"]
	url = https://hub.fastgit.org/UAVCAN/libcanard.git
[submodule "src/drivers/uavcan_v1/public_regulated_data_types"]
	url = https://hub.fastgit.org/UAVCAN/public_regulated_data_types.git
[submodule "src/drivers/uavcannode_gps_demo/libcanard"]
	url = https://hub.fastgit.org/UAVCAN/libcanard.git
[submodule "src/drivers/uavcannode_gps_demo/public_regulated_data_types"]
	url = https://hub.fastgit.org/UAVCAN/public_regulated_data_types.git
[submodule "src/lib/crypto/libtomcrypt"]
	url = https://hub.fastgit.org/PX4/libtomcrypt.git
[submodule "src/lib/crypto/libtommath"]
	url = https://hub.fastgit.org/PX4/libtommath.git
[submodule "src/lib/crypto/monocypher"]
	url = https://hub.fastgit.org/PX4/Monocypher.git
[submodule "src/lib/events/libevents"]
	url = https://hub.fastgit.org/mavlink/libevents.git
[submodule "src/modules/mavlink/mavlink"]
	url = https://hub.fastgit.org/mavlink/mavlink.git
[submodule "src/modules/micrortps_bridge/micro-CDR"]
	url = https://hub.fastgit.org/PX4/Micro-CDR.git

然后执行

git submodule update --init --recursive

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

sudo rm -r sitl_gazebo
git clone https://hub.fastgit.org/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.org/PX4/OpticalFlow.git

继续执行

sudo gedit sitl_gazebo/external/OpticalFlow/.gitmodules

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

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

下载源更改结束。

安装依赖

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

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

根据提示重启一下电脑,然后再次进入到PX4-Autopilot目录下执行

sudo apt-get update
sudo apt-get upgrade
mkdir build 
cd build
cmake .. && make && cd .. && make px4_sitl_default

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

小车:
make px4_sitl_default gazebo_rover
无人机:
make px4_sitl_default gazebo_plane

放一下结果图。

你可能感兴趣的:(ubuntu,系统安装,ubuntu)