(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.1' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 123416, 2823]*) (*NotebookOutlinePosition[ 124080, 2846]*) (* CellTagsIndexPosition[ 124036, 2842]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["\<\ Summary of Equations for Non-Generalized 3D Point-footed, Midleg-Mass, Hipped \ Walker without Yaw\ \>", "Title"], Cell["January 22, 2006", "Subtitle"], Cell["\<\ Modeling by Robert D Gregg rdgregg@eecs.berkeley.edu Center for Hybrid and Embedded Software Systems Electrical Engineering and Computer Sciences University of California, Berkeley\ \>", "Subsubtitle"], Cell[CellGroupData[{ Cell["Variables", "Section"], Cell[BoxData[{ \(\(x5--\) > \ relative\ stance\ roll\ \ angle\), "\n", \(\(x6\ --\) > \ relative\ stance\ pitch\ angle\), "\n", \(\(x7\ --\) > \ relative\ swing\ pitch\ angle\[IndentingNewLine]\), \ "\[IndentingNewLine]", \(\(\[Phi]\ --\) > \ static\ stance\ roll\ angle\), "\[IndentingNewLine]", \(\(\[Theta]s\ --\) > \ static\ stance\ pitch\ angle\), "\[IndentingNewLine]", \(\(\[Theta]ns\ --\) > \ static\ swing\ pitch\ angle\)}], "DisplayFormula"], Cell[CellGroupData[{ Cell["Constants", "Subsection"], Cell[BoxData[{ \(\(w\ --\) > \ hip\ width\), "\n", \(\(l\ --\) > \ leg\ length\), "\n", \(\(Mp\ --\) > \ pelvis/hip\ mass\), "\n", \(\(M\ --\) > \ midleg\ mass\), "\[IndentingNewLine]", \(\(gamma\ --\) > \ slope\ angle\), "\[IndentingNewLine]", \(\(Beta\ --\) > \ potential\ shaping\ angle\ \((difference\ between\ passive\ slope\ \ angle\ and\ actual\ slope\ gamma)\)\)}], "DisplayFormula"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Relative Coordinate System (from Derivation) for Passive Walking\ \>", "Section"], Cell[CellGroupData[{ Cell["Mass/Inertia Matrix", "Subsection"], Cell[BoxData[{ \(\(q\ = \ {{x5[t]}, {x6[t]}, {x7[t]}};\)\), "\[IndentingNewLine]", \(\(qdot\ = \ D[q, t];\)\)}], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ Mmatrix3x3\ = \ {{1\/8\ \((l\^2\ \((6\ M + 4\ Mp)\) + 2\ \((4\ M + Mp)\)\ w\^2 + l\^2\ \((\((5\ M + 4\ Mp)\)\ Cos[2\ x6[t]] + M\ \((\(-4\)\ Cos[x7[t]] + Cos[2\ \((x6[t] + x7[t])\)] - 4\ Cos[2\ x6[t] + x7[t]])\))\))\), 1\/2\ l\ w\ \((\((2\ M + Mp)\)\ Sin[x6[t]] - M\ Sin[x6[t] + x7[t]])\), \(-\(1\/2\)\)\ l\ M\ w\ Sin[ x6[t] + x7[t]]}, {1\/2\ l\ w\ \((\((2\ M + Mp)\)\ Sin[x6[t]] - M\ Sin[x6[t] + x7[t]])\), 1\/2\ l\^2\ \((3\ M + 2\ Mp - 2\ M\ Cos[x7[t]])\), 1\/4\ l\ M\ \((l - 2\ l\ Cos[x7[t]])\)}, {\(-\(1\/2\)\)\ l\ M\ w\ Sin[ x6[t] + x7[t]], 1\/4\ l\ M\ \((l - 2\ l\ Cos[x7[t]])\), \(l\^2\ M\)\/4}}]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {\(1\/8\ \((l\^2\ \((6\ M + 4\ Mp)\) + 2\ \((4\ M + Mp)\)\ w\^2 + l\^2\ \((\((5\ M + 4\ Mp)\)\ Cos[2\ x6[t]] + M\ \((\(-4\)\ Cos[x7[t]] + Cos[2\ \((x6[t] + x7[t])\)] - 4\ Cos[ 2\ x6[t] + x7[t]])\))\))\)\), \(1\/2\ l\ w\ \ \((\((2\ M + Mp)\)\ Sin[x6[t]] - M\ Sin[x6[t] + x7[t]])\)\), \(\(-\(1\/2\)\)\ l\ M\ w\ Sin[ x6[t] + x7[t]]\)}, {\(1\/2\ l\ w\ \((\((2\ M + Mp)\)\ Sin[x6[t]] - M\ Sin[x6[t] + x7[t]])\)\), \(1\/2\ l\^2\ \((3\ M + 2\ Mp - 2\ M\ Cos[x7[t]])\)\), \(1\/4\ l\ M\ \((l - 2\ l\ Cos[x7[t]])\)\)}, {\(\(-\(1\/2\)\)\ l\ M\ w\ Sin[ x6[t] + x7[t]]\), \(1\/4\ l\ M\ \((l - 2\ l\ Cos[x7[t]])\)\), \(\(l\^2\ M\)\/4\)} }, RowSpacings->1, ColumnSpacings->1, ColumnAlignments->{Left}], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["Hipless", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[Mmatrix3x3\ /. w \[Rule] 0]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {\(1\/8\ \((l\^2\ \((6\ M + 4\ Mp)\) + l\^2\ \((\((5\ M + 4\ Mp)\)\ Cos[2\ x6[t]] + M\ \((\(-4\)\ Cos[x7[t]] + Cos[2\ \((x6[t] + x7[t])\)] - 4\ Cos[2\ x6[t] + x7[t]])\))\))\)\), "0", "0"}, { "0", \(1\/2\ l\^2\ \((3\ M + 2\ Mp - 2\ M\ Cos[x7[t]])\)\), \(1\/4\ l\ M\ \((l - 2\ l\ Cos[x7[t]])\)\)}, { "0", \(1\/4\ l\ M\ \((l - 2\ l\ Cos[x7[t]])\)\), \(\(l\^2\ M\)\/4\)} }, RowSpacings->1, ColumnSpacings->1, ColumnAlignments->{Left}], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Lagrangian", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[ \(KE\ = \ First[First[1/2\ Transpose[qdot] . Mmatrix3x3 . qdot]] // FullSimplify\)], "Input"], Cell[BoxData[ RowBox[{\(1\/16\), " ", RowBox[{"(", RowBox[{ RowBox[{\((l\^2\ \((6\ M + 4\ Mp)\) + 2\ \((4\ M + Mp)\)\ w\^2 + l\^2\ \((\((5\ M + 4\ Mp)\)\ Cos[2\ x6[t]] + M\ \((\(-4\)\ Cos[x7[t]] + Cos[2\ \((x6[t] + x7[t])\)] - 4\ Cos[2\ x6[t] + x7[t]])\))\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{"8", " ", "l", " ", "w", " ", RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{\((\((2\ M + Mp)\)\ Sin[x6[t]] - M\ Sin[x6[t] + x7[t]])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{"M", " ", \(Sin[x6[t] + x7[t]]\), " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}], "+", RowBox[{"2", " ", \(l\^2\), " ", RowBox[{"(", RowBox[{ RowBox[{\((6\ M + 4\ Mp - 4\ M\ Cos[x7[t]])\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{"2", " ", "M", " ", \((1 - 2\ Cos[x7[t]])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{"M", " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}], ")"}]}]], "Output"] }, Open ]], Cell[BoxData[ \(\(PE\ = \ 1\/2\ g\ \((l\ Cos[ x5[t]]\ \((\((3\ M + 2\ Mp)\)\ Cos[x6[t]] - M\ Cos[x6[t] + x7[t]])\) - \((2\ M + Mp)\)\ w\ Sin[ x5[t]])\);\)\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(Lagrangian\ = \ KE - PE\)], "Input"], Cell[BoxData[ RowBox[{\(\(-\(1\/2\)\)\ g\ \((l\ Cos[ x5[t]]\ \((\((3\ M + 2\ Mp)\)\ Cos[x6[t]] - M\ Cos[x6[t] + x7[t]])\) - \((2\ M + Mp)\)\ w\ Sin[ x5[t]])\)\), "+", RowBox[{\(1\/16\), " ", RowBox[{"(", RowBox[{ RowBox[{\((l\^2\ \((6\ M + 4\ Mp)\) + 2\ \((4\ M + Mp)\)\ w\^2 + l\^2\ \((\((5\ M + 4\ Mp)\)\ Cos[2\ x6[t]] + M\ \((\(-4\)\ Cos[x7[t]] + Cos[2\ \((x6[t] + x7[t])\)] - 4\ Cos[2\ x6[t] + x7[t]])\))\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{"8", " ", "l", " ", "w", " ", RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{\((\((2\ M + Mp)\)\ Sin[x6[t]] - M\ Sin[x6[t] + x7[t]])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{"M", " ", \(Sin[x6[t] + x7[t]]\), " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}], "+", RowBox[{"2", " ", \(l\^2\), " ", RowBox[{"(", RowBox[{ RowBox[{\((6\ M + 4\ Mp - 4\ M\ Cos[x7[t]])\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{"2", " ", "M", " ", \((1 - 2\ Cos[x7[t]])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{"M", " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}], ")"}]}]}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["Hipless", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(Lagrangian\ /. w \[Rule] 0\ // FullSimplify\)], "Input"], Cell[BoxData[ RowBox[{\(1\/16\), " ", "l", " ", RowBox[{"(", RowBox[{\(8\ g\ Cos[ x5[t]]\ \((\(-\((3\ M + 2\ Mp)\)\)\ Cos[x6[t]] + M\ Cos[x6[t] + x7[t]])\)\), "+", RowBox[{ "l", " ", \((6\ M + 4\ Mp + \((5\ M + 4\ Mp)\)\ Cos[2\ x6[t]] + M\ \((\(-4\)\ Cos[x7[t]] + Cos[2\ \((x6[t] + x7[t])\)] - 4\ Cos[2\ x6[t] + x7[t]])\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{"2", " ", "l", " ", RowBox[{"(", RowBox[{ RowBox[{\((6\ M + 4\ Mp - 4\ M\ Cos[x7[t]])\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{"2", " ", "M", " ", \((1 - 2\ Cos[x7[t]])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{"M", " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}], ")"}]}]], "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Equations of Motion", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[{ \(eq1\ = \ D[D[Lagrangian, \(x5'\)[t]], t]\ - \ D[Lagrangian, x5[t]]\ // FullSimplify\), "\[IndentingNewLine]", \(eq2\ = \ D[D[Lagrangian, \(x6'\)[t]], t]\ - \ D[Lagrangian, x6[t]]\ // FullSimplify\), "\[IndentingNewLine]", \(eq3\ = \ D[D[Lagrangian, \(x7'\)[t]], t]\ - \ D[Lagrangian, x7[t]]\ // FullSimplify\)}], "Input"], Cell[BoxData[ RowBox[{\(1\/16\), " ", RowBox[{"(", RowBox[{\(8\ g\ \((\(-\((2\ M + Mp)\)\)\ w\ Cos[x5[t]] + l\ \((\(-\((3\ M + 2\ Mp)\)\)\ Cos[x6[t]] + M\ Cos[x6[t] + x7[t]])\)\ Sin[x5[t]])\)\), "+", RowBox[{"2", " ", \(l\^2\), " ", RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{\(-2\), " ", \((5\ M + 4\ Mp)\), " ", \(Sin[2\ x6[t]]\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{"M", " ", RowBox[{"(", RowBox[{ RowBox[{"4", " ", \(Sin[x7[t]]\), " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{ "2", " ", \(Sin[2\ \((x6[t] + x7[t])\)]\), " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "+", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], ")"}]}], "+", RowBox[{"4", " ", \(Sin[2\ x6[t] + x7[t]]\), " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], ")"}]}]}], ")"}]}]}], ")"}]}], "+", RowBox[{ "2", " ", \((l\^2\ \((6\ M + 4\ Mp)\) + 2\ \((4\ M + Mp)\)\ w\^2 + l\^2\ \((\((5\ M + 4\ Mp)\)\ Cos[2\ x6[t]] + M\ \((\(-4\)\ Cos[x7[t]] + Cos[2\ \((x6[t] + x7[t])\)] - 4\ Cos[2\ x6[t] + x7[t]])\))\))\), " ", RowBox[{ SuperscriptBox["x5", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{"8", " ", "l", " ", "w", " ", RowBox[{"(", RowBox[{ RowBox[{\((\((2\ M + Mp)\)\ Cos[x6[t]] - M\ Cos[x6[t] + x7[t]])\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "-", RowBox[{"2", " ", "M", " ", \(Cos[x6[t] + x7[t]]\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{"M", " ", \(Cos[x6[t] + x7[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{\((\((2\ M + Mp)\)\ Sin[x6[t]] - M\ Sin[x6[t] + x7[t]])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{"M", " ", \(Sin[x6[t] + x7[t]]\), " ", RowBox[{ SuperscriptBox["x7", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]}], ")"}]}]], "Output"], Cell[BoxData[ RowBox[{\(1\/8\), " ", "l", " ", RowBox[{"(", RowBox[{\(4\ g\ Cos[ x5[t]]\ \((\(-\((3\ M + 2\ Mp)\)\)\ Sin[x6[t]] + M\ Sin[x6[t] + x7[t]])\)\), "+", RowBox[{ "l", " ", \((\((5\ M + 4\ Mp)\)\ Sin[2\ x6[t]] + M\ \((Sin[2\ \((x6[t] + x7[t])\)] - 4\ Sin[2\ x6[t] + x7[t]])\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{"8", " ", "l", " ", "M", " ", \(Sin[x7[t]]\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{"4", " ", RowBox[{"(", RowBox[{ RowBox[{"l", " ", "M", " ", \(Sin[x7[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{ "w", " ", \((\((2\ M + Mp)\)\ Sin[x6[t]] - M\ Sin[x6[t] + x7[t]])\), " ", RowBox[{ SuperscriptBox["x5", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "l", " ", \((3\ M + 2\ Mp - 2\ M\ Cos[x7[t]])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}], "+", RowBox[{ "2", " ", "l", " ", "M", " ", \((1 - 2\ Cos[x7[t]])\), " ", RowBox[{ SuperscriptBox["x7", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]], "Output"], Cell[BoxData[ RowBox[{\(-\(1\/8\)\), " ", "l", " ", "M", " ", RowBox[{"(", RowBox[{ RowBox[{"4", " ", \(Sin[x6[t] + x7[t]]\), " ", RowBox[{"(", RowBox[{\(\(-g\)\ Cos[x5[t]]\), "+", RowBox[{"w", " ", RowBox[{ SuperscriptBox["x5", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}], "+", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{\((2\ Sin[x7[t]] - Sin[2\ \((x6[t] + x7[t])\)] + 2\ Sin[2\ x6[t] + x7[t]])\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{"4", " ", \(Sin[x7[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{\((\(-2\) + 4\ Cos[x7[t]])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{"2", " ", RowBox[{ SuperscriptBox["x7", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]}], ")"}]}]], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Collision Guard", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[ \(height\ = \ \(-w\)\ Sin[x5[t]] + 2\ l\ Cos[x5[t]]\ Sin[x6[t] + x7[t]\/2]\ Sin[x7[t]\/2] + l\ \((\(-Sin[x6[t]]\) + Sin[x6[t] + x7[t]])\)\ Tan[gamma]\)], "Input"], Cell[BoxData[ \(\(-w\)\ Sin[x5[t]] + 2\ l\ Cos[x5[t]]\ Sin[x6[t] + x7[t]\/2]\ Sin[x7[t]\/2] + l\ \((\(-Sin[x6[t]]\) + Sin[x6[t] + x7[t]])\)\ Tan[gamma]\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Avect\ = \ {{D[height, x5[t]], D[height, x6[t]], D[height, x7[t]]}};\)\), "\[IndentingNewLine]", \(holonomicTraj\ = \ First[First[Avect . qdot]]\ // FullSimplify\)}], "Input"], Cell[BoxData[ RowBox[{ RowBox[{\(-\((w\ Cos[x5[t]] + 2\ l\ Sin[x5[t]]\ Sin[x6[t] + x7[t]\/2]\ Sin[x7[t]\/2])\)\), " ", RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "l", " ", \((2\ Cos[x5[t]]\ Cos[x6[t] + x7[t]\/2]\ Sin[ x7[t]\/2] + \((\(-Cos[x6[t]]\) + Cos[x6[t] + x7[t]])\)\ Tan[ gamma])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "l", " ", \((Cos[x5[t]]\ Sin[x6[t] + x7[t]] + Cos[x6[t] + x7[t]]\ Tan[gamma])\), " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}]], "Output"] }, Open ]], Cell["The guard is the zero-level set of the height function:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(height\)\(\ \)\(\[Equal]\)\(\ \)\(0\)\(\ \)\)\)], "Input"], Cell[BoxData[ \(\(-w\)\ Sin[x5[t]] + 2\ l\ Cos[x5[t]]\ Sin[x6[t] + x7[t]\/2]\ Sin[x7[t]\/2] + l\ \((\(-Sin[x6[t]]\) + Sin[x6[t] + x7[t]])\)\ Tan[gamma] \[Equal] 0\)], "Output"] }, Open ]], Cell["\<\ and the negative region of the holonomic constraint's trajectory:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(holonomicTraj\ < \ 0\)], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{\(-\((w\ Cos[x5[t]] + 2\ l\ Sin[x5[t]]\ Sin[x6[t] + x7[t]\/2]\ Sin[x7[t]\/2])\)\), " ", RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "l", " ", \((2\ Cos[x5[t]]\ Cos[x6[t] + x7[t]\/2]\ Sin[ x7[t]\/2] + \((\(-Cos[x6[t]]\) + Cos[x6[t] + x7[t]])\)\ Tan[ gamma])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "l", " ", \((Cos[x5[t]]\ Sin[x6[t] + x7[t]] + Cos[x6[t] + x7[t]]\ Tan[gamma])\), " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], "<", "0"}]], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Impact Equations", "Subsection"], Cell[BoxData[ \(\({x5impact\ = \ x5[t], \ x6impact\ = \ x6[t] + x7[t], \ x7impact\ = \ \(-x7[t]\)};\)\)], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"x5dotimpact", " ", "=", " ", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{\((Cos[ 2\ x6[t]]\ \((\((l\^2\ M\ \((M + 4\ Mp)\) + 4\ \((M + Mp)\)\^2\ w\^2)\)\ Cos[ 2\ x7[t]] - M\ \((\(-2\)\ l\^2\ \((M + 2\ Mp)\) + 4\ \((M + Mp)\)\ w\^2 + l\^2\ M\ Cos[4\ x7[t]])\))\) + 2\ \((l\^2\ M\ \((3\ M + 4\ Mp)\) - \((2\ M\^2 + M\ Mp - 2\ Mp\^2)\)\ w\^2 + 2\ M\^2\ \((\(-l\^2\) + w\^2)\)\ Cos[ 2\ x7[t]] + 4\ l\^2\ \((M + Mp)\)\ Cos[x6[t]]\^2\ Cos[ x7[t]]\ \((\(-3\)\ M - 4\ Mp + 2\ M\ Cos[ 2\ x7[ t]])\) + \((\(-2\)\ \((l\^2\ M\ \((M \ + 2\ Mp)\) + 2\ \((M + Mp)\)\^2\ w\^2)\)\ Cos[x7[t]] + l\^2\ \((\(-2\)\ \((M + Mp)\)\ \((\(-3\)\ M - 4\ Mp + 2\ M\ Cos[2\ x7[t]])\) + M\^2\ Cos[3\ x7[t]])\))\)\ Sin[ 2\ x6[t]]\ Sin[x7[t]])\))\), " ", RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{"4", " ", "l", " ", "w", " ", RowBox[{"(", RowBox[{ RowBox[{\((2\ Mp\ \((5\ M + 4\ Mp + \((6\ M + 4\ Mp)\)\ Cos[ x7[t]])\)\ Sin[ x6[t]]\ Sin[x7[t]\/2]\^2 - \((2\ M + Mp)\)\ Cos[ x6[t]]\ \((\(-M\) + 2\ \((M + 2\ Mp)\)\ Cos[x7[t]])\)\ Sin[ x7[t]])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "M", " ", \((2\ M\ Cos[x6[t]]\ Sin[x7[t]] + Mp\ Sin[x6[t] + x7[t]])\), " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]}], ")"}]}], "/", \((Cos[ 2\ x6[t]]\ \((\((l\^2\ \((13\ M\^2 + 32\ M\ Mp + 16\ Mp\^2)\) + 4\ Mp\ \((2\ M + Mp)\)\ w\^2)\)\ Cos[ 2\ x7[t]] + M\ \((\(-2\)\ l\^2\ M + 4\ \((M + 2\ Mp)\)\ w\^2 - l\^2\ \((5\ M + 4\ Mp)\)\ Cos[4\ x7[t]])\))\) + 2\ \((l\^2\ \((3\ M + 2\ Mp)\)\ \((3\ M + 4\ Mp)\) + \((2\ M\^2 + 7\ M\ Mp + 2\ Mp\^2)\)\ w\^2 + 2\ M\ \((\(-l\^2\)\ \((3\ M + 2\ Mp)\) + Mp\ w\^2)\)\ Cos[2\ x7[t]] + 4\ l\^2\ M\ Cos[x6[t]]\^2\ \((\(-2\)\ \((M + 2\ Mp)\)\ Cos[x7[t]] + M\ Cos[ 3\ x7[ t]])\) + \((\(-2\)\ \((l\^2\ \((M + 2\ Mp)\)\ \((5\ M + 4\ Mp)\) + 2\ Mp\ \((2\ M + Mp)\)\ w\^2)\)\ Cos[ x7[t]] + l\^2\ M\ \((6\ M + 8\ Mp - 4\ M\ Cos[ 2\ x7[t]] + \((5\ M + 4\ Mp)\)\ Cos[ 3\ x7[t]])\))\)\ Sin[2\ x6[t]]\ Sin[ x7[t]])\))\)}]}], ",", "\[IndentingNewLine]", RowBox[{"x6dotimpact", " ", "=", " ", RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{ "2", " ", "w", " ", \((8\ l\^2\ \((M + Mp)\)\ Cos[x6[t]]\^2\ \((M - Mp\ Cos[2\ x7[t]])\)\ Sin[x6[t]] + Cos[x7[ t]]\ \((\((\(-2\)\ l\^2\ \((2\ M\^2 + 2\ M\ Mp + Mp\^2)\) - 2\ M\ \((M + 2\ Mp)\)\ w\^2 + l\^2\ M\^2\ Cos[2\ x7[t]])\)\ Sin[ x6[t]] + \((l\^2\ \((M\^2 + 4\ M\ Mp + 2\ Mp\^2)\) - 2\ M\ \((M + Mp)\)\ w\^2 - 4\ l\^2\ \((M + Mp)\)\^2\ Cos[ 2\ x7[t]])\)\ Sin[3\ x6[t]])\) + Cos[x6[ t]]\ \((M\ \((3\ l\^2\ M - 2\ \((2\ M + Mp)\)\ w\^2)\) - 4\ \((M + Mp)\)\ \((\((l\^2\ \((M + Mp)\) + M\ w\^2)\)\ Cos[2\ x6[t]] + 2\ l\^2\ \((M + Mp\ Cos[2\ x6[t]])\)\ Cos[x7[t]])\) - l\^2\ \((\(-5\)\ M\^2 - 8\ M\ Mp - 4\ Mp\^2 + 8\ \((M + Mp)\)\^2\ Cos[ 2\ x6[t]])\)\ Cos[2\ x7[t]])\)\ Sin[ x7[t]])\), " ", RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{\((Cos[ 2\ x6[ t]]\ \((M\ \((l\^2\ \((5\ M + 8\ Mp)\) + 4\ M\ w\^2)\) - \((l\^2\ \((11\ M\^2 \ + 18\ M\ Mp + 8\ Mp\^2)\) + 4\ \((2\ M\^2 + 4\ M\ Mp + Mp\^2)\)\ w\^2)\)\ Cos[ x7[t]] + l\^2\ \((3\ M\ \((3\ M + 4\ Mp)\)\ Cos[ 2\ x7[t]] - \((M + 2\ Mp)\)\ \((5\ M + 4\ Mp)\)\ Cos[ 3\ x7[t]])\))\) + 2\ \((l\^2\ M\ \((5\ M + 6\ Mp)\) + M\ \((2\ M + Mp)\)\ w\^2 - 2\ \((4\ l\^2\ \((M + Mp)\)\^2 + \((2\ \ M\^2 + 5\ M\ Mp + Mp\^2)\)\ w\^2)\)\ Cos[x7[t]] + 2\ l\^2\ M\ \((M + 2\ Mp)\)\ Cos[ 2\ x7[ t]] + \((l\^2\ \((7\ M\^2 + 14\ M\ Mp + 8\ Mp\^2)\) + 2\ Mp\ \((2\ M + Mp)\)\ w\^2 + l\^2\ \((\(-3\)\ M\ \((3\ M + 4\ Mp)\)\ Cos[ x7[t]] + \((M + 2\ Mp)\)\ \((5\ M + 4\ Mp)\)\ Cos[2\ x7[t]])\))\)\ Sin[ 2\ x6[t]]\ Sin[x7[t]])\))\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "M", " ", \((l\^2\ \((6\ M + 4\ Mp)\) + 2\ \((2\ M + Mp)\)\ w\^2 + M\ \((l\^2 + 4\ w\^2)\)\ Cos[2\ x6[t]] + l\^2\ \((\(-4\)\ M\ Cos[ x7[t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \((x6[t] + x7[t])\)] - 4\ M\ Cos[2\ x6[t] + x7[t]])\))\), " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]}], ")"}]}], "/", \((l\ \((Cos[ 2\ x6[t]]\ \((\((l\^2\ \((13\ M\^2 + 32\ M\ Mp + 16\ Mp\^2)\) + 4\ Mp\ \((2\ M + Mp)\)\ w\^2)\)\ Cos[ 2\ x7[t]] + M\ \((\(-2\)\ l\^2\ M + 4\ \((M + 2\ Mp)\)\ w\^2 - l\^2\ \((5\ M + 4\ Mp)\)\ Cos[ 4\ x7[t]])\))\) + 2\ \((l\^2\ \((3\ M + 2\ Mp)\)\ \((3\ M + 4\ Mp)\) + \((2\ M\^2 + 7\ M\ Mp + 2\ Mp\^2)\)\ w\^2 + 2\ M\ \((\(-l\^2\)\ \((3\ M + 2\ Mp)\) + Mp\ w\^2)\)\ Cos[2\ x7[t]] + 4\ l\^2\ M\ Cos[x6[t]]\^2\ \((\(-2\)\ \((M + 2\ Mp)\)\ Cos[x7[t]] + M\ Cos[ 3\ x7[ t]])\) + \((\(-2\)\ \((l\^2\ \((M + 2\ Mp)\)\ \((5\ M + 4\ Mp)\) + 2\ Mp\ \((2\ M + Mp)\)\ w\^2)\)\ Cos[ x7[t]] + l\^2\ M\ \((6\ M + 8\ Mp - 4\ M\ Cos[ 2\ x7[t]] + \((5\ M + 4\ Mp)\)\ Cos[ 3\ x7[t]])\))\)\ Sin[2\ x6[t]]\ Sin[ x7[t]])\))\))\)}]}], ",", "\[IndentingNewLine]", RowBox[{"x7dotimpact", " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "w", " ", \((\((l\^2\ \((21\ M\^2 + 24\ M\ Mp + 4\ Mp\^2)\) + 8\ Mp\ \((M + Mp)\)\ w\^2)\)\ Sin[x6[t]] + 8\ l\^2\ M\ \((M + Mp)\)\ Sin[3\ x6[t]] + 5\ l\^2\ M\^2\ Sin[x6[t] - 2\ x7[t]] + 4\ l\^2\ M\ Mp\ Sin[x6[t] - 2\ x7[t]] - 24\ l\^2\ M\^2\ Sin[x6[t] - x7[t]] - 36\ l\^2\ M\ Mp\ Sin[x6[t] - x7[t]] - 16\ l\^2\ Mp\^2\ Sin[x6[t] - x7[t]] + 4\ M\^2\ w\^2\ Sin[x6[t] - x7[t]] - l\^2\ M\^2\ Sin[3\ x6[t] - x7[t]] + l\^2\ M\^2\ Sin[x6[t] + x7[t]] - 8\ M\^2\ w\^2\ Sin[x6[t] + x7[t]] - 8\ M\ Mp\ w\^2\ Sin[x6[t] + x7[t]] - 17\ l\^2\ M\^2\ Sin[3\ x6[t] + x7[t]] - 28\ l\^2\ M\ Mp\ Sin[3\ x6[t] + x7[t]] - 12\ l\^2\ Mp\^2\ Sin[3\ x6[t] + x7[t]] - 4\ M\^2\ w\^2\ Sin[3\ x6[t] + x7[t]] - 4\ M\ Mp\ w\^2\ Sin[3\ x6[t] + x7[t]] - 8\ l\^2\ M\^2\ Sin[x6[t] + 2\ x7[t]] - 4\ l\^2\ M\ Mp\ Sin[x6[t] + 2\ x7[t]] + 8\ M\^2\ w\^2\ Sin[x6[t] + 2\ x7[t]] - 4\ Mp\^2\ w\^2\ Sin[x6[t] + 2\ x7[t]] + 7\ l\^2\ M\^2\ Sin[3\ x6[t] + 2\ x7[t]] + 8\ l\^2\ M\ Mp\ Sin[3\ x6[t] + 2\ x7[t]] + 8\ M\^2\ w\^2\ Sin[3\ x6[t] + 2\ x7[t]] + 12\ M\ Mp\ w\^2\ Sin[3\ x6[t] + 2\ x7[t]] + 4\ Mp\^2\ w\^2\ Sin[3\ x6[t] + 2\ x7[t]] + 5\ l\^2\ M\^2\ Sin[x6[t] + 3\ x7[t]] + 8\ l\^2\ M\ Mp\ Sin[x6[t] + 3\ x7[t]] + 4\ l\^2\ Mp\^2\ Sin[x6[t] + 3\ x7[t]] + l\^2\ \((M + 2\ Mp)\)\ \((3\ M + 2\ Mp)\)\ Sin[ 3\ x6[t] + 4\ x7[t]])\), " ", RowBox[{ SuperscriptBox["x5", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{ "4", " ", \((2\ \((\(-\((M + Mp)\)\)\ \((2\ l\^2\ \((M + 2\ Mp)\) - 3\ Mp\ w\^2 + \((8\ l\^2\ \((M + Mp)\) + 2\ \((2\ M - Mp)\)\ w\^2)\)\ Cos[ x7[t]] - 4\ l\^2\ M\ Cos[2\ x7[t]])\) - Cos[2\ x6[ t]]\ \((\(-3\)\ l\^2\ M\ \((M + Mp)\) + Mp\ \((5\ M + 3\ Mp)\)\ w\^2 + \((l\^2\ \((M + Mp)\)\ \((3\ M + 4\ Mp)\) + 2\ \((2\ M + Mp)\)\ \((M + 2\ Mp)\)\ w\^2)\)\ Cos[x7[t]] + l\^2\ \((M + Mp)\)\ \((\((M + 4\ Mp)\)\ Cos[ 2\ x7[t]] + \((5\ M + 4\ Mp)\)\ Cos[ 3\ x7[ t]])\))\))\)\ Sin[x7[t]\/2]\^2 + \ \((\(-\((l\^2\ \((M + Mp)\)\ \((9\ M + 4\ Mp)\) + 2\ \((2\ M + Mp)\)\ \((M + 2\ Mp)\)\ w\^2)\)\)\ Cos[ x7[t]] + \((M + Mp)\)\ \((l\^2\ \((5\ M + 4\ Mp)\) + \((2\ M + Mp)\)\ w\^2 + l\^2\ \((\((9\ M + 4\ Mp)\)\ Cos[ 2\ x7[t]] - \((5\ M + 4\ Mp)\)\ Cos[ 3\ x7[t]])\))\))\)\ Sin[ 2\ x6[t]]\ Sin[x7[t]])\), " ", RowBox[{ SuperscriptBox["x6", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "M", " ", \((2\ l\^2\ \((5\ M + 2\ Mp)\) + 2\ \((2\ M + Mp)\)\ w\^2 + M\ \((5\ l\^2 + 4\ w\^2)\)\ Cos[2\ x6[t]] - l\^2\ M\ Cos[2\ x6[t] - x7[t]] - 16\ l\^2\ M\ Cos[x7[t]] - 8\ l\^2\ Mp\ Cos[x7[t]] - 8\ M\ w\^2\ Cos[x7[t]] + 4\ l\^2\ M\ Cos[2\ x7[t]] + 9\ l\^2\ M\ Cos[2\ \((x6[t] + x7[t])\)] + 4\ l\^2\ Mp\ Cos[2\ \((x6[t] + x7[t])\)] - 10\ l\^2\ M\ Cos[2\ x6[t] + x7[t]] - 4\ l\^2\ Mp\ Cos[2\ x6[t] + x7[t]] - 8\ M\ w\^2\ Cos[2\ x6[t] + x7[t]] - 4\ Mp\ w\^2\ Cos[2\ x6[t] + x7[t]] - l\^2\ \((5\ M + 4\ Mp)\)\ Cos[ 2\ x6[t] + 3\ x7[t]])\), " ", RowBox[{ SuperscriptBox["x7", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]}], ")"}], "/", \((l\ \((Cos[ 2\ x6[t]]\ \((\((l\^2\ \((13\ M\^2 + 32\ M\ Mp + 16\ Mp\^2)\) + 4\ Mp\ \((2\ M + Mp)\)\ w\^2)\)\ Cos[ 2\ x7[t]] + M\ \((\(-2\)\ l\^2\ M + 4\ \((M + 2\ Mp)\)\ w\^2 - l\^2\ \((5\ M + 4\ Mp)\)\ Cos[ 4\ x7[t]])\))\) + 2\ \((l\^2\ \((3\ M + 2\ Mp)\)\ \((3\ M + 4\ Mp)\) + \((2\ M\^2 + 7\ M\ Mp + 2\ Mp\^2)\)\ w\^2 + 2\ M\ \((\(-l\^2\)\ \((3\ M + 2\ Mp)\) + Mp\ w\^2)\)\ Cos[2\ x7[t]] + 4\ l\^2\ M\ Cos[x6[t]]\^2\ \((\(-2\)\ \((M + 2\ Mp)\)\ Cos[x7[t]] + M\ Cos[ 3\ x7[ t]])\) + \((\(-2\)\ \((l\^2\ \((M + 2\ Mp)\)\ \((5\ M + 4\ Mp)\) + 2\ Mp\ \((2\ M + Mp)\)\ w\^2)\)\ Cos[ x7[t]] + l\^2\ M\ \((6\ M + 8\ Mp - 4\ M\ Cos[ 2\ x7[t]] + \((5\ M + 4\ Mp)\)\ Cos[ 3\ x7[t]])\))\)\ Sin[2\ x6[t]]\ Sin[ x7[t]])\))\))\)}]}]}], "}"}], ";"}]], "Input"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Converting to Static Coordinate System", "Section"], Cell["Conversion from relative to static coordinates:", "Text"], Cell[BoxData[ \({x6[t] \[Rule] \(-\[Theta]s[t]\), \(x6'\)[ t] \[Rule] \(-\(\[Theta]s'\)[t]\), x7[t] \[Rule] \((\(-\[Theta]ns[t]\) + \[Theta]s[t])\), \(x7'\)[ t] \[Rule] \((\(-\(\[Theta]ns'\)[t]\) + \(\[Theta]s'\)[t])\), x5[t] \[Rule] \[Phi][t], \(x5'\)[t] \[Rule] \(\[Phi]'\)[ t]}\)], "DisplayFormula"], Cell[CellGroupData[{ Cell["Variables", "Subsection"], Cell[BoxData[{ \(\(\[Phi]\ --\) > \ stance\ roll\ \ angle\), "\n", \(\(\[Theta]ns\ --\) > \ swing\ pitch\ angle\), "\[IndentingNewLine]", \(\(\[Theta]s\ --\) > \ stance\ pitch\ angle\)}], "DisplayFormula"] }, Open ]], Cell[CellGroupData[{ Cell["Lagrangian", "Subsection"], Cell[BoxData[{ \(\(q\ = \ {{\[Phi][t]}, {\[Theta]ns[t]}, {\[Theta]s[ t]}};\)\), "\[IndentingNewLine]", \(\(qdot\ = \ D[q, t];\)\)}], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(KE\ = \ KE\ /. {x6[t] \[Rule] \(-\[Theta]s[t]\), \(x6'\)[ t] \[Rule] \(-\(\[Theta]s'\)[t]\), x7[t] \[Rule] \((\(-\[Theta]ns[t]\) + \[Theta]s[t])\), \(x7'\)[ t] \[Rule] \((\(-\(\[Theta]ns'\)[t]\) + \(\[Theta]s'\)[t])\), x5[t] \[Rule] \[Phi][t], \(x5'\)[t] \[Rule] \(\[Phi]'\)[t]} // FullSimplify\)], "Input"], Cell[BoxData[ RowBox[{\(1\/16\), " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", \(l\^2\), " ", RowBox[{"(", RowBox[{ RowBox[{"M", " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "-", RowBox[{ "4", " ", "M", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((5\ M + 4\ Mp)\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}], "+", RowBox[{"8", " ", "l", " ", "w", " ", RowBox[{"(", RowBox[{ RowBox[{\(-M\), " ", \(Sin[\[Theta]ns[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((2\ M + Mp)\), " ", \(Sin[\[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}], " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((l\^2\ \((6\ M + 4\ Mp)\) + 2\ \((4\ M + Mp)\)\ w\^2 + l\^2\ \((M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]s[t]])\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(PE\ = \ PE\ /. \ {x6[t] \[Rule] \(-\[Theta]s[t]\), \(x6'\)[ t] \[Rule] \(-\(\[Theta]s'\)[t]\), x7[t] \[Rule] \((\(-\[Theta]ns[t]\) + \[Theta]s[t])\), \(x7'\)[ t] \[Rule] \((\(-\(\[Theta]ns'\)[t]\) + \(\[Theta]s'\)[t])\), x5[t] \[Rule] \[Phi][t], \(x5'\)[t] \[Rule] \(\[Phi]'\)[t]}\ // FullSimplify\)], "Input"], Cell[BoxData[ \(1\/2\ g\ \((l\ \((\(-M\)\ Cos[\[Theta]ns[t]] + \((3\ M + 2\ Mp)\)\ Cos[\[Theta]s[t]])\)\ Cos[\[Phi][ t]] - \((2\ M + Mp)\)\ w\ Sin[\[Phi][t]])\)\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(Lagrangian\ = \ KE\ - \ PE\ /. w \[Rule] 0\)], "Input"], Cell[BoxData[ RowBox[{\(\(-\(1\/2\)\)\ g\ l\ \((\(-M\)\ Cos[\[Theta]ns[t]] + \((3\ M + 2\ Mp)\)\ Cos[\[Theta]s[t]])\)\ Cos[\[Phi][t]]\), "+", RowBox[{\(1\/16\), " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", \(l\^2\), " ", RowBox[{"(", RowBox[{ RowBox[{"M", " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "-", RowBox[{ "4", " ", "M", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((5\ M + 4\ Mp)\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}], "+", RowBox[{\((l\^2\ \((6\ M + 4\ Mp)\) + l\^2\ \((M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]s[t]])\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(Lagrangian\ /. \ w \[Rule] 0\)], "Input"], Cell[BoxData[ RowBox[{\(\(-\(1\/2\)\)\ g\ l\ \((\(-M\)\ Cos[\[Theta]ns[t]] + \((3\ M + 2\ Mp)\)\ Cos[\[Theta]s[t]])\)\ Cos[\[Phi][t]]\), "+", RowBox[{\(1\/16\), " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", \(l\^2\), " ", RowBox[{"(", RowBox[{ RowBox[{"M", " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "-", RowBox[{ "4", " ", "M", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((5\ M + 4\ Mp)\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}], "+", RowBox[{\((l\^2\ \((6\ M + 4\ Mp)\) + l\^2\ \((M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]s[t]])\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}]], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Mass/Inertia Matrix", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ MmatrixStatic\ = \ {{1\/8\ \((l\^2\ \((6\ M + 4\ Mp)\) + 2\ \((4\ M + Mp)\)\ w\^2 + l\^2\ \((M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]s[t]])\))\), \ \ 1/ 2\ l\ w\ \((\(-M\)\ Sin[\[Theta]ns[t]])\)\ , \ 1/2\ l\ w\ \((\((2\ M + Mp)\)\ Sin[\[Theta]s[ t]])\)\ }, \[IndentingNewLine]{\ 1/2\ l\ w\ \((\(-M\)\ Sin[\[Theta]ns[t]])\), l^2\ M/4, \ \(-1\)/ 2\ l^2\ M\ Cos[\[Theta]s[t] - \[Theta]ns[ t]]}, \[IndentingNewLine]{\ 1/2\ l\ w\ \((\((2\ M + Mp)\)\ Sin[\[Theta]s[t]])\)\ , \ \(-1\)/ 2\ l^2\ M\ Cos[\[Theta]s[t] - \[Theta]ns[t]], \ l^2\ M/4\ + \ l^2\ \((M + Mp)\)}}]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {\(1\/8\ \((l\^2\ \((6\ M + 4\ Mp)\) + 2\ \((4\ M + Mp)\)\ w\^2 + l\^2\ \((M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]s[ t]])\))\)\), \(\(-\(1\/2\)\)\ l\ M\ w\ Sin[\ \[Theta]ns[t]]\), \(1\/2\ l\ \((2\ M + Mp)\)\ w\ Sin[\[Theta]s[t]]\)}, {\(\(-\(1\/2\)\)\ l\ M\ w\ Sin[\[Theta]ns[ t]]\), \(\(l\^2\ M\)\/4\), \(\(-\(1\/2\)\)\ l\^2\ M\ Cos[\ \[Theta]ns[t] - \[Theta]s[t]]\)}, {\(1\/2\ l\ \((2\ M + Mp)\)\ w\ Sin[\[Theta]s[ t]]\), \(\(-\(1\/2\)\)\ l\^2\ M\ Cos[\[Theta]ns[ t] - \[Theta]s[t]]\), \(\(l\^2\ M\)\/4 + l\^2\ \((M + Mp)\)\)} }, RowSpacings->1, ColumnSpacings->1, ColumnAlignments->{Left}], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["Hipless", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[MmatrixStatic\ /. w \[Rule] 0]\)], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {\(1\/8\ \((l\^2\ \((6\ M + 4\ Mp)\) + l\^2\ \((M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]s[t]])\))\)\), "0", "0"}, { "0", \(\(l\^2\ M\)\/4\), \(\(-\(1\/2\)\)\ l\^2\ M\ \ Cos[\[Theta]ns[t] - \[Theta]s[t]]\)}, { "0", \(\(-\(1\/2\)\)\ l\^2\ M\ Cos[\[Theta]ns[t] - \[Theta]s[ t]]\), \(\(l\^2\ M\)\/4 + l\^2\ \((M + Mp)\)\)} }, RowSpacings->1, ColumnSpacings->1, ColumnAlignments->{Left}], "\[NoBreak]", ")"}], Function[ BoxForm`e$, MatrixForm[ BoxForm`e$]]]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(KE\ \[Equal] \ First[First[ 1/2\ Transpose[{{\(\[Phi]'\)[t]}, {\(\[Theta]ns'\)[ t]}, {\(\[Theta]s'\)[t]}}] . MmatrixStatic . {{\(\[Phi]'\)[t]}, {\(\[Theta]ns'\)[ t]}, {\(\[Theta]s'\)[t]}}]]\ // FullSimplify\)], "Input"], Cell[BoxData[ \(True\)], "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Equations of Motion", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[{ \(eq1\ = \ D[D[Lagrangian, \(\[Phi]'\)[t]], t]\ - \ D[Lagrangian, \[Phi][t]]\ // FullSimplify\), "\[IndentingNewLine]", \(eq2\ = \ D[D[Lagrangian, \(\[Theta]ns'\)[t]], t]\ - \ D[Lagrangian, \[Theta]ns[t]]\ // FullSimplify\), "\[IndentingNewLine]", \(eq3\ = \ D[D[Lagrangian, \(\[Theta]s'\)[t]], t]\ - \ D[Lagrangian, \[Theta]s[t]]\ // FullSimplify\)}], "Input"], Cell[BoxData[ RowBox[{\(1\/8\), " ", "l", " ", RowBox[{"(", RowBox[{\(4\ g\ \((M\ Cos[\[Theta]ns[t]] - \((3\ M + 2\ Mp)\)\ Cos[\[Theta]s[t]])\)\ Sin[\[Phi][t]]\), "-", RowBox[{"4", " ", "l", " ", RowBox[{"(", RowBox[{ RowBox[{ "M", " ", \((Cos[\[Theta]ns[t]] - 2\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]ns[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((\(-2\)\ M\ Cos[\[Theta]ns[t]] + \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}], " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "l", " ", \((6\ M + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]s[t]])\), " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]], "Output"], Cell[BoxData[ RowBox[{\(1\/4\), " ", "l", " ", "M", " ", RowBox[{"(", RowBox[{\(2\ g\ Cos[\[Phi][t]]\ Sin[\[Theta]ns[t]]\), "+", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{\(-2\), " ", \(Sin[\[Theta]ns[t] - \[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{\((Cos[\[Theta]ns[t]] - 2\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]ns[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}], "-", RowBox[{ "2", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]}], ")"}]}]], "Output"], Cell[BoxData[ RowBox[{\(1\/4\), " ", "l", " ", RowBox[{"(", RowBox[{\(\(-2\)\ g\ \((3\ M + 2\ Mp)\)\ Cos[\[Phi][ t]]\ Sin[\[Theta]s[t]]\), "+", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{ "2", " ", "M", " ", \(Sin[\[Theta]ns[t] - \[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{\((\(-2\)\ M\ Cos[\[Theta]ns[t]] + \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "-", RowBox[{ "2", " ", "M", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((5\ M + 4\ Mp)\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]}], ")"}]}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(odes\ = \ Solve[{eq1\ \[Equal] \ 0, \ eq2 \[Equal] 0, \ eq3 \[Equal] 0}, \ {\(\[Phi]''\)[t], \ \(\[Theta]ns''\)[ t], \ \(\[Theta]s''\)[t]}]\ // FullSimplify\)], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}], "\[Rule]", RowBox[{ RowBox[{"(", RowBox[{\(4\ \((5\ M + 4\ Mp)\)\ u1\), "-", \(8\ M\ \((u1 + u2)\)\ Cos[\[Theta]ns[t] - \[Theta]s[t]]\), "+", \(2\ g\ l\ M\ Cos[\[Phi][ t]]\ \((2\ \((M + Mp)\)\ Sin[\[Theta]ns[ t]] + \((3\ M + 2\ Mp)\)\ Sin[\[Theta]ns[t] - 2\ \[Theta]s[t]])\)\), "+", RowBox[{\(l\^2\), " ", "M", " ", RowBox[{"(", RowBox[{ RowBox[{ "2", " ", "M", " ", \(Sin[2\ \((\[Theta]ns[t] - \[Theta]s[t])\)]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "-", RowBox[{ "2", " ", \((5\ M + 4\ Mp)\), " ", \(Sin[\[Theta]ns[t] - \[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{\((\(-2\)\ \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]]\^3\ Sin[\ \[Theta]ns[t]] + 2\ Mp\ Sin[2\ \[Theta]ns[t]] + Cos[\[Theta]ns[ t]]\ \((3\ M\ Sin[\[Theta]ns[t]] + 2\ M\ Sin[\[Theta]ns[t] - 2\ \[Theta]s[t]] + 2\ \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]]\^2\ Sin[\ \[Theta]s[t]])\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}], ")"}], "/", \((l\^2\ M\ \((\(-3\)\ M - 4\ Mp + 2\ M\ Cos[ 2\ \((\[Theta]ns[t] - \[Theta]s[t])\)])\))\)}]}], ",", RowBox[{ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}], "\[Rule]", RowBox[{ RowBox[{"(", RowBox[{\(2\ \((\(-2\)\ \((u1 + u2)\) + 4\ u1\ Cos[\[Theta]ns[t] - \[Theta]s[t]] + g\ l\ Cos[\[Phi][ t]]\ \((M\ Sin[ 2\ \[Theta]ns[t] - \[Theta]s[t]] - 2\ \((M + Mp)\)\ Sin[\[Theta]s[t]])\))\)\), "+", RowBox[{\(l\^2\), " ", RowBox[{"(", RowBox[{ RowBox[{ "2", " ", "M", " ", \(Sin[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"], "-", RowBox[{ "2", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}], "+", RowBox[{\((2\ M\ Cos[\[Theta]ns[t]]\^2\ \ Sin[\[Theta]ns[t] - \[Theta]s[t]] + Cos[\[Theta]s[ t]]\ \((\(-2\)\ M\ Sin[ 2\ \[Theta]ns[t] - \[Theta]s[ t]] + \((3\ M + 4\ Mp)\)\ Sin[\[Theta]s[t]])\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}], ")"}], "/", \((l\^2\ \((\(-3\)\ M - 4\ Mp + 2\ M\ Cos[ 2\ \((\[Theta]ns[t] - \[Theta]s[t])\)])\))\)}]}], ",", RowBox[{ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}], "\[Rule]", RowBox[{ RowBox[{"(", RowBox[{"4", " ", RowBox[{"(", RowBox[{\(2\ u3\), "+", \(g\ l\ \((\(-M\)\ Cos[\[Theta]ns[t]] + \((3\ M + 2\ Mp)\)\ Cos[\[Theta]s[t]])\)\ Sin[\[Phi][ t]]\), "+", RowBox[{\(l\^2\), " ", RowBox[{"(", RowBox[{ RowBox[{ "M", " ", \((Cos[\[Theta]ns[t]] - 2\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]ns[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((\(-2\)\ M\ Cos[\[Theta]ns[ t]] + \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}], " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}], ")"}], "/", \((l\^2\ \((6\ M + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]s[t]])\))\)}]}]}], "}"}], "}"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["Hipless", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \(odes\ /. w \[Rule] 0\ // FullSimplify\)], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}], "\[Rule]", RowBox[{ RowBox[{"(", RowBox[{\(4\ g\ \((\(-M\)\ Cos[\[Theta]ns[t]] + \((3\ M + 2\ Mp)\)\ Cos[\[Theta]s[t]])\)\ Sin[\[Phi][ t]]\), "+", RowBox[{"4", " ", "l", " ", RowBox[{"(", RowBox[{ RowBox[{ "M", " ", \((Cos[\[Theta]ns[t]] - 2\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]ns[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((\(-2\)\ M\ Cos[\[Theta]ns[t]] + \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}], " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}], "/", \((l\ \((6\ M + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]s[t]])\))\)}]}], ",", RowBox[{ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}], "\[Rule]", RowBox[{\(1\/\(l\ \((\(-3\)\ M - 4\ Mp + 2\ M\ Cos[ 2\ \((\[Theta]ns[t] - \[Theta]s[t])\)])\)\)\), RowBox[{"(", RowBox[{\(2\ g\ Cos[\[Phi][ t]]\ \((2\ \((M + Mp)\)\ Sin[\[Theta]ns[ t]] + \((3\ M + 2\ Mp)\)\ Sin[\[Theta]ns[t] - 2\ \[Theta]s[t]])\)\), "+", RowBox[{ "2", " ", "l", " ", "M", " ", \(Sin[2\ \((\[Theta]ns[t] - \[Theta]s[t])\)]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "-", RowBox[{ "2", " ", "l", " ", \((5\ M + 4\ Mp)\), " ", \(Sin[\[Theta]ns[t] - \[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{ "l", " ", \((\(-2\)\ \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]]\^3\ Sin[\[Theta]ns[ t]] + 2\ Mp\ Sin[2\ \[Theta]ns[t]] + Cos[\[Theta]ns[t]]\ \((3\ M\ Sin[\[Theta]ns[t]] + 2\ M\ Sin[\[Theta]ns[t] - 2\ \[Theta]s[t]] + 2\ \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]]\^2\ Sin[\ \[Theta]s[t]])\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}], ",", RowBox[{ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}], "\[Rule]", RowBox[{\(1\/\(l\ \((\(-3\)\ M - 4\ Mp + 2\ M\ Cos[ 2\ \((\[Theta]ns[t] - \[Theta]s[t])\)])\)\)\), RowBox[{"(", RowBox[{\(2\ g\ Cos[\[Phi][ t]]\ \((M\ Sin[2\ \[Theta]ns[t] - \[Theta]s[t]] - 2\ \((M + Mp)\)\ Sin[\[Theta]s[t]])\)\), "+", RowBox[{ "2", " ", "l", " ", "M", " ", \(Sin[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"], "-", RowBox[{ "2", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}], "+", RowBox[{ "l", " ", \((2\ M\ Cos[\[Theta]ns[t]]\^2\ Sin[\[Theta]ns[ t] - \[Theta]s[t]] + Cos[\[Theta]s[ t]]\ \((\(-2\)\ M\ Sin[ 2\ \[Theta]ns[t] - \[Theta]s[ t]] + \((3\ M + 4\ Mp)\)\ Sin[\[Theta]s[ t]])\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}]}], "}"}], "}"}]], "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Collision Guard", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[ \(height\ = \ l\ \((\(-Cos[\[Theta]ns[t]]\) + Cos[\[Theta]s[t]])\)\ Cos[\[Phi][t]] - w\ Sin[\[Phi][t]] + l\ \((\(-Sin[\[Theta]ns[t]]\) + Sin[\[Theta]s[t]])\)\ Tan[ gamma]\)], "Input"], Cell[BoxData[ \(l\ \((\(-Cos[\[Theta]ns[t]]\) + Cos[\[Theta]s[t]])\)\ Cos[\[Phi][t]] - w\ Sin[\[Phi][t]] + l\ \((\(-Sin[\[Theta]ns[t]]\) + Sin[\[Theta]s[t]])\)\ Tan[ gamma]\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Avect\ = \ {{D[height, \[Phi][t]], D[height, \[Theta]ns[t]], D[height, \[Theta]s[t]]}};\)\), "\[IndentingNewLine]", \(holonomicTraj\ = \ First[First[ Avect . {{\(\[Phi]'\)[t]}, {\(\[Theta]ns'\)[t]}, {\(\[Theta]s'\)[ t]}}]]\ // FullSimplify\)}], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ "l", " ", \((Cos[\[Phi][t]]\ Sin[\[Theta]ns[t]] - Cos[\[Theta]ns[t]]\ Tan[gamma])\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "l", " ", \((\(-Cos[\[Phi][t]]\)\ Sin[\[Theta]s[t]] + Cos[\[Theta]s[t]]\ Tan[gamma])\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{\((w\ Cos[\[Phi][t]] + l\ \((\(-Cos[\[Theta]ns[t]]\) + Cos[\[Theta]s[t]])\)\ Sin[\[Phi][ t]])\), " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}]], "Output"] }, Open ]], Cell["The guard is the zero-level set of the height function:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(\(\(height\)\(\ \)\(\[Equal]\)\(\ \)\(0\)\(\ \)\)\)], "Input"], Cell[BoxData[ \(l\ \((\(-Cos[\[Theta]ns[t]]\) + Cos[\[Theta]s[t]])\)\ Cos[\[Phi][t]] - w\ Sin[\[Phi][t]] + l\ \((\(-Sin[\[Theta]ns[t]]\) + Sin[\[Theta]s[t]])\)\ Tan[ gamma] \[Equal] 0\)], "Output"] }, Open ]], Cell["\<\ and the negative region of the holonomic constraint's trajectory:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(holonomicTraj\ < \ 0\)], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ "l", " ", \((Cos[\[Phi][t]]\ Sin[\[Theta]ns[t]] - Cos[\[Theta]ns[t]]\ Tan[gamma])\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "l", " ", \((\(-Cos[\[Phi][t]]\)\ Sin[\[Theta]s[t]] + Cos[\[Theta]s[t]]\ Tan[gamma])\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{\((w\ Cos[\[Phi][t]] + l\ \((\(-Cos[\[Theta]ns[t]]\) + Cos[\[Theta]s[t]])\)\ Sin[\[Phi][t]])\), " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], "<", "0"}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["Hipless", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[{ \(height\ \[Equal] \ 0\ /. w \[Rule] 0\), "\[IndentingNewLine]", \(holonomicTraj\ < 0\ /. w \[Rule] 0\)}], "Input"], Cell[BoxData[ \(l\ \((\(-Cos[\[Theta]ns[t]]\) + Cos[\[Theta]s[t]])\)\ Cos[\[Phi][t]] + l\ \((\(-Sin[\[Theta]ns[t]]\) + Sin[\[Theta]s[t]])\)\ Tan[ gamma] \[Equal] 0\)], "Output"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ "l", " ", \((Cos[\[Phi][t]]\ Sin[\[Theta]ns[t]] - Cos[\[Theta]ns[t]]\ Tan[gamma])\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "l", " ", \((\(-Cos[\[Phi][t]]\)\ Sin[\[Theta]s[t]] + Cos[\[Theta]s[t]]\ Tan[gamma])\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{ "l", " ", \((\(-Cos[\[Theta]ns[t]]\) + Cos[\[Theta]s[t]])\), " ", \(Sin[\[Phi][t]]\), " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], "<", "0"}]], "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Impact Equations", "Subsection"], Cell[BoxData[ \(\({phiimpact\ = \ \[Phi][t], \ thetaNSimpact\ = \ \[Theta]s[t], \ thetaSimpact\ = \ \[Theta]ns[t]};\)\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[{ \(phidotimpact\ = \ x5dotimpact\ /. {x6[t] \[Rule] \(-\[Theta]s[t]\), \(x6'\)[ t] \[Rule] \(-\(\[Theta]s'\)[t]\), x7[t] \[Rule] \((\(-\[Theta]ns[t]\) + \[Theta]s[t])\), \(x7'\)[ t] \[Rule] \((\(-\(\[Theta]ns'\)[t]\) + \(\[Theta]s'\)[t])\), x5[t] \[Rule] \[Phi][t], \(x5'\)[t] \[Rule] \(\[Phi]'\)[t]}\ // FullSimplify\), "\[IndentingNewLine]", \(thetaNSdotimpact\ = \ \(-x7dotimpact\) - x6dotimpact\ /. {x6[t] \[Rule] \(-\[Theta]s[t]\), \(x6'\)[ t] \[Rule] \(-\(\[Theta]s'\)[t]\), x7[t] \[Rule] \((\(-\[Theta]ns[t]\) + \[Theta]s[t])\), \(x7'\)[ t] \[Rule] \((\(-\(\[Theta]ns'\)[t]\) + \(\[Theta]s'\)[t])\), x5[t] \[Rule] \[Phi][t], \(x5'\)[t] \[Rule] \(\[Phi]'\)[t]}\ // FullSimplify\), "\[IndentingNewLine]", \(thetaSdotimpact\ = \ \(-x6dotimpact\)\ /. {x6[ t] \[Rule] \(-\[Theta]s[t]\), \(x6'\)[ t] \[Rule] \(-\(\[Theta]s'\)[t]\), x7[t] \[Rule] \((\(-\[Theta]ns[t]\) + \[Theta]s[t])\), \(x7'\)[ t] \[Rule] \((\(-\(\[Theta]ns'\)[t]\) + \(\[Theta]s'\)[t])\), x5[t] \[Rule] \[Phi][t], \(x5'\)[t] \[Rule] \(\[Phi]'\)[t]}\ // FullSimplify\)}], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"4", " ", "l", " ", "w", " ", RowBox[{"(", RowBox[{ RowBox[{ "M", " ", \((Mp\ Sin[\[Theta]ns[t]] + 2\ M\ Cos[\[Theta]s[ t]]\ Sin[\[Theta]ns[t] - \[Theta]s[t]])\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{\((M\ \((M + Mp)\)\ Sin[ 2\ \[Theta]ns[t] - 3\ \[Theta]s[t]] + \((M\^2 + 4\ M\ Mp + 2\ Mp\^2)\)\ Sin[ 2\ \[Theta]ns[t] - \[Theta]s[t]] - 2\ Mp\ \((M + Mp)\)\ Sin[\[Theta]s[t]])\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}], "+", RowBox[{\((2\ l\^2\ M\ \((3\ M + 4\ Mp)\) - 2\ \((2\ M\^2 + M\ Mp - 2\ Mp\^2)\)\ w\^2 - 8\ l\^2\ \((M + Mp)\)\ \((3\ M + 4\ Mp)\)\ Cos[\[Theta]ns[ t]]\ Cos[\[Theta]s[t]] + 4\ M\ Cos[ 2\ \((\[Theta]ns[t] - \[Theta]s[ t])\)]\ \((M\ \((\(-l\^2\) + w\^2)\) + 4\ l\^2\ \((M + Mp)\)\ Cos[\[Theta]ns[ t]]\ Cos[\[Theta]s[t]])\) - M\ \((\(-2\)\ l\^2\ \((M + 2\ Mp)\) + 4\ \((M + Mp)\)\ w\^2 + l\^2\ M\ Cos[4\ \[Theta]ns[t]])\)\ Cos[ 2\ \[Theta]s[t]] + Cos[2\ \[Theta]ns[t]]\ \((2\ l\^2\ M\ \((M + 2\ Mp)\) + 4\ \((M + Mp)\)\^2\ w\^2 - l\^2\ M\^2\ Cos[4\ \[Theta]s[t]])\) - l\^2\ M\^2\ Sin[4\ \[Theta]ns[t]]\ Sin[2\ \[Theta]s[t]] - l\^2\ M\^2\ Sin[2\ \[Theta]ns[t]]\ Sin[4\ \[Theta]s[t]])\), " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}], "/", \((\(-2\)\ l\^2\ \((3\ M + 2\ Mp)\)\ \((3\ M + 4\ Mp)\) - 2\ \((2\ M\^2 + 7\ M\ Mp + 2\ Mp\^2)\)\ w\^2 + Cos[2\ \[Theta]ns[ t]]\ \((\(-2\)\ l\^2\ \((7\ M\^2 + 16\ M\ Mp + 8\ Mp\^2)\) - 4\ Mp\ \((2\ M + Mp)\)\ w\^2 + l\^2\ M\^2\ Cos[4\ \[Theta]s[t]])\) + M\ \((8\ l\^2\ \((3\ M + 4\ Mp)\)\ Cos[\[Theta]ns[ t]]\ Cos[\[Theta]s[t]] - 4\ Cos[2\ \((\[Theta]ns[t] - \[Theta]s[ t])\)]\ \((\(-l\^2\)\ \((3\ M + 2\ Mp)\) + Mp\ w\^2 + 4\ l\^2\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]])\) + \((2\ l\^2\ M - 4\ \((M + 2\ Mp)\)\ w\^2 + l\^2\ \((5\ M + 4\ Mp)\)\ Cos[4\ \[Theta]ns[t]])\)\ Cos[ 2\ \[Theta]s[t]] + l\^2\ \((5\ M + 4\ Mp)\)\ Sin[4\ \[Theta]ns[t]]\ Sin[ 2\ \[Theta]s[t]] + l\^2\ M\ Sin[2\ \[Theta]ns[t]]\ Sin[ 4\ \[Theta]s[t]])\))\)}]], "Output"], Cell[BoxData[ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{\(-l\), " ", "M", " ", \((\(-4\)\ l\^2\ M + l\^2\ M\ Cos[\[Theta]ns[t] - 3\ \[Theta]s[t]] + 2\ l\^2\ Cos[ 2\ \[Theta]ns[ t]]\ \((\(-2\)\ M + \((5\ M + 4\ Mp)\)\ Cos[\[Theta]ns[t] - \[Theta]s[ t]])\) + \((l\^2\ \((13\ M + 8\ Mp)\) + 4\ \((4\ M + Mp)\)\ w\^2)\)\ Cos[\[Theta]ns[ t]]\ Cos[\[Theta]s[t]] - 8\ l\^2\ M\ Cos[\[Theta]ns[t]]\^2\ Cos[ 2\ \[Theta]s[t]] + \((l\^2\ \((11\ M + 8\ Mp)\) - 4\ Mp\ w\^2)\)\ Sin[\[Theta]ns[t]]\ Sin[\[Theta]s[t]] - 4\ l\^2\ M\ Sin[2\ \[Theta]ns[t]]\ Sin[2\ \[Theta]s[t]])\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "l", " ", \((\(-2\)\ l\^2\ M\ \((3\ M + 2\ Mp)\) + 2\ \((2\ M\^2 + 7\ M\ Mp + 4\ Mp\^2)\)\ w\^2 + \((l\^2\ \((3\ M + 2\ Mp)\)\ \((3\ M + 4\ Mp)\) + 4\ \((M - Mp)\)\ \((M + Mp)\)\ w\^2)\)\ Cos[ 2\ \[Theta]s[t]] + 2\ l\^2\ \((M + Mp)\)\ \((5\ M + 4\ Mp)\)\ Cos[ 4\ \[Theta]ns[t]]\ Cos[2\ \[Theta]s[t]] - 8\ l\^2\ M\ \((M + Mp)\)\ Cos[3\ \[Theta]ns[t]]\ Cos[ 3\ \[Theta]s[t]] + 8\ l\^2\ M\ Cos[\[Theta]ns[ t]]\ \((\((M - 2\ \((M + Mp)\)\ Cos[ 2\ \[Theta]ns[t]])\)\ Cos[\[Theta]s[ t]] - \((M + Mp)\)\ Cos[3\ \[Theta]s[t]])\) + Cos[2\ \[Theta]ns[t]]\ \((\(-l\^2\)\ M\ \((3\ M + 2\ Mp)\) + 4\ \((2\ M + Mp)\)\ \((M + 2\ Mp)\)\ w\^2 + 2\ \((M + Mp)\)\ \((2\ \((l\^2\ \((6\ M + 4\ Mp)\) + \((2\ M - Mp)\)\ w\^2)\)\ Cos[ 2\ \[Theta]s[t]] + l\^2\ M\ Cos[4\ \[Theta]s[t]])\))\) - 128\ l\^2\ M\ \((M + Mp)\)\ Cos[\[Theta]ns[t]]\^2\ Cos[\[Theta]s[t]]\^2\ \ Sin[\[Theta]ns[t]]\ Sin[\[Theta]s[t]] + 4\ \((M + Mp)\)\ \((l\^2\ \((6\ M + 4\ Mp)\) + \((2\ M - Mp)\)\ w\^2 + l\^2\ M\ Cos[2\ \[Theta]s[t]])\)\ Sin[ 2\ \[Theta]ns[t]]\ Sin[2\ \[Theta]s[t]] + 2\ l\^2\ \((M + Mp)\)\ \((5\ M + 4\ Mp)\)\ Sin[ 4\ \[Theta]ns[t]]\ Sin[2\ \[Theta]s[t]])\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "w", " ", \((32\ l\^2\ \((M + Mp)\)\^2\ Cos[\[Theta]ns[t]]\^2\ Cos[\ \[Theta]s[t]]\^2\ Sin[\[Theta]ns[ t]] + \((l\^2\ \((3\ M\^2 + 16\ M\ Mp + 8\ Mp\^2)\) + 4\ M\ \((4\ M + 3\ Mp)\)\ w\^2 + 2\ l\^2\ \((M + 2\ Mp)\)\ \((3\ M + 2\ Mp)\)\ Cos[ 2\ \[Theta]ns[t]])\)\ Cos[\[Theta]s[t]]\ Sin[ 2\ \[Theta]ns[t]] - l\^2\ M\^2\ Cos[3\ \[Theta]s[t]]\ Sin[ 2\ \[Theta]ns[ t]] + \((l\^2\ \((17\ M\^2 + 20\ M\ Mp + 4\ Mp\^2)\) + 8\ Mp\ \((M + Mp)\)\ w\^2 + \((l\^2\ M\ \((11\ M + 8\ Mp)\) + 4\ Mp\ \((3\ M + 2\ Mp)\)\ w\^2)\)\ Cos[ 2\ \[Theta]ns[t]] - l\^2\ \((M + 2\ Mp)\)\ \((3\ M + 2\ Mp)\)\ Cos[ 4\ \[Theta]ns[t]])\)\ Sin[\[Theta]s[t]] - 8\ l\^2\ \((M + Mp)\)\ Cos[\[Theta]ns[t]]\ \((4\ M + 3\ Mp + \((M + Mp)\)\ Cos[2\ \[Theta]ns[t]])\)\ Sin[ 2\ \[Theta]s[t]] + l\^2\ M\ \((4\ \((M + Mp)\) + M\ Cos[2\ \[Theta]ns[t]])\)\ Sin[3\ \[Theta]s[t]])\), " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}], "/", \((l\ \((2\ l\^2\ \((3\ M + 2\ Mp)\)\ \((3\ M + 4\ Mp)\) + 2\ \((2\ M\^2 + 7\ M\ Mp + 2\ Mp\^2)\)\ w\^2 + 2\ \((l\^2\ \((7\ M\^2 + 16\ M\ Mp + 8\ Mp\^2)\) + 2\ Mp\ \((2\ M + Mp)\)\ w\^2)\)\ Cos[2\ \[Theta]ns[t]] + 4\ l\^2\ M\^2\ Cos[\[Theta]ns[t] - 3\ \[Theta]s[t]] - M\ \((l\^2\ M\ Cos[2\ \((\[Theta]ns[t] - 2\ \[Theta]s[t])\)] + l\^2\ \((5\ M + 4\ Mp)\)\ Cos[ 4\ \[Theta]ns[t] - 2\ \[Theta]s[t]] - 4\ \((\(-2\)\ l\^2\ \((M + 2\ Mp)\)\ Cos[\[Theta]ns[t] - \[Theta]s[ t]] + \((\(-l\^2\)\ \((3\ M + 2\ Mp)\) + Mp\ w\^2)\)\ Cos[ 2\ \((\[Theta]ns[t] - \[Theta]s[t])\)] + l\^2\ M\ \((Cos[ 3\ \((\[Theta]ns[t] - \[Theta]s[t])\)] + Cos[3\ \[Theta]ns[t] - \[Theta]s[ t]])\))\))\) + 2\ M\ \((\(-l\^2\)\ M + 2\ \((M + 2\ Mp)\)\ w\^2)\)\ Cos[ 2\ \[Theta]s[t]] - 4\ l\^2\ M\ \((3\ M + 4\ Mp)\)\ Cos[\[Theta]ns[t] + \[Theta]s[ t]])\))\)}]], "Output"], Cell[BoxData[ RowBox[{"-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{\(-l\), " ", "M", " ", \((l\^2\ \((6\ M + 4\ Mp)\) + 2\ \((2\ M + Mp)\)\ w\^2 + l\^2\ \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]ns[t]] - 8\ l\^2\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + M\ \((l\^2 + 4\ w\^2)\)\ Cos[2\ \[Theta]s[t]])\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "l", " ", \((\(-16\)\ l\^2\ M\ \((M + 2\ Mp)\)\ Cos[\[Theta]ns[t]]\^2\ Cos[\[Theta]s[t]]\^2 \ + Cos[\[Theta]ns[t]]\ \((\((l\^2\ \((M + 2\ Mp)\)\ \((13\ M + 8\ Mp)\) + 4\ \((3\ M\^2 + 8\ M\ Mp + 2\ Mp\^2)\)\ w\^2 + 2\ l\^2\ \((M + 2\ Mp)\)\ \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]ns[t]])\)\ Cos[\[Theta]s[t]] + M\ \((l\^2\ \((M + 2\ Mp)\) + 4\ \((M + Mp)\)\ w\^2)\)\ Cos[ 3\ \[Theta]s[t]])\) + \((M + 2\ Mp)\)\ \((\((l\^2\ \((11\ M + 8\ Mp)\) + 4\ M\ w\^2 + 2\ l\^2\ \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]ns[t]])\)\ Sin[\[Theta]ns[ t]]\ Sin[\[Theta]s[t]] - 4\ l\^2\ M\ Sin[2\ \[Theta]ns[t]]\ Sin[ 2\ \[Theta]s[t]])\) + M\ \((l\^2\ \((M + 2\ Mp)\) + 4\ \((M + Mp)\)\ w\^2)\)\ Sin[\[Theta]ns[t]]\ Sin[ 3\ \[Theta]s[t]])\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{ "w", " ", \((\((l\^2\ \((M + 2\ Mp)\)\ \((3\ M + 2\ Mp)\) + 8\ M\ \((M + Mp)\)\ w\^2 - 2\ M\ \((2\ l\^2\ M - 2\ \((2\ M + Mp)\)\ w\^2 + l\^2\ M\ Cos[2\ \[Theta]ns[t]])\)\ Cos[ 2\ \[Theta]s[t]] - l\^2\ M\^2\ Cos[4\ \[Theta]s[t]])\)\ Sin[\[Theta]ns[ t]] + 4\ l\^2\ \((M + Mp)\)\ \((2\ Cos[\[Theta]s[t]]\ \((Mp + M\ Cos[2\ \[Theta]s[t]])\)\ Sin[ 2\ \[Theta]ns[t]] + \((M + Mp)\)\ Sin[ 3\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\^2\ Cos[\[Theta]s[t]]\^2\ \ Sin[\[Theta]s[t]])\) + 2\ M\ Cos[\[Theta]ns[t]]\ \((2\ \((l\^2\ M + Mp\ w\^2)\) + l\^2\ M\ \((Cos[2\ \[Theta]ns[t]] + Cos[2\ \[Theta]s[t]])\))\)\ Sin[ 2\ \[Theta]s[t]])\), " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}], "/", \((l\ \((\(-2\)\ l\^2\ \((3\ M + 2\ Mp)\)\ \((3\ M + 4\ Mp)\) - 2\ \((2\ M\^2 + 7\ M\ Mp + 2\ Mp\^2)\)\ w\^2 + Cos[2\ \[Theta]ns[ t]]\ \((\(-2\)\ l\^2\ \((7\ M\^2 + 16\ M\ Mp + 8\ Mp\^2)\) - 4\ Mp\ \((2\ M + Mp)\)\ w\^2 + l\^2\ M\^2\ Cos[4\ \[Theta]s[t]])\) + M\ \((8\ l\^2\ \((3\ M + 4\ Mp)\)\ Cos[\[Theta]ns[ t]]\ Cos[\[Theta]s[t]] - 4\ Cos[2\ \((\[Theta]ns[t] - \[Theta]s[ t])\)]\ \((\(-l\^2\)\ \((3\ M + 2\ Mp)\) + Mp\ w\^2 + 4\ l\^2\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]])\) + \((2\ l\^2\ M - 4\ \((M + 2\ Mp)\)\ w\^2 + l\^2\ \((5\ M + 4\ Mp)\)\ Cos[ 4\ \[Theta]ns[t]])\)\ Cos[2\ \[Theta]s[t]] + l\^2\ \((5\ M + 4\ Mp)\)\ Sin[4\ \[Theta]ns[t]]\ Sin[ 2\ \[Theta]s[t]] + l\^2\ M\ Sin[2\ \[Theta]ns[t]]\ Sin[ 4\ \[Theta]s[t]])\))\))\)}]}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["Hipless", "Subsubsection"], Cell[CellGroupData[{ Cell[BoxData[ \({phidotimpact, \ thetaNSdotimpact, \ thetaSdotimpact}\ /. w \[Rule] 0\ \ // FullSimplify\)], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ FractionBox[ RowBox[{\((\(-M\)\ Cos[2\ \[Theta]ns[t]] + 8\ \((M + Mp)\)\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] - M\ \((2 + Cos[2\ \[Theta]s[t]])\))\), " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], \(6\ M + 4\ Mp + \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + M\ Cos[2\ \[Theta]s[t]]\)], ",", FractionBox[ RowBox[{ RowBox[{ "2", " ", "M", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((M - 4\ \((M + Mp)\)\ Cos[ 2\ \((\[Theta]ns[t] - \[Theta]s[t])\)])\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], \(\(-3\)\ M - 4\ Mp + 2\ M\ Cos[2\ \((\[Theta]ns[t] - \[Theta]s[t])\)]\)], ",", FractionBox[ RowBox[{ RowBox[{"M", " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{ "2", " ", \((M + 2\ Mp)\), " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], \(\(-3\)\ M - 4\ Mp + 2\ M\ Cos[2\ \((\[Theta]ns[t] - \[Theta]s[t])\)]\)]}], "}"}]], "Output"] }, Open ]], Cell["\<\ The last two equations match the impact equations for the 2D-equivalent \ walker as derived by Bullo/Grizzle's method.\ \>", "Text"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Controlled Hipless Walking on Flat Ground (Static Coordinates)\ \>", "Section"], Cell[CellGroupData[{ Cell["Controlled Lagrangian", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[ \(PE\)], "Input"], Cell[BoxData[ \(1\/2\ g\ \((l\ \((\(-M\)\ Cos[\[Theta]ns[t]] + \((3\ M + 2\ Mp)\)\ Cos[\[Theta]s[t]])\)\ Cos[\[Phi][ t]] - \((2\ M + Mp)\)\ w\ Sin[\[Phi][t]])\)\)], "Output"] }, Open ]], Cell["Two-dimensional potential shaping for flat-ground walking:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(PE2Dgamma\ = \ PE\ /. {\[Phi][t] \[Rule] 0, \ \[Theta]ns[t] \[Rule] \[Theta]ns[t] - Beta, \ \[Theta]s[ t] -> \[Theta]s[t] - Beta}\)], "Input"], Cell[BoxData[ \(1\/2\ g\ l\ \((\(-M\)\ Cos[ Beta - \[Theta]ns[t]] + \((3\ M + 2\ Mp)\)\ Cos[ Beta - \[Theta]s[t]])\)\)], "Output"] }, Open ]], Cell["\<\ Three-dimensional potential shaping for flat-ground walking and lean \ compensation:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(PE3Dmu\ = \ PE2Dgamma\ - \ 1/2\ \((\(-c\)\ \[Phi][ t])\)^2/\((1\/8\ \((l\^2\ \((6\ M + 4\ Mp)\) + l\^2\ \((M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]s[t]])\))\))\)\ // FullSimplify\)], "Input"], Cell[BoxData[ \(1\/2\ g\ l\ \((\(-M\)\ Cos[ Beta - \[Theta]ns[t]] + \((3\ M + 2\ Mp)\)\ Cos[ Beta - \[Theta]s[ t]])\) - \(4\ c\^2\ \[Phi][t]\^2\)\/\(l\^2\ \((6\ M + 4\ \ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + \ \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]s[t]])\)\)\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(L3Dmu\ = \ KE - PE3Dmu\ /. w \[Rule] 0\)], "Input"], Cell[BoxData[ RowBox[{\(\(-\(1\/2\)\)\ g\ l\ \((\(-M\)\ Cos[ Beta - \[Theta]ns[t]] + \((3\ M + 2\ Mp)\)\ Cos[ Beta - \[Theta]s[t]])\)\), "+", \(\(4\ c\^2\ \[Phi][t]\^2\)\/\(l\^2\ \((6\ M + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]s[t]])\)\)\), "+", RowBox[{\(1\/16\), " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", \(l\^2\), " ", RowBox[{"(", RowBox[{ RowBox[{"M", " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "-", RowBox[{ "4", " ", "M", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((5\ M + 4\ Mp)\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}], "+", RowBox[{\((l\^2\ \((6\ M + 4\ Mp)\) + l\^2\ \((M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]s[t]])\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}]], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Controlled Equations of Motion", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[{ \(eq1\ = \ D[D[L3Dmu, \(\[Phi]'\)[t]], t]\ - \ D[L3Dmu, \[Phi][t]]\ // FullSimplify\), "\[IndentingNewLine]", \(eq2\ = \ D[D[L3Dmu, \(\[Theta]ns'\)[t]], t]\ - \ D[L3Dmu, \[Theta]ns[t]]\ // FullSimplify\), "\[IndentingNewLine]", \(eq3\ = \ D[D[L3Dmu, \(\[Theta]s'\)[t]], t]\ - \ D[L3Dmu, \[Theta]s[t]]\ // FullSimplify\)}], "Input"], Cell[BoxData[ RowBox[{\(1\/8\), " ", RowBox[{"(", RowBox[{\(-\(\(64\ c\^2\ \[Phi][ t]\)\/\(l\^2\ \((6\ M + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]s[t]])\)\)\)\), "+", RowBox[{\(l\^2\), " ", RowBox[{"(", RowBox[{ RowBox[{\(-4\), " ", RowBox[{"(", RowBox[{ RowBox[{ "M", " ", \((Cos[\[Theta]ns[t]] - 2\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]ns[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((\(-2\)\ M\ Cos[\[Theta]ns[t]] + \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}], " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((6\ M + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]s[t]])\), " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]}], ")"}]}]], "Output"], Cell[BoxData[ FractionBox[ RowBox[{"M", " ", RowBox[{"(", RowBox[{\(-\(\(64\ c\^2\ \((Cos[\[Theta]ns[t]] - 2\ Cos[\[Theta]s[t]])\)\ Sin[\[Theta]ns[ t]]\ \[Phi][t]\^2\)\/\((6\ M + 4\ Mp + M\ Cos[2\ \ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + \((5\ M + 4\ \ Mp)\)\ Cos[2\ \[Theta]s[t]])\)\^2\)\), "+", RowBox[{\(l\^3\), " ", RowBox[{"(", RowBox[{\(\(-2\)\ g\ Sin[Beta - \[Theta]ns[t]]\), "+", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{\(-2\), " ", \(Sin[\[Theta]ns[t] - \[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{\((Cos[\[Theta]ns[t]] - 2\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]ns[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}], "-", RowBox[{ "2", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]}], ")"}]}]}], ")"}]}], \(4\ l\^2\)]], "Output"], Cell[BoxData[ RowBox[{\(1\/16\), " ", RowBox[{"(", RowBox[{\(\(256\ c\^2\ \((2\ M\ Cos[\[Theta]ns[t]] - \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]])\)\ Sin[\[Theta]s[ t]]\ \[Phi][t]\^2\)\/\(l\^2\ \((6\ M + 4\ Mp + M\ Cos[2\ \ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + \((5\ M + 4\ \ Mp)\)\ Cos[2\ \[Theta]s[t]])\)\^2\)\), "+", RowBox[{"4", " ", "l", " ", RowBox[{"(", RowBox[{\(2\ g\ \((3\ M + 2\ Mp)\)\ Sin[Beta - \[Theta]s[t]]\), "+", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{ "2", " ", "M", " ", \(Sin[\[Theta]ns[t] - \[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{\((\(-2\)\ M\ Cos[\[Theta]ns[t]] + \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "-", RowBox[{ "2", " ", "M", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((5\ M + 4\ Mp)\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}]}], ")"}]}]}], ")"}]}]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(odes\ = \ Solve[{eq1\ \[Equal] \ 0, \ eq2 \[Equal] 0, \ eq3 \[Equal] 0}, \ {\(\[Phi]''\)[t], \ \(\[Theta]ns''\)[ t], \ \(\[Theta]s''\)[t]}]\ // FullSimplify\)], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}], "\[Rule]", RowBox[{ RowBox[{"(", RowBox[{\(\(-64\)\ c\^2\ \((Cos[\[Theta]ns[ t]]\ \((\((3\ M + 4\ Mp)\)\ Sin[\[Theta]ns[ t]] + 2\ M\ Sin[\[Theta]ns[t] - 2\ \[Theta]s[t]])\) - 2\ \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]]\^2\ Sin[\[Theta]ns[ t] - \[Theta]s[t]])\)\ \[Phi][t]\^2\), "+", RowBox[{\(l\^3\), " ", \(\((6\ M + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]s[t]])\)\^2\), " ", RowBox[{"(", RowBox[{\(\(-4\)\ g\ \((M + Mp)\)\ Sin[ Beta - \[Theta]ns[t]]\), "+", \(2\ g\ \((3\ M + 2\ Mp)\)\ Sin[ Beta + \[Theta]ns[t] - 2\ \[Theta]s[t]]\), "+", RowBox[{"l", " ", RowBox[{"(", RowBox[{ RowBox[{ "2", " ", "M", " ", \(Sin[ 2\ \((\[Theta]ns[t] - \[Theta]s[t])\)]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "-", RowBox[{ "2", " ", \((5\ M + 4\ Mp)\), " ", \(Sin[\[Theta]ns[t] - \[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}], "+", RowBox[{\((\(-2\)\ \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]]\^3\ Sin[\ \[Theta]ns[t]] + 2\ Mp\ Sin[2\ \[Theta]ns[t]] + Cos[\[Theta]ns[ t]]\ \((3\ M\ Sin[\[Theta]ns[t]] + 2\ M\ Sin[\[Theta]ns[t] - 2\ \[Theta]s[t]] + 2\ \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[t]]\^2\ Sin[\ \[Theta]s[t]])\))\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}], ")"}]}]}], ")"}], "/", \((l\^4\ \((\(-5\)\ M - 4\ Mp + 4\ M\ Cos[\[Theta]ns[t] - \[Theta]s[t]]\^2)\)\ \((6\ M \ + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ \ Cos[\[Theta]s[t]] + \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]s[t]])\)\^2)\)}]}], ",", RowBox[{ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}], "\[Rule]", RowBox[{ RowBox[{"(", RowBox[{\(\(-32\)\ c\^2\ \((4\ M\ Cos[\[Theta]ns[t]]\^2\ Sin[\ \[Theta]ns[t] - \[Theta]s[t]] - 4\ M\ Cos[\[Theta]s[t]]\ Sin[ 2\ \[Theta]ns[t] - \[Theta]s[t]] + \((3\ M + 4\ Mp)\)\ Sin[ 2\ \[Theta]s[t]])\)\ \[Phi][t]\^2\), "+", RowBox[{\(1\/2\), " ", \(l\^3\), " ", \(\((6\ M + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]s[t]])\)\^2\), " ", RowBox[{"(", RowBox[{\(8\ g\ \((M + Mp)\)\ Sin[ Beta - \[Theta]s[t]]\), "-", \(4\ g\ M\ Sin[ Beta - 2\ \[Theta]ns[t] + \[Theta]s[t]]\), "+", RowBox[{ "4", " ", "l", " ", "M", " ", \(Sin[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"], "-", RowBox[{ "2", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}], "+", RowBox[{ "l", " ", \((M\ Cos[\[Theta]s[ t]]\ \((Sin[\[Theta]ns[t]] + Sin[3\ \[Theta]ns[t]] - 4\ Sin[ 2\ \[Theta]ns[t] - \[Theta]s[t]])\) - 4\ M\ Cos[\[Theta]ns[t]]\^3\ Sin[\[Theta]s[ t]] + \((3\ M + 4\ Mp)\)\ Sin[ 2\ \[Theta]s[t]])\), " ", SuperscriptBox[ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "2"]}]}], ")"}]}]}], ")"}], "/", \((l\^4\ \((\(-5\)\ M - 4\ Mp + 4\ M\ Cos[\[Theta]ns[t] - \[Theta]s[t]]\^2)\)\ \((6\ M \ + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ \ Cos[\[Theta]s[t]] + \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]s[t]])\)\^2)\)}]}], ",", RowBox[{ RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]\[Prime]", MultilineFunction->None], "[", "t", "]"}], "\[Rule]", FractionBox[ RowBox[{"4", " ", RowBox[{"(", RowBox[{\(16\ c\^2\ \[Phi][t]\), "+", RowBox[{\(l\^4\), " ", \((6\ M + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]s[t]])\), " ", RowBox[{"(", RowBox[{ RowBox[{ "M", " ", \((Cos[\[Theta]ns[t]] - 2\ Cos[\[Theta]s[t]])\), " ", \(Sin[\[Theta]ns[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((\(-2\)\ M\ Cos[\[Theta]ns[ t]] + \((5\ M + 4\ Mp)\)\ Cos[\[Theta]s[ t]])\), " ", \(Sin[\[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}], " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], ")"}]}], \(l\^4\ \((6\ M + 4\ Mp + M\ Cos[2\ \[Theta]ns[t]] \ - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + \((5\ M + 4\ Mp)\)\ Cos[2\ \ \[Theta]s[t]])\)\^2\)]}]}], "}"}], "}"}]], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Conserved Quantity Relationship (Note: Initial Condition for \[Phi]dot)\ \>", "Subsection"], Cell["\<\ Conserved quantity \[Mu] is parameterized in terms of \[Phi] in order to \ implement lean compensation:\ \>", "Text"], Cell[BoxData[ \(\[Mu]\ = \ \(-c\)\ \[Phi][t]\)], "DisplayFormula"], Cell[BoxData[ \(\(\[Phi]'\)[ t]\ = \ \(\[Mu]/ m3D[\[Theta]]\ = \ \ \(-c\)\ \[Phi][ t]/\((1\/8\ \((l\^2\ \((6\ M + 4\ Mp)\) + l\^2\ \((M\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[ t]] + \((5\ M + 4\ Mp)\)\ Cos[ 2\ \[Theta]s[t]])\))\))\)\)\)], "DisplayFormula"] }, Open ]], Cell[CellGroupData[{ Cell["Collision Guard (Invariant of Control)", "Subsection"], Cell["\<\ Assuming \[Phi] \[Element] (-\[Pi]/2, \[Pi]/2), so as to disregard scaling \ factor Cos[\[Phi]] that will never bring height to zero, flat ground, and \ hipless:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(height\ \[Equal] \ 0\ /. {\[Phi][t] \[Rule] 0, w \[Rule] 0, gamma \[Rule] 0}\), "\[IndentingNewLine]", \(holonomicTraj\ < 0\ /. {\[Phi][t] \[Rule] 0, w \[Rule] 0, gamma \[Rule] 0}\)}], "Input"], Cell[BoxData[ \(l\ \((\(-Cos[\[Theta]ns[t]]\) + Cos[\[Theta]s[t]])\) \[Equal] 0\)], "Output"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"l", " ", \(Sin[\[Theta]ns[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{"l", " ", \(Sin[\[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], "<", "0"}]], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Impact Equations (Invariant of Control)", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[ \({phidotimpact, \ thetaNSdotimpact, \ thetaSdotimpact}\ /. w \[Rule] 0\ \ // FullSimplify\)], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ FractionBox[ RowBox[{\((\(-M\)\ Cos[2\ \[Theta]ns[t]] + 8\ \((M + Mp)\)\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] - M\ \((2 + Cos[2\ \[Theta]s[t]])\))\), " ", RowBox[{ SuperscriptBox["\[Phi]", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], \(6\ M + 4\ Mp + \((5\ M + 4\ Mp)\)\ Cos[2\ \[Theta]ns[t]] - 8\ M\ Cos[\[Theta]ns[t]]\ Cos[\[Theta]s[t]] + M\ Cos[2\ \[Theta]s[t]]\)], ",", FractionBox[ RowBox[{ RowBox[{ "2", " ", "M", " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "+", RowBox[{\((M - 4\ \((M + Mp)\)\ Cos[ 2\ \((\[Theta]ns[t] - \[Theta]s[t])\)])\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], \(\(-3\)\ M - 4\ Mp + 2\ M\ Cos[2\ \((\[Theta]ns[t] - \[Theta]s[t])\)]\)], ",", FractionBox[ RowBox[{ RowBox[{"M", " ", RowBox[{ SuperscriptBox["\[Theta]ns", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}], "-", RowBox[{ "2", " ", \((M + 2\ Mp)\), " ", \(Cos[\[Theta]ns[t] - \[Theta]s[t]]\), " ", RowBox[{ SuperscriptBox["\[Theta]s", "\[Prime]", MultilineFunction->None], "[", "t", "]"}]}]}], \(\(-3\)\ M - 4\ Mp + 2\ M\ Cos[2\ \((\[Theta]ns[t] - \[Theta]s[t])\)]\)]}], "}"}]], "Output"] }, Open ]] }, Open ]] }, Open ]] }, Open ]] }, FrontEndVersion->"5.1 for Microsoft Windows", ScreenRectangle->{{0, 1600}, {0, 975}}, WindowToolbars->{}, WindowSize->{1592, 948}, WindowMargins->{{0, Automatic}, {Automatic, 0}} ] (******************************************************************* Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. *******************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1776, 53, 123, 3, 150, "Title"], Cell[1902, 58, 36, 0, 51, "Subtitle"], Cell[1941, 60, 211, 6, 110, "Subsubtitle"], Cell[CellGroupData[{ Cell[2177, 70, 28, 0, 73, "Section"], Cell[2208, 72, 501, 10, 139, "DisplayFormula"], Cell[CellGroupData[{ Cell[2734, 86, 31, 0, 38, "Subsection"], Cell[2768, 88, 427, 8, 120, "DisplayFormula"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[3244, 102, 91, 2, 73, "Section"], Cell[CellGroupData[{ Cell[3360, 108, 41, 0, 38, "Subsection"], Cell[3404, 110, 132, 2, 50, "Input"], Cell[CellGroupData[{ Cell[3561, 116, 958, 18, 101, "Input"], Cell[4522, 136, 1260, 25, 87, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[5819, 166, 32, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[5876, 170, 72, 1, 30, "Input"], Cell[5951, 173, 894, 21, 87, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[6906, 201, 32, 0, 38, "Subsection"], Cell[CellGroupData[{ Cell[6963, 205, 128, 3, 30, "Input"], Cell[7094, 210, 2366, 52, 62, "Output"] }, Open ]], Cell[9475, 265, 238, 5, 42, "Input"], Cell[CellGroupData[{ Cell[9738, 274, 57, 1, 30, "Input"], Cell[9798, 277, 2685, 56, 96, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[12520, 338, 32, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[12577, 342, 78, 1, 30, "Input"], Cell[12658, 345, 1646, 35, 62, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[14365, 387, 41, 0, 38, "Subsection"], Cell[CellGroupData[{ Cell[14431, 391, 409, 9, 70, "Input"], Cell[14843, 402, 4508, 93, 100, "Output"], Cell[19354, 497, 2116, 47, 62, "Output"], Cell[21473, 546, 1630, 37, 42, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[23152, 589, 37, 0, 38, "Subsection"], Cell[CellGroupData[{ Cell[23214, 593, 199, 3, 42, "Input"], Cell[23416, 598, 183, 3, 42, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[23636, 606, 226, 4, 50, "Input"], Cell[23865, 612, 837, 20, 76, "Output"] }, Open ]], Cell[24717, 635, 71, 0, 33, "Text"], Cell[CellGroupData[{ Cell[24813, 639, 82, 1, 30, "Input"], Cell[24898, 642, 205, 4, 42, "Output"] }, Open ]], Cell[25118, 649, 89, 2, 33, "Text"], Cell[CellGroupData[{ Cell[25232, 655, 54, 1, 30, "Input"], Cell[25289, 658, 909, 22, 76, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[26247, 686, 38, 0, 38, "Subsection"], Cell[26288, 688, 130, 2, 30, "Input"], Cell[26421, 692, 18719, 318, 866, "Input"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[45189, 1016, 57, 0, 73, "Section"], Cell[45249, 1018, 63, 0, 33, "Text"], Cell[45315, 1020, 350, 6, 25, "DisplayFormula"], Cell[CellGroupData[{ Cell[45690, 1030, 31, 0, 38, "Subsection"], Cell[45724, 1032, 219, 3, 63, "DisplayFormula"] }, Open ]], Cell[CellGroupData[{ Cell[45980, 1040, 32, 0, 38, "Subsection"], Cell[46015, 1042, 166, 3, 50, "Input"], Cell[CellGroupData[{ Cell[46206, 1049, 403, 7, 30, "Input"], Cell[46612, 1058, 2374, 52, 62, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[49023, 1115, 407, 7, 30, "Input"], Cell[49433, 1124, 217, 3, 42, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[49687, 1132, 78, 1, 30, "Input"], Cell[49768, 1135, 1882, 40, 76, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[51687, 1180, 62, 1, 30, "Input"], Cell[51752, 1183, 1882, 40, 76, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[53683, 1229, 41, 0, 38, "Subsection"], Cell[CellGroupData[{ Cell[53749, 1233, 960, 17, 84, "Input"], Cell[54712, 1252, 1129, 22, 89, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[55878, 1279, 32, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[55935, 1283, 75, 1, 30, "Input"], Cell[56013, 1286, 856, 19, 89, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[56906, 1310, 332, 7, 30, "Input"], Cell[57241, 1319, 38, 1, 29, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[57340, 1327, 41, 0, 38, "Subsection"], Cell[CellGroupData[{ Cell[57406, 1331, 460, 10, 70, "Input"], Cell[57869, 1343, 1528, 32, 62, "Output"], Cell[59400, 1377, 1399, 31, 42, "Output"], Cell[60802, 1410, 1581, 35, 42, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[62420, 1450, 226, 4, 30, "Input"], Cell[62649, 1456, 7521, 151, 127, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[70207, 1612, 32, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[70264, 1616, 72, 1, 30, "Input"], Cell[70339, 1619, 6229, 127, 169, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[76629, 1753, 37, 0, 38, "Subsection"], Cell[CellGroupData[{ Cell[76691, 1757, 239, 5, 30, "Input"], Cell[76933, 1764, 214, 4, 29, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[77184, 1773, 336, 6, 50, "Input"], Cell[77523, 1781, 822, 19, 29, "Output"] }, Open ]], Cell[78360, 1803, 71, 0, 33, "Text"], Cell[CellGroupData[{ Cell[78456, 1807, 82, 1, 30, "Input"], Cell[78541, 1810, 231, 4, 29, "Output"] }, Open ]], Cell[78787, 1817, 89, 2, 33, "Text"], Cell[CellGroupData[{ Cell[78901, 1823, 54, 1, 30, "Input"], Cell[78958, 1826, 892, 21, 29, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[79887, 1852, 32, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[79944, 1856, 143, 2, 50, "Input"], Cell[80090, 1860, 202, 3, 29, "Output"], Cell[80295, 1865, 866, 21, 29, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[81222, 1893, 38, 0, 38, "Subsection"], Cell[81263, 1895, 146, 2, 30, "Input"], Cell[CellGroupData[{ Cell[81434, 1901, 1323, 21, 70, "Input"], Cell[82760, 1924, 3358, 65, 125, "Output"], Cell[86121, 1991, 5916, 108, 220, "Output"], Cell[92040, 2101, 4462, 78, 144, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[96539, 2184, 32, 0, 29, "Subsubsection"], Cell[CellGroupData[{ Cell[96596, 2188, 132, 2, 30, "Input"], Cell[96731, 2192, 1894, 44, 44, "Output"] }, Open ]], Cell[98640, 2239, 142, 3, 33, "Text"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[98843, 2249, 89, 2, 73, "Section"], Cell[CellGroupData[{ Cell[98957, 2255, 43, 0, 38, "Subsection"], Cell[CellGroupData[{ Cell[99025, 2259, 35, 1, 30, "Input"], Cell[99063, 2262, 217, 3, 42, "Output"] }, Open ]], Cell[99295, 2268, 74, 0, 33, "Text"], Cell[CellGroupData[{ Cell[99394, 2272, 198, 4, 30, "Input"], Cell[99595, 2278, 162, 3, 42, "Output"] }, Open ]], Cell[99772, 2284, 108, 3, 33, "Text"], Cell[CellGroupData[{ Cell[99905, 2291, 451, 9, 42, "Input"], Cell[100359, 2302, 365, 6, 47, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[100761, 2313, 73, 1, 30, "Input"], Cell[100837, 2316, 2141, 45, 81, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[103027, 2367, 52, 0, 38, "Subsection"], Cell[CellGroupData[{ Cell[103104, 2371, 417, 9, 70, "Input"], Cell[103524, 2382, 1975, 40, 83, "Output"], Cell[105502, 2424, 2112, 42, 57, "Output"], Cell[107617, 2468, 2219, 44, 83, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[109873, 2517, 226, 4, 30, "Input"], Cell[110102, 2523, 9199, 174, 238, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[119350, 2703, 101, 2, 38, "Subsection"], Cell[119454, 2707, 127, 3, 33, "Text"], Cell[119584, 2712, 71, 1, 25, "DisplayFormula"], Cell[119658, 2715, 430, 8, 38, "DisplayFormula"] }, Open ]], Cell[CellGroupData[{ Cell[120125, 2728, 60, 0, 38, "Subsection"], Cell[120188, 2730, 185, 4, 33, "Text"], Cell[CellGroupData[{ Cell[120398, 2738, 241, 4, 50, "Input"], Cell[120642, 2744, 104, 2, 29, "Output"], Cell[120749, 2748, 451, 11, 29, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[121249, 2765, 61, 0, 38, "Subsection"], Cell[CellGroupData[{ Cell[121335, 2769, 132, 2, 30, "Input"], Cell[121470, 2773, 1894, 44, 44, "Output"] }, Open ]] }, Open ]] }, Open ]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)