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
相关推荐
AlfredZhao14 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF3 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo5 天前
Linux系统中网线与USB网络共享冲突
linux
荣--5 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森5 天前
动手实战学 Docker — 从零到集群编排完全指南
运维