< >
Home » Turtlebot4入门教程 » Turtlebot4入门教程-软件-软件包安装

Turtlebot4入门教程-软件-软件包安装

Turtlebot4入门教程-软件-软件包安装

说明:

  • 介绍Turtlebot4相关软件包的安装
  • TurtleBot 4 有 4 个主要的软件存储库:turtlebot4、turtlebot4_robot、turtlebot4_desktop 和 turtlebot4_simulator。 每个存储库也是一个元包,包含一个或多个 ROS2 包

相关设备:

turtlebot4

  • 存储库包含由turtlebot4_robot 和turtlebot4_simulator 使用的通用包。
  • 源码可以查看github
  • 当安装turtlebot4_robot 或turtlebot4_simulator 时,turtlebot4 包会自动安装。
  • apt安装
  • 执行如下命令:
sudo apt update
sudo apt install ros-galactic-turtlebot4-description \
ros-galactic-turtlebot4-msgs \
ros-galactic-turtlebot4-navigation \
ros-galactic-turtlebot4-node
  • 源码安装
  • 下载源码
cd ~/turtlebot4_ws/src
git clone https://github.com/turtlebot/turtlebot4.git
  • 安装相关依赖
cd ~/turtlebot4_ws
vcs import src < src/turtlebot4/dependencies.repos
rosdep install --from-path src -yi
  • 编译
source /opt/ros/galactic/setup.bash
colcon build --symlink-install

turtlebot4_description

  • turtlebot4_description 包包含机器人的 URDF 描述和每个组件的网格文件。
  • 可以使用 robots_state_publisher 发布描述。

turtlebot4_msgs

  • turtlebot4_msgs 包包含 TurtleBot 4 上使用的自定义消息:

  • UserButton:用户按钮状态。

  • UserLed:用户主导控制。

  • UserDisplay:用户显示数据。

  • TurtleBot 4 还可以使用 iRobot® Create® 3 平台支持的所有操作、消息和服务:

Actions

  • AudioNoteSequence:在给定的迭代次数内从扬声器播放给定的一组音符。
  • DockServo:命令机器人停靠到其充电站。
  • DriveArc:命令机器人沿半径定义的弧线行驶。
  • DriveDistance:命令机器人沿直线行驶一段定义的距离。
  • LedAnimation:命令灯光执行指定的动画。
  • NavigateToPosition:命令机器人使用简单的方法驱动到目标里程计位置,该方法旋转到面对目标位置,然后转换到目标位置,然后可选地旋转到目标航向。
  • RotateAngle:命令机器人原地旋转指定量。
  • Undock:命令机器人脱离充电站。
  • WallFollow:使用碰撞和 IR 传感器命令机器人在左侧或右侧进行墙壁跟随。

Messages

  • AudioNote:命令机器人播放音符。
  • AudioNoteVector:命令机器人播放一系列音符。
  • Button:按钮的状态。
  • Dock:有关机器人感应其码头充电站的信息。
  • HazardDetection:机器人检测到的危险或障碍物。
  • HazardDetectionVector:机器人检测到的所有危险和障碍物。
  • InterfaceButtons:Create® 机器人面板上 3 个接口按钮的状态。
  • IrIntensity:从 IR 强度传感器读取。
  • IrIntensityVector:来自所有传感器的当前 IR 强度读数的矢量。
  • IrOpcode:机器人 IR 接收器检测到的操作码。用于检测码头和虚拟墙。
  • KidnapStatus:机器人是否被从地面捡起。
  • LedColor:LED 的 RGB 值。
  • LightringLeds:控制 6 个光环灯的 RGB 值。
  • Mouse:从鼠标传感器读取。
  • SlipStatus:机器人当前是否滑倒。
  • StopStatus:机器人当前是否停止。
  • WheelStatus:除了轮子是否启用之外,来自机器人两个轮子的当前/PWM 读数。
  • WheelTicks:从机器人读取两个轮子编码器。
  • WheelVels:指示机器人两轮当前速度。

