无人机开发之四:Pixhawk开发环境搭建

Pixhawk开发环境搭建

PX4代码可以在 Mac OS,Linux 或者 Windows上进行开发,本文采用Ubuntu的长期支持版本Ubuntu16.04作为开发环境

为了便于开发,我们需要把用户添加到用户组”dialout”中,终端中执行:

sudo usermod -a -G dialout $USER

然后注销后,重新登录,因为重新登录后所做的改变才会有效。

注意:永远不要使用sudo来修复权限问题,否则会带来更多的权限问题,需要重装系统来解决。

安装PX4的依赖包

更新包列表,安装下面编译PX4的依赖包。先安装cmake,执行:

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 
sudo apt-get install python-empy qtcreatorcmake build-essential genromfs -y

编译工具

添加源安装开发环境

    sudo add-apt-repository ppa:openjdk-r/ppa
    sudo apt-get update
    sudo apt-get install openjdk-8-jre
    sudo apt-get install ant protobuf-compiler libeigen3-devlibopencv-dev openjdk-8-jdk openjdk-8-jre clang-3.5 lldb-3.5 -y

安装交叉编译工具链

Ubuntu配备了一系列代理管理,这会严重干扰任何机器人相关的串口(或usb串口),卸载掉它也不会有什么影响,我们这里把它卸载:

sudo apt-get remove modemmanager

更新包列表和安装下面的依赖包:

        sudo apt-get install python-serial openocd 
        sudo apt-get install    flex bison libncurses5-devautoconf texinfo build-essential 
        sudo apt-get install    libftdi-dev libtoolzlib1g-dev 
        sudo apt-get install    python-empy  

安装arm-none-eabi编译工具链,在添加arm-none-eabi工具链之前,请确保删除残余:

删除残留命令

        sudo apt-get remove gcc-arm-none-eabi gdb-arm-none-eabibinutils-arm-none-eabi gcc-arm-embedded
        sudo add-apt-repository --remove ppa:team-gcc-arm-embedded/ppa

安装工具命令

       sudo apt-get install gcc-arm-none-eabi

如果需要在树莓派上开发则需要安装树莓派上对于的工具链。树莓派开发者应该从下面地址下载树莓派Linux工具链。安装脚本会自动安装交叉编译工具链:

        git clone https://github.com/pixhawk/rpi_toolchain.git
        cd rpi_toolchain
        ./install_cross.sh

在工具链安装过程中需要输入密码。如果不想把工具链安装在默认位置/opt/rpi_toolchain,可以执行

    ./install_cross.sh<PATH>

向安装脚本传入其它地址。安装脚本会自动配置需要的环境变量。最后,运行以下命令更新环境变量:

source ~/.profile

代码编译

开发环境搭建好之后,就可以开始下载代码并编译了,PX4可以在控制台或者图形界面/IDE开发。在这里我们对控制台的开发进行简要介绍。

首先建立工作目录,然后从git上下载代码:
mkdir -p ~/src cd ~/src

第一篇介绍过Pixhawk有两种固件包,我们使用ArduPilot固件包,执行命令
git clone https://github.com/ArduPilot/ardupilot cd ardupilot git submodule update --init --recursive cd ..

现在可以通过编译源代码来构建二进制文件。在直接使用硬件前,推荐先进行仿真。然后就可以对代码进行编译并下载了:
cd ardupilot make px4fmu-v2_default

注意到“make”是一个字符命令编译工具,“px4fmu-v2”是硬件/ardupilot版本,“default”是默认配置,所有的PX4编译目标遵循这个规则。通过在命令后面添加‘upload’,编译的二进制程序就会通过USB上传到飞控硬件。下载成功后的情况如下所示:

原文地址:https://www.cnblogs.com/hellocxz/p/12104970.html