-2

我的名字是混乱,我正在学习如何使用 ROS2 控制无人机。

我目前的目标是掌握室内无人机导航。我没有这方面的经验,所以我找到并尝试了 The Construct 的 ROS Q&A 系列「2D 无人机导航」。非常有帮助,我学会了如何使用 ROS 1 构建无人机
。2D 无人机导航:https://www.youtube.com/watch?v=dND4oCMqmRs&t=71s

但是我是一个 ROS 初学者,很多人,包括官方的 ROS2 教程,都推荐从 ROS2 开始。

所以这是我的问题:

1.我如何使用 ROS2 重现「2D 无人机导航」中介绍的功能?是否有任何向后兼容的 ROS 包可以在 ROS2 中工作?例如,我在turtlebot3_navigation2 ROS2 分支中找不到「gmapping、amcl 和move_base」包或脚本。如果有这方面的最佳实践,请告诉我。
ROS1 turtlebot_navigation
ROS2 turtlebot3_navigation2

2.接下来我将尝试「[ROS Projects] - Performing LSD-SLAM with a ROS based Parrot AR.Drones」。和问题1一样,我想知道这些说明是否有ROS2版本。
使用基于 ROS 的 Parrot AR.Drones 执行 LSD-SLAM

3.我的最终目标是实现类似下面的视频。是否有任何 ROS2 软件包可以帮助使用无人机更轻松地进行室内导航?
使用 ROS 的无人机室内导航

最后,我有一个关于选择无人机核心的问题。

我正在通过观看 micro-ros 教程和使用 micro-ros 演示中使用的宏 MAV「Crazyflie」来学习如何使用 ROS2 构建我的无人机。
演示链接

PX4 支持 ROS2 并且与 ROS2 通信就像「Crazyflie」一样,我计划将来切换到 PX4。(概述

看来 Ardupilot 将来会支持 ROS2 但仍然使用 MAVROS,在下面的视频中称为「Not future proof」(DDS/ROS2 桥接器与 MAVROS)。因此,我认为PX4是目前最好的选择。如果我的结论是错误的,请告诉我。

DDS/ROS2 桥 vs MAVROS 3:01 ~

ROS2 MAVROS 对 Ardupilot 的支持

非常感谢您的帮助。我希望我没有问太多问题。

4

1 回答 1

-2

由于您的问题有点宽泛,我将逐个列出并回答每个部分。

  1. 您在这里的意思实际上是向前兼容的 ROS 节点(与 ROS2 一起工作的 ROS1 节点)。虽然表面上 ROS1 和 ROS2 相似,但语法差异非常明显;后端也存在很大差异。ROS2 还没有您在 ROS1 中注意到的完全充实的社区支持。但是,仍然有一些类似的包,例如 Nav2 包
  2. 就像我的最后一个答案一样,您会发现更少关于 ROS2 的“现成”解决方案。话虽如此,Nav2 包确实做了一些 SLAM。还有robot_devkit
  3. TEB 是 ROS1 的更好的本地规划者之一。虽然他们说有计划将其移植到 ROS2,但他们正在等待 Nav2 构建更加稳定。我知道nav2_planner,但是,我从未使用过它,也无法说出它的工作情况(如果有的话)。

很遗憾,我无法回答您的最后一个问题,因为我的 ROS 经验完全是停留在地面上的自动驾驶汽车。

于 2021-08-21T17:14:17.053 回答