无人机飞控硬件采用Pixhawk 2.4.8,软件采用PX4,机架使用F450。
1 安装PX4环境
1.1 安装虚拟机
VMware虚拟机 16 Pro。
1.2 安装Ubuntu
Ubuntu 18.04 amd64
硬盘大小建议40G。
联网使用NAT模式。
1.3 更新源
更换到清华源或者阿里源
然后更新
sudo apt-get update
1.4 安装git
sudo apt-get install git
1.5 安装PX4
这里建议安装v1.12.3版本,在v.13.*及以上版本,编译目录的格式从cmake变成了px4board,我编译程序老是出bug。
选择一个合适的文件夹位置(建议在用户名下新建文件夹,否则老是要sudo给权限),右键打开terminal。
git clone -b v1.12.3 https://gitee.com/***************/PX4-Autopilot.git --recursive
或者
git clone -b v1.12.3 https://github.com/PX4/PX4-Autopilot.git --recursive
这里说一下为什么用gitee,gitee在国内,网速比较快,可以先去github复制git clone的链接,然后自己创建一个gitee账户,右上角点击从GitHub/GitLab导入仓库,然后复制自己库的git clone链接。
如果出现部分子模块下载失败,解决方法:
git submodule update --init --recursive
1.6 安装PX4和gazebo9环境
找到gitPX4
cd PX4-Autopilot
sudo bash ./Tools/setup/ubuntu.sh
- 等待时间较长,有错误的话请查看网址:
https://blog.csdn.net/qq_38768959/article/details/106041494
- 我遇到了镜像站找不到matplotlib>=3.0.*的问题,
解决方法:
sudo -H python3 -m pip install matplotlib==3.0.* -i https://pypi.tuna.tsinghua.edu.cn/simple
然后重新运行:
sudo bash ./Tools/setup/ubuntu.sh
1.7 编译PX4固件
编译PX4之前建议都先跑一遍以下的命令,把python库都安装好再编译,否则一直会出错重新编译。后面加的清华源会快很多。
sudo -H python3 -m pip install kconfiglib -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo -H python3 -m pip install jinja2 -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo -H python3 -m pip install jsonschema -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo -H python3 -m pip install empy -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo -H python3 -m pip install pyros-genmsg -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo -H python3 -m pip install packaging -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo -H python3 -m pip install toml -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo -H python3 -m pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo -H python3 -m pip install future -i https://pypi.tuna.tsinghua.edu.cn/simple
编译PX4 gazebo
make px4_sitl_default gazebo
问题1:编译失败
查看编译到哪里出错,大概率是没有git clone完全。
查看文件夹,可以发现是空的,然后到github一级一级按照文件夹找,手动下载以下文件:
拖到原来的空文件夹,再次编译。
gazebo能运行之后,需要添加环境变量,否则gazebo在虚拟机上会出现闪退现象。
- 打开
.bashrc
文件,在最下面添加脚本:
export SVGA_VGPU10=0
出现了不少问题,解决网址:
https://blog.csdn.net/qq_38768959/article/details/106041494
https://blog.csdn.net/qq_44324181/article/details/110199283
https://blog.csdn.net/manbushuizhong/article/details/123708068
2 安装ros和mavros环境
2.1 安装ROS
参考方法:https://blog.csdn.net/m0_50179075/article/details/121403251
- 设置国内镜像源
使用中科大源:
sudo sh -c ‘. /etc/lsb-release && echo “deb http://mirrors.ustc.edu.cn/ros/ubuntu/
lsb_release -cs
main” > /etc/apt/sources.list.d/ros-latest.list’
- 添加密钥
sudo apt-key adv --keyserver ‘hkp://keyserver.ubuntu.com:80’ --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
- 更新apt
更新debian软件包索引
sudo apt update
- 安装ROS melodic
然后选择想安装的ROS版本,完整桌面版安装(Desktop-Full,推荐),它除了桌面版的全部组件外,还包括2D/3D模拟器(simulator)和2D/3D 感知包(perception package)。
linux版本和ROS版本也需要对于:
ubuntu 20.04 -> noetic
ubuntu 18.04 -> melodic
ubuntu 16.04 -> kinetic
debian 10 -> noetic
debian 9 -> lunar
本人使用的是ubuntu 18.04,终端输入如下命令回车:
sudo apt install ros-melodic-desktop-full
(之前用了别的方法安装一直有问题,错误提示:Unable to locate package install ros-melodic-desktop-full)
安装时间较长,不报错或安装成功就完成这一步了。
- 设置环境
(1)需要在使用ROS的每个bash终端中source这个脚本,终端输入如下命令回车:
source /opt/ros/melodic/setup.bash
这个melodic根据你的ROS版本修改。
(2)将(1)中的命令写入.bashrc文件中,每次打开终端都可以自动source这个脚本。
终端输入以下命令:
echo “source /opt/ros/melodic/setup.bash” >> ~/.bashrc
source ~/.bashrc
如果输入source ~/.bashrc
出现错误:“source: command not found
则使用命令:echo source /opt/ros/melodic/setup.bash >> ~/.bashrc
(3)添加完后可以打开.bashrc文件查看,位置在Home文件夹下,vim或者gedit都行。
- 安装Python依赖包:
建议安装以下:
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
- rosdep init 初始化和更新(实在转不了就不用装了)
建议看这个:https://blog.csdn.net/weixin_53660567/article/details/120607176
sudo apt install python-catkin-tools
- 二进制安装mavros
sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras
sudo wget https://github.com/mavlink/mavros/tree/ros2/mavros/scripts/install_geographiclib_datasets.sh
(上面这不先不用做)
进入文件夹:/opt/ros/melodic/lib/mavros
修改文件权限:
sudo chmod +x install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh
3 安装QGC
ubuntu内的浏览器:https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html
修改下载的QGC的位置。
然后在QGC同级目录打开终端,输入:
chmod +x QGroundControl.AppImage
sudo usermod -a -G dialout $USER
双击程序,就可直接打开。