{"id":20406293,"url":"https://github.com/anybotics/kindr","last_synced_at":"2025-08-03T06:34:02.087Z","repository":{"id":15174039,"uuid":"17901838","full_name":"ANYbotics/kindr","owner":"ANYbotics","description":"Kinematics and Dynamics for Robotics","archived":false,"fork":false,"pushed_at":"2025-02-15T04:17:50.000Z","size":4599,"stargazers_count":571,"open_issues_count":29,"forks_count":195,"subscribers_count":64,"default_branch":"master","last_synced_at":"2025-04-19T18:21:20.727Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ANYbotics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2014-03-19T11:31:51.000Z","updated_at":"2025-04-14T14:56:34.000Z","dependencies_parsed_at":"2024-01-07T16:32:27.254Z","dependency_job_id":"1cfb23b6-f33b-4f7b-9097-6ab674ea7c45","html_url":"https://github.com/ANYbotics/kindr","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/ANYbotics/kindr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANYbotics%2Fkindr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANYbotics%2Fkindr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANYbotics%2Fkindr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANYbotics%2Fkindr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ANYbotics","download_url":"https://codeload.github.com/ANYbotics/kindr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ANYbotics%2Fkindr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268505395,"owners_count":24260951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-03T02:00:12.545Z","response_time":2577,"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":[],"created_at":"2024-11-15T05:16:17.224Z","updated_at":"2025-08-03T06:34:02.020Z","avatar_url":"https://github.com/ANYbotics.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Kindr - Kinematics and Dynamics for Robotics\n=============================================\n\n**Authors: Christian Gehring, C. Dario Bellicoso, Michael Bloesch, Remo Diethelm, Peter Fankhauser, Paul Furgale, Michael Neunert, Hannes Sommer\u003cbr /\u003e\nMaintainer: Remo Diethelm, rdiethelm@anybotics.com\u003cbr /\u003e\nAffiliation: [ANYbotics](https://www.anybotics.com/)**\n\nThis projected was initially developed at ETH Zurich (Autonomous Systems Lab \u0026 Robotic Systems Lab).\n\nThis work is conducted as part of [ANYmal Research](https://www.anymal-research.org/), a community to advance legged robotics.\n\nThe source code is released under a [BSD 3-Clause license](LICENSE).\n\n## Documentation\n\n[Online](https://opensource.docs.anymal.com/doxygen/kindr/master/index.html)\n\nImpatient individuals can directly download the [cheat sheet](https://opensource.docs.anymal.com/doxygen/kindr/master/cheatsheet_latest.pdf).\n\nSee also section 'Building the documentation' below.\n\n## Changelog\n\n### Kindr 1.0.0\n\n* Simplified header include `#include \u003ckindr/Core\u003e` is provided.\n* Kindr is now strongly dependent on Eigen.\n* All sub namespaces have been removed. (e.g. `kindr::rotations::eigen_impl` -\u003e `kindr::`)\n* The implementations of rotations and time derivatives have been simplified (Passive, Hamiltonian).\n    - Active typedefs (e.g. RotationQuaternionAD) have been removed and simpler ones (e.g. RotationQuaternionD) have been introduced.\n    - Note that the functionality of some operators changed! Please check the [cheat sheet](https://opensource.docs.anymal.com/doxygen/kindr/master/cheatsheet_latest.pdf) to understand what is implemented.\n    - Some hints on what needs to be changed from kindr 0.0.1:\n       - `rotation.setFromVectors(v1, v2)` -\u003e `rotation.setFromVectors(v2, v1)`\n       - `C_BI.boxPlus(dt * B_w_IB)` -\u003e `C_BI.boxPlus(dt * C_IB * B_w_IB)`\n       - `C_BI.boxMinus(dt *  B_w_IB)` -\u003e  `-C_BI.boxMinus(dt * B_w_IB)`\n       - Euler angles probably have to be negated.\n* Conversion methods between ROS and kindr have been moved to the package [kindr_ros](https://github.com/anybotics/kindr_ros).\n* Concatenation of Homogeneous Transformation is now implemented.\n* Short typedefs are provided for Homogeneous Transformation: `HomTransformQuatD`, `HomTransformMatrixD`.\n* Jacobian of exponential map is implemented.\n* Unit tests based on gtest are provided to test the convention of other software packages.\n    - Gazebo (gazebo::math::Quaternion) uses the same convention as kindr.\n    - ROS TF (tf::Quaternion and tf::Matrix3x3) uses the same convention as kindr.\n    - RBDL's RigidBodyDynamics::Math::SpatialTransform uses the same convention as kindr, whereas RBDL's RigidBodyDynamics::Math::Quaternion concatenates differently and its conversion to a rotation matrix is inverted.\n\n\n## Requirements\n\n* [Eigen 3.2.0](http://eigen.tuxfamily.org) (Older versions might also work)\n* GCC 4.7 is required at the minimum.\n* CMake 2.8.3 is required at the minimum.\n\n## Building\n\n### Building with cmake\n\nInstall the library with [CMake](www.cmake.org):\n\n```bash\nmkdir build\ncd build\ncmake .. -DUSE_CMAKE=true\nsudo make install\n```\n\nNote that `USE_CMAKE` defaults to `true` if catkin is not installed.\n\nUninstall the library with:\n\n```bash\ncd build\nsudo make uninstall\n```\n\nKindr can be included in your cmake project.\nAdd the following to your *CmakeLists.txt*:\n\n```\nfind_package(kindr)\ninclude_directories(${kindr_INCLUDE_DIRS})\n```\n\n### Building with catkin\n\nBuild kindr with [catkin](wiki.ros.org/catkin):\n\n```bash\ncd ~/catkin_ws/src\ngit clone git@github.com:anybotics/kindr.git\ncatkin_make_isolated -C ~/catkin_ws\n```\n\nor with [catkin command line tools](http://catkin-tools.readthedocs.org):\n\n```bash\ncd ~/catkin_ws/src\ngit clone git@github.com:anybotics/kindr.git\ncatkin build -w ~/catkin_ws kindr\n```\n\nKindr can be included in your catkin project with:\nAdd the following to your *CMakeLists.txt*:\n```\nfind_package(catkin COMPONENTS kindr)\ninclude_directories(${catkin_INCLUDE_DIRS})\n```\n\nAnd to your *package.xml*:\n\n```xml\n\u003cpackage\u003e\n  \u003cbuild_depend\u003ekindr\u003c/build_depend\u003e\n\u003c/package\u003e\n```\n\n\n### Building the documentation\n\nBuild the documentation with [Doxygen](https://www.doxygen.nl/):\n```bash\nmkdir build\ncd build\ncmake ..\nmake kindr_doc\n```\n\nThe doxygen documentation can be found here:\n\n```\nbuild/doc/html/index.html\n```\n\n### Building unit tests with gtest\n\n[GTests](https://code.google.com/p/googletest/) are only built if the folder *gtest* exists in the root folder.\n\nDownload and use GTest:\n\n```bash\nwget https://github.com/google/googletest/archive/release-1.7.0.zip\nunzip release-1.7.0.zip\nln -s googletest-release-1.7.0 gtest\nmkdir build\ncd build\ncmake .. -DUSE_CMAKE=true -DBUILD_TEST=true\nmake\n```\n\nNote that `USE_CMAKE` defaults to `true` if catkin is not installed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanybotics%2Fkindr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanybotics%2Fkindr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanybotics%2Fkindr/lists"}