rai

rai

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.

Stars: 90

Visit
 screenshot

This repository contains core sources related to Robotics & AI. It serves as a submodule in integrated projects, providing a minimal Ubuntu-specific build system and development tests. The code originated around 2004 in Edinburgh and has grown over the years to encompass various functionalities for Robotics, ML, and AI. Users are advised to explore example projects using this bare code for a better understanding of its capabilities.

README:

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 [email protected]: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 lib install

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

  wget https://github.com/MarcToussaint/rai/raw/refs/heads/marc/_make/install.sh; chmod a+x install.sh
  ./install.sh ubuntu-rai
  ./install.sh libccd
  ./install.sh fcl
  ./install.sh libann
  ./install.sh rai

  #build tests
  cmake -DBUILD_TESTS=ON git/rai -B git/rai/build 
  cmake --build git/rai/build 

  #build with physx
  ./install.sh physx
  cmake -DUSE_PHYSX=ON git/rai -B git/rai/build 
  cmake --build git/rai/build 

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for rai

Similar Open Source Tools

For similar tasks

For similar jobs