ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

The diagnostics node is missing. The above launch file only brings up the basic turtlebot driver. On the iCreate based turtlebot, the robot is normally brought up by the launch file turtlebot_bringup/minimal.launch. For the roomba, you need to replace it with the following launch file to get rviz visualization and the dashboard working:

<launch>
  <param name="/use_sim_time" value="false"/>

  <arg name="urdf_file" default="$(find xacro)/xacro.py '$(find turtlebot_description)/robots/turtlebot.urdf.xacro'" />
  <param name="robot_description" command="$(arg urdf_file)" />

  <param name="robot/name" value="$(optenv ROBOT turtlebot)"/>
  <param name="robot/type" value="turtlebot"/>

  <include file="$(find turtlebot_bringup)/app_manager.launch" />

  <!-- Turtlebot Driver -->
  <node pkg="turtlebot_node" type="turtlebot_node.py" name="turtlebot_node" output="screen" respawn="true" args="--respawnable">
    <rosparam>
      port: /dev/ttyUSB0
      publish_tf: True
      robot:type: roomba
      has_gyro: False
    </rosparam>
  </node>

  <!-- Turtlebot Laptop Battery Diagnostics -->
  <node pkg="turtlebot_node" type="laptop_battery.py" name="turtlebot_laptop_battery">
        <param name="acpi_path" type="string" value="/proc/acpi/battery/BAT0" />
  </node>

  <node pkg="robot_state_publisher" type="state_publisher" name="robot_state_publisher" output="screen">
    <param name="publish_frequency" type="double" value="5.0" />
    <!--param name="tf_prefix" type="string" value="" /-->
  </node>

  <node pkg="diagnostic_aggregator" type="aggregator_node" name="diagnostic_aggregator" >
    <!-- Load the file you made above -->
    <rosparam command="load" file="$(find turtlebot_bringup)/config/diagnostics.yaml" />
  </node>
</launch>

The diagnostics node is missing. The above launch file only brings up the basic turtlebot driver. On the iCreate based turtlebot, the robot is normally brought up by the launch file turtlebot_bringup/minimal.launch. For the roomba, you need to replace it with the following launch file to get rviz visualization and the dashboard working:

<launch>
  <param name="/use_sim_time" value="false"/>

  <arg name="urdf_file" default="$(find xacro)/xacro.py '$(find turtlebot_description)/robots/turtlebot.urdf.xacro'" />
  <param name="robot_description" command="$(arg urdf_file)" />

  <param name="robot/name" value="$(optenv ROBOT turtlebot)"/>
  <param name="robot/type" value="turtlebot"/>

  <include file="$(find turtlebot_bringup)/app_manager.launch" />

  <!-- Turtlebot Driver -->
  <node pkg="turtlebot_node" type="turtlebot_node.py" name="turtlebot_node" output="screen" respawn="true" args="--respawnable">
    <rosparam>
      port: /dev/ttyUSB0
      publish_tf: True
      robot:type: robot_type: roomba
      has_gyro: False
    </rosparam>
  </node>

  <!-- Turtlebot Laptop Battery Diagnostics -->
  <node pkg="turtlebot_node" type="laptop_battery.py" name="turtlebot_laptop_battery">
        <param name="acpi_path" type="string" value="/proc/acpi/battery/BAT0" />
  </node>

  <node pkg="robot_state_publisher" type="state_publisher" name="robot_state_publisher" output="screen">
    <param name="publish_frequency" type="double" value="5.0" />
    <!--param name="tf_prefix" type="string" value="" /-->
  </node>

  <node pkg="diagnostic_aggregator" type="aggregator_node" name="diagnostic_aggregator" >
    <!-- Load the file you made above -->
    <rosparam command="load" file="$(find turtlebot_bringup)/config/diagnostics.yaml" />
  </node>
</launch>

The diagnostics node is missing. The above launch file only brings up the basic turtlebot driver. On the iCreate based turtlebot, the robot is normally brought up by the launch file turtlebot_bringup/minimal.launch. For the roomba, you need to replace it with the following launch file to get rviz visualization and the dashboard working:

<launch>
  <param name="/use_sim_time" value="false"/>

  <arg name="urdf_file" default="$(find xacro)/xacro.py '$(find turtlebot_description)/robots/turtlebot.urdf.xacro'" />
  <param name="robot_description" command="$(arg urdf_file)" />

  <param name="robot/name" value="$(optenv ROBOT turtlebot)"/>
  <param name="robot/type" value="turtlebot"/>

  <include file="$(find turtlebot_bringup)/app_manager.launch" />

  <!-- Turtlebot Driver -->
  <node pkg="turtlebot_node" type="turtlebot_node.py" name="turtlebot_node" output="screen" respawn="true" args="--respawnable">
    <rosparam>
      port: /dev/ttyUSB0
      publish_tf: True
      robot_type: roomba
      has_gyro: False
    </rosparam>
  </node>

  <!-- Turtlebot Laptop Battery Diagnostics -->
  <node pkg="turtlebot_node" type="laptop_battery.py" name="turtlebot_laptop_battery">
        <param name="acpi_path" type="string" value="/proc/acpi/battery/BAT0" />
  </node>

  <node pkg="robot_state_publisher" type="state_publisher" name="robot_state_publisher" output="screen">
    <param name="publish_frequency" type="double" value="5.0" />
    <!--param name="tf_prefix" type="string" value="" /-->
  </node>

  <node pkg="diagnostic_aggregator" type="aggregator_node" name="diagnostic_aggregator" >
    <!-- Load the file you made above -->
    <rosparam command="load" file="$(find turtlebot_bringup)/config/diagnostics.yaml" />
  </node>
</launch>

Edit: Regarding your question where you can get roomba related files. The roomba is not officially supported by Willow Garage and turtlebot.eu is unfortunately not providing support either. It took me quite a while to create the patches for turtlebot_node to make it work. But apart from the basic launch file, no changes should be required now so you should be able to use all turtlebot related resources now.