P-15
ORCA: A physics based, robotics simulator able to distribute processing across several peers Hourdakis E1., Chliveros G1. and Trahanias P1,2. 1
Institute of Computer Science, Foundation for Research and Technology Hellas, 2 University of Crete, Computer Science Department, Hellas
[email protected],
[email protected],
[email protected] Heraklion, Crete GR70013
Abstract—The nature of the research and development workflow in robotics has reshaped drastically during the last decade. Activities are fundamentally interdisciplinary and usually wide-spread across several research institutions. To cope with these new requirements, researchers are increasingly using simulation to communicate algorithmic developments, and seamlessly integrate their work into larger projects. In the current paper we present the ORCA simulator, a versatile 3D-based physics simulator that was designed to facilitate those needs. ORCA integrates a middleware backend directly into the server-simulator environment, making the sharing of resources amongst peers a seamless task. To this end, we present ORCA’s main features, its ability to load and render large environments, as well as the capacity of the simulator to share resources amongst different workstations. Index Terms-Robotics, physics, animation, distributed systems
I. INTRODUCTION Recent advances in hardware, software and sensing systems, have steered robotics research towards the development of large-scale integrated systems. Scientists, instead on focusing on the solution of single problems, are nowadays required to assimilate their algorithms into interoperable systems, aimed to deal with complex problems. Therefore, integration has become a crucial milestone in the workflow of activities that take place in any large scale robotics project. The need is also depicted in several European initiatives, including the Robot Standards and Reference Architectures (RoSta) [1] and BRICS – Best Practice in Robotics [2], which have identified integration as one of the main issues in any robotics development process. In this context, an important cornerstone in robotics research is simulation, which has now become a standard in most collaborative projects. There are several reasons for the advent of simulators, including the ability to: (i) render any robotic platform with very low costs, (ii) make cost-free modifications on existing robotic configurations, as well as (iii) share resources amongst researchers and organizations, to name a few. Most state of the art simulators can adequately confront the first two issues, by providing user-friendly interfaces, configurations for popular robotic platforms, as well as virtual components to equip the underlying robots, such as sensors, actuators and controllers. The requisite for integration is usually covered indirectly, by providing support for middleware
components, with several being developed in recent years, including Robot Operating System (ROS) [3], playerstage [4], OpenRDK [5] and Miro [6]. These libraries have quickly gained an increased popularity amongst researchers because they provide an interface to communicate results across teams or integrate algorithmic developments into a single robotic platform. However, due to the fact that they are built on top of software packages, the functionality that is offered is usually bounded to communicating only a small set of properties, i.e. it is not integrated directly into the 3D simulation environment. In contrast to all existing software, ORCA (Open Robot Control Architecture) uses a different approach, in which a middleware component is built at the core of all of its software packages. That is, ORCA is equipped with a dedicated backend, which enables the utilization of the streams of information produced by a simulation. As a result of this architecture, it can provide valuable features to the development workflow of a robotics project, including environment sharing, distributing resources across workstations and algorithmic integration. Moreover, ORCA maximizes the potential of its architecture to tackle the processing needs of computationally intensive environments. Computational costs, especially for large environments are difficult to handle, despite the increase in computational power or the use of chipset/multicore based languages such as CUDA [7] and OpenMP [8]. One of the most popular solutions to this problem is discretization, i.e. the distribution of resources amongst different workstations. The ORCA simulator was designed with this property in mind. It is based on a 3-tier architecture, consisting of a server object, client instances and add-on modules. A direct consequence of this architecture is the ability to share resources between simulation instances, thus discretizing and rendering a large environment into smaller sub-parts. In the current paper, we provide a detailed outline of the main traits of the ORCA simulator, and describe two important features: (i) its ability to render virtually unlimited environments and (ii) share information amongst simulation instances. The current version of ORCA is freely available at http://139.91.185.14/Orca_Release/orca_setup.exe. A video accompanying the publication, and demonstrates the environment sharing ability of the ORCA simulator can be found at http://139.91.185.14/Orca_Release/isrdemo.mp4
II. RELA ATED WORK Due to thheir increasinng popularity, several simullation packages hhave becomee available in the robbotics community, including Gazzebo [9], MORSE [10], Weebots [11] and SiimRobot [122]. When sellecting simullation software, onee usually evalluates several important facctors, including itss physics proocessing capaabilities, avaiilable robotic platfoorms, sensor models m and paackages that iit can support. A Amongst the aforementio oned simulaators, SimRobot annd Webots usse the Open Dynamics Enngine (ODE) [13] tto handle phyysics processin ng. MORSE bbuilds upon Blendeer’s python API [14], whicch in turn usees the Bullet libraryy [15] for its physics p impleementation. Fiinally Gazebo [9], is an open source simulator that suppports ODE and moore recently Buullet. ORCA (F Fig. 1) uses the Newton Dynamics Enngine (NDE) [16], a powerful engine e that haas recently beccome O of the maiin benefits of N available as oopen source. One NDE is that it allow ws writing speecific behaviorrs on how phyysical entities interract with eachh other. Conssequently, onee can define expliccit material properties p for each object,, and thus control properties such s as collision, frictionn and elasticity.
Figure 1. (lefft) 3-tier architecture of the ORCA A software packagge.
The choicce of an enginne is a matter of o context. Seeveral works have used variouss metrics [17 7] to evaluatee the properties thaat affect the quuality of physiics processingg [1820]. Amongsst the most im mportant includ de friction moodels, modeling sccalability, eneergy preservattion. In [21] , the authors use tthe Physics Abbstraction Lay yer to carry ouut an evaluation oof 7 commerrcial and open-source phhysics engines, inclluding ODE and a NDE. Theey present thee two engines as hhaving similaar capacities, with NDE bbeing more accuratte when modeeling friction and a rolling coontact events. In [[22] the authhors present a more thorrough evaluation bbetween the two enginess, in which they undergo a seeries of tests including bo ounce, stabilitty of constraints, energy preseervation and gyroscopic force modeling. T Test results inndicate, that NDE N outperfforms ODE in mostt cases. III. ORCA SIMULLATION ENVIRO ONMENT To facilittate research and a developmeent tailed madde for robotics reseaarch, we havee designed OR RCA based on a 3tier architectuure. At the coore of the softw ware there exi xists a server objecct which is responsible for handlingg all communicatiion events am mongst the diifferent simullation instances. Eaach package iss then built on n top of the sserver
a sharing a objeect, and is reesponsible forr rendering and speccific aspect off the environm ment. Packagess fall into twoo categ gories: (i) Sim mulation instannces, which arre responsiblee for replicating a specific asspect or stru ucture of thee enviironment (inclluding objectss and robots) and (ii) add-ons, which provid de some functtionality to eaach simulationn instaance. The result of this arrchitecture is that differentt simu ulation instan nces can proccess differentt parts of ann enviironment, and d communicatee concurrently y through thee serv ver object. In n addition, w with the use of add-ons,, researchers can augment a an eexisting projeect with new w funcctionalities usiing an I/O coonvention. In the followingg sectiion we outlin ne in detail the functionaality of eachh com mponent in the ORCA packaage. A. Orca Server All A communication betweeen simulator instances iss hand dled through a network prootocol that sup pports a greatt varieety of messag ges and controol commands. Packages aree broaadcast in a designated d listtening port by b the serverr eitheer on deman nd, by publlishing a message whenn available, or in a timely mannner, where a package iss postted on regular intervals. Client mod dules producee pack kages either: As a result of a specific evennt (e.g. a modu ule attached too a motion senso or produces a package wh hen motion iss deetected). Peeriodically (e.g. a module aattached to a laser scannerr prroduces a new w frame at reguular intervals). As a result off incoming ddata (e.g. a text-generator t r module m producces annotated text for an exhibit, eachh tim me new text iss created). When W a requestt is received ((e.g. a server, attached to a hiigh-resolution camera, that pproduces fram mes containingg caamera images only afterr an expliciit request iss reeceived). Network N co ommunication is accom mplished byy publlishing packag ges to the seerver. Commu unications aree orgaanized in a “producer-con “ nsumer” basis. That is, alll pieces of informaation that needd to be exchan nged betweenn mod dules are organ nized into pacckets (categorries) and eachh pack ket is assigned d a different ccode (packet code). c Packetss and their codes are a defined acccording to th he application,, and are stored in a configuratioon file. The co ommunicationn ver reads the configuration c file and for each e differentt serv pack ket code, the server creates ttwo lists:
c (m modules) thatt produce thiss the list of connections particular paacket (produceers), and the list of co onnections (m modules) that consume thiss particular paacket (consume mers).
The T server ob bject is respoonsible for regulating r thee TCP P/IP bandwid dth amongstt the differeent softwaree com mponents. Wheen running, eeach instance registers andd can then publish h informationn throughout the network.. Wheen the serverr receives a package from a specificc conn nection, it reaads the conteents of the data d field andd expeects to find a string and tw wo lists of in ntegers. Thesee lists correspond to the codess of the packets that aree
produced andd consumed reespectively by y the module aat the other side off the connectioon. For each listed l packet ccode, the server accordingly updates its corresponnding “producers” and “consum mers” lists. When a moodule disconnects ffrom the serveer, the latter errases all refereences to the corressponding connnection from m the “consum mers” and the “prooducers” lists of all packag ges and termin inates the corresponnding connection thread. Currentlyy ORCA supports more than n 100 TCP/IP P type packet messaages that pertaain to informaation about coontrol commands, ssensor information, physicss related data, HRI interface com mmands and object handlling messagees. In addition, O ORCA provvides templaates for cclient redistributablles for Java, ANSI A C++ and d C. Consequeently, through the server commuunication prottocol, one cann run instances off a simulation on any machine, m incluuding Windows annd Linux, andd use the serv ver to handle their interaction. More impportantly, the communicatio on protocol caan be easily extendded using a text-based t stru ucture. The s erver object scanss a set of predefined directories upon initialization and registerrs new messages as requuired. Therein we demonstrate how ORCA’s protocol caan be used to sharee information processed p by one o instance oof the physics simuulation to otheer instances, thus t allowing it to tackle the coomputational needs of a simulation, s deespite them being inntensive. B. Simulattor ORCA includes sevveral featurees which ennable developers too generate neew world scenarios seamleessly, without requuiring advanced computer skills. Rendeering, handled by O OpenGL, and physics p processsing, by NDE E, are coupled togeether through a tree-based d hierarchy, ccalled environment tree, which can c be setup using u configurration files. Currenntly, ORCA’s environment tree supportts the insertion of (i) objects, (ii) kinematicc constraints, (iii) sensor, (iv) roobot models and a (v) interaction behaviorss. Object definiition Upon inittialization the simulator loaads an environnment file, which coontains the deefinitions and physics propeerties of each object. Several different types of objectss are supported, iincluding (i) primitive geometries g (ccube, polygon, cappsule and trianggles), (ii) conttainers, that buundle entities togetther, as well as (iii) freefo orm objects, w which allow importting meshes frrom CAD sofftware directlyy into a simulated w world (ORCA A supports thee .obj format, used by several modeling packages, p inccluding Blennder). Through thee NDE physiccs engine, OR RCA providess the largest numbber of primitivve objects than n any other enngine. In addition, it supports thhe definition of o extrude objjects, i.e. abstract geometries deefined by a series s of 3D ppoint edges, as welll as various liight sources. Mesh annd boundaryy information n are geneerated automaticallyy for each object o that is inserted inn the simulation ennvironment. Inn addition, one has the choiice of selecting whhat type of bouunding boxes will be geneerated from each object entereed into the world. w Addittional options incluude the initial position p of an object, orienttation
vecttors, object materials, m wheether it will be b subject too grav vitational forcees, its mass annd density. Kineematic Constrraints ORCA O also su upports the deffinition of varrious differentt typees of constraiints, which ccan be used to limit thee mov vement of kin nematic structu tures in one or o more axes.. Thesse are also specified s upoon initializatio on, using thee enviironment tree hierarchy, andd can be used to restrict thee motiion of a body in relation too another. Currently variouss diffeerent types of constraints arre supported, including i ball,, hing ge and socket joints. ORCA A exports all the propertiess supp ported by the physics enginne, type and sttiffness of thee jointt, pivot pointts and transfo formation axiss, as well ass acceeleration bounds. Senssor models Most M robots have h a large nuumber of mou unted sensors.. Thesse can be mo odeled accurattely for a sim mulator that iss inten nded for reseaarch based puurposes. ORCA A has a greatt varieety of sensor models availaable, which caan be insertedd direcctly into its environment e ttree. Currentlly it supportss senssor objects, ussed to monitoor the forces that differentt geom metries exert upon each other, bump ping sensors,, responsible for deetecting the ccollision amon ng objects, ass welll as virtual cam meras, that sim imulate a scen ne using RGB B and depth data (F Fig. 2). The ssimulator also o supports thee defin nition of extriinsic and intrin insic camera parameters, p ass welll as specific camera moddels including g the Kinectt RGB BD, PointGreey and Logittech Quickcaam Pro 50000 cam mera. Each E sensor model can be easily in nserted to a simu ulation, by deefining a set of initial parameters. Forr cam meras, availab ble propertiies include the imagee widtth/height and pixel per unnit, model parameters forr disto ortion and no oise, as well as intrinsic and extrinsicc paraameters. To faacilitate the reealistic simulaation we havee also incorporated d appropriate sampling raates for eachh senssor, which can be specified uupon initializaation.
Figurre 2. Client outtput produced fr from ORCA’s RGBD R simulatedd senso or.
In I addition, OR RCA supportss range objectt sensors, suchh as laaser and sonarr. Available pparameters forr these objectss inclu ude the numbeer of measurem ments at each time step, thee miniimum and maaximum radiuus of the rang ge sensors, ass welll as noise models m relativve to the disstance of thee meaasurement.
Robot models ls Using thhe aforemenntioned threee componentts, a developer caan instantiate any type off robotic platfform. However, ORCA comes with a numb ber of pre-deefined structures forr some populaar robots (Fig g. 3), including ng the Pioneer 3-AT T platform, the iRobot3ADm m, the Kuka L LWR and a genericc hand and arm m model with 27-DoF.
onal projects. As a result off these projectss, the packagee natio was extended to in nclude severall add-ons. The T first claass of add-oons regards human-robott (Fig. 4). These com mmunication technologies t T includee com mponents for natural n languaage interactio on and virtuall emo otions, as well as HRI innterfaces for human-robott interraction.
Figure 3. (left)) The simulatedd iRobotB21R. (right) The sim mulated Pioneer 3-AT pllatform.
In additioon, we are working w toward ds including other platforms, suuch as the NA AO and Hoap p3 humanoidss, the Kuka mobilee platform andd the PR2 rob bot. These wiill be made availabble upon ORC CA’s next majo or release, andd will be optimizedd to reflect the physical prop perties of the aactual hardware robbotic platformss. Interaction B Behaviors One of thhe main beneefits of ORCA A is that it deefines explicitly hoow objects annd physical en ntities will intteract with each otther. This is suupported through NDE’s abbility to define exxplicit materiaals on each ob bject. Propertiies of the interaction include thee use of gravitty, collision m mode, convex colllision toleraance, net fo orce limit, llinear damping, trranslation annd rotational impulse veloocity. Moreover, eeach behavioor can be set to run baseed on different coollision primittives, be it mesh, m or prim mitive bounding booxes, and cann assign differrent mass, deensity values to interacting objects. Finaally, torque and d locally for each collision esttimation can be performed behavior, thhrough the implementatio i on of approppriate callback funnctions. One impoortant benefit from this featture is that it ggives complete conntrol on the phhysical representation of obbjects in the worldd. One can usse it to descrribe how diffferent materials wiill interact toogether, and as a a result ddefine explicitly crooss-object interactions, instead of descri ribing a set of simpple physics properties, as it i is the case with other simulaators. One impportant result from this feaature, is that one can turn off annd on the phy ysics processinng of an object on demand, by freeing f its assigned behavioors at any time, thhus improving the speed of simulationn by eliminating redundant entities. In the video that accompaniess the publicatiion we demon nstrate an exaample in which wee make use of this propertty, to segmennt the physics proccessing of a simulation environment into different worrkstations. C. Add-onss ORCA hhas already beeen used in a large numb er of national andd internationaal projects, in ncluding the ECfunded FP6 pprojects GNOSYS and IND DIGO, the currrently running FP77 project FIR RST-MM, ass well as seeveral
Figurre 4. Add-ons developed for pproject purposes. (left) Speechh synth hesis module (rig ght) HRI interfaace for robot co ontrol through a touch hscreen.
More M specificcally, this fam amily of add--ons includess threee modules; (i)) an applicatioon for syntheesizing speechh and phrases, simp ply by typingg in the desireed text, (ii) a virtu ual emotion module, m whichh provides an n interface forr draw wing 2D temp plate faces froom standard emotions andd (iii) a GUI interfface that alloows humans to t control thee robo ots by typing on o a touch screeen. The T second class of add-onns that have beeen developedd pertaains to locomo otion moduless. More speciffically, ORCA A inclu udes specific controllers thhat enable mobile robots too perfform localization, obstacle avoidance, and a mapping.. Thesse modules, despite runnin ing in their own o instance,, interract with ORCA’s server communicatio on system, inn ordeer to read sen nsor measurem ments and disspatch controll com mmands to the robots being ssimulated (Fig g. 5).
Figurre 5. Mapping and localization add-ons develo oped for projectt purpo oses.
Finally, F ORCA A is currently being expand ded in the FP77 project FIRST-M MM, which aaims at deveeloping novell com mponents for mobile m manipuulation. In the course of thee project, ORCA is being extendded to includee visual objectt track king modules, as well as aadditional com mponents thatt allow w for instructiing robots to pperform guidaance, deliveryy and transportation n tasks. IV. RESOURCE SHARING One O of the strrong benefits of ORCA iss its ability too sharre resources am mongst differeent simulation n instances. Too copee with this req quirement, OR RCA has been n designed too
handle all eenvironment processing th hrough its sserver object. Conseequently it cann tackle the laarge computattional costs that aree inherent in complex robo otic structuress and large environnments, by shharing and disttributing resouurces across simuulation instaances. This functionalityy is embodied thhrough threee different properties p inn the simulator’s environmentt: (i) robo ot sharing, (ii) environment sharing, (iiii) object sh haring. Thesee are outlined beloow. A. Robot ssharing One of thhe main characcteristics of a simulated robbot is that it utilizes resources that are mod dular, and caan be described byy an I/O convvention. Conssequently, in most cases, renderring a simulaated robot is a computatioonally intensive taskk that outputs only a small set s of paramete ters. Consider for example the case wherre a “high deggrees of freedom” manipulator has to be processed withhin a large environnment. At anyy given time, the simulatorr has the duty to process its kinematic ch hain, integratee the appropriate eequations, andd update the po osition of the jjoints of the handd to simulate it. Even tho ough this proocess contains a larrge number off computations, it is only ussed to output a smaall amount off information,, such as the endpoint locationn of the hand. Consequently y, when interaacting with such a rrobot, it is usuually importan nt to have onlyy this RCA piece of infoormation availlable. Due to its design, OR can facilitatee processing off such roboticc structures loccally, and distributte outputs froom the simullation on dem mand, only when reequired (Fig. 6). 6
simu ulation enviro onments or bbeing transm mitted by thee serv ver. B. Environment sharing Another A impo ortant feature of the ORCA A simulator iss its ability a to sharre the processsing requirem ments of largee enviironments. Su uch feature is becoming increasinglyy impo ortant across research projeects, and finds applicationss in a large numbeer of fields inncluding outd door robotics,, search and rescue simulations, sswarm robots etc. In I these typess of environm ments, usually y the robot iss locaated within a small mannifold space, which mustt proccess. Upon in nitialization off an experimeent, the serverr load ds a virtual wo orld file whichh contains the definitions off all objects o that will be processeed by simulattion instances.. Theese are created d as physical eentities and en ntered into thee worrld without pro ocessing any oof their properrties (Fig. 7).
Figurre 7. (right) The environment-shaaring view of thee server showingg how different robots are being processsed using differeent subsets of ann endered with redd is robot 1, greeen robot 2, whilee envirronment. (left) Re transp parently are rend dered the surrounndings that are not n processed byy any robot.
As A soon as a new simulatiion instance is i loaded intoo the new world, it communicatees its location to the server.. Thee server respo onds to the rrequest of thee instance byy tran nsmitting the environment and object properties p thatt are in i the vicinity y of the roboticc client (Fig. 8). 8
Figure 6. The environment-sharring view of thee server showingg how A’s virtual robotts. The different robots are being processsed using ORCA simulation instaances transmit all required infromaation to a server, which for the given exxample, reduces the t robot’s existeence to a spatial xx, y, z vector.
To faciliitate this featture, the lateest ORCA reelease includes an extensive network proto ocol that conntains messages peertaining to information sharing amoongst robots. Thesee messages arre integrated within approppriate environment parsers, thatt reside on th he server andd are responsible ffor filtering and transmittting to simullation instances only the approppriate environ nment informaation. In addition, the latest releease uses virttual robots, siimple graphic strucctures with no physical prop perties, that caan be used to viisualize information com ming from other
Figurre 8. Local copy of o the simulator thhat receives only y a partial view off the en nvironment.
As a result, ORCA is able to render r very large environmentts, by seegmenting their t proceessing requirementss into smaaller subspacces. The shhared properties of an environm ment can be configured eeasily through the sserver’s envirronment initiallization file, w which allows objeccts to be looaded having different shharing properties.
publlish certain feaatures of a robbot, these are not integratedd direcctly into the simulation ennvironment, and a have thuss limitted capabilitiees. ORCA ovvercomes thiss problem byy integ grating its middleware m com omponent direectly into thee simu ulator. As a reesult, it offers extensive feaatures, such ass enviironment and object sharingg and distributtes processingg to diifferent workstations.
C. Object ssharing Further tto the above, an importantt feature thatt was implementedd to augment the t environmeent sharing feeature is object shharing. ORCA A utilizes the flexibility off the NDE engine to limit the prrocessing don ne to single objjects. More speciffically, by coonfiguring its environment file, ORCA allow ws a developerr to transfer th he processing of an object into a remote simulation instancee.
In I the future, we plan to eextend the fu unctionality off cross-platform shaaring, by introoducing additiional tools forr this purpose. Theese will pertaain to the development off simu ulated sharin ng componeents, port sharing andd publlishing. In add dition we plann to introduce modules thatt will enable developers to optim mize the perfformance of a simu ulated robot by y plugging in the actual rob botic hardwaree that must be simulated. OR RCA will pro ovide severall optim mization algorithms, whichh will be used to reduce thee gap between actuaal and simulatted platforms.
When a simulation instance receivees a certain sset of published prroperties, it has h the abilitty to render them statically, i.ee. without connsidering the object geomeetries, physical prooperties and mesh m informaation, or loadd the object in its own right, and a only emb bed the publiished properties proovided by the server (Fig. 9). 9
ACKNOWLEEDGEMENTS Thiss work is partially p suppported by th he Europeann Com mmision undeer contract nuumber FP7-248258 (First-MM M project). REFEREN NCES [1] [2] [3] [4] [5] [6] [7] [8] [9]
Figure 9. Sharinng object properrties through sim mulation instancess. The simulation instaance on the left manipulates thee cube while thee right instance only recceives some publlished properties.
This featture becomess particularly y important w when sharing envirronments that are cluttered with w many objjects. In this case the server provides p the ability to puublish specific objecct properties, which can theen be shared aacross simulation innstances. Through this feature, the processin ng requiremennts of very large ennvironments caan be distributted across diffferent simulation innstances. Diffferent aspects/objects withiin an environment can be setupp to be proceessed by diffferent simulation innstances, andd then commu unicated wher erever required by thhe server. V. CONCLUSION N AND FUTURE E WORK Simulatioon is becominng a popularr approach inn the robotics com mmunity, due to its ability to provide a costfree alternativve to actual hardware robottic modeling. Most simulators haave addressedd this need by providing a ssingle workspace package, able to t render com mpetently a roobotic structure. Hoowever, one important feaature that wass left unaddressed to date, was the t provision of features reelated to sharing environmennts. Even though pop opular middleware solutions, succh as ROS, offer o the abiliity to
[10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22]
RoSta - http:///www.robot-staandards.org/ind dex.php?id=8 BRICS - http:://www.best-off-robotics.org/ Robot Operating System – R ROS: http://ww ww.ros.org/ p - http://p /playerstage.sou urceforge.net/ Player-Stage project OpenRDK - http://openrdk.s h sourceforge.net// Miro - http://m miro-middlewar are.berlios.de/ CUDA vidia.com/objecct/cuda_home_ _new.html http://www.nv OpenMP - htttp://openmp.orgg/wp/ N. Koenig and a A. Howar ard (2004). Deesign and usee paradigms for f Gazebo, aan open-sourcce multi-robott simulator. In In IEEE/RSJ Innt. Conf. on Intelligent Robotss and Systems, pp. 2149–21544 Echeverria et al. (2011), Moodular open rob bots simulationn RSE engine: MOR O. Michel (2004). ( Webotss: Professionall mobile robott simulation. Jo ournal of Advaanced Roboticss Systems 1(1):: 39–42. 2004), SimRoboot – A general physical robott Laue et al. (2 simulator and d its application in RoboCup Open Dynamiics Engine http:://www.ode.org g/ Blender http:///www.blender..org/ Bullet http://b bulletphysics.orrg/wordpress/ Newton Gamee Dynamics http tp://newtondynaamics.com/ Canny John n Mirtich Brrian. (1995) Impuled-basedd simulation of rigid bodies Hecker Chriss Lander Jeff. Product Review of Physicss Engines, Part One:The Str tress Test. Tecchnical report,, 2000. Hecker Chriss Lander Jeff. (2000) Produ uct Review off Physics Engin nes, Part Two. T Technical reporrt Axel Seugling and Martin Rolin, (2006), Evaluation off Physics Engin nes and Implem mentation of a Physics P Modulee in a 3d-Autho oring Tool, Masster Thesis Boeing, Andrian and Brunl, T Thomas (2010)), Evaluation off real-time physics simulationn systems, ACM M Int. conf. onn Comp. Graphics and Interacttive techniques, pp. 281-288 S. Balakirsky et al. (2011). FFrom simulation n to real robotss methods and examples, In:: with predictaable results: m Madhavan et al. (eds), PPerformance evaluation e andd benchmarking g of intelligent ssystems