{"id":27245796,"url":"https://github.com/davidpl1/mujoco_ik_control","last_synced_at":"2026-05-04T07:37:42.212Z","repository":{"id":261422879,"uuid":"884248214","full_name":"DavidPL1/mujoco_ik_control","owner":"DavidPL1","description":"Native C/C++ controllers with Python bindings for fast control in MuJoCo","archived":false,"fork":false,"pushed_at":"2025-02-19T12:22:37.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T21:36:04.897Z","etag":null,"topics":["mujoco","pybind11","python3","robot-control"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DavidPL1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-06T12:16:46.000Z","updated_at":"2025-02-19T12:22:41.000Z","dependencies_parsed_at":"2025-01-06T14:30:03.084Z","dependency_job_id":"8dbdcab4-7a67-44a7-9802-abc67caa2b62","html_url":"https://github.com/DavidPL1/mujoco_ik_control","commit_stats":null,"previous_names":["davidpl1/mujoco_ik_control"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DavidPL1/mujoco_ik_control","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidPL1%2Fmujoco_ik_control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidPL1%2Fmujoco_ik_control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidPL1%2Fmujoco_ik_control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidPL1%2Fmujoco_ik_control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DavidPL1","download_url":"https://codeload.github.com/DavidPL1/mujoco_ik_control/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidPL1%2Fmujoco_ik_control/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32599406,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"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":["mujoco","pybind11","python3","robot-control"],"created_at":"2025-04-10T21:29:15.372Z","updated_at":"2026-05-04T07:37:42.197Z","avatar_url":"https://github.com/DavidPL1.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mujoco_ik_control\n\n## Install (Linux w conda)\n\nsetup conda environment\n\n1. Set Mujoco version (tested with MuJoCo 3.2.3)\n```bash\nexport MUJOCO_VERSION=3.2.3\n```\n\n2. Install mujoco\n```bash\nmkdir ${HOME}/.mujoco\ncd ${HOME}/.mujoco\nwget https://github.com/google-deepmind/mujoco/releases/download/${MUJOCO_VERSION}/mujoco-${MUJOCO_VERSION}-linux-x86_64.tar.gz\ntar -xzf mujoco-${MUJOCO_VERSION}-linux-x86_64.tar.gz \u0026\u0026 rm mujoco-${MUJOCO_VERSION}-linux-x86_64.tar.gz\npip install mujoco==${MUJOCO_VERSION}\n```\n\n3. Create utility script for setting up paths\n```bash\necho \"\n# For cmake to find mujoco\nexport MUJOCO_DIR=\\${HOME}/volmounts/mujoco/mujoco-\\${MUJOCO_VERSION}\nexport LD_LIBRARY_PATH=\\$LD_LIBRARY_PATH:\\${MUJOCO_DIR}/lib\nexport LD_LIBRARY_PATH=\\$LD_LIBRARY_PATH:/usr/lib/nvidia\n# for offscreen rendering\nexport MUJOCO_GL=egl\n\nexport CUDA_HOME=\\$CONDA_PREFIX\n\" \u003e ${HOME}/sourcescript.sh\n```\n\n4. Clone this repository\n```bash\ngit clone https://github.com/DavidPL1/mujoco_ik_control.git ${HOME}/mujoco_ik_control\n```\n\n5. Install library with bindings in conda\n```bash\nsource ${HOME}/sourcescript.sh\npip install ${HOME}/mujoco_ik_control\n```\n\n## Usage\n\n### Opspace Controller\nimport in python with\n\n```python\nfrom mujoco_ik_control import opspace_ctrl\n\n# initialize model and data, and compute necessary data\n\n...\n\n# instanciate controller\nctrlr = opspace_ctrl.OpspaceController(\n        model,\n        site_id,\n        dof_ids,\n        actuator_ids,\n        True,  # gravcomp\n        q0,\n        integration_dt,\n        Kpos,\n        Kori,\n        Kp,\n        Kd,\n        Kp_null,\n        Kd_null,\n    )\n\n...\n\n# run controller steps\n\nctrlr.run_steps(data, step_size, target_pos, target_quat)\n\n```\n\n\n### Speed test\n\nrun on `11th Gen Intel(R) Core(TM) i7-11700K @ 3.60GHz`\n\n```\npy controller:\n        mean: 14.97s +- 0.07s\n        min: 14.83s\n        max: 15.04s\nc controller 1 step:\n        mean: 6.20s +- 0.25s (2.42%)\n        min: 5.75s (2.58%)\n        max: 6.54s (2.30%)\nc controller 10 step:\n        mean: 5.62s +- 0.23s (2.66%)\n        min: 5.34s (2.78%)\n        max: 5.95s (2.53%)\nc controller 100 step:\n        mean: 5.82s +- 0.02s (2.57%)\n        min: 5.78s (2.57%)\n        max: 5.84s (2.58%)\n```\n\nfor details see [test.py](test.py#L298-L319)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidpl1%2Fmujoco_ik_control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidpl1%2Fmujoco_ik_control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidpl1%2Fmujoco_ik_control/lists"}