2、Ubuntu 22.04 安装px4 1.14:快速搭建

1、下载

使用git加速:https://gh-proxy.com/

bash 复制代码
# 下载
git clone https://github.com/PX4/PX4-Autopilot.git 

# 切换分支到v1.14.0
git checkout v1.14.0

# 校验:是否是1.14
git describe --tags --exact-match HEAD

2、替换链接

bash 复制代码
# 将所有 github.com 替换为 gh-proxy.org
git config --global url."https://gh-proxy.org/https://github.com/".insteadOf "https://github.com/"

# 然后更新子模块
git submodule sync --recursive
git submodule update --init --recursive
  • 也可以:手动自己去替换,建议用上面的命令,替换比较彻底。

3、设置 python 清华镜像

python 复制代码
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn

pip config list

4、执行

bash 复制代码
# 执行 px4 脚本
./Tools/setup/ubuntu.sh

5、执行过程中,卡在:下载

手动去下载:gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2

替换:ubuntu.sh 中的链接

  • 移动下载好的文件:
bash 复制代码
mv gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 \
   gcc-arm-none-eabi-9-2020-q2-update-linux.tar.bz2

修改 ubuntu.sh 脚本, 找到

bash 复制代码
else
    echo "Installing arm-none-eabi-gcc-${NUTTX_GCC_VERSION}";
    wget -O /tmp/gcc-arm-none-eabi-${NUTTX_GCC_VERSION}-linux.tar.bz2 https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/${NUTTX_GCC_VERSION_SHORT}/gcc-arm-none-eabi-${NUTTX_GCC_VERSION}-${INSTALL_ARCH}-linux.tar.bz2 && \
        sudo tar -jxf /tmp/gcc-arm-none-eabi-${NUTTX_GCC_VERSION}-linux.tar.bz2 -C /opt/;
  • 替换为(注释掉 wget,改用本地文件):
bash 复制代码
else
    echo "Installing arm-none-eabi-gcc-${NUTTX_GCC_VERSION} from local file";
    LOCAL_TARBALL="${DIR}/gcc-arm-none-eabi-${NUTTX_GCC_VERSION}-linux.tar.bz2"
    if [ ! -f "$LOCAL_TARBALL" ]; then
        echo "ERROR: Local toolchain tarball not found at $LOCAL_TARBALL"
        echo "Please place the file in the same directory as ubuntu.sh"
        exit 1
    fi
    sudo tar -jxf "$LOCAL_TARBALL" -C /opt/

6、再次执行

bash 复制代码
./Tools/setup/ubuntu.sh

8、运行 jmavsim

bash 复制代码
	xcd ~/projects/PX4-Autopilotmake px4_sitl jmavsimbash
  • 进入px4命令行窗口后:可以执行如下测试命令
bash 复制代码
# 解锁(让电机可以转动)
commander unlock

# 上锁(停止电机)
commander lock

# 切换到位置控制模式(需 GPS 有效,在 jmavsim 中默认有 GPS)
# 自动起飞(如果已解锁且处于 position 模式)
commander takeoff      

# 触发自动降落
commander land         

9、运行gazebo

bash 复制代码
cd ~/projects/PX4-Autopilot

make px4_sitl gz_x500

10、安装QGC

游览器安装:https://d176tv9ibo4jno.cloudfront.net/latest/QGroundControl-x86_64.AppImage

bash 复制代码
# 授权
chmod +x QGroundControl-x86_64.AppImage

# 执行
./QGroundControl-x86_64.AppImage
相关推荐
chlk1234 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑4 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件5 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒5 小时前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号14 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash18 小时前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI1 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪3 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes