{
  "markdown": "# DART\n\n<p align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/dartsim/dart/main/docs/dart_logo_377x107.jpg\" alt=\"DART: Dynamic Animation and Robotics Toolkit\">\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/dartsim/dart/actions/workflows/ci_ubuntu.yml\"><img src=\"https://github.com/dartsim/dart/actions/workflows/ci_ubuntu.yml/badge.svg\" alt=\"CI Ubuntu\"></a>\n  <a href=\"https://github.com/dartsim/dart/actions/workflows/ci_macos.yml\"><img src=\"https://github.com/dartsim/dart/actions/workflows/ci_macos.yml/badge.svg\" alt=\"CI macOS\"></a>\n  <a href=\"https://github.com/dartsim/dart/actions/workflows/ci_windows.yml\"><img src=\"https://github.com/dartsim/dart/actions/workflows/ci_windows.yml/badge.svg\" alt=\"CI Windows\"></a>\n  <br>\n  <a href=\"https://dart.readthedocs.io/en/latest/?badge=latest\"><img src=\"https://readthedocs.org/projects/dart/badge/?version=latest\" alt=\"Documentation Status\"></a>\n  <a href=\"https://deepwiki.com/dartsim/dart\"><img src=\"https://deepwiki.com/badge.svg\" alt=\"Ask DeepWiki\"></a>\n  <a href=\"https://codecov.io/gh/dartsim/dart\"><img src=\"https://codecov.io/gh/dartsim/dart/branch/main/graph/badge.svg\" alt=\"codecov\"></a>\n  <a href=\"https://app.codacy.com/gh/dartsim/dart/dashboard?utm_source=github.com&utm_medium=referral&utm_content=dartsim/dart&utm_campaign=Badge_Grade\"><img src=\"https://app.codacy.com/project/badge/Grade/2d95a9b951be4b73a71097670ec351e8\" alt=\"Codacy Badge\"></a>\n  <br>\n  <a href=\"https://anaconda.org/conda-forge/dartsim\"><img src=\"https://anaconda.org/conda-forge/dartsim/badges/version.svg\" alt=\"Anaconda-Server Badge\"></a>\n  <a href=\"https://pypi.org/project/dartpy/\"><img src=\"https://img.shields.io/pypi/v/dartpy\" alt=\"PyPI Version\"></a>\n  <a href=\"https://github.com/dartsim/dart/blob/main/LICENSE\"><img src=\"https://img.shields.io/badge/License-BSD_2--Clause-blue.svg\" alt=\"License\"></a>\n</p>\n\nDART (Dynamic Animation and Robotics Toolkit) is an open-source,\nresearch-focused physics engine for robotics, animation, and machine learning.\nIt provides transparent kinematics, dynamics, collision, and constraint-solving\nfoundations for users who need more than a black-box simulator. DART uses\ngeneralized coordinates for articulated rigid body systems and Featherstone's\nArticulated Body Algorithm for accurate, stable motion dynamics.\n\n> [!IMPORTANT]\n> **Which DART is this?** This `main` branch tracks **DART 7**, an in-progress\n> redesign that is **not yet recommended for production use**. Its documentation\n> is the [`latest`](https://dart.readthedocs.io/en/latest/) site.\n>\n> For a stable release, use **DART 6 LTS**:\n> [documentation](https://dart.readthedocs.io/en/stable/) ·\n> [`release-6.20` branch](https://github.com/dartsim/dart/tree/release-6.20).\n\n<p align=\"center\">\n  <img src=\"docs/assets/unitree_g1_demo.gif\" width=\"720\" alt=\"Unitree G1 humanoid demo\" />\n</p>\n\n## Why DART?\n\n- **Research-grade dynamics** — Featherstone algorithms, generalized coordinates, and direct access to dynamics quantities\n- **Easy to start** — Python and C++ packages through common package managers, plus reproducible source builds with pixi\n- **Extensible foundations** — Math, native collision, constraints, model loading, benchmarks, and tests that support new algorithms and baseline comparisons\n- **Unified model loading** — Load URDF, SDF, and MJCF models through a single API\n- **Scalable compute roadmap** — Cross-platform CPU support today, with roadmap work for multi-core, SIMD, and accelerator backends\n- **Battle-tested ecosystem** — Powers [Gazebo](https://gazebosim.org), research labs, and production systems worldwide, with best-effort support for production use\n\n## Quick Start\n\n**Python**\n\n```python\nimport dartpy as dart\nimport numpy as np\n\nworld = dart.World(time_step=1.0 / 1000.0)\n\n# Add a 1 kg rigid body one metre above the origin.\noptions = dart.RigidBodyOptions()\noptions.mass = 1.0\noptions.position = np.array([0.0, 0.0, 1.0])\nbox = world.add_rigid_body(\"box\", options)\n\n# Lock topology, then simulate 100 steps.\nworld.enter_simulation_mode()\nfor _ in range(100):\n    world.step()\n\nprint(f\"t = {world.time:.3f} s, box z = {float(box.translation[2]):.3f} m\")\n```\n\n**C++**\n\nThe DART 7 C++ simulation facade is available in source builds while the final\npublic header transaction is still in progress. Use the C++ API shape recorded\nin [`docs/design/simulation_cpp_api.md`](docs/design/simulation_cpp_api.md)\nfor current source-checkout examples; DART 6 C++ snippets remain on the\n`release-6.*` branches for compatibility-line users.\n\n## Installation\n\nThe quick-start snippets above target the current `main` branch and DART 7 API.\nThe tracked DART 7 wheel lane builds CPython 3.14 wheels on Linux, macOS, and\nWindows, but PyPI currently serves the stable DART 6 line as the latest\nnon-yanked `dartpy` package. Use the source checkout path for the DART 7 Python\nfacade until a non-yanked DART 7 wheel is published.\n\n### Python (Recommended)\n\n| Method                                  | Command                                                         |\n| --------------------------------------- | --------------------------------------------------------------- |\n| **source checkout** (DART 7 today)      | `pixi run build` from this repository                           |\n| **uv/pip** (DART 7 after wheel publish) | `uv add dartpy --prerelease allow` / `pip install --pre dartpy` |\n| **pixi** (DART 6 stable today)          | `pixi add dartpy`                                               |\n| **conda** (DART 6 stable today)         | `conda install -c conda-forge dartpy`                           |\n\n### C++\n\n| Platform                         | Command                                                              |\n| -------------------------------- | -------------------------------------------------------------------- |\n| **Cross-platform** (recommended) | `pixi add dartsim-cpp` or `conda install -c conda-forge dartsim-cpp` |\n| Ubuntu                           | `sudo apt install libdart-all-dev`                                   |\n| Arch Linux                       | `yay -S libdart`                                                     |\n| FreeBSD                          | `pkg install dartsim`                                                |\n| macOS                            | `brew install dartsim`                                               |\n| Windows                          | `vcpkg install dartsim:x64-windows`                                  |\n\n[All distributions →](https://repology.org/project/dart-sim/versions)\n\n### Current DART 7 Smoke Checks\n\nThese snippets create a tiny model in code, so they do not depend on sample data\nfiles being present. The Python snippet targets a DART 7 source build; if\n`dart.World` or `add_rigid_body` is missing, the environment resolved a stable\nDART 6 package and should use the stable documentation.\n\n**Python source build**\n\nRun this after `pixi run build` from a source checkout:\n\n```bash\nPYTHONPATH=build/default/cpp/Release/python pixi run python - <<'PY'\nimport dartpy as dart\n\nworld = dart.World()\nbody = world.add_rigid_body(\"box\", dart.RigidBodyOptions())\nworld.enter_simulation_mode()\nworld.step()\nprint(f\"t = {world.time:.4f} s, box position = {body.translation}\")\nPY\n```\n\n**C++ package**\n\nThe published C++ package smoke for the compatibility line is maintained on\n`release-6.*`. DART 7 C++ package smoke checks move through\n`check-dart7-artifacts` and the local source-checkout promotion gates until\nDART 7 C++ artifacts are published.\n\n### Source checkout\n\n```bash\npixi install\n# Smoke the Python-first DART 7 rigid-body demo surface.\npixi run py-demos -- --scene rigid_body --headless --frames 1\n\n# Open the curated rigid-body GUI verifier.\npixi run py-demos\npixi run py-demos -- --scene rigid_solver_compare\n\n# Capture docked visual evidence for the solver comparison.\npixi run py-demo-capture -- --scene rigid_solver_compare --frames 24 --width 960 --height 540 --show-ui\n\n# Optional C++ World-only companion smoke.\npixi run demos -- --scene rigid_body --headless --frames 1\n```\n\nThe full 36-row rigid-body visual verification workflow, `Rigid Workflow`\nsearch terms, and capture commands are in the\n[Python demos README](python/examples/demos/README.md#rigid-body-visual-verification-workflow).\n\n## Documentation\n\n- **Static Docs**: [English](https://dart.readthedocs.io/) | [한국어](https://dart-ko.readthedocs.io/)\n- **AI Docs (experimental)**: [DeepWiki](https://deepwiki.com/dartsim/dart) for quick codebase Q&A | [NotebookLM](https://notebooklm.google.com/notebook/c0cfc8ce-17ae-415a-a615-44c4342f0da6) (Google account required)\n- **Questions**: Ask in [GitHub Discussions](https://github.com/dartsim/dart/discussions) when you want maintainer or community input.\n\n### Developer Resources\n\n- **[Developer Onboarding Guide](docs/onboarding/README.md)** — Architecture, components, and workflows\n- **[Contributing Guide](CONTRIBUTING.md)** — Style guide and contribution process\n- **[Project Direction](docs/ai/north-star.md)** — Research-focused north star and priorities\n- **[Living Plans](docs/plans/README.md)** — Active and proposed roadmap items\n- **[Background Theory](docs/background/README.md)** — Dynamics, contact solving, and mathematical foundations\n- **[Gazebo Integration](docs/onboarding/build-system.md#gazebo-integration-feature)** — gz-physics integration workflow\n- **[Release Roadmap](docs/onboarding/release-roadmap.md)** — Compatibility, deprecations, and future plans\n\n#### Branches\n\n- `main` — Active development targeting DART 7 (not yet production-ready)\n- `release-6.20` — Maintenance branch for DART 6 LTS (critical fixes only); see\n  the [DART 6 documentation](https://dart.readthedocs.io/en/stable/)\n\n## Citation\n\nIf you use DART in an academic publication, please consider citing this [JOSS Paper](https://doi.org/10.21105/joss.00500):\n\n```bibtex\n@article{Lee2018,\n  doi = {10.21105/joss.00500},\n  url = {https://doi.org/10.21105/joss.00500},\n  year = {2018},\n  publisher = {The Open Journal},\n  volume = {3},\n  number = {22},\n  pages = {500},\n  author = {Jeongseok Lee and Michael X. Grey and Sehoon Ha and Tobias Kunz and Sumit Jain and Yuting Ye and Siddhartha S. Srinivasa and Mike Stilman and C. Karen Liu},\n  title = {DART: Dynamic Animation and Robotics Toolkit},\n  journal = {Journal of Open Source Software}\n}\n```\n\n## License\n\nDART is licensed under the [BSD 2-Clause License](LICENSE).\n\n## Star History\n\n<a href=\"https://star-history.dera.page/#dartsim/dart&type=date&legend=top-left\">\n <picture>\n   <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://star-history.dera.page/svg?repos=dartsim/dart&type=date&theme=dark&legend=top-left\" />\n   <source media=\"(prefers-color-scheme: light)\" srcset=\"https://star-history.dera.page/svg?repos=dartsim/dart&type=date&legend=top-left\" />\n   <img alt=\"Star History Chart\" src=\"https://star-history.dera.page/svg?repos=dartsim/dart&type=date&legend=top-left\" />\n </picture>\n</a>\n",
  "bytes": 10954,
  "sha": "fdfcde1cacbc7c175325386f0baf3d51d9637c03f58c1414565f85c379c21bd9",
  "repo_slug": "dartsim/dart",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_dartsim_dart_claude_skills_dart_test_ski_b2e90883/readme"
}