ubuntu16.04下,ROS+PX4+QGC安装

ubuntu16.04下,ROS+PX4+QGC安装

ROS安装:

第一步:ROS安装前准备工作

1.在Ubuntu系统上,确认git已经安装

 sudo apt-get install git

2.添加sources.list

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

3.添加keys

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

4.系统更新

sudo apt-get update && sudo apt-get upgrade

5.安装ROS
Ubuntu 16.04安装Kinetic版本

sudo apt-get install ros-kinetic-desktop-full # Ubuntu 16.04

第二步 配置ROS

配置ROS是安装完ROS之后必须的工作
1.初始化rosdep

sudo rosdep init && rosdep update

2.ROS环境配置

#For Ubuntu 16.04
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

注意: ROS的环境配置,使得你每次打开一个新的终端,ROS的环境变量都能够自动配置好,也就是添加到bash会话中,因为命令source /opt/ros/kinetic/setup.bash 只在当前终端有作用,即具有单一时效性,要想每次新开一个终端都不用重新配置环境,就用echo语句将命令添加到bash会话中。

3.安装rosinstall

sudo apt-get install python-rosinstall

至此,ROS的安装就结束了,下面测试ROS能否正常运行。

第三步 测试ROS

首先启动ROS,输入代码运行roscore:

roscore

如果出现下图所示,那么说明ROS正常启动了!
在这里插入图片描述

PX4安装:

第一步前期环境搭建

1.在终端输入以下指令将将用户添加到附属组群

sudo usermod -a -G dialout $USER

2.按照官网教程
下载脚本ubuntu_sim_nuttx.sh
(可能需要科学上网,也可到文末网盘下载)

3.使脚本生效,执行指令

source ubuntu_sim_nuttx.sh 

这一步需要时间较长,等脚本执行完,重启电脑

4.检查gcc版本来检查是否成功安装Nuttx

arm-none-eabi-gcc --version

显示下列结果7.2.1则无问题

 arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 
 7.2.1 20170904 (release) [ARM/embedded-7-branch revision 255204]
 Copyright (C) 2017 Free Software Foundation, Inc.This is free software; 
 see the source for copying conditions. There is NO warranty; 
 not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

接下来就会发现在~/src目录下已经下载好了最新的PX4固件(如果没有看第二步)

第二步 下载编译px4源码

1.下载源码

git clone https://github.com/PX4/Firmware.git

(已有请跳过)
2.在Firmware文件夹下运行命令

cd Firmware
git checkout v1.8.0

选择v1.8.0版本较为稳定

git submodule update --init --recursive 

执行这一步的原因是clone的源码可能在/Tools/sitl_gazebo/jMAVSim等都是空文件夹,这一步很重要耗费时间较长

3.编译px4源码
若以上工作都没有问题就开始编译源码

make px4fmu-v4_default

4.编译仿真器

make posix_sitl_default gazebo

若编译通过,此时会弹出Gazebo模拟器窗口,你会看到一架无人机出现在环境中
在这里插入图片描述

编译问题汇总

每个人PC环境不同,遇到的问题也不尽相同,以下没提到的bug欢迎在评论区留言讨论。

使用双系统ubuntu16.04版本,自带默认python版本2.7,而执行脚本ubuntu_sim_nuttx.sh时自动安装python3.5,可以像下列这样查看一下

zyf@zyf:~/src/Firmware$ python
Python 2.7.12 (default, Jul 21 2020, 15:19:50) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
zyf@zyf:~/src/Firmware$ python3
Python 3.5.2 (default, Jul 17 2020, 14:04:10) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

报错:需要安装 pip3 install --user packaging
缺乏一些python库按照提示去安装,这里需要注意的一点用pip3 install 不要用pip install 因为上述讲过python版本的问题,编译px4需要python3.5,所以一些依赖库也得安装到python3下,可能会出现numpy安装不上的情况,这个时候使用sudo apt-get install python3-numpy

报错:gz: symbol lookup error: /usr/lib/libgdal.so.1: undefined symbol: sqlite3_column_table_name
ninja:build stopped: subcommand failed
手动安装sqlite3库(附上网址)我下载的是sqlite-autoconf-3330000.tar.gz解压后执行

CFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1" ./configure
make
sudo make install

QGC安装:

QGC下载安装网址
我下载了最新版qgc发现不支持16.04,至少得18.04的系统,所以我安装的是较为老版的QGCCv3.0.2,我下的是.AppImage下载后安装过程就按英文教程来就行

chmod +x ./QGroundControl.AppImage
./QGroundControl.AppImage  (or double click)

附网盘

内含脚本、sqlite库、qgc地面站
链接: https://pan.baidu.com/s/1Kvtn9ywK8IdUriaKEP7-CQ 提取码: up6t

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页