{
  "id": "libfranka-cartesian-impedance",
  "name": "Franka libfranka: Cartesian impedance control",
  "summary": "Cartesian impedance control. Pinned upstream source; source reviewed only, without Hub execution evidence.",
  "framework": "libfranka",
  "kind": "official_example",
  "source_registry": "curated-platform-sources-v1",
  "capabilities": [
    "real-robot",
    "impedance-control",
    "cartesian-control"
  ],
  "aliases": [
    "Franka"
  ],
  "robot_types": [
    "manipulator"
  ],
  "robot_scope": "Franka client examples. Controller/FCI version compatibility, robot model, collision settings and payload require the pinned upstream setup; none were tested on hardware.",
  "source": {
    "repository": "https://github.com/frankarobotics/libfranka",
    "commit": "e88d08f64cbf842b8f53c0b551963684064038d6",
    "path": "examples/cartesian_impedance_control.cpp",
    "url": "https://github.com/frankarobotics/libfranka/blob/e88d08f64cbf842b8f53c0b551963684064038d6/examples/cartesian_impedance_control.cpp",
    "sha256": "c6d28928eb032848cb7eb59051c603f813e22076c17ff9bcadead24e7db7c700",
    "bytes": 5217,
    "authors": [
      "Franka Robotics GmbH"
    ]
  },
  "license": {
    "spdx": "Apache-2.0",
    "url": "https://github.com/frankarobotics/libfranka/blob/e88d08f64cbf842b8f53c0b551963684064038d6/LICENSE",
    "sha256": "a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9",
    "bytes": 10173,
    "verified": true,
    "scope": "Selected first-party source/instruction text only, under its pinned license and author notices. Preserve upstream attribution. Referenced runtimes, third-party components, model weights, data, firmware and hardware retain their own terms."
  },
  "artifact": {
    "kind": "source_code",
    "format": "cpp",
    "role": "upstream-program"
  },
  "access": {
    "mode": "source_reference",
    "hub_prepare": false,
    "setup_url": "https://github.com/frankarobotics/libfranka/blob/e88d08f64cbf842b8f53c0b551963684064038d6/README.rst",
    "instructions": "Read the exact source with its upstream setup and adjacent dependencies. This reference neither installs an agent instruction bundle nor authorizes code or physical motion."
  },
  "requirements": {
    "python": "Native C++17 examples; CMake >=3.16.",
    "packages": [
      "Pinned libfranka 0.21.3 source",
      "Eigen3, Poco Net/Foundation, console_bridge, Pinocchio, TinyXML2 and Threads from pinned CMake declarations"
    ],
    "display": "Configured Franka FCI controller, authorized robot IP, compatible firmware/library and real-time host. Motion examples change control/collision settings; numeric targets are upstream examples, not validated values for an installed robot.",
    "execution_domain": "real_robot"
  },
  "invocation": {
    "entrypoint": "examples/cartesian_impedance_control.cpp",
    "notes": "Compile the exact upstream example with its adjacent helper files and use the upstream controller setup."
  },
  "evidence": {
    "level": "source_reviewed",
    "runtime_verification": "not_run",
    "checked_at": "2026-10-19",
    "inspection_method": "static_text_and_source_identity",
    "inspection": "Verified SHA-256, byte count, Git blob, reviewed operation anchors and source license. Parsed Python as AST or inspected native/instruction entry documents; no upstream instructions or code executed.",
    "source_anchors": [
      "model.zeroJacobian("
    ],
    "provenance_files": [
      {
        "path": "NOTICE",
        "url": "https://github.com/frankarobotics/libfranka/blob/e88d08f64cbf842b8f53c0b551963684064038d6/NOTICE",
        "sha256": "a7dcae538ac4983582406437c91e87c9100e7027420a8c1f275053de9f4289cf",
        "bytes": 572
      },
      {
        "path": "README.rst",
        "url": "https://github.com/frankarobotics/libfranka/blob/e88d08f64cbf842b8f53c0b551963684064038d6/README.rst",
        "sha256": "77301c9429631d80d367c787de335bdd54ccff4d2ae7ff563736252bb4951d58",
        "bytes": 25152
      },
      {
        "path": "CMakeLists.txt",
        "url": "https://github.com/frankarobotics/libfranka/blob/e88d08f64cbf842b8f53c0b551963684064038d6/CMakeLists.txt",
        "sha256": "624d36c838b08dc8882a93497d81e6387e939598c6fcd550c8f5d5d8046d18b4",
        "bytes": 10428
      },
      {
        "path": "examples/CMakeLists.txt",
        "url": "https://github.com/frankarobotics/libfranka/blob/e88d08f64cbf842b8f53c0b551963684064038d6/examples/CMakeLists.txt",
        "sha256": "b60dc61c336507a37180450c19c9355ce5c4ec65d24d0d05419900ba897c67c4",
        "bytes": 2170
      },
      {
        "path": "examples/examples_common.h",
        "url": "https://github.com/frankarobotics/libfranka/blob/e88d08f64cbf842b8f53c0b551963684064038d6/examples/examples_common.h",
        "sha256": "fe3da5241e1d6c332ae35abddd353c7b48bb0c7d615127c9d2a68ca5c54b445a",
        "bytes": 2177
      }
    ]
  }
}
