turtlebot2机器人topic指令解析

输入指令:

roslaunch turtlebot_bringup minimal.launch

可以启动turtlebot2机器人底盘。

输入:

rostopic list

显示:

/cmd_vel_mux/active

当没有键盘手柄遥控时发送的消息为: data: “idle”

当使用键盘遥控时发送的消息为:data: “Teleoperation”

/cmd_vel_mux/input/navi

底盘线速度和角速度控制

    rostopic pub /cmd_vel_mux/input/navi geometry_msgs/Twis"linear:
      x: 0.2
      y: 0.0
      z: 0.0
    angular:
      x: 0.0
      y: 0.0
      z: 0.0"

/cmd_vel_mux/input/safety_controller

底盘速度控制,在运行过程中会监控bumper等

    rostopic pub /cmd_vel_mux/input/safety_controller geoy_msgs/Twist "linear:
      x: 0.0
      y: 0.0
      z: 0.0
    angular:
      x: 0.0
      y: 0.0
      z: -2.0"

/cmd_vel_mux/input/switch

底盘速度控制
利用机器人操作系统ros对机器人进行控制,自主导航navigation输出的速度由于加速度大,会造成小车震动,需要进行速度平滑。

rostopic pub /cmd_vel_mux/input/switch geometry_msgs/Twist "linear:
  x: 0.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 2.0"

/cmd_vel_mux/input/teleop

遥控小车的速度话题

/cmd_vel_mux/parameter_descriptions

groups: 
  - 
    name: "Default"
    type: ''
    parameters: 
      - 
        name: "yaml_cfg_file"
        type: "str"
        level: 0
        description: "Pathname to a yaml file for re-configuration of the mux"
        edit_method: ''
      - 
        name: "yaml_cfg_data"
        type: "str"
        level: 0
        description: "Yaml-formatted string for re-configuration of the mux"
        edit_method: ''
    parent: 0
    id: 0
max: 
  bools: []
  ints: []
  strs: 
    - 
      name: "yaml_cfg_file"
      value: ''
    - 
      name: "yaml_cfg_data"
      value: ''
  doubles: []
  groups: 
    - 
      name: "Default"
      state: True
      id: 0
      parent: 0
min: 
  bools: []
  ints: []
  strs: 
    - 
      name: "yaml_cfg_file"
      value: ''
    - 
      name: "yaml_cfg_data"
      value: ''
  doubles: []
  groups: 
    - 
      name: "Default"
      state: True
      id: 0
      parent: 0
dflt: 
  bools: []
  ints: []
  strs: 
    - 
      name: "yaml_cfg_file"
      value: ''
    - 
      name: "yaml_cfg_data"
      value: ''
  doubles: []
  groups: 
    - 
      name: "Default"
      state: True
      id: 0
      parent: 0

/cmd_vel_mux/parameter_updates

bools: []
ints: []
strs: 
  - 
    name: "yaml_cfg_file"
    value: "/opt/ros/kinetic/share/turtlebot_bringup/param/mux.yaml"
  - 
    name: "yaml_cfg_data"
    value: ''
doubles: []
groups: 
  - 
    name: "Default"
    state: True
    id: 0
    parent: 0

/diagnostics

监控电池,防撞传感器,数字输出,模拟输入,轮子放掉传感器

header: 
  seq: 40889
  stamp: 
    secs: 1455253026
    nsecs: 782586536
  frame_id: ''
status: 
  - 
    level: 0
    name: "mobile_base_nodelet_manager: Battery"
    message: "Healthy"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "Voltage (V)"
        value: "15"
      - 
        key: "Percent"
        value: "60.1613"
      - 
        key: "Charge (Ah)"
        value: "1.32355"
      - 
        key: "Capacity (Ah)"
        value: "2.2"
      - 
        key: "Source"
        value: "None"
      - 
        key: "Charging State"
        value: "Not Charging"
      - 
        key: "Current (A)"
        value: "0"
  - 
    level: 0
    name: "mobile_base_nodelet_manager: Watchdog"
    message: "Alive"
    hardware_id: "Kobuki"
    values: []
  - 
    level: 0
    name: "mobile_base_nodelet_manager: Wall Sensor"
    message: "All right"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "Left"
        value: "NO"
      - 
        key: "Center"
        value: "NO"
      - 
        key: "Right"
        value: "NO"
  - 
    level: 0
    name: "mobile_base_nodelet_manager: Cliff Sensor"
    message: "All right"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "Left"
        value: "Reading: 1616  Cliff: NO"
      - 
        key: "Center"
        value: "Reading: 1906  Cliff: NO"
      - 
        key: "Right"
        value: "Reading: 1636  Cliff: NO"
  - 
    level: 0
    name: "mobile_base_nodelet_manager: Wheel Drop"
    message: "All right"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "Left"
        value: "NO"
      - 
        key: "Right"
        value: "NO"
  - 
    level: 0
    name: "mobile_base_nodelet_manager: Motor Current"
    message: "All right"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "Left"
        value: "0"
      - 
        key: "Right"
        value: "0"
  - 
    level: 0
    name: "mobile_base_nodelet_manager: Motor State"
    message: "Motors Enabled"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "State"
        value: "1"
  - 
    level: 0
    name: "mobile_base_nodelet_manager: Gyro Sensor"
    message: "Heading: 47.51 degrees"
    hardware_id: "Kobuki"
    values: []
  - 
    level: 0
    name: "mobile_base_nodelet_manager: Digital Input"
    message: "[0, 0, 0, 0]"
    hardware_id: "Kobuki"
    values: []
  - 
    level: 0
    name: "mobile_base_nodelet_manager: Analog Input"
    message: "[4095, 4095, 4095, 4095]"
    hardware_id: "Kobuki"
    values: []

