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

4. 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等等:

4.1. 必备软件

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

安装一些仿真工具:

4.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<PATH>
    向安装脚本传入其它地址。安装脚本会自动配置需要的环境变量。最后,运行以下命令更新环境变量:
    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上传到飞控硬件。下载成功后的情况如下所示:

猜你喜欢

转载自www.cnblogs.com/hellocxz/p/12104970.html