Services

  • EStop:设置系统 EStop 开启或关闭,开启时切断电机电源,关闭时启用电机电源。
  • RobotPower:关闭机器人电源。
  • 有关详细信息,请参阅 irobot_create_msgs
  • 发布或订阅主题时,请确保您使用的 QoS 与主题的 QoS 匹配。

**turtlebot4_navigation **

  • turtlebot4_navigation 包包含在 TurtleBot 4 上使用 SLAM 和导航的启动和配置文件。

  • 它还包含 TurtleBot 4 Navigator Python 节点。

  • 启动文件:

  • Nav Bringup:启动导航。允许启动配置使用 SLAM、Nav2 和本地化。

  • SLAM Sync:使用在线同步映射启动 slam_toolbox。建议在 PC 上使用。

  • SLAM Async:使用在线异步映射启动 slam_toolbox。推荐在树莓派 4 上使用。

  • Nav Bringup 启动配置选项:

namespace: Top-level namespace.
default: None
use_namespace: Whether to apply a namespace to the navigation stack.
options: true, false
default: false
slam: Whether to launch SLAM.
options: off, sync, async
default: off
localization: Whether to launch localization.
options: true, false
default: false
nav2: Whether to launch Nav2.
options: true, false
default: false
map: Full path to map yaml file to load.
default: /path/to/turtlebot4_navigation/maps/depot.yaml
use_sim_time: Use simulation (Gazebo) clock if true.
options: true, false
default: false
param_file: Full path to the ROS2 parameters file to use for nav2 and localization nodes.
default: /path/to/turtlebot4_navigation/config/nav2.yaml
autostart: Automatically startup the nav2 stack.
options: true, false
default: true
use_composition: Whether to use composed bringup.
options: true, false
default: true
  • 运行同步 SLAM:
ros2 launch turtlebot4_navigation nav_bringup.launch.py slam:=sync
  • 使用 Nav2 运行异步 SLAM:
ros2 launch turtlebot4_navigation nav_bringup.launch.py slam:=async
  • 使用本地化和现有地图运行 Nav2:
ros2 launch turtlebot4_navigation nav_bringup.launch.py localization:=true slam:=off map:=/path/to/map.yaml

TurtleBot 4 导航器

  • TurtleBot 4 Navigator 是一个 Python 节点,它将 TurtleBot 4 特定功能添加到 Nav2 Simple Commander
  • 它提供了一组用于导航 TurtleBot 4 的 Python 方法。这包括停靠、导航到某个姿势、跟随航点等。
  • 有关示例,请访问导航教程

turtlebot4_node

  • turtlebot4_node 包包含控制机器人 HMI 以及其他逻辑的 rclcpp 节点turtlebot4_node 的源代码。
  • 该节点由物理机器人和模拟机器人使用。
Publishers:

/hmi/display: turtlebot4_msgs/msg/UserDisplay
description: The current information that is to be displayed (TurtleBot 4 model only).
/ip: std_msgs/msg/String
description: The IP address of the Wi-Fi interface.
Subscribers:

/battery_state: sensor_msgs/msg/BatteryState
description: Current battery state of the Create® 3.
/hmi/buttons: turtlebot4_msgs/msg/UserButton
description: Button states of the TurtleBot 4 HMI (TurtleBot 4 model only).
/hmi/display/message: std_msgs/msg/String
description: User topic to print custom message to display (TurtleBot 4 model only).
/hmi/led: turtlebot4_msgs/msg/UserLed
description: User topic to control User LED 1 and 2 (TurtleBot 4 model only).
/interface_buttons: irobot_create_msgs/msg/InterfaceButtons
description: Button states of Create® 3 buttons.
/joy: sensor_msgs/msg/Joy
description: Bluetooth controller button states (TurtleBot 4 model only).
/wheel_status: irobot_create_msgs/msg/WheelStatus
description: Wheel status reported by Create® 3.
Service Clients:

