/* Stage plugin documentation file - parsed by Doxygen for the user * manual * $Id: help.txt,v 1.12 2005/08/11 19:56:54 rtv Exp $ */ /** @mainpage The Stage Robot Simulator

Copyright Richard Vaughan and contributors 1998-2005.

Part of the Player/Stage Project [http://playerstage.sourceforge.net] \section License

Stage sourcecode and documentation is released under the terms of the GNU General Public License v2. A copy of the license is included with the sourcecode in the file 'COPYING". Copying and redistribution is permitted only under the terms of the license.


Richard Vaughan (vaughan@sfu.ca) \$Id: help.txt,v 1.12 2005/08/11 19:56:54 rtv Exp $ */ /** @ingroup stage @defgroup help Getting Help If you're having problems and you can't find what you need in this manual, there are several places to find help. First, please check the online documentation page to make sure you have the latest documentation. In particular, check the latest online latest FAQ page. Next, you should search the playerstage_users mailing list archive to see if your questions have already been answered. Next, you should probably spend a few minutes with Google. This often works well, as it picks up P/S conversations from all over the place. If you still need help, you can send email to the mailing list playerstage_users@lists.sourceforge.net and a user or developer may reply to you. Remember that these mails go to hundreds of people, so please be polite and give as much information as you can in your email. */ /** @ingroup stage @defgroup faq FAQ: Frequently Asked Questions There are no questions about the 1.6 release yet. If you have a question, follow the advice here.
  1. [none]
*/ /** @ingroup stage @defgroup refs References [1] Brian Gerkey, Richard Vaughan, Kasper Stoy, Andrew Howard, Gaurav Sukhatme, Maja Mataric (2001) "Most Valuable Player: A Robot Device Server for Distributed Control", Proc. IEEE Int. Conf. Intelligent Robotic Systems, Maui, Hawaii. (IROS'01) [2] Richard Vaughan, Brian Gerkey, Andrew Howard (2003) "On device abstractions for portable, resuable robot code", IEEE/RSJ International Conference on Intelligent Robot Systems, Las Vegas, Nevada, USA. (IROS2003) [3] Brian Gerkey, Richard Vaughan, Andrew Howard (2003) "The Player/Stage Project: Tools for Multi-Robot and Distributed Sensor Systems", 11th International Conference on Advanced Robotics, Coimbra, Portugal (ICAR'03). [4] Nick Jakobi (1997) "Evolutionary Robotics and the Radical Envelope of Noise Hypothesis", Adaptive Behavior Volume 6, Issue 2. pp.325 - 368 . [5] Stuart Wilson (1985) "Knowledge Growth in an Artificial Animal", Proceedings of the First International Conference on Genetic Agorithms and Their Applications. Hillsdale, New Jersey. pp.16-23. */ /** @ingroup stage @defgroup install Installation Important: Stage is an extension to Player; Player must be properly installed before you can install Stage.

Quick start

Install Player first, then Stage, using the standard GNU autotools build system: download and extract the tarballs, then ./configure ; make install.

Standard install procedure

To install Stage in the default location, follow these steps:

  1. Make sure Player is installed and working. See the Player documentation for instructions.
  2. Download the latest Stage source tarball (stage-src-\.tgz) from http://playerstage.sf.net
  3. Uncompress and expand the tarball:
    $ tar xzvf stage-\.tgz
  4. `cd' into Stage's source directory:
    $ cd stage-\
  5. To configure Stage with default settings:
    $ ./configure
  6. Compile Stage:
    $ make
  7. Install Stage. By default, Stage will be installed in /usr/local so you need to become root for this step. Remember to return to your normal user ID afterwards.
    $ make install

Customized installations

Stage follows the standard GNU autotools conventions for build and install options. To see a list of all the available configuration options, do this:

./configure --help

The most important option is --prefix, used to change the installation directory from the default (which varies from system to system, but is usually /usr/local). In general, Stage should get the same prefix you used to install Player. Prefixes must be absolute paths, i.e. a complete path starting with a '/'.

For example, you might want to install Stage your home directory because you don't have root access:

$./configure --prefix=/home/harrison/PS

Remember: these instructions assume that Player was configured with the same prefix. The command line to do this is probably the same, but you should check the Player instructions just in case. */ /** @page release Release Notes

Version 1.6.1

This is a bug-fix release that replaces 1.6.0. - Fixes several GUI bugs, including the [View/Fill Polygons] menu item. - Some code clean-up and thread-safety fixes

Version 1.6.0

This release of Stage is the first after a major rewrite. There are bound to be bugs and teething troubles, but the Autonomy Lab has been using this code for serious work for a few months now and we think it's useful and usable.

Significant changes visible to the user

  1. Stage is now a Player plugin, instead of an executable. The key benefit of this is that all Player drivers are now available for use directly with Stage, including sophisticated drivers like AMCL, without needing passthrough drivers.
  2. Stage depends on Player 1.6 or newer.
  3. Worldfile syntax has a changed, so you need to edit your existing worlds to get them to work. Look at the example worlds in (stage src)/worlds to get the idea.
  4. Any object can now have its shape specified by a bitmap file
  5. Several bitmap file formats are supported, using a third-party library. Load maps and robot bodies from JPG, PNG, etc. No more PNM troubles.
  6. Worlds can now be very large (thousands of meters square).
  7. Several models are missing from this release - notably the gripper and puck. These will be available soon. Meanwhile, enjoy the full power of Player with the basic laser, sonar, position, fiducial and blobfinder models.
  8. Stage no longer depends on libRTK.
  9. Some models from previous versions may not yet be available in this release (e.g. gripper & puck), but we're working on them. Let us know which ones you need.

Significant changes under the hood

  1. The Stage simulation engine is now a library rather than an application. The library can be used to write custom robot simulations. This is very useful if you need to do synchronous control of robots (e.g for perfectly repeatable experiments), or dynamically create and destroy robots or other objects. You can't (yet) do this though Player. Refer to the libstage reference manual for the API and developer docs..
  2. Stage is now mostly written in C. A simple object-oriented system allows one level of inheritance for writing polymorphic model code.
  3. The underlying occupancy grid model has changed from a simple fixed-size array to a sparse array of (almost) unlimited size (implemented with a hash table). To compensate for the performance hit of raytracing in the hash table, a three-level multiple-resolution approach is used. Raytracing is now usually much faster than in Stage-1.3. To get an idea how this works, select the View/Debug/Raytrace menu item while a laser or ranger is producing data.
  4. Most home-rolled data structures have been replaced by glib versions.
*/