CCL Library  1.0
CCL Library Documentation

Introduction

Constraint Consistent Learning (CCL) is a family of methods for learning different parts of the equations of motion of redundant and constrained systems in a data-driven fashion.

It implements systematic methods that are capable of:

  • Learning state-independent and -dependent constraints,
  • Decomposing the behaviour of redundant systems into task- and null-space parts,
  • Uncovering the underlying null space control policy.
  • As its key feature, CCL is capable of decomposing many everyday tasks (e.g., wiping (fig. b), reaching (fig. a) and gait in order to learn subcomponents (e.g., null space components, constraints and unconstrained control policy) individually. For an in-depth description of the CCL library, please refer [1].


    Documentation

    For the convenience of the users, CCL has been implemented in Matlab and C. The structural details of the implemented CCL methods can be found in Matlab Documentation and C Documentation. The naming convention for Matlab methods is ccl_x_x', where x refers to the operation and x' refers to the final output. For instance, ccl_learn_alpha indicates that this method learns the parameter alpha for the system constraint.

    Installation

    The Matlab version of the library has been tested on Windows 10 and Ubuntu 14.04. The C library has been tested on Ubuntu 14.04. C files were compiled using QT.

    Download Matlab version here.

    Download C library here. To use the C functions, the following steps are required:

  • Run apt-get install gsl-bin libgsl0-dev to install the third pary library GSL.
  • Set LD_LIBRARY_PATH="your system path"/ccl-1.0/src/.libs.
  • Navigate to project root "your system path"/ccl-1.0 and run below commands to compile.

  • i)  autoreconf --install
    
    ii) ./configure
    
    iii) make all
    

    To run the demo examples, navigate to "your system path"/ccl-1.0/src, change the data file path in the demo file ccl.c according to your main project path.

    Getting Started

    Matlab users can run below demos/tutorial examples from the folder 'ccl/Functions/demos/'

  • demo_2_link_arm.m
  • demo_toy_example_2D.m
  • demo_with_real_data.m
  • C users can load the binary program named "ccl" which will automatically read the saved data in the project and execute the testing functions.