User Tools

Site Tools


robotic_manipulators_ik

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
robotic_manipulators_ik [2016/08/06 23:05] joaomatosrobotic_manipulators_ik [2016/10/23 20:14] (current) dwallace
Line 1: Line 1:
 ===== Inverse Kinematics Solver using Damped Least Squares Method ===== ===== Inverse Kinematics Solver using Damped Least Squares Method =====
 +
 +**Author:** Joao Matos Email: <[email protected]> <!-- replace with your email address -->
 +\\
 +**Date:** Last modified on 6/8/2016
 +\\
 +**Keywords:** Inverse Kinematics , Damped Least Squares, Serial Arm
 +\\
 +
 + This tutorial presents an algorithm to implement the Damped Least Squares method to calculate Inverse Kinematics problems.
 +
 +
 +
 +----
 +
  
  Between many algorithm to solve the Inverse Kinematics problem , the damped least squares method avoids many of the problems with the peusoinverse algorithm , and can give a good nummerical solution for the problem.The goal is to find the value of delta theta that minimizes the quantity:   Between many algorithm to solve the Inverse Kinematics problem , the damped least squares method avoids many of the problems with the peusoinverse algorithm , and can give a good nummerical solution for the problem.The goal is to find the value of delta theta that minimizes the quantity: 
Line 38: Line 52:
 ===== Pseudo Algorithm ===== ===== Pseudo Algorithm =====
  
-  * [[robotic_manipulators_ik_cpp|Inverse Kinematics Using Damped Least Squares method in C++]]+  * [[robotic_manipulators_ik_cpp|Inverse Kinematics Using Damped Least Squares method in Cpp]] 
 +    * Example of the method programmed in Cpp using Visual Studio and Eigen library
   * [[robotic_manipulators_ik_matlab|Inverse Kinematics Using Damped Least Squares method in Matlab]]    * [[robotic_manipulators_ik_matlab|Inverse Kinematics Using Damped Least Squares method in Matlab]] 
 +    * Example of the method programmed in Matlab and Simulated by RVC toolbox
  
- The algorithm to be programmed will follow this idea:+ These two codes above were programmed using the same algorithm. The pseudo algorithm used is shown bellow.
  
   - Calculate A1,A2,A3,A4 and A5 given the initial position.   - Calculate A1,A2,A3,A4 and A5 given the initial position.
Line 75: Line 91:
  
  
-Running in Visual Studio ,C++ and Eigen library (library to deal with matrices).+Running in Visual Studio ,Cpp and Eigen library (library to deal with matrices).
 <Code> <Code>
  
Line 192: Line 208:
  The end effector position can be found in the multiplication A1.A2.A3.A4.A5 . O(00) is 0 because is the distance from frame 0 to frame 0. 0(01)can be found in A1, O(02) can be found in A1.A2 , O(03) can be found in A1.A2.A3 , O(04) can be found in A1.A2.A3.A4.  The end effector position can be found in the multiplication A1.A2.A3.A4.A5 . O(00) is 0 because is the distance from frame 0 to frame 0. 0(01)can be found in A1, O(02) can be found in A1.A2 , O(03) can be found in A1.A2.A3 , O(04) can be found in A1.A2.A3.A4.
  
-  For example (is convenient to define a vector with the difference - the second term of the cross product ) to organize better the code:+ For example (is convenient to define a vector with the difference - the second term of the cross product ) to organize better the code:
      
  <Code>  <Code>
robotic_manipulators_ik.1470549918.txt.gz · Last modified: 2016/08/06 23:05 by joaomatos