Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Inverse kinematics
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Analytical solutions to inverse kinematics == === Generic solutions === In some, but not all cases, there exist [[Analytic expression|analytical solutions]] to inverse kinematic problems. One such example is for a 6-[[Degrees of freedom (mechanics)|Degrees of Freedom]] (DoF) robot (for example, 6 revolute joints) moving in 3D space (with 3 position degrees of freedom, and 3 rotational degrees of freedom). If the degrees of freedom of the robot exceeds the degrees of freedom of the end-effector, for example with a 7 DoF robot with 7 revolute joints, then there exist infinitely many solutions to the IK problem, and an analytical solution does not exist. Further extending this example, it is possible to fix one joint and analytically solve for the other joints, but perhaps a better solution is offered by numerical methods (next section), which can instead optimize a solution given additional preferences (costs in an optimization problem). An analytic solution to an inverse kinematics problem is a closed-form expression that takes the end-effector pose as input and gives joint positions as output, <math>q = f(x)</math>. Analytical inverse kinematics solvers can be significantly faster than numerical solvers and provide more than one solution, but only a finite number of solutions, for a given end-effector pose. Many different programs (Such as [[Open-source software|FOSS]] programs [[IKFast]] and [https://github.com/TheComet/ik Inverse Kinematics Library]) are able to solve these problems quickly and efficiently using different algorithms such as the [[doi:10.1016/j.gmod.2011.05.003|FABRIK solver]]. One issue with these solvers, is that they are known to not necessarily give locally smooth solutions between two adjacent configurations, which can cause instability if iterative solutions to inverse kinematics are required, such as if the IK is solved inside a high-rate control loop. === Ortho-parallel Basis and a Spherical Wrist === [[Image:Mini-usine Indulo (Villeurbanne), janvier 2024.JPG|thumb|Spherical wrist (axes of the last three joints of the robot intersect).]] Many industrial 6DOF robots feature three rotational joints with intersecting axes ("spherical wrist"). These robots, known as robots with an "Ortho-parallel Basis and a Spherical Wrist," can be defined by 7 kinematic parameters that are distances in their assumed standard geometry.<ref>Mathias Brandstötter, Arthur Angerer, Michael Hofbaur (2014). An Analytical Solution of the Inverse Kinematics Problem of Industrial Serial Manipulators with an Ortho-parallel Basis and a Spherical Wrist. Proceedings of the Austrian Robotics Workshop 2014. 22-23 May, 2014, Linz, Austria.[https://www.researchgate.net/profile/Mathias-Brandstoetter/publication/264212870_An_Analytical_Solution_of_the_Inverse_Kinematics_Problem_of_Industrial_Serial_Manipulators_with_an_Ortho-parallel_Basis_and_a_Spherical_Wrist/links/53d2417e0cf2a7fbb2e98b09/An-Analytical-Solution-of-the-Inverse-Kinematics-Problem-of-Industrial-Serial-Manipulators-with-an-Ortho-parallel-Basis-and-a-Spherical-Wrist.pdf]</ref> These robots may have up to 8 independent solutions for any given position and rotation of the robot tool head. Open-source solutions for [[C++]]<ref>opw_kinematics [https://github.com/Jmeyer1292/opw_kinematics]</ref> and [[Rust (programming language)|Rust]]<ref>Rust is for Robotics (curated collection), [https://github.com/robotics-rs/robotics.rs]</ref> exist. OPW has also been integrated into ROS framework. <ref>moveit_opw_kinematics_plugin (ROS Wiki) [https://wiki.ros.org/moveit_opw_kinematics_plugin]</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)