Standard Control Library

A Control And Simulation Framework For Whole-Body Multi-Task Control

Whole-Body Control: SCL controls three very different robots using the same operational space controller.

Latest News

The Stanford Robotics Lab is working on releasing a novel robotics framework, the SAI (Simulation and Active Interfaces) system. This will integrate with SCL and also include novel robot dynamics algorithms, rigid contact simulation, empirical simulation-testing procedures, robot drivers, and many other utilities for robots. Consider taking a look.

Our Methods

Standard Control Library (SCL) is a control and simulation framework that aims to provide a generic implementation of robot agnostic control algorithms for use in simulation or on real robots. It achieves robot agnostic control by specifying closed loop control tasks in operational space, which can then be projected on to the articulated body dynamics for arbitrary robots. Multiple control tasks are readily accommodated using a prioritized control subspaces, which disallow competing control tasks from interfering and destabilizing the controller.

SCL was built from the ground up for performance, which it achieves with a combination of customized data structures and a distributed computational paradigm. It supports a variety of independent modules for control, articulated-body dynamics, contact, graphical rendering, and robot specification file formats. Each module communicates with others through a global data structure, which may be implemented as a shared memory or a remote server.


Samir, the developer/maintainer, has been influenced by observing previous versions of past Khatib lab software systems. SCL as a software system has been shaped by discussions, debugging, documentation, associated libraries, and advice from Francois Conti, Gerald Brantner, Brian Soe, Fabian Gerlinghaus, Robert Katzschmann, Torsten Kroeger, and Michael Sherman. Special thanks to Roland Philippsen who influenced the code in its early days and Luis Sentis whose colorful ideas about possible controllers provided many use cases for the software. Finally, a massive thank you to Oussama Khatib for making sure everyone properly understood all the associated theoretical concepts and related programming efforts!

    © Samir Menon. CCA 3.0 license.
    Valid HTML and CSS.
    Last updated on Jul 8th, 2016