/e_stop: irobot_create_msgs/srv/EStop
description: Enable or disable motor stop.
/robot_power: irobot_create_msgs/srv/RobotPower
description: Power off the robot.
Action Clients:

/dock: irobot_create_msgs/action/DockServo
description: Command the robot to dock into its charging station.
/wall_follow: irobot_create_msgs/action/WallFollow
description: Command the robot to wall follow on left or right side using bump and IR sensors.
/undock: irobot_create_msgs/action/Undock
description: Command the robot to undock from its charging station.

Functions

  • 该节点具有一组静态功能,可通过按钮或显示菜单使用。

  • 目前支持的功能有:

Dock: Call the /dock action.
Undock: Call the /undock action.
Wall Follow Left: Call the /wall_follow action with direction FOLLOW_LEFT and a duration of 10 seconds.
Wall Follow Right: Call the /wall_follow action with direction FOLLOW_RIGHT and a duration of 10 seconds.
Power: Call the /robot_power service and power off the robot.
EStop: Call the /e_stop service and toggle EStop state.
  • TurtleBot 4 还支持以下菜单功能:
Scroll Up: Scroll menu up.
Scroll Down: Scroll menu down.
Back: Exit message screen or return to first menu entry.
Select: Select currently highlighted menu entry.
Help: Print help statement.

Configuration

  • 可以使用参数 .yaml 文件配置此节点。 默认机器人参数可以在这里找到。

  • Parameters:

    wifi.interface: The Wi-Fi interface being used by the computer. This is used to find the current IP address of the computer.
    menu.entries: Set menu entries to be displayed. Each entry must be one of the support functions.
    buttons: Set the function of Create® 3 and HMI buttons.
    controller: Set the function of TurtleBot 4 Controller buttons.

Buttons/按钮

  • turtlebot4_node 中的 Buttons 类为机器人上的所有按钮提供功能。 这包括 Create® 3 按钮、HMI 按钮和 TurtleBot 4 控制器按钮。 该节点从 /interface_buttons、/hmi/buttons 和 /joy 主题接收按钮状态。

  • 每个按钮都可以配置为在按下时具有单一功能,或者通过短按或长按来配置两个功能。 这是通过配置完成的。

  • 支持的按钮:

buttons:
    create3_1:
    create3_power:
    create3_2:
    hmi_1:
    hmi_2:
    hmi_3:
    hmi_4:

controller:
    a:
    b:
    x:
    y:
    up:
    down:
    left:
    right:
    l1:
    l2:
    l3:
    r1:
    r2:
    r3:
    share:
    options:
    home:
  • 实例:

  • 假设我们希望 TurtleBot 4 具有以下按钮功能:

  • 短按 Create® 3 按钮 1 切换 EStop。

  • 在 TurtleBot 4 控制器上按下 Home 5 秒即可关闭机器人。

  • 短按 HMI 按钮 1 执行左墙跟随,长按 3 秒执行右墙跟随。

  • 创建一个新的 yaml 文件:

cd /home/ubuntu/turtlebot4_ws
touch example.yaml
  • 使用您喜欢的文本编辑器并将以下内容粘贴到 example.yaml 中:
turtlebot4_node:
  ros__parameters:
    buttons:  
      create3_1: ["EStop"]
      hmi_1: ["Wall Follow Left", "Wall Follow Right", "3000"]

    controller:
      home: ["Power", "5000"]
  • 使用新配置启动机器人:
ros2 launch turtlebot4_bringup standard.launch.py param_file:=/home/ubuntu/turtlebot4_ws/example.yaml
  • 现在,按钮的行为应如 example.yaml 中所述。

