Pixhawk开发环境搭建

1. Pixhawk开发环境搭建

  • PX4代码可以在 Mac OS,Linux 或者 Windows上进行开发,本文采用Ubuntu的长期支持版本Ubuntu16.04作为开发环境
  1. 为了便于开发,我们需要把用户添加到用户组”dialout”中,终端中执行:
sudo usermod -a -G dialout $USER

然后注销后,重新登录,因为重新登录后所做的改变才会有效。注意:永远不要使用sudo来修复权限问题,否则会带来更多的权限问题,需要重装系统来解决。

  1. 安装PX4的依赖包
    更新包列表,安装下面编译PX4的依赖包。先安装cmake,执行:
sudo add-apt-repository ppa:george-edison55/cmake-3.x -y
sudo apt-get update

安装必备的软件,比如python、git、qtcreator等等:

1.1. 必备软件

sudo apt-get install python-argparse git-core wget zip 
sudo apt-get install python-empy qtcreatorcmake build-essential genromfs -y

安装一些仿真工具:

1.2. 编译工具

  1. 添加源安装开发环境

    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
    
  2. 安装交叉编译工具链

    1. Ubuntu配备了一系列代理管理,这会严重干扰任何机器人相关的串口(或usb串口),卸载掉它也不会有什么影响,我们这里把它卸载:
      sudo apt-get remove modemmanager
      
    2. 更新包列表和安装下面的依赖包:
      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  
      
    3. 安装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
      
    1. 如果需要在树莓派上开发则需要安装树莓派上对于的工具链。树莓派开发者应该从下面地址下载树莓派Linux工具链。安装脚本会自动安装交叉编译工具链:
      git clone https://github.com/pixhawk/rpi_toolchain.git
      cd rpi_toolchain
      ./install_cross.sh
      

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

    ./install_cross.sh
    

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

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

    1. 先建立工作目录,然后从git上下载代码:

      mkdir -p ~/src
      cd ~/src
      
    2. 第一篇介绍过Pixhawk有两种固件包,我们使用ArduPilot固件包,执行命令

      git clone https://github.com/ArduPilot/ardupilot
      cd ardupilot
      git submodule update --init --recursive
      cd ..
      
    3. 现在可以通过编译源代码来构建二进制文件。在直接使用硬件前,推荐先进行仿真。然后就可以对代码进行编译并下载了:

      cd ardupilot
      make px4fmu-v2_default
      

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

你可能感兴趣的:(Pixhawk开发环境搭建)