PIXHAWK开发环境建立(固件编译)

来源:互联网 发布:与知否一样好看的小说 编辑:程序博客网 时间:2024/06/05 12:07

阿木社区:玩也要玩的专业!
http://www.amovauto.com/?p=842/  QQ群:526221258

目前有很多基于PIXHAWK的开发的无人机,业界对于APM/PIXHAWK也比较认可。我接下来就会写一系列文章来介绍PIXHAWK的安装,编译,模拟开发。因为PIXHAWK的二次开发余地比较大,整体代码框架性能优于APM,所以就以PIXHAWK为基础来进行飞控的二次开发。关注阿木无人机社区玩也的专业!

PIXHAWK的使用Qgroundcontrol作为地面站:http://qgroundcontrol.org/downloads/
PIXHAWK的开发工具连接下载地址:http://dev.px4.io/starting-installing.html/
可以根据不同了开发平选择不同的系统开发,因为开源的PIXHAWK对于linux的支持比较好,以后本文的软件安装和开发,均在linux下面。
本文翻译于:http://dev.px4.io/starting-installing-linux.html/ ( Development Environment on Linux)英文还不错的同学可以参考原文,我在这里结合自己的编译,开发情况给出一个实操作文章。

开发环境的安装:
权限设置:在安装开发环境之前为当前linux用户组设置一个用户组。(Never ever fix permission problems by using 'sudo'. It will create more permission problems in the process and require a system reinstallation to fix them.)只是原版的告警,所以要添加一个用户组。
sudo usermod -a -G dialout $USER

开发硬件环境:目前PX4支持4种主要的硬件系统。
分别是Pixhawk,高通的801飞控平台,树莓派2,SITL虚拟模拟平台。这几种平台都有相应的文档,感兴趣的同学可以移步。

在ubuntu14.04中安装如下库和软件
第一步:执行以下三条命令

  sudo add-apt-repository ppa:george-edison55/cmake-3.x -ysudo apt-get updatesudo apt-get install python-argparse git-core wget zip \    python-empy qtcreator cmake build-essential genromfs -y# simulation toolssudo apt-get install ant protobuf-compiler libeigen3-dev libopencv-dev openjdk-7-jdk openjdk-7-jre clang-3.5 lldb-3.5 -y

主要是cmake软件和仿真软件。我这边电脑lldb-3.5 的库找不到,我们暂且不安装这个库。就可以顺利的安装成功。

第二步:执行以下命令删除串口模式管理器
官网说Ubuntu的端口和USB serial端口有冲突,所以要删除modemmanager
sudo apt-get remove modemmanager

第三步:执行以下命令更新依赖包:
安装gcc-arm-none-eabi编译器

  sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded -ysudo apt-get updatesudo apt-get install python-serial openocd \    flex bison libncurses5-dev autoconf texinfo build-essential \    libftdi-dev libtool zlib1g-dev \    python-empy gcc-arm-none-eabi -y

如果上面的安装失败,我们可以尝试手动安装4.8的版本。

 pushd .cd ~wget https://launchpadlibrarian.net/186124160/gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2tar -jxf gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2exportline="export PATH=$HOME/gcc-arm-none-eabi-4_8-2014q3/bin:\$PATH"if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi. ~/.profilepopd
 sudo apt-get install gcc-arm-none-eabi -y 

这也可以安装GCC的编译工具的,如果前面的都不行,就试试这个直接安装。
安装32位的支持库:sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386 (如果安装失败可以跳过)

第四步:执行以下命令下载PX4源码
mkdir -p ~/src
cd ~/src
git clone https://github.com/PX4/Firmware.git

第五步:编译源码
cd Firmware
make px4fmu-v2_default
注意在编译源码的时候,最好在root超级用户下面,进行编译。我的开发环境就是,在sudo的条件下,一直说cmake找不到,在普通用户下说是没有权限。只有root用户,就很快的编译出了PIX固件,如果顺利真正的编译PIX固件的时间只有4分钟不到,比windows + eclipse编译下要快很多。
QQ截图20160614121320
这就是成功在ubuntu14.04的环境下编译的完成的效果。

第六步:上传固件至PIXHAWK

make px4fmu-v2_default upload

显示以下为上传成功:

Erase : [====================] 100.0%
Program: [====================] 100.0%
Verify : [====================] 100.0%
Rebooting.

[100%] Built target upload
如果ubuntu14.04正确的安装了PX4驱动,那么就可以上传到pixhawk中看看,编译的固件效果。
因为PX4的更新比较快,这里只是抛砖引玉的效果,同时建议在ubuntu下做PIX的开发工作,因为linux对于开源项目,一贯的支持都比较好。
阿木社区:玩也要玩的专业!
http://www.amovauto.com/?p=842/  QQ群:526221258

PX4官方推荐在模拟器上开发算法,下面几篇文章,我们尝试在虚拟器上运行是什么效果!

0 0
原创粉丝点击