机载电脑部署安装px4环境详细教程

1.ROS-noetic版本安装

使用fishros鱼香ROS)一键安装:

复制代码
wget http://fishros.com/install -O fishros && . fishros

安装完毕后输入:

复制代码
roscore

出现如图所示界面即代表安装成功:

2.PX4固件下载

PX4的源码处于GitHub,因为众所周知的原因git clone经常失败,此处从Gitee获取PX4源码和依赖模块。

复制代码
   cd ~/

   git clone https://gitee.com/voima/PX4-Autopilot.git

   cd ~/PX4-Autopilot

   git checkout v1.14.0 #切换到1.14.0分支,当然也可以尝试其他版本

下载完成后需注意,还需更新modules,此更新的链接来源于~/PX4-Autopilot/.gitmodules(注意是隐藏文件),.gitmodules内部的链接均为GitHub,因此git submodule update --init --recursive时大概率失败,此时需要打开.gitmodules文件,以此将内部的模块使用Gitee的链接替换掉。此处也可使用文章开头小编修改过的文件。

复制代码
 git submodule update --init --recursive # 在~/PX4-Autopilot目录下执行

完成更新后,需配置~/.bashrc文件,打开该文件,在底部添加如下内容,保存。

复制代码
   # >>> PX4 initialize >>>

   source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default

   export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot

   export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic

   # <<< PX4 initialize <<<

新打开一个终端,输入roscd px4可直接跳转到目录~/PX4-Autopilot。

安装PX4依赖项(此处需要等待的时间较长)。

复制代码
cd ~/PX4-Autopilot

bash ./Tools/setup/ubuntu.sh

3.PX4固件编译

在路径~/PX4-Autopilot下make px4_sitl_default gazebo,看到出现报错即按照提示安装缺失的模块即可。

复制代码
cd ~/PX4-Autopilot # 也可以 roscd px4

make px4_sitl_default gazebo

如果不运行命令【bash ./Tools/setup/ubuntu.sh】可能会提示缺失相关模块,可直接使用如下命令安装。

复制代码
复制代码
   sudo apt install python3-pip

   pip3 install kconfiglib

   pip3 install --user jinja2

   pip3 install --user jsonschema

   sudo apt-get update

   sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

安装完毕后,使用make px4_sitl_default gazebo编译,直接通过。

4.MAVROS安装

安装geographiclib数据库(GeographicLib是一个用于解决地理坐标转换、大地测量(geodesy)和地图投影等问题的库,广泛用于航空航天和GIS(地理信息系统)领域)

复制代码
# mavros

sudo apt install ros-noetic-mavros ros-noetic-mavros-extras

# geographiclib

wget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.sh

sudo chmod a+x ./install_geographiclib_datasets.sh

sudo ./install_geographiclib_datasets.sh #此行代码运行完毕需要一定时间

期间可能会遇到缺失软件包的报错,这期间博主安装的软件对应的命令如下:

复制代码
复制代码
   sudo apt-get install libgeographic-dev geographiclib-doc geographiclib-tools

   sudo geographiclib-get-geoids egm96-5

检查MAVROS是否安装成功可输入如下命令:

复制代码
roslaunch px4 mavros_posix_sitl.launch

新打开一个终端,输入:

复制代码
rostopic echo mavros/state

看见如下界面代表MAVROS安装成功":

5.QGroundControl安装

注意官网下载的是支持ubuntu22.04和24.04的qgc,得下载支持ubuntu20.04的

打开QGC官网QGroundControl,下载完毕后,切换到下载路径,输入:

复制代码
sudo usermod -a -G dialout $USER # 输入完此命令后可以尝试一下是否能够双击.AppImage文件打开

sudo apt-get remove modemmanager -y

sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y

sudo apt install libfuse2 -y

sudo apt install libxcb-xinerama0 libxkbcommon-x11-0 libxcb-cursor0 -y

启动步骤

  1. Download QGroundControl-x86_64.AppImage.

  2. Make the AppImage executable

    chmod +x QGroundControl-.AppImage

  3. Run QGroundControl Either double-click the AppImage in your file manager or launch it from a terminal:

    ./QGroundControl-.AppImage

相关推荐
寒水馨32 分钟前
Linux下载、安装protobuf-v35.1(附安装包protoc-35.1-linux-x86_64.zip)
linux·运维·服务器·google·序列化·protobuf·protoc
王琦03181 小时前
Linux的文件管理
linux·运维·服务器
Android系统攻城狮1 小时前
Linux PipeWire深度解析之pw_stream_new调用流程与实战(四十二)
linux·运维·服务器·音频进阶·pipewire音频进阶
蜉蝣fuyou1 小时前
VMware多版本安装包
linux·vmware·虚拟机
不会代码的小猴1 小时前
Linux note2
linux·笔记
雾里0不看花2 小时前
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
linux·网络·tcpdump
Dawn-bit3 小时前
Linux日志处理三剑客之基础篇:(基础正则+扩展正则)
linux·运维·服务器·正则表达式·云计算·运维开发
☆凡尘清心☆3 小时前
Linux运维故障排查速查命令清单
linux·运维·服务器
小泊客3 小时前
友善R5C刷OpenWrt后RTL8822CE无线网卡显示“禁用”或“未激活”的完整解决方案
linux·github·运维开发
mounter6253 小时前
跨内核实时更新:如何实现 hugetlbfs 巨页的无缝保留与恢复?
linux·linux kernel·kernel·kexec·liveupdate·kho