Deprecated

(!) rx packages are replaced by rqt, which is available for fuerte and later.

rqt_console is a replacement.

Overview

rxconsole is a viewer in the rxtools package that displays messages being published to rosout. It collects messages over time, and lets you view them in more detail, as well as allowing you to filter messages by severity and text.

Sending messages to rxconsole is done differently in each client library: C++, Python

main

Usage

Assuming you have ROS installed, you can invoke rxconsole by just typing:

rxconsole

Message List

message list

The list view shows all of the messages, updating in real time as they arrive. The list displays all the information in the roslib/Log message broadcast on rosout:

  • Message

    • The message specified by the user, e.g. in the screenshot above "hello world..."

    Severity

    • The severity level of the message, e.g. Debug, Info, etc.

    Node

    • The name of the node which broadcast the message

    Time

    • The time at which the message was broadcast

    Topics

    • The topics advertised by the node broadcasting the message

    Location

    • Combines the file, function and line using colons, e.g. /u/jfaust/ros/base/pkgs/ros_tutorials/roscpp_tutorials/talker/talker.cpp:main:92

There are two operations you can use on the items in the list. A double click will bring up all the information about that message in a separate box:

message_popup.png

A right click will pop up a menu allowing you to filter the list based on some aspect of the selected message:

list_rightclick.png

Filtering

You can filter the message list in two ways, by severity and by text.

Severity

severity.png

Filtering by severity allows you to exclude items of a specific severity. Unchecking any of the boxes will exclude items of that severity from the list.

Text

filters

Filtering by text allows you to include or exclude items based on a textual pattern you specify. The green_plus.png button allows you to add filters, and the red_minus.png next to each filter allows you to remove it.

Let's look at each of the options in the filters, in order from left to right:

  • Enabled

    • Allows you to disable this filter without removing it entirely

    Text Box

    • This is where you tell the filter what text to use

    Include/Exclude

    • This determines the type of the filter. If the filter is of type Include, only messages which match the specified text will be included in the list. If the filter is of type Exclude, messages which match the text will not appear in the list.

    Regex

    • Allows you to use a regular expression in the filter text. If this is not checked, standard wildcard characters are allowed (* and ?). An invalid regular expression will be highlighted in red.

    From

    • Allows you to specify which fields of the message should be matched against. Only Message, Node, Location and Topics are allowed.

Filters are applied in order, and every filter must be "passed" in order for a message to appear in the list. An Include filter passes if the message matches the text. An Exclude filter passes if the message does not match the text.

Setup

setup.png

The setup dialog (accessed through the Setup button) allows you to specify a few options related to the messages:

  • Topic

    • Allows you to specify the topic to receive the messages on. Defaults to /rosout_agg, which is the aggregated stream coming from the rosout node (automatically started by roscore). If you are not running a rosout node you can change this the /rosout

    Buffer Size

    • This is the number of messages to keep before throwing away old ones. Defaults to 20,000. Changing this will effect the responsiveness of filtering.

Logger Levels

logger_levels.png

The Levels... button pops up an rxloggerlevel frame, which allows you to change roscpp nodes' logger levels at runtime.

Tutorials

See the rospy_tutorials/Tutorials/Logging page. It will help you use rosout to publish error, info and debug messages and view them in rxconsole.

Wiki: rxconsole (last edited 2013-03-03 18:22:29 by IsaacSaito)