Mobility and Autonomous Reconfiguration of Marsokhod

Auxiliary Calculations

by Jan Philipp Hakenberg, August 2008

Basic measurements (Section 2.3)

Simplify[ArcCos[α] + π/2, {0 < α < 1}]

Plot[{-ArcSin[α], 
        ArcCos[α] - π/2}, {α, -1, 1}]

(65536/2000000)

256 256

Solve[
      2 π  (2000000/(65536 (con + 1))) (vel/115000) == v /. 
        v -> 2.88, vel]

512/8000000

accelerometer

9.81 (( An + Ap - 2  a)/(An - Ap)) /. {Ap -> 383. , 
          An -> 120, a -> 383} // Expand

9.81 (( An + Ap - 2  a)/(An - Ap)) /. {Ap -> 376. , 
          An -> 75, a -> 75} // Expand

tilt

{((An + Ap)/2), 
          0.545 (( An + Ap - 2  a)/(An - Ap))} /. {Ap -> 637. , 
          An -> 417, a -> a} // Expand

{((An + Ap)/2), 
          0.545 (( An + Ap - 2  a)/(An - Ap))} /. {Ap -> 417. , 
          An -> 624, a -> a} // Expand

(6210/60.)  (1/230) 2  π

Backlash compensation (Section 3.1)

B[bp_, p_, b_] := 
      Which[bp < p, bp, p ≤ bp < p + b, p, 
        p + b ≤  bp, bp - b]
dBp[bp_, p_, b_] := 
      Which[bp < p, 0, p ≤ bp < p + b, (bp - p)/b, 
        p + b ≤  bp, 1]
dBn[bp_, p_, b_] := 
      Which[bp < p, 1, p ≤ bp < p + b, ((b - bp + p)/b), 
        p + b ≤  bp, 0]

\(\(opt = {AspectRatio -> Automatic, 
          AxesLabel -> {\*""\!\(p\&_\)"", ""}, 
          PlotRange -> {{\(- .1\), 2.1}, {0, 
                1}}};\)\)
τ = 0.6;
b1 = 
        Plot[B[bp, τ, 0.25], {bp, -1, 2}, 
          Evaluate[Join[opt, {}]]];
b2 = 
        Plot[dBp[bp, τ, 0.25], {bp, -1, 2}, 
          Evaluate[Join[opt, {}]]];
b3 = 
        Plot[dBn[bp, τ, 0.25], {bp, -1, 2}, 
          Evaluate[Join[opt, {}]]];

Visualization of backlash (Section 3.1)

a = 0.145;
b = 0.413;
r = 0.12;
SOILSURF = RGBColor[ .6,  .6,  .6];
TITANIUM = RGBColor[ .85,  .85,  .85];
HOR = ArcCos[(a/b)];
EXT = 1.3;
NOM = (Sqrt[(a^2) + (b^2) - 2 a b Cos[HOR]]);
MAX = 2.65;
MXN = HOR + 1.3;
UNT = (Sqrt[(a^2) + (b^2) - 2 a b Cos[MAX]]) - (Sqrt[(a^2) + (b^2) - 2 a b Cos[HOR]]);
HIG = 0;

DMA[γ_, s_, σ_:  0]:=Module[{
c = (Sqrt[(a^2) + (b^2) - 2 a b Cos[γ]]), 
h = ((a b Sin[γ])/(Sqrt[(a^2) + (b^2) - 2 a b Cos[γ]])), α, B, REF, PNT},
B = (Sqrt[(b^2) - (h^2)]);
α = 
              ArcCos[(((b^2) + (c^2) - (a^2))/(2 b c))];
Α = ((α[[1]] - α[[2]])/2);
REF = {{-c[[1]], 
                  0}, {-B[[1]], 
                  h[[1]]}, {0, 
                  0}, {B[[2]], 
                  h[[2]]}, {c[[2]], 0}};
PNT = {{- .04,  .16}, { .04,  .16}, {0, 0}};
{Thickness[ .0025],
TITANIUM,Polygon[ROT[σ,s+(({{Cos[Α], Sin[Α]}, {-Sin[Α], Cos[Α]}})).#1&/@PNT]],
RGBColor[0, 0, 0],Line[ROT[σ,s+(({{Cos[Α], Sin[Α]}, {-Sin[Α], Cos[Α]}})).#1&/@PNT[[{1, 2, 3, 
                            1}]]]],
TITANIUM,Disk[ROP[σ, s + #1], 0.0475] & /@ 
                  REF[[{2, 4}]],RGBColor[0, 0, 0],Circle[ROP[σ, s + #1], 0.0475] & /@ 
                  REF[[{2, 4}]],
TITANIUM,Disk[ROP[σ, s + #1], r] & /@ 
                  REF[[{1, 3, 5}]],RGBColor[0, 0, 0],Circle[ROP[σ, s + #1], r] & /@ 
                  REF[[{1, 3, 5}]],
RGBColor[ .5,  .5,  .5],Disk[ROP[σ, s + #1], 
                      0.13, {-0.25, 
                          0.25} - π + (ArcTan @@ (REF[[2]] - 
                                REF[[1]]))] & /@ REF[[{2}]],
Disk[ROP[σ, s + #1], 
                      0.13, {-0.052, 
                          0.052} - π + (ArcTan @@ (REF[[4]] - 
                                REF[[5]]))] & /@ REF[[{4}]],
RGBColor[0, 0, 0],
Thickness[ .005],
Line[
                  ROT[σ, #1 + s & /@ REF]]
}
]

\(\(opt = {AxesLabel -> {\*""(Subscript[x, 1])"", \*""(Subscript[x, 3])""}, AspectRatio -> Automatic, Axes -> False, 
          Frame -> False};\)\)
PT = 
        Show[Graphics[{
DMA[{axr = 1.5, axf = 1.7}, {0, 
                  0}]
}], opt];

Position and velocity control (Section 3.4)

Unprotect[C]
sol = DSolve[{v'[t] == μ (c - v[t]), 
              v[0] == v0, 
              p[0] == p0, p'[t] == v[t]}, {v[t], p[t]}, 
            t][[1]];
vt = v[t] /. sol // Expand
pt = p[t] /. sol // Expand

cT = (t /. 
            Solve[vt == vD, 
              t])[[1]]

pT = pt /. t -> cT // Simplify

prep[P_, lab_] := 
      Graphics[Point[#1] & /@ P, AxesLabel -> lab, 
        Axes -> True, PlotRange -> All]
\(\(disp[Lavp_] := 
        With[{ind = Range[1, Length[Lavp], 20], 
            idx = Range[1, Length[Lavp], 5]}, 
          Show[GraphicsArray[{
prep[
                  Lavp[[ind, {3, 
                      4}]], "Phase"], 
prep[
                  Lavp[[idx, {1, 
                      2}]], {"t", "Control"}], 
prep[
                  Lavp[[idx, {1, 
                      3}]], {"t", "Velocity"}], 
prep[
                  Lavp[[idx, {1, 
                      4}]], {"t", "Position"}]}], 
            ImageSize -> 600]];\)\)

Velocity control:

\(live[vm_, v0_, 
        vd_, μ_] := 
Module[{c1, Lavp = {}, pn, vn, cn, 
          dt}, 
pn = 0; vn = v0; 
        dt = 0.01; 
For[c1 = 0, 
          c1 < 2000, 
\(c1++\); 
cn = 
            Clip[\(vd - \((1 - dt\ μ)\)\ vn\)\/\(dt\ μ\), {\(-vm\), 
                vm}]; 
pn += 
            cn\ dt - 
              cn\/μ + \(cn\ E\^\(\(-dt\)\ μ\)\)\/μ + vn\/μ - \(E\^\(\(-dt\)\ μ\)\ vn\)\/μ; 
vn = 
            cn - cn\ E\^\(\(-dt\)\ μ\) + E\^\(\(-dt\)\ μ\)\ vn; 
Lavp = 
            Append[Lavp, {c1\ dt, cn, vn, pn}]; 
If[
            Abs[vn - vd] + Abs[pn - pd] < 0.02, 
            Break[]]
]; 
Print[{"Time:", c1\ dt}]; 
disp[
          Lavp]
]\)
ans = live[1,  .3, - .7,  .1];

Position and velocity control:

\(live[vm_, v0_, pd_, 
        vd_, μ_] := 
Module[{c1, Lavp = {}, pn, vn, cn, 
          dt}, 
pn = 0; vn = v0; 
        dt = 0.01; 
For[c1 = 0, 
          c1 < 10000, 
\(c1++\); 
cn = 
            vm\ Sign[
                pd - \((pn + \(vn - vd + c\ Log[\(c - vn\)\/\(c - vd\)]\)\/μ)\) /. {c -> vm\ Sign[vd - vn]}]; 
pn += 
            cn\ dt - 
              cn\/μ + \(cn\ E\^\(\(-dt\)\ μ\)\)\/μ + vn\/μ - \(E\^\(\(-dt\)\ μ\)\ vn\)\/μ; 
vn = 
            cn - cn\ E\^\(\(-dt\)\ μ\) + E\^\(\(-dt\)\ μ\)\ vn; 
Lavp = 
            Append[Lavp, {c1\ dt, cn, vn, pn}]; 
If[
            Abs[vn - vd] + Abs[pn - pd] < 0.02, 
            Break[]]
]; 
Print[{"Time:", c1\ dt}]; 
disp[
          Lavp]
]\)
ans = live[1, - .5, 2,  .7,  .1];

Velocity control with bounded position:

\(live[vm_, v0_, vd_, pmin_, 
        pmax_, μ_] := 
Module[{c1, Lavp = {}, pn, vn, 
          cn, dt}, 
pn = 0; vn = v0; 
        dt = 0.01; 
For[c1 = 0, 
          c1 < 4000, 
\(c1++\); 
cn = 
            Clip[Clip[\(vd - \((1 - dt\ μ)\)\ vn\)\/\(dt\ μ\), {\(-vm\), vm}], {
vm\ Sign[
                    pmin - \((pn + \(vn + c\ Log[\(c - vn\)\/c]\)\/μ)\) /. {c -> vm\ Sign[\(-vn\)]}], 
vm\ Sign[
                    pmax - \((pn + \(vn + c\ Log[\(c - vn\)\/c]\)\/μ)\) /. {c -> vm\ Sign[\(-vn\)]}]
}]; 
pn += 
            cn\ dt - 
              cn\/μ + \(cn\ E\^\(\(-dt\)\ μ\)\)\/μ + vn\/μ - \(E\^\(\(-dt\)\ μ\)\ vn\)\/μ; 
vn = 
            cn - cn\ E\^\(\(-dt\)\ μ\) + E\^\(\(-dt\)\ μ\)\ vn; 
Lavp = 
            Append[Lavp, {c1\ dt, cn, vn, pn}]; 
If[
            Abs[pn - pmin] < 0.02 || Abs[pn - pmax] < 0.0001, 
            Break[]]
]; 
Print[{"Time:", c1\ dt}]; 
disp[
          Lavp]
]\)
ans = live[1, - .4,  .45, -3, 5,  .1];

Lemma 4.3 (Section 4.3)

subst={γ[t] -> x0,γ'[t]->x,c[t] -> y0,c'[t]->y,a -> a,b -> b};
subst = {};

eqs = 
        c[t]^2 - (a^2) - (b^2) + 
          2 a b Cos[γ[t]];
dfe = (∂_t) eqs;
eqs = eqs /. subst
dfe = dfe /. subst

sol = Solve[dfe == 0, c[t]]
fin = eqs /. sol
fin = fin[[1]]

(a^2) + (b^2) - 2 a b Cos[γ[t]]==(((a^2) (b^2) Sin[γ[t]]^2 ((γ'[t])^2))/((c'[t])^2))
((c'[t])^2)==(((a^2) (b^2) Sin[γ[t]]^2 ((γ'[t])^2))/((a^2) + 
          (b^2) - 2 a b Cos[γ[t]]))
c'[t]==((a b Sin[γ[t]] γ'[t])/((Sqrt[(a^2) + (b^2) - 
              2 a b Cos[γ[t]]])))
V=((a b Sin[γ[t]] γ'[t])/((Sqrt[(a^2) + (b^2) - 
              2 a b Cos[γ[
                    t]]])))
R = ((a b Sin[γ[t]])/(Sqrt[(a^2) + (b^2) - 2 a b Cos[γ[t]]]))

Lemma 4.3 (Section 4.3)

sol = 
      Solve[{h/(Subscript[L, 1]) == Cos[β], 
          h/(Subscript[L, 2]) == Cos[Α[t] - β]}, {β, 
          h}]

MYβ = (∂_t) 
          sol[[4, 2, 2]]  // 
        FullSimplify

(((Subscript[L, 2]) (-2 Cos[Α[t]] (Subscript[L, 1]^2) + (3 + 
                  Cos[2 Α[t]]) (Subscript[L, 1]) (Subscript[L, 2]) - 
            2 Cos[Α[t]] (Subscript[L, 2]^2)) Α'[t])/(2 (Sqrt[(((((Subscript[L, 1]) - Cos[Α[t]] (Subscript[L, 2])))^2)/((Subscript[L, 1]^2)  - 2 Cos[Α[t]] (Subscript[L, 1]) (Subscript[L, 2]) + (Subscript[L, 2]^2)))]) ((((Subscript[L, 1]^2) - 2 Cos[Α[t]] (Subscript[L, 1]) (Subscript[L, 2]) + (Subscript[L, 2]^2)))^(3/2))))

subst = {(Subscript[L, 1]) -> LEV, 
        (Subscript[L, 2]) -> MLA, Α[t] -> g}

MYβ/ Α'[t]/.subst

(Sqrt[34.3])^3 == 34.3^(3/2) // Simplify

fre = 
      MLA (-2 (LEV^2) Cos[g] - 2 (MLA^2) Cos[g] + 
            LEV MLA (3 + Cos[2 g]))

asd = {fre/(2 (Sqrt[((((LEV - MLA Cos[g]))^2)/((LEV^2) + (MLA^2) - 2 LEV MLA Cos[g]))]) ((((LEV^2) + (MLA^2) - 2 LEV MLA Cos[g]))^(3/2))), 
fre/(2 (LEV - 
                    MLA Cos[g]) ((LEV^2) + (MLA^2) - 
                    2 LEV MLA Cos[g]))} /. substn

MLA (-2 (LEV^2) Cos[g] - 2 (MLA^2) Cos[g] + 
                  LEV MLA (3 + Cos[2 g]))/(2 (LEV - 
                      MLA Cos[g]) ((LEV^2) + (MLA^2) - 
                      2 LEV MLA Cos[g])) /. LEV -> a /. 
        MLA -> b /. g -> γ[t]

((b (-2 (a^2) Cos[γ[t]] - 2 (b^2) Cos[γ[t]] + a b (3 + Cos[2 γ[t]])))/(2 (a - b Cos[γ[t]]) ((a^2) + (b^2) - 2 a b Cos[γ[t]]))) // Simplify

((a b Sin[γ[t]] )/(Sqrt[(a^2) + (b^2) - 2 a b Cos[γ[t]]])) + ((b (-2 (a^2) Cos[γ[t]] - 2 (b^2) Cos[γ[t]] + a b (3 + Cos[2 γ[t]])))/(2 (a - b Cos[γ[t]]) ((a^2) + (b^2) - 2 a b Cos[γ[t]]))) // 
      Simplify

-((a (b^2) (-b + a Cos[γ[t]]) Sin[γ[
                t]])/((((a^2) + (b^2) - 2 a b Cos[γ[t]]))^(3/2)))

Plot[
      Evaluate[asd[[2]]], {g, dn -  .3, 
        dn + 1.2 +  .3}]

Series[%, {g, 1.23, 4}]

substn = {MLA -> 0.413, LEV -> 0.145}

dn = ArcTan[MLA/LEV] /. substn
dn + 0.6
dn 180/π

PLT=MYβ/Α'[t]/.subst/.substn

Plot[PLT, {g, dn, dn + 1.2}];

Lemma 4.3 (Section 4.3)

a is the front lever
b is the middle to lever distance
r is the wheel radius
γ is the angle between the two levers
γ is in rad / sec

(Subscript[V, 1])=((a b Sin[γ[t]] γ'[t])/(r (Sqrt[ (a^2) + (b^2) - 2 a b Cos[γ[t]]])))

sol = 
      Solve[{h/a == Cos[ϕ], 
            h/b == Cos[γ[t] - ϕ]}, {ϕ, h}] // 
        Simplify

(∂_t) 
      sol[[4, 1, 
        2]]
tru = 
      Simplify[(∂_t) 
          sol[[4, 1, 2]], {a > 0, 
          b > 0, γ[t] > 0}]

(((a b γ'[t] Cos[γ[t]] -γ'[t] (((a^2) (b^2) Sin[γ[t]]^2)/(c^2)))/c))

γ'[t]a b((( Cos[γ[t]] )/c) - ((a b Sin[γ[t]]^2 )/(c^3)))//TeXForm

sol[[4, 2, 2]] // 
      TeXForm

tru = 
      Simplify[(∂_t) 
          sol[[4, 2, 2]], {a > 0, 
          b > 0, γ[t] > 0}]

ans=-((b (2 ((a^2) + (b^2)) Cos[γ[t]] - 
                  a b (3 + Cos[2 γ[t]])) γ'[t])/(2 (a - b Cos[γ[t]]) ((a^2) + (b^2) - 
                  2 a b Cos[γ[t]])))//Simplify
ans // TeXForm

1-(1/(γ'[t]))ans//Simplify

subst = {a -> 0.14, 
          b -> 
            0.41, γ[
              t] -> γ};
ArcCos[(a/b)] /. 
      subst
pl1=(1/(γ'[t]))ans/.subst
pl2=(1/(γ'[t]))tru/.subst
Plot[{pl1, 0 pl2}, {γ, 
        0, π}, PlotRange -> All]

Solve[pl1 == 1, γ]

(Subscript[V, 2])=-((b (2 ((a^2) + (b^2)) Cos[γ[t]] - 
                  a b (3 + Cos[2 γ[t]])) γ'[t])/(2 (a - b Cos[γ[t]]) ((a^2) + (b^2) - 
                  2 a b Cos[γ[t]])))//Simplify

unit of (Subscript[v, i]) is rad / sec

(Subscript[V, 1]) + (Subscript[V, 2])

now, the middle axis

Solve[
      (a^2) == 
        (b^2) + (c^2) - 2 b c Cos[α], α]

subst = {a -> 0.14, b -> 0.41}

sol = ArcCos[((-(a^2) + (b^2) + (c^2))/(2 b c))] /. 
          c -> (Sqrt[(a^2) + (b^2) - 2 a b Cos[γ]]) /. γ -> γ[t]

(∂_t) sol // Simplify

Due to the mechanism of the middle axis, we have to pick 1/2 of this value times the γ'. This is the same as

(Subscript[V, m])=(1/2)((a (-a + b Cos[γ[t]]) γ'[t])/((a^2) + 
              (b^2) - 2 a b Cos[γ[t]]));

Driving situation (Section 5.3)

a = 0.145;
b = 0.413;
r = 0.12;
SOILSURF = RGBColor[ .6,  .6,  .6];
TITANIUM = RGBColor[ .85,  .85,  .85];
HOR = ArcCos[(a/b)];
EXT = 1.3;
NOM = (Sqrt[(a^2) + (b^2) - 2 a b Cos[HOR]]);
MAX = 2.65;
MXN = HOR + 1.3;
UNT = (Sqrt[(a^2) + (b^2) - 2 a b Cos[MAX]]) - (Sqrt[(a^2) + (b^2) - 2 a b Cos[HOR]]);
HIG = 0;

ROP[σ_, pnt_]:=(({{Cos[σ], Sin[σ]}, {-Sin[σ], Cos[σ]}})).pnt;
ROT[σ_, pnt_]:=(({{Cos[σ], Sin[σ]}, {-Sin[σ], Cos[σ]}})).#1&/@pnt;
DM[γ_, s_, σ_:  0]:=Module[{
c = (Sqrt[(a^2) + (b^2) - 2 a b Cos[γ]]), 
h = ((a b Sin[γ])/(Sqrt[(a^2) + (b^2) - 2 a b Cos[γ]])), α, B, REF, PNT},
B = (Sqrt[(b^2) - (h^2)]);
α = 
              ArcCos[(((b^2) + (c^2) - (a^2))/(2 b c))];
Α = ((α[[1]] - α[[2]])/2);
REF = {{-c[[1]], 
                  0}, {-B[[1]], 
                  h[[1]]}, {0, 
                  0}, {B[[2]], 
                  h[[2]]}, {c[[2]], 0}};
PNT = {{- .04,  .16}, { .04,  .16}, {0, 0}};
{Thickness[ .0025],
TITANIUM,Polygon[ROT[σ,s+(({{Cos[Α], Sin[Α]}, {-Sin[Α], Cos[Α]}})).#1&/@PNT]],
RGBColor[0, 0, 0],Line[ROT[σ,s+(({{Cos[Α], Sin[Α]}, {-Sin[Α], Cos[Α]}})).#1&/@PNT[[{1, 2, 3, 
                            1}]]]],
TITANIUM,Disk[ROP[σ, s + #1], 0.0475] & /@ 
                  REF[[{2, 4}]],
RGBColor[0, 0, 0],Circle[ROP[σ, s + #1], 0.0475] & /@ 
                  REF[[{2, 4}]],
TITANIUM,Disk[ROP[σ, s + #1], r] & /@ 
                  REF[[{1, 3, 5}]],
RGBColor[0, 0, 0],Circle[ROP[σ, s + #1], r] & /@ 
                  REF[[{1, 3, 5}]],
Thickness[ .005],
Line[
                  ROT[σ, #1 + s & /@ REF]]
}
]
JN[α_] := (Sqrt[(a^2) + (b^2) - 2 a b Cos[α]]);

{(Subscript[γ, r]) = 1.85, (Subscript[γ, f]) = 
          1.528757305143};
opt = {AspectRatio -> Automatic, Frame -> False, 
          PlotRange -> {{-JN[(Subscript[γ, r])] - r - 
                  0.01, -JN[(Subscript[γ, r])] + 
                  1.04}, {-r -  .075,  .205}}};
PT = 
        Show[Graphics[{
SOILSURF, 
              Thickness[ .004], 
Line[#1 - {0, 
                        r} & /@ {{-JN[(Subscript[γ, r])] - r, 0}, {-r, 
                      0}, {-r, - .05}, {r, - .05}, {r, 
                      0}, {JN[(Subscript[γ, f])] + r, 
                      0}}], 
DM[{(Subscript[γ, r]), (Subscript[γ, f])}, {0, 0}, 0]
}], opt];

{(Subscript[γ, r]) = 1.528757305143, (Subscript[γ, f]) = 
          1.85};
opt = {AspectRatio -> Automatic, Frame -> False, 
          PlotRange -> {{-JN[(Subscript[γ, r])] - r - 
                  0.01, -JN[(Subscript[γ, r])] + 
                  1.04}, {-r -  .075,  .205}}};
PT = 
        Show[Graphics[{
SOILSURF, 
              Thickness[ .004], 
Line[#1 - {0, 
                        r} & /@ {{-JN[(Subscript[γ, r])] - r, 
                      0}, {ssse = r +  .15, 0}}], 
Line[
                Table[{t,  .01 Sin[500 t] - r}, {t, ssse, 
                    JN[(Subscript[γ, f])] +  
                      r,  .001}]], 
DM[{(Subscript[γ, r]), (Subscript[γ, f])}, {0, 0}, 0]
}], opt];

{(Subscript[γ, r]) = 1.2121, (Subscript[γ, f]) = 
          1.85};
opt = {AspectRatio -> Automatic, Frame -> False, 
          PlotRange -> {{-JN[(Subscript[γ, r])] - r - 
                  0.01, -JN[(Subscript[γ, r])] + 
                  1.04}, {-r -  .075,  .205}}};
PT = 
        Show[Graphics[{
SOILSURF, 
              Thickness[ .004], 
Line[#1 - {0, 
                        r} & /@ {{-JN[(Subscript[γ, r])] - r, 
                      0}, {ssse = r +  .223, 0}}], 
Line[
                Table[{ .44 + (t/π) 2.2 r,  .05 + - .12 Cos[t] - 
                      r}, {t, -1.15, 
                    2.5,  .1}]], 
DM[{(Subscript[γ, r]), (Subscript[γ, f])}, {0, 0}, 0]
}], opt];

Marsokhod sideviews

a = 0.145;
b = 0.413;
r = 0.12;
TITANIUM = RGBColor[ .85,  .85,  .85];
SOILSURF = RGBColor[ .6,  .6,  .6];
HOR = ArcCos[(a/b)];
EXT = 1.3;
NOM = (Sqrt[(a^2) + (b^2) - 2 a b Cos[HOR]]);
MAX = 2.65;
MXN = HOR + 1.3;
UNT = (Sqrt[(a^2) + (b^2) - 2 a b Cos[MAX]]) - (Sqrt[(a^2) + (b^2) - 2 a b Cos[HOR]]);
HIG = 0;

ROP[σ_, pnt_]:=(({{Cos[σ], Sin[σ]}, {-Sin[σ], Cos[σ]}})).pnt;
ROT[σ_, pnt_]:=(({{Cos[σ], Sin[σ]}, {-Sin[σ], Cos[σ]}})).#1&/@pnt;
DM[γ_, s_, σ_:  0]:=Module[{
c = (Sqrt[(a^2) + (b^2) - 2 a b Cos[γ]]), 
h = ((a b Sin[γ])/(Sqrt[(a^2) + (b^2) - 2 a b Cos[γ]])), α, B, REF, PNT},
B = (Sqrt[(b^2) - (h^2)]);
α = 
              ArcCos[(((b^2) + (c^2) - (a^2))/(2 b c))];
Α = ((α[[1]] - α[[2]])/2);
REF = {{-c[[1]], 
                  0}, {-B[[1]], 
                  h[[1]]}, {0, 
                  0}, {B[[2]], 
                  h[[2]]}, {c[[2]], 0}};
PNT = {{- .04,  .16}, { .04,  .16}, {0, 0}};
{Thickness[ .0025],
TITANIUM,Polygon[ROT[σ,s+(({{Cos[Α], Sin[Α]}, {-Sin[Α], Cos[Α]}})).#1&/@PNT]],
RGBColor[0, 0, 0],Line[ROT[σ,s+(({{Cos[Α], Sin[Α]}, {-Sin[Α], Cos[Α]}})).#1&/@PNT[[{1, 2, 3, 
                            1}]]]],
TITANIUM,Disk[ROP[σ, s + #1], 0.0475] & /@ 
                  REF[[{2, 4}]],
RGBColor[0, 0, 0],Circle[ROP[σ, s + #1], 0.0475] & /@ 
                  REF[[{2, 4}]],
TITANIUM,Disk[ROP[σ, s + #1], r] & /@ 
                  REF[[{1, 3, 5}]],
RGBColor[0, 0, 0],Circle[ROP[σ, s + #1], r] & /@ 
                  REF[[{1, 3, 5}]],
Thickness[ .005],
Line[
                  ROT[σ, #1 + s & /@ REF]]
}
]

\(\(opt = {AxesLabel -> {\*""(Subscript[x, 1])"", \*""(Subscript[x, 3])""}, AspectRatio -> Automatic, Axes -> True, 
          Frame -> 
            True, 
AxesStyle -> {RGBColor[ .9,  .9,  .9], Thickness[0.00]}, 
          PlotRange -> {{\(- .66\),  .54}, {\(-0.13\), 
                0.20}}};\)\)
\(\(PT = 
        Show[Graphics[{
DM[{axr = 2.3, 
                  axf = 1.328757305143}, {0, 0}], 
Text[
                StyleForm["a", FontFamily -> "Times", 
                  FontSize -> 8, 
                  FontWeight -> "Bold"], { .414,  .08}], 
Text[
                StyleForm["a", FontFamily -> "Times", 
                  FontSize -> 8, 
                  FontWeight -> "Bold"], {\(- .481\),  .063}], 
Text[
                StyleForm["b", FontFamily -> "Times", 
                  FontSize -> 8, 
                  FontWeight -> "Bold"], { .193,  .1}], 
Text[
                StyleForm["b", FontFamily -> "Times", 
                  FontSize -> 8, 
                  FontWeight -> "Bold"], {\(- .193\),  .07}], 
Text[
                StyleForm[\*""(Subscript[c, f])"", 
                  FontFamily -> "Times", 
                  FontSize -> 
                    8], { .22, \(-0.025\)}], 
Text[
                StyleForm[\*""(Subscript[c, r])"", 
                  FontFamily -> "Times", 
                  FontSize -> 
                    8], {\(- .25\), \(-0.0325\)}], 
Text[
                StyleForm[\*""(Subscript[γ, f])"", 
                  FontFamily -> "Times", 
                  FontSize -> 8], { .372, 
                  0.12}], 
Text[
                StyleForm[\*""(Subscript[γ, r])"", 
                  FontFamily -> "Times", 
                  FontSize -> 8], {\(- .395\), 
                  0.067}], 
Text[
                StyleForm[\*""(Subscript[α, f])"", 
                  FontFamily -> "Times", 
                  FontSize -> 8], { .0975, 
                  0.015}], 
Text[
                StyleForm[\*""(Subscript[α, r])"", 
                  FontFamily -> "Times", 
                  FontSize -> 8], {\(- .0975\), 
                  0.00750}], 
RGBColor[ .55,  .55,  .55], 
Line[{{0, \(-0.0075\)}, {\@\(a\^2 + b\^2 - 2\ a\ b\ Cos[axf]\), \(-0.0075\)}}], 
Line[{{0, \(-0.015\)}, {\(-\@\(a\^2 + b\^2 - 2\ a\ b\ Cos[axr]\)\), \(-0.015\)}}]
}], opt];\)\)

opt = {AspectRatio -> Automatic, Frame -> False, 
          PlotRange -> {{- .02,  .59}, {-0.02, 
                0.14}}};
PT = Show[Graphics[#1], 
              opt] & /@ {
DM[{HOR, 1.8}, {0 UNT, 
                0}]
};

\(\(PM0 = 
        Show[Graphics[{
DM[{\(-\((\(-HOR\))\)\), HOR}, {0, 
                  0}], 
RGBColor[ .2,  .2,  .2], 
Text[
                StyleForm[\*""-(Subscript[p, 6]^max)"", 
                  FontFamily -> "Times", 
                  FontSize -> 
                    12], { .31,  .07}], 
Text[
                StyleForm[\*""(Subscript[p, 7]^min)"", 
                  FontFamily -> "Times", 
                  FontSize -> 
                    12], {\(- .32\),  .07}]
}], {AspectRatio -> Automatic, Frame -> False, 
            PlotRange -> {{\(-0.67\), 0.67}, {\(-\((r + 0.01)\)\), 
                  0.20}}}];\)\)
\(\(PM1 = 
        Show[Graphics[{
DM[{\(-\((\(-HOR\) - EXT)\)\), 
                  HOR + EXT}, {0, 
                  0}], 
RGBColor[ .2,  .2,  .2], 
Text[
                StyleForm[\*""-(Subscript[p, 6]^min)"", 
                  FontFamily -> "Times", 
                  FontSize -> 12], { .36, 
                  0.01}], 
Text[
                StyleForm[\*""(Subscript[p, 7]^max)"", 
                  FontFamily -> "Times", 
                  FontSize -> 12], {\(- .40\), 
                  0.01}]
}
], {AspectRatio -> Automatic, Frame -> False, 
            PlotRange -> {{\(-0.67\), 0.67}, {\(-\((r + 0.01)\)\), 
                  0.20}}}];\)\)

opt = {AspectRatio -> Automatic, Frame -> False, 
          PlotRange -> {{- .55,  .52 + UNT}, {-(r + 0.01), 
                0.22}}};
P0 = Show[Graphics[#1], 
              opt] & /@ {
DM[{BOR = 1.5, HOR}, {0 UNT, 
                0}], 
DM[{BOR, MAX}, {0 UNT, 
                0}], 
DM[{BOR, HOR}, {1 UNT, 
                0}]
};

opt = {AspectRatio -> Automatic, Frame -> False, 
          PlotRange -> {{- .52,  .55 + UNT}, {-(r + 0.01), 
                0.22}}};
P1 = Show[Graphics[#1], 
              opt] & /@ {
DM[{HOR, BOR}, {0 UNT, 
                0}], 
DM[{MAX, BOR}, {1 UNT, 
                0}], 
DM[{HOR, BOR}, {1 UNT, 
                0}]
};

opt = {AspectRatio -> Automatic, Frame -> False, 
          PlotRange -> {{- .52,  .52 + 
                  2 UNT}, {-(r + 0.01), 
                0.22}}};
P3 = Show[Graphics[#1], 
              opt] & /@ {
DM[{HOR, MAX}, {0 UNT, 
                0}], 
DM[{MAX, HOR}, {1 UNT, 
                0}], 
DM[{HOR, MAX}, {1 UNT, 
                0}]
};

opt = {AspectRatio -> Automatic, Frame -> False, 
          PlotRange -> {{- .52,  .52 + UNT}, {-(r + 0.01), 
                0.22}}};
P2 = Show[Graphics[#1], 
              opt] & /@ {
DM[{HOR, HOR}, {0 UNT, 
                0}], 
DM[{HOR, MAX}, {0 UNT, 
                0}], 
DM[{MAX, HOR}, {1 UNT, 
                0}], 
DM[{HOR, HOR}, {1 UNT, 
                0}]
};

opt = {AspectRatio -> Automatic, Frame -> False, 
          PlotRange -> {{- .52,  .52 + 
                  2 UNT}, {-(r + 0.01), 
                0.22}}};
P4 = Show[Graphics[#1], 
              opt] & /@ {
DM[{HOR, HOR}, {0 UNT, 
                0}], 
DM[{MAX, MAX}, {1 UNT, 
                0}], 
DM[{HOR, HOR}, {2 UNT, 
                0}]
};

iσc = 0.3;
JANS = {(Sqrt[(a^2) + (b^2) - 2 a b Cos[1.528757]]), 
          0};
opt = {AspectRatio -> Automatic, Frame -> False, 
          PlotRange -> {{- .13,  .54}, {-0.25, 
                0.17}}};
\(\(PT = 
        Show[Graphics[{
DM[{HOR, 1.528757305143}, {0, 0}, 
                iσc], 
Text[
                StyleForm["a", FontFamily -> "Times", 
                  FontSize -> 15, FontWeight -> "Bold"], 
                ROP[iσc, { .43,  .07}]], 
Text[
                StyleForm["b", FontFamily -> "Times", 
                  FontSize -> 15, FontWeight -> "Bold"], 
                ROP[iσc, { .193,  .09}]], 
Text[
                StyleForm["c", FontFamily -> "Times", 
                  FontSize -> 15], 
                ROP[iσc, { .22, \(-0.020\)}]], 
Text[
                StyleForm["σ", FontFamily -> "Times", 
                  FontSize -> 15], 
                ROP[iσc, { .533, \(+0.014\)}]], 
Text[
                StyleForm["γ", FontFamily -> "Times", 
                  FontSize -> 15], 
                ROP[iσc, { .378, 0.12}]], 
SOILSURF, 
              Thickness[ .004], 
Line[
                ROT[iσc, {{0, 0}, 
                    JANS + {r, 0}}]], 
Line[
                ROT[iσc, {JANS + {Cos[iσc], Sin[iσc]}, 
                    JANS - {Cos[iσc], 
                        Sin[iσc]}}]]
}], 
          opt];\)\)

SLANTγ[σ_] := 
      ArcCos[-(1/b) (a s + (Sqrt[((a^2) s + (b^2)) Sin[σ]^2]))] /. 
        s -> (-1 + Sin[σ]^2)
SLANTγ[iσc]

iσc = -0.4;
JANS = {(Sqrt[(a^2) + (b^2) - 2 a b Cos[SLANTγ[iσc]]]), 
          0};
opt = {AspectRatio -> Automatic, Frame -> False, 
          PlotRange -> {{- .54,  .48}, {-0.3, 
                0.34}}};
PT1 = 
        Show[Graphics[{
DM[{HOR, HOR}, {0, 0}, 
                iσc], 
SOILSURF, 
              Thickness[ .004], 
Line[
                ROT[iσc, {{-1, -r}, {1, -r}}]]
}], opt];
PT2 = 
        Show[Graphics[{
DM[{SLANTγ[iσc], 
                  HOR}, {0, 0}, iσc], 
SOILSURF, 
              Thickness[ .004], 
Line[
                ROT[iσc, {{-1, -r}, {1, -r}}]]
}], opt];

POBS = 
        Show[Graphics[{
DM[{1.85, 1.5}, {0 UNT, 
                  0}], 
Rectangle[{x = (Sqrt[(a^2) + (b^2) - 2 a b Cos[1.5]]) + 
                      r, -r}, {x +  .05,  .19}], 
SOILSURF, 
              Thickness[ .004], 
Line[{{- .6, -r}, {0.6, -r}}]
}], {AspectRatio -> Automatic, 
            Frame -> 
              False, 
PlotRange -> {{- .60,  .60}, {-0.13, 0.20}}}];

Marsokhod topviews

subst = {a -> 0.145, b -> 0.413}
AXS[γ_] := (Sqrt[(a^2) + (b^2) - 2  a b Cos[γ]]) /. 
          subst;
ALP[γ_] := ArcCos[(((b^2) + (c^2) - (a^2))/(2 b c))] /. 
            subst /. c -> AXS[γ];
ARM[γ_] := 
        b Cos[ALP[γ]] /. subst;
Fv[γ_] := 
        5.3 AXS[γ] + 0.04;
TITANIUM = RGBColor[ .85,  .85,  .85];

FAC = 
      0.08;   
sw2 = 
      0.04;
sb2 = 0.032;
sm1 = 0.05;
sm2 = 0.07;
wi2 = 0.30;
wj2 = 0.583/2;
tx2 = 0.17;
R = 0.04575;
cnt = 0.245;
MhkAxis[x1_, ι_:  0] := 
      Module[{
PNT = {{0.0625, sw2}, {rad, 0.20}, {rad, 
                wj2}, {0.019, wj2 + 0.02}}, 
SME = {{0.025, 
                sw2}, {-0.025, 
                sw2}, {-0.025, -sw2}, {0.025, -sw2}}, 
TMP}, 
TMP = 
          Join[PNT, {-#1[[1]], #1[[2]]} & /@ Reverse[PNT], 
            PNT[[{1}]]]; 
{TITANIUM, 
Polygon[{x1 + #1[[1]], #1[[2]]} & /@ 
              TMP], 
Polygon[{x1 + #1[[1]], -#1[[2]]} & /@ 
              TMP], 
Polygon[{x1 + #1[[1]], #1[[2]]} & /@ 
              SME], 
RGBColor[ .2,  .2,  .2], 
          Thickness[ .002], 
Line[{x1 + #1[[1]], +#1[[2]]} & /@ 
              TMP], 
Line[{x1 + #1[[1]], -#1[[2]]} & /@ TMP], 
Line[{x1 + #1[[1]], +#1[[2]]} & /@ Join[SME, 
                SME[[{1}]]]], 
RGBColor[0, 0, 0], 
          Thickness[ .005], 
Line[{x1 + 
                    R #1[[1]], 
                  cnt + R #1[[2]]} & /@ {{Sin[ι], 
                  Cos[ι]}, {-Sin[ι], -Cos[ι]}}], 
Line[{x1 + 
                    R #1[[1]], -cnt - R #1[[2]]} & /@ {{Sin[ι], 
                  Cos[ι]}, {-Sin[ι], -Cos[ι]}}]
}]

MhkVel[γ1_, γ2_, LST_] := 
      Module[{a1 = AXS[γ1], 
          a2 = -AXS[γ2]}, 
{RGBColor[ .2,  .2,  .2], 
Thickness[ .015], 
If[
            LST[[1]] ≠ 0, 
            Line[{{a1, +cnt}, {a1 + 
                    LST[[1]], +cnt}}], {}], 
If[
            LST[[2]] ≠ 0, 
            Line[{{a1, -cnt}, {a1 + 
                    LST[[2]], -cnt}}], {}], 
If[
            LST[[3]] ≠ 0, 
            Line[{{0, +cnt}, {LST[[3]], +cnt}}], {}], 
If[
            LST[[4]] ≠ 0, 
            Line[{{0, -cnt}, {LST[[4]], -cnt}}], {}], 
If[
            LST[[5]] ≠ 0, 
            Line[{{a2, +cnt}, {a2 + 
                    LST[[5]], +cnt}}], {}], 
If[
            LST[[6]] ≠ 0, 
            Line[{{a2, -cnt}, {a2 + 
                    LST[[6]], -cnt}}], {}], 
If[
            6 < Length[LST], {
If[
                LST[[7]] ≠ 0, 
                Line[{{+ARM[γ1], 
                      0}, {+ARM[γ1] + 
                        LST[[7]], 
                      0}}], {}], 
If[
                LST[[8]] ≠ 0, 
                Line[{{-ARM[γ2], 
                      0}, {-ARM[γ2] + 
                        LST[[8]], 
                      0}}], {}]
}, {}]
}]

MhkArm[x1_] := 
      Module[{PNT = {
{0.0475, 
                0.057 + 
                  0.082}, 
{0.0475, -0.057}, 
{0.0305, -0.057 - 0.098}
}, 
          TMP
}, 
TMP = 
          Join[PNT, {-#1[[1]], #1[[2]]} & /@ Reverse[PNT], 
            PNT[[{1}]]]; 
{TITANIUM, 
Polygon[{x1 + #1[[1]], #1[[2]]} & /@ 
              TMP], 
RGBColor[ .2,  .2,  .2], 
          Thickness[ .002], 
Line[{x1 + #1[[1]], #1[[2]]} & /@ TMP]
}]

MhkGrid[γ1_, γ2_] := 
      Module[{
PNT = {{+ARM[γ1], +0.025}, {+ARM[γ1], -0.025}, {-ARM[γ2], -0.025}, {-ARM[γ2], +0.025}}, 
SM1 = {{+ARM[γ1], +sb2}, {+ARM[γ1], -sb2}, {+AXS[γ1], -sb2}, {+AXS[γ1], +sb2}}, 
SM2 = {{-ARM[γ2], +sb2}, {-ARM[γ2], -sb2}, {-AXS[γ2], -sb2}, {-AXS[γ2], +sb2}}, 
LST
}, 
LST = {PNT, SM1, 
            SM2}; 
{TITANIUM, 
Polygon[#1] & /@ 
            LST, 
RGBColor[ .2,  .2,  .2], 
          Thickness[ .002], 
Line[
                Join[#1, #1[[{1}]]]] & /@ LST
}]

\(MhkEPS[γ1_, γ2_] := {
MhkAxis[\(-AXS[γ2]\), \(-0.24\)], MhkAxis[0, 0], 
        MhkAxis[AXS[γ1], 
          0.24], 
MhkGrid[γ1, γ2], 
MhkArm[\(-ARM[γ2]\)], 
        MhkArm[ARM[γ1]], 
Text["FL", {AXS[γ1], 
            tx2}], 
Text["FR", {AXS[γ1], \(-tx2\)}], 
Text["CL", {0, 
            tx2}], 
Text["CR", {0, \(-tx2\)}], 
Text["BL", {\(-AXS[γ2]\), 
            tx2}], 
Text["BR", {\(-AXS[γ2]\), \(-tx2\)}], 
Text["AF", {\(+ARM[γ1]\), 
            0.05}], 
Text["AB", {\(-ARM[γ2]\), 
            0.05}]
}\)

rad := 0.125;
\(\(PIC1a = 
        Show[Graphics[MhkEPS[2.9, 2.9]], {AspectRatio -> Automatic, 
            Frame -> True, Axes -> True, 
            AxesLabel -> {\*""(Subscript[x, 1])"", \*""(Subscript[x, 2])""}}];\)\)
PIC1b = 
        Show[Graphics[
            MhkEPS[2.9, 2.9]], {AspectRatio -> 
              Automatic}];

OBST = 
        Show[Graphics[{MhkEPS[θ = 1.5, 1.85], 
                  Disk[#1,  .03]}] & /@ {{ .055 + AXS[θ], 
                0}, { .135 + AXS[θ], 
                0.14}, { .155 + 
                  AXS[θ], -0.24}}, {AspectRatio -> 
              Automatic}];

rad := 0.125;
PIC31 = 
        Show[Graphics[{MhkEPS[2.1, 2.85], 
              MhkVel[2.1, 
                2.85, +FAC {1, 1, 1, 1, 1, 1}]}], {AspectRatio -> 
              Automatic}];
PIC32 = 
        With[{γ1 = 3.1, γ2 = 1.25}, 
Print[
            AXS[γ1]]; 
Print[AXS[γ2]]; 
          Show[Graphics[{MhkEPS[γ1, γ2], 
MhkVel[γ1, γ2, 
                  FAC {-Fv[γ1], Fv[γ1], -1, 
                      1, -Fv[γ2], 
                      Fv[γ2]}]}], {AspectRatio -> 
                Automatic}]];
PIC33 = 
        Show[Graphics[{MhkEPS[2.2, 1.85], 
              MhkVel[2.2, 1.85, 
                FAC {-1, 1, 0, 0, 1, -1}]}], {AspectRatio -> 
              Automatic}];
PIC34 = 
        Show[Graphics[{MhkEPS[1.21, 1.55], 
              MhkVel[1.21, 1.55, 
                FAC {0, 1, 0, 0, 0, 0}]}], {AspectRatio -> 
              Automatic}];

PICB6 = 
        Show[Graphics[{MhkEPS[2.3, 1.5], 
              MhkVel[2.3, 
                1.5, +FAC {0, 0, 0, 0, 0, 0, 1, 
                    0}]}], {AspectRatio -> 
              Automatic}];
PICB7 = 
        Show[Graphics[{MhkEPS[2.1, 1.7], 
              MhkVel[2.1, 
                1.7, +FAC {0, 0, 0, 0, 0, 0, 0, 
                    1}]}], {AspectRatio -> Automatic}];

MRW6[γ1_, ρ_] := 
      Module[
{u = ((a b Sin[γ1])/(rad AXS[γ1])), 
          LST}, 
LST = {-u ρ - ((b (b - a Cos[γ1]))/AXS)[γ1]^2, 
              u (1 - ρ) + (1/2) ((a (a - b) Cos[γ1])/AXS)[γ1]^2, u (1 - ρ)} /. 
            subst; 
Join[
          LST[[{1, 1, 2, 2, 3, 3}]], {1, 
            0}]
]
MRW7[γ2_, ρ_] := 
      Module[
{u = ((a b Sin[γ2])/(rad AXS[γ2])), 
          LST}, 
LST = {u (1 - ρ), 
              u (1 - ρ) + (1/2) ((a (a - b) Cos[γ2])/AXS)[γ2]^2, -u ρ - ((b (b - a Cos[γ2]))/AXS)[γ2]^2} /. subst; 
Join[
          LST[[{1, 1, 2, 2, 3, 3}]], {0, 
            1}]
]

rad := 0.115;
MRW7[1.85, 0]

rad := 0.115;
PIC51 = 
        Show[Graphics[{MhkEPS[1.6, 1.85], 
              MhkVel[1.6, 
                1.85, +FAC MRW7[1.85, 0]]}], {AspectRatio -> 
              Automatic}];

rad := 0.125;
PIC41 = 
        Show[Graphics[{MhkEPS[2.1, 1.85], 
              MhkVel[2.1, 
                1.85, +FAC MRW6[2.1, 0.4]]}], {AspectRatio -> 
              Automatic}];

rad := 0.125;
PINT = 
        Show[Graphics[
            MhkEPS[ArcCos[a/b] /. subst, 
              ArcCos[a/b] /. subst]], {AspectRatio -> 
              Automatic}];

HOR = ArcCos[a/b] /. subst;
PICMIN = 
        Show[Graphics[
            MhkEPS[2.9, HOR]], {AspectRatio -> 
              Automatic}];
PICMAX = 
        Show[Graphics[
            MhkEPS[HOR, 2.9]], {AspectRatio -> 
              Automatic}];

MRW6[2, 0]

AXS[π]
ALP[π]
ARM[π]

ArcCos[a/b] /. subst

\(MhkEPS[γ1_, γ2_, 
        fnt_:  True] := {
MhkAxis[\(-AXS[γ2]\), \(-0.24\)], MhkAxis[0, 0], 
        MhkAxis[AXS[γ1], 
          0.24], 
MhkGrid[γ1, γ2], 
MhkArm[\(-ARM[γ2]\)], 
        MhkArm[ARM[γ1]], 
If[
          fnt, {
Text["FL", {AXS[γ1], 
                tx2}], 
Text["FR", {AXS[γ1], \(-tx2\)}], 
Text["CL", {0, 
                tx2}], 
Text["CR", {0, \(-tx2\)}], 
Text["BL", {\(-AXS[γ2]\), 
                tx2}], 
Text["BR", {\(-AXS[γ2]\), \(-tx2\)}], 
Text["AF", {\(+ARM[γ1]\), 0.05}], 
Text["AB", {\(-ARM[γ2]\), 
                0.05}]}, {}]
}\)

PIS[l_] := 
        Show[Graphics[{
MhkEPS[1.5, 1.5, False], 
              MhkVel[1.5, 
                1.5, {0, l[[3]], 0, 
                  l[[2]], 0, 
                  l[[1]]}]}], {AspectRatio -> Automatic, 
            PlotRange -> {{-0.6,  .6}, {- .35, 
                  0}}}];

LOD1[
        l_] := (Sqrt[250]) (Mean[l] - 
            l) (Sqrt[Variance])[l]
LOD2[l_] := 
        20 (Mean[l (Mean[l] - l)] - 
              l (Mean[l] - l));
ans = {PIS[L1 = {- .1, - .1, - .01}], PIS[LOD1[L1]], 
          PIS[LOD2[L1]]};

ans = {PIS[L2 = {- .1, 0, - .1}], PIS[LOD1[L2]], 
          PIS[LOD2[L2]]};

ans = {PIS[L3 = {- .06, - .06, + .04}], PIS[LOD1[L3]], 
          PIS[LOD2[1.6  L3]]};