LEDs

  • turtlebot4_node 中的 Leds 类控制 TurtleBot 4 上 HMI LED 的状态。它不用于 TurtleBot 4 Lite。

  • 有 5 个状态 LED 由节点控制:POWER、MOTOR、COMMS、WIFI 和 BATTERY。 还有 2 个用户 LED:USER_1 和 USER_2,它们由用户通过 /hmi/led 主题控制。 BATTERY 和 USER_2 LED 由一个红色和绿色 LED 组成,可以将它们打开为绿色、红色或黄色(红色 + 绿色)。 其余的只有绿色。

  • 状态 LED:

POWER: Always ON while turtlebot4_node is running.
MOTOR: ON when wheels are enabled, OFF when wheels are disabled.
Wheel status is reported on the /wheel_status topic.
COMMS: ON when communication with Create® 3 is active. OFF otherwise.
Receiving data on the /battery_state topic implies that communication is active.
WIFI: ON when an IP address can be found for the Wi-Fi interface specified in the configuration.
BATTERY: Colour and pattern will vary based on battery percentage.
Battery percentage is received on /battery_state topic.
  • 用户 LED:

  • 可以通过使用 UserLed 消息发布到 /hmi/led 主题来设置用户 LED。

  • 用户引导消息:

led: Which available LED to use.
uint8 USER_LED_1 = 0
uint8 USER_LED_2 = 1
color: Which color to set the LED to.
uint8 COLOR_OFF = 0
uint8 COLOR_GREEN = 1
uint8 COLOR_RED = 2
uint8 COLOR_YELLOW = 3
blink_period: Blink period in milliseconds.
uint32 ms
duty_cycle: Percentage of blink period that the LED is ON.
float64 (0.0 to 1.0)
  • 实例:
  • 将 USER_1 设置为纯绿色:
ros2 topic pub /hmi/led turtlebot4_msgs/msg/UserLed "led: 0
color: 1
blink_period: 1000
duty_cycle: 1.0" --once
  • 效果图

请输入图片描述

  • 将 USER_1 设置为关闭:
ros2 topic pub /hmi/led turtlebot4_msgs/msg/UserLed "led: 0
color: 0
blink_period: 1000
duty_cycle: 1.0" --once
  • 效果图

请输入图片描述

  • 以 1hz 以 50% 占空比使 USER_2 闪烁红色:
ros2 topic pub /hmi/led turtlebot4_msgs/msg/UserLed "led: 1
color: 2
blink_period: 1000
duty_cycle: 0.5" --once
  • 效果图

请输入图片描述

Display

  • turtlebot4_node 中的 Display 类控制 TurtleBot 4 的 HMI 显示。

  • 物理显示器是 128x64 OLED,通过 I2C 和 SSD1306 驱动程序进行控制。

  • 显示器有一个标题行,其中包含配置中指定的 Wi-Fi 接口的 IP 地址,以及在 /battery_state 主题上收到的电池百分比。

  • 显示屏还有 5 行默认用于菜单。 菜单条目在配置中指定,是一组可用功能。

  • 可以通过使用字符串消息发布到 /hmi/display/message 来覆盖 5 个菜单行。

  • 菜单可以有任意数量的条目。

  • 如果有超过 5 个条目,用户将不得不向下滚动以查看不适合 5 个菜单行的条目。

Menu Control

  • TurtleBot 4 显示屏有一个简单的滚动菜单。 菜单有 4 种控制功能:向上滚动、向下滚动、选择和返回。

  • 上下滚动允许用户浏览菜单条目,默认情况下分别映射到用户按钮 3 和 4。

  • 选择功能将调用当前选择的菜单项。

  • 这可以触发诸如停靠之类的操作、诸如 EStop 之类的服务,或显示诸如帮助消息之类的消息。 此功能默认映射到用户按钮 1。

  • 返回功能允许用户从消息屏幕返回菜单。

  • 如果菜单已经显示菜单条目,它将返回显示前 5 个菜单条目,并且第一个条目将突出显示。

请输入图片描述

