Skip to content
Snippets Groups Projects
readme.md 4 KiB
Newer Older
Rainer Kartmann's avatar
Rainer Kartmann committed
# Simox
vahrenkamp's avatar
vahrenkamp committed

Rainer Kartmann's avatar
Rainer Kartmann committed
The aim of the lightweight platform independent C++ toolbox Simox is to provide a set of
algorithms for 3D simulation of robot systems, sampling based motion planning and grasp planning.
Simox consists of three libraries (Virtual Robot, Saba and Grasp Studio) and numerous
Rainer Kartmann's avatar
Rainer Kartmann committed
examples showing how these libraries can be used to build complex tools in the
Rainer Kartmann's avatar
Rainer Kartmann committed
context of mobile manipulation.
vahrenkamp's avatar
vahrenkamp committed

**Simox Utility** is a utility library providing general-purpose code tools to help working with,
among others,
C++ strings and containers,
mathematics (e.g. pose, radians and degrees, scaling, clamping, periodic mean, ...),
data file formats (e.g. JSON, XMl), colors and color maps,
as well as shapes like axis-aligned and oriented (bounding) boxes.

Rainer Kartmann's avatar
Rainer Kartmann committed
The library **Virtual Robot** can be used to define complex robot systems,
which may cover multiple robots with many degrees of freedom.
The robot structure and its visualization can be easily defined via XML files and environments with
obstacles and objects to manipulate are supported.
Further, basic robot simulation components, as Jacobian computations and generic
Inverse Kinematics (IK) solvers, are offered by the library.
Beyond that, extended features like tools for analyzing the reachable workspace for robotic manipulators
or contact determination for grasping are included.
Rainer Kartmann's avatar
Rainer Kartmann committed
With **Saba**, a library for planning collision-free motions is offered, which directly incorporates
with the data provided by Virtual Robot.
The algorithms cover state-of-the-art implementations of sampling-based motion planning approaches
(e.g. Rapidly-exploring Random Trees) and interfaces that allow to conveniently implement own planners.
Since Saba was designed for planning in high-dimensional configuration spaces, complex planning problems
for robots with a high number of degrees of freedom (DoF) can be solved efficiently.

**Grasp Studio** offers possibilities to compute the grasp quality for generic end-effector
definitions, e.g. a humanoid hand.
The implemented 6D wrench-space computations can be used to easily (and quickly) determine
the quality of an applied grasp to an object.
Furthermore, the implemented planners are able to generate grasp maps for given objects automatically.

Since complex frameworks have to incorporate with several libraries in order to provide full functionality,
several issues may arise when setting up the environment, such as dependency problems,
incompatible library versions or even non-existing ports of needed libraries for the used operating systems.
Hence, only a limited set of libraries are used by the Simox core in order to make it compile.
Extended functionality (e.g. visualization) can be turned off in order to allow Simox compiling on most platforms.
Further dependencies are encapsulated with interfaces, making it easy to exchange
e.g. the collision engine or the visualization functionality.
As a reference implementation, Simox offers Coin3D/SoQt-based visualization support.

## Documentation

Wiki: https://git.h2t.iar.kit.edu/sw/simox/simox/-/wikis/home

API Reference: http://simox.sourceforge.net/documentation

## License
Mirko Wächter's avatar
Mirko Wächter committed

GNU Lesser General Public License, version 2.1 or any later version.
(see license.txt)
vahrenkamp's avatar
vahrenkamp committed

Rainer Kartmann's avatar
Rainer Kartmann committed
## Copyright
2010-2016 Nikolaus Vahrenkamp
Rainer Kartmann's avatar
Rainer Kartmann committed
## Reference
N. Vahrenkamp, M. Kröhnert, S. Ulbrich, T. Asfour, G. Metta, R. Dillmann  and G. Sandini,
Simox: A Robotics Toolbox for Simulation, Motion and Grasp Planning,
International Conference on Intelligent Autonomous Systems (IAS),
pp. 585 - 594, 2012
Rainer Kartmann's avatar
Rainer Kartmann committed
```
@INPROCEEDINGS {Vahrenkamp12,
    author = {Nikolaus Vahrenkamp and Manfred Kr\"ohnert and Stefan Ulbrich and Tamim Asfour and Giorgio Metta and R\"udiger Dillmann and Giulio Sandini},
    title = {Simox: A Robotics Toolbox for Simulation, Motion and Grasp Planning},
    booktitle = {International Conference on Intelligent Autonomous Systems (IAS)},
    pages = {585--594},
    year = {2012}
}
```
vahrenkamp's avatar
vahrenkamp committed

Rainer Kartmann's avatar
Rainer Kartmann committed
## Contact
Nikolaus Vahrenkamp
vahrenkamp at kit dot edu

Rainer Kartmann's avatar
Rainer Kartmann committed
Repository:
Rainer Kartmann's avatar
Rainer Kartmann committed
https://git.h2t.iar.kit.edu/sw/simox/simox
Rainer Kartmann's avatar
Rainer Kartmann committed
Mailing list:
https://groups.google.com/d/forum/simox