/joint_states

轮子关节的位置,速度

header: 
  seq: 2249478
  stamp: 
    secs: 1455253412
    nsecs: 736773438
  frame_id: ''
name: [wheel_left_joint, wheel_right_joint]
position: [544.5388087565079, 423.2924498151988]
velocity: [0.0, 0.0]
effort: [0.0, 0.0]

/diagnostics_agg

监控模拟输入,数字输入,电机,车子上的传感器是否正常工作

header: 
  seq: 45219
  stamp: 
    secs: 1455253559
    nsecs: 712958197
  frame_id: ''
status: 
  - 
    level: 0
    name: "/Input Ports"
    message: "OK"
    hardware_id: ''
    values: 
      - 
        key: "mobile_base_nodelet_manager: Analog Input"
        value: "[4095, 4095, 4095, 4095]"
      - 
        key: "mobile_base_nodelet_manager: Digital Input"
        value: "[0, 0, 0, 0]"
  - 
    level: 0
    name: "/Input Ports/Analog Input"
    message: "[4095, 4095, 4095, 4095]"
    hardware_id: "Kobuki"
    values: []
  - 
    level: 0
    name: "/Input Ports/Digital Input"
    message: "[0, 0, 0, 0]"
    hardware_id: "Kobuki"
    values: []
  - 
    level: 0
    name: "/Kobuki"
    message: "OK"
    hardware_id: ''
    values: 
      - 
        key: "mobile_base_nodelet_manager: Motor State"
        value: "Motors Enabled"
      - 
        key: "mobile_base_nodelet_manager: Watchdog"
        value: "Alive"
  - 
    level: 0
    name: "/Kobuki/Motor State"
    message: "Motors Enabled"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "State"
        value: "1"
  - 
    level: 0
    name: "/Kobuki/Watchdog"
    message: "Alive"
    hardware_id: "Kobuki"
    values: []
  - 
    level: 0
    name: "/Power System"
    message: "OK"
    hardware_id: ''
    values: 
      - 
        key: "mobile_base_nodelet_manager: Battery"
        value: "Healthy"
  - 
    level: 0
    name: "/Power System/Battery"
    message: "Healthy"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "Voltage (V)"
        value: "14.8"
      - 
        key: "Percent"
        value: "54.0323"
      - 
        key: "Charge (Ah)"
        value: "1.18871"
      - 
        key: "Capacity (Ah)"
        value: "2.2"
      - 
        key: "Source"
        value: "None"
      - 
        key: "Charging State"
        value: "Not Charging"
      - 
        key: "Current (A)"
        value: "0"
  - 
    level: 0
    name: "/Sensors"
    message: "OK"
    hardware_id: ''
    values: 
      - 
        key: "mobile_base_nodelet_manager: Cliff Sensor"
        value: "All right"
      - 
        key: "mobile_base_nodelet_manager: Gyro Sensor"
        value: "Heading: 17.65 degrees"
      - 
        key: "mobile_base_nodelet_manager: Motor Current"
        value: "All right"
      - 
        key: "mobile_base_nodelet_manager: Wall Sensor"
        value: "All right"
      - 
        key: "mobile_base_nodelet_manager: Wheel Drop"
        value: "All right"
  - 
    level: 0
    name: "/Sensors/Cliff Sensor"
    message: "All right"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "Left"
        value: "Reading: 1615  Cliff: NO"
      - 
        key: "Center"
        value: "Reading: 1935  Cliff: NO"
      - 
        key: "Right"
        value: "Reading: 1659  Cliff: NO"
  - 
    level: 0
    name: "/Sensors/Gyro Sensor"
    message: "Heading: 17.65 degrees"
    hardware_id: "Kobuki"
    values: []
  - 
    level: 0
    name: "/Sensors/Motor Current"
    message: "All right"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "Left"
        value: "0"
      - 
        key: "Right"
        value: "0"
  - 
    level: 0
    name: "/Sensors/Wall Sensor"
    message: "All right"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "Left"
        value: "NO"
      - 
        key: "Center"
        value: "NO"
      - 
        key: "Right"
        value: "NO"
  - 
    level: 0
    name: "/Sensors/Wheel Drop"
    message: "All right"
    hardware_id: "Kobuki"
    values: 
      - 
        key: "Left"
        value: "NO"
      - 
        key: "Right"
        value: "NO"

