Forward kinematics: Findling the positions of points on lynx robot - Robotics Stack Exchange most recent 30 from robotics.stackexchange.com 2019-12-07T18:55:01Z https://robotics.stackexchange.com/feeds/question/16638 https://creativecommons.org/licenses/by-sa/4.0/rdf https://robotics.stackexchange.com/q/16638 0 Forward kinematics: Findling the positions of points on lynx robot Vishal https://robotics.stackexchange.com/users/21545 2018-11-01T08:38:50Z 2018-11-01T11:20:46Z <p>I have a task to find position of 5 points on lynx robot. I need to write below function. This function takes theta values as input. </p> <p>function [ pos ] = lynx_fk( theta1, theta2, theta3, theta4, theta5 )</p> <p>I have also given the kinematics chain to decode a(r), alpha and d values.</p> <p>I have already written a function which computes the dh matrix, which is as follows.</p> <p>function A = compute_dh_matrix(r, alpha, d, theta).</p> <p>Now i'm confused on how to find the positins of points? My approach is: From the DH matrix i have to extract the values of translation vector(A[1,4], A[2,4] and A[3,4]).</p> <p>Plese comment and correct my approach.</p> <p>Thanks for your time.</p> https://robotics.stackexchange.com/questions/16638/-/16639#16639 1 Answer by 50k4 for Forward kinematics: Findling the positions of points on lynx robot 50k4 https://robotics.stackexchange.com/users/10748 2018-11-01T10:34:00Z 2018-11-01T11:20:46Z <p>it is hard to answer since you did not specify the 5 points you are looking for. </p> <p>The DH Matrix is a transformation matrix between two coordinate systems. If you are looking for a point on a rigid body, you should identify the DH transformation chain leading to the coordinate system associated with that rigid body. I.e. if you are looking for the coordinates in world frame of the center of mass on linkage 3, you should identify the chain of transformation matrices from the world frame to linkage 3:</p> <p><span class="math-container">$A_{03}= A_{01} \times A_{12} \times A_{23}$</span></p> <p>Next you will need the vector pointing from the frame asociated with linkage 3 to the center of mass:</p> <p><span class="math-container">$v_{CoM} = [x_{CoM}, y_{CoM}, z_{CoM}]$</span></p> <p>The coordinates of the center of mass in World frame will be:</p> <p><span class="math-container">$$\left[ \begin{array}{c @{{}={}} c c @{{}+{}} c c} v_{CoM}^{world} \\ 1 \end{array} \right]= A_{03} \times \left[ \begin{array}{c @{{}={}} c c @{{}+{}} c c} v_{CoM} \\ 1 \end{array} \right]$$</span></p> <p>or expanded:</p> <p><span class="math-container">$$\left[ \begin{array}{c @{{}={}} c c @{{}+{}} c c} x_{CoM}^{world} \\ y_{CoM}^{world} \\ z_{CoM}^{world} \\ 1 \end{array} \right]= A_{03} \times \left[ \begin{array}{c @{{}={}} c c @{{}+{}} c c} x_{CoM} \\ y_{CoM} \\ z_{CoM} \\ 1 \end{array} \right]$$</span></p> <p>iff <span class="math-container">$v_{CoM} = [0, 0 ,0]$</span> you can take the elements of the last column of the transfromation matrix directly.</p>