|
You are not logged in. Log in
|
|
|
|
|
Welcome to ROBOSOFT's documentation center > robuBOX home page > RobuBOX White Paper
RobuBOX White PaperFrom $1Table of contents
The robuBOX : a three-layers software architecture for modern robotsrobuBOX software architectureRobosoft’s robots are powered by the RobuBOX, a three-layer software architecture that benefits from state of the art technologies:
Note : LOKKARIA and ROBUBOX SERVICES come with a full REST API that exposes all the provided services to external clients using the HTTP protocol: i.e. a client on a mobile phone, a dedicated desktop application or a web application running on a tactile device, could be developed by robosoft’s customers. This is a common web 2.0 feature. Google’s or Youtube’s services all come with a REST API, making possible iphone clients, for example. RobuBOX Services
Introduction
The robuBOX Services software layer is an “extended robotic engine” that targets demanding service robots, where robustness of algorithms and quality of motion control are required. These robots have computing power on-board, and sophisticated sensors allowing implementation of the most advanced robotic algorithms such as the ones in the robuBOX Services components. The robuBOX Services are suited to professional robots application development today, and next generation of domestic robots. Some other robotic engines are available on the market, however, robuBOX Services’ design is “modern” and extensible: it is based on an architecture of web services (with REST api and web interfaces) and are designed as a series of loosely connected middleware components that can be selectively combined to create a custom engine, instead of the more common approach of extending or customizing a flexible integrated solution. Extensibility remains a high priority in robotic engines due to the wide variety of uses for which they are going to be applied (in particular by robot integrator that will have to “tweak” and adapt the engine to their particular needs). Despite the specificity of the name, robotic engines may be also used for other kinds of interactive applications with real-time graphical requirements that do not always involve a “real robot”. robuBOX Services for example, come with several 3D simulators that can be used for marketing demos, architectural visualizations, training simulations, modelling environments, education, etc. Some robotic engines only provide a few core capabilities instead of the wide range of functionality required by robotic applications. Modern robotic engines are very complex applications, frequently featuring dozens of finely tuned systems interacting to ensure a finely controlled experience. The continued refinement of robotic engines such as the robuBOX has created a strong separation between real time control, scripting, sensing, simulating, etc. It is now common for example, for a typical robotic application development team to have several programmers dedicated to particular roles: specialist of robotic simulation, expert in navigation control, etc. Like other middleware solutions, the robuBOX provides platform abstraction, allowing the same application to be run on various platforms with few, if any, changes made to the application source code (robuBOX powers all the brand of robuBOX robots). robuBOX Services are also called "robotic middleware" because, as with the business meaning of the term, it comes with a flexible and reusable software platform which provides all the core functionality needed, right out of the box, to develop a robotic application while reducing costs, complexities, and time-to-market—all critical factors in the highly competitive robotic industry.
A set of C# services
robuBOX services address sensor data processing, cartography (see Figure 2), path planning, robotic arms, specific data types, high quality GUIs + dedicated widget set, etc. Most services come with web interfaces for debugging, targets demanding services robots, provides platform abstraction, etc. The services can be combined together, complete applications are provided (with sources and detailed explanations) like: autonomous navigation or a highly configurable Dashboard.
Figure 2: the DSLAM service from robuBOX running together with the WebCam and LaservView services. Tutorial and C# samplesThe robubBox services come with a set of tutorials/samples that show how to perform motion control, how to compose services and use feedback from sensors, etc. and furthermore, all services are open source! Tools and utilitiesSome tools and utility services are included, like logging and debugging services, tools for calibrating sensors, a library for integrating the LUA scripting langage, a LUA powerful embeddable Integrated Development Environment, etc. Graphical User Interfaces componentsMany services are associated with a set of GUI widgets for visualization, robot control, etc, that can be reused in custom applications or in the Dashboard GUI. See Figure 3. A configurable Dashboard GUI is also provided, that can be used as a holder for other GUI components: no need to compile code: just edit a Manifest XML file. See Figure 4, 5, 6.
Figure 3: the set of Viewer services, i.e. powerful GUIs for monitoring most sensors or robot”s behaviors.
Figure 4: a Dashboard with path controller’s GUI (on top), a view from the laser sensors (bottom right), a motion controller view (bottom left).
Figure 5: another dashboard composition with a map view (in the center), and linear and angular speed views (bottom), a path recorder GUI (top left). Scripting with the LUA langage, the LUA Integrated Development Environment (IDE)
|
||||||||||||||||||||||||||||||||
Powered by MindTouch Deki Open Source Edition v.8.08.1 |