⚠️ Warning: AIKIDO is under heavy development. These instructions are primarily for reference by the developers.
AIKIDO is a C++ library, complete with Python bindings, for solving robotic motion
planning and decision making problems. This library is tightly integrated with
DART for kinematic/dynamics calculations and OMPL for motion planning. AIKIDO
optionally integrates with ROS, through the suite of aikido_ros
packages, for
execution on real robots.
AIKIDO depends on CMake, Boost, DART (version 6.1 or above), OMPL, and the
Python development headers (python-dev
on Debian systems). DART and AIKIDO both
make heavy use of C++11 and require a modern compiler.
Install on macOS using Homebrew
# install Homebrew package manager
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# add Homebrew tap for Personal Robotics Lab software
$ brew tap personalrobotics/tap
# install Aikido
$ brew install aikido0
Once the dependencies are installed, you can build AIKIDO using CMake:
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
Aikido includes several optional components that depend on ROS. While we
suggest building Aikido in a Catkin workspace (see below) to enable the ROS
components, it is also possible to build those components in a standalone
build. To do so, source the setup.bash
file in your Catkin workspace before
running the above commands, e.g.:
$ . /path/to/my/workspace/setup.bash
It is also possible to build AIKIDO as a third-party package inside a
Catkin workspace. To do so, clone AIKIDO into your Catkin
workspace and use the catkin build
command like normal.
If you are using the older catkin_make
command, then you must build your workspace
with catkin_make_isolated
. This may dramatically increase your build time, so we
strongly recommend that you use catkin build
, which is provided by the
catkin_tools
package, if possible.
Please follow the Aikido code style when you making a contribution.
Aikido is licensed under a BSD license. See LICENSE for more information.
Aikido is developed by the Personal Robotics Lab in the Robotics Institute at Carnegie Mellon University. The library was started by Michael Koval (@mkoval) and Pras Velagapudi (@psigen). It has received major contributions from Shushman Choudhury (@Shushman), Aaron Johnson (@aaronjoh), Jennifer King (@jeking), Gilwoo Lee (@lgw903), and Clint Liddick (@ClintLiddick). We also would like to thank Michael Grey (@mxgrey) and J.S. Lee (@jslee02) for making changes to DART to better support Aikido.