{"id":40061338,"url":"https://github.com/roboticslab-uc3m/kinematics-dynamics","last_synced_at":"2026-01-19T07:30:45.529Z","repository":{"id":26778430,"uuid":"30236586","full_name":"roboticslab-uc3m/kinematics-dynamics","owner":"roboticslab-uc3m","description":"Kinematics and dynamics solvers and controllers.","archived":false,"fork":false,"pushed_at":"2026-01-18T12:12:05.000Z","size":18870,"stargazers_count":27,"open_issues_count":5,"forks_count":17,"subscribers_count":15,"default_branch":"master","last_synced_at":"2026-01-18T18:57:11.002Z","etag":null,"topics":["kinematics","robotics","screw-theory","solvers"],"latest_commit_sha":null,"homepage":"https://robots.uc3m.es/kinematics-dynamics/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roboticslab-uc3m.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-02-03T10:04:51.000Z","updated_at":"2026-01-18T12:11:14.000Z","dependencies_parsed_at":"2023-11-17T14:15:46.549Z","dependency_job_id":"995bb510-ff8e-43f8-96b1-52da23a42a07","html_url":"https://github.com/roboticslab-uc3m/kinematics-dynamics","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/roboticslab-uc3m/kinematics-dynamics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roboticslab-uc3m%2Fkinematics-dynamics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roboticslab-uc3m%2Fkinematics-dynamics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roboticslab-uc3m%2Fkinematics-dynamics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roboticslab-uc3m%2Fkinematics-dynamics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roboticslab-uc3m","download_url":"https://codeload.github.com/roboticslab-uc3m/kinematics-dynamics/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roboticslab-uc3m%2Fkinematics-dynamics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28562993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T03:31:16.861Z","status":"ssl_error","status_checked_at":"2026-01-19T03:31:15.069Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["kinematics","robotics","screw-theory","solvers"],"created_at":"2026-01-19T07:30:44.813Z","updated_at":"2026-01-19T07:30:45.523Z","avatar_url":"https://github.com/roboticslab-uc3m.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Teo-main Homepage](https://img.shields.io/badge/kinematics-dynamics-orange.svg)](https://robots.uc3m.es/kinematics-dynamics/)\n\nKinematics and dynamics solvers and controllers.\n\nLink to Doxygen generated documentation: https://robots.uc3m.es/kinematics-dynamics/\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/roboticslab-uc3m/kinematics-dynamics/master/doc/fig/kinematics-dynamics.png\" alt=\"kinematics-dynamics image\"/\u003e\u003c/p\u003e\n\n## Installation\n\nInstallation instructions for installing from source can be found [here](doc/kinematics-dynamics-install.md).\n\n## Contributing\n\n#### Posting Issues\n\n1. Read [CONTRIBUTING.md](CONTRIBUTING.md)\n2. [Post an issue / Feature request / Specific documentation request](https://github.com/roboticslab-uc3m/kinematics-dynamics/issues)\n\n#### Fork \u0026 Pull Request\n\n1. [Fork the repository](https://github.com/roboticslab-uc3m/kinematics-dynamics/fork)\n2. Create your feature branch (`git checkout -b my-new-feature`) off the `master` branch, following the [Forking Git workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow)\n3. Commit your changes\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n\n## Citation\n\nIf you found this project useful, please consider citing the following works:\n\n- [ScrewTheoryLib](libraries/ScrewTheoryLib/)\n\nBartek Łukawski, Ignacio Montesino Valle, Juan G. Victores, Alberto Jardón, and Carlos Balaguer. An inverse kinematics problem solver based on screw theory for manipulator arms. In *XLIII Jornadas de Automática*, pages 864–869. Universidade da Coruña, 2022. DOI: [10.17979/spudc.9788497498418.0864 ](https://doi.org/10.17979/spudc.9788497498418.0864 )\n\n```bibtex\n@inproceedings{lukawski2022jjaa,\n    author    = {{\\L}ukawski, Bartek and Montesino Valle, Ignacio and Victores, Juan G. and Jardón, Alberto and Balaguer, Carlos},\n    title     = {An inverse kinematics problem solver based on screw theory for manipulator arms},\n    booktitle = {XLIII Jornadas de Automática},\n    year      = {2022},\n    pages     = {864--869},\n    publisher = {Universidade da Coruña},\n    doi       = {10.17979/spudc.9788497498418.0864},\n}\n```\n\n- [streamingDeviceController](programs/streamingDeviceController/)\n\nEdwin Daniel Oña, Bartek Łukawski, Alberto Jardón, and Carlos Balaguer. A modular framework to facilitate the control of an assistive robotic arm using visual servoing and proximity sensing. In *IEEE Int. Conf. on Autonomous Robot Systems and Competitions (ICARSC)*, pages 28–33, 2020. DOI: [10.1109/ICARSC49921.2020.9096146](https://doi.org/10.1109/ICARSC49921.2020.9096146)\n\n```bibtex\n@inproceedings{eona2020icarsc,\n    author    = {{O\\~na}, Edwin Daniel and {\\L}ukawski, Bartek and Jardón, Alberto and Balaguer, Carlos},\n    title     = {A modular framework to facilitate the control of an assistive robotic arm using visual servoing and proximity sensing},\n    booktitle = {IEEE Int. Conf. on Autonomous Robot Systems and Competitions (ICARSC)},\n    year      = {2020},\n    pages     = {28--33},\n    doi       = {10.1109/ICARSC49921.2020.9096146},\n}\n```\n\nBartek Łukawski, Juan G. Victores, and Carlos Balaguer. A generic controller for teleoperation on robotic manipulators using low-cost devices. In *XLIV Jornadas de Automática*, pages 785–788. Universidade da Coruña, 2023. DOI: [10.17979/spudc.9788497498609.785](https://doi.org/10.17979/spudc.9788497498609.785)\n\n```bibtex\n@inproceedings{lukawski2023jjaa,\n    author    = {{\\L}ukawski, Bartek and Victores, Juan G. and Balaguer, Carlos},\n    title     = {A generic controller for teleoperation on robotic manipulators using low-cost devices},\n    booktitle = {XLIV Jornadas de Automática},\n    year      = {2023},\n    pages     = {785--788},\n    publisher = {Universidade da Coruña},\n    doi       = {10.17979/spudc.9788497498609.785},\n}\n```\n\n- [CartesianControlServerROS2](libraries/YarpPlugins/CartesianControlServerROS2/) and [ROS 2 workspace packages](ros2/workspace/src/)\n\nBartek Łukawski, Mercedes Rebollo, Ángel Gilabert, Juan G. Victores, Carlos Balaguer, and Alberto Jardón. YARP Cartesian controller layers over ROS 2 for teleoperation and web applications. In *XLVI Jornadas de Automática*. Universidade da Coruña, 2025. DOI: [10.17979/ja-cea.2025.46.12252](https://doi.org/10.17979/ja-cea.2025.46.12252)\n\n```bibtex\n@inproceedings{lukawski2025jjaa,\n    author    = {{\\L}ukawski, Bartek and Mercedes, Rebollo and Gilabert, Ángel and Victores, Juan G. and Balaguer, Carlos and Jardón, Alberto},\n    title     = {{YARP} {Cartesian} controller layers over {ROS} 2 for teleoperation and web applications},\n    booktitle = {XLVI Jornadas de Automática},\n    year      = {2025},\n    publisher = {Universidade da Coruña},\n    doi       = {10.17979/ja-cea.2025.46.12252},\n}\n```\n\n## Status\n\n[![Continuous Integration](https://github.com/roboticslab-uc3m/kinematics-dynamics/actions/workflows/ci.yml/badge.svg)](https://github.com/roboticslab-uc3m/kinematics-dynamics/actions/workflows/ci.yml)\n\n[![Issues](https://img.shields.io/github/issues/roboticslab-uc3m/kinematics-dynamics.svg?label=Issues)](https://github.com/roboticslab-uc3m/kinematics-dynamics/issues)\n\n## Similar and Related Projects\n\n### Quaternions\n\n- [pyquaternion](http://kieranwynn.github.io/pyquaternion/) ([KieranWynn/pyquaternion](https://github.com/KieranWynn/pyquaternion))\n\n### Fast Solvers\n\n- [ocra-recipes/eigen_lgsm](https://github.com/ocra-recipes/eigen_lgsm): used by [robotology/codyco-superbuild](https://github.com/robotology/codyco-superbuild)\n- [cuSolver](https://docs.nvidia.com/cuda/cusolver/index.html)\n\n### IK-Solvers\n\n- [IKFast](http://openrave.org/docs/0.8.2/ikfast/): Part of [OpenRAVE](http://openrave.org/) ([rdiankov/openrave](https://github.com/rdiankov/openrave), [roboticslab-uc3m/installation-guides](https://github.com/roboticslab-uc3m/installation-guides/blob/master/docs/install-openrave.md))\n- [NUKE](https://vanadiumlabs.github.io/pypose/nuke-intro.html#NUKE): The Nearly Universal Kinematic Engine\n- [ESROCOS/kin-gen](https://github.com/ESROCOS/kin-gen): Kinematics code generator by KUL\n- [AversivePlusPlus/ik](https://github.com/AversivePlusPlus/ik)\n- [ros-industrial-consortium/descartes](https://github.com/ros-industrial-consortium/descartes)\n- [IKPy](https://phylliade.github.io/ikpy) ([Phylliade/ikpy](https://github.com/Phylliade/ikpy))\n- [uts-magic-lab/Magiks](https://github.com/uts-magic-lab/Magiks)\n- [tasts-robots/pink](https://github.com/tasts-robots/pink): Based on Pinocchio\n\n### Kinematics and Dynamics\n\n- [orocos/orocos_kinematics_dynamics](https://github.com/orocos/orocos_kinematics_dynamics) ([roboticslab-uc3m/installation-guides](https://github.com/roboticslab-uc3m/installation-guides/blob/master/docs/install-kdl.md)): A dependency of this repository\n- [iDyn](http://www.icub.org/doc/icub-main/idyn_introduction.html): Library in [robotology/icub-main](https://github.com/robotology/icub-main) for computing kinematics and dynamics of serial-links chains of revolute joints and limbs\n- [stack-of-tasks/pinocchio](https://github.com/stack-of-tasks/pinocchio)\n- [RBDL](https://rbdl.github.io/) ([rbdl/rbdl](https://github.com/rbdl/rbdl)): Rigid Body Dynamics Library. The code tightly follows the notation used in Roy Featherstone's book \"Rigid Body Dynamics Algorithm\".\n- [NxRLab/ModernRobotics](https://github.com/NxRLab/ModernRobotics)\n- [adityadua24/robopy](https://github.com/adityadua24/robopy)\n- [jdj2261/pykin](https://github.com/jdj2261/pykin)\n\n### Path-Planning, Trajectory generation and optimization\n\n- All the parts of [OpenRAVE](http://openrave.org/) ([rdiankov/openrave](https://github.com/rdiankov/openrave), [roboticslab-uc3m/installation-guides](https://github.com/roboticslab-uc3m/installation-guides/blob/master/docs/install-openrave.md)) we do not use\n- [PythonRobotics](https://atsushisakai.github.io/PythonRobotics/) ([AtsushiSakai/PythonRobotics](https://github.com/AtsushiSakai/PythonRobotics))\n- [ros-industrial-consortium/trajopt\\_ros](https://github.com/ros-industrial-consortium/trajopt_ros): Trajectory Optimization Motion Planner for ROS (uses http://rll.berkeley.edu/trajopt)\n- [pantor/ruckig](https://github.com/pantor/ruckig): Online Trajectory Generation. Real-time. Time-optimal. Jerk-constrained.\n- https://rosindustrial.org/news/2018/7/5/optimization-motion-planning-with-tesseract-and-trajopt-for-industrial-applications\n- [ROSPlan](http://kcl-planning.github.io/ROSPlan/) ([KCL-Planning/ROSPlan](https://github.com/KCL-Planning/ROSPlan)): Tools for AI Planning in a ROS system.\n- [jrl-umi3218/Tasks](https://github.com/jrl-umi3218/Tasks): It has been used extensively to control humanoid robots such as HOAP-3, HRP-2, HRP-4 and Atlas.\n- [cartographer-project (org)](https://github.com/cartographer-project): Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configuration\n\n### Humanoid-oriented\n\n- [roboticslab-uc3m/gait](https://github.com/roboticslab-uc3m/gait)\n- [roboticslab-uc3m/gaitcontrol](https://github.com/roboticslab-uc3m/gaitcontrol)\n- [roboticslab-uc3m/TEOTraGen](https://github.com/roboticslab-uc3m/TEOTraGen)\n- [roboticslab-uc3m/footsteps](https://github.com/roboticslab-uc3m/footsteps): Includes interesting links\n- [munozyanez/spgait](https://github.com/munozyanez/spgait)\n- [robotology](https://github.com/robotology)\n  - [robotology/walking-controllers](https://github.com/robotology/walking-controllers)\n  - [robotology/whole-body-controllers](https://github.com/robotology/whole-body-controllers)\n- [epfl-lasa/icub-ds-walking](https://github.com/epfl-lasa/icub-ds-walking)\n- [stephane-caron](https://github.com/stephane-caron)\n  - [stephane-caron/lipm_walking_controller](https://github.com/stephane-caron/lipm_walking_controller) ([wiki](https://github.com/stephane-caron/lipm_walking_controller/wiki/How-to-use-the-graphical-user-interface%3F), [docker](https://hub.docker.com/r/stephanecaron/lipm_walking_controller))\n  - [stephane-caron/pymanoid](https://github.com/stephane-caron/pymanoid): Humanoid robotics prototyping environment based on [OpenRAVE](http://openrave.org/) ([rdiankov/openrave](https://github.com/rdiankov/openrave), [roboticslab-uc3m/installation-guides](https://github.com/roboticslab-uc3m/installation-guides/blob/master/docs/install-openrave.md))\n- [Stack of Tasks](https://stack-of-tasks.github.io/) ([stack-of-tasks (org)](https://github.com/stack-of-tasks))\n- [Humanoid Path Planner](https://humanoid-path-planner.github.io/hpp-doc) ([humanoid-path-planner (org)](https://github.com/humanoid-path-planner))\n- [AIS-Bonn/humanoid_op_ros](https://github.com/AIS-Bonn/humanoid_op_ros): Contains interesting walking motion in [./src/nimbro/motion](https://github.com/AIS-Bonn/humanoid_op_ros/tree/master/src/nimbro/motion)\n- [adamlukomski/iva](https://github.com/adamlukomski/iva)\n- [pal-robotics](https://github.com/pal-robotics)\n- [loco-3d](https://github.com/loco-3d)\n- https://discourse.ros.org/t/humanoids-sig/1949/12\n- [isri-aist](https://github.com/isri-aist)\n  - [isri-aist/BaselineWalkingController](https://github.com/isri-aist/BaselineWalkingController) ([docker](https://github.com/orgs/isri-aist/packages?repo_name=BaselineWalkingController))\n  - [isri-aist/CentroidalControlCollection](https://github.com/isri-aist/CentroidalControlCollection)\n- via learning\n  - [DLR-RM/rl-baselines3-zoo](https://github.com/DLR-RM/rl-baselines3-zoo) includes humanoid (also see pretrained at \u003chttps://huggingface.co/sb3/tqc-Humanoid-v3\u003e)\n  - \u003chttps://es.mathworks.com/help/sm/ug/humanoid_walker.html\u003e\n  - [nav74neet/ddpg_biped](https://github.com/nav74neet/ddpg_biped)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froboticslab-uc3m%2Fkinematics-dynamics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froboticslab-uc3m%2Fkinematics-dynamics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froboticslab-uc3m%2Fkinematics-dynamics/lists"}