ORCA: A physics based, robotics simulator able to distribute processing across several peers Hourdakis E 1 ., Chliveros G 1 . and Trahanias P 1,2 . 1 Institute of Computer Science, Foundation for Research and Technology Hellas, 2 University of Crete, Computer Science Department, Hellas ehourdak@ics.forth.gr, chlivero@ics.forth.gr, trahania@ics.forth.gr 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], player- stage [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