Other Carmen Programs

Mailing Lists
Data Sets


Simulating Robots and People to Test Programs

The CARMEN robot simulator allows the testing of some CARMEN programs without using an actual robot. Once started, a graphic display of the mapfile in use with param_server will appear.

Left-click on the position you wish the robot to start. Center-click near the robot to set its facing. Right-clicking will add simulated people: green circles which will move randomly through the open areas of the map.

Note that there are actually two overlapping circles. The red circle is the robot position indicator: where the simulated robot "really" is. The grey indicator represents the position in which the robot would be according to odometry alone. Unless the odometry error parameters (odom_a1 through odom_a4 for localize) are set to zero, these indicators will slowly diverge as the robot moves through the map.

Logging Data and Playing It Back

Recording data in CARMEN is made simple with the logger program. When you are ready to start logging data, simply start the logger program with the following command. At the very least, central and must be running.

  ./logger [filename].log

[filename] specifies a filename for the sensor log. If the file already exists, the program will ask to overwrite it. If an answer other than "Y" or "y" is given, then the logger will quit. There is no way for this program to append new data to an old logfile.

The logfile will begin with the following message, which explains the format of the file. After that, the file is simply a list of CARMEN messages in the order they were received.

# CARMEN Logfile
# file format is one message per line
# message_name [message contents] ipc_timestamp ipc_hostname logger_timestamp
# message formats defined: PARAM SYNC ODOM FLASER RLASER
# PARAM param_name param_value
# SYNC tagname
# ODOM x y theta tv rv accel
# FLASER num_readings [range_readings] x y theta odom_x odom_y odom_theta
# RLASER num_readings [range_readings] x y theta odom_x odom_y odom_theta
# robot: flo

There is no way to pause recording; to stop simply type "ctrl-C" in the window in which logger is running.

To start a playback of the data, then start the main CARMEN programs normally, except replace base_services or simulator with the program playback as follows:

  ./playback [filename].log

This program will immediately start sending messages from the logfile to central, to be passed to other programs.

To have more control over the playback, running playback_control to call up a graphic user interface, as below.

The double arrows advance or rewind the playback by 100 front laser scan messages, the single arrows by a single laserscan. The square stops the playback, the arrow starts the playback. The "R" resets the playback to the begining of the file. Note that playback starts up playing the logfile, so it is a good idea to have playback control running first, to stop the playback until you are ready.

Greg Armstrong.....Site Map..... Last modified: Wed Jun 11 10:00:21 EDT 2003