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

2023-05-16

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu16.04下,ROS+PX4+QGC安装 的相关文章

  • SYN6288中文语音合成 程序

    用到串口2 xff0c 因为串口1的话会影响下载 xff0c 需每次拔插线 include lt STC12C5A60S2 H gt include lt stdio h gt include lt math h gt include lt

随机推荐

  • STC单片机超声波程序

    SR05 xff0c 这款只能用定时器计算 include lt intrins h gt include 34 12864 h 34 include lt stdio h gt sbit RX 61 P1 6 sbit TX 61 P1
  • VTK学习-坐标系统

    写在前面 xff1a 这篇博客简要根据书本内容简要介绍一些VTK中要用到的坐标系统与空间变换 这一部分与计算机图形学结合更加紧密 想起之前也 被迫 研究过一段时间的计算机图形学中三维显示部分 xff0c 现在简单学一学 xff0c 提示一下
  • python出现进程已结束,退出代码为-1066598274 (0xC06D007E)的含义

    python出现进程已结束 xff0c 退出代码为 1066598274 0xC06D007E 的含义为你当前使用的某个包与其他相关的包版本之间发生冲突 解决方法 xff1a 卸载正在使用的当前包与相关包 重新安装一遍即可解决
  • lxc

    LXC为Linux Container的简写 Linux Container容器是一种内核 虚拟化技术 xff0c 可以提供轻量级的虚拟化 xff0c 以便隔离进程和资源 xff0c 而且不需要提供指令解释机制以及全虚拟化的其他复杂性 相当
  • 关于ros2、turtlebot3和nav2的应用总结

    关于ros2 turtlebot3和nav2的应用总结 一 资源简介 1 版本要求 ros2 foxy turtlebot3 waffle nav2 0 4 1 gazebo gazebo ros pkgs 3 5 0 zip 2 资源链接
  • motion_primitive_library导航源码阅读笔记

    一 motion primitive library导航源码阅读笔记 二 路径规划文献 Search based Motion Planning for Quadrotors using Linear Quadratic Minimum T
  • Linux下安装cmake步骤详解(图文)

    1 查看Linux位数 getconf LONG BIT 2 获cmake源码包 这里我先新建一个文件夹来存放cmake mkdir app cd app wget https cmake org files v3 3 cmake 3 3
  • cartographer代码流程整理

    代码解析地址 https zhuanlan zhihu com p 48010119 一 代码目录结构 1 cartographer ros 2 cartographer 二 测试命令 2D xff1a roslaunch cartogra
  • 关于ros2、webots的应用总结

    关于ros2 webots的应用总结 一 资源简介 1 版本要求 ubuntu20 04 1 ros2 foxy 2 资源链接 webots官网 xff1a http www cyberbotics com webots ros2网址 xf
  • 日常使用书签

    1 TensorFlow API 中 NCHW 与 NHWC 的区别 https blog csdn net weixin 41847115 article details 83794551 utm medium 61 distribute
  • 在ubuntu下安装opencv4.5.1详细步骤

    1 到https github com opencv opencv下载opencv4 5 1 xff0c 解压得到opencv master 2 安装依赖包 sudo apt get install build essential cmak
  • 路径规划资料

    1 RRT算法原理图解 https blog csdn net weixin 43465857 article details 96451631 2 最透彻的A 算法详解 https my oschina net u 4847229 blo
  • nav2阅读笔记

    1 机器人起始坐标是在全局地图中 xff0c 目标点也在全局地图中 xff0c 全局路径规划在全局地图完成 机器人的运动控制是在局部地图中完成 xff0c 也就是在车体坐标系下 2 无人机 自动驾驶车辆全局路径规划 局部路径规划都是在全局坐
  • 日常使用标签2

    日常使用标签2 1 CUDA入门教程 https blog csdn net luoganttcc article details 123474189
  • 人工智能概述

    目录 什么是人工智能实现人工智能的方法逻辑编程机器学习深度学习机器学习和深度学习的区别 人工智能的分类如何实现人工智能 什么是人工智能 人工智能 又被称为机器智能 xff0c 是一种综合计算机科学 统计学 语言学等多种学科 xff0c 使机
  • 2019了,转行学编程过时了吗?

    最近 xff0c 我的一篇文章 现在学Java的人都是傻子 引起了一些网友讨论 xff0c 都在说现在学Java过时了 xff0c Java市场趋于饱和了 xff0c 应该弃学Java xff0c xff0c 难道Java编程真的过时了 x
  • 什么是用户态和内核态?用户态和内核态是如何切换的?

    3 什么是用户态和内核态 xff1f 用户态和内核态是操作系统的两种运行状态 xff0c 操作系统主要是为了对访问能力进行限制 xff0c 用户态的权限较低 xff0c 而内核态的权限较高 用户态 xff1a 用户态运行的程序只能受限地访问
  • ubuntu安装Clamav

    一 简介 Clam AntiVirus是一个类UNIX系统上使用的反病毒软件包 主要应用于邮件服务器 xff0c 采用多线程后台操作 xff0c 可以自动升级病毒库 ClamAV是一个在命令行下查毒软件 xff0c 因为它不将杀毒作为主要功
  • 什么是上下文切换?

    上下文切换指的是内核操作系统的核心在CPU上对进程或者线程进行切换 搞清楚上下文切换需要先搞清楚什么是上下文 CPU在开始执行任务时需要先知道从哪里去加载任务 xff0c 从哪里开始执行 xff0c 上下文的作用就是告诉CPU这些 xff0
  • ubuntu16.04下,ROS+PX4+QGC安装

    ubuntu16 04下 xff0c ROS 43 PX4 43 QGC安装 ROS安装 xff1a 第一步 xff1a ROS安装前准备工作 1 在Ubuntu系统上 xff0c 确认git已经安装 span class token fu