环境安装

注意:建议用能够上google的网安装,否则容易出奇奇怪怪的问题。

  • 必要编译工具
sudo apt-get install git zip qtcreator cmake build-essential genromfs ninja-build exiftool make cmake libc6-i386
sudo apt-get purge libc6-dev
sudo apt-get install libc6-dev
sudo apt-get install libc6-dev-i386
sudo apt-get install ninja-build
  • 安装python
sudo apt-get install python-argparse python-empy python-toml python-numpy python-yaml python-dev python-pip
  • 安装Python工具包
python -m pip install --upgrade setuptools
python -m pip install --upgrade pipsudo -H pip install pandas jinja2 pyserial cerberus
sudo -H pip install pyulog==0.5.0
sudo -H pip install future==0.15.0
  • 安装Gazebo仿真软件
依赖包安装:
sudo apt-get install protobuf-compiler libeigen3-dev libopencv-dev
设置软件包的来源:
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
设置软件包密钥:
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
更新软件源列表:
sudo apt-get update
安装Gazebo:
sudo apt-get install gazebo9 libgazebo9-dev
  • 安装编译器
#下载地址 http://firmware.ardupilot.org/Tools/PX4-tools/
tar -jxf gcc-arm-none-eabi-6-2017-q2-update-linux.tar.bz2配置编译环境,将编译器的路径放到.bashrc或者.profile文件中:
export PATH=$HOME/gcc-arm-none-eabi-6-2017-q2-update/bin:$PATH查看编译器版本确认是否配置成功:
arm-none-eabi-gcc --version
  • 下载源码
git clone -b Copter-3.6.9 https://github.com/ArduPilot/ardupilot.git
git submodule update --init --recursive
  • 添加测试工具
#修改gcc下载地址
nano install-prereqs-ubuntu.sh
#修改以下内容
ARM_ROOT="gcc-arm-none-eabi-6"
ARM_TARBALL="$ARM_ROOT-2017-q2-update-linux.tar.bz2"
ARM_TARBALL_URL="http://firmware.ardupilot.org/Tools/PX4-tools/$ARM_TARBALL"
#安装必要包
Tools/scripts/install-prereqs-ubuntu.sh -y
#添加到. ~/.bashrc
export PATH=$PATH:$HOME/ardupilot/Tools/autotest
export PATH=/usr/lib/ccache:$PATH

源码编译

waf 编译

  • 源码编译–Linux测试版(./waf 自带编译工具)
cd ardupilot
#https://ardupilot.org/dev/index.html  开发文档
./waf clean #如果有编译过则需要先清空
./waf distclean  #如果有编译过则需要先清空
./waf list_boards #查看支持的板子
./waf configure --board px4-v2 #配置板子类型 px4-v2-heli为直升机模式 minlure为测试模式
./waf copter #编译
  • bootload编译
 ./waf configure --board px4-v2 --bootloader./waf bootloader
  • 下载
./waf --targets bin/arducopter --upload

make 编译

  • 源码编译–Linux测试版
cd ardupilot/ArduCopter
#https://ardupilot.org/dev/index.html  开发文档
make clean
make px4-clean
make px4-cleandep
#所有板子命令在ardupilot/mk/px4_targets.mk这个文件内
make px4-v2
#编译成功后,生成的目标文件位于ArduCopter目录文件下,格式为***.px4。
  • 编译IO芯片固件
make px4-io-v2
  • 编译bootload
参考 https://github.com/PX4/Bootloader.git

常见错误

  • 内存不足
