{"id":20031732,"url":"https://github.com/astrodynamic/mechatronicarmanalyzer","last_synced_at":"2026-05-01T21:01:54.845Z","repository":{"id":191338884,"uuid":"684243463","full_name":"Astrodynamic/MechatronicArmAnalyzer","owner":"Astrodynamic","description":"Kinematic solver for 6-axis robot's forward problem. Calculate the end-effector position in Cartesian coordinates. Implemented in C/C++.","archived":false,"fork":false,"pushed_at":"2023-08-30T01:02:03.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-03-02T05:27:45.895Z","etag":null,"topics":["3d","c","cmake","dh-parameters","forward-kinematics","kinematics","linux","makefile","matrix","robotics"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Astrodynamic.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}},"created_at":"2023-08-28T18:37:25.000Z","updated_at":"2023-08-30T01:04:16.000Z","dependencies_parsed_at":"2025-03-02T05:34:54.012Z","dependency_job_id":null,"html_url":"https://github.com/Astrodynamic/MechatronicArmAnalyzer","commit_stats":null,"previous_names":["astrodynamic/mechatronicarmanalyzer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Astrodynamic/MechatronicArmAnalyzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Astrodynamic%2FMechatronicArmAnalyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Astrodynamic%2FMechatronicArmAnalyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Astrodynamic%2FMechatronicArmAnalyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Astrodynamic%2FMechatronicArmAnalyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Astrodynamic","download_url":"https://codeload.github.com/Astrodynamic/MechatronicArmAnalyzer/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Astrodynamic%2FMechatronicArmAnalyzer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32512670,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"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":["3d","c","cmake","dh-parameters","forward-kinematics","kinematics","linux","makefile","matrix","robotics"],"created_at":"2024-11-13T09:34:32.578Z","updated_at":"2026-05-01T21:01:54.820Z","avatar_url":"https://github.com/Astrodynamic.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kinematic Problem Solver for 6-Axis Collaborative Robot\r\n\r\nThis repository contains a solution for the kinematic forward problem of a 6-axis collaborative robot's DH-model. The goal of this project is to calculate the end-effector position in the Cartesian coordinate system.\r\n\r\n## Table of Contents\r\n- [Kinematic Problem Solver for 6-Axis Collaborative Robot](#kinematic-problem-solver-for-6-axis-collaborative-robot)\r\n  - [Table of Contents](#table-of-contents)\r\n  - [Description](#description)\r\n  - [Algorithm](#algorithm)\r\n  - [Compilation and Execution](#compilation-and-execution)\r\n  - [Requirements](#requirements)\r\n  - [Usage](#usage)\r\n  - [LICENSE](#license)\r\n\r\n## Description\r\nThe project involves implementing an algorithm to solve the kinematics problem for a DH-model 6-axis collaborative robot. The goal of this project is to calculate the end-effector position in the Cartesian coordinate system. The DH parameters for the robot's joints are provided in the table below:\r\n\r\n| Joint    | theta (deg) | a (m) | d (m)      | alpha (rad) |\r\n|----------|-------------|-------|------------|-------------|\r\n| Joint 0  | 10          | 0     | 0.21       | π/2         |\r\n| Joint 1  | -50         | -0.8  | 0.193      | 0           |\r\n| Joint 2  | -60         | -0.598| -0.16      | 0           |\r\n| Joint 3  | 90          | 0     | 0.25       | π/2         |\r\n| Joint 4  | 50          | 0     | 0.25       | -π/2        |\r\n| Joint 5  | 0           | 0     | 0.25       | 0           |\r\n\r\n## Algorithm\r\n\r\nThe algorithm for solving the forward kinematics problem can be described in English as follows:\r\n\r\n1. Initialize the joint angles or joint variables of the robot arm.\r\n2. Define the transformation matrices for each link of the robot arm.\r\n3. Create a transformation chain by multiplying the transformation matrices from the base link to the end effector.\r\n4. Apply the Denavit-Hartenberg (DH) parameters for each link to calculate the transformation matrix.\r\n5. Calculate the position and orientation of the end effector based on the final transformation matrix.\r\n6. Display or use the obtained end effector position and orientation as required.\r\n\r\n## Compilation and Execution\r\n\r\nThe project can be compiled and executed on a Linux operating system. The recommended programming languages for implementation are C for console applications.\r\n\r\nTo compile and run the console application:\r\n\r\n```bash\r\nmake clean \u0026\u0026 make\r\nmake run\r\n```\r\n\r\n## Requirements\r\n\r\n- GCC (for C implementation)\r\n\r\n## Usage\r\n\r\n1. Run the compiled executable.\r\n2. Input the desired theta.\r\n3. The algorithm will calculate and display end-effector position for the robot.\r\n\r\n## LICENSE\r\nThis project is licensed under the [MIT LICENSE](LICENSE).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastrodynamic%2Fmechatronicarmanalyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastrodynamic%2Fmechatronicarmanalyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastrodynamic%2Fmechatronicarmanalyzer/lists"}