/mobile_base/commands/controller_info

底盘PID参数控制

rostopic pub /mobile_base/commands/controller_info kobuki_msgs/ControllerInfo "type: 0
p_gain: 0.0
i_gain: 0.0
d_gain: 0.0"

/mobile_base/commands/digital_output

底盘数字IO输出

rostopic pub /mobile_base/commands/digital_output kobuki_msgs/DigitalOutput "values:
- false
- false
- false
- false
mask:
- false
- false
- false
- false"

/mobile_base/commands/led1

控制LED灯

rostopic pub /mobile_base/commands/led1 kobuki_msgs/Led "value: 0" 

/mobile_base/commands/reset_odometry

将消息清0

rostopic pub /mobile_base/commands/reset_odometry std_msgs/Empty "{}"

/mobile_base/commands/sound kobuki_msgs/Sound

小车声音控制

rostopic pub /mobile_base/commands/sound kobuki_msgs/Sound "value: 0"

/mobile_base/events/bumper

rostopic echo /mobile_base/events/bumper
bumper: 0
state: 1
---
bumper: 1
state: 1

/mobile_base/events/button

rostopic echo /mobile_base/events/button
button: 1
state: 1
---
button: 1
state: 0 

/mobile_base/events/cliff

rostopic echo /mobile_base/events/cliff
sensor: 0
state: 1
bottom: 1183

/mobile_base/sensors/imu_data

imu的数据,角速率,线速度,四元数

header: 
  seq: 2629
  stamp: 
    secs: 1455255368
    nsecs: 805674266
  frame_id: "gyro_link"
orientation: 
  x: 0.0
  y: 0.0
  z: -0.0568670389178
  w: 0.998381760593
orientation_covariance: [1.7976931348623157e+308, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.05]
angular_velocity: 
  x: 0.0
  y: 0.0
  z: 0.0
angular_velocity_covariance: [1.7976931348623157e+308, 0.0, 0.0, 0.0, 1.7976931348623157e+308, 0.0, 0.0, 0.0, 0.05]
linear_acceleration: 
  x: 0.0
  y: 0.0
  z: 0.0
linear_acceleration_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

/odom

里程计信息,输出位置和角度

header: 
  seq: 2337829
  stamp: 
    secs: 1455255323
    nsecs: 683856644
  frame_id: "odom"
child_frame_id: "base_footprint"
pose: 
  pose: 
    position: 
      x: 0.0312459417778
      y: -0.0167542942593
      z: 0.0
    orientation: 
      x: 0.0
      y: 0.0
      z: -0.0568670389178
      w: 0.998381760593
  covariance: [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10000000000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10000000000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10000000000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05]
twist: 
  twist: 
    linear: 
      x: 0.0
      y: 0.0
      z: 0.0
    angular: 
      x: 0.0
      y: 0.0
      z: 0.0
  covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

/mobile_base/sensors/core

传感器消息输出

header: 
  seq: 2356190
  stamp: 
    secs: 1455255721
    nsecs: 464043387
  frame_id: ''
time_stamp: 27032
bumper: 0
wheel_drop: 0
cliff: 0
left_encoder: 27750
right_encoder: 42994
left_pwm: 0
right_pwm: 0
buttons: 0
charger: 0
battery: 144
bottom: [1616, 1900, 1635]
current: [0, 0]
over_current: 0
digital_input: 0
analog_input: [4095, 4095, 4095, 4095]