arm-none-eabi-ld: region `flash' overflowed by 1176 bytes

在编译apm最新固件时遇到上图报错,解决方法就是找到编译目录下的ld.script文件,将里面的flash对应的数值改大一点

ArduPilot 开发环境安装相关推荐

  1. Ubuntu 下无人机飞控 ArduPilot 开发环境搭建

    Ubuntu 下无人机飞控 ArduPilot 开发环境搭建 Ubuntu 下无人机飞控 ArduPilot 开发环境搭建 操作流程 升级安装包 安装 git 克隆代码 安装交叉编译工具链 将编译器添 ...

  2. 2021年大数据常用语言Scala(二):Scala开发环境安装

    目录 开发环境安装 安装JDK 安装scala SDK 步骤 具体操作 安装IDEA scala插件 步骤 开发环境安装 学习如何编写scala代码之前,需要先安装scala编译器以及开发工具 sca ...

  3. 一个电脑的重装到java开发环境安装配置的全过程

    刚拿到一台别人用过的电脑.看着c盘爆满,而且用了还是windows7操作系统,强迫症发作马上就准备重装系统. 之前换固态使用wepe制作U盘启动盘装系统的步骤和过程全部忘记的,贼尴尬. 同事都看不过眼 ...

  4. brew安装指定版本mysql,Mac 系统为 Valet 开发环境安装指定版本 MySQL

    Mac 系统为 Valet 开发环境安装指定版本 MySQL 由 学院君 创建于1年前, 最后更新于 5个月前 版本号 #3 1547 views 1 likes 0 collects 在 Mac 系 ...

  5. ubuntu下ZED相机开发环境安装

    ubuntu下ZED相机开发环境安装 安装设置ROS 安装NVIDIA显卡驱动 安装CUDA 安装ZED SDK(SDK和CUDA的版本需要对应) 安装ZED ROS包 前三步的话在我拿到的机子上已经 ...

  6. 【Android】1.1 开发环境安装和配置

    分类:C#.Android.VS2015: 创建日期:2016-01-20 2016-08-03说明:此版本已过时,最新版本见本博客置顶的内容. 一.安装JDK.SDK.NDK 无论是用C#和VS20 ...

  7. 三、安装cmake,安装resin ,tars服务,mysql 安装介绍,安装jdk,安装maven,c++ 开发环境安装...

    三.安装cmake,安装resin 2018年07月01日 21:32:05 youz1976 阅读数:308 开发环境说明: centos7.2 ,最低配置:1核cpu,2G内存,1M带宽 1.安装 ...

  8. android 和ios 混合式开发环境安装

    android 和ios 混合式开发环境安装 1.安装nodejs 官网下载:https://nodejs.org/en/ 下载node-v8.10.0-x64.msi 安装 2.安装ionic和co ...

  9. python安装wx模板_windows下wxPython开发环境安装与配置方法

    安装文件准备: 安装文件 下载地址 wxPython2.8-win32-unicode-2.8.10.1-py26.exe wxPython2.8-win32-docs-demos-2.8.10.1. ...

最新文章

  1. 嵌入式程序调用函数的内部过程和机制
  2. Javascript Array sort排序问题
  3. 反需求函数和边际收益_边际收益
  4. springboot requestmapping 正则_SpringBoot实现优雅的后端接口
  5. Sqlserver中 登录用户只能看到自己拥有权限的库
  6. Python 简单入门学习笔记
  7. c语言哈密顿路径算法,用于检查给定图中是否存在哈密顿循环或路径的C ++程序...
  8. 文本处理算法_关键词提取和文本摘要算法TextRank详解及实战
  9. python--列表list
  10. Docker学习总结(9)——Docker常用命令
  11. EJB3.0学习笔记-----Stateful Session Bean的原理
  12. (EasyX入门与实战)第五章 添加音乐
  13. Linux文件IO操作之IO编程(一)
  14. win10下装黑苹果双系统_黑苹果10.15.5系统与win10双系统镜像下载
  15. wps序号打乱重新排序_WPS中Excel怎么自动排序
  16. apex语言与java比较_Apex 基础知识合辑
  17. Three.js - 使用 ThreeBSP 对模型进行布尔运算
  18. 遍历shell中的字符串数组
  19. 如何以HTML显示Base64图像?
  20. java实现mysql自动更新创建时间与更新时间的两种方式

热门文章

  1. 我的世界服务器指令修复耐久,我的世界修改装备耐久度指令 | 手游网游页游攻略大全...
  2. BIT-Vehicle Dataset - 车辆车型识别数据集
  3. AI+医疗如何商业破冰?6位一线专家这样说
  4. 区块链通证经济的核心不在技术,而在于商业逻辑的重构
  5. Windows商店安装问题已解决 Xbox应用将改善游戏安装
  6. 编码:隐匿在计算机软硬件背后的语言pdf-Code:The Hidden Language of Computer Hardware and Software-Charles Petzold-pdf
  7. c++游戏编程初步(超简单)教学
  8. Magento清空购物车
  9. 大量数据批量插入数据库
  10. pythondocumentation_python官方文档