In the branch "RobotKinematicsMaths" lies a comprehensive guide on how the used Robot Kinematics have been derived.
$ pip install robotkinematicscatalogue
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
- Industrial robots (IK has flaws, go to branch "RobotKinematicsMaths" for details)
- 4 degrees of freedom (4DOF) robots
- Palletizing robots
- SCARA robots
- 3D delta robots (Made using: https://github.com/tinkersprojects/Delta-Kinematics-Library)
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.
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/.../".
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: