Roboscoop
Overview
Roboscoop is a research project of the Chair of Software Engineering at ETH Zurich and iHomeLab at Hochschule Luzern; the Autonomous Systems Lab at ETH Zurich serves as a project advisor, bringing its own experience in autonomous robots. The aim of Roboscoop is to improve the tools and techniques for developing robotics software. The main demonstrator application is a "smart walker" robot for Ambient Assisted Living.
Roboscoop has been funded by the Hasler-Foundation as part of its SmartWorld initiative.
The Roboscoop project gave rise to numerous publications (see entries on robotics in the general publication page of the chair) and was featured in a number of media reports including on the BBC.
Project outline
Advances in robotics have provided solutions to problems that touch on many aspects of our daily life: industrial robots routinely support production, remotely operated robots handle dangerous tasks, autonomous robots open the way to home automation. Within the next decade, the capabilities of robots have the potential to enable spectacular new applications with critical societal benefits, such as assisted living for the elderly.
A modern robot includes both hardware and software. The hardware is the visible part, but much of the functionality of robots, and much of the potential for new applications, lies with the software. Unfortunately, the tools and techniques used to develop robotics software lag behind the state of the art in the rest of software engineering. As a result, many of the current challenges in robotics are software challenges. This situation is likely to be a major obstacle in coping with the growing complexity of new robotics applications.
Concurrency, the focus of the Roboscoop project, is one of the principal roadblocks. At the hardware level, advanced robotic systems such as autonomous mobile robots typically include many components that can in principle operate concurrently – and should do so to meet their potential. Sensors and actuators, for example, can run in parallel; various "arms" and "legs" can also be operated concurrently for more effective motion. Enabling such potential concurrency requires, however, that the underlying software can support concurrent execution, a goal made difficult by the limitations of traditional concurrent programming techniques, such as the standard "thread libraries" (the main concurrency mechanisms today). Programmers using such tools are constantly at risk of falling into common pitfalls such as data races (in which concurrently running units make inconsistent modifications to shared objects) and deadlocks (where computation comes to a halt because units are stuck in a circular wait on each other). More generally, concurrent applications are hard to design and implement correctly, to test and debug, and to maintain. As a result, most robotics applications limit themselves to an elementary use of concurrency, closing off many interesting possibilities offered by the hardware.
The Roboscoop project proposes to build a robust concurrency framework for robotics applications, based on rigorous theory and validated by extensive practical experience. The framework will take advantage of advances in software engineering and concurrency theory, and will be based on SCOOP (Simple Concurrent Object-Oriented Programming), a programming model for concurrency that excludes data races by construction.
The Smart Walker prototype |
To refine the SmartWalker we performed numerous visits to Zurich-area retirement homes, listened to the wishes of residents and staff, and got considerable feedback (and excitement) from demonstrations of successive prototypes.
More information can be found in the Roboscoop project description. A SCOOP-programmed hexapod robot served as a pre-study for the project, see it walking in a youtube video.
Activities
3 December 2020
We made available a PowerPoint presentation of the Roboscoop project, and a video of SmartWalker gesture control.
13 March 2013
The team attened the SmartWorld workshop in Spiez, Switzerland and gave a demo of the SmartWalker executing user-defined paths. See the walker in action here.
7 August 2012
First move! Watch the video showing first experimental movements of the walker.
20 July 2012
Project meeting at iHomeLab. Demo of the walker platform and the draft version of the Roboscoop framework.
3 May 2012
Project kick-off meeting at ETH Zurich.
Project members
- Bertrand Meyer, Chair of Software Engineering, ETH Zurich
- Alexander Klapproth, iHomeLab, Hochschule Luzern
- Martin Biallas, iHomeLab, Hochschule Luzern
- Rolf Kistler, iHomeLab, Hochschule Luzern
- Marcel Mathis, iHomeLab, Hochschule Luzern
- Benjamin Morandi, Chair of Software Engineering, ETH Zurich
- Sebastian Nanz, Chair of Software Engineering, ETH Zurich
- Andreas Rumsch, iHomeLab, Hochschule Luzern
- Andrey Rusakov, Chair of Software Engineering, ETH Zurich
- Jiwon Shin, Chair of Software Engineering, ETH Zurich