19/06/2015
We are pleased to announce Skinware [1], a new GPLv2+ free software framework for real-time data acquisition from robot skins. Skinware has been created at the University of Genoa [2] alongside European Union FP7 projects ROBOSKIN [3] and CloPeMa [4] and the CySkin project [5]. A manuscript describing the architecture of Skinware is available online [6], and one describing the newest improvements (corresponding to Skinware 2.0) will be published shortly.
Skinware provides a highly extensible software framework for acquiring sensor data from robot skins, likely containing as large as tens of thousands of sensors, as well as sharing processed data with other processes. Skinware is built with hard real-time constraints in mind and uses real-time patches to Linux, while at the same time allowing non-real-time builds for debugging and testing purposes. If required, it could be built as a Linux kernel module for those hardware that require kernel-level tasks to ensure hard real-time properties, while allowing user-space processes to access their data.
Skinware's strength lies not only in its robot-skin-tailored hard real-time inter-process communication, but also its ability to abstract away from differing robot skin technologies, thus allowing the same application to process tactile (or otherwise) information regardless of the attached robot skin technology, or even mix of technologies. Thanks to its modular design and loosely-coupled components, such features as hot-plugging are possible, or for example disabling and re-enabling parts of the robot skin, be it to restart a faulty piece of hardware or for energy saving.
Software Features:
- Operating environment: POSIX systems (currently tested with Linux), the Linux kernel
- Real-time patches: RTAI, RT-Preempt work in progress
- Programming languages: C99, C++11 and Python
- Number of simultaneous robot skin technologies attached: as many as you need!
- Accompanying software: spatial-calibration service, sample motion-detection service, a visualiser application
- Documentation: both API documentation [7] and wiki tutorials [8]
Software website: http://www.cyskin.com/software-development/
Source code: https://github.com/maclab/skinware
Mailing list: https://groups.google.com/d/forum/skinware
[1] https://github.com/maclab/skinware/releases/tag/v2.0.0
[2] http://www.maclab.dibris.unige.it/
[3] http://cordis.europa.eu/project/rcn/89511_en.html
[4] http://www.clopema.eu/
[5] http://www.cyskin.com/
[6] http://www.sciencedirect.com/science/article/pii/S0921889015000172
[7] https://github.com/ShabbyX/URT/releases/tag/v0.5.0
[8] https://github.com/maclab/skinware/wiki
SKINWARE in its core provides a flexible data chunk transfer mechanism between two tasks, as is suitable for a skin-related application. Generic services can be provided and used by starting writers and readers. Skin-tailored drivers and users internally use writers and readers, but provide faciliti…