RCFS is a website with interactive examples, as well as a collection of source codes to study learning and optimization techniques in robotics. It is currently maintained by Dr Sylvain Calinon at the Idiap Research Institute.
Contributors: Sylvain Calinon, Philip Abbet, Jérémy Maceiras, Hakan Girgin
RCFS is licensed under the MIT License.
For the 3D examples, some files are based on the corresponding ones found in the Rocksi project, licensed under the MIT License, and are identified as such in their header.
For the 3D examples, the Franka Emika robot model files are licensed by Franka Emika GmbH under the Apache 2.0 License.
RCFS can be used to study and test learning and optimization techniques in robotics through simple 2D examples.
It is composed of three parts:
The technology used for the web-based interactive examples and exercises is built upon PyScript, which exploits the same core components as Jupyter Notebooks, but providing more customized functionalities and a modern integration to websites.
RCFS can be used for teaching by explicitly mentioning the origin of the codes/examples, by including as a link:
The interactive examples can potentially be integrated in three manners in robotics courses:
RCFS also provides more traditional source code examples in various programming languages, where each example is a standalone program to facilitate the modification and re-use of the codes. The examples use homogeneous variable names between examples and between programming languages, facilitating the passage between one example to another, and also between one language to another. While the majority of users will leverage the Python examples, the effort of replicating the same codes in other languages aim to provide users who would not be more familiar with other languages to focus on the algorithmic part of the programming, instead of focusing on coding/syntax details. The choice of providing only simple graphics rendering and of concentrating on planar robots follows a similar principle, by providing minimal codes that focus on the essential algorithmic aspects to understand learning and optimization techniques in robotics.
By providing standalone examples, RCFS allow users to more easily master the whole algorithmic pipeline. They can see with basic examples how the topics that they learned can be put in practice with short codes that can be run independently. This approach is aimed to be complementary to the code snippets in the interactive web-based examples of RCFS that focus on very specific parts of the algorithms.
The use of notebooks is nowadays highly popular for teaching. When used correctly, this format has undeniable advantages. However, when providing students with material to study robotics, we believe it is also important to prepare them to the next steps that will require them to move outside notebook environments when considering real robots applications. In this view, the short standalone codes in RCFS can help at facilitating this transition. In the provided codes, the focus on the graphics rendering aspects is minimal. In the web-based examples, since this part is hidden, the examples are created to be visually more appealing and technically more impressive.