A C++ library with Python bindings for robotic motion planning and decision making, integrated with DART and OMPL.
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.
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.
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.
Artificial Intelligence for Kinematics, Dynamics, and Optimization
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.
Leverages OMPL to provide a wide array of motion planning algorithms, making it adaptable to various robotic scenarios from research to deployment.
Optional ROS integration via aikido_ros packages enables execution on physical robots, bridging the gap between simulation and real-world application.
Python bindings allow for quick scripting and algorithm testing, facilitating iterative development without sacrificing C++ performance for core computations.
Explicitly marked as under heavy development in the README warning, leading to potential API instability, breaking changes, and incomplete features.
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.
Primarily tested on Ubuntu; macOS support is experimental or untested, and other platforms are not addressed, restricting usability in diverse environments.
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
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.
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.
The Open Motion Planning Library (OMPL)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.