当前位置:   article > 正文

Ubuntu16.04 Ardupilot 环境搭建(附踩坑指南)

ardupilot 环境搭建

一、ardupilot 源码下载


由于在github上下载较慢,所以建议使用gitee。
需要提前安装好git

git clone https://gitee.com/gu-kaifeng/ardupilot.git

然后我们基于目前最稳定的分支来新建一个分支“new_one”

  1. cd ardupilot
  2. git checkout -b new_one Copter-4.0.7
  3. git submodule update --init --recursive


然后需要更新子模块,这一步因为网络问题很容易失败,得想办法多试试;

我先把我的报扔上来,再说解决办法

 可以看到基本都是网络问题,我这边的处理办法是,将完整的项目包从虚拟机中拖到实体机中,在实体机中挂梯子,然后git submodule,还是要多尝试网络环境,连接手机热点可能有奇效。

中间我也尝试过git clone 单独某一个模块,或者直接从浏览器下载复制到module文件夹中,这些在git submodule 都会被忽略掉,不起作用。

二.正式搭建编译环境

  1. cd ~/ardupilot/Tools/environment_install/
  2. ./install-prereqs-ubuntu.sh

执行完脚本就正式开始踩坑之旅了

 1.更换apt国内源

1.1 备份文件

sudo cp /etc/apt/sources.list sources_backup.list


1.2 修改文件
 

sudo gedit /etc/apt/sources.list

以下是两个国内的ubuntu16.04源,可选一个复制到该文件中(这里可以直接删除原有内容,将以下内容复制进去)。

  1. #阿里云源
  2. deb-src http://archive.ubuntu.com/ubuntu xenial main restricted
  3. deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
  4. deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe
  5. deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
  6. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe
  7. deb http://mirrors.aliyun.com/ubuntu/ xenial universe
  8. deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
  9. deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
  10. deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
  11. deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
  12. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
  13. deb http://archive.canonical.com/ubuntu xenial partner
  14. deb-src http://archive.canonical.com/ubuntu xenial partner
  15. deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
  16. deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe
  17. deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
  18. deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
  1. #清华大学源
  2. deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
  3. deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
  4. deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
  5. deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
  6. deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
  7. deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
  8. deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
  9. deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
  10. deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
  11. deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse

2.更换pip源

sudo gedit ~/.pip/pip.conf 

添加以下文本

  1. [global]
  2. index-url = http://mirrors.aliyun.com/pypi/simple/
  3. [install]
  4. trusted-host=mirrors.aliyun.com

3.坑一,gcc-arm工具链下载问题

在安装个过程中会安装ARM交叉编译工具链gcc-arm-none-eabi-6-2017-q2-update-linux安装包下载地址,在脚本中默认使用wget下载,速度奇慢无比,可以事先下载(迅雷下起来很快).

下载完自行解压至/opt文件夹

tar -jxvf xx.tar.bz2 -C /opt

4.坑2,pip版本问题 

报错:Command “python setup.py egg_info“ failed with error code 1 in /tmp/pip-build-* ,经了解是pip和python版本问题,我自行升级安装了python3.7版本,我这里提供两个方法安装python3.7

4.1 添加ppa apt安装

  1. sudo add-apt-repository ppa:deadsnakes/ppa
  2. sudo apt update
  3. sudo apt install python3.7

这步我是找不到的,所以提供第二种源代码编译的流程。

4.2 源代码编译安装

1.下载 Python 3.7 的源代码包:

wget https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz

这步也可以直接在浏览器里下载 

2.解压源代码包:

tar -xzvf Python-3.7.12.tgz

 3.进入解压后的目录:

cd Python-3.7.12

 4.配置编译选、编译并安装 Python 3.7:

  1. ./configure --enable-optimizations
  2. make -j8
  3. sudo make altinstall

5.设置默认python版本

  1. sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.7 1
  2. sudo update-alternatives --config python3

6.更新pip

pip3 install --upgrade pip

 

5.坑三,pip找不到模块的问题

报错:ModuleNotFoundError: No module named ‘_ctypes’

解决方法:安装libffi-dev、重新编译python

  1. sudo apt-get install libffi-dev
  2. ./configure --enable-optimizations && make -j8 && sudo make altinstall

6. 坑四,找不到编译工具链

在这里插入图片描述

 这个重启的话会解决90%的问题,我也是通过重启后解决的

没有解决的可以参考一下以下方法

sudo gedit  /etc/profile

在文本最后添加这行(注意需要在最后一行代码后空一行再添加,不然会失败)
 

export PATH=$PATH:/usr/lib/gcc/gcc-arm-none-xxxx/bin

保存退出后,使能环境变量
 

source /etc/profile

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号