我的名字是混乱,我正在学习如何使用 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是目前最好的选择。如果我的结论是错误的,请告诉我。
非常感谢您的帮助。我希望我没有问太多问题。