AMOVLAB(阿木实验室)

APM/PIX4自动驾驶仪,MAVLINK地面站,图像传输,图像处理,机器学习,无人机

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

阿木社区:玩也要玩的专业!
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 -y
sudo apt-get update
sudo apt-get install python-argparse git-core wget zip \
    python-empy qtcreator cmake build-essential genromfs -y
# simulation tools
sudo 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 -y
sudo apt-get update
sudo 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.bz2
tar -jxf gcc-arm-none-eabi-4_8-2014q3-20140805-linux.tar.bz2
exportline="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
. ~/.profile
popd
 
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官方推荐在模拟器上开发算法,下面几篇文章,我们尝试在虚拟器上运行是什么效果!

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/msq19895070/article/details/51670829
个人分类: APM/PIX调试
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