Example3_Validation.mw
Implementation of the self-motion parameterization of Example 3This Maple worksheet follows the notation and computations of the Section V: EXAMPLE II: THE GRIFFIS-DUFFY PLATFORM in the work
[1] J.Borras, F. Thomas and C. Torras, "On Delta Transforms", but referring to the geometric parameters of the example proposed in the web http://www-iri.upc.es/groups/gmr/cuikweb/ , the example for which we compare results with the curve obtained using CUIK software.
Authors: Jślia Borrąs, Federico Thomas and Carme Torras.URL: http://www-iri.upc.es/Purpose:
This worksheet shows the explicit computations performed in the section V.A of the above mentioned work, so the reader can follow the computations by
just executing the present worksheet, to rise the parameterization used to plot the curve shown in Fig.11.
Fig. 8-(bottom) Fig. 8-(top)
> |
 |
First, load the DeltaTransformsTool library where the functions are defined.
> |
 |
Definition of the local coordinates of the attachments using a parameterizations that rise to an always architecturally singular Griffis-Duffy manipulator, they can be found in http://www-iri.upc.es/groups/gmr/cuikweb/ following the links benchmarks -> The Griffis-Duffy platform
In this example, both p and q are equal to 1:
> |
 |
 |
 |
(1) |
So that base and platform are formed with
> |
![`:=`(base, [a1, a2, a3, a4, a5, a6]); 1; `:=`(platform, [b1, b2, b3, b4, b5, b6])](images/Example3_Validation_19.gif) |
, Vector[column](%id = 51136632), Vector[column](%id = 51141860), Vector[column](%id = 51151976), Vector[column](%id = 51157300), Vector[column](%id = 5116488...](images/Example3_Validation_20.gif) |
, Vector[column](%id = 51175884), Vector[column](%id = 51181596), Vector[column](%id = 51189356), Vector[column](%id = 51194316), Vector[column](%id = 511...](images/Example3_Validation_21.gif) |
(2) |
To obtain the same solution curve, we take the same leg lengths. They also can be found in the web. Remember that we take the value squared.
> |
![`:=`(L, [`^`(1.714524, 2), `^`(1.715536, 2), `^`(1.380117, 2), `^`(1.812880, 2), `^`(1.922131, 2), `^`(1.519640, 2)])](images/Example3_Validation_22.gif) |
![[2.939592547, 2.943063767, 1.904722934, 3.286533894, 3.694587581, 2.309305730]](images/Example3_Validation_23.gif) |
(3) |
So, the length legs of the Griffis-Duffy manipulator are
> |
![`:=`(d[1], L[1]); 1; `:=`(d[2], L[2]); 1; `:=`(d[3], L[3]); 1; `:=`(d[4], L[4]); 1; `:=`(d[5], L[5]); 1; `:=`(d[6], L[6])](images/Example3_Validation_24.gif) |
In this case there is only one step of 6 simultaneous Delta transforms. Now we obtain the corresponding implicit functions
And the system in matrix form is then
> |
![`:=`(A, B, simDeltaTransformsSystemMatrix([Delta1, Delta2, Delta3, Delta4, Delta5, Delta6], [l[1], l[2], l[3], l[4], l[5], l[6]]))](images/Example3_Validation_44.gif) |
)](images/Example3_Validation_45.gif)
)](images/Example3_Validation_46.gif) |
(6) |
Notice that the matrix is rank defective, that is, its determinant is 0
> |
 |
 |
(7) |
We solve the system depending on l_6
> |
![`:=`(solsL, solve({Delta1, Delta2, Delta3, Delta4, Delta5}, {l[1], l[2], l[3], l[4], l[5]}))](images/Example3_Validation_49.gif) |
![{l[1] = `+`(`-`(`*`(1., `*`(l[6]))), 6.618613703), l[2] = `+`(1.260571391, l[6]), l[3] = `+`(6.625554746, `-`(`*`(1., `*`(l[6])))), l[4] = `+`(`-`(.8161117684), `*`(1.000000866, `*`(l[6]))), l[5] = `+...](images/Example3_Validation_50.gif)
![{l[1] = `+`(`-`(`*`(1., `*`(l[6]))), 6.618613703), l[2] = `+`(1.260571391, l[6]), l[3] = `+`(6.625554746, `-`(`*`(1., `*`(l[6])))), l[4] = `+`(`-`(.8161117684), `*`(1.000000866, `*`(l[6]))), l[5] = `+...](images/Example3_Validation_51.gif) |
(8) |
So, the obtained parametrization is
> |
 |
![[2.939592547, 2.943063767, 1.904722934, 3.286533894, 3.694587581, 2.309305730]](images/Example3_Validation_53.gif) |
(9) |
Now we will solve the octhaedral Forward Kinematics problem for the set of legs listed in Lsol, renaming the parameter to "a".
> |
![`:=`(l[6], a)](images/Example3_Validation_54.gif) |
 |
(10) |
We solve the octahedral manipulator using Cayley-Menger determinants. See comments on octahedralSystem function on DeltaTransformsTool.txt.
> |

 |
> |
![degree(c1, [X, Y]); 1; degree(c2, [X, Y]); 1](images/Example3_Validation_63.gif) |
 |
 |
(12) |
Note that de degree of each curve is 4, so the total nomber of solutions for the intersection of the two curves are 8. So, for each value of the parameter, 8 solutions {X,Y} can be found.
> |
 |
 |
(13) |
The file solve the intersection of the two curves c1,c2 numerically, obtaining 8 values of X =d15 and Y=d34 for each value of the parameter a, from 3 to 9. For each value of X and Y, the position
and orientation of the platform can be computed with trilaterations, obtaining two possible solutions from each {X,Y}, so, a total of 16 assembly modes can be plotted.
> |
 |
Note that the self motion can be plotted with for example Matlab using the generated file data. A plot of the self-motion can be found in the picture Example3_Validation_Solution_Curve_Plot.jpg