[Documentation] [TitleIndex] [WordIndex

New in Groovy


The segbot robot is a configurable platform, and can support many different sensor configurations. The segbot_bringup package contains launch files for all common sensor configurations. Each configuration brings up all the low level interfaces of the segbot robot (mobile base + sensor drivers). A secondary goal of this package is to abstract potions of each configuration easily so that configuration can be used within the Gazebo simulator.

More formally, a launch file in this package should launch the following:

  1. ROS node for the segway base driver, found in the segway_rmpX package. For ease of use, a launch file called launch/segway_base.launch can be found in this package which wraps the driver with required parameters.

  2. ROS Sensor drivers:
    • Kinect - The launch files for the Kinect driver can be found in the segbot_sensors package, which are called by launch files in segbot_bringup.

    • Hokuyo - Launch file for the Hokuyo from segbot_sensors are launched in this package.

  3. Sensor Filters (common with simulation) - Data from each sensor is filtered using a number of filters, more details about which can be found in the segbot_sensors package.

  4. robot_state_publisher (common with simulation) - publishes all fixed joints of the robot on the tf tree.

  5. joint_state_publisher (common with simulation) - publish all non-fixed joints to default values (wheels and the castor joint). Since the segbot robot does not have any true actuated joints, publishing default values for these joints is sufficient for now.

Auxiliary Files

Each configuration has an auxiliary files that captures all redundancy between real world and simulation, allowing the auxiliary file to be called from a launch script responsible for launching the robot inside simulation. For a robot configuration called <config_name> the real robot launch file is called <config_name>.launch and the auxiliary file is called <config_name>.auxiliary.launch.xml.

In addition, each auxiliary file must expose tf_prefix and use_full_gazebo_model as arguments, which are required to launch multiple robots and choose the complexity of the simulation, respectively. To see how these parameters are used, take a look at one of the existing robot launch files in this package, as well as segbot_mobile_base.launch in the segbot_gazebo package.

Package Layout

The main launch files that run on the real robot are stored in the launch directory as <config_name>.launch and include the auxiliary launch configuration directly. These files need to call ROS nodes corresponding to the drivers for the segway base and sensors directly.

The auxiliary files are stored in the launch/includes directory.

A convenience wrapper around segway_rmp_node (The segway driver) called segway_base.launch can be found in the launch directory.

2024-07-13 14:38