所需积分/C币:7 2012-05-22 17:52:08 2.08MB PDF
收藏 收藏

Contents Introduction 1.1 What is SimS 1.2 History of the project 1.3 About this manual 2 1.4 Reader,s guide System Overview 3 2.1 The server 3 2.2 The Monitor and Logplayer 4 2. 3 The Sample client 4 2.4 Available Simulation 4 3 Getting started 5 3.1 Download and installation instructions 5 3.2 An Example of a Simulation Run 7 InspaN 13 4.1 Perceptors 13 4.1.1 General message format 13 4.1.2 General Perceptors 13 4.1.3 Soccer Perceptors 15 4.2 Effectors/Actuators 18 4.2.1 General Effectors 18 4.2.2S Effectors 19 4.2.3Old Effectors 4.3 Simulation Update Loop 21 4.3.1 Single-threaded Timer 4.3.2 Multi-threaded Timer 22 Rcssmonitor 3d 25 5.1 Internal monitor 25 5.2E 25 5.3 Playing Log files 25 5.4 Key Assignments 25 Rcssagent 3d 27 6.1 Behaviors 27 6.1.1 Soccerbotbehavior 27 6.2 How to change behaviors 27 Simulations 29 7.1 The Soccer Simulation 29 Z.1. 1 Overvie 29 7.1.2 Environment and Objects on the Ficld 29 7. 1.3 Rules Judged by the automatic referee 31 7. 1.4 Rules Judged by the human Referee 31 The Robot models 33 8.1 Soccerbot 33 8.2 Nao 36 8.2.1 Parame 36 8.2.2 Implementation Further resources 41 9.1 Project homepage 41 9.2 Mailing lists 41 9.3 IRC channel 9.4 Wiki 41 9.5 Thesis and Papers 41 9.6 How to contribute? 42 Icense 43 Introduction 1 1.1 What is simSpark? SimSpark is a multi-agent simulation system for agents in three-dimensional environments. Its goal is to provide a high degree of flexibility for creating new types of simulations. It builds on a flexible application framework and exhausts the idea of replaceable components throughout its implementation In comparison to specialized simulators, users can create new simulations by using a scene description language. Sim Spark is a powerful tool to state different multi-agent research ques tions and is used as the official simulator for the roboCup Simulation League competition 1.2 History of the Project SimSpark was developed as part of the RoboCup initiative, initially called Robot World Cup Initiative. It is an international research and education initiative. It is an attempt to foster aI and intelligent robotics research by providing a standard problem where wide range of tech nologies can be integrated and cxamined, as well as being used for integrated project-orientcd education For this purpose, RoboCup chose to use soccer game as a primary domain, and organizes competitive roboCups. The simulation league is one of several leagues where the entire soc cer game takes places in a simulated environment. SimSpark's two dimensional predecessor simulation models the players and the ball as flat spheres. It further lacks a realistic physical environment As one of the long term goals of the soccer simulation is to aim for realism the long te objective are realistic humanoid players in a physical environment. These players should day challenge the champion of the most recent World Cup Therefore, on the roboCup 2003 Symposium a new approach to a three-dimensional phys- ically realistic soccer simulation was proposed [Ko04]. In a road map discussion for the Soccer Simulation League on roboCup 2003, the participants decided on adding the three-dimensional simulation to the competitions For RoboCup 2004, Sim Spark was successfully used for the first official competition in RoboCup Simulation League 3D. The soccer simulation for this tournament was developed in parallel with the SimSpark simulator. In its initial version players were modeled as spheres in a physical three dimensional world. Since then Sim Spark grew considerably and now supports humanoid players with articulated bodies It served from the beginning as a test bed and a guide for essential new features that were added to the simulator during development. However changes to the simulator core were never customized for the soccer simulation. Instead generic simulator services were implemented with all soccer specific details contained in a set of plugins (sce [ORos]) 1.3 About this manua This manual describes the SimSpark simulator. Like the simulator itself it is subject to constant change in an ongoing development effort. It assumes that you are familiar with the basic concepts of multi agent simulations It aims to be a guide on how to develop your own RoboCup agents, construct new robot models, build your own custom monitor or use the trainer command protocol to test your agents If there are errors, inconsistencies, or oddities, please send a message to the SimSpark developer mailing list(please see chapter 9 for details)with the location of the error and a suggestion of how it should be corrected. We are always looking for anyone who has an idea on how to improve the manual, as well as proofread or rewrite a section of the manual The latest manual can be downloaded at the Sim Spark project homepage 1,4 Reqder's Guide to the manual This section gives a rough overview about the contents of this manual In chapter 2 we give a short overview introduction and to the system and its defining components. This overview is given both from a component view that distinguishes the server, the monitor the logplayer etc. and from a software architecture point of view. In the latter we describe the diffcrent software modules, thcir purpose and responsibility In chapter 3 you will find instructions howto build Sim Spark from source and how to install it into your system. Further an illustrated example run of a simulation is given as a first guide to get the you started The following chapter 4 is a reference gives you detailed information about the messages that are sent from the server to the agent and vice versa. These messages contain information about agent percepts and agent command strings In chapter 5 we give an overview about the available monitor and log player setups. Their configuration and usage is described in detail there The following chapter 6 explains the rcssagent3d demo agent this agent is a reference implementation and a basis to start your own agent implementation work. We explain how to configure the agent to use custom behavior implementations In chapter 7 we introduce simulations that are currently available for SimSpark In partic ular the soccer simulation is described in detail here The robot models, and in particular our Soccerbot is described in chapter 8 In the resources chapter 9 we point you to further papers and thesis works related to SimSpark. In addition mailing lists, web sites and irc channels are given that allow you to participate in the project and to reach the Sim Spark developers. 2http://simspark.sourceforgenet System Overview SimSpark is built upon an application framework called zeitgeist. This framework provides basic OS abstractions like file and archive support, logging, shared libraries etc.), a scripting interface to Ruby and a powerful plugin mechanism coupled with an object hierary that provides a unified namespace. This library is the backbone of the system Zeitgeist allows us to load new classes at runtime from plugins and install object instances in a hierarchy. We can locate these instances via path expression just like files in a file sys tem. At various well known locations are objects called servers that provide services to othe parts of the system. The script server that provides an interface to the Ruby ist installed at /sys/server/script s Built as part of this object hierarchy is a scene graph that the system uses to represent the simulated world This scene graph and related concepts are managed within the next layer of the system, that we call oxygen. It provides classes that encapsulate concepts like transformations, basic geometric primitives, physical bodies and collision primitives. It further provides access to a rigid body physical simulation. The oxygen library further implements basic simulation services like agent management and a monitor framework. It is responsible to keep track and to update connected agents and monitor processes. Last but not least it provides a customizable run loop service. This service is implemented as an abstract run loop that is extended with plugins as needed In parts of the system can be replaced or left out easily as for example rendering or monitor support The Visualization of the scene and input event processing services are provided by the kerosin library. It implements the infrastructure for rendering and device management. Con crete implementations are again provided by plugins. This allows the simulation to use different back ends or graphic engine. a default set of plugins utilizes plain Open. and the SDl library. 2.1 The server The SimSpark server hosts the simulation process that manages the simulation. It is responsible to advance the simulation, 1. e. modify the simulation state in a continuous run loop Objects in the scene change their state, i.e. one ore more of their properties like position, speed or angular velocity changes due to several influences. They are under the control of a rigid body physical simulation, that resolves collisions, applies drag, gravity etc. Agents that take part in the simulation also modify objects with the help of their effectors Another responsibility of the server is to keep track of connected agent processes. Each simulation cycle the server collects and reports sensor information for each of the sensors of all connected agents. It further carries out received action sequences that an agent triggers using its available effectors Depending on the setup of the server it renders the simulation itself, 1. e. it implements an intcrnal monitor that omits the network overhead or it manages and updates remote monitor processes. In the latter configuration the rendering of the scene is deferred to remote processes 2.2 The Monitor and Logplayer The SimSpark monitor is responsible to render the current simulation. It connects to a runing simulation states cither in full or as incremental updates relative to the preceding state p server instance from which it continuously receives a stream of update data that describes the The format of the data strcam that the server sends to the monitor is called monitor format. It is a customizable language used to describe the simulation state Apart from describing the pure simulation state each monitor format may provide a mecha nism to transfer additional game specific state. For the soccer simulation this means for example current play mode and goals scored so far The monitor client itself only renders the pure scene and defers the rendering of the game state to plugins. These plugins are intended to parse the game state and display it as an overlay, e.g. print out playmode and scores on screen he monitor can further be configured to read a protocol of scene updates from a file and act as a logplayer In this mode it does not connect to a server instance but replays an recorded game. The format of the logfile is identical to the monitor protocol used on the network 2.3 The sample client SimSpark provides a simple agent implementation that demonstrate how to interact with the server. It demonstrates how to connect to the server, how to read perceptor values and how to use effectors. The demo behaviour of the agent is implemented as a plugin that can be replaced in order to customize it for different simulations 2.4 Available simulations SimSpark currently provides two version of robotic soccer. There is a sphere based older version that is available up to version rcssserver3d-0. 5. 2. In this soccer version the agents on the soccer field were simple rolling spheres. This soccer simulation was the first step away from its two dimensional predecessor sim- ulation into a three dimensional world. Since then SimSpark progressed to a more realistic form of the soccer game. In recent versions players possess articulated bodies that resemble humanoid robots 4 Getting Started 3.1 Download and installation instructions This chapter explains how to install SimSpark on an Ubuntu Linux. It should work with slight modifications on other distributions like Fedora, Suse and especially Debian system 1. Enable additional repositories Depending on the distribution version you are using you might need to enable additional repositories in order to install all required packages. Please refer to your system specific documentation for details. In Ubuntu Linux these repositories are called Universe and Multiverse To enable them you have to edit the /etc/apt/sources list file and update the loca package database. B sudo gedit /etc/apt/sources list do apt-get update In rPm based distributions you may need to enable further download locations or down load and install RPM packets manually. There are specialized search engines for RPM packages available like (a)http://packman.links2linux.deland p: /rpl 2. Install dependencies Sim Spark builds and depends upon the work of other software projects. We use the CMake to configure and build SimSpark. Further required packages are 0 Ruby (b) The Open Dynamics Engine (ODE) (c) The Boost C++ libraries (a) Freetype (e) Developer Image Library(DevIL) 〔 f)OpenGL (g) SDL IfoRmoreguidespleasevisitSimsparkWiki Installation on Linux Some parts of SimSpark can be omitted from the build process therefore these packages are optional (a) wxWidgets Library (b) FMOD Sound Library (c) Latex (pdflatex): to generate developers manual (a) Doxygen: to generate API documentation s sudo apt-get install g++ subversion cmake libfreetype6-dev libodeo-dev libsdl-dev ruby 1.8 ruby 1. 8-dev libdevil-dev libboost-dev libboost-thread-dev libboost-regex-dev 3. Check out the source from the source forge SvN repository The SimSpark source is hosted in a SvN repository at sourceforge. nct. In order to build the source first download the current version this is called check out in svn terminal- ssvnco Downloaded package contains following packages Simspark: this package contains the core simulation engine and can be used to create different kinds of simulation. It is not soccer specific Rcssserver3D: implements soccer simulation 3d on top of simspark engine. This package depends on simspark package Rsgedit: simspark simulator with graphics user interface Simspark utilities: it'll contain some additional tools for simspark core package like Gendot: generates a graphviz dot file showing the zeitgeist class hierarchy, in cluding all classes that are visible at runtime Monitorspark: external monitor implementation Sampleagent: sample of simple behaviour implementation Samplesim: sample of simple simulation 4. Configure, generate build files and install the soccer server You can build this packages using CMake build system (version 2.6 or higher should be installed on your system). CMake can generate different kinds of native build files for your system(e.g. Unix Makefiles, Eclipse CDT40 project files, Visual Studio project files).You can generate build files using Cmake command-line or Gui interfaces The configure cmake accepts a number of options that you can add to it's command line (a)--help lists all available configure options. There are some more available that would exceed the scope of this manual. Note: The list of all available generator for your OS platform are at the end of printout (b)--G <generator-name> specify a makefile generator (c)-DCMAKE INSTALL PREFIX: PATH=/some/path defines the path where the make install will later install the Sim Spark executable and resources into your system. If omitted it defaults to /usr/local/ lib Every package has the same installation procedure. Change in to the top level package directory (spark, rcssserver 3D etc.). We recommend to create a directory to hold your build files. Change directory to the directory you created in the previous, run cmake build system, start the build process and install the server into your system For soccer simulation, you'll need at least simspark(build at first) and rcssserver 3d pack- ages. Other packages are optional (Rsgedit and Simspark-utilities

试读 49P user-manual
立即下载 身份认证VIP会员低至7折
user-manual 7积分/C币 立即下载

试读结束, 可继续读5页

7积分/C币 立即下载