CARMEN Frequently Asked Questions

Nicholas Roy and Michael Montemerlo and Sebastian Thrun

Mailing Lists
Data Sets


  1. What are the units of each parameter?

    CARMEN uses SI units internally. All distances are in metres. All angles are in radians. All velocities are in metres/second. All parameters described in an .ini file should obey this constraint, and any that do not should be considered a bug.

    The only notable exception is that carmen_map_point_t points are in map grid cells, and should be multiplied by the map resolution (or converted using carmen_map_to_world to get distances in metres.

  2. Back to Contents.

  3. How do I reduce the processor load of CARMEN?

    The major CPU load from CARMEN comes from two sources: localize and navigator. Bear in mind that reducing the CPU load of these two processes will lead to worse performance, and that a preferable scenario would be to move these processes off the robot to a more powerful CPU.

    The navigator CPU usage can be reduced by changing the number of lasers used
    (navigator_num_lasers), increasing the replanning frequency (navigator_replan_frequency) or, for static worlds with very accurate maps and very good localization, dynamic obstacle avoidance can be turned off using
    (navigator_update_map). This last change is only recommended in carefully controlled environments.

    Localize CPU usage can be reduced by making sure people tracking is off (localize_people_tracking) and reducing the number of particles (localize_robot_particles).

  4. Back to Contents.

  5. Do you support sonar sensors?

    Nominally, yes. However, the sonar support has not been tested on most platforms, and therefore should be considered in alpha development. Also, localization, navigation and map building are not in any way supported using sonars yet. This may change, but it is currently a low-priority item.

  6. Back to Contents.

  7. I want to make the robot move backwards, but it won't go.

    There are two relevant parameters: robot_collision_avoidance and robot_allow_rear_motion.

    If robot_allow_rear_motion is off, then the robot will not move backwards.

    If you do not have backwards pointing sensors, such as a laser or sonar sensors, then the robot will not move backwards. The only robot that we support that could conceivably need to move backwards even without sensors is the ATRV.

    If you do have backwards pointing sensors, are they enabled? If no rear sensor data shows up in robotgraph, then the robot will not move backwards.

    If you turn robot_allow_rear_motion on, and robot_collision_avoidance off, then the robot will always move backwards if you ask it to. But, there is no guarantee you won't hit anything. We do not in any way endorse ever turning off collision avoidance. You will hit things.

  8. Back to Contents.

  9. How do localize and the navigator planner work?

    CARMEN uses a probabilistic approach to localization called Markov localization. The localizer estimates a probability distribution over all possible positions and orientations of the robot in the map given the laser readings and odometry measurements observed by the robot. This probability distribution is approximated using a particle filter (Thrun et. al. 2000). At start, CARMEN is given an initial position by the user, and the distribution of particles evolves to reflect the certainty of the localizer's position estimation.

    As the robot moves, the probability distribution is updated according to

    where s-sub-i is the pose at time i, a-sub-(i-1) the last action, and o-sub-i the last observation.

    The planner consists of an implementation of a Markov decision process planner (Burgard et. al. 1998, Konolige 2000). The planner operates by assigning a positive reward to the goal location and a negative reward to poses close to obstacles. the planner uses value iteration to assign a value to each cell; this value corresponds to the future expected reward of each cell, as in the following equation:

    where R(s-sub-i) is the immediate reward of robot pose s-sub-i, and V(s-sub-i) is the expected reward to be maximized. The planner extracts the maximum-likelihood path by choosing from the given start state (the current pose of the robot as given by the localizer) successive states that maximize the expected reward. The directional command passed to the low-level controller is just the direction of the neighboring state with the highest-expected reward.

    For further explainations, see the CARMEN Papers website.

    Back to Contents.

  10. Where is

    >         I am new to the Carmen software. When I try to run the
    >         instructions under "Teleoperation of a Robot" at 
    > I get an
    >         error on step #3.
    >         I run the following commands each in a separate window. 
    >         1) cd carmen/bin ; ./central
    >         2) cd carmen/bin ; ./param_server -robot scout
    >         3) cd carmen/bin ; ./scout
    >         Upon running the third command, I get the following error.
    >         bash: cd: carmen/bin: No such file or directory
    >         ./scout: error while loading shared libraries:
    >         cannot open shared object file: No such file or directory
    >         What is this "" file and what am I doing wrong?
 is a dynamic lib file. Actually it exists in the directory of /usr/local/lib, as well as in carmen/src/scout.

    To prevent the error, use the following command before running ./scout:
    under tcsh:

    setenv LD_LIBRARY_PATH .

    under bash:
    export LD_LIBRARY_PATH=.

    Back to Contents.

File translated from TEX by TTH, version 3.13.
On 31 Jan 2003, 14:43.
Greg Armstrong.....Site Map..... Last modified: Tue Mar 22 13:46:34 EST 2005