# Certification of Dietmaier's Stewart platform with 40 real positions

Jonathan Hauenstein and Frank Sottile
Return to the main page for alphaCertified.

The Stewart-Gough platform (or 6-bar parallel manipulator) has an interesting history, both within kinematics and in applications of algebraic geometry. An introduction to this, together with background on the work of Dietmaier may be found here.
In 1998, Dietmaier ([D]) produced a Stewart platform with 40 real positions. This was a `numerical' proof, and apparently some doubt its veracity. Among the many who checked his work was Jan Verschelde, who included it in his test suite/demos of problems for PHCPack. (`stewgou40`).
Based on Verschelde's demo, we generated a system of equations (with rational coefficients) modeling Dietmaier's platform, solved that system with PHCPack, and then certified that it indeed has 40 real solutions using alphaCertified. This page documents that calculation, with directions on how to re-run our test and the files we used and created in the course of that test.

Directions
Before you begin, you will need to have perl, Maple (this has run with Maple 12 and Maple 14), phc, as well as a working binary of alphaCertified on your machine.

- First, run the file Dietmaier.create.maple under Maple.
  `>: maple -q Dietmaier.create.maple`
  This is a modification of that part of `stewgou40` that creates two PHCPack input files Dietmaier.phc.input and Dietmaier.phc, which contain equations with rational coefficients for numerically computing and certifying Dietmaier's 40 real positions. (We make two as PHCPack adds the solutions to the input file it processes, and we want both versions archived here.) This also creates Polys.maple, which is part of the input for alphaCertified.
- Next, run PHCPack with input file Dietmaier.phc.
  `>: phc -b Dietmaier.phc`
  Do have it send the output to a file, perhaps `Dietmaier.out`. This takes a few minutes.
- The PHCPack adds the solutions to the input file Dietmaier.phc. The perl script grab.perl parses it for us.
  `>: perl grab.perl`
  This creates a Maple file RealSols.maple that contains the solutions.
- The last step is to run alphaCertified, which is conveniently done with the Maple file CheckSolutions.maple. We recommend capturing the output for perusal.
  `>: maple CheckSolutions.maple > output`
  It is important that the paths for alphaCertified and its Maple wrapper library in CheckSolutions.maple are set properly.
- Here is the output. Perusing it, we see that alphaCertified does certify that there are 40 real solutions.
- alphaCertified creates a halo of small files, which may be removed using the short shell script scour.sh.
  `>: sh scour.sh`

Here is the bash session that ran this certification:

    >: maple -q Dietmaier.create.maple
    >: phc -b Dietmaier.phc

    Do you want the output to file ? (y/n) y

    Reading the name of the output file.
    Give a string of characters : Dietmaier.out

    >: perl grab.perl
    >: maple CheckSolutions.maple > output
    >: sh scour.sh

[D] | P. Dietmaier, The Stewart-Gough platform of general geometry can have 40 real postures, in Advances in Robot Kinematics: Analysis and Control, Kluwer Academic Publishers, 1998, 1--10.

Return to the main page for alphaCertified.

Last modified: Mon Nov 22 17:49:13 CDT 2010