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

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.创建工作空间并初始化

可能出现问题:

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

二、MAVROS的安装(PX4:v1.10.0 \ ROS:kinetic)_第1张图片

 # 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

可能出现问题:

二、MAVROS的安装(PX4:v1.10.0 \ ROS:kinetic)_第2张图片

问题出在: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

二、MAVROS的安装(PX4:v1.10.0 \ ROS:kinetic)_第3张图片

5.创建工作区和部门

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

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

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

二、MAVROS的安装(PX4:v1.10.0 \ ROS:kinetic)_第4张图片

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

二、MAVROS的安装(PX4:v1.10.0 \ ROS:kinetic)_第5张图片

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

7.构建源

catkin build

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

二、MAVROS的安装(PX4:v1.10.0 \ ROS:kinetic)_第6张图片

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

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

 

 

 

 

 

 

 

你可能感兴趣的:(PX4)