### 回答1: 要在Ubuntu 18.04上安装Turtlebot2,您需要按照以下步骤进行操作: 1. 首先,您需要安装ROS(机器人操作系统)。您可以按照ROS官方网站上的说明进行安装。 2. 安装Turtlebot2软件包。您可以使用以下命令在终端中安装: sudo apt-get install ros-melodic-turtlebot* 3. 安装Turtlebot2仿真软件包。您可以使用以下命令在终端中安装: sudo apt-get install ros-melodic-turtlebot-simulator 4. 安装Turtlebot2机器人驱动程序。您可以使用以下命令在终端中安装: sudo apt-get install ros-melodic-turtlebot-bringup 5. 运行Turtlebot2仿真器。您可以使用以下命令在终端中启动仿真器: roslaunch turtlebot_gazebo turtlebot_world.launch 6. 运行Turtlebot2机器人。您可以使用以下命令在终端中启动机器人: roslaunch turtlebot_bringup minimal.launch 这些步骤将帮助您在Ubuntu 18.04上安装和运行Turtlebot2。 ### 回答2: Turtlebot2 是一种基于 ROS(机器人操作系统) 的满足广泛研究和教育需求的便携式平台。本文将介绍如何在 Ubuntu 18.04 上安装 Turtlebot2。 1. 安装 ROS 在 Ubuntu 18.04 上安装 ROS 的过程中,推荐使用 ROS Melodic Morenia。可以按照 ROS 官方文档的指南进行安装,千万不要忘记执行apt-get update 和 apt-get upgrade 命令来更新系统软件包。 2. 安装 Turtlebot2 软件包 在 ROS 中,Turtlebot2 被分为软件包以进行模块化管理。通过安装每个模块,可以确保 Turtlebot2 正确运行。 首先,安装最基本的软件包,包括: sudo apt-get install ros-melodic-turtlebot 接着,安装其他相关的软件包,包括: sudo apt-get install ros-melodic-openni-camera ros-melodic-openni-launch \ ros-melodic-openni2-camera ros-melodic-openni2-launch \ ros-melodic-freenect-camera ros-melodic-freenect-launch \ ros-melodic-depthimage-to-laserscan 3. 启动 Turtlebot2 安装完必要的软件包后,需要启动 Turtlebot2。可以通过以下命令启动: roslaunch turtlebot_bringup minimal.launch 这个命令将启动一个 ROS 节点,并将机器人的驱动程序连接到 ROS 消息通信系统。 4. 启动 Turtlebot2 SLAM 如果想通过 SLAM ( Simultaneous Localization and Mapping) 对周围环境进行建图的话,需要执行以下命令: roslaunch turtlebot_navigation gmapping_demo.launch 通过打开一个新的终端,在运行前面的命令时启动键盘遥控: roslaunch turtlebot_teleop keyboard_teleop.launch 5. 哪些是常见问题? 在操作过程中,可能会发现一些问题: - 机器人没有移动:请确保机器人启动后,不在急停状态,并且没有卡住 - Turtlebot2 与电脑无法连接:检查 USB 连接口是否正确连接 综上所述,Ubuntu 18.04 上安装 Turtlebot2 需要先获取 ROS,并安装其相关软件包。接着,启动 Turtlebot2 后,就可以使用 SLAM 建图等一系列功能啦。 ### 回答3: Turtlebot2是一款常用的移动机器人。在Ubuntu 18.04系统中,我们可以使用ROS(Robot Operating System)提供的软件来控制这个机器人。下面我将简要介绍如何安装和使用Turtlebot2。 1. 安装ROS 首先需要在Ubuntu 18.04上安装ROS。ROS Melodic是目前ROS的最新版本,可以在官方网站(http://www.ros.org/)下载相应的安装包,按照指示进行安装。 2. 安装Turtlebot2软件包 打开终端,输入以下命令安装Turtlebot2软件包: sudo apt-get install ros-melodic-turtlebot* 其中的星号代表安装所有与Turtlebot2相关的软件包。这些软件包包括与机器人通信的驱动程序以及一些常见的传感器驱动程序。 3. 启动Turtlebot2 在终端中输入以下命令以启动Turtlebot2: roslaunch turtlebot_bringup minimal.launch 该命令将启动机器人的基本驱动程序,包括底盘控制和传感器读取。如果一切顺利,你应该能听到机器人发出的启动声音。请注意,机器人应该处于已连接并已启动状态。 4. 运行Turtlebot2 现在,可以运行一些可用的Turtlebot2程序来控制机器人了。例如,运行以下命令可以启动一个图形用户界面,用于远程控制机器人: roslaunch turtlebot_teleop keyboard_teleop.launch 在图形界面中使用箭头键可以控制机器人的移动和旋转。 5. 其他示例程序 Turtlebot2还有很多其他有用的示例程序,例如SLAM(Simultaneous Localization And Mapping)算法进行地图构建、路径规划、语音识别等。可以在ROS软件包中找到这些程序。 总之,安装和使用Turtlebot2需要一些ROS开发经验,但如果掌握一定的ROS应用知识和基本的Linux命令,就可以轻松地掌握机器人的控制和应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南山二毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值