二、MAVROS的安装(PX4:v1.10.0 \ ROS:kinetic)

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就安装完毕了!!!

哈哈哈哈哈啦啦啦啦啦了,离成功越来越近了...................

 

 

 

 

 

 

 

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

二、MAVROS的安装(PX4:v1.10.0 \ ROS:kinetic) 的相关文章

  • ROS:开机自启动

    Ubuntu14 04 网上很多资料说在 etc rc local中添加脚本 实验之后完全没用 可能是系统版本不对 解决 Ubuntu14 04 开机项命令 gnome session properties 点击 add name 名字 c
  • ROS系统基本功能的使用详解(基本指令/节点/服务/启动文件/动态参数)

    ROS系统基本功能的使用详解 一 创建工作空间 二 创建与编译ROS功能包 三 ROS的基本命令 3 1 节点 3 2 主题 3 3 服务 3 4 参数服务器 四 节点的创建与运行 4 1 创建源文件 4 2 修改CMakeLists tx
  • 思岚RPLIDAR A2 在ubuntu 16.04上的测试

    1 下载雷达ROS包 首先在github上下载rplidar的ros包 下载指令为 默认安装了git git clone https github com Slamtec rplidar ros git 在ubuntu上创建工作空间 并将该
  • ros+arduino学习(六):重构ros_lib库文件

    前言 ros lib是arduino程序和ros连接的库文件 通过使用这些库文件和相关函数 可以在arduino上通过编程使得arduino硬件开ros节点程序 这样arduino硬件就可以与上位机通过话题进行通讯 从而把arduino从传
  • 无人飞行器智能感知竞赛--模拟器安装

    开发环境 win11 wsl2 注意事项 请配合视频使用 如果不看视频会对下面的配置过程迷惑 因为一开始我是想安装在ubuntu18 04的 中途发现ubuntu18 04没有ros noetic 所以转入ubuntu20 04配置 视频链
  • ModuleNotFoundError: No module named ‘rosbag‘

    1 ModuleNotFoundError No module named rosbag File opt ros kinetic lib python2 7 dist packages roslib launcher py line 42
  • 在Ubuntu 14.04.2 LTS上安装Qt

    Qt是一个跨平台的应用程序框架 广泛用于开发具有GUI界面的应用软件以及命令行工具 几乎所有操作系统都可以使用Qt 如Windows Mac OS X Android等 用于开发Qt应用程序的主要编程语言是C 但是可以使用诸如Python
  • Ubuntu安装ROS

    原文链接 https blog csdn net qq 44830040 article details 106049992 这也是我在ubuntu里面安装ROS的第N次 以前每次安装过程都忘记总结了 导致每次安装ROS都浪费了很多的时间用
  • Ubuntu16.04及ROS Kinetic环境下安装使用RealSense SR300

    Ubuntu16 04及ROS Kinetic环境下安装使用RealSense SR300 1 准备条件 需要安装Ubuntu16 04及ROS Kinetic 2 安装驱动 安装realsense的驱动流程可以根据Github上的官方推荐
  • 树莓派配置wifi做热点方法

    http wiki jikexueyuan com project raspberry pi wifi html
  • 服务数据的定义和使用

    1 自定义数据服务 在包下创建srv文件夹 在文件夹下创建Person srv 在Person srv下输入以下内容 代表数据类型 string name uint8 age uint8 sex uint8 unknown 0 uint8
  • (ros/qt报错) FATAL: ROS_MASTER_URI is not defined in the environment

    安装qt之后 明明打开roscore但是qt运行跟ros有关的节点时报错 FATAL 1450943695 306401842 ROS MASTER URI is not defined in the environment Either
  • ROS1 ROS2学习

    ROS1 ROS2学习 安装 ROS ROS1 ROS2 命令行界面 ROS2 功能包相关指令 ROS 命令行工具 ROS1 CLI工具 ROS2 CLI工具 ROS 通信核心概念 节点 Node 节点相关的CLI 话题 Topic 编写发
  • 什么是 void `std::allocator`?即:`std::allocator`

    自动生成ROS 机器人操作系统 message C 头文件包含如下类型定义 typedef std msgs Header
  • 从 pcl::PointCloud 中删除点

    我是 PCL 新手 我正在使用 PCL 库 并且正在寻找一种从点云中提取点或将特定点复制到新点的方法 我想验证每个点是否符合条件 并且我想获得仅包含优点的点云 谢谢 使用 ExtractIndices 类 将要删除的点添加到 PointIn
  • 将 CUDA 添加到 ROS 包

    我想在 ros 包中使用 cuda 有人给我一个简单的例子吗 我尝试使用 cuda 函数构建一个静态库并将该库添加到我的包中 但总是出现链接错误 未定义的引用 cuda 我已经构建了一个可执行文件而不是库并且它可以工作 请帮忙 我自己找到了
  • 如何将曲面拟合到一组数据点并获得曲面方程

    乌班图 ROS 思维 Python程序 我正在尝试获取适合点云数据中的一组点的表面方程 数据来自激光雷达扫描仪 我在 rviz 中选择整个扫描的一部分 并获得该选择的坐标选定表面的图片 所选曲面并不总是如此线性 因为材质中可能存在轻微的曲线
  • 不使用ros编译roscpp(使用g++)

    我正在尝试在不使用ROS其余部分的情况下编译roscpp 我只需要订阅一个节点 但该节点拥有使用旧版本ROS的节点 并且由于编译问题 我无法将我的程序与他的程序集成 我从git下载了源代码 https github com ros ros
  • 如何订阅“/scan”主题、修改消息并发布到新主题?

    我想通过订阅message ranges来改进turtlebot3的LDS 01传感器 通过应用一些算法修改messange ranges并将其发布到新主题 如下所示 但是当我运行编码时出现错误 错误是 遇到溢出的情况 错误是 运行时警告
  • 无法在 Ubuntu 20.04 上安装 ROS Melodic

    我正在尝试使用这些命令在 Ubuntu 20 04 上安装 ROS Melodic sudo sh c echo deb http packages ros org ros ubuntu lsb release sc main gt etc

随机推荐