TurtleBot 4 Robot

  • 源码地址
  • turtlebot4_robot 元包可以安装在运行 Ubuntu Server 20.04 和 ROS2 Galactic 的 Raspberry Pi 4B 上。
  • 源码安装
cd ~/turtlebot4_ws/src
git clone https://github.com/turtlebot/turtlebot4_robot.git
  • 安装依赖
cd ~/turtlebot4_ws
vcs import src < src/turtlebot4_robot/dependencies.repos
rosdep install --from-path src -yi
  • 编译
source /opt/ros/galactic/setup.bash
colcon build --symlink-install

Base

  • turtlebot4_base 包包含运行在物理机器人上的 rclcpp 节点turtlebot4_base_node 的源代码。
  • 该节点与 Raspberry Pi 的 GPIO 线路接口,允许它读取按钮的状态,以及写入 LED 和显示器。
Publishers:

/hmi/buttons: turtlebot4_msgs/msg/UserButton
description: Button states of the TurtleBot 4 HMI (TurtleBot 4 model only).
Subscribers:

/hmi/display: turtlebot4_msgs/msg/UserDisplay
description: The current information that is to be displayed (TurtleBot 4 model only).
/hmi/led/_<led>: std_msgs/msg/Int32
description: Hidden topics indicating the state of each LED.

GPIO Interface

  • TurtleBot 4 使用 libgpiod 与 Raspberry Pi 的 GPIO 线接口。
  • gpiochip0 设备代表 Raspberry Pi 的 40 引脚接头,用于读取和写入这些引脚。

I2C Interface

  • linux I2C 驱动程序用于在 Raspberry Pi 的 I2C 总线上读取和写入数据。
  • 显示器的 SSD1306 驱动程序默认连接到 i2c-3 设备,但也可以使用其他总线。

SSD1306

  • SSD1306 是 OLED 显示器的驱动程序。
  • 它通过通信总线(TurtleBot 4 的 I2C)接收命令并控制物理显示器的行为方式。
  • TurtleBot 4 使用此 STM32 SSD1306 驱动程序的修改版本将像素、形状和字符写入显示器。

配置

  • 如果您使用标准 PCBA 或不知道您在做什么,请勿更改引脚定义。
  • 可以使用 ROS 参数设置 turtlebot4_base_node 引脚定义。
  • 默认配置是:
turtlebot4_base_node:
  ros__parameters:
    # GPIO definition for HMI. Do NOT change if you are using the standard PCBA.
    gpio:
      user_button_1: 13
      user_button_2: 19
      user_button_3: 16
      user_button_4: 26

      led_green_power: 17
      led_green_motors: 18
      led_green_comms: 27
      led_green_wifi: 24
      led_green_battery: 22
      led_red_battery: 23
      led_green_user_1: 25
      led_green_user_2: 6
      led_red_user_2: 12

      display_reset: 2
  • 每个 GPIO 设备的值是 GPIO 编号,而不是引脚编号。

Robot Upstart

  • 机器人使用robot_upstart 包将启动启动文件安装为在机器人启动时启动的后台进程。
  • 启动文件位于turtlebot4_bringup 包下。
  • 要检查 TurtleBot 4 服务是否正在运行,请在 Raspberry Pi 上使用以下命令:
systemctl | grep turtlebot4
  • 如果服务处于活动状态,CLI 将回显turtlebot4.service loading active running "bringup turtlebot4"
  • 要从服务中读取最新的日志,请调用:
sudo journalctl -u turtlebot4 -r
  • 要停止服务,调用:
sudo systemctl stop turtlebot4.service
  • 这将杀死启动文件启动的所有节点。
  • 该服务将在重新启动时自动重新启动。
  • 要完全禁用该服务,请卸载该作业。
  • 要再次启动服务,请调用:
sudo systemctl start turtlebot4.service
  • 使用以下命令在 TurtleBot 4 上安装启动文件:
