Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,617 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAI bare code

This repo contains core sources related to Robotics & AI. 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 some subset of functionalities. Esp. the robotic python lib, which now co-installs C++ headers and a compiled shared lib.

'bare code' means that this repo contains only sources, a minimal Ubuntu-specific build system, and development tests. It is mostly used as submodule in other integrated projects, with their 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 includes 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.

Repos wrapping rai:

Documentation

The there is no proper documentation of the full rai code. I recommend starting with

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 APTGETYES=--yes # calls sudo apt-get install; remove 'yes' to allow interrupting

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

Dependencies

To change the dependencies edit the config.mk in _make: 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

local compile

  export MAKEFLAGS="-j $(command nproc --ignore 2)"
  #apt update
  #apt install wget

  source _make/install.sh vars_only #defines the following dependency packages
  sudo apt install --yes ${ubuntu_rai}
  _make/install.sh libccd
  _make/install.sh fcl
  _make/install.sh libann

  #build tests
  cmake . -B build -DBUILD_TESTS=ON -DUSE_PHYSX=OFF
  make -C build

  #build with physx
  ./install.sh physx
  cmake . -B build -DUSE_PHYSX=ON
  make -C build

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

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages