Skip to main content

Closed-form Inverse Kinematic Solutions, Forward Kinematics, and Trajectory Generation in one repository

Project description

A catalogue of robot kinematics

Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge

GitHub Created At GitHub contributors GitHub last commit GitHub commit activity GitHub License

In the branch "RobotKinematicsMaths" lies a comprehensive guide on how the used Robot Kinematics have been derived.

Class UML diagram of repository

image

Introduction

This repository is an attempt to assemble the many aspects of robot kinematics into one repository - a catalogue. Ideally, this entails the repository being able to do robot kinematics on any industrial manipulator (robotic arm).

As of now, the repository is able to do forward kinematics (FK) on pretty much any robotic arm and inverse kinematics (IK) using most of the commercially available types of robotic arms such as:

  • 6 degrees of freedom (6DOF) robots
    • Industrial robots (IK has flaws, go to branch "RobotKinematicsMaths" for details)
      • Includes 7DOF industrial robots (FK only)
      • Includes 5DOF industrial robots
    • "Collaborative" robots
  • 4 degrees of freedom (4DOF) robots

This repository also includes a way to do symbolic FK, which is particularly useful for less complex robotic arms such a those with 1DOF, 2DOF, and even 3DOF. Anymore than that most likely provides results too large to be readable symbolically.

How to use example files

Static Badge Static Badge

Using the python program "IK_Validate.py", any robot which has an attached inverse Kinematics method to it may have its IK solution be validated. It is recommended to do this before further use in case any bugs occur.

Using RoboDK, it is possible to visualize the obtained IK solutions and to compare results as multiple sources of error can occur. This is where "IK_Validate_RoboDK.py" comes into play.

Install RoboDK using the link: https://robodk.com/download

The RoboDK-API for python can be installed using cmd:

$ pip install robodk

RoboDK robot Library link: https://robodk.com/library

The used data has been obtained via. the above link by opening the files of each robot model in RoboDK and inspecting their "parameters", such as DHM-parameters and joint range, needed to simulate each of these robots.

As of now, the kinematics-related data of all of the accessible 7DOF, 6DOF, 5DOF, and 4DOF (excluding delta robots) robots via the above link have been imported including:

  • 26 7DOF robots
  • 903 6DOF robots
    • 121 "collaborative" robots
    • 782 industrial robots
  • 13 5DOF robots (12 industrial robots and 1 PPPRR robot)
  • 4DOF robots
    • 34 palletizing robots
    • 108 SCARA robots
    • 25 delta robots
  • Misc.
    • A couple 1DOF & 2DOF rotational mechanisms
    • A couple 1DOF, 2DOF, and 3DOF translational mechanisms

This list excludes robots with 2 arms (dual wielding robots).

All the data of each of these robots are available in the subfolders "robotkinematicscatalogue/inversekinematics/.../".

Test results

Out of all the imported robots from the RoboDK robot Library, the robots with the most pitfalls, in terms of IK, is the 6DOF industrial robots (go to branch "RobotKinematicsMaths" for details). The comments put in the file "robotkinematicscatalogue/inversekinematics/industrialRobots.py" go through these pitfalls. Other types of robots to pay attention to, in terms of such pitfalls are palletizing robots and collaborative robots (go to "robotkinematicscatalogue/inversekinematics/ ... .py" for details).

The intended result of using "IK_Validate_RoboDK.py" on a SCARA, palletizing, "collaborative", and industrial robot 5 times on each can be seen below:

image image image image

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotkinematicscatalogue-1.1.2.tar.gz (122.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robotkinematicscatalogue-1.1.2-py3-none-any.whl (992.3 kB view details)

Uploaded Python 3

File details

Details for the file robotkinematicscatalogue-1.1.2.tar.gz.

File metadata

  • Download URL: robotkinematicscatalogue-1.1.2.tar.gz
  • Upload date:
  • Size: 122.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for robotkinematicscatalogue-1.1.2.tar.gz
Algorithm Hash digest
SHA256 804ee46569aa1d545aa49c741072166d81bee8c4d04baa3ef8732ba161bd6038
MD5 5fced28a69241be3d70868efafb5d8cf
BLAKE2b-256 ccaa2130b20f3200de25eab5bcc50f3ce899a334196c90cceaa6f34cd84716fe

See more details on using hashes here.

File details

Details for the file robotkinematicscatalogue-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for robotkinematicscatalogue-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cdc9e677c40c634db10316eae21c952207d46f45ec6e0a2a9711f04b873b014d
MD5 e34af576258296f55308e2221818a73f
BLAKE2b-256 56e904bd62483c4cad143fcb40052a4965e6b95c43d278d8973ea129669a0b83

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page