这次安装是我配置环境有史以来耗时最久的一次,我也是借此机会踩了无数个Linux雷,也算是趁机熟悉了一把Linux。。。
把pix官网安装教程贴出来http://dev.px4.io/master/zh/setup/dev_env_linux.html
我安装一直失败的原因就是相信了中文WIKI而没有注意到它已经停止维护并且和英文版合并了。。。所以又是版本问题导致了update失败,这个问题卡了我很久,最后得以解决,详情见我另一个博客https://blog.youkuaiyun.com/k_x_k_baoqian/article/details/98474493
详细步骤:
1. 输入下面命令加入用户组
sudo usermod -a -G dialout $USER
之后重启
2.
Ubuntu 自带串口调试解调器管理器,这会和很多机器人使用的串口(或 USB 串口)发生冲突。 卸载并不会产生边际效应:
sudo apt-get remove modemmanager
3.克隆源代码到指定目录
没有git的需要先安装
sudo apt-get -qq -y install git
git clone https://github.com/PX4/Firmware.git
cd Firmware
4.安装ardupilot包
git clone https://github.com/diydrones/ardupilot.git
克隆到主文件夹
进入ardupilot/Tools/environment_install可找到许多os的安装环境的shell,由于我是Ubuntu,所以选择install-prereqs-ubuntu.sh 运行该shell可以安装好环境
我在安装过程中gcc-arm-none-eabi交叉编译环境时遇到下载不下来的情况,起先一度怀疑是网速问题,但96M死活下不下来不懂为什么,后来在电脑找到了一个老版本的gcc-arm的压缩包,删掉之后奇迹般几秒钟下好了,猜测可能是内存不够?不知道为什么,我的gcc-arm-none-eabi是2017最新的,看其他很多博客都说这个很重要,应该需要最新的,我觉得按照github上下载的shell来安装肯定比许多大佬手动安装靠谱一点。。。
到此安装环境结束,检查下面几个是否安装好:
arm-none-eabi-gcc --version
cmake --version
如果都能显示版本并且版本比较新的话就应该ok,其他什么python,c++编译环境你们自己稳一手
5.按理说此时进入Firmware就可以编译了。。。输入
make px4_fmu-v2_default
由于我的Pixhawk时,所以采用这个命令,其他不同版本对应不同的命令
- Pixhawk 4:
make px4_fmu-v5_default
- Pixracer:
make px4_fmu-v4_default
- Pixhawk 3 Pro:
make px4_fmu-v4pro_default
- Pixhawk Mini:
make px4_fmu-v3_default
- Pixhawk 2:
make px4_fmu-v3_default
- mRo Pixhawk:
make px4_fmu-v3_default
(支持 2MB 闪存) - HKPilot32:
make px4_fmu-v2_default
- Pixfalcon:
make px4_fmu-v2_default
- Dropix:
make px4_fmu-v2_default
- MindPX/MindRacer:
make airmind_mindpx-v2_default
- mRo X-2.1:
make auav_x21_default
- Crazyflie 2.0:
make bitcraze_crazyflie_default
- Intel® Aero Ready to Fly Drone:
make intel_aerofc-v1_default
- Pixhawk 1:
make px4_fmu-v2_default
> Warning 您 必须 使用 版本支持的GCC编译(比如,和用于CI/docker一样)或者从构建中删除模块。 使用不受支持的 GCC 构建可能会失败,因为 PX4 对飞控板有 1MB 的闪存限制。 - Pixhawk 1 的 2 MB 闪存版:
make px4_fmu-v3_default
-
第一次编译出现以下即为成功
重复编译的话我的反馈是-- Build files have been written to: /home/youruser/src/Firmware/build/px4_fmu-v4_default [954/954] Creating /home/youruser/src/Firmware/build/px4_fmu-v4_default/px4_fmu-v4_default.px4
-
:~/Pixhawk/src/Firmware$ make px4_fmu-v2_default
ninja: no work to do.ninja其实是官方推荐的一个???,反正就是说make很慢,用这个会很快,并且时输入make自动调用的
具体烧录的话只要在编译命令后加上upload就ok。
Erase : [====================] 100.0%
Program: [====================] 100.0%
Verify : [====================] 100.0%
Rebooting.
[100%] Built target upload
具体出现这个界面为成功。