ros2 run robot_upstart install turtlebot4_bringup/launch/standard.launch.py --job turtlebot4 --rmw rmw_cyclonedds_cpp --rmw_config /etc/cyclonedds_rpi.xml
  • 在 TurtleBot 4 Lite 上使用以下命令:
ros2 run robot_upstart install turtlebot4_bringup/launch/lite.launch.py --job turtlebot4 --rmw rmw_cyclonedds_cpp --rmw_config /etc/cyclonedds_rpi.xml
  • 要卸载,请使用以下命令:
ros2 run robot_upstart uninstall turtlebot4
  • 卸载后,启动文件将不再在启动时启动。

Bringup

  • turtlebot4_bringup 包包含启动和配置文件来运行机器人软件。

  • 启动文件:

Joy Teleop: Launches nodes to enable the bluetooth controller.
OAKD: Launches the OAK-D nodes.
RPLIDAR: Launches the RPLIDAR node.
Robot: Launches the TurtleBot 4 nodes.
Lite: Launches all necessary nodes for the TurtleBot 4 Lite.
Standard: Launches all necessary nodes for the TurtleBot 4.
  • 配置文件:
TurtleBot 4 Controller: Configurations for the TurtleBot 4 controller.
TurtleBot 4: Configurations for the turtlebot4_node and turtlebot4_base_node.

Diagnostics

  • turtlebot4_diagnostics 包包含 TurtleBot 4 诊断更新程序的源代码和启动文件。
  • 启动文件:
Diagnostics: Launches the turtlebot4 diagnostics updater and the diagnostic aggregator node.

Diagnostics Updater

  • 诊断更新程序是在机器人上运行的 Python3 节点。 它订阅诊断主题记录特定于每个主题的统计信息。
  • 诊断数据可通过 rqt_robot_monitor 查看。
  • 诊断主题:
/battery_state: Check battery voltage and percentage.
/wheel_status: Check if wheels are enabled.
/dock: Check if the robot is docked.
/scan: Check the frequency of laser scans from the RPLIDAR.
/left/image: Check the frequency of images from the left OAK-D camera.
/right/image: Check the frequency of images from the right OAK-D camera.
/color/image: Check the frequency of images from the OAK-D colour sensor.
/stereo/image: Check the frequency of depth images from the OAK-D.
/hazard_detection: Check for detected hazards.
/imu: Check the frequency of IMU messages.
/mouse: Check the frequency of Mouse messages.
  • 查看诊断:
ros2 launch turtlebot4_viz view_diagnostics.launch.py
  • 效果图

请输入图片描述

turtlebot4_tests

  • turtlebot4_tests 包包含 TurtleBot 4 系统测试脚本的源代码。 这些脚本测试机器人的基本功能,对于解决问题很有用。

  • ROS Tests

  • ROS 测试使用 ROS 主题和操作来测试各种系统功能。

  • 测试结果保存到 ~/turtlebot4_test_results/Y_m_d-H_M_S 其中 Y_m_d-H_M_S 是测试的日期和时间。

  • 在测试期间还会记录一个 rosbag 并保存到同一位置。

  • 目前支持的测试:

Light Ring: Test the Create® 3 light ring
Create® 3 Button: Test the Create® 3 buttons
User LED: Test the HMI LEDs (TurtleBot 4 model only)
User Button: Test the HMI buttons (TurtleBot 4 model only)
Display: Test the HMI display (TurtleBot 4 model only)
Dock: Test the robots ability to undock and dock.
  • 运行测试:
ros2 run turtlebot4_tests ros_tests
  • 这将启动一个 CLI 菜单,可以在其中运行不同的测试。
  • 输入测试的索引并按回车键开始测试。 一些测试将自动运行,而另一些则需要用户输入。

请输入图片描述

TurtleBot 4 Desktop

  • turtlebot4_desktop 元包包含用于从 PC 可视化和与 TurtleBot 4 交互的包。
  • 源码地址github
  • apt安装
