使用双系统安装Ubuntu系统并搭建PX4开发环境
1.安装Ubuntu
首先安装Ubuntu双系统,双系统不麻烦而且很香,看整个教程,讲的很详细:
2.安装ROS
安装好Ubuntu之后需要安装ROS,推荐用鱼香ROS的一键安装。
鱼香ROS网站上线|一行代码安装ROS/ROS2/解决rosdep问题|小鱼脚本
wget http://fishros.com/install -O fishros && bash fishros
3.安装依赖
在使用apt安装的过程中,如果出现难以解决的依赖问题,可以使用aptitude install
,没有aptitude的话,使用sudo apt install aptitude
命令安装。
使用sudo aptitude install
,它会依次推荐依赖解决方案,觉得可行就按y,不可行就按n。
依次进行依赖的安装,直至每一个包都按正确版本安装。
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 packaging pyargparse kconfiglib jsonschema future
4.安装QGC地面站
sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
sudo apt install libqt5gui5 -y
sudo apt install libfuse2 -y
然后重启电脑,下载QGroundControl.AppImage。
使用终端命令安装并运行。
chmod +x ./QGroundControl.AppImage
./QGroundControl.AppImage
5.下载PX4代码
新建文件夹,文件夹名字可以任意取。
mkdir -p px4src_v1.13.0
之后我们使用ls
、cd
命令进入这个文件夹
cd px4src_v1.13.0/
从官网下载最新版本源码固件。
git clone https://github.com/PX4/Firmware.git
如果需要下载旧版本固件,请使用以下命令。
git clone -b v1.13.0 https://github.com/PX4/Firmware.git
clone成功之后,你会发现文件夹路径下面多了一个文件夹Firmware,我们使用ls
、cd
命令进入Firmware文件夹中。
cd Firmware/
Firmware里面就是PX4的源码,但是它依赖了很多其他的库,所以此时不完整还不能用,我们需要更新他的依赖。
git submodule update --init --recursive
在Ubuntu中开发基于ARM架构的STM32芯片,需要安装交叉编译器gcc-arm-none-eabi。
sudo apt-get install gcc-arm-none-eabi
使用官方脚本进一步安装相关环境。
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --no-sim-tools --no-nuttx
安装一些依赖。
sudo apt-get install protobuf-compiler libeigen3-dev libopencv-dev -y
之后可以编译固件。
make px4_sitl_default gazebo
然后退出gazebo,修改~/.bashrc
文件,在文件的末尾加入以下代码。
# >>> PX4 initialize >>>
source ~/px4src_v1.13.0/Firmware/Tools/setup_gazebo.bash ~/px4src_v1.13.0 ~/px4src_v1.13.0/Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/px4src_v1.13.0
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/px4src_v1.13.0/Firmware/Tools/sitl_gazebo
# <<< PX4 initialize <<<
之后再运行以下命令。
source ~/.bashrc
6.安装MAVROS
直接运行以下指令即可。
sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras ros-noetic-mavros-msgs
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo chmod a+x ./install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh
参考资料: