zoukankan      html  css  js  c++  java
  • 无人机开发之四: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上传到飞控硬件。下载成功后的情况如下所示:

  • 相关阅读:
    数据库——MySQL进阶
    数据库——MySQL
    Django 六——自定义标签、图片验证码、发送邮件、评论树、组合搜索
    Django 五——中间件、缓存、CSRF、信号、Bootstrap(模板)
    Django 四——ModelForm用法
    Django 三—— Form组件
    Django补充知识点——用户管理
    FreeOTP可以用作谷歌认证的替代
    Chrome浏览器使用ajax加载本地数据文件问题
    技术积累--常用的文本分类的特征选择算法
  • 原文地址:https://www.cnblogs.com/hellocxz/p/12104970.html
Copyright © 2011-2022 走看看