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.gitcd ~/PX4-Autopilotgit checkout v1.14.0 #切换到1.14.0分支,当然也可以尝试其他版本
下载完成后需注意,还需更新modules,此更新的链接来源于~/PX4-Autopilot/.gitmodules(注意是隐藏文件),.gitmodules内部的链接均为GitHub,因此git submodule update --init --recursive时大概率失败,此时需要打开.gitmodules文件,以此将内部的模块使用Gitee的链接替换掉。此处也可使用博主修改过的.gitmodules文件:.submodules(百度网盘链接)。
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_defaultexport ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilotexport ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic# <<< PX4 initialize <<<
新打开一个终端,输入roscd px4可直接跳转到目录~/PX4-Autopilot。
3.PX4固件编译
在路径~/PX4-Autopilot下make px4_sitl_default gazebo,看到出现报错即按照提示安装缺失的模块即可。
cd ~/PX4-Autopilot # 也可以 roscd px4make px4_sitl_default gazebo
博主在第一次编译过程中新安装的模块如下,可直接使用命令安装。
sudo apt install python3-pippip3 install kconfiglibpip3 install --user jinja2pip3 install --user jsonschemasudo apt-get updatesudo 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(地理信息系统)领域)
# mavrossudo apt install ros-noetic-mavros ros-noetic-mavros-extras# geographiclibwget https://gitee.com/robin_shaun/XTDrone/raw/master/sitl_config/mavros/install_geographiclib_datasets.shsudo chmod a+x ./install_geographiclib_datasets.shsudo ./install_geographiclib_datasets.sh #此行代码运行完毕需要一定时间
期间可能会遇到缺失软件包的报错,这期间博主安装的软件对应的命令如下:
sudo apt-get install libgeographic-dev geographiclib-doc geographiclib-toolssudo geographiclib-get-geoids egm96-5
检查MAVROS是否安装成功可输入如下命令:
roslaunch px4 mavros_posix_sitl.launch
新打开一个终端,输入:
rostopic echo mavros/state
看见如下界面代表MAVROS安装成功“:
5.QGroundControl安装
打开QGC官网QGroundControl,下载完毕后,切换到下载路径,输入:
sudo usermod -a -G dialout $USER # 输入完此命令后可以尝试一下是否能够双击.AppImage文件打开sudo apt-get remove modemmanager -ysudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -ysudo apt install libfuse2 -ysudo apt install libxcb-xinerama0 libxkbcommon-x11-0 libxcb-cursor0 -y