ros2 humble 安装 navigation2
安装 Nav2 包:
在安装 ROS 2 的 navigation2 软件包时,你需要将 替换为你安装的 ROS 2 版本的名称(如 foxy, galactic, humble 等)。因此,正确的命令格式为:
sudo apt install ros-<ros2-distro>-navigation2
具体示例
如果你使用的是 humble 版本的 ROS 2,那么命令应为:
sudo apt install ros-humble-navigation2
sudo apt install ros-<ros2-distro>-nav2-bringup
为 Gazebo 安装演示机器人(Turtlebot):
对于Jazzy 及更新版本,请安装 Gazebo Modern 的 Turtlebot 3 和 4 包。它应该会自动安装nav2_bringup:
sudo apt install ros-<ros2-distro>-nav2-minimal-tb*
对于Iron 及更早版本,请安装适用于 Gazebo Classic 的 Turtlebot 3 软件包:
sudo apt install ros-<ros2-distro>-turtlebot3-gazebo
示例:
sudo apt install ros-humble-turtlebot3-gazebo
运行示例
在 GUI 中启动终端
设置关键环境变量,其中一些仅适用于 Iron 及更早版本:
source /opt/ros/<ros2-distro>/setup.bash
export TURTLEBOT3_MODEL=waffle # Iron and older only with Gazebo Classic
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/<ros2-distro>/share/turtlebot3_gazebo/models # Iron and older only with Gazebo Classic
示例:
source /opt/ros/humble/setup.bash
export TURTLEBOT3_MODEL=waffle # Iron and older only with Gazebo Classic
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/humble/share/turtlebot3_gazebo/models # Iron and older only with Gazebo Classic
在同一个终端中运行:
ros2 launch nav2_bringup tb3_simulation_launch.py headless:=False
headless默认为 true;如果没有设置为 false,则不会启动 gzclient(3d 视图)。
此启动文件将在模拟世界中启动带有 AMCL 定位器的 Nav2。它还将启动机器人状态发布器以提供变换、带有 Turtlebot3 URDF 的 Gazebo 实例和 RVIZ。
如果一切正常启动,您将看到如下所示的 RViz 和 Gazebo GUI(这是 Gazebo Classic,但您在现代 Gazebo 上看到的几乎完全相同):
导航
启动后,机器人最初不知道自己在哪里。默认情况下,Nav2 会等待您为其提供一个大致的起始位置。查看机器人在 Gazebo 世界中的位置,并在地图上找到该位置。通过单击 RViz 中的“2D Pose Estimate”按钮,然后在该位置的地图上向下单击来设置初始姿势。您可以通过从向下单击处向前拖动来设置方向。
如果您到目前为止都使用默认设置,那么机器人应该大致看起来像这样。
如果您没有准确定位,也没关系。Nav2 会在导航过程中优化位置。如果您愿意,也可以单击“2D 姿势估计”按钮,然后重试。
设置初始姿势后,变换树将完成,Nav2 将完全激活并准备就绪。现在您应该可以看到机器人和粒子云。
现在观看机器人前进!
安装示例完成