1.QGC编译
1.1安装依赖
sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y
sudo apt install gcc g++ make cmake git
sudo apt install speech-dispatcher libudev-dev libsdl2-dev patchelf build-essential curl
1.2下载代码
git clone https://github.com/mavlink/qgroundcontrol.git
cd qgroundcontrol/
git checkout Stable_V3.4 # 切换分支
git submodule update --init --recursive # 更新下载子模块
更新子目录
git submodule update
1.3安装QT
编译Qgc3.4使用Qt5.12安装包直接安装,不需要在线安装解决网络问题,也不需要编译QT源码解决许可证问题;
1.4编译
qt打开QGC的*.pro文件,点击编译即可;
2.PX4编译
2.1安装依赖
sudo apt install ninja-build exiftool ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev python3-pip gawk
pip3 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml
pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse kconfiglib jsonschema future
2.2PX4安装
2.1下载PX4
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --fix-missing
2.2编译PX4
make px4_sitl_default gazebo
2.3环境变量设置
source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/qx/PX4-Autopilot ~/qx/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/qx/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/qx/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic
source ~/.bashrc
2.4版本查看
cd ~/PX4-Autopilot/ # 根据自己文件夹所在目录来
git describe --tags
3安装Gazebo
3.1先安装MAVROS
大概率安装不起,则进行下一步。
sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
sudo -E ./opt/ros/noetic/lib/mavros/install_geographiclib_datasets.sh
3.2添加 软件源sources.list
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
添加密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
更新包
sudo apt update
再安装
sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
sudo -E ./opt/ros/noetic/lib/mavros/install_geographiclib_datasets.sh
配置环境变量,注意自己的安装路径和环境变量的顺序否则会报错;
export ROS_MASTER_URI=http://127.0.0.1:11311
export ROS_IP=127.0.0.1
source /opt/ros/noetic/setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/opt/ros/noetic
source /home/xwc/qx/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash /home/xwc/qx/PX4-Autopilot /home/xwc/qx/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/xwc/qx/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/xwc/qx/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic
4.运行程序
先运行qgc,在运行Gazebo。
roslaunch px4 mavros_posix_sitl.launch
终端输入 commander takeoff ,可以看到无人机起飞
终端输入 commander land , 可以看到无人机降落