mavros安装

2023-05-16

mavros 功能包提供了 一台能够运行ros的机载电脑、支持MAVLINK协议的飞控和支持MAVLINK的地面站这三者之间的通讯功能。

MAVROS 是 ROS 与 MAVLink 协议之间的 有"官方" 支持的ROS功能包。

它当前正在扩展以启用 fast-RTPS messaging , 包括将 PX4 uORB 消息 转换为常见 ROS 话题的代码。

用自己的话说,MAVROS就是,一座连接 安装有ros的电脑与安装飞控的飞机的之间的桥,而以MAVLINiK就是其中通过的方式

这里有一些官网等教程的链接:

官网:px4-mavros

github:mavlink / mavros

官网:mavlink

目录

MAVROS的安装(源码方式安装)

1.安装依赖项工具

2.创建工作空间并初始化

3.安装Mavlink

可能出现问题:

4.安装MAVROS

5.创建工作区和部门

6.安装GeographicLib数据集:

7.构建源

8.确保从工作空间使用setup.bash或setup.zsh
 
MAVROS的安装(源码方式安装)

MAVROS功能包可以用源代码或二进制方式安装。

(这是ROS功能包常见的两种安装方式,源代码安装可以修改源码,二进制方式安装则不行,只能直接调用源码)

建议有ROS基础的开发者使用源代码方式安装。

所以,这里也不提供二进制的安装方式了
 
1.安装依赖项工具

你需要利用ROS的Python工具,如wstool (for retrieving sources), rosinstall, and catkin_tools (building) for this installation.

按照以下命令来安装:

sudo apt-get install python-catkin-tools python-rosinstall-generator -y

虽然可以使用 catkin_make 来编译MAVROS包(功能包), 但首选方法还是使用 catkin_tools , 因为它是一种更通用、更 "友好" 的编译工具。
2.创建工作空间并初始化

    mkdir -p ~/mavros_catkin_ws/src
    cd ~/mavros_catkin_ws
    catkin init
    wstool init src

如果这是你第一次使用wstool,你需要初始化你的代码文件夹。

wstool init ~/catkin_ws/src

3.安装Mavlink

     # We use the Kinetic reference for all ROS distros as it's not distro-specific and up to date
    #这句话的意思应该是:在所有的ROS发行版中,我们选择Kinetic这个版本作为参考,到现在为止,这个版本也不是特殊的发行版,你可以换成别的
     
     rosinstall_generator --rosdistro kinetic mavlink | tee /tmp/mavros.rosinstall

可能出现问题:

问题出在:raw.githubusercontent.com打不了(一开始我还以为啥代理出问题了,最后找了一圈,改了好多发现原来是这个问题)

网上有好多人说:raw.githubusercontent.com地址DNS污染

这个连接大家可以浏览一下:解决raw.githubusercontent.com地址DNS污染:https://www.jianshu.com/p/bbd79e0444ea

问题解决:

1.查询raw.githubusercontent.com网站的ip地址(查询地址:https://githubusercontent.com.ipaddress.com/raw.githubusercontent.com)

2.打开/etc/hosts文件然后增加raw.githubusercontent.com网站的ip地址

sudo gedit /etc/hosts

3.然后把查询到的ip地址写进去,写法参考我这个:

199.232.68.133   raw.githubusercontent.com

问题解决后,上面的这个指令输入以后输出:

这个意思不是已经完成的意思,一开始我还以为是完成了,傻乎乎的。

这个告诉你现在的版本是多少,然后你要自己去 git clone

如果你不知道这个什么意思的话,我们先放着,假设自己还不知道这个事情......
4.安装MAVROS

我们直接挑选稳定版本来下载:

注意,最好在src文件夹里面下载包

rosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall

成功输出:

本来这里是按照github那个网址来的,但是速度太慢了,为了提高速度,我把库导入到了gitee的自己仓库里面

大家可以按照这个网址来克隆:https://gitee.com/zhuleilei33/mavros.git

5.创建工作区和部门

注意要退回到工作空间的目录

    wstool merge -t src /tmp/mavros.rosinstall
    wstool update -t src -j4
    rosdep install --from-paths src --ignore-src -y

要是上面的那个MAVLink和我一样傻傻的未安装的话,在这里就会安装了

6.安装GeographicLib数据集:

GeographicLib是一小组C ++类,用于在地理,UTM,UPS,MGRS,地心和本地笛卡尔坐标之间执行转换,以进行重力(例如EGM2008),大地水准面高度和地磁场(例如WMM2020)的计算,以及解决测地线问题。

(库可以从使用NETGeographicLib包装库的.NET应用程序中使用。)它是由所提供的核心功能的合适替代 geotrans。

    官网:./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
    资料和亲自尝试:sudo ./src/mavros/mavros/scripts/install_geographiclib_datasets.sh

我这里的输出是已经存在了,可能我以前已经下过一次了。
7.构建源

catkin build

在这个过程中,卡了好几次,我以为要死机了,但是等一下又发现这个应该是假死机,等一下又可以了:

8.确保从工作空间使用setup.bash或setup.zsh

    #Needed or rosrun can't find nodes from this workspace.
    #这句话的意思就是说你不这么做的话,你就无法运行这个工作空间里面的节点
     
    source devel/setup.bash

与其这样,不如直接一次性搞定:

gedit ~/.bashrc

然后把这句话加入到里面:

source ~/mavros_catkin_ws/devel/setup.bash

OK,这样MAVROS就安装完毕了!!!

哈哈哈哈哈啦啦啦啦啦了,离成功越来越近了.................
————————————————
版权声明:本文为CSDN博主「手可摘星辰不去高声语」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44917390/article/details/106320411

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

mavros安装 的相关文章

随机推荐

  • Git 学习小结

    Git 安装和使用教程 git 提交 全部文件 git add git add xx命令可以将xx文件添加到暂存区 xff0c 如果有很多改动可以通过 git add A 来一次添加所有改变的文件 注意 A 选项后面还有一个句点 git a
  • ROS 串口

    64 TOC ROS学习笔记 ROS中使用串口进行通讯测试 参考两篇文献 xff0c 感谢原作者 xff1a https blog csdn net qq 44623066 article details 125626937 https b
  • sklearn库之sklearn.cluster.KMeans的学习

    这篇呢是接着上一篇kmeans的学习 xff0c 这篇主要是介绍调用机器学习的库来使用集成的kmeans 哈哈会调用就行 xff0c 主要学习呢就是看官方文档 xff0c 学习这个包装类的参数 xff0c 返回值以及它方法 这里面有好多ex
  • docker容器开启ssh端口

    docker容器开启ssh端口 启动一个docker容器 加端口 port 22 docker run dit p port 22 p port1 port restart span class token operator 61 span
  • PID中各个参数意义

    1 比例部分 xff1a PID是比例 积分 微分的简称 xff0c PID控制的难点不是编程 xff0c 而是控制器的参数整定 增大比例系数使系统反应灵敏 xff0c 调节速度加快 xff0c 并且可以减小稳态误差 但是比例系数过大会使超
  • 关于多线程,你必须知道的那些玩意儿

    进程与线程 概念 进程和线程作为必知必会的知识 xff0c 想来读者们也都是耳熟能详了 xff0c 但真的是这样嘛 xff1f 今天我们就来重新捋一捋 xff0c 看看有没有什么知识点欠缺的 先来一张我随手截的活动监视器的图 xff0c 分
  • 多传感器融合-搭建ROS工程

    多传感器融合搭建记录1 Tag3 0 一 安装Terminator二 vscode创建功能包三 ROS相关基础1 添加源文件2 添加launch文件3 ROS话题通讯 四 添加代码1 发布者publishera 点云发布类CloudPubl
  • Win11配置Matconvnet错误使用 vl_compilenn>nvcc_compile和datacu.hpp undefined的问题

    初始配置环境 xff1a 电脑 xff1a 联想R9000K Win11 显卡 xff1a 3080 Matlab 2021b Visual Studio 2017 Professional VS安装位置 xff1a D VisualStu
  • openstack/ovn环境,虚拟机连接外网设置

    当使用OVN来做为neutron的后端 xff0c 来实现SDN方案时 xff0c 我们也会需要虚拟机连接外网 xff0c 本文记录操作方法 xff1a 环境 xff1a pike版本 xff0c 创建好net1 xff0c 子网subne
  • 软件环境:安装报Error opening file for writing

    环境 xff1a 办公电脑 xff0c win10 xff0c 64位 xff1b 现象 xff1a 昨天给电脑升级工作相关软件 xff0c 安装报错 xff1b 解决 xff1a 先是更改目录权限等等诸多方案 xff0c 都无效 xff0
  • 卡尔曼滤波原理讲解以及基于陀螺仪和加速度计的角度估计:自己记录一下

    基于陀螺仪和加速度计的角度估计
  • oracle 新建用户

    1 打开命令行窗口 xff0c 输入 slqplus 回车 2 create user 用户名 identified by 密码 xff1b 回车 3 授权权限 xff1a grant connect resource dba to 用户名
  • 解决MySQL 8.0 SQLYog工具连接报错1251

    报错提示 xff0c 如图 xff1a 错误号码1251 Client does not support authentication protocol requested by server consider upgrading MySQ
  • vc中m_开头的意义

    一种变量命名方法 匈牙利命名法 xff0c m即member xff0c 即定义的变量为成员变量 这是一种命名规范
  • amixer

    1 查看有多少个接口可以操作 amixer controls amixer contents 2 get系列 amixer sget 39 Playback Path 39 0 3 set系列 amixer cset numid 61 2
  • 目标跟踪算法综述

    前言 目标跟踪是计算机视觉领域研究的一个热点问题 xff0c 其利用视频或图像序列的上下文信息 xff0c 对目标的外观和运动信息进行建模 xff0c 从而对目标运动状态进行预测并标定目标的位置 目标跟踪算法从构建模型的角度可以分为生成式
  • 树莓派开始,玩转Linux30:树莓派网络诊断

    树莓派开始 xff0c 玩转Linux30 xff1a 树莓派网络诊断 通过对网络协议的介绍 xff0c 我们已经了解了互联网通信的基本原理 互联网让树莓派变得更加强大 但这也意味着 xff0c 网络问题会让人非常恼火 下面介绍树莓派常用的
  • vs2017许可证书过期真正的解决方法

    看了网上的好多所谓VS2017的证书许可过期的解决方法 xff0c 感觉 xff0c 可能只有重装是最简单粗暴而且实用的了 其中我发现 xff0c 我的证书过期原因 xff0c 是因为当时系统重装了 xff0c 导致软件只留下的根目录 xf
  • centos防火墙开启、关闭、查看状态。

    一 对于centos7自带的防火墙的相关指令 systemctl stop firewalld service 停止firewall systemctl disable firewalld service 禁止firewall开机启动 sy
  • mavros安装

    mavros 功能包提供了 一台能够运行ros的机载电脑 支持MAVLINK协议的飞控和支持MAVLINK的地面站这三者之间的通讯功能 MAVROS 是 ROS 与 MAVLink 协议之间的 有 34 官方 34 支持的ROS功能包 它当