{"id":13445532,"url":"https://github.com/personalrobotics/aikido","last_synced_at":"2025-08-15T10:03:17.972Z","repository":{"id":30866479,"uuid":"34424077","full_name":"personalrobotics/aikido","owner":"personalrobotics","description":"Artificial Intelligence for Kinematics, Dynamics, and Optimization","archived":false,"fork":false,"pushed_at":"2023-03-10T20:08:11.000Z","size":21267,"stargazers_count":224,"open_issues_count":99,"forks_count":30,"subscribers_count":66,"default_branch":"master","last_synced_at":"2025-08-15T10:02:09.488Z","etag":null,"topics":["motion-planning","perception","robot-control","robotics","ros"],"latest_commit_sha":null,"homepage":"https://personalrobotics.github.io/aikido/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/personalrobotics.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null}},"created_at":"2015-04-23T00:33:33.000Z","updated_at":"2025-07-24T07:37:10.000Z","dependencies_parsed_at":"2023-01-14T17:51:29.285Z","dependency_job_id":"8af6b68b-0c8e-442a-86c4-3c50e2b67223","html_url":"https://github.com/personalrobotics/aikido","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/personalrobotics/aikido","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/personalrobotics%2Faikido","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/personalrobotics%2Faikido/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/personalrobotics%2Faikido/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/personalrobotics%2Faikido/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/personalrobotics","download_url":"https://codeload.github.com/personalrobotics/aikido/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/personalrobotics%2Faikido/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270552728,"owners_count":24605575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-15T02:00:12.559Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["motion-planning","perception","robot-control","robotics","ros"],"created_at":"2024-07-31T05:00:35.622Z","updated_at":"2025-08-15T10:03:17.893Z","avatar_url":"https://github.com/personalrobotics.png","language":"C++","funding_links":[],"categories":["6. Planning","Planning and Control","[Libraries](#awesome-robotics-libraries)"],"sub_categories":["3.4 High Performance Inference","Vector Map","[Motion Planning and Control](#awesome-robotics-libraries)"],"readme":"# AIKIDO - AI for KIDO [![Build Status](https://github.com/personalrobotics/aikido/actions/workflows/build-test.yml/badge.svg?branch=master)](https://github.com/personalrobotics/aikido/actions) [![codecov](https://codecov.io/gh/personalrobotics/aikido/branch/master/graph/badge.svg)](https://codecov.io/gh/personalrobotics/aikido) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6d2da97f57904c96a01a5993cbbc4f51)](https://www.codacy.com/app/personalrobotics/aikido?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=personalrobotics/aikido\u0026amp;utm_campaign=Badge_Grade)[![DOI](https://zenodo.org/badge/34424077.svg)](https://zenodo.org/badge/latestdoi/34424077)\n\n\n\u003e :warning: **Warning:** AIKIDO is under heavy development. These instructions are\n\u003e primarily for reference by the developers.\n\nAIKIDO is a C++ library, complete with Python bindings, for solving robotic motion\nplanning and decision making problems. This library is tightly integrated with\n[DART] for kinematic/dynamics calculations and [OMPL] for motion planning. AIKIDO\noptionally integrates with [ROS], through the suite of `aikido_ros` packages, for\nexecution on real robots.\n\n\n\u003c!--- TODO: Re-add Aikido to PPA\n## Installation\n\n### On Ubuntu Focal using `apt`\n\nAIKIDO depends on [ROS]. You should [install ROS](http://wiki.ros.org/noetic/Installation/Ubuntu) by adding the ROS repository to your `sources.list` as follows. We encourage users to install [`noetic`](http://wiki.ros.org/noetic) with at least the following packages:\n```shell\n$ sudo apt install ros-noetic-actionlib ros-noetic-geometry-msgs ros-noetic-interactive-markers ros-noetic-roscpp ros-noetic-std-msgs ros-noetic-tf ros-noetic-trajectory-msgs ros-noetic-visualization-msgs\n```\n\n\nOnce ROS is installed, you can install AIKIDO from the [Personal Robotics Lab PPA](https://launchpad.net/~personalrobotics/+archive/ubuntu/ppa):\n```shell\n$ sudo add-apt-repository ppa:libccd-debs/ppa\n$ sudo add-apt-repository ppa:fcl-debs/ppa\n$ sudo add-apt-repository ppa:dartsim/ppa\n$ sudo add-apt-repository ppa:personalrobotics/ppa\n$ sudo apt-get update\n$ sudo apt-get install libaikido-all-dev\n```\n--\u003e\n\n\u003c!--- TODO: Test on OS X and re-add to Homebrew\n\n### On macOS using [Homebrew]\n\n```shell\n# Install the Homebrew package manager\n$ /usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\n# Add Homebrew tap for Personal Robotics Lab software\n$ brew tap personalrobotics/tap\n# Install AIKIDO\n$ brew install aikido\n```\n\u003e Note: While ROS seems to be [available on macOS](http://wiki.ros.org/noetic/Installation/OSX/Homebrew/Source), we haven't tested it with AIKIDO. For now, `brew install aikido` installs AIKIDO without the ROS-dependent components.\n--\u003e\n\n\n## Building from Source\n\n### Dependencies\n\nAIKIDO depends on [ROS]. You should [install ROS](http://wiki.ros.org/noetic/Installation/Ubuntu) by adding the ROS repository to your `sources.list` as follows. We encourage users to install [`noetic`](http://wiki.ros.org/noetic) with at least the following packages:\n```shell\n$ sudo apt install ros-noetic-actionlib ros-noetic-geometry-msgs ros-noetic-interactive-markers ros-noetic-roscpp ros-noetic-std-msgs ros-noetic-tf ros-noetic-trajectory-msgs ros-noetic-visualization-msgs\n```\n\nAIKIDO also depends on [CMake], [Boost], [DART] \\(version 6.8.5 or above), [OMPL], [yaml-cpp](https://github.com/jbeder/yaml-cpp), tinyxml2, pr-control-msgs, libmicrohttpd, and the\nPython development headers (`python-dev` on Debian systems). [DART] and AIKIDO both\nmake heavy use of C++14 and require a modern compiler.\n\n### On Ubuntu Focal using CMake\n\nYou should install the ROS packages as described above to build all the ROS-dependent AIKIDO components (e.g., `aikido-control-ros`).\n\nInstall the other dependencies:\n```shell\n$ sudo add-apt-repository ppa:dartsim/ppa\n$ sudo add-apt-repository ppa:personalrobotics/ppa\n$ sudo apt-get update\n$ sudo apt-get install cmake build-essential libboost-filesystem-dev libdart6-optimizer-nlopt-dev libdart6-utils-dev libdart6-utils-urdf-dev libmicrohttpd-dev libompl-dev libtinyxml2-dev libyaml-cpp-dev pr-control-msgs\n```\n\nOnce the dependencies are installed, you can build and install AIKIDO using [CMake]:\n```shell\n$ mkdir build\n$ cd build\n$ cmake ..\n$ make  # you may want to build AIKIDO using multi-core by executing `make -j4`\n$ sudo make install\n```\n\nAIKIDO includes several optional components that depend on [ROS]. While we\nsuggest building AIKIDO in a Catkin workspace (see below) to enable the ROS\ncomponents, it is also possible to build those components in a standalone\nbuild. To do so, source the `setup.bash` file in your Catkin workspace before\nrunning the above commands, e.g.:\n```shell\n$ . /path/to/my/workspace/setup.bash\n```\n\n### On Ubuntu Focal using Catkin\n\nIt is also possible to build AIKIDO as a [third-party package][REP-136] inside a\n[Catkin workspace][Catkin Workspaces]. To do so, clone AIKIDO into your Catkin\nworkspace and use the `catkin build` command like normal.\n\nIf you are using the older `catkin_make` command, then you must build your workspace\nwith `catkin_make_isolated`. This may dramatically increase your build time, so we\n*strongly recommend* that you use `catkin build`, which is provided by the\n[`catkin_tools` package][Catkin Tools], if possible.\n\n### On macOS using CMake\n\nPlease install [Homebrew] as described above, then you can easily install the dependencies as follows:\n```shell\n$ cd \u003caikido_directory\u003e\n$ brew bundle\n```\n\nOnce the dependencies are installed, you can build and install AIKIDO using [CMake]:\n```shell\n$ cd \u003caikido_directory\u003e\n$ mkdir build\n$ cd build\n$ cmake ..\n$ make  # you may want to build AIKIDO using multi-core by executing `make -j4`\n$ sudo make install\n```\n\n## Code Style\n\nPlease follow the [AIKIDO style guidelines](https://github.com/personalrobotics/aikido/blob/master/STYLE.md) when making a contribution.\n\n## License\n\nAIKIDO is licensed under a BSD license. See [LICENSE](./LICENSE) for more\ninformation.\n\n## Authors\n\nAIKIDO is developed by the\n[Personal Robotics Lab](https://personalrobotics.cs.washington.edu/) in the\n[Paul G. Allen School of Computer Science and Engineering](https://www.cs.washington.edu/) at\nthe [University of Washington](https://www.washington.edu/).\nThe library was started by\nMichael Koval ([**@mkoval**](https://github.com/mkoval))\nand Pras Velagapudi ([**@psigen**](https://github.com/psigen)).\nIt has received major contributions from\nShushman Choudhury ([**@Shushman**](https://github.com/Shushman)),\nEthan Gordon ([**@egordon**](https://github.com/egordon)),\nBrian Hou ([**@brianhou**](https://github.com/brianhou)),\nAaron Johnson ([**@aaronjoh**](https://github.com/aaronjoh)),\nJennifer King ([**@jeking**](https://github.com/jeking04)),\nGilwoo Lee ([**@gilwoolee**](https://github.com/gilwoolee)),\nJeongseok Lee ([**@jslee02**](https://github.com/jslee02)),\nand Clint Liddick ([**@ClintLiddick**](https://github.com/ClintLiddick)).\nWe also would like to thank\nMichael Grey ([**@mxgrey**](https://github.com/mxgrey))\nand Jeongseok Lee ([**@jslee02**](https://github.com/jslee02))\nfor making changes to DART to better support AIKIDO.\n\n\n[DART]: http://dartsim.github.io/\n[OMPL]: http://ompl.kavrakilab.org/\n[ROS]: http://ros.org/\n[CMake]: http://www.cmake.org/\n[Boost]: http://www.boost.org/\n[REP-136]: http://www.ros.org/reps/rep-0136.html\n[Catkin Workspaces]: http://wiki.ros.org/catkin/workspaces\n[Catkin Tools]: http://catkin-tools.readthedocs.org/en/latest/\n[Homebrew]: https://brew.sh/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpersonalrobotics%2Faikido","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpersonalrobotics%2Faikido","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpersonalrobotics%2Faikido/lists"}