Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Robotic Tooling
  3. aikido

aikido

BSD-3-ClauseC++v0.4.0

A C++ library with Python bindings for robotic motion planning and decision making, integrated with DART and OMPL.

Visit WebsiteGitHubGitHub
233 stars30 forks0 contributors

What is aikido?

AIKIDO is a C++ library with Python bindings designed for solving robotic motion planning and decision making problems. It integrates with DART for kinematics/dynamics and OMPL for motion planning to provide a comprehensive toolkit for robot autonomy. The library optionally works with ROS to enable execution on real robots.

Target Audience

Robotics researchers, engineers, and developers working on motion planning, robot control, and autonomous systems, particularly those using C++ or Python in academic or industrial settings.

Value Proposition

Developers choose AIKIDO for its tight integration with established robotics tools like DART and OMPL, its performance as a C++ library with Python accessibility, and its focus on bridging algorithmic motion planning with practical robot execution.

Overview

Artificial Intelligence for Kinematics, Dynamics, and Optimization

Use Cases

Best For

  • Developing motion planning algorithms for robotic arms or mobile robots
  • Integrating kinematics and dynamics calculations into robotic control systems
  • Prototyping robot behaviors using Python bindings for faster iteration
  • Deploying motion planning solutions on real robots via ROS integration
  • Academic research in robotic autonomy and decision making
  • Building simulation environments for robot testing and validation

Not Ideal For

  • Projects requiring simple, out-of-the-box installation without managing multiple dependencies like ROS and specific DART versions
  • Applications demanding hard real-time performance for low-level robot control due to potential abstraction latency
  • Teams working exclusively outside Ubuntu environments, given incomplete macOS support and lack of cross-platform instructions
  • Small hobbyist projects where a lighter, more accessible motion planning library would suffice

Pros & Cons

Pros

Seamless DART Integration

Tightly integrated with DART for accurate kinematic and dynamic calculations, essential for realistic robot simulations and control, as highlighted in the README's core philosophy.

Versatile Motion Planning

Leverages OMPL to provide a wide array of motion planning algorithms, making it adaptable to various robotic scenarios from research to deployment.

ROS Deployment Ready

Optional ROS integration via aikido_ros packages enables execution on physical robots, bridging the gap between simulation and real-world application.

Python for Rapid Prototyping

Python bindings allow for quick scripting and algorithm testing, facilitating iterative development without sacrificing C++ performance for core computations.

Cons

Unstable Development State

Explicitly marked as under heavy development in the README warning, leading to potential API instability, breaking changes, and incomplete features.

Complex Installation Process

Requires managing multiple dependencies, specific versions (e.g., DART 6.8.5+), and ROS setup, which is time-consuming and error-prone, especially on non-Ubuntu systems.

Limited Platform Support

Primarily tested on Ubuntu; macOS support is experimental or untested, and other platforms are not addressed, restricting usability in diverse environments.

Frequently Asked Questions

Quick Stats

Stars233
Forks30
Contributors0
Open Issues96
Last commit3 years ago
CreatedSince 2015

Tags

#robotics#robot-control#perception#dynamics#motion-planning#c-plus-plus#open-source-library#python-bindings#kinematics#ros#optimization

Built With

C
Catkin
y
yaml-cpp
t
tinyxml2
R
ROS
O
OMPL
C
CMake
P
Python
D
Dart
B
Boost
C
C++

Links & Resources

Website

Included in

Robotic Tooling3.8k
Auto-fetched 1 day ago

Related Projects

pinocchiopinocchio

A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives

Stars3,567
Forks553
Last commit6 days ago
EGO-PlannerEGO-Planner

EGO-Planner is an ESDF-free gradient-based local planner designed for quadrotor navigation. It significantly reduces computation time compared to state-of-the-art methods by avoiding the computationally expensive Euclidean Signed Distance Field (ESDF) construction, enabling real-time performance with total planning times around 1ms. ## Key Features - **ESDF-Free Planning** — Eliminates the need to compute Euclidean Signed Distance Fields, drastically reducing computational overhead. - **Lightweight Gradient-Based Optimization** — Uses a gradient-based approach for efficient local trajectory generation. - **GPU/CPU Versatility** — Offers both GPU and CPU versions of its local sensing module for depth image generation or pointcloud processing. - **Fast Computation** — Achieves planning times of approximately 1ms, suitable for real-time drone control. - **Simulation-Ready** — Includes a lightweight quadrotor simulator and supports integration with sensors like Intel RealSense for hardware testing. ## Philosophy EGO-Planner prioritizes computational efficiency and real-time performance by removing the ESDF construction bottleneck, making advanced local planning accessible for resource-constrained aerial robotics applications.

Stars2,566
Forks399
Last commit1 year ago
casADicasADi

CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave.

Stars2,253
Forks451
Last commit10 days ago
omplompl

The Open Motion Planning Library (OMPL)

Stars2,097
Forks700
Last commit3 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub