[教程]PX4编译环境各种解决方案(ubuntu)

这篇文章可以解决PX4编译环境的安装
强烈建议使用Ubuntu16.04的64位版本
点击阅读全文可以获得更多参考链接信息。

方法1:官方脚本

如果你是新装的Ubuntu还没有装软件。那么用官方脚本可以直接安装。

官方提供了4个脚本
The scripts are:
1.ubuntu_sim_common_deps.sh:
该脚本包含所有PX4构建目标的通用依赖关系,可以安装全部编译环境。
2.ubuntu_sim.sh: ubuntu_sim_common_deps.sh + Gazebo8 simulator.在1号脚本的基础上添加了Gazebo8仿真软件的安装
3.ubuntu_sim_nuttx.sh: ubuntu_sim.sh + NuttX tools.在2号脚本的基础上添加了NuttX tools
这需要完成计算机重新启动
4.ubuntu_sim_ros_gazebo.sh: ubuntu_sim_common_deps.sh + ROS/Gazebo and MAVROS.
在1号脚本的基础上添加了完整的ROS和MAVROS软件的安装

我使用的是4号脚本,因为我想使用ROS,和gazebo对飞行器进行仿真,为之后的修改代码调试提供基础。

更详细的脚本解读参考JXF的博客

在终端输入以下指令将将用户添加到附属组群:
sudo usermod -a -G dialout $USER
注销并重新登录
保存如下脚本ubuntu_sim_ros_gazebo.sh
使脚本生效,执行指令
source ubuntu_sim_ros_gazebo.sh.sh
等脚本执行完
重启电脑

不少同学用这些脚本都是直接成功了。

但是我还是出了点小问题,我第二天来看我的编译环境的时候,出现了如图提示,缺少empy,和toml(toml的报错图忘截)


但是没关系编译问题的核心就是缺啥装啥
安装提示输入
sudo apt-get install python-empy

还是不行,还是报错
于是我查了一下资料,需要用这个命令
python -m pip install empy

python -m pip install toml
安装完提示缺少的empy,和toml再输入make,显示编译通过这时候编译环境已经安装完成。

方法2:分别安装CMAKE,GCC,Ninja

如果你的Ubuntu已经用了一段时间,直接用脚本可能无法成功,可以参考JXF的博客在官方出脚本之前,我一直是用这个方法装的,都是可以成功的。

编译环境最主要的就是CMAKE,gcc,Ninja这三个安装就可以编译了

方法3:下载安装好的虚拟机

如果还是有问题可以直接下载阿木实验室提供了全部环境的虚拟机
只要你安装虚拟机软件打开就可以直接使用。
但是有一点请注意,我自己使用了很久的虚拟机,正常开发没有任何问题,但是如果使用gazebo这种3D图像界面的软件,虚拟机桌面很容易出问题所有请注意。

常遇到的问题总结

问题:提示没有 gnu awk
解决:sudo apt-get install gawk
参考:http://blog.csdn.net/mcgrady_tracy/article/details/39262117

问题:提示没有 future
解决:sudo pip install future
参考:https://www.cnblogs.com/shushanxiaoyao/p/6594809.html

问题:提示没有 genromfs
解决:sudo apt-get install genromfs
参考:https://www.cnblogs.com/shushanxiaoyao/p/6594809.html

缺啥装啥不用怕,这是目前我遇到过的所有问题,如果你有相关编译问题和解决方案欢迎通过邮箱zinghd@163.com告诉我,我们一起把各种疑难杂症都解决。

参考资料
PX4官网 http://px4.io/
PX4中文官网 https://dev.px4.io/zh/
JXF的两个博客
https://blog.csdn.net/oqqenvy12/article/details/52035127
https://blog.csdn.net/oqqenvy12/article/details/79266838

关注我的微信公众号,回复【编译】即可获取官方的4个脚本。

zinghd wechat
期待您的关注
您的赞赏是最大的支持