sudo apt update
sudo apt install ros-galactic-turtlebot4-desktop
  • 源码安装
cd ~/turtlebot4_ws/src
git clone https://github.com/turtlebot/turtlebot4_desktop.git
  • 依赖
cd ~/turtlebot4_ws
rosdep install --from-path src -yi
  • 编译
source /opt/ros/galactic/setup.bash
colcon build --symlink-install

turtlebot4_viz

  • turtlebot4_viz 包包含启动文件和配置,用于在 Rviz2 中查看机器人,以及查看诊断。

  • 启动文件:

View Diagnostics: Launches rqt_robot_monitor to view diagnostic data.
View Model: Launches rviz2. Used to view the model and sensor data.
View Robot: Launches rviz2. Used to view the robot while navigating.

TurtleBot 4 Simulator

  • turtlebot4_simulator 元包包含用于在 Ignition Gazebo 中模拟 TurtleBot 4 的包。
  • 源码地址github
  • turtlebot4_simulator 元包可以安装在运行带有 ROS2 Galactic 的 Ubuntu Desktop 20.04 的 PC 上。
  • 开发工具
sudo apt install -y \
python3-colcon-common-extensions \
python3-rosdep \
python3-vcstool
  • Ignition Edifice
  • 安装
sudo apt-get update && sudo apt-get install wget
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update && sudo apt-get install ignition-edifice
  • apt安装
sudo apt update
sudo apt install ros-galactic-turtlebot4-simulator ros-galactic-irobot-create-nodes
  • 源码安装
cd ~/turtlebot4_ws/src
git clone https://github.com/turtlebot/turtlebot4_simulator.git
  • 依赖
cd ~/turtlebot4_ws
vcs import src < src/turtlebot4_simulator/dependencies.repos
rosdep install --from-path src -yi
  • 编译
source /opt/ros/galactic/setup.bash
colcon build --symlink-install

Ignition Bringup

  • turtlebot4_ignition_bringup 包包含启动文件和配置来启动 Ignition Gazebo。
  • 启动文件:
Ignition: Launches Ignition Gazebo and all required nodes to run the simulation.
ROS Ignition Bridge: Launches all of the required ros_ign_bridge nodes to bridge Ignition topics with ROS topics.
TurtleBot 4 Nodes: Launches the turtlebot4_node and turtlebot4_ignition_hmi_node required to control the HMI plugin and robot behaviour.
  • 启动配置选项:
model: Which TurtleBot 4 model to use.
options: standard, lite
default: standard
rviz: Whether to launch rviz.
options: true, false
default: false
slam: Whether to launch SLAM.
options: off, sync, async
default: off
nav2: Whether to launch Nav2.
options: true, false
default: false
param_file: Path to parameter file for turtlebot4_node.
default: /path/to/turtlebot4_ignition_bringup/config/turtlebot4_node.yaml
world: Which world to use for simulation.
default: depot
robot_name: What to name the spawned robot.
default: turtlebot4
  • 使用默认设置运行模拟器:
ros2 launch turtlebot4_ignition_bringup ignition.launch.py
  • 使用 Nav2 运行同步 SLAM:
ros2 launch turtlebot4_ignition_bringup ignition.launch.py slam:=sync nav2:=true rviz:=true

Ignition GUI Plugins

  • turtlebot4_ignition_gui_plugins 包包含 TurtleBot 4 HMI GUI 插件的源代码。
  • TurtleBot 4 HMI GUI 插件仅用于标准模型。 lite 模型使用 Create® 3 HMI GUI 插件。

请输入图片描述

Ignition Toolbox

  • turtlebot4_ignition_toolbox 包包含 TurtleBot 4 HMI 节点的源代码。 TurtleBot 4 HMI 节点充当 turtlebot4_node 和 ros_ign_bridge 之间的桥梁,将自定义 TurtleBot 4 消息转换为标准消息,例如 Int32 和 String。

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: turtlebot4入门教程