-
-
Save keshuaixu/406243097dc742dec467 to your computer and use it in GitHub Desktop.
Elephant Script
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <root> | |
| <mobilebase> | |
| <driveType>walking</driveType> | |
| <cadEngine> | |
| <gist>bcb4760a449190206170</gist> | |
| <file>ThreeDPrintCad.groovy</file> | |
| </cadEngine> | |
| <driveEngine> | |
| <gist>aef13d65093951d13235</gist> | |
| <file>ElephantDriveEngine.groovy</file> | |
| </driveEngine> | |
| <name>Elephant</name> | |
| <leg> | |
| <name>Elephant_One</name> | |
| <cadEngine> | |
| <gist>bcb4760a449190206170</gist> | |
| <file>ThreeDPrintCad.groovy</file> | |
| </cadEngine> | |
| <kinematics> | |
| <gist>bcb4760a449190206170</gist> | |
| <file>DefaultDhSolver.groovy</file> | |
| </kinematics> | |
| <link> | |
| <name>basePan</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>0</index> | |
| <scale>0.435</scale> | |
| <upperLimit>152.83582089552237</upperLimit> | |
| <lowerLimit>100.48507462686568</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>128.0</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>0.0</Theta> | |
| <Radius>220.0</Radius> | |
| <Alpha>-90.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <link> | |
| <name>baseTilt</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>1</index> | |
| <scale>0.435</scale> | |
| <upperLimit>137.01492537313433</upperLimit> | |
| <lowerLimit>30.44776119402985</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>128.0</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>0.0</Theta> | |
| <Radius>300.0</Radius> | |
| <Alpha>180.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <link> | |
| <name>elbow</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>2</index> | |
| <scale>-0.435</scale> | |
| <upperLimit>255.0</upperLimit> | |
| <lowerLimit>0.0</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>138.9179104477612</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>-90.0</Theta> | |
| <Radius>300.0</Radius> | |
| <Alpha>0.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <ZframeToRAS | |
| > <x>0.0</x> | |
| <y>0.0</y> | |
| <z>0.0</z> | |
| <rotw>1.0</rotw> | |
| <rotx>0.0</rotx> | |
| <roty>0.0</roty> | |
| <rotz>0.0</rotz> | |
| </ZframeToRAS> | |
| <baseToZframe> | |
| <x>-860.0</x> | |
| <y>-105.0</y> | |
| <z>590.0</z> | |
| <rotw>0.7071067811865476</rotw> | |
| <rotx>0.0</rotx> | |
| <roty>0.7071067811865475</roty> | |
| <rotz>0.0</rotz> | |
| </baseToZframe> | |
| </leg> | |
| <leg> | |
| <name>Elephant_Two</name> | |
| <cadEngine> | |
| <gist>bcb4760a449190206170</gist> | |
| <file>ThreeDPrintCad.groovy</file> | |
| </cadEngine> | |
| <kinematics> | |
| <gist>bcb4760a449190206170</gist> | |
| <file>DefaultDhSolver.groovy</file> | |
| </kinematics> | |
| <link> | |
| <name>basePan</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>3</index> | |
| <scale>0.435</scale> | |
| <upperLimit>147.12686567164178</upperLimit> | |
| <lowerLimit>108.09701492537313</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>128.0</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>0.0</Theta> | |
| <Radius>220.0</Radius> | |
| <Alpha>-90.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <link> | |
| <name>baseTilt</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>4</index> | |
| <scale>-0.435</scale> | |
| <upperLimit>232.1641791044776</upperLimit> | |
| <lowerLimit>117.98507462686567</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>128.0</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>0.0</Theta> | |
| <Radius>300.0</Radius> | |
| <Alpha>180.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <link> | |
| <name>elbow</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>5</index> | |
| <scale>-0.435</scale> | |
| <upperLimit>255.0</upperLimit> | |
| <lowerLimit>0.0</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>128.0</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>-90.0</Theta> | |
| <Radius>300.0</Radius> | |
| <Alpha>0.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <ZframeToRAS | |
| > <x>0.0</x> | |
| <y>0.0</y> | |
| <z>0.0</z> | |
| <rotw>1.0</rotw> | |
| <rotx>0.0</rotx> | |
| <roty>0.0</roty> | |
| <rotz>0.0</rotz> | |
| </ZframeToRAS> | |
| <baseToZframe> | |
| <x>-510.0</x> | |
| <y>-105.0</y> | |
| <z>590.0</z> | |
| <rotw>0.706489444943837</rotw> | |
| <rotx>0.0</rotx> | |
| <roty>0.7077235789366842</roty> | |
| <rotz>0.0</rotz> | |
| </baseToZframe> | |
| </leg> | |
| <leg> | |
| <name>Elephant_Three</name> | |
| <cadEngine> | |
| <gist>bcb4760a449190206170</gist> | |
| <file>ThreeDPrintCad.groovy</file> | |
| </cadEngine> | |
| <kinematics> | |
| <gist>bcb4760a449190206170</gist> | |
| <file>DefaultDhSolver.groovy</file> | |
| </kinematics> | |
| <link> | |
| <name>basePan</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>6</index> | |
| <scale>0.435</scale> | |
| <upperLimit>147.12686567164178</upperLimit> | |
| <lowerLimit>108.09701492537313</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>128.0</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>0.0</Theta> | |
| <Radius>220.0</Radius> | |
| <Alpha>-90.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <link> | |
| <name>baseTilt</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>7</index> | |
| <scale>-0.435</scale> | |
| <upperLimit>234.06716417910448</upperLimit> | |
| <lowerLimit>127.0</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>128.0</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>0.0</Theta> | |
| <Radius>300.0</Radius> | |
| <Alpha>180.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <link> | |
| <name>elbow</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>8</index> | |
| <scale>-0.435</scale> | |
| <upperLimit>255.0</upperLimit> | |
| <lowerLimit>0.0</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>128.0</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>-90.0</Theta> | |
| <Radius>300.0</Radius> | |
| <Alpha>0.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <ZframeToRAS | |
| > <x>0.0</x> | |
| <y>0.0</y> | |
| <z>0.0</z> | |
| <rotw>1.0</rotw> | |
| <rotx>0.0</rotx> | |
| <roty>0.0</roty> | |
| <rotz>0.0</rotz> | |
| </ZframeToRAS> | |
| <baseToZframe> | |
| <x>-510.0</x> | |
| <y>105.0</y> | |
| <z>590.0</z> | |
| <rotw>0.706489444943837</rotw> | |
| <rotx>0.0</rotx> | |
| <roty>0.7077235789366842</roty> | |
| <rotz>0.0</rotz> | |
| </baseToZframe> | |
| </leg> | |
| <leg> | |
| <name>Elephant_Four</name> | |
| <cadEngine> | |
| <gist>bcb4760a449190206170</gist> | |
| <file>ThreeDPrintCad.groovy</file> | |
| </cadEngine> | |
| <kinematics> | |
| <gist>bcb4760a449190206170</gist> | |
| <file>DefaultDhSolver.groovy</file> | |
| </kinematics> | |
| <link> | |
| <name>basePan</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>9</index> | |
| <scale>0.435</scale> | |
| <upperLimit>154.73880597014923</upperLimit> | |
| <lowerLimit>108.09701492537313</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>128.0</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>0.0</Theta> | |
| <Radius>220.0</Radius> | |
| <Alpha>-90.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <link> | |
| <name>baseTilt</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>10</index> | |
| <scale>-0.435</scale> | |
| <upperLimit>232.1641791044776</upperLimit> | |
| <lowerLimit>107.97014925373135</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>128.0</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>0.0</Theta> | |
| <Radius>300.0</Radius> | |
| <Alpha>180.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <link> | |
| <name>elbow</name> | |
| <deviceName>dyio</deviceName> | |
| <type>servo-rotory</type> | |
| <index>11</index> | |
| <scale>-0.435</scale> | |
| <upperLimit>255.0</upperLimit> | |
| <lowerLimit>0.0</lowerLimit> | |
| <upperVelocity>1.0E8</upperVelocity> | |
| <lowerVelocity>-1.0E8</lowerVelocity> | |
| <staticOffset>128.0</staticOffset> | |
| <isLatch>true</isLatch> | |
| <indexLatch>128</indexLatch> | |
| <isStopOnLatch>false</isStopOnLatch> | |
| <homingTPS>10000000</homingTPS> | |
| <DHParameters> | |
| <Delta>0.0</Delta> | |
| <Theta>-90.0</Theta> | |
| <Radius>300.0</Radius> | |
| <Alpha>0.0</Alpha> | |
| </DHParameters> | |
| </link> | |
| <ZframeToRAS | |
| > <x>0.0</x> | |
| <y>0.0</y> | |
| <z>0.0</z> | |
| <rotw>1.0</rotw> | |
| <rotx>0.0</rotx> | |
| <roty>0.0</roty> | |
| <rotz>0.0</rotz> | |
| </ZframeToRAS> | |
| <baseToZframe> | |
| <x>-860.0</x> | |
| <y>105.0</y> | |
| <z>590.0</z> | |
| <rotw>0.7071067811865476</rotw> | |
| <rotx>0.0</rotx> | |
| <roty>0.7071067811865475</roty> | |
| <rotz>0.0</rotz> | |
| </baseToZframe> | |
| </leg> | |
| <ZframeToRAS> | |
| <x>0.0</x> | |
| <y>0.0</y> | |
| <z>0.0</z> | |
| <rotw>1.0</rotw> | |
| <rotx>0.0</rotx> | |
| <roty>0.0</roty> | |
| <rotz>0.0</rotz> | |
| </ZframeToRAS> | |
| <baseToZframe> | |
| <x>0.0</x> | |
| <y>0.0</y> | |
| <z>0.0</z> | |
| <rotw>1.0</rotw> | |
| <rotx>0.0</rotx> | |
| <roty>0.0</roty> | |
| <rotz>0.0</rotz> | |
| </baseToZframe> | |
| </mobilebase> | |
| </root> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import java.time.Duration; | |
| import java.util.ArrayList; | |
| import javafx.application.Platform; | |
| import org.reactfx.util.FxTimer; | |
| import com.neuronrobotics.sdk.addons.kinematics.DHParameterKinematics; | |
| import com.neuronrobotics.sdk.addons.kinematics.MobileBase; | |
| import com.neuronrobotics.sdk.addons.kinematics.math.RotationNR; | |
| import com.neuronrobotics.sdk.addons.kinematics.math.TransformNR; | |
| import com.neuronrobotics.sdk.util.ThreadUtil; | |
| import com.neuronrobotics.sdk.addons.kinematics.IDriveEngine; | |
| double stepOverHeight=30; | |
| long stepOverTime=1000; | |
| Double zLock=-120; | |
| Closure calcHome = { DHParameterKinematics leg -> | |
| TransformNR tr = leg.forwardOffset(new TransformNR()) | |
| tr.setZ(zLock) | |
| return tr; | |
| } | |
| ArrayList<Object> args = new ArrayList<Object>(); | |
| args.add(stepOverHeight) | |
| args.add(stepOverTime) | |
| args.add(zLock) | |
| args.add(calcHome) | |
| return ScriptingEngine.inlineGistScriptRun("bcb4760a449190206170", "GenericWalkingEngine.groovy" , args); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment