Ubuntu18.04搭配无人机仿真环境(ROS,PX4,gazebo,Mavros,QGC安装教程)

Ubuntu18.04搭配无人机仿真环境

  • ROS环境配置
    • 版本
    • 安装
  • gazebo安装
  • Mavrosa安装
  • PX4源码下载和编译
  • 运行仿真
  • 地面站安装

ROS环境配置

我个人使用了代理环境进行下载。Linux没有代理的可以使用国内源。

  1. 清华大学源

sudo sh -c ‘. /etc/lsb-release && echo “deb
http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME
main” > /etc/apt/sources.list.d/ros-latest.list’

  1. 中科大源

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’

版本

我个人使用的是linux18.04的版本,对应的ROS版本为Medolic。其他对应的版本如下。

系统版本ROS版本
14.04Indigo
16.04kinetic
18.04medolic
20.04noetic
22.04humble

安装

sudo apt-key adv --keyserver ‘hkp://keyserver.ubuntu.com:80’
–recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

参考官网

在这里插入图片描述

sudo apt install ros-melodic-desktop-full

*如果安装过程中有问题可以参考我的个人文章。参考文章

gazebo安装

我们使用gazebo9不要使用11,11版本太新会出现配对问题。

(1)

sudo apt-get install gazebo9

(2) Gazebo本身是独立于ROS的,因此还需要安装ROS的Gazebo插件

  • sudo apt install ros-melodic-gazebo9-*
  • sudo apt install ros-melodic-gazebo-*

(3) 验证

  • roscore打开ros核心
  • rosrun gazebo_ros gazebo 如果gazebo成功打开就参观,如果有错误解决办法参考他人博客。推荐博客

Mavrosa安装

更新库

  1. sudo apt-get update
    sudo apt-get upgrade

开始安装
2.

  • sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras
  • wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
  • sudo chmod a+x ./install_geographiclib_datasets.sh
  • sudo bash ./install_geographiclib_datasets.sh
  1. 检查是否成功安装
    启动一个PX4进程
    rostopic list 查看相关Mavros话题,有就安装成功了

PX4源码下载和编译

下载源码,-b后面可以更换版本

  • git clone -b v1.12.3 https://github.com/PX4/PX4-Autopilot.git --recursive

启动相关脚本以安装依赖项目

  • bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

切换到对应下载目录里面去

  • cd PX4-Autopilot

编译

  • make px4_sitl_default gazebo

设置环境变量

  • gedit ~/.bashrc
    这里注意,每个人的安装文件夹不一样,所以位置也要注意。总之把你对应文件夹的路径要正确
 source ~/Firmware/PX4-Autopilot/Tools/setup_gazebo.bash~/Firmware/PX4-Autopilot/~/Firmware/PX4-Autopilot/build/px4_sitl_default export
ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware/PX4-Autopilot export
ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware/PX4-Autopilot/Tools/sitl_gazebo

完成保存之后

  • source ~/.bashrc

运行仿真

  • cd ~/ PX4-Autopilot
  • roslaunch px4 mavros_posix_sitl.launch

在这里插入图片描述如果使用下面命令。connected为True的话说明通信有效。即Mavros与TSL通信成功。

  • rostopic echo /mavros/state

在这里插入图片描述

地面站安装

关于地面站可以参考我个人的两篇文章,分别是APP安装和源码安装。
源码安葬需要自己编译,使用Qt.
参考1APP直接安装

参考2源码安装

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/33998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单入门seleniumUI自动化测试

目录 一、selenium的介绍 二、selenium的原理 三、selenium的八种元素定位的方法 1、ID定位: 2 、name定位: 3、class定位: 4、tag定位: 5、link_text定位: 6、partial_link_text定位: 7、css定位…

ClickHouse常见的引擎和使用

1.日志引擎 日志引擎特点 1.数据存储在磁盘上 2.写入时将数据追加在文件末尾 3.不支持突变操作 4.不支持索引 5.非原子地写入数据 6.引擎不支持 ALTER UPDATE 和 ALTER DELETE 操作 建表语法示例 CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster] ( …

vue table动态合并, 自定义合并,参照合并,组合合并

<template><div><el-table:data"tableData":span-method"objectSpanMethod"border:header-cell-style"{ textAlign: center }"><el-table-column prop"area" label"区域" align"center">…

【uniapp】一文读懂app端安装包升级

一、前言 首先&#xff0c;在app端开发上线的过程中&#xff0c;会面临一个问题&#xff0c;就是关于app端的版本升级的问题。如果不做相关处理来引导用户的话&#xff0c;那么app就会出现版本没有更新出现的各种问题&#xff0c;我们常见的有在线升级和去指定地址下载安装两种…

【CSS】CSS 布局——弹性盒子

Flexbox 是一种强大的布局系统&#xff0c;旨在更轻松地使用 CSS 创建复杂的布局。 它特别适用于构建响应式设计和在容器内分配空间&#xff0c;即使项目的大小是未知的或动态的。Flexbox 通常用于将元素排列成一行或一列&#xff0c;并提供一组属性来控制 flex 容器内的项目行…

LeetCode ACM模式——栈与队列篇

目录 232. 用栈实现队列 225. 用队列实现栈 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值 239. 滑动窗口最大值 347. 前 K 个高频元素 刷题顺序及思路来源于代码随想录&#xff0c;网站地址&#xff1a;https://programmercarl.com 232.…

如何做线上监控

1、背景 软件的质量是需要全生命周期进行关注的,在生产环境下QA的活动就是测试右移,测试右移最关键的手段就是线上监控,也是至关重要的一个环节,可以通过技术的手段,提前感知到线上问题和风险,先于用户提前发现问题,提升服务可感知性,从而降低客户投诉。 2、通用原则…

LabVIEW开发图像采集和基于颜色的隔离

LabVIEW开发图像采集和基于颜色的隔离 在当今的工业和工厂中&#xff0c;准确性和精度是决定特定行业生产力的两个重要关键点。为了优化生产力&#xff0c;各行各业正在从手动操作转向自动操作和控制。机器人技术在工业过程中的出现为人类提供了机械辅助。机器视觉在工业机器人…

易服客工作室:WordPress 6.3性能改进

随着WordPress 6.3发布&#xff0c;本文总结了该版本的性能改进。虽然WordPress 6.2显著提高了Core的加载时间性能&#xff0c;树立了很高的标准&#xff0c;但WordPress 6.3性能改进已经超越了这些结果&#xff1a;根据进行的性能基准测试&#xff0c;与WordPress 6.2相比&…

为什么这么设计—— Go的GC

Go语言采用了3色标记清理法来对内存进行自动垃圾回收&#xff0c; 过程是这样的&#xff1a; &#xff08;1&#xff09;起初所有的对象都是白色的&#xff1b; &#xff08;2&#xff09;从根对象出发扫描所有可达对象&#xff0c;标记为灰色&#xff0c;放入待处理队列&…

Java GUI,mybatis实现资产管理系统

Java GUI——资产管理系统 前言&#xff1a;为了做java课设&#xff0c;学了一手Java GUI。感觉蛮有意思的&#xff0c;写写文章&#xff0c;做个视频记录一下。欢迎大家友善指出我的不足 资产管理系统录制视频&#xff0c;从头敲到尾 模块划分 资产信息管理 资产信息查询 …

Vue实现详细界面里面有一个列表

目录 Vue实现详细界面里面有一个列表 理一下思路&#xff1a; 效果如下&#xff1a; 1、 主页面正常写 2、详细界面(重点) 3、详细界面里面的列表(重点) 要点&#xff1a; Vue实现详细界面里面有一个列表 理一下思路&#xff1a; 1、首先需要这条数据的主键id&#xff…

CAD练习——绘制电风扇

注意要在三维空间内完成绘制 先绘制扇叶 两条射线确定角度 绘制圆弧&#xff08;圆修剪&#xff09; 绘制扇叶形状&#xff08;3点圆弧&#xff09; 圆角&#xff1a; 将这几段圆弧合成同一条多段线 换个立体视图 拉伸出厚度 绘制一个球 取二者交集&#xff08;带弧面的扇叶&a…

每日一题 34在排序数组中查找元素的第一个和最后一个位置(二分查找)

题目 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1&…

【博客698】为什么当linux作为router使用时,安装docker后流量转发失败

为什么当linux作为router使用时&#xff0c;安装docker后流量转发失败 场景 当一台linux机器作为其它服务器的router&#xff0c;负责转发流量的时候&#xff0c;让你在linux上安装docker之后&#xff0c;就会出现流量都被drop掉了 原因 没装docker之前&#xff1a; [root~]…

201、仿真-基于51单片机PT100测温设计铂电阻温度计设计Proteus仿真(程序+Proteus仿真+原理图+流程图+元器件清单+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、设计功能 二、Proteus仿真图 三、原理图 四、程序源码 资料包括&#xff1a; 方案选择 单片机的选择 方案一&#xff1a;STM32系列单片机控制&#xff0c;该型号单片机为LQFP44封装&#xff0c;内部资源足够用于本次设…

Linux 基础(八)常用命令 - ps kill pstree top netstat crontab

ps & kill & pstree & top & netstat & crontab pskillpstreetopnetstatcrontab ps process status 查看进程状态 基本语法 以下分别是两种方式查看本地进程信息。 查看所有进程&#xff0c;父进程id ps -ef 查看所有进程&#xff0c;资源占用 ps aux […

Clion开发STM32之HAL库I2C封装(基础库)

前言 引用参考: Clion开发STM32之HAL库GPIO宏定义封装(最新版) 头文件 /*******************************************************************************Copyright (c) [scl]。保留所有权利。***********************************************************************…

excel将主信息和明细信息整理为多对多(每隔几行空白如何填充)

excel导出的数据是主信息和明细信息形式。 方法如下:1、首先&#xff0c;从第一个单元格开始选中要填充的数据区域。2、按CtrlG或者F5调出定位对话框&#xff0c;点击左下角的【定位条件】。3、在【定位条件】中选择【空值】&#xff0c;然后点击【确定】按钮。4、按照上述操作…

Nodejs+vue+elementui汽车租赁管理系统_1ma2x

语言 node.js 框架&#xff1a;Express 前端:Vue.js 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;VScode 前端nodejsvueelementui, 课题主要分为三大模块&#xff1a;即管理员模块、用户模块和普通管理员模块&#xff0c;主要功能包括&#…