虽然有很多关于px4博客,但还是想自己亲手写,一来记录自己的学习过程,以备将来复习,二来方便后来者参考学习,好多西当然要大家分享。
关于px4飞控程序的博客,我打算写成一个系列,目前计划包括的内容有:
1.win10操作系统和Ubuntu操作系统开发px4程序需要安装的软件及怎么安装。
2.nuttx操作系统介绍。
3.px4代码结构。
4.uORB介绍。
5.关键模块代码分析,可能分多篇进行。
6.添加自己的模块。
7.与ROS通信。
8.在模拟器中测试所写代码。
a.px4_toolchain_installer_v14_win.exe(开发工具链)。
b.px4driver.msi(px4usb驱动)。
a和b的下载地址:https://dev.px4.io/zh/setup/dev_env_windows.html
虽然它官方的Guide要求下载QT Creator IDE,但是它在后面也说了
,
所以不推荐用qt来开发(我曾经尝试安装过,编译过程遇到很多麻烦,问题一个接一个,最后只能作罢)。
c.cmake-3.3.2-win32-x86.exe。一定要用32位的cmake,不管你的电脑是32位还是64位。版本的话,我用的3.3.2是没有问题的,现在最高到3.9.1,没有试过,各位有用这一方法的如果用过更高版本的,可在评论区留言。
c的下载地址:https://cmake.org/download/
d.jdk-8u131-windows-i586.exe(Java SDK)。也是一定要用32位的,不管你的电脑是32位还是64位。这个版本应该没有限制,直接下载最新版即可。
d的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
e.python-2.7.13.msi,版本的话,2.7.3到2.7.13都可以。我下载的是2.7.13。
e的下载地址:https://www.python.org/downloads/
f.gcc-arm-none-eabi-5_4-2016q2-20160622-win32.zip,或者gcc-arm-none-eabi-5_4-2016q3-20160926-win32.zip。
f的下载地址:https://launchpad.net/gcc-arm-embedded/+download
1.安装px4_toolchain_installer_v14_win,安装在c盘或者d盘的根目录,我是安装在d盘根目录,安装完成后d盘根目录下会出现一个叫“px4”的目录。
在开始菜单出现PX4Console、PX4Ecplise等工具。
2.安装cmake-3.3.2-win32-x86.exe,安装的时候一定要把CMake加入到系统路径中。
3.安装jdk-8u131-windows-i586.exe,安装完成后在在命令行输入 java -version来查看Java是否配置成功。
4.安装python-2.7.13.msi,安装在c盘或者d盘的根目录,我是安装在d盘根目录,安装完成后d盘根目录下会出现一个叫“Python27”的目录。
5.然后把目录D:\Python27\Scripts加入环境变量Path下。因为该目录下有pip.exe和easy_install.exe两个可执行文件,一会要用到。打开命令行,切换的目录D:\Python27\Scripts,执行如下两条命令(必须):
pip install jinja2
easy_install empy catkin_pkg
安装这两个模块。
6.把D:\px4目录下的Python27删除,如果不放心可以减切到别处。把D:\Python27整个文件夹复制的D:\px4下。注意一定要先删除在复制过来。
7.解压gcc-arm-none-eabi-5_4-2016q2-20160622-win32.zip,把解压缩后的4个文件夹替换到目录D:\px4\toolchain。
打开PX4console,切换到目录D:\px4\workspace下,执行:
git clone https://github.com/PX4/Firmware.git
下载完毕后,切换到Firmware文件夹,执行:
cd Firmware
然后更新固件子模块,执行:
git submodule update --init --recursive
下载完毕后可以进行编译,执行:
make px4fmu-v2_default
如果成功,说明环境配置没有问题,可以在图形界面Eclipse下进行开发。
1.打开PX4Eclipse。选择workspace,即下载的固件的位置,我是在上一步中把固件下载到D:\px4\workspace中。
2.建立工程。File -> New -> Makefile Project with Existing Code,
填写工程名,选择下载的固件的路径,我是D:\px4\workspace\Firmware
因为我已经建立了叫Firmware的工程,所以这里的Finish按钮是灰色的,正常情况点击“Finish”按钮建立工程。
3.界面布局调整。Window -> Reset Perspective…。
4.创建编译目标px4fmu-v2_default 。在下图红框点击,(这个框在右上角)
然后出现:
同理创建其它的:px4fmu-v2_default upload,px4fmu-v2_lpe等等。
5.双击刚才创建的px4fmu-v2_default,即可进行编译。或者双击px4fmu-v2_default upload,在编译完成后可进行下载。
Ubuntu上的配置没什么可以说的,官方的帮助文档很详细,我当初根据官方文档一步一步来,最终成功编译PX4固件,没有遇到什么问题。具体参考:https://dev.px4.io/zh/setup/dev_env_linux.html和
https://dev.px4.io/zh/setup/building_px4.html。