Skip to content

Robotic AI bare code. This is designed as shared submodule of other projects. Try other repos that expose clearer interfaces (rai-python, robotics-course) first.

License

Notifications You must be signed in to change notification settings

ori-drs/rhhlgp-rai

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAI bare code

This repo contains core sources related to Robotic AI. First users are not recommended to use this repo alone. Please have a look at example projects that use this bare code as a submodule and expose and explain one particular functionality. E.g., KOMO or rai-python.

'bare code' means that this repo contains only sources, a minimal Ubuntu-specific build system, and only minimal tests. For integration in other projects, use it as a submodule and integrate it in your own out-of-source build system.

Brief history

Parts of the code have there origin at around 2004 (Edinburgh). The code grew over the years to a large repo with many projects from all lab members, but a somewhat consistent scope of code shared between projects. This repo exports a selection of the code shared between projects and contains a set of representations and methods for Robotics, ML and AI. As the functionality is diverse I don't even try to explain.

Documentation

I only recently started better documentation of some parts. So far, bits and pieces of documentation are scattered:

Quick Start

git clone git@github.com:MarcToussaint/rai.git
# OR, if you don't have a github account:
git clone https://github.com/MarcToussaint/rai.git
cd rai

# The following two commands depend on the config.mk -- see below
make -j1 printUbuntuAll    # for your information: what the next step will install
make -j1 installUbuntuAll  # calls sudo apt-get install; you can always interrupt

make -j4
make -j4 tests bin
make runTests      # compile and run the essential tests

# when interested in the python bindings:
pip3 install --user pybind11 jupyter nbconvert matplotlib

Dependencies

To change the dependencies edit the config.mk in the root directory: When a flag is set =0, this forces that this package is not used. Otherwise (when set =0 is commented), a sub-folder Makefile may set it equal to 1 and links to this package. After this you definitely need to recompile some components. In doubt

make cleanAll
make -j4

If you pull an update, it might help to create Makefile.dep files throught the project using

make dependAll
make -j4

Maintenance & Alternative Build Systems

The rai repo has its own old-fashioned GNU make build system, which is convenient, modular and flexible for me, and compiles each source directory into its own shared lib. But I expect serious users to replace this by their own out-of-source build system.

In rai-maintenence there is a minimalistic CMake example, showing how to compile selected sources into a single shared lib.

In rai-maintenence there are also examples for testing in docker (Ubuntu 18.04 and 16.04).

To install globally: (default path is ~/z.LOCAL)

sudo make install INSTALL_PATH=/usr/local

About

Robotic AI bare code. This is designed as shared submodule of other projects. Try other repos that expose clearer interfaces (rai-python, robotics-course) first.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 77.6%
  • C 19.5%
  • Jupyter Notebook 0.9%
  • GAP 0.7%
  • Makefile 0.7%
  • SWIG 0.3%
  • Other 0.3%