You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

15570 line
453KB

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Document>
  3. <Model version="4.8" build="4.8.2.10124">
  4. <Sidops><![CDATA[model 128 184
  5. description '<Information>
  6. <Description>
  7. <Version>4.8</Version>
  8. <IsMainModel>0</IsMainModel>
  9. <KeepParameterValues>False</KeepParameterValues>
  10. <LibraryPath>C:\users\wouter\My Documents\studie\ma\mahd\implementation\SCARA\07_marker_height\arm_model.emx</LibraryPath>
  11. <TimeStamp>2020-7-27 16:14:10</TimeStamp>
  12. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  13. </Description>
  14. </Information>';
  15. type 'Mainmodel-v2'
  16. end;
  17. implementation bg
  18. submodels
  19. Body1 472 336
  20. description '<Description><Version>4.0</Version>
  21. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  22. <IsMainModel>1</IsMainModel>
  23. <KeepParameterValues>False</KeepParameterValues>
  24. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  25. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  26. </Description>';
  27. type 'Submodel-Equation'
  28. ports
  29. signal in input [4,4];
  30. end;
  31. implementation eq
  32. parameters
  33. real dimension[3] = [0.0048;0.009;0.065] {m};
  34. variables
  35. real position[3];
  36. real rotation[3];
  37. real R[3,3];
  38. equations
  39. position = input[1:3,4];
  40. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  41. //[input[3,2];input[1,3];input[2,1]];
  42. R = input[1:3,1:3];implementation_end;
  43. Body2 360 512
  44. description '<Description><Version>4.0</Version>
  45. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  46. <IsMainModel>1</IsMainModel>
  47. <KeepParameterValues>False</KeepParameterValues>
  48. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  49. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  50. </Description>';
  51. type 'Submodel-Equation'
  52. ports
  53. signal in input [4,4];
  54. end;
  55. implementation eq
  56. parameters
  57. real dimension[3] = [0.005;0.025;0.01] {m};
  58. variables
  59. real position[3];
  60. real rotation[3];
  61. real R[3,3];
  62. equations
  63. position = input[1:3,4];
  64. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  65. //[input[3,2];input[1,3];input[2,1]];
  66. R = input[1:3,1:3];implementation_end;
  67. Body3 104 312
  68. description '<Description><Version>4.0</Version>
  69. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  70. <IsMainModel>1</IsMainModel>
  71. <KeepParameterValues>False</KeepParameterValues>
  72. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  73. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  74. </Description>';
  75. type 'Submodel-Equation'
  76. ports
  77. signal in input [4,4];
  78. end;
  79. implementation eq
  80. parameters
  81. real dimension[3] = [0.0045;0.01;0.065] {m};
  82. variables
  83. real position[3];
  84. real rotation[3];
  85. real R[3,3];
  86. equations
  87. position = input[1:3,4];
  88. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  89. //[input[3,2];input[1,3];input[2,1]];
  90. R = input[1:3,1:3];implementation_end;
  91. Body4 480 64
  92. description '<Description><Version>4.0</Version>
  93. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  94. <IsMainModel>1</IsMainModel>
  95. <KeepParameterValues>False</KeepParameterValues>
  96. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  97. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  98. </Description>';
  99. type 'Submodel-Equation'
  100. ports
  101. signal in input [4,4];
  102. end;
  103. implementation eq
  104. parameters
  105. real dimension[3] = [0.005;0.05;0.01] {m};
  106. variables
  107. real position[3];
  108. real rotation[3];
  109. real R[3,3];
  110. equations
  111. position = input[1:3,4];
  112. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  113. //[input[3,2];input[1,3];input[2,1]];
  114. R = input[1:3,1:3];implementation_end;
  115. Body5 992 48
  116. description '<Description><Version>4.0</Version>
  117. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  118. <IsMainModel>1</IsMainModel>
  119. <KeepParameterValues>False</KeepParameterValues>
  120. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  121. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  122. </Description>';
  123. type 'Submodel-Equation'
  124. ports
  125. signal in input [4,4];
  126. end;
  127. implementation eq
  128. parameters
  129. real dimension[3] = [0.005;0.025;0.01] {m};
  130. variables
  131. real position[3];
  132. real rotation[3];
  133. real R[3,3];
  134. equations
  135. position = input[1:3,4];
  136. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  137. //[input[3,2];input[1,3];input[2,1]];
  138. R = input[1:3,1:3];implementation_end;
  139. Body6 1416 184
  140. description '<Description><Version>4.0</Version>
  141. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  142. <IsMainModel>1</IsMainModel>
  143. <KeepParameterValues>False</KeepParameterValues>
  144. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  145. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  146. </Description>';
  147. type 'Submodel-Equation'
  148. ports
  149. signal in input [4,4];
  150. end;
  151. implementation eq
  152. parameters
  153. real dimension[3] = [0.005;0.025;0.01] {m};
  154. variables
  155. real position[3];
  156. real rotation[3];
  157. real R[3,3];
  158. equations
  159. position = input[1:3,4];
  160. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  161. //[input[3,2];input[1,3];input[2,1]];
  162. R = input[1:3,1:3];implementation_end;
  163. COM_body1 624 352
  164. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  165. real I [3,1] = [1.6399999999999998e-6; 4.7e-8; 1.61e-6] {N.m.s};
  166. real m = 0.00455 {kg};</GlobalRelations></Attributes></Information>';
  167. type Submodel
  168. ports
  169. signal in Hin [4,4];
  170. signal out Hout [4,4];
  171. power out p [6,1];
  172. end;
  173. icon bg bottom
  174. figures
  175. rectangle 608 320 640 384 color 0 fill 139;
  176. text 'COM' 624 352 color 0 'Clear Sans' 16;
  177. terminals
  178. Hin 608 336 fixed;
  179. p 608 368 fixed;
  180. end;
  181. implementation bg
  182. submodels
  183. AdHi0 544 400
  184. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  185. type MTF
  186. ports
  187. power in p1 [6,1];
  188. power out p2 [6,1];
  189. signal in H [4,4];
  190. restrictions
  191. causality constraint not_equal p1 p2;
  192. end;
  193. icon bg left
  194. figures
  195. text 'MTF' 544 400 color 0 18 bold;
  196. end;
  197. implementation eq
  198. variables
  199. real onlyRotH[4,4];
  200. code
  201. //Only rotations with respect to the inertial system matter!
  202. onlyRotH = H;
  203. onlyRotH[1,4] = 0;
  204. onlyRotH[2,4] = 0;
  205. onlyRotH[3,4] = 0;
  206. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  207. p1.f = Adjoint(onlyRotH) * p2.f;
  208. implementation_end;
  209. EJS 616 336
  210. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  211. type MGY
  212. ports
  213. power in p1 [6,1];
  214. end;
  215. icon bg top
  216. figures
  217. text 'MGY' 616 336 color 0 18 bold;
  218. end;
  219. implementation eq
  220. //EJS / Gyroscopic effects
  221. parameters
  222. real global I[3];
  223. real global m;
  224. variables
  225. real II[6,6]; //Inertial tensor
  226. real Q[6,6];
  227. real QI[6,6];
  228. real Ia[6];
  229. initialequations
  230. Ia[1:3] = I;
  231. Ia[4:6] = m;
  232. II = diag(Ia);
  233. equations
  234. Q = transpose(adjoint(p1.f));
  235. QI = Q*II;
  236. p1.e = QI*p1.f;implementation_end;
  237. Gravity 624 400
  238. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  239. type Se
  240. ports
  241. power out p [6,1];
  242. restrictions
  243. causality fixed out p;
  244. end;
  245. icon bg bottom
  246. figures
  247. text 'Se' 624 400 color 0 18 bold;
  248. end;
  249. implementation eq
  250. parameters
  251. real global m;
  252. variables
  253. real effort[6];
  254. equations
  255. effort = [0;0;0;0;0;-g_n*m];
  256. p.e = effort;
  257. implementation_end;
  258. InertialTensor 544 272
  259. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  260. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  261. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  262. </Description>';
  263. type 'I-3'
  264. ports
  265. power in p [6,1];
  266. signal out state [6,1];
  267. restrictions
  268. causality preferred in p;
  269. end;
  270. icon bg bottom
  271. figures
  272. text 'I' 544 272 color 0 18 bold;
  273. end;
  274. implementation eq
  275. parameters
  276. real global I[3];
  277. real global m;
  278. variables
  279. real II[6,6]; //Inertial tensor
  280. real Ia[6];
  281. initialequations
  282. Ia[1:3] = I;
  283. Ia[4:6] = m;
  284. II = diag(Ia);
  285. equations
  286. state = int(p.e); //state = generalized momentum
  287. p.f = inverse(II)*state;
  288. implementation_end;
  289. plug Hin 433.4 496;
  290. plug Hout 691.2 496;
  291. plug p 439.4 336;
  292. Splitter1 544 496
  293. description '<Description><Version>4.0</Version>
  294. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  295. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  296. <IsMainModel>1</IsMainModel>
  297. <KeepParameterValues>False</KeepParameterValues>
  298. </Description>';
  299. knot Splitter
  300. ports
  301. signal knot duplicatable out output [4,4];
  302. signal knot in input [4,4];
  303. end;
  304. icon bg ellipse
  305. figures
  306. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  307. ellipse 539.7 491.7 548.3 500.3 color -1;
  308. terminals
  309. input 544 496 fixed;
  310. end;
  311. implementation eq
  312. equations
  313. collect (output) = input;
  314. implementation_end;
  315. Ta0j 544 336
  316. description '<Description>
  317. <Version>4.0</Version>
  318. <IsMainModel>1</IsMainModel>
  319. <KeepParameterValues>False</KeepParameterValues>
  320. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  321. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  322. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  323. <Description></Description>
  324. </Description>';
  325. knot OneJunction
  326. ports
  327. power knot duplicatable none p [6,1];
  328. signal knot out flow [6,1];
  329. restrictions
  330. causality constraint one_out p;
  331. end;
  332. icon bg bottom
  333. figures
  334. text '1' 544 336 color 0 18 bold;
  335. end;
  336. implementation eq
  337. equations
  338. sum (direct (p.e)) = 0;
  339. equal (collect (p.f));
  340. flow = first (p.f);
  341. implementation_end;
  342. ZeroJunction1 504 336
  343. description '<Information>
  344. <Description>
  345. <Version>4.2</Version>
  346. <IsMainModel>1</IsMainModel>
  347. <KeepParameterValues>False</KeepParameterValues>
  348. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  349. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  350. </Description>
  351. </Information>';
  352. knot ZeroJunction
  353. ports
  354. power knot duplicatable none p [6,1];
  355. signal knot out effort [6,1];
  356. restrictions
  357. causality constraint one_in p;
  358. end;
  359. icon bg
  360. figures
  361. text '0' 504 336 color 0 18 bold;
  362. end;
  363. implementation eq
  364. equations
  365. sum (direct (p.f)) = 0;
  366. equal (collect (p.e));
  367. effort = first (p.e);
  368. implementation_end;
  369. end;
  370. connections
  371. AdHi0\p2 => Ta0j\p;
  372. Gravity\p => AdHi0\p1;
  373. Hin -> Splitter1\input;
  374. Splitter1\output -> AdHi0\H;
  375. Splitter1\output -> Hout;
  376. Ta0j\p => EJS\p1;
  377. Ta0j\p => InertialTensor\p;
  378. ZeroJunction1\p => p;
  379. ZeroJunction1\p => Ta0j\p;
  380. end;
  381. implementation_end;
  382. COM_body2 344 672
  383. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  384. real density = 1400 {kg/m3};
  385. real dimension[3] = [0.005;0.025;0.01] {m};
  386. variables
  387. real I[3,1] {N.m.s};
  388. real m {kg};
  389. initialequations
  390. m = dimension[1] * dimension[2] * dimension[3] * density;
  391. I[1] = m/12 * ( dimension[2]^2 + dimension[3]^2);
  392. I[2] = m/12 * ( dimension[1]^2 + dimension[3]^2);
  393. I[3] = m/12 * ( dimension[1]^2 + dimension[2]^2);</GlobalRelations></Attributes></Information>';
  394. type Submodel
  395. ports
  396. signal in Hin [4,4];
  397. signal out Hout [4,4];
  398. power out p [6,1];
  399. end;
  400. icon bg bottom
  401. figures
  402. rectangle 312 656 376 688 color 0 fill 139;
  403. text 'COM' 344 672 color 0 'Clear Sans' 16;
  404. terminals
  405. Hin 360 656 fixed;
  406. p 328 656 fixed;
  407. end;
  408. implementation bg
  409. submodels
  410. AdHi0 544 400
  411. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  412. type MTF
  413. ports
  414. power in p1 [6,1];
  415. power out p2 [6,1];
  416. signal in H [4,4];
  417. restrictions
  418. causality constraint not_equal p1 p2;
  419. end;
  420. icon bg left
  421. figures
  422. text 'MTF' 544 400 color 0 18 bold;
  423. end;
  424. implementation eq
  425. variables
  426. real onlyRotH[4,4];
  427. code
  428. //Only rotations with respect to the inertial system matter!
  429. onlyRotH = H;
  430. onlyRotH[1,4] = 0;
  431. onlyRotH[2,4] = 0;
  432. onlyRotH[3,4] = 0;
  433. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  434. p1.f = Adjoint(onlyRotH) * p2.f;
  435. implementation_end;
  436. EJS 624 336
  437. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  438. type MGY
  439. ports
  440. power in p1 [6,1];
  441. end;
  442. icon bg top
  443. figures
  444. text 'MGY' 624 336 color 0 18 bold;
  445. end;
  446. implementation eq
  447. //EJS / Gyroscopic effects
  448. variables
  449. real global I[3];
  450. real global m;
  451. real II[6,6]; //Inertial tensor
  452. real Q[6,6];
  453. real QI[6,6];
  454. real Ia[6];
  455. initialequations
  456. Ia[1:3] = I;
  457. Ia[4:6] = m;
  458. II = diag(Ia);
  459. equations
  460. Q = transpose(adjoint(p1.f));
  461. QI = Q*II;
  462. p1.e = QI*p1.f;implementation_end;
  463. Gravity 624 400
  464. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  465. type Se
  466. ports
  467. power out p [6,1];
  468. restrictions
  469. causality fixed out p;
  470. end;
  471. icon bg bottom
  472. figures
  473. text 'Se' 624 400 color 0 18 bold;
  474. end;
  475. implementation eq
  476. variables
  477. real global m;
  478. real effort[6];
  479. equations
  480. effort = [0;0;0;0;0;-g_n*m];
  481. p.e = effort;
  482. implementation_end;
  483. InertialTensor 544 256
  484. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  485. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  486. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  487. </Description>';
  488. type 'I-3'
  489. ports
  490. power in p [6,1];
  491. signal out state [6,1];
  492. restrictions
  493. causality preferred in p;
  494. end;
  495. icon bg bottom
  496. figures
  497. text 'I' 544 256 color 0 18 bold;
  498. end;
  499. implementation eq
  500. variables
  501. real global I[3];
  502. real global m;
  503. real II[6,6]; //Inertial tensor
  504. real Ia[6];
  505. initialequations
  506. Ia[1:3] = I;
  507. Ia[4:6] = m;
  508. II = diag(Ia);
  509. equations
  510. state = int(p.e); //state = generalized momentum
  511. p.f = inverse(II)*state;
  512. implementation_end;
  513. plug Hin 433.4 496;
  514. plug Hout 691.2 496;
  515. plug p 439.4 336;
  516. Splitter1 544 496
  517. description '<Description><Version>4.0</Version>
  518. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  519. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  520. <IsMainModel>1</IsMainModel>
  521. <KeepParameterValues>False</KeepParameterValues>
  522. </Description>';
  523. knot Splitter
  524. ports
  525. signal knot duplicatable out output [4,4];
  526. signal knot in input [4,4];
  527. end;
  528. icon bg ellipse
  529. figures
  530. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  531. ellipse 539.7 491.7 548.3 500.3 color -1;
  532. terminals
  533. input 544 496 fixed;
  534. end;
  535. implementation eq
  536. equations
  537. collect (output) = input;
  538. implementation_end;
  539. Ta0j 544 336
  540. description '<Description>
  541. <Version>4.0</Version>
  542. <IsMainModel>1</IsMainModel>
  543. <KeepParameterValues>False</KeepParameterValues>
  544. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  545. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  546. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  547. <Description></Description>
  548. </Description>';
  549. knot OneJunction
  550. ports
  551. power knot duplicatable none p [6,1];
  552. signal knot out flow [6,1];
  553. restrictions
  554. causality constraint one_out p;
  555. end;
  556. icon bg bottom
  557. figures
  558. text '1' 544 336 color 0 18 bold;
  559. end;
  560. implementation eq
  561. equations
  562. sum (direct (p.e)) = 0;
  563. equal (collect (p.f));
  564. flow = first (p.f);
  565. implementation_end;
  566. ZeroJunction1 504 336
  567. description '<Information>
  568. <Description>
  569. <Version>4.2</Version>
  570. <IsMainModel>1</IsMainModel>
  571. <KeepParameterValues>False</KeepParameterValues>
  572. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  573. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  574. </Description>
  575. </Information>';
  576. knot ZeroJunction
  577. ports
  578. power knot duplicatable none p [6,1];
  579. signal knot out effort [6,1];
  580. restrictions
  581. causality constraint one_in p;
  582. end;
  583. icon bg
  584. figures
  585. text '0' 504 336 color 0 18 bold;
  586. end;
  587. implementation eq
  588. equations
  589. sum (direct (p.f)) = 0;
  590. equal (collect (p.e));
  591. effort = first (p.e);
  592. implementation_end;
  593. end;
  594. connections
  595. AdHi0\p2 => Ta0j\p;
  596. Gravity\p => AdHi0\p1;
  597. Hin -> Splitter1\input;
  598. Splitter1\output -> AdHi0\H;
  599. Splitter1\output -> Hout;
  600. Ta0j\p => EJS\p1;
  601. Ta0j\p => InertialTensor\p;
  602. ZeroJunction1\p => p;
  603. ZeroJunction1\p => Ta0j\p;
  604. end;
  605. implementation_end;
  606. COM_body3 272 328
  607. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  608. real I [3,1] = [1.6399999999999998e-6; 4.7e-8; 1.61e-6] {N.m.s};
  609. real m = 0.00455 {kg};</GlobalRelations></Attributes></Information>';
  610. type Submodel
  611. ports
  612. signal in Hin [4,4];
  613. signal out Hout [4,4];
  614. power out p [6,1];
  615. end;
  616. icon bg bottom
  617. figures
  618. rectangle 256 296 288 360 color 0 fill 139;
  619. text 'COM' 272 328 color 0 'Clear Sans' 16;
  620. terminals
  621. Hin 256 312 fixed;
  622. p 256 344 fixed;
  623. end;
  624. implementation bg
  625. submodels
  626. AdHi0 544 400
  627. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  628. type MTF
  629. ports
  630. power in p1 [6,1];
  631. power out p2 [6,1];
  632. signal in H [4,4];
  633. restrictions
  634. causality constraint not_equal p1 p2;
  635. end;
  636. icon bg left
  637. figures
  638. text 'MTF' 544 400 color 0 18 bold;
  639. end;
  640. implementation eq
  641. variables
  642. real onlyRotH[4,4];
  643. code
  644. //Only rotations with respect to the inertial system matter!
  645. onlyRotH = H;
  646. onlyRotH[1,4] = 0;
  647. onlyRotH[2,4] = 0;
  648. onlyRotH[3,4] = 0;
  649. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  650. p1.f = Adjoint(onlyRotH) * p2.f;
  651. implementation_end;
  652. EJS 616 336
  653. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  654. type MGY
  655. ports
  656. power in p1 [6,1];
  657. end;
  658. icon bg top
  659. figures
  660. text 'MGY' 616 336 color 0 18 bold;
  661. end;
  662. implementation eq
  663. //EJS / Gyroscopic effects
  664. parameters
  665. real global I[3];
  666. real global m;
  667. variables
  668. real II[6,6]; //Inertial tensor
  669. real Q[6,6];
  670. real QI[6,6];
  671. real Ia[6];
  672. initialequations
  673. Ia[1:3] = I;
  674. Ia[4:6] = m;
  675. II = diag(Ia);
  676. equations
  677. Q = transpose(adjoint(p1.f));
  678. QI = Q*II;
  679. p1.e = QI*p1.f;implementation_end;
  680. Gravity 624 400
  681. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  682. type Se
  683. ports
  684. power out p [6,1];
  685. restrictions
  686. causality fixed out p;
  687. end;
  688. icon bg bottom
  689. figures
  690. text 'Se' 624 400 color 0 18 bold;
  691. end;
  692. implementation eq
  693. parameters
  694. real global m;
  695. variables
  696. real effort[6];
  697. equations
  698. effort = [0;0;0;0;0;-g_n*m];
  699. p.e = effort;
  700. implementation_end;
  701. InertialTensor 544 272
  702. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  703. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  704. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  705. </Description>';
  706. type 'I-3'
  707. ports
  708. power in p [6,1];
  709. signal out state [6,1];
  710. restrictions
  711. causality preferred in p;
  712. end;
  713. icon bg bottom
  714. figures
  715. text 'I' 544 272 color 0 18 bold;
  716. end;
  717. implementation eq
  718. parameters
  719. real global I[3];
  720. real global m;
  721. variables
  722. real II[6,6]; //Inertial tensor
  723. real Ia[6];
  724. initialequations
  725. Ia[1:3] = I;
  726. Ia[4:6] = m;
  727. II = diag(Ia);
  728. equations
  729. state = int(p.e); //state = generalized momentum
  730. p.f = inverse(II)*state;
  731. implementation_end;
  732. plug Hin 433.4 496;
  733. plug Hout 691.2 496;
  734. plug p 439.4 336;
  735. Splitter1 544 496
  736. description '<Description><Version>4.0</Version>
  737. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  738. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  739. <IsMainModel>1</IsMainModel>
  740. <KeepParameterValues>False</KeepParameterValues>
  741. </Description>';
  742. knot Splitter
  743. ports
  744. signal knot duplicatable out output [4,4];
  745. signal knot in input [4,4];
  746. end;
  747. icon bg ellipse
  748. figures
  749. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  750. ellipse 539.7 491.7 548.3 500.3 color -1;
  751. terminals
  752. input 544 496 fixed;
  753. end;
  754. implementation eq
  755. equations
  756. collect (output) = input;
  757. implementation_end;
  758. Ta0j 544 336
  759. description '<Description>
  760. <Version>4.0</Version>
  761. <IsMainModel>1</IsMainModel>
  762. <KeepParameterValues>False</KeepParameterValues>
  763. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  764. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  765. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  766. <Description></Description>
  767. </Description>';
  768. knot OneJunction
  769. ports
  770. power knot duplicatable none p [6,1];
  771. signal knot out flow [6,1];
  772. restrictions
  773. causality constraint one_out p;
  774. end;
  775. icon bg bottom
  776. figures
  777. text '1' 544 336 color 0 18 bold;
  778. end;
  779. implementation eq
  780. equations
  781. sum (direct (p.e)) = 0;
  782. equal (collect (p.f));
  783. flow = first (p.f);
  784. implementation_end;
  785. ZeroJunction1 504 336
  786. description '<Information>
  787. <Description>
  788. <Version>4.2</Version>
  789. <IsMainModel>1</IsMainModel>
  790. <KeepParameterValues>False</KeepParameterValues>
  791. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  792. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  793. </Description>
  794. </Information>';
  795. knot ZeroJunction
  796. ports
  797. power knot duplicatable none p [6,1];
  798. signal knot out effort [6,1];
  799. restrictions
  800. causality constraint one_in p;
  801. end;
  802. icon bg
  803. figures
  804. text '0' 504 336 color 0 18 bold;
  805. end;
  806. implementation eq
  807. equations
  808. sum (direct (p.f)) = 0;
  809. equal (collect (p.e));
  810. effort = first (p.e);
  811. implementation_end;
  812. end;
  813. connections
  814. AdHi0\p2 => Ta0j\p;
  815. Gravity\p => AdHi0\p1;
  816. Hin -> Splitter1\input;
  817. Splitter1\output -> AdHi0\H;
  818. Splitter1\output -> Hout;
  819. Ta0j\p => EJS\p1;
  820. Ta0j\p => InertialTensor\p;
  821. ZeroJunction1\p => p;
  822. ZeroJunction1\p => Ta0j\p;
  823. end;
  824. implementation_end;
  825. COM_body4 712 48
  826. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  827. real density = 1400 {kg/m3};
  828. real dimension[3] = [0.005;0.075;0.01] {m};
  829. real servoweight = 5 {g};
  830. variables
  831. real I[3,1] {N.m.s};
  832. real m {kg};
  833. real mass;
  834. initialequations
  835. mass = dimension[1] * dimension[2] * dimension[3] * density;
  836. I[1] = mass/12 * ( dimension[2]^2 + dimension[3]^2);
  837. I[2] = mass/12 * ( dimension[1]^2 + dimension[3]^2);
  838. I[3] = mass/12 * ( dimension[1]^2 + dimension[2]^2);
  839. m = mass + servoweight;</GlobalRelations></Attributes></Information>';
  840. type Submodel
  841. ports
  842. signal in Hin [4,4];
  843. signal out Hout [4,4];
  844. power out p [6,1];
  845. end;
  846. icon bg bottom
  847. figures
  848. rectangle 680 32 744 64 color 0 fill 139;
  849. text 'COM' 712 48 color 0 'Clear Sans' 16;
  850. terminals
  851. Hin 728 64 fixed;
  852. p 696 64 fixed;
  853. end;
  854. implementation bg
  855. submodels
  856. AdHi0 544 400
  857. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  858. type MTF
  859. ports
  860. power in p1 [6,1];
  861. power out p2 [6,1];
  862. signal in H [4,4];
  863. restrictions
  864. causality constraint not_equal p1 p2;
  865. end;
  866. icon bg left
  867. figures
  868. text 'MTF' 544 400 color 0 18 bold;
  869. end;
  870. implementation eq
  871. variables
  872. real onlyRotH[4,4];
  873. code
  874. //Only rotations with respect to the inertial system matter!
  875. onlyRotH = H;
  876. onlyRotH[1,4] = 0;
  877. onlyRotH[2,4] = 0;
  878. onlyRotH[3,4] = 0;
  879. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  880. p1.f = Adjoint(onlyRotH) * p2.f;
  881. implementation_end;
  882. EJS 624 336
  883. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  884. type MGY
  885. ports
  886. power in p1 [6,1];
  887. end;
  888. icon bg top
  889. figures
  890. text 'MGY' 624 336 color 0 18 bold;
  891. end;
  892. implementation eq
  893. //EJS / Gyroscopic effects
  894. variables
  895. real global I[3];
  896. real global m;
  897. real II[6,6]; //Inertial tensor
  898. real Q[6,6];
  899. real QI[6,6];
  900. real Ia[6];
  901. initialequations
  902. Ia[1:3] = I;
  903. Ia[4:6] = m;
  904. II = diag(Ia);
  905. equations
  906. Q = transpose(adjoint(p1.f));
  907. QI = Q*II;
  908. p1.e = QI*p1.f;implementation_end;
  909. Gravity 624 400
  910. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  911. type Se
  912. ports
  913. power out p [6,1];
  914. restrictions
  915. causality fixed out p;
  916. end;
  917. icon bg bottom
  918. figures
  919. text 'Se' 624 400 color 0 18 bold;
  920. end;
  921. implementation eq
  922. variables
  923. real global m;
  924. real effort[6];
  925. equations
  926. effort = [0;0;0;0;0;-g_n*m];
  927. p.e = effort;
  928. implementation_end;
  929. InertialTensor 544 256
  930. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  931. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  932. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  933. </Description>';
  934. type 'I-3'
  935. ports
  936. power in p [6,1];
  937. signal out state [6,1];
  938. restrictions
  939. causality preferred in p;
  940. end;
  941. icon bg bottom
  942. figures
  943. text 'I' 544 256 color 0 18 bold;
  944. end;
  945. implementation eq
  946. variables
  947. real global I[3];
  948. real global m;
  949. real II[6,6]; //Inertial tensor
  950. real Ia[6];
  951. initialequations
  952. Ia[1:3] = I;
  953. Ia[4:6] = m;
  954. II = diag(Ia);
  955. equations
  956. state = int(p.e); //state = generalized momentum
  957. p.f = inverse(II)*state;
  958. implementation_end;
  959. plug Hin 433.4 496;
  960. plug Hout 691.2 496;
  961. plug p 439.4 336;
  962. Splitter1 544 496
  963. description '<Description><Version>4.0</Version>
  964. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  965. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  966. <IsMainModel>1</IsMainModel>
  967. <KeepParameterValues>False</KeepParameterValues>
  968. </Description>';
  969. knot Splitter
  970. ports
  971. signal knot duplicatable out output [4,4];
  972. signal knot in input [4,4];
  973. end;
  974. icon bg ellipse
  975. figures
  976. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  977. ellipse 539.7 491.7 548.3 500.3 color -1;
  978. terminals
  979. input 544 496 fixed;
  980. end;
  981. implementation eq
  982. equations
  983. collect (output) = input;
  984. implementation_end;
  985. Ta0j 544 336
  986. description '<Description>
  987. <Version>4.0</Version>
  988. <IsMainModel>1</IsMainModel>
  989. <KeepParameterValues>False</KeepParameterValues>
  990. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  991. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  992. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  993. <Description></Description>
  994. </Description>';
  995. knot OneJunction
  996. ports
  997. power knot duplicatable none p [6,1];
  998. signal knot out flow [6,1];
  999. restrictions
  1000. causality constraint one_out p;
  1001. end;
  1002. icon bg bottom
  1003. figures
  1004. text '1' 544 336 color 0 18 bold;
  1005. end;
  1006. implementation eq
  1007. equations
  1008. sum (direct (p.e)) = 0;
  1009. equal (collect (p.f));
  1010. flow = first (p.f);
  1011. implementation_end;
  1012. ZeroJunction1 504 336
  1013. description '<Information>
  1014. <Description>
  1015. <Version>4.2</Version>
  1016. <IsMainModel>1</IsMainModel>
  1017. <KeepParameterValues>False</KeepParameterValues>
  1018. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1019. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  1020. </Description>
  1021. </Information>';
  1022. knot ZeroJunction
  1023. ports
  1024. power knot duplicatable none p [6,1];
  1025. signal knot out effort [6,1];
  1026. restrictions
  1027. causality constraint one_in p;
  1028. end;
  1029. icon bg
  1030. figures
  1031. text '0' 504 336 color 0 18 bold;
  1032. end;
  1033. implementation eq
  1034. equations
  1035. sum (direct (p.f)) = 0;
  1036. equal (collect (p.e));
  1037. effort = first (p.e);
  1038. implementation_end;
  1039. end;
  1040. connections
  1041. AdHi0\p2 => Ta0j\p;
  1042. Gravity\p => AdHi0\p1;
  1043. Hin -> Splitter1\input;
  1044. Splitter1\output -> AdHi0\H;
  1045. Splitter1\output -> Hout;
  1046. Ta0j\p => EJS\p1;
  1047. Ta0j\p => InertialTensor\p;
  1048. ZeroJunction1\p => p;
  1049. ZeroJunction1\p => Ta0j\p;
  1050. end;
  1051. implementation_end;
  1052. COM_body5 1472 128
  1053. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  1054. real I [3,1] = [0.018;0.159;0.159] {mN.m.s};
  1055. real m = 0.015 {kg};</GlobalRelations></Attributes></Information>';
  1056. type Submodel
  1057. ports
  1058. signal in Hin [4,4];
  1059. signal out Hout [4,4];
  1060. power out p [6,1];
  1061. end;
  1062. icon bg bottom
  1063. figures
  1064. rectangle 1456 96 1488 160 color 0 fill 139;
  1065. text 'COM' 1472 128 color 0 'Clear Sans' 16;
  1066. terminals
  1067. Hin 1456 144 fixed;
  1068. p 1456 112 fixed;
  1069. end;
  1070. implementation bg
  1071. submodels
  1072. AdHi0 544 400
  1073. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  1074. type MTF
  1075. ports
  1076. power in p1 [6,1];
  1077. power out p2 [6,1];
  1078. signal in H [4,4];
  1079. restrictions
  1080. causality constraint not_equal p1 p2;
  1081. end;
  1082. icon bg left
  1083. figures
  1084. text 'MTF' 544 400 color 0 18 bold;
  1085. end;
  1086. implementation eq
  1087. variables
  1088. real onlyRotH[4,4];
  1089. code
  1090. //Only rotations with respect to the inertial system matter!
  1091. onlyRotH = H;
  1092. onlyRotH[1,4] = 0;
  1093. onlyRotH[2,4] = 0;
  1094. onlyRotH[3,4] = 0;
  1095. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  1096. p1.f = Adjoint(onlyRotH) * p2.f;
  1097. implementation_end;
  1098. EJS 616 336
  1099. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  1100. type MGY
  1101. ports
  1102. power in p1 [6,1];
  1103. end;
  1104. icon bg top
  1105. figures
  1106. text 'MGY' 616 336 color 0 18 bold;
  1107. end;
  1108. implementation eq
  1109. //EJS / Gyroscopic effects
  1110. parameters
  1111. real global I[3];
  1112. real global m;
  1113. variables
  1114. real II[6,6]; //Inertial tensor
  1115. real Q[6,6];
  1116. real QI[6,6];
  1117. real Ia[6];
  1118. initialequations
  1119. Ia[1:3] = I;
  1120. Ia[4:6] = m;
  1121. II = diag(Ia);
  1122. equations
  1123. Q = transpose(adjoint(p1.f));
  1124. QI = Q*II;
  1125. p1.e = QI*p1.f;implementation_end;
  1126. Gravity 624 400
  1127. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  1128. type Se
  1129. ports
  1130. power out p [6,1];
  1131. restrictions
  1132. causality fixed out p;
  1133. end;
  1134. icon bg bottom
  1135. figures
  1136. text 'Se' 624 400 color 0 18 bold;
  1137. end;
  1138. implementation eq
  1139. parameters
  1140. real global m;
  1141. variables
  1142. real effort[6];
  1143. equations
  1144. effort = [0;0;0;0;0;-g_n*m];
  1145. p.e = effort;
  1146. implementation_end;
  1147. InertialTensor 544 272
  1148. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1149. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  1150. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  1151. </Description>';
  1152. type 'I-3'
  1153. ports
  1154. power in p [6,1];
  1155. signal out state [6,1];
  1156. restrictions
  1157. causality preferred in p;
  1158. end;
  1159. icon bg bottom
  1160. figures
  1161. text 'I' 544 272 color 0 18 bold;
  1162. end;
  1163. implementation eq
  1164. parameters
  1165. real global I[3];
  1166. real global m;
  1167. variables
  1168. real II[6,6]; //Inertial tensor
  1169. real Ia[6];
  1170. initialequations
  1171. Ia[1:3] = I;
  1172. Ia[4:6] = m;
  1173. II = diag(Ia);
  1174. equations
  1175. state = int(p.e); //state = generalized momentum
  1176. p.f = inverse(II)*state;
  1177. implementation_end;
  1178. plug Hin 433.4 496;
  1179. plug Hout 691.2 496;
  1180. plug p 439.4 336;
  1181. Splitter1 544 496
  1182. description '<Description><Version>4.0</Version>
  1183. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1184. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1185. <IsMainModel>1</IsMainModel>
  1186. <KeepParameterValues>False</KeepParameterValues>
  1187. </Description>';
  1188. knot Splitter
  1189. ports
  1190. signal knot duplicatable out output [4,4];
  1191. signal knot in input [4,4];
  1192. end;
  1193. icon bg ellipse
  1194. figures
  1195. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  1196. ellipse 539.7 491.7 548.3 500.3 color -1;
  1197. terminals
  1198. input 544 496 fixed;
  1199. end;
  1200. implementation eq
  1201. equations
  1202. collect (output) = input;
  1203. implementation_end;
  1204. Ta0j 544 336
  1205. description '<Description>
  1206. <Version>4.0</Version>
  1207. <IsMainModel>1</IsMainModel>
  1208. <KeepParameterValues>False</KeepParameterValues>
  1209. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1210. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  1211. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1212. <Description></Description>
  1213. </Description>';
  1214. knot OneJunction
  1215. ports
  1216. power knot duplicatable none p [6,1];
  1217. signal knot out flow [6,1];
  1218. restrictions
  1219. causality constraint one_out p;
  1220. end;
  1221. icon bg bottom
  1222. figures
  1223. text '1' 544 336 color 0 18 bold;
  1224. end;
  1225. implementation eq
  1226. equations
  1227. sum (direct (p.e)) = 0;
  1228. equal (collect (p.f));
  1229. flow = first (p.f);
  1230. implementation_end;
  1231. ZeroJunction1 504 336
  1232. description '<Information>
  1233. <Description>
  1234. <Version>4.2</Version>
  1235. <IsMainModel>1</IsMainModel>
  1236. <KeepParameterValues>False</KeepParameterValues>
  1237. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1238. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  1239. </Description>
  1240. </Information>';
  1241. knot ZeroJunction
  1242. ports
  1243. power knot duplicatable none p [6,1];
  1244. signal knot out effort [6,1];
  1245. restrictions
  1246. causality constraint one_in p;
  1247. end;
  1248. icon bg
  1249. figures
  1250. text '0' 504 336 color 0 18 bold;
  1251. end;
  1252. implementation eq
  1253. equations
  1254. sum (direct (p.f)) = 0;
  1255. equal (collect (p.e));
  1256. effort = first (p.e);
  1257. implementation_end;
  1258. end;
  1259. connections
  1260. AdHi0\p2 => Ta0j\p;
  1261. Gravity\p => AdHi0\p1;
  1262. Hin -> Splitter1\input;
  1263. Splitter1\output -> AdHi0\H;
  1264. Splitter1\output -> Hout;
  1265. Ta0j\p => EJS\p1;
  1266. Ta0j\p => InertialTensor\p;
  1267. ZeroJunction1\p => p;
  1268. ZeroJunction1\p => Ta0j\p;
  1269. end;
  1270. implementation_end;
  1271. Ground1 564 647.5
  1272. description '<Information>
  1273. <Description>
  1274. <Version>4.8</Version>
  1275. <IsMainModel>1</IsMainModel>
  1276. <LibraryPath>Bond Graph\MR\Ground.emx</LibraryPath>
  1277. <TimeStamp>2020-7-23 09:30:51</TimeStamp>
  1278. </Description>
  1279. </Information>';
  1280. type Submodel
  1281. ports
  1282. power in p [6,1];
  1283. signal out output [4,4];
  1284. end;
  1285. icon bg bottom
  1286. figures
  1287. line 528 640 544 656 color 0 fill 15132390;
  1288. line 536 640 552 656 color 0 fill 15132390;
  1289. line 520 640 536 656 color 0 fill 15132390;
  1290. line 560 656 544 640 color 0 fill 15132390;
  1291. line 568 656 552 640 color 0 fill 15132390;
  1292. line 576 656 560 640 color 0 fill 15132390;
  1293. line 592 656 576 640 color 0 fill 15132390;
  1294. line 584 656 568 640 color 0 fill 15132390;
  1295. line 600 656 584 640 color 0 fill 15132390;
  1296. line 608 656 592 640 color 0 fill 15132390;
  1297. line 520 640 608 640 color 0 fill 15132390 width 2;
  1298. line 600 640 608 648 color 0 fill 15132390;
  1299. line 520 648 528 656 color 0 fill 15132390;
  1300. terminals
  1301. p 544 640 fixed;
  1302. output 576 640 fixed;
  1303. end;
  1304. implementation bg
  1305. submodels
  1306. plug p 240 88;
  1307. plug output 240 120;
  1308. OneJunction2 192 88
  1309. description '<Information>
  1310. <Description>
  1311. <Version>4.2</Version>
  1312. <IsMainModel>1</IsMainModel>
  1313. <KeepParameterValues>False</KeepParameterValues>
  1314. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1315. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1316. </Description>
  1317. </Information>';
  1318. knot OneJunction
  1319. ports
  1320. power knot duplicatable none p [6,1];
  1321. signal knot out flow [6,1];
  1322. restrictions
  1323. causality constraint one_out p;
  1324. end;
  1325. icon bg
  1326. figures
  1327. text '1' 192 88 color 0 18 bold;
  1328. end;
  1329. implementation eq
  1330. equations
  1331. sum (direct (p.e)) = 0;
  1332. equal (collect (p.f));
  1333. flow = first (p.f);
  1334. implementation_end;
  1335. Sf2 136 88
  1336. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1337. <LibraryPath>Bond Graph\2D\Sf-2.emx</LibraryPath>
  1338. <TimeStamp>2007-9-25 12:7:5</TimeStamp>
  1339. </Description>';
  1340. type 'Sf-2'
  1341. ports
  1342. power out p [6,1];
  1343. restrictions
  1344. causality fixed in p;
  1345. end;
  1346. icon bg bottom
  1347. figures
  1348. text 'Sf' 136 88 color 0 18 bold;
  1349. end;
  1350. implementation eq
  1351. parameters
  1352. real flow[6,1] = 0;
  1353. variables
  1354. real effort [6];
  1355. equations
  1356. p.f = flow;
  1357. effort = p.e;
  1358. implementation_end;
  1359. Zero 144 120
  1360. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1361. <LibraryPath>Signal\Sources\Zero.emx</LibraryPath>
  1362. <TimeStamp>2007-9-27 15:54:36</TimeStamp>
  1363. </Description>
  1364. ';
  1365. type Zero
  1366. ports
  1367. signal out output [4,4];
  1368. end;
  1369. icon bg bottom
  1370. figures
  1371. rectangle 128.1 104 159.9 136 color 0 fill 15132390;
  1372. text '0' 144 120 color 16711680 18 bold;
  1373. end;
  1374. implementation eq
  1375. equations
  1376. output = eye(4);implementation_end;
  1377. end;
  1378. connections
  1379. p => OneJunction2\p;
  1380. Sf2\p => OneJunction2\p;
  1381. Zero\output -> output;
  1382. end;
  1383. implementation_end;
  1384. inverse_kinematics 712 752
  1385. description '<Information>
  1386. <Description>
  1387. <Version>4.8</Version>
  1388. <LibraryPath>SCARA\inverse_kinematics_v1.emx</LibraryPath>
  1389. <IsMainModel>1</IsMainModel>
  1390. <KeepParameterValues>False</KeepParameterValues>
  1391. <TimeStamp>2020-7-10 12:26:18</TimeStamp>
  1392. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  1393. </Description>
  1394. </Information>';
  1395. type 'Submodel-Equation'
  1396. ports
  1397. signal in input [2,1] {m} ;
  1398. signal out angle1 {rad} ;
  1399. signal out angle2 {rad} ;
  1400. signal out a {rad} ;
  1401. signal out b {rad} ;
  1402. signal out c {rad} ;
  1403. signal out phi {rad} ;
  1404. end;
  1405. implementation eq
  1406. parameters
  1407. real A_length = 0.065 {m}; // length of first arm
  1408. real B_length = 0.05 {m}; // length of second arm
  1409. real to_rad = 1 {rad};
  1410. variables
  1411. real x {m}, y {m};
  1412. real C_length {m}; // length to x and y.
  1413. equations
  1414. x = input[1];
  1415. y = input[2];
  1416. phi = atan2(y, x);
  1417. C_length = sqrt(x^2 + y^2);
  1418. a = arccos ((B_length^2 + C_length^2 - A_length^2) / (2 * B_length * C_length));
  1419. b = arccos ((A_length^2 + C_length^2 - B_length^2) / (2 * A_length * C_length));
  1420. c = arccos ((A_length^2 + B_length^2 - C_length^2) / (2 * A_length * B_length));
  1421. angle1 = b + phi;
  1422. angle2 = angle1 - pi * to_rad + c;
  1423. implementation_end;
  1424. JointA 560 512
  1425. description '<Information>
  1426. <Description>
  1427. <Version>4.8</Version>
  1428. <IsMainModel>1</IsMainModel>
  1429. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1430. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1431. </Description>
  1432. </Information>';
  1433. type 'Submodel-v3'
  1434. ports
  1435. power in Pin [6,1];
  1436. power in Pdiff [6,1];
  1437. signal in Hin [4,4];
  1438. signal out Hout [4,4];
  1439. signal out Hdiff [4,4];
  1440. power out Pout [6,1];
  1441. end;
  1442. icon bg bottom
  1443. figures
  1444. rectangle 528 488 592 536 color 0 fill 14745599;
  1445. text 'Joint' 560 512 color 0 'Clear Sans' 16;
  1446. terminals
  1447. Pin 544 536 fixed;
  1448. Hin 576 488 fixed;
  1449. Hout 576 536 fixed;
  1450. Pout 544 488 fixed;
  1451. end;
  1452. implementation bg
  1453. submodels
  1454. AdHji 424 424
  1455. description '<Description>
  1456. <Version>4.0</Version>
  1457. <IsMainModel>1</IsMainModel>
  1458. <KeepParameterValues>False</KeepParameterValues>
  1459. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1460. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1461. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1462. </Description>';
  1463. type MTF
  1464. ports
  1465. power out p1 [6,1];
  1466. power in p2 [6,1];
  1467. signal in H [4,4];
  1468. restrictions
  1469. causality constraint not_equal p1 p2;
  1470. end;
  1471. icon bg bottom
  1472. figures
  1473. text 'MTF' 424 424 color 0 18 bold;
  1474. end;
  1475. implementation eq
  1476. equations
  1477. p2.e = transpose(Adjoint(H)) * p1.e;
  1478. p1.f = Adjoint(H) * p2.f;implementation_end;
  1479. FlowSensor2 184 311.9
  1480. description '<Information>
  1481. <Description>
  1482. <Version>4.2</Version>
  1483. <IsMainModel>1</IsMainModel>
  1484. <KeepParameterValues>False</KeepParameterValues>
  1485. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1486. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1487. </Description>
  1488. </Information>';
  1489. knot FlowSensor
  1490. ports
  1491. power knot in p1 [6,1];
  1492. power knot out p2 [6,1];
  1493. signal knot out flow [6,1];
  1494. restrictions
  1495. causality constraint not_equal p1 p2;
  1496. end;
  1497. icon bg ellipse
  1498. figures
  1499. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1500. text 'f' 184 311.2 color 0;
  1501. end;
  1502. implementation eq
  1503. equations
  1504. p2.f = p1.f;
  1505. p1.e = p2.e;
  1506. flow = p1.f;
  1507. implementation_end;
  1508. Hmatrix 256 312
  1509. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  1510. type 'Submodel-Equation'
  1511. ports
  1512. signal in flow [6,1];
  1513. signal out H [4,4];
  1514. end;
  1515. icon bg
  1516. figures
  1517. rectangle 224 296 288 328 color 0 fill 15132390;
  1518. text 'name' 256 312 color 0 'Clear Sans' 16;
  1519. end;
  1520. implementation eq
  1521. parameters
  1522. real init[4] = [1;0;0;0];
  1523. variables
  1524. real q[4]; //quaternions
  1525. real W[3,4]; //Quaternion Rates Matrix
  1526. real R[3,3]; //Rotation Matrix
  1527. real p[3]; //Position Vector
  1528. real dq[4];
  1529. real Wb[3,4];
  1530. equations
  1531. dq = transpose(Wb) * flow[1:3] ./ 2;
  1532. q = int(dq,init);
  1533. p = int(flow[4:6]);
  1534. W = [-q[2], q[1], -q[4], q[3];
  1535. -q[3], q[4], q[1], -q[2];
  1536. -q[4], -q[3], q[2], q[1]];
  1537. Wb = [ -q[2], q[1], q[4], -q[3];
  1538. -q[3], -q[4], q[1], q[2];
  1539. -q[4], q[3], -q[2], q[1]];
  1540. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  1541. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  1542. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  1543. H = homogeneous(R,p);
  1544. implementation_end;
  1545. MatrixMul 320 576
  1546. description '<Description>
  1547. <Version>4.0</Version>
  1548. <IsMainModel>1</IsMainModel>
  1549. <KeepParameterValues>False</KeepParameterValues>
  1550. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1551. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1552. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1553. </Description>';
  1554. type Gain
  1555. ports
  1556. signal in input1 [4,4];
  1557. signal out output [4,4];
  1558. signal in input2 [4,4];
  1559. end;
  1560. icon bg bottom
  1561. figures
  1562. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1563. text 'X' 320 576 color 16711680 16 bold;
  1564. end;
  1565. implementation eq
  1566. equations
  1567. output = input2*input1; implementation_end;
  1568. plug Pin 492.1 424;
  1569. plug Pdiff 184 225;
  1570. plug Hin 130.8 576;
  1571. plug Hout 478.4 576;
  1572. plug Hdiff 320 222;
  1573. plug Pout 134.7 424;
  1574. Splitter2 320 312
  1575. description '<Description><Version>4.0</Version>
  1576. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1577. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1578. <IsMainModel>1</IsMainModel>
  1579. <KeepParameterValues>False</KeepParameterValues>
  1580. </Description>';
  1581. knot Splitter
  1582. ports
  1583. signal knot duplicatable out output [4,4];
  1584. signal knot in input [4,4];
  1585. end;
  1586. icon bg ellipse
  1587. figures
  1588. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  1589. ellipse 315.7 307.7 324.3 316.3 color -1;
  1590. terminals
  1591. input 320 312 fixed;
  1592. end;
  1593. implementation eq
  1594. equations
  1595. collect (output) = input;
  1596. implementation_end;
  1597. Wbai 184 424
  1598. description '<Description>
  1599. <Version>4.0</Version>
  1600. <IsMainModel>1</IsMainModel>
  1601. <KeepParameterValues>False</KeepParameterValues>
  1602. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1603. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  1604. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1605. </Description>';
  1606. knot ZeroJunction
  1607. ports
  1608. power knot duplicatable none p [6,1];
  1609. signal knot out effort [6,1];
  1610. restrictions
  1611. causality constraint one_in p;
  1612. end;
  1613. icon bg bottom
  1614. figures
  1615. text '0' 184 424 color 0 18 bold;
  1616. end;
  1617. implementation eq
  1618. equations
  1619. sum (direct (p.f)) = 0;
  1620. equal (collect (p.e));
  1621. effort = first (p.e);
  1622. implementation_end;
  1623. end;
  1624. connections
  1625. FlowSensor2\flow -> Hmatrix\flow;
  1626. FlowSensor2\p2 => Wbai\p;
  1627. Hin -> MatrixMul\input2;
  1628. Hmatrix\H -> Splitter2\input;
  1629. MatrixMul\output -> Hout;
  1630. Pdiff => FlowSensor2\p1;
  1631. Pin => AdHji\p2;
  1632. Splitter2\output -> AdHji\H 424 312;
  1633. Splitter2\output -> Hdiff;
  1634. Splitter2\output -> MatrixMul\input1;
  1635. Wbai\p <= AdHji\p1;
  1636. Wbai\p => Pout;
  1637. end;
  1638. implementation_end;
  1639. JointB 560 192
  1640. description '<Information>
  1641. <Description>
  1642. <Version>4.8</Version>
  1643. <IsMainModel>1</IsMainModel>
  1644. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1645. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1646. </Description>
  1647. </Information>';
  1648. type 'Submodel-v3'
  1649. ports
  1650. power in Pin [6,1];
  1651. power in Pdiff [6,1];
  1652. signal in Hin [4,4];
  1653. signal out Hout [4,4];
  1654. signal out Hdiff [4,4];
  1655. power out Pout [6,1];
  1656. end;
  1657. icon bg bottom
  1658. figures
  1659. rectangle 528 168 592 216 color 0 fill 14745599;
  1660. text 'Joint' 560 192 color 0 'Clear Sans' 16;
  1661. terminals
  1662. Pin 544 216 fixed;
  1663. Hin 576 168 fixed;
  1664. Hout 576 216 fixed;
  1665. Pout 544 168 fixed;
  1666. end;
  1667. implementation bg
  1668. submodels
  1669. AdHji 424 424
  1670. description '<Description>
  1671. <Version>4.0</Version>
  1672. <IsMainModel>1</IsMainModel>
  1673. <KeepParameterValues>False</KeepParameterValues>
  1674. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1675. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1676. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1677. </Description>';
  1678. type MTF
  1679. ports
  1680. power out p1 [6,1];
  1681. power in p2 [6,1];
  1682. signal in H [4,4];
  1683. restrictions
  1684. causality constraint not_equal p1 p2;
  1685. end;
  1686. icon bg bottom
  1687. figures
  1688. text 'MTF' 424 424 color 0 18 bold;
  1689. end;
  1690. implementation eq
  1691. equations
  1692. p2.e = transpose(Adjoint(H)) * p1.e;
  1693. p1.f = Adjoint(H) * p2.f;implementation_end;
  1694. FlowSensor2 184 311.9
  1695. description '<Information>
  1696. <Description>
  1697. <Version>4.2</Version>
  1698. <IsMainModel>1</IsMainModel>
  1699. <KeepParameterValues>False</KeepParameterValues>
  1700. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1701. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1702. </Description>
  1703. </Information>';
  1704. knot FlowSensor
  1705. ports
  1706. power knot in p1 [6,1];
  1707. power knot out p2 [6,1];
  1708. signal knot out flow [6,1];
  1709. restrictions
  1710. causality constraint not_equal p1 p2;
  1711. end;
  1712. icon bg ellipse
  1713. figures
  1714. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1715. text 'f' 184 311.2 color 0;
  1716. end;
  1717. implementation eq
  1718. equations
  1719. p2.f = p1.f;
  1720. p1.e = p2.e;
  1721. flow = p1.f;
  1722. implementation_end;
  1723. Hmatrix 256 312
  1724. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  1725. type 'Submodel-Equation'
  1726. ports
  1727. signal in flow [6,1];
  1728. signal out H [4,4];
  1729. end;
  1730. icon bg
  1731. figures
  1732. rectangle 224 296 288 328 color 0 fill 15132390;
  1733. text 'name' 256 312 color 0 'Clear Sans' 16;
  1734. end;
  1735. implementation eq
  1736. parameters
  1737. real init[4] = [1;0;0;0];
  1738. variables
  1739. real q[4]; //quaternions
  1740. real W[3,4]; //Quaternion Rates Matrix
  1741. real R[3,3]; //Rotation Matrix
  1742. real p[3]; //Position Vector
  1743. real dq[4];
  1744. real Wb[3,4];
  1745. equations
  1746. dq = transpose(Wb) * flow[1:3] ./ 2;
  1747. q = int(dq,init);
  1748. p = int(flow[4:6]);
  1749. W = [-q[2], q[1], -q[4], q[3];
  1750. -q[3], q[4], q[1], -q[2];
  1751. -q[4], -q[3], q[2], q[1]];
  1752. Wb = [ -q[2], q[1], q[4], -q[3];
  1753. -q[3], -q[4], q[1], q[2];
  1754. -q[4], q[3], -q[2], q[1]];
  1755. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  1756. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  1757. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  1758. H = homogeneous(R,p);
  1759. implementation_end;
  1760. MatrixMul 320 576
  1761. description '<Description>
  1762. <Version>4.0</Version>
  1763. <IsMainModel>1</IsMainModel>
  1764. <KeepParameterValues>False</KeepParameterValues>
  1765. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1766. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1767. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1768. </Description>';
  1769. type Gain
  1770. ports
  1771. signal in input1 [4,4];
  1772. signal out output [4,4];
  1773. signal in input2 [4,4];
  1774. end;
  1775. icon bg bottom
  1776. figures
  1777. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1778. text 'X' 320 576 color 16711680 16 bold;
  1779. end;
  1780. implementation eq
  1781. equations
  1782. output = input2*input1; implementation_end;
  1783. plug Pin 492.1 424;
  1784. plug Pdiff 184 225;
  1785. plug Hin 130.8 576;
  1786. plug Hout 478.4 576;
  1787. plug Hdiff 320 222;
  1788. plug Pout 134.7 424;
  1789. Splitter2 320 312
  1790. description '<Description><Version>4.0</Version>
  1791. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1792. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1793. <IsMainModel>1</IsMainModel>
  1794. <KeepParameterValues>False</KeepParameterValues>
  1795. </Description>';
  1796. knot Splitter
  1797. ports
  1798. signal knot duplicatable out output [4,4];
  1799. signal knot in input [4,4];
  1800. end;
  1801. icon bg ellipse
  1802. figures
  1803. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  1804. ellipse 315.7 307.7 324.3 316.3 color -1;
  1805. terminals
  1806. input 320 312 fixed;
  1807. end;
  1808. implementation eq
  1809. equations
  1810. collect (output) = input;
  1811. implementation_end;
  1812. Wbai 184 424
  1813. description '<Description>
  1814. <Version>4.0</Version>
  1815. <IsMainModel>1</IsMainModel>
  1816. <KeepParameterValues>False</KeepParameterValues>
  1817. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1818. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  1819. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1820. </Description>';
  1821. knot ZeroJunction
  1822. ports
  1823. power knot duplicatable none p [6,1];
  1824. signal knot out effort [6,1];
  1825. restrictions
  1826. causality constraint one_in p;
  1827. end;
  1828. icon bg bottom
  1829. figures
  1830. text '0' 184 424 color 0 18 bold;
  1831. end;
  1832. implementation eq
  1833. equations
  1834. sum (direct (p.f)) = 0;
  1835. equal (collect (p.e));
  1836. effort = first (p.e);
  1837. implementation_end;
  1838. end;
  1839. connections
  1840. FlowSensor2\flow -> Hmatrix\flow;
  1841. FlowSensor2\p2 => Wbai\p;
  1842. Hin -> MatrixMul\input2;
  1843. Hmatrix\H -> Splitter2\input;
  1844. MatrixMul\output -> Hout;
  1845. Pdiff => FlowSensor2\p1;
  1846. Pin => AdHji\p2;
  1847. Splitter2\output -> AdHji\H 424 312;
  1848. Splitter2\output -> Hdiff;
  1849. Splitter2\output -> MatrixMul\input1;
  1850. Wbai\p <= AdHji\p1;
  1851. Wbai\p => Pout;
  1852. end;
  1853. implementation_end;
  1854. JointC 480 584
  1855. description '<Information>
  1856. <Description>
  1857. <Version>4.8</Version>
  1858. <IsMainModel>1</IsMainModel>
  1859. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1860. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1861. </Description>
  1862. </Information>';
  1863. type 'Submodel-v3'
  1864. ports
  1865. power in Pin [6,1];
  1866. power in Pdiff [6,1];
  1867. signal in Hin [4,4];
  1868. signal out Hout [4,4];
  1869. signal out Hdiff [4,4];
  1870. power out Pout [6,1];
  1871. end;
  1872. icon bg bottom
  1873. figures
  1874. rectangle 456 552 504 616 color 0 fill 14745599;
  1875. text 'Joint' 480 584 color 0 'Clear Sans' 16;
  1876. terminals
  1877. Pin 456 600 fixed;
  1878. Hin 504 568 fixed;
  1879. Hout 456 568 fixed;
  1880. Pout 504 600 fixed;
  1881. end;
  1882. implementation bg
  1883. submodels
  1884. AdHji 424 424
  1885. description '<Description>
  1886. <Version>4.0</Version>
  1887. <IsMainModel>1</IsMainModel>
  1888. <KeepParameterValues>False</KeepParameterValues>
  1889. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1890. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1891. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1892. </Description>';
  1893. type MTF
  1894. ports
  1895. power out p1 [6,1];
  1896. power in p2 [6,1];
  1897. signal in H [4,4];
  1898. restrictions
  1899. causality constraint not_equal p1 p2;
  1900. end;
  1901. icon bg bottom
  1902. figures
  1903. text 'MTF' 424 424 color 0 18 bold;
  1904. end;
  1905. implementation eq
  1906. equations
  1907. p2.e = transpose(Adjoint(H)) * p1.e;
  1908. p1.f = Adjoint(H) * p2.f;implementation_end;
  1909. FlowSensor2 184 311.9
  1910. description '<Information>
  1911. <Description>
  1912. <Version>4.2</Version>
  1913. <IsMainModel>1</IsMainModel>
  1914. <KeepParameterValues>False</KeepParameterValues>
  1915. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1916. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1917. </Description>
  1918. </Information>';
  1919. knot FlowSensor
  1920. ports
  1921. power knot in p1 [6,1];
  1922. power knot out p2 [6,1];
  1923. signal knot out flow [6,1];
  1924. restrictions
  1925. causality constraint not_equal p1 p2;
  1926. end;
  1927. icon bg ellipse
  1928. figures
  1929. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1930. text 'f' 184 311.2 color 0;
  1931. end;
  1932. implementation eq
  1933. equations
  1934. p2.f = p1.f;
  1935. p1.e = p2.e;
  1936. flow = p1.f;
  1937. implementation_end;
  1938. Hmatrix 256 312
  1939. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  1940. type 'Submodel-Equation'
  1941. ports
  1942. signal in flow [6,1];
  1943. signal out H [4,4];
  1944. end;
  1945. icon bg
  1946. figures
  1947. rectangle 224 296 288 328 color 0 fill 15132390;
  1948. text 'name' 256 312 color 0 'Clear Sans' 16;
  1949. end;
  1950. implementation eq
  1951. parameters
  1952. real init[4] = [1;0;0;0];
  1953. variables
  1954. real q[4]; //quaternions
  1955. real W[3,4]; //Quaternion Rates Matrix
  1956. real R[3,3]; //Rotation Matrix
  1957. real p[3]; //Position Vector
  1958. real dq[4];
  1959. real Wb[3,4];
  1960. equations
  1961. dq = transpose(Wb) * flow[1:3] ./ 2;
  1962. q = int(dq,init);
  1963. p = int(flow[4:6]);
  1964. W = [-q[2], q[1], -q[4], q[3];
  1965. -q[3], q[4], q[1], -q[2];
  1966. -q[4], -q[3], q[2], q[1]];
  1967. Wb = [ -q[2], q[1], q[4], -q[3];
  1968. -q[3], -q[4], q[1], q[2];
  1969. -q[4], q[3], -q[2], q[1]];
  1970. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  1971. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  1972. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  1973. H = homogeneous(R,p);
  1974. implementation_end;
  1975. MatrixMul 320 576
  1976. description '<Description>
  1977. <Version>4.0</Version>
  1978. <IsMainModel>1</IsMainModel>
  1979. <KeepParameterValues>False</KeepParameterValues>
  1980. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1981. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1982. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1983. </Description>';
  1984. type Gain
  1985. ports
  1986. signal in input1 [4,4];
  1987. signal out output [4,4];
  1988. signal in input2 [4,4];
  1989. end;
  1990. icon bg bottom
  1991. figures
  1992. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1993. text 'X' 320 576 color 16711680 16 bold;
  1994. end;
  1995. implementation eq
  1996. equations
  1997. output = input2*input1; implementation_end;
  1998. plug Pin 492.1 424;
  1999. plug Pdiff 184 225;
  2000. plug Hin 130.8 576;
  2001. plug Hout 478.4 576;
  2002. plug Hdiff 320 222;
  2003. plug Pout 134.7 424;
  2004. Splitter2 320 312
  2005. description '<Description><Version>4.0</Version>
  2006. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2007. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2008. <IsMainModel>1</IsMainModel>
  2009. <KeepParameterValues>False</KeepParameterValues>
  2010. </Description>';
  2011. knot Splitter
  2012. ports
  2013. signal knot duplicatable out output [4,4];
  2014. signal knot in input [4,4];
  2015. end;
  2016. icon bg ellipse
  2017. figures
  2018. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2019. ellipse 315.7 307.7 324.3 316.3 color -1;
  2020. terminals
  2021. input 320 312 fixed;
  2022. end;
  2023. implementation eq
  2024. equations
  2025. collect (output) = input;
  2026. implementation_end;
  2027. Wbai 184 424
  2028. description '<Description>
  2029. <Version>4.0</Version>
  2030. <IsMainModel>1</IsMainModel>
  2031. <KeepParameterValues>False</KeepParameterValues>
  2032. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2033. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2034. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2035. </Description>';
  2036. knot ZeroJunction
  2037. ports
  2038. power knot duplicatable none p [6,1];
  2039. signal knot out effort [6,1];
  2040. restrictions
  2041. causality constraint one_in p;
  2042. end;
  2043. icon bg bottom
  2044. figures
  2045. text '0' 184 424 color 0 18 bold;
  2046. end;
  2047. implementation eq
  2048. equations
  2049. sum (direct (p.f)) = 0;
  2050. equal (collect (p.e));
  2051. effort = first (p.e);
  2052. implementation_end;
  2053. end;
  2054. connections
  2055. FlowSensor2\flow -> Hmatrix\flow;
  2056. FlowSensor2\p2 => Wbai\p;
  2057. Hin -> MatrixMul\input2;
  2058. Hmatrix\H -> Splitter2\input;
  2059. MatrixMul\output -> Hout;
  2060. Pdiff => FlowSensor2\p1;
  2061. Pin => AdHji\p2;
  2062. Splitter2\output -> AdHji\H 424 312;
  2063. Splitter2\output -> Hdiff;
  2064. Splitter2\output -> MatrixMul\input1;
  2065. Wbai\p <= AdHji\p1;
  2066. Wbai\p => Pout;
  2067. end;
  2068. implementation_end;
  2069. JointD 200 488
  2070. description '<Information>
  2071. <Description>
  2072. <Version>4.8</Version>
  2073. <IsMainModel>1</IsMainModel>
  2074. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2075. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2076. </Description>
  2077. </Information>';
  2078. type 'Submodel-v3'
  2079. ports
  2080. power in Pin [6,1];
  2081. power in Pdiff [6,1];
  2082. signal in Hin [4,4];
  2083. signal out Hout [4,4];
  2084. signal out Hdiff [4,4];
  2085. power out Pout [6,1];
  2086. end;
  2087. icon bg bottom
  2088. figures
  2089. rectangle 168 464 232 512 color 0 fill 14745599;
  2090. text 'Joint' 200 488 color 0 'Clear Sans' 16;
  2091. terminals
  2092. Pin 184 464 fixed;
  2093. Hin 216 512 fixed;
  2094. Hout 216 464 fixed;
  2095. Pout 184 512 fixed;
  2096. end;
  2097. implementation bg
  2098. submodels
  2099. AdHji 424 424
  2100. description '<Description>
  2101. <Version>4.0</Version>
  2102. <IsMainModel>1</IsMainModel>
  2103. <KeepParameterValues>False</KeepParameterValues>
  2104. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2105. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2106. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2107. </Description>';
  2108. type MTF
  2109. ports
  2110. power out p1 [6,1];
  2111. power in p2 [6,1];
  2112. signal in H [4,4];
  2113. restrictions
  2114. causality constraint not_equal p1 p2;
  2115. end;
  2116. icon bg bottom
  2117. figures
  2118. text 'MTF' 424 424 color 0 18 bold;
  2119. end;
  2120. implementation eq
  2121. equations
  2122. p2.e = transpose(Adjoint(H)) * p1.e;
  2123. p1.f = Adjoint(H) * p2.f;implementation_end;
  2124. FlowSensor2 184 311.9
  2125. description '<Information>
  2126. <Description>
  2127. <Version>4.2</Version>
  2128. <IsMainModel>1</IsMainModel>
  2129. <KeepParameterValues>False</KeepParameterValues>
  2130. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2131. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2132. </Description>
  2133. </Information>';
  2134. knot FlowSensor
  2135. ports
  2136. power knot in p1 [6,1];
  2137. power knot out p2 [6,1];
  2138. signal knot out flow [6,1];
  2139. restrictions
  2140. causality constraint not_equal p1 p2;
  2141. end;
  2142. icon bg ellipse
  2143. figures
  2144. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2145. text 'f' 184 311.2 color 0;
  2146. end;
  2147. implementation eq
  2148. equations
  2149. p2.f = p1.f;
  2150. p1.e = p2.e;
  2151. flow = p1.f;
  2152. implementation_end;
  2153. Hmatrix 256 312
  2154. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  2155. type 'Submodel-Equation'
  2156. ports
  2157. signal in flow [6,1];
  2158. signal out H [4,4];
  2159. end;
  2160. icon bg
  2161. figures
  2162. rectangle 224 296 288 328 color 0 fill 15132390;
  2163. text 'name' 256 312 color 0 'Clear Sans' 16;
  2164. end;
  2165. implementation eq
  2166. parameters
  2167. real init[4] = [1;0;0;0];
  2168. variables
  2169. real q[4]; //quaternions
  2170. real W[3,4]; //Quaternion Rates Matrix
  2171. real R[3,3]; //Rotation Matrix
  2172. real p[3]; //Position Vector
  2173. real dq[4];
  2174. real Wb[3,4];
  2175. equations
  2176. dq = transpose(Wb) * flow[1:3] ./ 2;
  2177. q = int(dq,init);
  2178. p = int(flow[4:6]);
  2179. W = [-q[2], q[1], -q[4], q[3];
  2180. -q[3], q[4], q[1], -q[2];
  2181. -q[4], -q[3], q[2], q[1]];
  2182. Wb = [ -q[2], q[1], q[4], -q[3];
  2183. -q[3], -q[4], q[1], q[2];
  2184. -q[4], q[3], -q[2], q[1]];
  2185. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  2186. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  2187. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  2188. H = homogeneous(R,p);
  2189. implementation_end;
  2190. MatrixMul 320 576
  2191. description '<Description>
  2192. <Version>4.0</Version>
  2193. <IsMainModel>1</IsMainModel>
  2194. <KeepParameterValues>False</KeepParameterValues>
  2195. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2196. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2197. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2198. </Description>';
  2199. type Gain
  2200. ports
  2201. signal in input1 [4,4];
  2202. signal out output [4,4];
  2203. signal in input2 [4,4];
  2204. end;
  2205. icon bg bottom
  2206. figures
  2207. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2208. text 'X' 320 576 color 16711680 16 bold;
  2209. end;
  2210. implementation eq
  2211. equations
  2212. output = input2*input1; implementation_end;
  2213. plug Pin 492.1 424;
  2214. plug Pdiff 184 225;
  2215. plug Hin 130.8 576;
  2216. plug Hout 478.4 576;
  2217. plug Hdiff 320 222;
  2218. plug Pout 134.7 424;
  2219. Splitter2 320 312
  2220. description '<Description><Version>4.0</Version>
  2221. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2222. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2223. <IsMainModel>1</IsMainModel>
  2224. <KeepParameterValues>False</KeepParameterValues>
  2225. </Description>';
  2226. knot Splitter
  2227. ports
  2228. signal knot duplicatable out output [4,4];
  2229. signal knot in input [4,4];
  2230. end;
  2231. icon bg ellipse
  2232. figures
  2233. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2234. ellipse 315.7 307.7 324.3 316.3 color -1;
  2235. terminals
  2236. input 320 312 fixed;
  2237. end;
  2238. implementation eq
  2239. equations
  2240. collect (output) = input;
  2241. implementation_end;
  2242. Wbai 184 424
  2243. description '<Description>
  2244. <Version>4.0</Version>
  2245. <IsMainModel>1</IsMainModel>
  2246. <KeepParameterValues>False</KeepParameterValues>
  2247. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2248. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2249. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2250. </Description>';
  2251. knot ZeroJunction
  2252. ports
  2253. power knot duplicatable none p [6,1];
  2254. signal knot out effort [6,1];
  2255. restrictions
  2256. causality constraint one_in p;
  2257. end;
  2258. icon bg bottom
  2259. figures
  2260. text '0' 184 424 color 0 18 bold;
  2261. end;
  2262. implementation eq
  2263. equations
  2264. sum (direct (p.f)) = 0;
  2265. equal (collect (p.e));
  2266. effort = first (p.e);
  2267. implementation_end;
  2268. end;
  2269. connections
  2270. FlowSensor2\flow -> Hmatrix\flow;
  2271. FlowSensor2\p2 => Wbai\p;
  2272. Hin -> MatrixMul\input2;
  2273. Hmatrix\H -> Splitter2\input;
  2274. MatrixMul\output -> Hout;
  2275. Pdiff => FlowSensor2\p1;
  2276. Pin => AdHji\p2;
  2277. Splitter2\output -> AdHji\H 424 312;
  2278. Splitter2\output -> Hdiff;
  2279. Splitter2\output -> MatrixMul\input1;
  2280. Wbai\p <= AdHji\p1;
  2281. Wbai\p => Pout;
  2282. end;
  2283. implementation_end;
  2284. JointE 200 168
  2285. description '<Information>
  2286. <Description>
  2287. <Version>4.8</Version>
  2288. <IsMainModel>1</IsMainModel>
  2289. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2290. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2291. </Description>
  2292. </Information>';
  2293. type 'Submodel-v3'
  2294. ports
  2295. power in Pin [6,1];
  2296. power in Pdiff [6,1];
  2297. signal in Hin [4,4];
  2298. signal out Hout [4,4];
  2299. signal out Hdiff [4,4];
  2300. power out Pout [6,1];
  2301. end;
  2302. icon bg bottom
  2303. figures
  2304. rectangle 168 144 232 192 color 0 fill 14745599;
  2305. text 'Joint' 200 168 color 0 'Clear Sans' 16;
  2306. terminals
  2307. Pin 184 144 fixed;
  2308. Hin 216 192 fixed;
  2309. Hout 216 144 fixed;
  2310. Pout 184 192 fixed;
  2311. end;
  2312. implementation bg
  2313. submodels
  2314. AdHji 424 424
  2315. description '<Description>
  2316. <Version>4.0</Version>
  2317. <IsMainModel>1</IsMainModel>
  2318. <KeepParameterValues>False</KeepParameterValues>
  2319. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2320. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2321. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2322. </Description>';
  2323. type MTF
  2324. ports
  2325. power out p1 [6,1];
  2326. power in p2 [6,1];
  2327. signal in H [4,4];
  2328. restrictions
  2329. causality constraint not_equal p1 p2;
  2330. end;
  2331. icon bg bottom
  2332. figures
  2333. text 'MTF' 424 424 color 0 18 bold;
  2334. end;
  2335. implementation eq
  2336. equations
  2337. p2.e = transpose(Adjoint(H)) * p1.e;
  2338. p1.f = Adjoint(H) * p2.f;implementation_end;
  2339. FlowSensor2 184 311.9
  2340. description '<Information>
  2341. <Description>
  2342. <Version>4.2</Version>
  2343. <IsMainModel>1</IsMainModel>
  2344. <KeepParameterValues>False</KeepParameterValues>
  2345. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2346. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2347. </Description>
  2348. </Information>';
  2349. knot FlowSensor
  2350. ports
  2351. power knot in p1 [6,1];
  2352. power knot out p2 [6,1];
  2353. signal knot out flow [6,1];
  2354. restrictions
  2355. causality constraint not_equal p1 p2;
  2356. end;
  2357. icon bg ellipse
  2358. figures
  2359. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2360. text 'f' 184 311.2 color 0;
  2361. end;
  2362. implementation eq
  2363. equations
  2364. p2.f = p1.f;
  2365. p1.e = p2.e;
  2366. flow = p1.f;
  2367. implementation_end;
  2368. Hmatrix 256 312
  2369. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  2370. type 'Submodel-Equation'
  2371. ports
  2372. signal in flow [6,1];
  2373. signal out H [4,4];
  2374. end;
  2375. icon bg
  2376. figures
  2377. rectangle 224 296 288 328 color 0 fill 15132390;
  2378. text 'name' 256 312 color 0 'Clear Sans' 16;
  2379. end;
  2380. implementation eq
  2381. parameters
  2382. real init[4] = [1;0;0;0];
  2383. variables
  2384. real q[4]; //quaternions
  2385. real W[3,4]; //Quaternion Rates Matrix
  2386. real R[3,3]; //Rotation Matrix
  2387. real p[3]; //Position Vector
  2388. real dq[4];
  2389. real Wb[3,4];
  2390. equations
  2391. dq = transpose(Wb) * flow[1:3] ./ 2;
  2392. q = int(dq,init);
  2393. p = int(flow[4:6]);
  2394. W = [-q[2], q[1], -q[4], q[3];
  2395. -q[3], q[4], q[1], -q[2];
  2396. -q[4], -q[3], q[2], q[1]];
  2397. Wb = [ -q[2], q[1], q[4], -q[3];
  2398. -q[3], -q[4], q[1], q[2];
  2399. -q[4], q[3], -q[2], q[1]];
  2400. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  2401. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  2402. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  2403. H = homogeneous(R,p);
  2404. implementation_end;
  2405. MatrixMul 320 576
  2406. description '<Description>
  2407. <Version>4.0</Version>
  2408. <IsMainModel>1</IsMainModel>
  2409. <KeepParameterValues>False</KeepParameterValues>
  2410. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2411. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2412. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2413. </Description>';
  2414. type Gain
  2415. ports
  2416. signal in input1 [4,4];
  2417. signal out output [4,4];
  2418. signal in input2 [4,4];
  2419. end;
  2420. icon bg bottom
  2421. figures
  2422. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2423. text 'X' 320 576 color 16711680 16 bold;
  2424. end;
  2425. implementation eq
  2426. equations
  2427. output = input2*input1; implementation_end;
  2428. plug Pin 492.1 424;
  2429. plug Pdiff 184 225;
  2430. plug Hin 130.8 576;
  2431. plug Hout 478.4 576;
  2432. plug Hdiff 320 222;
  2433. plug Pout 134.7 424;
  2434. Splitter2 320 312
  2435. description '<Description><Version>4.0</Version>
  2436. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2437. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2438. <IsMainModel>1</IsMainModel>
  2439. <KeepParameterValues>False</KeepParameterValues>
  2440. </Description>';
  2441. knot Splitter
  2442. ports
  2443. signal knot duplicatable out output [4,4];
  2444. signal knot in input [4,4];
  2445. end;
  2446. icon bg ellipse
  2447. figures
  2448. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2449. ellipse 315.7 307.7 324.3 316.3 color -1;
  2450. terminals
  2451. input 320 312 fixed;
  2452. end;
  2453. implementation eq
  2454. equations
  2455. collect (output) = input;
  2456. implementation_end;
  2457. Wbai 184 424
  2458. description '<Description>
  2459. <Version>4.0</Version>
  2460. <IsMainModel>1</IsMainModel>
  2461. <KeepParameterValues>False</KeepParameterValues>
  2462. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2463. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2464. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2465. </Description>';
  2466. knot ZeroJunction
  2467. ports
  2468. power knot duplicatable none p [6,1];
  2469. signal knot out effort [6,1];
  2470. restrictions
  2471. causality constraint one_in p;
  2472. end;
  2473. icon bg bottom
  2474. figures
  2475. text '0' 184 424 color 0 18 bold;
  2476. end;
  2477. implementation eq
  2478. equations
  2479. sum (direct (p.f)) = 0;
  2480. equal (collect (p.e));
  2481. effort = first (p.e);
  2482. implementation_end;
  2483. end;
  2484. connections
  2485. FlowSensor2\flow -> Hmatrix\flow;
  2486. FlowSensor2\p2 => Wbai\p;
  2487. Hin -> MatrixMul\input2;
  2488. Hmatrix\H -> Splitter2\input;
  2489. MatrixMul\output -> Hout;
  2490. Pdiff => FlowSensor2\p1;
  2491. Pin => AdHji\p2;
  2492. Splitter2\output -> AdHji\H 424 312;
  2493. Splitter2\output -> Hdiff;
  2494. Splitter2\output -> MatrixMul\input1;
  2495. Wbai\p <= AdHji\p1;
  2496. Wbai\p => Pout;
  2497. end;
  2498. implementation_end;
  2499. JointF 864 128
  2500. description '<Information>
  2501. <Description>
  2502. <Version>4.8</Version>
  2503. <IsMainModel>1</IsMainModel>
  2504. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2505. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2506. </Description>
  2507. </Information>';
  2508. type 'Submodel-v3'
  2509. ports
  2510. power in Pin [6,1];
  2511. power in Pdiff [6,1];
  2512. signal in Hin [4,4];
  2513. signal out Hout [4,4];
  2514. signal out Hdiff [4,4];
  2515. power out Pout [6,1];
  2516. end;
  2517. icon bg bottom
  2518. figures
  2519. rectangle 840 96 888 160 color 0 fill 14745599;
  2520. text 'Joint' 864 128 color 0 'Clear Sans' 16;
  2521. terminals
  2522. Pin 888 112 fixed;
  2523. Hin 840 144 fixed;
  2524. Hout 888 144 fixed;
  2525. Pout 840 112 fixed;
  2526. end;
  2527. implementation bg
  2528. submodels
  2529. AdHji 424 424
  2530. description '<Description>
  2531. <Version>4.0</Version>
  2532. <IsMainModel>1</IsMainModel>
  2533. <KeepParameterValues>False</KeepParameterValues>
  2534. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2535. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2536. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2537. </Description>';
  2538. type MTF
  2539. ports
  2540. power out p1 [6,1];
  2541. power in p2 [6,1];
  2542. signal in H [4,4];
  2543. restrictions
  2544. causality constraint not_equal p1 p2;
  2545. end;
  2546. icon bg bottom
  2547. figures
  2548. text 'MTF' 424 424 color 0 18 bold;
  2549. end;
  2550. implementation eq
  2551. equations
  2552. p2.e = transpose(Adjoint(H)) * p1.e;
  2553. p1.f = Adjoint(H) * p2.f;implementation_end;
  2554. FlowSensor2 184 311.9
  2555. description '<Information>
  2556. <Description>
  2557. <Version>4.2</Version>
  2558. <IsMainModel>1</IsMainModel>
  2559. <KeepParameterValues>False</KeepParameterValues>
  2560. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2561. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2562. </Description>
  2563. </Information>';
  2564. knot FlowSensor
  2565. ports
  2566. power knot in p1 [6,1];
  2567. power knot out p2 [6,1];
  2568. signal knot out flow [6,1];
  2569. restrictions
  2570. causality constraint not_equal p1 p2;
  2571. end;
  2572. icon bg ellipse
  2573. figures
  2574. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2575. text 'f' 184 311.2 color 0;
  2576. end;
  2577. implementation eq
  2578. equations
  2579. p2.f = p1.f;
  2580. p1.e = p2.e;
  2581. flow = p1.f;
  2582. implementation_end;
  2583. Hmatrix 256 312
  2584. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  2585. type 'Submodel-Equation'
  2586. ports
  2587. signal in flow [6,1];
  2588. signal out H [4,4];
  2589. end;
  2590. icon bg
  2591. figures
  2592. rectangle 224 296 288 328 color 0 fill 15132390;
  2593. text 'name' 256 312 color 0 'Clear Sans' 16;
  2594. end;
  2595. implementation eq
  2596. parameters
  2597. real init[4] = [1;0;0;0];
  2598. variables
  2599. real q[4]; //quaternions
  2600. real W[3,4]; //Quaternion Rates Matrix
  2601. real R[3,3]; //Rotation Matrix
  2602. real p[3]; //Position Vector
  2603. real dq[4];
  2604. real Wb[3,4];
  2605. equations
  2606. dq = transpose(Wb) * flow[1:3] ./ 2;
  2607. q = int(dq,init);
  2608. p = int(flow[4:6]);
  2609. W = [-q[2], q[1], -q[4], q[3];
  2610. -q[3], q[4], q[1], -q[2];
  2611. -q[4], -q[3], q[2], q[1]];
  2612. Wb = [ -q[2], q[1], q[4], -q[3];
  2613. -q[3], -q[4], q[1], q[2];
  2614. -q[4], q[3], -q[2], q[1]];
  2615. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  2616. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  2617. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  2618. H = homogeneous(R,p);
  2619. implementation_end;
  2620. MatrixMul 320 576
  2621. description '<Description>
  2622. <Version>4.0</Version>
  2623. <IsMainModel>1</IsMainModel>
  2624. <KeepParameterValues>False</KeepParameterValues>
  2625. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2626. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2627. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2628. </Description>';
  2629. type Gain
  2630. ports
  2631. signal in input1 [4,4];
  2632. signal out output [4,4];
  2633. signal in input2 [4,4];
  2634. end;
  2635. icon bg bottom
  2636. figures
  2637. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2638. text 'X' 320 576 color 16711680 16 bold;
  2639. end;
  2640. implementation eq
  2641. equations
  2642. output = input2*input1; implementation_end;
  2643. plug Pin 492.1 424;
  2644. plug Pdiff 184 225;
  2645. plug Hin 130.8 576;
  2646. plug Hout 478.4 576;
  2647. plug Hdiff 320 222;
  2648. plug Pout 134.7 424;
  2649. Splitter2 320 312
  2650. description '<Description><Version>4.0</Version>
  2651. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2652. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2653. <IsMainModel>1</IsMainModel>
  2654. <KeepParameterValues>False</KeepParameterValues>
  2655. </Description>';
  2656. knot Splitter
  2657. ports
  2658. signal knot duplicatable out output [4,4];
  2659. signal knot in input [4,4];
  2660. end;
  2661. icon bg ellipse
  2662. figures
  2663. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2664. ellipse 315.7 307.7 324.3 316.3 color -1;
  2665. terminals
  2666. input 320 312 fixed;
  2667. end;
  2668. implementation eq
  2669. equations
  2670. collect (output) = input;
  2671. implementation_end;
  2672. Wbai 184 424
  2673. description '<Description>
  2674. <Version>4.0</Version>
  2675. <IsMainModel>1</IsMainModel>
  2676. <KeepParameterValues>False</KeepParameterValues>
  2677. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2678. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2679. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2680. </Description>';
  2681. knot ZeroJunction
  2682. ports
  2683. power knot duplicatable none p [6,1];
  2684. signal knot out effort [6,1];
  2685. restrictions
  2686. causality constraint one_in p;
  2687. end;
  2688. icon bg bottom
  2689. figures
  2690. text '0' 184 424 color 0 18 bold;
  2691. end;
  2692. implementation eq
  2693. equations
  2694. sum (direct (p.f)) = 0;
  2695. equal (collect (p.e));
  2696. effort = first (p.e);
  2697. implementation_end;
  2698. end;
  2699. connections
  2700. FlowSensor2\flow -> Hmatrix\flow;
  2701. FlowSensor2\p2 => Wbai\p;
  2702. Hin -> MatrixMul\input2;
  2703. Hmatrix\H -> Splitter2\input;
  2704. MatrixMul\output -> Hout;
  2705. Pdiff => FlowSensor2\p1;
  2706. Pin => AdHji\p2;
  2707. Splitter2\output -> AdHji\H 424 312;
  2708. Splitter2\output -> Hdiff;
  2709. Splitter2\output -> MatrixMul\input1;
  2710. Wbai\p <= AdHji\p1;
  2711. Wbai\p => Pout;
  2712. end;
  2713. implementation_end;
  2714. Joint_dynA 712 512
  2715. description '<Description>
  2716. <Version>4.8</Version>
  2717. <IsMainModel>1</IsMainModel>
  2718. </Description>';
  2719. type Submodel
  2720. ports
  2721. power out output [6,1];
  2722. signal in angle {rad} ;
  2723. end;
  2724. implementation bg
  2725. submodels
  2726. C 264 200
  2727. description '<Information>
  2728. <Description>
  2729. <Version>4.2</Version>
  2730. <IsMainModel>1</IsMainModel>
  2731. <KeepParameterValues>False</KeepParameterValues>
  2732. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  2733. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  2734. </Description>
  2735. </Information>';
  2736. type C
  2737. ports
  2738. power in p;
  2739. signal out state;
  2740. restrictions
  2741. causality preferred out p;
  2742. end;
  2743. icon bg bottom
  2744. figures
  2745. text 'C' 264 200 color 0 18 bold;
  2746. end;
  2747. implementation eq
  2748. parameters
  2749. real c = 0.001;
  2750. equations
  2751. state = int(p.f);
  2752. p.e = state / c;
  2753. implementation_end;
  2754. C1 191.8 216.2
  2755. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2756. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  2757. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  2758. </Description>';
  2759. type 'C-3'
  2760. ports
  2761. power in p [3,1];
  2762. signal out state [3,1];
  2763. restrictions
  2764. causality preferred out p;
  2765. end;
  2766. icon bg top
  2767. figures
  2768. text 'C' 191.8 216.2 color 0 18 bold;
  2769. end;
  2770. implementation eq
  2771. parameters
  2772. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  2773. equations
  2774. state = int(p.f);
  2775. p.e = inverse(c) *state;
  2776. implementation_end;
  2777. C4 191.8 232.2
  2778. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2779. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  2780. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  2781. </Description>';
  2782. type 'C-2'
  2783. ports
  2784. power in p [2,1];
  2785. signal out state [2,1];
  2786. restrictions
  2787. causality preferred out p;
  2788. end;
  2789. icon bg bottom
  2790. figures
  2791. text 'C' 191.8 232.2 color 0 18 bold;
  2792. end;
  2793. implementation eq
  2794. parameters
  2795. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  2796. equations
  2797. state = int(p.f);
  2798. p.e = inverse(c) *state;
  2799. implementation_end;
  2800. plug output 468 216;
  2801. plug angle 224 80;
  2802. OneJunction5 239.8 232.2
  2803. description '<Information>
  2804. <Description>
  2805. <Version>4.2</Version>
  2806. <IsMainModel>1</IsMainModel>
  2807. <KeepParameterValues>False</KeepParameterValues>
  2808. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2809. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2810. </Description>
  2811. </Information>';
  2812. knot OneJunction
  2813. ports
  2814. power knot duplicatable none p [2,1];
  2815. signal knot out flow [2,1];
  2816. restrictions
  2817. causality constraint one_out p;
  2818. end;
  2819. icon bg
  2820. figures
  2821. text '1' 239.8 232.2 color 0 18 bold;
  2822. end;
  2823. implementation eq
  2824. equations
  2825. sum (direct (p.e)) = 0;
  2826. equal (collect (p.f));
  2827. flow = first (p.f);
  2828. implementation_end;
  2829. OneJunction7 239.8 216.2
  2830. description '<Information>
  2831. <Description>
  2832. <Version>4.2</Version>
  2833. <IsMainModel>1</IsMainModel>
  2834. <KeepParameterValues>False</KeepParameterValues>
  2835. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2836. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2837. </Description>
  2838. </Information>';
  2839. knot OneJunction
  2840. ports
  2841. power knot duplicatable none p [3,1];
  2842. signal knot out flow [3,1];
  2843. restrictions
  2844. causality constraint one_out p;
  2845. end;
  2846. icon bg
  2847. figures
  2848. text '1' 239.8 216.2 color 0 18 bold;
  2849. end;
  2850. implementation eq
  2851. equations
  2852. sum (direct (p.e)) = 0;
  2853. equal (collect (p.f));
  2854. flow = first (p.f);
  2855. implementation_end;
  2856. OneJunction8 312 200
  2857. description '<Information>
  2858. <Description>
  2859. <Version>4.2</Version>
  2860. <IsMainModel>1</IsMainModel>
  2861. <KeepParameterValues>False</KeepParameterValues>
  2862. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2863. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2864. </Description>
  2865. </Information>';
  2866. knot OneJunction
  2867. ports
  2868. rotation knot duplicatable none p [1];
  2869. signal knot out flow [1];
  2870. restrictions
  2871. causality constraint one_out p;
  2872. end;
  2873. icon bg
  2874. figures
  2875. text '1' 312 200 color 0 18 bold;
  2876. end;
  2877. implementation eq
  2878. equations
  2879. sum (direct (p.e)) = 0;
  2880. equal (collect (p.f));
  2881. flow = first (p.f);
  2882. implementation_end;
  2883. PowerMux 402 216
  2884. specifications active 'rot_x'
  2885. specification 'rot_x'
  2886. description '<Information>
  2887. <Description>
  2888. <Version>4.8</Version>
  2889. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  2890. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  2891. <IsMainModel>1</IsMainModel>
  2892. <KeepParameterValues>False</KeepParameterValues>
  2893. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2894. </Description>
  2895. </Information>';
  2896. type 'PowerMux-Rotation'
  2897. ports
  2898. power in input;
  2899. power out output [6,1];
  2900. power in input_rot2 [2,1];
  2901. power in input_pos3 [3,1];
  2902. restrictions
  2903. causality constraint not_equal input output;
  2904. causality constraint not_equal input_rot2 output;
  2905. causality constraint not_equal input_pos3 output;
  2906. end;
  2907. icon bg bottom
  2908. figures
  2909. line 400 192 400 240 color 0 width 2;
  2910. rectangle 396 192 408 240 color -1;
  2911. text '1' 405 210 color 8421504 8;
  2912. terminals
  2913. input 400 200 fixed;
  2914. output 400 216 fixed;
  2915. input_rot2 400 232 fixed;
  2916. input_pos3 400 216 fixed;
  2917. end;
  2918. implementation eq
  2919. equations
  2920. output.e[1] = input.e;
  2921. output.e[2:3] = input_rot2.e;
  2922. output.e[4:6] = input_pos3.e;
  2923. output.f[1] = input.f;
  2924. output.f[2:3] = input_rot2.f;
  2925. output.f[4:6] = input_pos3.f;implementation_end;
  2926. specification_end;
  2927. specification 'rot_y'
  2928. description '<Description>
  2929. <Version>4.1</Version>
  2930. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  2931. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  2932. <IsMainModel>1</IsMainModel>
  2933. <KeepParameterValues>False</KeepParameterValues>
  2934. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2935. </Description>';
  2936. type PowerMux
  2937. ports
  2938. power in input;
  2939. power out output [6,1];
  2940. power in input_rot2 [2,1];
  2941. power in input_pos3 [3,1];
  2942. restrictions
  2943. causality constraint not_equal input output;
  2944. causality constraint not_equal input_rot2 output;
  2945. causality constraint not_equal input_pos3 output;
  2946. end;
  2947. icon bg bottom
  2948. figures
  2949. line 242 274 290 274 color 0 width 2;
  2950. rectangle 242 266 290 278 color -1;
  2951. text '1' 260 269 color 8421504 8;
  2952. terminals
  2953. input 250 274 fixed;
  2954. output 266 274 fixed;
  2955. input_rot2 282 274 fixed;
  2956. input_pos3 266 274 fixed;
  2957. end;
  2958. implementation eq
  2959. equations
  2960. output.e[1] = input_rot2.e[1];
  2961. output.e[2] = input.e;
  2962. output.e[3] = input_rot2.e[2];
  2963. output.e[4:6] = input_pos3.e;
  2964. output.f[1] = input_rot2.f[1];
  2965. output.f[2] = input.f;
  2966. output.f[3] = input_rot2.f[2];
  2967. output.f[4:6] = input_pos3.f;implementation_end;
  2968. specification_end;
  2969. specification 'rot_z'
  2970. description '<Information>
  2971. <Description>
  2972. <Version>4.8</Version>
  2973. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  2974. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  2975. <IsMainModel>1</IsMainModel>
  2976. <KeepParameterValues>False</KeepParameterValues>
  2977. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2978. </Description>
  2979. </Information>';
  2980. type PowerMux
  2981. ports
  2982. power in input;
  2983. power out output [6,1];
  2984. power in input_rot2 [2,1];
  2985. power in input_pos3 [3,1];
  2986. restrictions
  2987. causality constraint not_equal input output;
  2988. causality constraint not_equal input_rot2 output;
  2989. causality constraint not_equal input_pos3 output;
  2990. end;
  2991. icon bg bottom
  2992. figures
  2993. line 242 274 290 274 color 0 width 2;
  2994. rectangle 242 266 290 278 color -1;
  2995. text '1' 260 269 color 8421504 8;
  2996. terminals
  2997. input 250 274 fixed;
  2998. output 266 274 fixed;
  2999. input_rot2 282 274 fixed;
  3000. input_pos3 266 274 fixed;
  3001. end;
  3002. implementation eq
  3003. equations
  3004. output.e[3] = input.e;
  3005. output.e[1:2] = input_rot2.e;
  3006. output.e[4:6] = input_pos3.e;
  3007. output.f[3] = input.f;
  3008. output.f[1:2] = input_rot2.f;
  3009. output.f[4:6] = input_pos3.f;implementation_end;
  3010. specification_end;
  3011. end;
  3012. R 312 152
  3013. description '<Information>
  3014. <Description>
  3015. <Version>4.2</Version>
  3016. <IsMainModel>1</IsMainModel>
  3017. <KeepParameterValues>False</KeepParameterValues>
  3018. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3019. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3020. </Description>
  3021. </Information>';
  3022. type R
  3023. ports
  3024. power in p;
  3025. end;
  3026. icon bg bottom
  3027. figures
  3028. text 'R' 312 152 color 0 18 bold;
  3029. end;
  3030. implementation eq
  3031. parameters
  3032. real r = 100;
  3033. equations
  3034. p.e = r * p.f;
  3035. implementation_end;
  3036. R4 239.8 288.2
  3037. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3038. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  3039. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  3040. </Description>';
  3041. type 'R-2'
  3042. ports
  3043. power in p [2,1];
  3044. end;
  3045. icon bg bottom
  3046. figures
  3047. text 'R' 239.8 288.2 color 0 18 bold;
  3048. end;
  3049. implementation eq
  3050. parameters
  3051. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  3052. equations
  3053. p.e = r * p.f;
  3054. implementation_end;
  3055. R5 239.8 168.2
  3056. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3057. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  3058. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  3059. </Description>';
  3060. type 'R-3'
  3061. ports
  3062. power in p [3,1];
  3063. end;
  3064. icon bg top
  3065. figures
  3066. text 'R' 239.8 168.2 color 0 18 bold;
  3067. end;
  3068. implementation eq
  3069. parameters
  3070. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  3071. equations
  3072. p.e = r * p.f;
  3073. implementation_end;
  3074. stepper_model 360 80
  3075. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Motor\stepper_model.emx</LibraryPath><TimeStamp>2020-7-23 10:54:47</TimeStamp></Description><Attributes><GlobalRelations>parameters
  3076. real I_phase = 3.4 {mH};
  3077. real R_phase = 2.9 {ohm};
  3078. real u_max = 3.4 {V};
  3079. real RotorInertia = 5.6e-6 {kg.m2};
  3080. real StepperMass = 0.29 {kg};
  3081. real angle_step = 1.8 {deg};
  3082. real n_phase = 2 {none};
  3083. real fluxLinkage = 0.0022 {Wb};
  3084. real detentTorque = 0.01 {N.m};
  3085. variables
  3086. real omega;
  3087. real p; // rotor division
  3088. initialequations
  3089. p = 2 * pi / (2 * n_phase * angle_step);
  3090. omega = 200;</GlobalRelations></Attributes></Information>';
  3091. type Submodel
  3092. ports
  3093. signal in angle;
  3094. rotation out p;
  3095. end;
  3096. implementation bg
  3097. submodels
  3098. I 560 104
  3099. description '<Information>
  3100. <Description>
  3101. <Version>4.2</Version>
  3102. <IsMainModel>1</IsMainModel>
  3103. <KeepParameterValues>False</KeepParameterValues>
  3104. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3105. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3106. </Description>
  3107. </Information>';
  3108. type I
  3109. ports
  3110. power in p;
  3111. signal out state;
  3112. restrictions
  3113. causality preferred in p;
  3114. end;
  3115. icon bg bottom
  3116. figures
  3117. text 'I' 560 104 color 0 18 bold;
  3118. end;
  3119. implementation eq
  3120. parameters
  3121. real global I_phase;
  3122. equations
  3123. state = int(p.e);
  3124. p.f = state / I_phase;
  3125. implementation_end;
  3126. I1 608 328
  3127. description '<Information>
  3128. <Description>
  3129. <Version>4.2</Version>
  3130. <IsMainModel>1</IsMainModel>
  3131. <KeepParameterValues>False</KeepParameterValues>
  3132. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3133. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3134. </Description>
  3135. </Information>';
  3136. type I
  3137. ports
  3138. power in p;
  3139. signal out state;
  3140. restrictions
  3141. causality preferred in p;
  3142. end;
  3143. icon bg bottom
  3144. figures
  3145. text 'I' 608 328 color 0 18 bold;
  3146. end;
  3147. implementation eq
  3148. parameters
  3149. real global I_phase;
  3150. equations
  3151. state = int(p.e);
  3152. p.f = state / I_phase;
  3153. implementation_end;
  3154. I2 752 160
  3155. description '<Information>
  3156. <Description>
  3157. <Version>4.2</Version>
  3158. <IsMainModel>1</IsMainModel>
  3159. <KeepParameterValues>False</KeepParameterValues>
  3160. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3161. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3162. </Description>
  3163. </Information>';
  3164. type I
  3165. ports
  3166. power in p;
  3167. signal out state;
  3168. restrictions
  3169. causality preferred in p;
  3170. end;
  3171. icon bg bottom
  3172. figures
  3173. text 'I' 752 160 color 0 18 bold;
  3174. end;
  3175. implementation eq
  3176. parameters
  3177. real global RotorInertia;
  3178. equations
  3179. state = int(p.e);
  3180. p.f = state / (RotorInertia);
  3181. implementation_end;
  3182. MGY_a 656 160
  3183. description '<Information>
  3184. <Description>
  3185. <Version>4.2</Version>
  3186. <IsMainModel>1</IsMainModel>
  3187. <KeepParameterValues>False</KeepParameterValues>
  3188. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  3189. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  3190. </Description>
  3191. </Information>';
  3192. type MGY
  3193. ports
  3194. power in p1;
  3195. power out p2;
  3196. signal in r;
  3197. restrictions
  3198. causality constraint equal p1 p2;
  3199. end;
  3200. icon bg bottom
  3201. figures
  3202. text 'MGY' 656 160 color 0 18 bold;
  3203. end;
  3204. implementation eq
  3205. equations
  3206. p1.e = r * p2.f;
  3207. p2.e = r * p1.f;
  3208. implementation_end;
  3209. MGY_b 656 272
  3210. description '<Information>
  3211. <Description>
  3212. <Version>4.2</Version>
  3213. <IsMainModel>1</IsMainModel>
  3214. <KeepParameterValues>False</KeepParameterValues>
  3215. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  3216. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  3217. </Description>
  3218. </Information>';
  3219. type MGY
  3220. ports
  3221. power in p1;
  3222. power out p2;
  3223. signal in r;
  3224. restrictions
  3225. causality constraint equal p1 p2;
  3226. end;
  3227. icon bg bottom
  3228. figures
  3229. text 'MGY' 656 272 color 0 18 bold;
  3230. end;
  3231. implementation eq
  3232. equations
  3233. p1.e = r * p2.f;
  3234. p2.e = r * p1.f;
  3235. implementation_end;
  3236. MSe_a 512 160
  3237. description '<Information>
  3238. <Description>
  3239. <Version>4.2</Version>
  3240. <IsMainModel>1</IsMainModel>
  3241. <KeepParameterValues>False</KeepParameterValues>
  3242. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3243. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3244. </Description>
  3245. </Information>';
  3246. type MSe
  3247. ports
  3248. electric out p;
  3249. signal in effort;
  3250. restrictions
  3251. causality fixed out p;
  3252. end;
  3253. icon bg bottom
  3254. figures
  3255. text 'MSe' 512 160 color 0 18 bold;
  3256. end;
  3257. implementation eq
  3258. variables
  3259. real flow;
  3260. equations
  3261. p.e = effort;
  3262. flow = p.f;
  3263. implementation_end;
  3264. MSe_b 512 272
  3265. description '<Information>
  3266. <Description>
  3267. <Version>4.2</Version>
  3268. <IsMainModel>1</IsMainModel>
  3269. <KeepParameterValues>False</KeepParameterValues>
  3270. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3271. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3272. </Description>
  3273. </Information>';
  3274. type MSe
  3275. ports
  3276. electric out p;
  3277. signal in effort;
  3278. restrictions
  3279. causality fixed out p;
  3280. end;
  3281. icon bg bottom
  3282. figures
  3283. text 'MSe' 512 272 color 0 18 bold;
  3284. end;
  3285. implementation eq
  3286. variables
  3287. real flow;
  3288. equations
  3289. p.e = effort;
  3290. flow = p.f;
  3291. implementation_end;
  3292. plug angle 200 216;
  3293. plug p 1472 216;
  3294. OneJunction1 840 216
  3295. description '<Information>
  3296. <Description>
  3297. <Version>4.2</Version>
  3298. <IsMainModel>1</IsMainModel>
  3299. <KeepParameterValues>False</KeepParameterValues>
  3300. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3301. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3302. </Description>
  3303. </Information>';
  3304. knot OneJunction
  3305. ports
  3306. rotation knot duplicatable none p [1];
  3307. signal knot out flow [1];
  3308. restrictions
  3309. causality constraint one_out p;
  3310. end;
  3311. icon bg
  3312. figures
  3313. text '1' 840 216 color 0 18 bold;
  3314. end;
  3315. implementation eq
  3316. equations
  3317. sum (direct (p.e)) = 0;
  3318. equal (collect (p.f));
  3319. flow = first (p.f);
  3320. implementation_end;
  3321. OneJunction2 584 160
  3322. description '<Information>
  3323. <Description>
  3324. <Version>4.2</Version>
  3325. <IsMainModel>1</IsMainModel>
  3326. <KeepParameterValues>False</KeepParameterValues>
  3327. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3328. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3329. </Description>
  3330. </Information>';
  3331. knot OneJunction
  3332. ports
  3333. electric knot duplicatable none p [1];
  3334. signal knot out flow [1];
  3335. restrictions
  3336. causality constraint one_out p;
  3337. end;
  3338. icon bg
  3339. figures
  3340. text '1' 584 160 color 0 18 bold;
  3341. end;
  3342. implementation eq
  3343. equations
  3344. sum (direct (p.e)) = 0;
  3345. equal (collect (p.f));
  3346. flow = first (p.f);
  3347. implementation_end;
  3348. OneJunction3 584 272
  3349. description '<Information>
  3350. <Description>
  3351. <Version>4.2</Version>
  3352. <IsMainModel>1</IsMainModel>
  3353. <KeepParameterValues>False</KeepParameterValues>
  3354. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3355. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3356. </Description>
  3357. </Information>';
  3358. knot OneJunction
  3359. ports
  3360. electric knot duplicatable none p [1];
  3361. signal knot out flow [1];
  3362. restrictions
  3363. causality constraint one_out p;
  3364. end;
  3365. icon bg
  3366. figures
  3367. text '1' 584 272 color 0 18 bold;
  3368. end;
  3369. implementation eq
  3370. equations
  3371. sum (direct (p.e)) = 0;
  3372. equal (collect (p.f));
  3373. flow = first (p.f);
  3374. implementation_end;
  3375. OneJunction4 752 216
  3376. description '<Information>
  3377. <Description>
  3378. <Version>4.2</Version>
  3379. <IsMainModel>1</IsMainModel>
  3380. <KeepParameterValues>False</KeepParameterValues>
  3381. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3382. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3383. </Description>
  3384. </Information>';
  3385. knot OneJunction
  3386. ports
  3387. rotation knot duplicatable none p [1];
  3388. signal knot out flow [1];
  3389. restrictions
  3390. causality constraint one_out p;
  3391. end;
  3392. icon bg
  3393. figures
  3394. text '1' 752 216 color 0 18 bold;
  3395. end;
  3396. implementation eq
  3397. equations
  3398. sum (direct (p.e)) = 0;
  3399. equal (collect (p.f));
  3400. flow = first (p.f);
  3401. implementation_end;
  3402. phase_control 512 216
  3403. description '<Description><Version>4.0</Version>
  3404. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  3405. <IsMainModel>1</IsMainModel>
  3406. <KeepParameterValues>False</KeepParameterValues>
  3407. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  3408. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  3409. </Description>';
  3410. type Submodel
  3411. ports
  3412. signal in angle;
  3413. signal out a;
  3414. signal out b;
  3415. end;
  3416. icon bg
  3417. figures
  3418. rectangle 472 200 552 232 color 0 fill 15132390;
  3419. text 'name' 512 216 color 0 'Clear Sans' 16;
  3420. end;
  3421. implementation eq
  3422. parameters
  3423. real global u_max {V};
  3424. variables
  3425. real global p;
  3426. boolean hidden eventa, eventb;
  3427. equations
  3428. a = u_max * (cos (p*angle));
  3429. eventa = event(a);
  3430. b = u_max * -(sin (p*angle));
  3431. eventb = event(b);
  3432. implementation_end;
  3433. R 608 104
  3434. description '<Information>
  3435. <Description>
  3436. <Version>4.2</Version>
  3437. <IsMainModel>1</IsMainModel>
  3438. <KeepParameterValues>False</KeepParameterValues>
  3439. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3440. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3441. </Description>
  3442. </Information>';
  3443. type R
  3444. ports
  3445. power in p;
  3446. end;
  3447. icon bg bottom
  3448. figures
  3449. text 'R' 608 104 color 0 18 bold;
  3450. end;
  3451. implementation eq
  3452. parameters
  3453. real global R_phase;
  3454. equations
  3455. p.e = R_phase * p.f;
  3456. implementation_end;
  3457. R1 560 328
  3458. description '<Information>
  3459. <Description>
  3460. <Version>4.2</Version>
  3461. <IsMainModel>1</IsMainModel>
  3462. <KeepParameterValues>False</KeepParameterValues>
  3463. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3464. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3465. </Description>
  3466. </Information>';
  3467. type R
  3468. ports
  3469. power in p;
  3470. end;
  3471. icon bg bottom
  3472. figures
  3473. text 'R' 560 328 color 0 18 bold;
  3474. end;
  3475. implementation eq
  3476. parameters
  3477. real global R_phase;
  3478. equations
  3479. p.e = R_phase * p.f;
  3480. implementation_end;
  3481. R2 824 264
  3482. description '<Information>
  3483. <Description>
  3484. <Version>4.2</Version>
  3485. <IsMainModel>1</IsMainModel>
  3486. <KeepParameterValues>False</KeepParameterValues>
  3487. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3488. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3489. </Description>
  3490. </Information>';
  3491. type R
  3492. ports
  3493. power in p;
  3494. end;
  3495. icon bg bottom
  3496. figures
  3497. text 'R' 824 264 color 0 18 bold;
  3498. end;
  3499. implementation eq
  3500. parameters
  3501. real r = 1.0e-3;
  3502. equations
  3503. p.e = r * p.f;
  3504. implementation_end;
  3505. RotorAngle 656 216
  3506. description '<Description><Version>4.0</Version>
  3507. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  3508. <IsMainModel>1</IsMainModel>
  3509. <KeepParameterValues>False</KeepParameterValues>
  3510. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  3511. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  3512. </Description>';
  3513. type Submodel
  3514. ports
  3515. signal out output_b;
  3516. signal out output_a;
  3517. signal in omega {rad/s} ;
  3518. signal out output_d;
  3519. end;
  3520. icon bg
  3521. figures
  3522. rectangle 616 200 696 232 color 0 fill 15132390;
  3523. text 'name' 656 216 color 0 'Clear Sans' 16;
  3524. end;
  3525. implementation eq
  3526. parameters
  3527. real global fluxLinkage;
  3528. real global detentTorque;
  3529. variables
  3530. real global p;
  3531. real angle {rad};
  3532. equations
  3533. angle = int(omega,1.570796);
  3534. output_a = -p * fluxLinkage * sin(p * angle);
  3535. output_b = p * fluxLinkage * sin(p * angle - pi / 2);
  3536. output_d = detentTorque * sin(2 * p * angle);
  3537. implementation_end;
  3538. Se 752 272
  3539. description '<Information>
  3540. <Description>
  3541. <Version>4.2</Version>
  3542. <IsMainModel>1</IsMainModel>
  3543. <KeepParameterValues>False</KeepParameterValues>
  3544. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3545. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3546. </Description>
  3547. </Information>';
  3548. type MSe
  3549. ports
  3550. power out p;
  3551. signal in effort;
  3552. restrictions
  3553. causality fixed out p;
  3554. end;
  3555. icon bg bottom
  3556. figures
  3557. text 'MSe' 752 272 color 0 18 bold;
  3558. end;
  3559. implementation eq
  3560. variables
  3561. real flow;
  3562. equations
  3563. p.e = effort;
  3564. flow = p.f;
  3565. implementation_end;
  3566. end;
  3567. connections
  3568. angle -> phase_control\angle;
  3569. I2\p <= OneJunction4\p;
  3570. MGY_a\p2 => OneJunction4\p;
  3571. MGY_b\p2 => OneJunction4\p;
  3572. MSe_b\p => OneJunction3\p;
  3573. OneJunction1\p => p;
  3574. OneJunction2\p <= MSe_a\p;
  3575. OneJunction2\p => I\p;
  3576. OneJunction2\p => MGY_a\p1;
  3577. OneJunction2\p => R\p;
  3578. OneJunction3\p => I1\p;
  3579. OneJunction3\p => MGY_b\p1;
  3580. OneJunction3\p => R1\p;
  3581. OneJunction4\flow -> RotorAngle\omega;
  3582. OneJunction4\p => OneJunction1\p;
  3583. OneJunction4\p => R2\p;
  3584. phase_control\a -> MSe_a\effort;
  3585. phase_control\b -> MSe_b\effort;
  3586. RotorAngle\output_a -> MGY_a\r;
  3587. RotorAngle\output_b -> MGY_b\r;
  3588. RotorAngle\output_d -> Se\effort;
  3589. Se\p => OneJunction4\p;
  3590. end;
  3591. implementation_end;
  3592. ZeroJunction1 360 200
  3593. description '<Information>
  3594. <Description>
  3595. <Version>4.2</Version>
  3596. <IsMainModel>1</IsMainModel>
  3597. <KeepParameterValues>False</KeepParameterValues>
  3598. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  3599. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  3600. </Description>
  3601. </Information>';
  3602. knot ZeroJunction
  3603. ports
  3604. rotation knot duplicatable none p [1];
  3605. signal knot out effort [1];
  3606. restrictions
  3607. causality constraint one_in p;
  3608. end;
  3609. icon bg
  3610. figures
  3611. text '0' 360 200 color 0 18 bold;
  3612. end;
  3613. implementation eq
  3614. equations
  3615. sum (direct (p.f)) = 0;
  3616. equal (collect (p.e));
  3617. effort = first (p.e);
  3618. implementation_end;
  3619. end;
  3620. connections
  3621. angle -> stepper_model\angle;
  3622. C\p <= OneJunction8\p;
  3623. C1\p <= OneJunction7\p;
  3624. OneJunction5\p => C4\p;
  3625. OneJunction5\p => PowerMux\input_rot2;
  3626. OneJunction5\p => R4\p;
  3627. OneJunction7\p => PowerMux\input_pos3;
  3628. OneJunction7\p => R5\p;
  3629. OneJunction8\p => R\p;
  3630. OneJunction8\p => ZeroJunction1\p;
  3631. PowerMux\input <= ZeroJunction1\p;
  3632. PowerMux\output => output;
  3633. ZeroJunction1\p <= stepper_model\p;
  3634. end;
  3635. implementation_end;
  3636. Joint_dynB 456 192
  3637. description '<Description>
  3638. <Version>4.8</Version>
  3639. <IsMainModel>1</IsMainModel>
  3640. </Description>';
  3641. type Submodel
  3642. ports
  3643. power out output [6,1];
  3644. end;
  3645. icon bg
  3646. figures
  3647. rectangle 416 176 496 208 color 0 fill 55295;
  3648. text 'name' 456 192 color 0 'Clear Sans' 16;
  3649. end;
  3650. implementation bg
  3651. submodels
  3652. C1 191.8 216.2
  3653. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3654. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  3655. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  3656. </Description>';
  3657. type 'C-3'
  3658. ports
  3659. power in p [3,1];
  3660. signal out state [3,1];
  3661. restrictions
  3662. causality preferred out p;
  3663. end;
  3664. icon bg top
  3665. figures
  3666. text 'C' 191.8 216.2 color 0 18 bold;
  3667. end;
  3668. implementation eq
  3669. parameters
  3670. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  3671. equations
  3672. state = int(p.f);
  3673. p.e = inverse(c) *state;
  3674. implementation_end;
  3675. C4 191.8 232.2
  3676. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3677. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  3678. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  3679. </Description>';
  3680. type 'C-2'
  3681. ports
  3682. power in p [2,1];
  3683. signal out state [2,1];
  3684. restrictions
  3685. causality preferred out p;
  3686. end;
  3687. icon bg bottom
  3688. figures
  3689. text 'C' 191.8 232.2 color 0 18 bold;
  3690. end;
  3691. implementation eq
  3692. parameters
  3693. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  3694. equations
  3695. state = int(p.f);
  3696. p.e = inverse(c) *state;
  3697. implementation_end;
  3698. plug output 396 216;
  3699. OneJunction5 239.8 232.2
  3700. description '<Information>
  3701. <Description>
  3702. <Version>4.2</Version>
  3703. <IsMainModel>1</IsMainModel>
  3704. <KeepParameterValues>False</KeepParameterValues>
  3705. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3706. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3707. </Description>
  3708. </Information>';
  3709. knot OneJunction
  3710. ports
  3711. power knot duplicatable none p [2,1];
  3712. signal knot out flow [2,1];
  3713. restrictions
  3714. causality constraint one_out p;
  3715. end;
  3716. icon bg
  3717. figures
  3718. text '1' 239.8 232.2 color 0 18 bold;
  3719. end;
  3720. implementation eq
  3721. equations
  3722. sum (direct (p.e)) = 0;
  3723. equal (collect (p.f));
  3724. flow = first (p.f);
  3725. implementation_end;
  3726. OneJunction7 239.8 216.2
  3727. description '<Information>
  3728. <Description>
  3729. <Version>4.2</Version>
  3730. <IsMainModel>1</IsMainModel>
  3731. <KeepParameterValues>False</KeepParameterValues>
  3732. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3733. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3734. </Description>
  3735. </Information>';
  3736. knot OneJunction
  3737. ports
  3738. power knot duplicatable none p [3,1];
  3739. signal knot out flow [3,1];
  3740. restrictions
  3741. causality constraint one_out p;
  3742. end;
  3743. icon bg
  3744. figures
  3745. text '1' 239.8 216.2 color 0 18 bold;
  3746. end;
  3747. implementation eq
  3748. equations
  3749. sum (direct (p.e)) = 0;
  3750. equal (collect (p.f));
  3751. flow = first (p.f);
  3752. implementation_end;
  3753. OneJunction8 288 200
  3754. description '<Information>
  3755. <Description>
  3756. <Version>4.2</Version>
  3757. <IsMainModel>1</IsMainModel>
  3758. <KeepParameterValues>False</KeepParameterValues>
  3759. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3760. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3761. </Description>
  3762. </Information>';
  3763. knot OneJunction
  3764. ports
  3765. power knot duplicatable none p [1];
  3766. signal knot out flow [1];
  3767. restrictions
  3768. causality constraint one_out p;
  3769. end;
  3770. icon bg
  3771. figures
  3772. text '1' 288 200 color 0 18 bold;
  3773. end;
  3774. implementation eq
  3775. equations
  3776. sum (direct (p.e)) = 0;
  3777. equal (collect (p.f));
  3778. flow = first (p.f);
  3779. implementation_end;
  3780. PowerMux 330 216
  3781. specifications active 'rot_x'
  3782. specification 'rot_x'
  3783. description '<Information>
  3784. <Description>
  3785. <Version>4.8</Version>
  3786. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  3787. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  3788. <IsMainModel>1</IsMainModel>
  3789. <KeepParameterValues>False</KeepParameterValues>
  3790. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3791. </Description>
  3792. </Information>';
  3793. type 'PowerMux-Rotation'
  3794. ports
  3795. power in input;
  3796. power out output [6,1];
  3797. power in input_rot2 [2,1];
  3798. power in input_pos3 [3,1];
  3799. restrictions
  3800. causality constraint not_equal input output;
  3801. causality constraint not_equal input_rot2 output;
  3802. causality constraint not_equal input_pos3 output;
  3803. end;
  3804. icon bg bottom
  3805. figures
  3806. line 328 192 328 240 color 0 width 2;
  3807. rectangle 324 192 336 240 color -1;
  3808. text '1' 333 210 color 8421504 8;
  3809. terminals
  3810. input 328 200 fixed;
  3811. output 328 216 fixed;
  3812. input_rot2 328 232 fixed;
  3813. input_pos3 328 216 fixed;
  3814. end;
  3815. implementation eq
  3816. equations
  3817. output.e[1] = input.e;
  3818. output.e[2:3] = input_rot2.e;
  3819. output.e[4:6] = input_pos3.e;
  3820. output.f[1] = input.f;
  3821. output.f[2:3] = input_rot2.f;
  3822. output.f[4:6] = input_pos3.f;implementation_end;
  3823. specification_end;
  3824. specification 'rot_y'
  3825. description '<Description>
  3826. <Version>4.1</Version>
  3827. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  3828. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  3829. <IsMainModel>1</IsMainModel>
  3830. <KeepParameterValues>False</KeepParameterValues>
  3831. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3832. </Description>';
  3833. type PowerMux
  3834. ports
  3835. power in input;
  3836. power out output [6,1];
  3837. power in input_rot2 [2,1];
  3838. power in input_pos3 [3,1];
  3839. restrictions
  3840. causality constraint not_equal input output;
  3841. causality constraint not_equal input_rot2 output;
  3842. causality constraint not_equal input_pos3 output;
  3843. end;
  3844. icon bg bottom
  3845. figures
  3846. line 242 274 290 274 color 0 width 2;
  3847. rectangle 242 266 290 278 color -1;
  3848. text '1' 260 269 color 8421504 8;
  3849. terminals
  3850. input 250 274 fixed;
  3851. output 266 274 fixed;
  3852. input_rot2 282 274 fixed;
  3853. input_pos3 266 274 fixed;
  3854. end;
  3855. implementation eq
  3856. equations
  3857. output.e[1] = input_rot2.e[1];
  3858. output.e[2] = input.e;
  3859. output.e[3] = input_rot2.e[2];
  3860. output.e[4:6] = input_pos3.e;
  3861. output.f[1] = input_rot2.f[1];
  3862. output.f[2] = input.f;
  3863. output.f[3] = input_rot2.f[2];
  3864. output.f[4:6] = input_pos3.f;implementation_end;
  3865. specification_end;
  3866. specification 'rot_z'
  3867. description '<Information>
  3868. <Description>
  3869. <Version>4.8</Version>
  3870. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  3871. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  3872. <IsMainModel>1</IsMainModel>
  3873. <KeepParameterValues>False</KeepParameterValues>
  3874. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3875. </Description>
  3876. </Information>';
  3877. type PowerMux
  3878. ports
  3879. power in input;
  3880. power out output [6,1];
  3881. power in input_rot2 [2,1];
  3882. power in input_pos3 [3,1];
  3883. restrictions
  3884. causality constraint not_equal input output;
  3885. causality constraint not_equal input_rot2 output;
  3886. causality constraint not_equal input_pos3 output;
  3887. end;
  3888. icon bg bottom
  3889. figures
  3890. line 242 274 290 274 color 0 width 2;
  3891. rectangle 242 266 290 278 color -1;
  3892. text '1' 260 269 color 8421504 8;
  3893. terminals
  3894. input 250 274 fixed;
  3895. output 266 274 fixed;
  3896. input_rot2 282 274 fixed;
  3897. input_pos3 266 274 fixed;
  3898. end;
  3899. implementation eq
  3900. equations
  3901. output.e[3] = input.e;
  3902. output.e[1:2] = input_rot2.e;
  3903. output.e[4:6] = input_pos3.e;
  3904. output.f[3] = input.f;
  3905. output.f[1:2] = input_rot2.f;
  3906. output.f[4:6] = input_pos3.f;implementation_end;
  3907. specification_end;
  3908. end;
  3909. R 288 152
  3910. description '<Information>
  3911. <Description>
  3912. <Version>4.2</Version>
  3913. <IsMainModel>1</IsMainModel>
  3914. <KeepParameterValues>False</KeepParameterValues>
  3915. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3916. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3917. </Description>
  3918. </Information>';
  3919. type R
  3920. ports
  3921. power in p;
  3922. end;
  3923. icon bg top
  3924. figures
  3925. text 'R' 288 152 color 0 18 bold;
  3926. end;
  3927. implementation eq
  3928. parameters
  3929. real r = 0.0001;
  3930. equations
  3931. p.e = r * p.f;
  3932. implementation_end;
  3933. R4 239.8 288.2
  3934. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3935. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  3936. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  3937. </Description>';
  3938. type 'R-2'
  3939. ports
  3940. power in p [2,1];
  3941. end;
  3942. icon bg bottom
  3943. figures
  3944. text 'R' 239.8 288.2 color 0 18 bold;
  3945. end;
  3946. implementation eq
  3947. parameters
  3948. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  3949. equations
  3950. p.e = r * p.f;
  3951. implementation_end;
  3952. R5 239.8 168.2
  3953. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3954. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  3955. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  3956. </Description>';
  3957. type 'R-3'
  3958. ports
  3959. power in p [3,1];
  3960. end;
  3961. icon bg top
  3962. figures
  3963. text 'R' 239.8 168.2 color 0 18 bold;
  3964. end;
  3965. implementation eq
  3966. parameters
  3967. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  3968. equations
  3969. p.e = r * p.f;
  3970. implementation_end;
  3971. end;
  3972. connections
  3973. C1\p <= OneJunction7\p;
  3974. OneJunction5\p => C4\p;
  3975. OneJunction5\p => PowerMux\input_rot2;
  3976. OneJunction5\p => R4\p;
  3977. OneJunction7\p => PowerMux\input_pos3;
  3978. OneJunction7\p => R5\p;
  3979. OneJunction8\p => PowerMux\input;
  3980. PowerMux\output => output;
  3981. R\p <= OneJunction8\p;
  3982. end;
  3983. implementation_end;
  3984. Joint_dynC 480 696
  3985. description '<Description>
  3986. <Version>4.8</Version>
  3987. <IsMainModel>1</IsMainModel>
  3988. </Description>';
  3989. type Submodel
  3990. ports
  3991. power out output [6,1];
  3992. signal in angle {rad} ;
  3993. end;
  3994. icon bg
  3995. figures
  3996. rectangle 440 680 520 712 color 0 fill 15132390;
  3997. text 'name' 480 696 color 0 'Clear Sans' 16;
  3998. end;
  3999. implementation bg
  4000. submodels
  4001. C 264 200
  4002. description '<Information>
  4003. <Description>
  4004. <Version>4.2</Version>
  4005. <IsMainModel>1</IsMainModel>
  4006. <KeepParameterValues>False</KeepParameterValues>
  4007. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  4008. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  4009. </Description>
  4010. </Information>';
  4011. type C
  4012. ports
  4013. power in p;
  4014. signal out state;
  4015. restrictions
  4016. causality preferred out p;
  4017. end;
  4018. icon bg bottom
  4019. figures
  4020. text 'C' 264 200 color 0 18 bold;
  4021. end;
  4022. implementation eq
  4023. parameters
  4024. real c = 0.001;
  4025. equations
  4026. state = int(p.f);
  4027. p.e = state / c;
  4028. implementation_end;
  4029. C1 191.8 216.2
  4030. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4031. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  4032. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  4033. </Description>';
  4034. type 'C-3'
  4035. ports
  4036. power in p [3,1];
  4037. signal out state [3,1];
  4038. restrictions
  4039. causality preferred out p;
  4040. end;
  4041. icon bg top
  4042. figures
  4043. text 'C' 191.8 216.2 color 0 18 bold;
  4044. end;
  4045. implementation eq
  4046. parameters
  4047. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  4048. equations
  4049. state = int(p.f);
  4050. p.e = inverse(c) *state;
  4051. implementation_end;
  4052. C4 191.8 232.2
  4053. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4054. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  4055. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  4056. </Description>';
  4057. type 'C-2'
  4058. ports
  4059. power in p [2,1];
  4060. signal out state [2,1];
  4061. restrictions
  4062. causality preferred out p;
  4063. end;
  4064. icon bg bottom
  4065. figures
  4066. text 'C' 191.8 232.2 color 0 18 bold;
  4067. end;
  4068. implementation eq
  4069. parameters
  4070. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  4071. equations
  4072. state = int(p.f);
  4073. p.e = inverse(c) *state;
  4074. implementation_end;
  4075. plug output 468 216;
  4076. plug angle 224 80;
  4077. OneJunction5 239.8 232.2
  4078. description '<Information>
  4079. <Description>
  4080. <Version>4.2</Version>
  4081. <IsMainModel>1</IsMainModel>
  4082. <KeepParameterValues>False</KeepParameterValues>
  4083. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4084. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4085. </Description>
  4086. </Information>';
  4087. knot OneJunction
  4088. ports
  4089. power knot duplicatable none p [2,1];
  4090. signal knot out flow [2,1];
  4091. restrictions
  4092. causality constraint one_out p;
  4093. end;
  4094. icon bg
  4095. figures
  4096. text '1' 239.8 232.2 color 0 18 bold;
  4097. end;
  4098. implementation eq
  4099. equations
  4100. sum (direct (p.e)) = 0;
  4101. equal (collect (p.f));
  4102. flow = first (p.f);
  4103. implementation_end;
  4104. OneJunction7 239.8 216.2
  4105. description '<Information>
  4106. <Description>
  4107. <Version>4.2</Version>
  4108. <IsMainModel>1</IsMainModel>
  4109. <KeepParameterValues>False</KeepParameterValues>
  4110. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4111. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4112. </Description>
  4113. </Information>';
  4114. knot OneJunction
  4115. ports
  4116. power knot duplicatable none p [3,1];
  4117. signal knot out flow [3,1];
  4118. restrictions
  4119. causality constraint one_out p;
  4120. end;
  4121. icon bg
  4122. figures
  4123. text '1' 239.8 216.2 color 0 18 bold;
  4124. end;
  4125. implementation eq
  4126. equations
  4127. sum (direct (p.e)) = 0;
  4128. equal (collect (p.f));
  4129. flow = first (p.f);
  4130. implementation_end;
  4131. OneJunction8 312 200
  4132. description '<Information>
  4133. <Description>
  4134. <Version>4.2</Version>
  4135. <IsMainModel>1</IsMainModel>
  4136. <KeepParameterValues>False</KeepParameterValues>
  4137. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4138. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4139. </Description>
  4140. </Information>';
  4141. knot OneJunction
  4142. ports
  4143. rotation knot duplicatable none p [1];
  4144. signal knot out flow [1];
  4145. restrictions
  4146. causality constraint one_out p;
  4147. end;
  4148. icon bg
  4149. figures
  4150. text '1' 312 200 color 0 18 bold;
  4151. end;
  4152. implementation eq
  4153. equations
  4154. sum (direct (p.e)) = 0;
  4155. equal (collect (p.f));
  4156. flow = first (p.f);
  4157. implementation_end;
  4158. PowerMux 402 216
  4159. specifications active 'rot_x'
  4160. specification 'rot_x'
  4161. description '<Information>
  4162. <Description>
  4163. <Version>4.8</Version>
  4164. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  4165. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  4166. <IsMainModel>1</IsMainModel>
  4167. <KeepParameterValues>False</KeepParameterValues>
  4168. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4169. </Description>
  4170. </Information>';
  4171. type 'PowerMux-Rotation'
  4172. ports
  4173. power in input;
  4174. power out output [6,1];
  4175. power in input_rot2 [2,1];
  4176. power in input_pos3 [3,1];
  4177. restrictions
  4178. causality constraint not_equal input output;
  4179. causality constraint not_equal input_rot2 output;
  4180. causality constraint not_equal input_pos3 output;
  4181. end;
  4182. icon bg bottom
  4183. figures
  4184. line 400 192 400 240 color 0 width 2;
  4185. rectangle 396 192 408 240 color -1;
  4186. text '1' 405 210 color 8421504 8;
  4187. terminals
  4188. input 400 200 fixed;
  4189. output 400 216 fixed;
  4190. input_rot2 400 232 fixed;
  4191. input_pos3 400 216 fixed;
  4192. end;
  4193. implementation eq
  4194. equations
  4195. output.e[1] = input.e;
  4196. output.e[2:3] = input_rot2.e;
  4197. output.e[4:6] = input_pos3.e;
  4198. output.f[1] = input.f;
  4199. output.f[2:3] = input_rot2.f;
  4200. output.f[4:6] = input_pos3.f;implementation_end;
  4201. specification_end;
  4202. specification 'rot_y'
  4203. description '<Description>
  4204. <Version>4.1</Version>
  4205. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  4206. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  4207. <IsMainModel>1</IsMainModel>
  4208. <KeepParameterValues>False</KeepParameterValues>
  4209. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4210. </Description>';
  4211. type PowerMux
  4212. ports
  4213. power in input;
  4214. power out output [6,1];
  4215. power in input_rot2 [2,1];
  4216. power in input_pos3 [3,1];
  4217. restrictions
  4218. causality constraint not_equal input output;
  4219. causality constraint not_equal input_rot2 output;
  4220. causality constraint not_equal input_pos3 output;
  4221. end;
  4222. icon bg bottom
  4223. figures
  4224. line 242 274 290 274 color 0 width 2;
  4225. rectangle 242 266 290 278 color -1;
  4226. text '1' 260 269 color 8421504 8;
  4227. terminals
  4228. input 250 274 fixed;
  4229. output 266 274 fixed;
  4230. input_rot2 282 274 fixed;
  4231. input_pos3 266 274 fixed;
  4232. end;
  4233. implementation eq
  4234. equations
  4235. output.e[1] = input_rot2.e[1];
  4236. output.e[2] = input.e;
  4237. output.e[3] = input_rot2.e[2];
  4238. output.e[4:6] = input_pos3.e;
  4239. output.f[1] = input_rot2.f[1];
  4240. output.f[2] = input.f;
  4241. output.f[3] = input_rot2.f[2];
  4242. output.f[4:6] = input_pos3.f;implementation_end;
  4243. specification_end;
  4244. specification 'rot_z'
  4245. description '<Information>
  4246. <Description>
  4247. <Version>4.8</Version>
  4248. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  4249. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  4250. <IsMainModel>1</IsMainModel>
  4251. <KeepParameterValues>False</KeepParameterValues>
  4252. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4253. </Description>
  4254. </Information>';
  4255. type PowerMux
  4256. ports
  4257. power in input;
  4258. power out output [6,1];
  4259. power in input_rot2 [2,1];
  4260. power in input_pos3 [3,1];
  4261. restrictions
  4262. causality constraint not_equal input output;
  4263. causality constraint not_equal input_rot2 output;
  4264. causality constraint not_equal input_pos3 output;
  4265. end;
  4266. icon bg bottom
  4267. figures
  4268. line 242 274 290 274 color 0 width 2;
  4269. rectangle 242 266 290 278 color -1;
  4270. text '1' 260 269 color 8421504 8;
  4271. terminals
  4272. input 250 274 fixed;
  4273. output 266 274 fixed;
  4274. input_rot2 282 274 fixed;
  4275. input_pos3 266 274 fixed;
  4276. end;
  4277. implementation eq
  4278. equations
  4279. output.e[3] = input.e;
  4280. output.e[1:2] = input_rot2.e;
  4281. output.e[4:6] = input_pos3.e;
  4282. output.f[3] = input.f;
  4283. output.f[1:2] = input_rot2.f;
  4284. output.f[4:6] = input_pos3.f;implementation_end;
  4285. specification_end;
  4286. end;
  4287. R 312 152
  4288. description '<Information>
  4289. <Description>
  4290. <Version>4.2</Version>
  4291. <IsMainModel>1</IsMainModel>
  4292. <KeepParameterValues>False</KeepParameterValues>
  4293. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4294. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4295. </Description>
  4296. </Information>';
  4297. type R
  4298. ports
  4299. power in p;
  4300. end;
  4301. icon bg bottom
  4302. figures
  4303. text 'R' 312 152 color 0 18 bold;
  4304. end;
  4305. implementation eq
  4306. parameters
  4307. real r = 100;
  4308. equations
  4309. p.e = r * p.f;
  4310. implementation_end;
  4311. R4 239.8 288.2
  4312. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4313. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  4314. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  4315. </Description>';
  4316. type 'R-2'
  4317. ports
  4318. power in p [2,1];
  4319. end;
  4320. icon bg bottom
  4321. figures
  4322. text 'R' 239.8 288.2 color 0 18 bold;
  4323. end;
  4324. implementation eq
  4325. parameters
  4326. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  4327. equations
  4328. p.e = r * p.f;
  4329. implementation_end;
  4330. R5 239.8 168.2
  4331. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4332. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  4333. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  4334. </Description>';
  4335. type 'R-3'
  4336. ports
  4337. power in p [3,1];
  4338. end;
  4339. icon bg top
  4340. figures
  4341. text 'R' 239.8 168.2 color 0 18 bold;
  4342. end;
  4343. implementation eq
  4344. parameters
  4345. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  4346. equations
  4347. p.e = r * p.f;
  4348. implementation_end;
  4349. stepper_model 360 80
  4350. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Motor\stepper_model.emx</LibraryPath><TimeStamp>2020-7-23 10:54:47</TimeStamp></Description><Attributes><GlobalRelations>parameters
  4351. real I_phase = 3.4 {mH};
  4352. real R_phase = 2.9 {ohm};
  4353. real u_max = 3.4 {V};
  4354. real RotorInertia = 5.6e-6 {kg.m2};
  4355. real StepperMass = 0.29 {kg};
  4356. real angle_step = 1.8 {deg};
  4357. real n_phase = 2 {none};
  4358. real fluxLinkage = 0.0022 {Wb};
  4359. real detentTorque = 0.01 {N.m};
  4360. variables
  4361. real omega;
  4362. real p; // rotor division
  4363. initialequations
  4364. p = 2 * pi / (2 * n_phase * angle_step);
  4365. omega = 200;</GlobalRelations></Attributes></Information>';
  4366. type Submodel
  4367. ports
  4368. signal in angle;
  4369. rotation out p;
  4370. end;
  4371. implementation bg
  4372. submodels
  4373. I 560 104
  4374. description '<Information>
  4375. <Description>
  4376. <Version>4.2</Version>
  4377. <IsMainModel>1</IsMainModel>
  4378. <KeepParameterValues>False</KeepParameterValues>
  4379. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  4380. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  4381. </Description>
  4382. </Information>';
  4383. type I
  4384. ports
  4385. power in p;
  4386. signal out state;
  4387. restrictions
  4388. causality preferred in p;
  4389. end;
  4390. icon bg bottom
  4391. figures
  4392. text 'I' 560 104 color 0 18 bold;
  4393. end;
  4394. implementation eq
  4395. parameters
  4396. real global I_phase;
  4397. equations
  4398. state = int(p.e);
  4399. p.f = state / I_phase;
  4400. implementation_end;
  4401. I1 608 328
  4402. description '<Information>
  4403. <Description>
  4404. <Version>4.2</Version>
  4405. <IsMainModel>1</IsMainModel>
  4406. <KeepParameterValues>False</KeepParameterValues>
  4407. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  4408. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  4409. </Description>
  4410. </Information>';
  4411. type I
  4412. ports
  4413. power in p;
  4414. signal out state;
  4415. restrictions
  4416. causality preferred in p;
  4417. end;
  4418. icon bg bottom
  4419. figures
  4420. text 'I' 608 328 color 0 18 bold;
  4421. end;
  4422. implementation eq
  4423. parameters
  4424. real global I_phase;
  4425. equations
  4426. state = int(p.e);
  4427. p.f = state / I_phase;
  4428. implementation_end;
  4429. I2 752 160
  4430. description '<Information>
  4431. <Description>
  4432. <Version>4.2</Version>
  4433. <IsMainModel>1</IsMainModel>
  4434. <KeepParameterValues>False</KeepParameterValues>
  4435. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  4436. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  4437. </Description>
  4438. </Information>';
  4439. type I
  4440. ports
  4441. power in p;
  4442. signal out state;
  4443. restrictions
  4444. causality preferred in p;
  4445. end;
  4446. icon bg bottom
  4447. figures
  4448. text 'I' 752 160 color 0 18 bold;
  4449. end;
  4450. implementation eq
  4451. parameters
  4452. real global RotorInertia;
  4453. equations
  4454. state = int(p.e);
  4455. p.f = state / (RotorInertia);
  4456. implementation_end;
  4457. MGY_a 656 160
  4458. description '<Information>
  4459. <Description>
  4460. <Version>4.2</Version>
  4461. <IsMainModel>1</IsMainModel>
  4462. <KeepParameterValues>False</KeepParameterValues>
  4463. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  4464. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  4465. </Description>
  4466. </Information>';
  4467. type MGY
  4468. ports
  4469. power in p1;
  4470. power out p2;
  4471. signal in r;
  4472. restrictions
  4473. causality constraint equal p1 p2;
  4474. end;
  4475. icon bg bottom
  4476. figures
  4477. text 'MGY' 656 160 color 0 18 bold;
  4478. end;
  4479. implementation eq
  4480. equations
  4481. p1.e = r * p2.f;
  4482. p2.e = r * p1.f;
  4483. implementation_end;
  4484. MGY_b 656 272
  4485. description '<Information>
  4486. <Description>
  4487. <Version>4.2</Version>
  4488. <IsMainModel>1</IsMainModel>
  4489. <KeepParameterValues>False</KeepParameterValues>
  4490. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  4491. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  4492. </Description>
  4493. </Information>';
  4494. type MGY
  4495. ports
  4496. power in p1;
  4497. power out p2;
  4498. signal in r;
  4499. restrictions
  4500. causality constraint equal p1 p2;
  4501. end;
  4502. icon bg bottom
  4503. figures
  4504. text 'MGY' 656 272 color 0 18 bold;
  4505. end;
  4506. implementation eq
  4507. equations
  4508. p1.e = r * p2.f;
  4509. p2.e = r * p1.f;
  4510. implementation_end;
  4511. MSe_a 512 160
  4512. description '<Information>
  4513. <Description>
  4514. <Version>4.2</Version>
  4515. <IsMainModel>1</IsMainModel>
  4516. <KeepParameterValues>False</KeepParameterValues>
  4517. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  4518. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  4519. </Description>
  4520. </Information>';
  4521. type MSe
  4522. ports
  4523. electric out p;
  4524. signal in effort;
  4525. restrictions
  4526. causality fixed out p;
  4527. end;
  4528. icon bg bottom
  4529. figures
  4530. text 'MSe' 512 160 color 0 18 bold;
  4531. end;
  4532. implementation eq
  4533. variables
  4534. real flow;
  4535. equations
  4536. p.e = effort;
  4537. flow = p.f;
  4538. implementation_end;
  4539. MSe_b 512 272
  4540. description '<Information>
  4541. <Description>
  4542. <Version>4.2</Version>
  4543. <IsMainModel>1</IsMainModel>
  4544. <KeepParameterValues>False</KeepParameterValues>
  4545. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  4546. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  4547. </Description>
  4548. </Information>';
  4549. type MSe
  4550. ports
  4551. electric out p;
  4552. signal in effort;
  4553. restrictions
  4554. causality fixed out p;
  4555. end;
  4556. icon bg bottom
  4557. figures
  4558. text 'MSe' 512 272 color 0 18 bold;
  4559. end;
  4560. implementation eq
  4561. variables
  4562. real flow;
  4563. equations
  4564. p.e = effort;
  4565. flow = p.f;
  4566. implementation_end;
  4567. plug angle 200 216;
  4568. plug p 1472 216;
  4569. OneJunction1 840 216
  4570. description '<Information>
  4571. <Description>
  4572. <Version>4.2</Version>
  4573. <IsMainModel>1</IsMainModel>
  4574. <KeepParameterValues>False</KeepParameterValues>
  4575. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4576. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4577. </Description>
  4578. </Information>';
  4579. knot OneJunction
  4580. ports
  4581. rotation knot duplicatable none p [1];
  4582. signal knot out flow [1];
  4583. restrictions
  4584. causality constraint one_out p;
  4585. end;
  4586. icon bg
  4587. figures
  4588. text '1' 840 216 color 0 18 bold;
  4589. end;
  4590. implementation eq
  4591. equations
  4592. sum (direct (p.e)) = 0;
  4593. equal (collect (p.f));
  4594. flow = first (p.f);
  4595. implementation_end;
  4596. OneJunction2 584 160
  4597. description '<Information>
  4598. <Description>
  4599. <Version>4.2</Version>
  4600. <IsMainModel>1</IsMainModel>
  4601. <KeepParameterValues>False</KeepParameterValues>
  4602. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4603. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4604. </Description>
  4605. </Information>';
  4606. knot OneJunction
  4607. ports
  4608. electric knot duplicatable none p [1];
  4609. signal knot out flow [1];
  4610. restrictions
  4611. causality constraint one_out p;
  4612. end;
  4613. icon bg
  4614. figures
  4615. text '1' 584 160 color 0 18 bold;
  4616. end;
  4617. implementation eq
  4618. equations
  4619. sum (direct (p.e)) = 0;
  4620. equal (collect (p.f));
  4621. flow = first (p.f);
  4622. implementation_end;
  4623. OneJunction3 584 272
  4624. description '<Information>
  4625. <Description>
  4626. <Version>4.2</Version>
  4627. <IsMainModel>1</IsMainModel>
  4628. <KeepParameterValues>False</KeepParameterValues>
  4629. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4630. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4631. </Description>
  4632. </Information>';
  4633. knot OneJunction
  4634. ports
  4635. electric knot duplicatable none p [1];
  4636. signal knot out flow [1];
  4637. restrictions
  4638. causality constraint one_out p;
  4639. end;
  4640. icon bg
  4641. figures
  4642. text '1' 584 272 color 0 18 bold;
  4643. end;
  4644. implementation eq
  4645. equations
  4646. sum (direct (p.e)) = 0;
  4647. equal (collect (p.f));
  4648. flow = first (p.f);
  4649. implementation_end;
  4650. OneJunction4 752 216
  4651. description '<Information>
  4652. <Description>
  4653. <Version>4.2</Version>
  4654. <IsMainModel>1</IsMainModel>
  4655. <KeepParameterValues>False</KeepParameterValues>
  4656. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4657. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4658. </Description>
  4659. </Information>';
  4660. knot OneJunction
  4661. ports
  4662. rotation knot duplicatable none p [1];
  4663. signal knot out flow [1];
  4664. restrictions
  4665. causality constraint one_out p;
  4666. end;
  4667. icon bg
  4668. figures
  4669. text '1' 752 216 color 0 18 bold;
  4670. end;
  4671. implementation eq
  4672. equations
  4673. sum (direct (p.e)) = 0;
  4674. equal (collect (p.f));
  4675. flow = first (p.f);
  4676. implementation_end;
  4677. phase_control 512 216
  4678. description '<Description><Version>4.0</Version>
  4679. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  4680. <IsMainModel>1</IsMainModel>
  4681. <KeepParameterValues>False</KeepParameterValues>
  4682. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  4683. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  4684. </Description>';
  4685. type Submodel
  4686. ports
  4687. signal in angle;
  4688. signal out a;
  4689. signal out b;
  4690. end;
  4691. icon bg
  4692. figures
  4693. rectangle 472 200 552 232 color 0 fill 15132390;
  4694. text 'name' 512 216 color 0 'Clear Sans' 16;
  4695. end;
  4696. implementation eq
  4697. parameters
  4698. real global u_max {V};
  4699. variables
  4700. real global p;
  4701. boolean hidden eventa, eventb;
  4702. equations
  4703. a = u_max * (cos (p*angle));
  4704. eventa = event(a);
  4705. b = u_max * -(sin (p*angle));
  4706. eventb = event(b);
  4707. implementation_end;
  4708. R 608 104
  4709. description '<Information>
  4710. <Description>
  4711. <Version>4.2</Version>
  4712. <IsMainModel>1</IsMainModel>
  4713. <KeepParameterValues>False</KeepParameterValues>
  4714. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4715. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4716. </Description>
  4717. </Information>';
  4718. type R
  4719. ports
  4720. power in p;
  4721. end;
  4722. icon bg bottom
  4723. figures
  4724. text 'R' 608 104 color 0 18 bold;
  4725. end;
  4726. implementation eq
  4727. parameters
  4728. real global R_phase;
  4729. equations
  4730. p.e = R_phase * p.f;
  4731. implementation_end;
  4732. R1 560 328
  4733. description '<Information>
  4734. <Description>
  4735. <Version>4.2</Version>
  4736. <IsMainModel>1</IsMainModel>
  4737. <KeepParameterValues>False</KeepParameterValues>
  4738. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4739. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4740. </Description>
  4741. </Information>';
  4742. type R
  4743. ports
  4744. power in p;
  4745. end;
  4746. icon bg bottom
  4747. figures
  4748. text 'R' 560 328 color 0 18 bold;
  4749. end;
  4750. implementation eq
  4751. parameters
  4752. real global R_phase;
  4753. equations
  4754. p.e = R_phase * p.f;
  4755. implementation_end;
  4756. R2 824 264
  4757. description '<Information>
  4758. <Description>
  4759. <Version>4.2</Version>
  4760. <IsMainModel>1</IsMainModel>
  4761. <KeepParameterValues>False</KeepParameterValues>
  4762. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4763. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4764. </Description>
  4765. </Information>';
  4766. type R
  4767. ports
  4768. power in p;
  4769. end;
  4770. icon bg bottom
  4771. figures
  4772. text 'R' 824 264 color 0 18 bold;
  4773. end;
  4774. implementation eq
  4775. parameters
  4776. real r = 1.0e-3;
  4777. equations
  4778. p.e = r * p.f;
  4779. implementation_end;
  4780. RotorAngle 656 216
  4781. description '<Description><Version>4.0</Version>
  4782. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  4783. <IsMainModel>1</IsMainModel>
  4784. <KeepParameterValues>False</KeepParameterValues>
  4785. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  4786. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  4787. </Description>';
  4788. type Submodel
  4789. ports
  4790. signal out output_b;
  4791. signal out output_a;
  4792. signal in omega {rad/s} ;
  4793. signal out output_d;
  4794. end;
  4795. icon bg
  4796. figures
  4797. rectangle 616 200 696 232 color 0 fill 15132390;
  4798. text 'name' 656 216 color 0 'Clear Sans' 16;
  4799. end;
  4800. implementation eq
  4801. parameters
  4802. real global fluxLinkage;
  4803. real global detentTorque;
  4804. variables
  4805. real global p;
  4806. real angle {rad};
  4807. equations
  4808. angle = int(omega);
  4809. output_a = -p * fluxLinkage * sin(p * angle);
  4810. output_b = p * fluxLinkage * sin(p * angle - pi / 2);
  4811. output_d = detentTorque * sin(2 * p * angle);
  4812. implementation_end;
  4813. Se 752 272
  4814. description '<Information>
  4815. <Description>
  4816. <Version>4.2</Version>
  4817. <IsMainModel>1</IsMainModel>
  4818. <KeepParameterValues>False</KeepParameterValues>
  4819. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  4820. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  4821. </Description>
  4822. </Information>';
  4823. type MSe
  4824. ports
  4825. power out p;
  4826. signal in effort;
  4827. restrictions
  4828. causality fixed out p;
  4829. end;
  4830. icon bg bottom
  4831. figures
  4832. text 'MSe' 752 272 color 0 18 bold;
  4833. end;
  4834. implementation eq
  4835. variables
  4836. real flow;
  4837. equations
  4838. p.e = effort;
  4839. flow = p.f;
  4840. implementation_end;
  4841. end;
  4842. connections
  4843. angle -> phase_control\angle;
  4844. I2\p <= OneJunction4\p;
  4845. MGY_a\p2 => OneJunction4\p;
  4846. MGY_b\p2 => OneJunction4\p;
  4847. MSe_b\p => OneJunction3\p;
  4848. OneJunction1\p => p;
  4849. OneJunction2\p <= MSe_a\p;
  4850. OneJunction2\p => I\p;
  4851. OneJunction2\p => MGY_a\p1;
  4852. OneJunction2\p => R\p;
  4853. OneJunction3\p => I1\p;
  4854. OneJunction3\p => MGY_b\p1;
  4855. OneJunction3\p => R1\p;
  4856. OneJunction4\flow -> RotorAngle\omega;
  4857. OneJunction4\p => OneJunction1\p;
  4858. OneJunction4\p => R2\p;
  4859. phase_control\a -> MSe_a\effort;
  4860. phase_control\b -> MSe_b\effort;
  4861. RotorAngle\output_a -> MGY_a\r;
  4862. RotorAngle\output_b -> MGY_b\r;
  4863. RotorAngle\output_d -> Se\effort;
  4864. Se\p => OneJunction4\p;
  4865. end;
  4866. implementation_end;
  4867. ZeroJunction1 360 200
  4868. description '<Information>
  4869. <Description>
  4870. <Version>4.2</Version>
  4871. <IsMainModel>1</IsMainModel>
  4872. <KeepParameterValues>False</KeepParameterValues>
  4873. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  4874. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  4875. </Description>
  4876. </Information>';
  4877. knot ZeroJunction
  4878. ports
  4879. rotation knot duplicatable none p [1];
  4880. signal knot out effort [1];
  4881. restrictions
  4882. causality constraint one_in p;
  4883. end;
  4884. icon bg
  4885. figures
  4886. text '0' 360 200 color 0 18 bold;
  4887. end;
  4888. implementation eq
  4889. equations
  4890. sum (direct (p.f)) = 0;
  4891. equal (collect (p.e));
  4892. effort = first (p.e);
  4893. implementation_end;
  4894. end;
  4895. connections
  4896. angle -> stepper_model\angle;
  4897. C\p <= OneJunction8\p;
  4898. C1\p <= OneJunction7\p;
  4899. OneJunction5\p => C4\p;
  4900. OneJunction5\p => PowerMux\input_rot2;
  4901. OneJunction5\p => R4\p;
  4902. OneJunction7\p => PowerMux\input_pos3;
  4903. OneJunction7\p => R5\p;
  4904. OneJunction8\p => R\p;
  4905. OneJunction8\p => ZeroJunction1\p;
  4906. PowerMux\output => output;
  4907. stepper_model\p => ZeroJunction1\p;
  4908. ZeroJunction1\p => PowerMux\input;
  4909. end;
  4910. implementation_end;
  4911. Joint_dynD 88 488
  4912. description '<Description>
  4913. <Version>4.8</Version>
  4914. <IsMainModel>1</IsMainModel>
  4915. </Description>';
  4916. type Submodel
  4917. ports
  4918. power out output [6,1];
  4919. end;
  4920. icon bg
  4921. figures
  4922. rectangle 48 472 128 504 color 0 fill 55295;
  4923. text 'name' 88 488 color 0 'Clear Sans' 16;
  4924. end;
  4925. implementation bg
  4926. submodels
  4927. C1 191.8 216.2
  4928. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4929. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  4930. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  4931. </Description>';
  4932. type 'C-3'
  4933. ports
  4934. power in p [3,1];
  4935. signal out state [3,1];
  4936. restrictions
  4937. causality preferred out p;
  4938. end;
  4939. icon bg top
  4940. figures
  4941. text 'C' 191.8 216.2 color 0 18 bold;
  4942. end;
  4943. implementation eq
  4944. parameters
  4945. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  4946. equations
  4947. state = int(p.f);
  4948. p.e = inverse(c) *state;
  4949. implementation_end;
  4950. C4 191.8 232.2
  4951. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4952. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  4953. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  4954. </Description>';
  4955. type 'C-2'
  4956. ports
  4957. power in p [2,1];
  4958. signal out state [2,1];
  4959. restrictions
  4960. causality preferred out p;
  4961. end;
  4962. icon bg bottom
  4963. figures
  4964. text 'C' 191.8 232.2 color 0 18 bold;
  4965. end;
  4966. implementation eq
  4967. parameters
  4968. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  4969. equations
  4970. state = int(p.f);
  4971. p.e = inverse(c) *state;
  4972. implementation_end;
  4973. plug output 396 216;
  4974. OneJunction5 239.8 232.2
  4975. description '<Information>
  4976. <Description>
  4977. <Version>4.2</Version>
  4978. <IsMainModel>1</IsMainModel>
  4979. <KeepParameterValues>False</KeepParameterValues>
  4980. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4981. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4982. </Description>
  4983. </Information>';
  4984. knot OneJunction
  4985. ports
  4986. power knot duplicatable none p [2,1];
  4987. signal knot out flow [2,1];
  4988. restrictions
  4989. causality constraint one_out p;
  4990. end;
  4991. icon bg
  4992. figures
  4993. text '1' 239.8 232.2 color 0 18 bold;
  4994. end;
  4995. implementation eq
  4996. equations
  4997. sum (direct (p.e)) = 0;
  4998. equal (collect (p.f));
  4999. flow = first (p.f);
  5000. implementation_end;
  5001. OneJunction7 239.8 216.2
  5002. description '<Information>
  5003. <Description>
  5004. <Version>4.2</Version>
  5005. <IsMainModel>1</IsMainModel>
  5006. <KeepParameterValues>False</KeepParameterValues>
  5007. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5008. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5009. </Description>
  5010. </Information>';
  5011. knot OneJunction
  5012. ports
  5013. power knot duplicatable none p [3,1];
  5014. signal knot out flow [3,1];
  5015. restrictions
  5016. causality constraint one_out p;
  5017. end;
  5018. icon bg
  5019. figures
  5020. text '1' 239.8 216.2 color 0 18 bold;
  5021. end;
  5022. implementation eq
  5023. equations
  5024. sum (direct (p.e)) = 0;
  5025. equal (collect (p.f));
  5026. flow = first (p.f);
  5027. implementation_end;
  5028. OneJunction8 288 200
  5029. description '<Information>
  5030. <Description>
  5031. <Version>4.2</Version>
  5032. <IsMainModel>1</IsMainModel>
  5033. <KeepParameterValues>False</KeepParameterValues>
  5034. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5035. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5036. </Description>
  5037. </Information>';
  5038. knot OneJunction
  5039. ports
  5040. power knot duplicatable none p [1];
  5041. signal knot out flow [1];
  5042. restrictions
  5043. causality constraint one_out p;
  5044. end;
  5045. icon bg
  5046. figures
  5047. text '1' 288 200 color 0 18 bold;
  5048. end;
  5049. implementation eq
  5050. equations
  5051. sum (direct (p.e)) = 0;
  5052. equal (collect (p.f));
  5053. flow = first (p.f);
  5054. implementation_end;
  5055. PowerMux 330 216
  5056. specifications active 'rot_x'
  5057. specification 'rot_x'
  5058. description '<Information>
  5059. <Description>
  5060. <Version>4.8</Version>
  5061. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5062. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  5063. <IsMainModel>1</IsMainModel>
  5064. <KeepParameterValues>False</KeepParameterValues>
  5065. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5066. </Description>
  5067. </Information>';
  5068. type 'PowerMux-Rotation'
  5069. ports
  5070. power in input;
  5071. power out output [6,1];
  5072. power in input_rot2 [2,1];
  5073. power in input_pos3 [3,1];
  5074. restrictions
  5075. causality constraint not_equal input output;
  5076. causality constraint not_equal input_rot2 output;
  5077. causality constraint not_equal input_pos3 output;
  5078. end;
  5079. icon bg bottom
  5080. figures
  5081. line 328 192 328 240 color 0 width 2;
  5082. rectangle 324 192 336 240 color -1;
  5083. text '1' 333 210 color 8421504 8;
  5084. terminals
  5085. input 328 200 fixed;
  5086. output 328 216 fixed;
  5087. input_rot2 328 232 fixed;
  5088. input_pos3 328 216 fixed;
  5089. end;
  5090. implementation eq
  5091. equations
  5092. output.e[1] = input.e;
  5093. output.e[2:3] = input_rot2.e;
  5094. output.e[4:6] = input_pos3.e;
  5095. output.f[1] = input.f;
  5096. output.f[2:3] = input_rot2.f;
  5097. output.f[4:6] = input_pos3.f;implementation_end;
  5098. specification_end;
  5099. specification 'rot_y'
  5100. description '<Description>
  5101. <Version>4.1</Version>
  5102. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  5103. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  5104. <IsMainModel>1</IsMainModel>
  5105. <KeepParameterValues>False</KeepParameterValues>
  5106. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5107. </Description>';
  5108. type PowerMux
  5109. ports
  5110. power in input;
  5111. power out output [6,1];
  5112. power in input_rot2 [2,1];
  5113. power in input_pos3 [3,1];
  5114. restrictions
  5115. causality constraint not_equal input output;
  5116. causality constraint not_equal input_rot2 output;
  5117. causality constraint not_equal input_pos3 output;
  5118. end;
  5119. icon bg bottom
  5120. figures
  5121. line 242 274 290 274 color 0 width 2;
  5122. rectangle 242 266 290 278 color -1;
  5123. text '1' 260 269 color 8421504 8;
  5124. terminals
  5125. input 250 274 fixed;
  5126. output 266 274 fixed;
  5127. input_rot2 282 274 fixed;
  5128. input_pos3 266 274 fixed;
  5129. end;
  5130. implementation eq
  5131. equations
  5132. output.e[1] = input_rot2.e[1];
  5133. output.e[2] = input.e;
  5134. output.e[3] = input_rot2.e[2];
  5135. output.e[4:6] = input_pos3.e;
  5136. output.f[1] = input_rot2.f[1];
  5137. output.f[2] = input.f;
  5138. output.f[3] = input_rot2.f[2];
  5139. output.f[4:6] = input_pos3.f;implementation_end;
  5140. specification_end;
  5141. specification 'rot_z'
  5142. description '<Information>
  5143. <Description>
  5144. <Version>4.8</Version>
  5145. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5146. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  5147. <IsMainModel>1</IsMainModel>
  5148. <KeepParameterValues>False</KeepParameterValues>
  5149. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5150. </Description>
  5151. </Information>';
  5152. type PowerMux
  5153. ports
  5154. power in input;
  5155. power out output [6,1];
  5156. power in input_rot2 [2,1];
  5157. power in input_pos3 [3,1];
  5158. restrictions
  5159. causality constraint not_equal input output;
  5160. causality constraint not_equal input_rot2 output;
  5161. causality constraint not_equal input_pos3 output;
  5162. end;
  5163. icon bg bottom
  5164. figures
  5165. line 242 274 290 274 color 0 width 2;
  5166. rectangle 242 266 290 278 color -1;
  5167. text '1' 260 269 color 8421504 8;
  5168. terminals
  5169. input 250 274 fixed;
  5170. output 266 274 fixed;
  5171. input_rot2 282 274 fixed;
  5172. input_pos3 266 274 fixed;
  5173. end;
  5174. implementation eq
  5175. equations
  5176. output.e[3] = input.e;
  5177. output.e[1:2] = input_rot2.e;
  5178. output.e[4:6] = input_pos3.e;
  5179. output.f[3] = input.f;
  5180. output.f[1:2] = input_rot2.f;
  5181. output.f[4:6] = input_pos3.f;implementation_end;
  5182. specification_end;
  5183. end;
  5184. R 288 152
  5185. description '<Information>
  5186. <Description>
  5187. <Version>4.2</Version>
  5188. <IsMainModel>1</IsMainModel>
  5189. <KeepParameterValues>False</KeepParameterValues>
  5190. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  5191. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  5192. </Description>
  5193. </Information>';
  5194. type R
  5195. ports
  5196. power in p;
  5197. end;
  5198. icon bg top
  5199. figures
  5200. text 'R' 288 152 color 0 18 bold;
  5201. end;
  5202. implementation eq
  5203. parameters
  5204. real r = 0.0001;
  5205. equations
  5206. p.e = r * p.f;
  5207. implementation_end;
  5208. R4 239.8 288.2
  5209. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5210. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  5211. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  5212. </Description>';
  5213. type 'R-2'
  5214. ports
  5215. power in p [2,1];
  5216. end;
  5217. icon bg bottom
  5218. figures
  5219. text 'R' 239.8 288.2 color 0 18 bold;
  5220. end;
  5221. implementation eq
  5222. parameters
  5223. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  5224. equations
  5225. p.e = r * p.f;
  5226. implementation_end;
  5227. R5 239.8 168.2
  5228. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5229. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  5230. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  5231. </Description>';
  5232. type 'R-3'
  5233. ports
  5234. power in p [3,1];
  5235. end;
  5236. icon bg top
  5237. figures
  5238. text 'R' 239.8 168.2 color 0 18 bold;
  5239. end;
  5240. implementation eq
  5241. parameters
  5242. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  5243. equations
  5244. p.e = r * p.f;
  5245. implementation_end;
  5246. end;
  5247. connections
  5248. C1\p <= OneJunction7\p;
  5249. OneJunction5\p => C4\p;
  5250. OneJunction5\p => PowerMux\input_rot2;
  5251. OneJunction5\p => R4\p;
  5252. OneJunction7\p => PowerMux\input_pos3;
  5253. OneJunction7\p => R5\p;
  5254. OneJunction8\p => PowerMux\input;
  5255. PowerMux\output => output;
  5256. R\p <= OneJunction8\p;
  5257. end;
  5258. implementation_end;
  5259. Joint_dynE 88 168
  5260. description '<Description>
  5261. <Version>4.8</Version>
  5262. <IsMainModel>1</IsMainModel>
  5263. </Description>';
  5264. type Submodel
  5265. ports
  5266. power out output [6,1];
  5267. end;
  5268. icon bg
  5269. figures
  5270. rectangle 48 152 128 184 color 0 fill 55295;
  5271. text 'name' 88 168 color 0 'Clear Sans' 16;
  5272. end;
  5273. implementation bg
  5274. submodels
  5275. C1 191.8 216.2
  5276. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5277. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  5278. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  5279. </Description>';
  5280. type 'C-3'
  5281. ports
  5282. power in p [3,1];
  5283. signal out state [3,1];
  5284. restrictions
  5285. causality preferred out p;
  5286. end;
  5287. icon bg top
  5288. figures
  5289. text 'C' 191.8 216.2 color 0 18 bold;
  5290. end;
  5291. implementation eq
  5292. parameters
  5293. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  5294. equations
  5295. state = int(p.f);
  5296. p.e = inverse(c) *state;
  5297. implementation_end;
  5298. C4 191.8 232.2
  5299. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5300. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  5301. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  5302. </Description>';
  5303. type 'C-2'
  5304. ports
  5305. power in p [2,1];
  5306. signal out state [2,1];
  5307. restrictions
  5308. causality preferred out p;
  5309. end;
  5310. icon bg bottom
  5311. figures
  5312. text 'C' 191.8 232.2 color 0 18 bold;
  5313. end;
  5314. implementation eq
  5315. parameters
  5316. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  5317. equations
  5318. state = int(p.f);
  5319. p.e = inverse(c) *state;
  5320. implementation_end;
  5321. plug output 396 216;
  5322. OneJunction5 239.8 232.2
  5323. description '<Information>
  5324. <Description>
  5325. <Version>4.2</Version>
  5326. <IsMainModel>1</IsMainModel>
  5327. <KeepParameterValues>False</KeepParameterValues>
  5328. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5329. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5330. </Description>
  5331. </Information>';
  5332. knot OneJunction
  5333. ports
  5334. power knot duplicatable none p [2,1];
  5335. signal knot out flow [2,1];
  5336. restrictions
  5337. causality constraint one_out p;
  5338. end;
  5339. icon bg
  5340. figures
  5341. text '1' 239.8 232.2 color 0 18 bold;
  5342. end;
  5343. implementation eq
  5344. equations
  5345. sum (direct (p.e)) = 0;
  5346. equal (collect (p.f));
  5347. flow = first (p.f);
  5348. implementation_end;
  5349. OneJunction7 239.8 216.2
  5350. description '<Information>
  5351. <Description>
  5352. <Version>4.2</Version>
  5353. <IsMainModel>1</IsMainModel>
  5354. <KeepParameterValues>False</KeepParameterValues>
  5355. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5356. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5357. </Description>
  5358. </Information>';
  5359. knot OneJunction
  5360. ports
  5361. power knot duplicatable none p [3,1];
  5362. signal knot out flow [3,1];
  5363. restrictions
  5364. causality constraint one_out p;
  5365. end;
  5366. icon bg
  5367. figures
  5368. text '1' 239.8 216.2 color 0 18 bold;
  5369. end;
  5370. implementation eq
  5371. equations
  5372. sum (direct (p.e)) = 0;
  5373. equal (collect (p.f));
  5374. flow = first (p.f);
  5375. implementation_end;
  5376. OneJunction8 288 200
  5377. description '<Information>
  5378. <Description>
  5379. <Version>4.2</Version>
  5380. <IsMainModel>1</IsMainModel>
  5381. <KeepParameterValues>False</KeepParameterValues>
  5382. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5383. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5384. </Description>
  5385. </Information>';
  5386. knot OneJunction
  5387. ports
  5388. power knot duplicatable none p [1];
  5389. signal knot out flow [1];
  5390. restrictions
  5391. causality constraint one_out p;
  5392. end;
  5393. icon bg
  5394. figures
  5395. text '1' 288 200 color 0 18 bold;
  5396. end;
  5397. implementation eq
  5398. equations
  5399. sum (direct (p.e)) = 0;
  5400. equal (collect (p.f));
  5401. flow = first (p.f);
  5402. implementation_end;
  5403. PowerMux 330 216
  5404. specifications active 'rot_x'
  5405. specification 'rot_x'
  5406. description '<Information>
  5407. <Description>
  5408. <Version>4.8</Version>
  5409. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5410. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  5411. <IsMainModel>1</IsMainModel>
  5412. <KeepParameterValues>False</KeepParameterValues>
  5413. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5414. </Description>
  5415. </Information>';
  5416. type 'PowerMux-Rotation'
  5417. ports
  5418. power in input;
  5419. power out output [6,1];
  5420. power in input_rot2 [2,1];
  5421. power in input_pos3 [3,1];
  5422. restrictions
  5423. causality constraint not_equal input output;
  5424. causality constraint not_equal input_rot2 output;
  5425. causality constraint not_equal input_pos3 output;
  5426. end;
  5427. icon bg bottom
  5428. figures
  5429. line 328 192 328 240 color 0 width 2;
  5430. rectangle 324 192 336 240 color -1;
  5431. text '1' 333 210 color 8421504 8;
  5432. terminals
  5433. input 328 200 fixed;
  5434. output 328 216 fixed;
  5435. input_rot2 328 232 fixed;
  5436. input_pos3 328 216 fixed;
  5437. end;
  5438. implementation eq
  5439. equations
  5440. output.e[1] = input.e;
  5441. output.e[2:3] = input_rot2.e;
  5442. output.e[4:6] = input_pos3.e;
  5443. output.f[1] = input.f;
  5444. output.f[2:3] = input_rot2.f;
  5445. output.f[4:6] = input_pos3.f;implementation_end;
  5446. specification_end;
  5447. specification 'rot_y'
  5448. description '<Description>
  5449. <Version>4.1</Version>
  5450. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  5451. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  5452. <IsMainModel>1</IsMainModel>
  5453. <KeepParameterValues>False</KeepParameterValues>
  5454. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5455. </Description>';
  5456. type PowerMux
  5457. ports
  5458. power in input;
  5459. power out output [6,1];
  5460. power in input_rot2 [2,1];
  5461. power in input_pos3 [3,1];
  5462. restrictions
  5463. causality constraint not_equal input output;
  5464. causality constraint not_equal input_rot2 output;
  5465. causality constraint not_equal input_pos3 output;
  5466. end;
  5467. icon bg bottom
  5468. figures
  5469. line 242 274 290 274 color 0 width 2;
  5470. rectangle 242 266 290 278 color -1;
  5471. text '1' 260 269 color 8421504 8;
  5472. terminals
  5473. input 250 274 fixed;
  5474. output 266 274 fixed;
  5475. input_rot2 282 274 fixed;
  5476. input_pos3 266 274 fixed;
  5477. end;
  5478. implementation eq
  5479. equations
  5480. output.e[1] = input_rot2.e[1];
  5481. output.e[2] = input.e;
  5482. output.e[3] = input_rot2.e[2];
  5483. output.e[4:6] = input_pos3.e;
  5484. output.f[1] = input_rot2.f[1];
  5485. output.f[2] = input.f;
  5486. output.f[3] = input_rot2.f[2];
  5487. output.f[4:6] = input_pos3.f;implementation_end;
  5488. specification_end;
  5489. specification 'rot_z'
  5490. description '<Information>
  5491. <Description>
  5492. <Version>4.8</Version>
  5493. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5494. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  5495. <IsMainModel>1</IsMainModel>
  5496. <KeepParameterValues>False</KeepParameterValues>
  5497. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5498. </Description>
  5499. </Information>';
  5500. type PowerMux
  5501. ports
  5502. power in input;
  5503. power out output [6,1];
  5504. power in input_rot2 [2,1];
  5505. power in input_pos3 [3,1];
  5506. restrictions
  5507. causality constraint not_equal input output;
  5508. causality constraint not_equal input_rot2 output;
  5509. causality constraint not_equal input_pos3 output;
  5510. end;
  5511. icon bg bottom
  5512. figures
  5513. line 242 274 290 274 color 0 width 2;
  5514. rectangle 242 266 290 278 color -1;
  5515. text '1' 260 269 color 8421504 8;
  5516. terminals
  5517. input 250 274 fixed;
  5518. output 266 274 fixed;
  5519. input_rot2 282 274 fixed;
  5520. input_pos3 266 274 fixed;
  5521. end;
  5522. implementation eq
  5523. equations
  5524. output.e[3] = input.e;
  5525. output.e[1:2] = input_rot2.e;
  5526. output.e[4:6] = input_pos3.e;
  5527. output.f[3] = input.f;
  5528. output.f[1:2] = input_rot2.f;
  5529. output.f[4:6] = input_pos3.f;implementation_end;
  5530. specification_end;
  5531. end;
  5532. R 288 152
  5533. description '<Information>
  5534. <Description>
  5535. <Version>4.2</Version>
  5536. <IsMainModel>1</IsMainModel>
  5537. <KeepParameterValues>False</KeepParameterValues>
  5538. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  5539. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  5540. </Description>
  5541. </Information>';
  5542. type R
  5543. ports
  5544. power in p;
  5545. end;
  5546. icon bg top
  5547. figures
  5548. text 'R' 288 152 color 0 18 bold;
  5549. end;
  5550. implementation eq
  5551. parameters
  5552. real r = 0.0001;
  5553. equations
  5554. p.e = r * p.f;
  5555. implementation_end;
  5556. R4 239.8 288.2
  5557. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5558. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  5559. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  5560. </Description>';
  5561. type 'R-2'
  5562. ports
  5563. power in p [2,1];
  5564. end;
  5565. icon bg bottom
  5566. figures
  5567. text 'R' 239.8 288.2 color 0 18 bold;
  5568. end;
  5569. implementation eq
  5570. parameters
  5571. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  5572. equations
  5573. p.e = r * p.f;
  5574. implementation_end;
  5575. R5 239.8 168.2
  5576. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5577. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  5578. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  5579. </Description>';
  5580. type 'R-3'
  5581. ports
  5582. power in p [3,1];
  5583. end;
  5584. icon bg top
  5585. figures
  5586. text 'R' 239.8 168.2 color 0 18 bold;
  5587. end;
  5588. implementation eq
  5589. parameters
  5590. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  5591. equations
  5592. p.e = r * p.f;
  5593. implementation_end;
  5594. end;
  5595. connections
  5596. C1\p <= OneJunction7\p;
  5597. OneJunction5\p => C4\p;
  5598. OneJunction5\p => PowerMux\input_rot2;
  5599. OneJunction5\p => R4\p;
  5600. OneJunction7\p => PowerMux\input_pos3;
  5601. OneJunction7\p => R5\p;
  5602. OneJunction8\p => PowerMux\input;
  5603. PowerMux\output => output;
  5604. R\p <= OneJunction8\p;
  5605. end;
  5606. implementation_end;
  5607. Joint_dynF 864 48
  5608. description '<Description>
  5609. <Version>4.8</Version>
  5610. <IsMainModel>1</IsMainModel>
  5611. </Description>';
  5612. type Submodel
  5613. ports
  5614. power out output [6,1];
  5615. end;
  5616. icon bg
  5617. figures
  5618. rectangle 824 32 904 64 color 0 fill 55295;
  5619. text 'name' 864 48 color 0 'Clear Sans' 16;
  5620. end;
  5621. implementation bg
  5622. submodels
  5623. C1 191.8 216.2
  5624. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5625. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  5626. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  5627. </Description>';
  5628. type 'C-3'
  5629. ports
  5630. power in p [3,1];
  5631. signal out state [3,1];
  5632. restrictions
  5633. causality preferred out p;
  5634. end;
  5635. icon bg top
  5636. figures
  5637. text 'C' 191.8 216.2 color 0 18 bold;
  5638. end;
  5639. implementation eq
  5640. parameters
  5641. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  5642. equations
  5643. state = int(p.f);
  5644. p.e = inverse(c) *state;
  5645. implementation_end;
  5646. C4 191.8 232.2
  5647. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5648. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  5649. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  5650. </Description>';
  5651. type 'C-2'
  5652. ports
  5653. power in p [2,1];
  5654. signal out state [2,1];
  5655. restrictions
  5656. causality preferred out p;
  5657. end;
  5658. icon bg bottom
  5659. figures
  5660. text 'C' 191.8 232.2 color 0 18 bold;
  5661. end;
  5662. implementation eq
  5663. parameters
  5664. real c[2,2] = [1, 0.0; 0.0, 1] {uN.m/rad};
  5665. equations
  5666. state = int(p.f);
  5667. p.e = inverse(c) *state;
  5668. implementation_end;
  5669. plug output 396 216;
  5670. OneJunction5 239.8 232.2
  5671. description '<Information>
  5672. <Description>
  5673. <Version>4.2</Version>
  5674. <IsMainModel>1</IsMainModel>
  5675. <KeepParameterValues>False</KeepParameterValues>
  5676. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5677. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5678. </Description>
  5679. </Information>';
  5680. knot OneJunction
  5681. ports
  5682. power knot duplicatable none p [2,1];
  5683. signal knot out flow [2,1];
  5684. restrictions
  5685. causality constraint one_out p;
  5686. end;
  5687. icon bg
  5688. figures
  5689. text '1' 239.8 232.2 color 0 18 bold;
  5690. end;
  5691. implementation eq
  5692. equations
  5693. sum (direct (p.e)) = 0;
  5694. equal (collect (p.f));
  5695. flow = first (p.f);
  5696. implementation_end;
  5697. OneJunction7 239.8 216.2
  5698. description '<Information>
  5699. <Description>
  5700. <Version>4.2</Version>
  5701. <IsMainModel>1</IsMainModel>
  5702. <KeepParameterValues>False</KeepParameterValues>
  5703. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5704. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5705. </Description>
  5706. </Information>';
  5707. knot OneJunction
  5708. ports
  5709. power knot duplicatable none p [3,1];
  5710. signal knot out flow [3,1];
  5711. restrictions
  5712. causality constraint one_out p;
  5713. end;
  5714. icon bg
  5715. figures
  5716. text '1' 239.8 216.2 color 0 18 bold;
  5717. end;
  5718. implementation eq
  5719. equations
  5720. sum (direct (p.e)) = 0;
  5721. equal (collect (p.f));
  5722. flow = first (p.f);
  5723. implementation_end;
  5724. OneJunction8 304 200
  5725. description '<Information>
  5726. <Description>
  5727. <Version>4.2</Version>
  5728. <IsMainModel>1</IsMainModel>
  5729. <KeepParameterValues>False</KeepParameterValues>
  5730. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5731. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5732. </Description>
  5733. </Information>';
  5734. knot OneJunction
  5735. ports
  5736. power knot duplicatable none p [1];
  5737. signal knot out flow [1];
  5738. restrictions
  5739. causality constraint one_out p;
  5740. end;
  5741. icon bg
  5742. figures
  5743. text '1' 304 200 color 0 18 bold;
  5744. end;
  5745. implementation eq
  5746. equations
  5747. sum (direct (p.e)) = 0;
  5748. equal (collect (p.f));
  5749. flow = first (p.f);
  5750. implementation_end;
  5751. PowerMux 330 216
  5752. specifications active 'rot_z'
  5753. specification 'rot_x'
  5754. description '<Information>
  5755. <Description>
  5756. <Version>4.8</Version>
  5757. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5758. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  5759. <IsMainModel>1</IsMainModel>
  5760. <KeepParameterValues>False</KeepParameterValues>
  5761. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5762. </Description>
  5763. </Information>';
  5764. type 'PowerMux-Rotation'
  5765. ports
  5766. power in input;
  5767. power out output [6,1];
  5768. power in input_rot2 [2,1];
  5769. power in input_pos3 [3,1];
  5770. restrictions
  5771. causality constraint not_equal input output;
  5772. causality constraint not_equal input_rot2 output;
  5773. causality constraint not_equal input_pos3 output;
  5774. end;
  5775. icon bg bottom
  5776. figures
  5777. line 328 192 328 240 color 0 width 2;
  5778. rectangle 324 192 336 240 color -1;
  5779. text '1' 333 210 color 8421504 8;
  5780. terminals
  5781. input 328 200 fixed;
  5782. output 328 216 fixed;
  5783. input_rot2 328 232 fixed;
  5784. input_pos3 328 216 fixed;
  5785. end;
  5786. implementation eq
  5787. equations
  5788. output.e[1] = input.e;
  5789. output.e[2:3] = input_rot2.e;
  5790. output.e[4:6] = input_pos3.e;
  5791. output.f[1] = input.f;
  5792. output.f[2:3] = input_rot2.f;
  5793. output.f[4:6] = input_pos3.f;implementation_end;
  5794. specification_end;
  5795. specification 'rot_y'
  5796. description '<Description>
  5797. <Version>4.1</Version>
  5798. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  5799. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  5800. <IsMainModel>1</IsMainModel>
  5801. <KeepParameterValues>False</KeepParameterValues>
  5802. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5803. </Description>';
  5804. type PowerMux
  5805. ports
  5806. power in input;
  5807. power out output [6,1];
  5808. power in input_rot2 [2,1];
  5809. power in input_pos3 [3,1];
  5810. restrictions
  5811. causality constraint not_equal input output;
  5812. causality constraint not_equal input_rot2 output;
  5813. causality constraint not_equal input_pos3 output;
  5814. end;
  5815. icon bg bottom
  5816. figures
  5817. line 242 274 290 274 color 0 width 2;
  5818. rectangle 242 266 290 278 color -1;
  5819. text '1' 260 269 color 8421504 8;
  5820. terminals
  5821. input 250 274 fixed;
  5822. output 266 274 fixed;
  5823. input_rot2 282 274 fixed;
  5824. input_pos3 266 274 fixed;
  5825. end;
  5826. implementation eq
  5827. equations
  5828. output.e[1] = input_rot2.e[1];
  5829. output.e[2] = input.e;
  5830. output.e[3] = input_rot2.e[2];
  5831. output.e[4:6] = input_pos3.e;
  5832. output.f[1] = input_rot2.f[1];
  5833. output.f[2] = input.f;
  5834. output.f[3] = input_rot2.f[2];
  5835. output.f[4:6] = input_pos3.f;implementation_end;
  5836. specification_end;
  5837. specification 'rot_z'
  5838. description '<Information>
  5839. <Description>
  5840. <Version>4.8</Version>
  5841. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5842. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  5843. <IsMainModel>1</IsMainModel>
  5844. <KeepParameterValues>False</KeepParameterValues>
  5845. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5846. </Description>
  5847. </Information>';
  5848. type PowerMux
  5849. ports
  5850. power in input;
  5851. power out output [6,1];
  5852. power in input_rot2 [2,1];
  5853. power in input_pos3 [3,1];
  5854. restrictions
  5855. causality constraint not_equal input output;
  5856. causality constraint not_equal input_rot2 output;
  5857. causality constraint not_equal input_pos3 output;
  5858. end;
  5859. icon bg bottom
  5860. figures
  5861. line 328 192 328 240 color 0 width 2;
  5862. rectangle 324 192 336 240 color -1;
  5863. text '1' 333 210 color 8421504 8;
  5864. terminals
  5865. input 328 200 fixed;
  5866. output 328 216 fixed;
  5867. input_rot2 328 232 fixed;
  5868. input_pos3 328 216 fixed;
  5869. end;
  5870. implementation eq
  5871. equations
  5872. output.e[3] = input.e;
  5873. output.e[1:2] = input_rot2.e;
  5874. output.e[4:6] = input_pos3.e;
  5875. output.f[3] = input.f;
  5876. output.f[1:2] = input_rot2.f;
  5877. output.f[4:6] = input_pos3.f;implementation_end;
  5878. specification_end;
  5879. end;
  5880. R 304 152
  5881. description '<Information>
  5882. <Description>
  5883. <Version>4.2</Version>
  5884. <IsMainModel>1</IsMainModel>
  5885. <KeepParameterValues>False</KeepParameterValues>
  5886. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  5887. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  5888. </Description>
  5889. </Information>';
  5890. type R
  5891. ports
  5892. power in p;
  5893. end;
  5894. icon bg top
  5895. figures
  5896. text 'R' 304 152 color 0 18 bold;
  5897. end;
  5898. implementation eq
  5899. parameters
  5900. real r = 0.001;
  5901. equations
  5902. p.e = r * p.f;
  5903. implementation_end;
  5904. R4 239.8 288.2
  5905. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5906. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  5907. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  5908. </Description>';
  5909. type 'R-2'
  5910. ports
  5911. power in p [2,1];
  5912. end;
  5913. icon bg bottom
  5914. figures
  5915. text 'R' 239.8 288.2 color 0 18 bold;
  5916. end;
  5917. implementation eq
  5918. parameters
  5919. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  5920. equations
  5921. p.e = r * p.f;
  5922. implementation_end;
  5923. R5 239.8 168.2
  5924. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5925. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  5926. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  5927. </Description>';
  5928. type 'R-3'
  5929. ports
  5930. power in p [3,1];
  5931. end;
  5932. icon bg top
  5933. figures
  5934. text 'R' 239.8 168.2 color 0 18 bold;
  5935. end;
  5936. implementation eq
  5937. parameters
  5938. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  5939. equations
  5940. p.e = r * p.f;
  5941. implementation_end;
  5942. end;
  5943. connections
  5944. C1\p <= OneJunction7\p;
  5945. OneJunction5\p => C4\p;
  5946. OneJunction5\p => PowerMux\input_rot2;
  5947. OneJunction5\p => R4\p;
  5948. OneJunction7\p => PowerMux\input_pos3;
  5949. OneJunction7\p => R5\p;
  5950. OneJunction8\p => PowerMux\input;
  5951. PowerMux\output => output;
  5952. R\p <= OneJunction8\p;
  5953. end;
  5954. implementation_end;
  5955. LiftingArm 912 240
  5956. description '<Description>
  5957. <Version>4.8</Version>
  5958. <IsMainModel>1</IsMainModel>
  5959. </Description>';
  5960. type Submodel
  5961. ports
  5962. signal in Hin [4,4];
  5963. power in Pin [6,1];
  5964. power out Pout [6,1];
  5965. end;
  5966. icon bg bottom
  5967. figures
  5968. rectangle 840 208 984 272 color 0 fill 6008319;
  5969. text 'name' 880 232 color 0 'Clear Sans' 16;
  5970. terminals
  5971. Hin 840 256 fixed;
  5972. Pin 984 224 fixed;
  5973. Pout 840 224 fixed;
  5974. end;
  5975. implementation bg
  5976. submodels
  5977. Body_Lift1 208 272
  5978. description '<Description><Version>4.0</Version>
  5979. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  5980. <IsMainModel>1</IsMainModel>
  5981. <KeepParameterValues>False</KeepParameterValues>
  5982. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  5983. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  5984. </Description>';
  5985. type 'Submodel-Equation'
  5986. ports
  5987. signal in input [4,4];
  5988. end;
  5989. implementation eq
  5990. parameters
  5991. real dimension[3] = [0.02;0.02;0.02] {m};
  5992. variables
  5993. real position[3];
  5994. real rotation[3];
  5995. real R[3,3];
  5996. equations
  5997. position = input[1:3,4];
  5998. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  5999. //[input[3,2];input[1,3];input[2,1]];
  6000. R = input[1:3,1:3];implementation_end;
  6001. Body_Lift2 488 272
  6002. description '<Description><Version>4.0</Version>
  6003. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  6004. <IsMainModel>1</IsMainModel>
  6005. <KeepParameterValues>False</KeepParameterValues>
  6006. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  6007. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6008. </Description>';
  6009. type 'Submodel-Equation'
  6010. ports
  6011. signal in input [4,4];
  6012. end;
  6013. implementation eq
  6014. parameters
  6015. real dimension[3] = [0.01;0.003;0.002] {m};
  6016. variables
  6017. real position[3];
  6018. real rotation[3];
  6019. real R[3,3];
  6020. equations
  6021. position = input[1:3,4];
  6022. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  6023. //[input[3,2];input[1,3];input[2,1]];
  6024. R = input[1:3,1:3];implementation_end;
  6025. Body_Lift3 872 272
  6026. description '<Description><Version>4.0</Version>
  6027. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  6028. <IsMainModel>1</IsMainModel>
  6029. <KeepParameterValues>False</KeepParameterValues>
  6030. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  6031. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6032. </Description>';
  6033. type 'Submodel-Equation'
  6034. ports
  6035. signal in input [4,4];
  6036. end;
  6037. implementation eq
  6038. parameters
  6039. real dimension[3] = [0.003;0.025;0.001] {m};
  6040. variables
  6041. real position[3];
  6042. real rotation[3];
  6043. real R[3,3];
  6044. equations
  6045. position = input[1:3,4];
  6046. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  6047. //[input[3,2];input[1,3];input[2,1]];
  6048. R = input[1:3,1:3];implementation_end;
  6049. Body_Lift4 1232 272
  6050. description '<Description><Version>4.0</Version>
  6051. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  6052. <IsMainModel>1</IsMainModel>
  6053. <KeepParameterValues>False</KeepParameterValues>
  6054. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  6055. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6056. </Description>';
  6057. type 'Submodel-Equation'
  6058. ports
  6059. signal in input [4,4];
  6060. end;
  6061. implementation eq
  6062. parameters
  6063. real dimension[3] = [0.0159;0.003;0.002] {m};
  6064. variables
  6065. real position[3];
  6066. real rotation[3];
  6067. real R[3,3];
  6068. equations
  6069. position = input[1:3,4];
  6070. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  6071. //[input[3,2];input[1,3];input[2,1]];
  6072. R = input[1:3,1:3];implementation_end;
  6073. COM 504 112
  6074. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  6075. real density = 1400 {kg/m3};
  6076. real dimension[3] = [0.01;0.003;0.002] {m};
  6077. variables
  6078. real I[3,1] {N.m.s};
  6079. real m {kg};
  6080. initialequations
  6081. m = dimension[1] * dimension[2] * dimension[3] * density;
  6082. I[1] = m/12 * ( dimension[2]^2 + dimension[3]^2);
  6083. I[2] = m/12 * ( dimension[1]^2 + dimension[3]^2);
  6084. I[3] = m/12 * ( dimension[1]^2 + dimension[2]^2);</GlobalRelations></Attributes></Information>';
  6085. type Submodel
  6086. ports
  6087. signal in Hin [4,4];
  6088. signal out Hout [4,4];
  6089. power out p [6,1];
  6090. end;
  6091. icon bg bottom
  6092. figures
  6093. rectangle 472 96 536 128 color 0 fill 139;
  6094. text 'COM' 504 112 color 0 'Clear Sans' 16;
  6095. terminals
  6096. Hin 488 128 fixed;
  6097. p 520 128 fixed;
  6098. end;
  6099. implementation bg
  6100. submodels
  6101. AdHi0 544 400
  6102. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  6103. type MTF
  6104. ports
  6105. power in p1 [6,1];
  6106. power out p2 [6,1];
  6107. signal in H [4,4];
  6108. restrictions
  6109. causality constraint not_equal p1 p2;
  6110. end;
  6111. icon bg left
  6112. figures
  6113. text 'MTF' 544 400 color 0 18 bold;
  6114. end;
  6115. implementation eq
  6116. variables
  6117. real onlyRotH[4,4];
  6118. code
  6119. //Only rotations with respect to the inertial system matter!
  6120. onlyRotH = H;
  6121. onlyRotH[1,4] = 0;
  6122. onlyRotH[2,4] = 0;
  6123. onlyRotH[3,4] = 0;
  6124. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  6125. p1.f = Adjoint(onlyRotH) * p2.f;
  6126. implementation_end;
  6127. EJS 624 336
  6128. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  6129. type MGY
  6130. ports
  6131. power in p1 [6,1];
  6132. end;
  6133. icon bg top
  6134. figures
  6135. text 'MGY' 624 336 color 0 18 bold;
  6136. end;
  6137. implementation eq
  6138. //EJS / Gyroscopic effects
  6139. variables
  6140. real global I[3];
  6141. real global m;
  6142. real II[6,6]; //Inertial tensor
  6143. real Q[6,6];
  6144. real QI[6,6];
  6145. real Ia[6];
  6146. initialequations
  6147. Ia[1:3] = I;
  6148. Ia[4:6] = m;
  6149. II = diag(Ia);
  6150. equations
  6151. Q = transpose(adjoint(p1.f));
  6152. QI = Q*II;
  6153. p1.e = QI*p1.f;implementation_end;
  6154. Gravity 624 400
  6155. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  6156. type Se
  6157. ports
  6158. power out p [6,1];
  6159. restrictions
  6160. causality fixed out p;
  6161. end;
  6162. icon bg bottom
  6163. figures
  6164. text 'Se' 624 400 color 0 18 bold;
  6165. end;
  6166. implementation eq
  6167. variables
  6168. real global m;
  6169. real effort[6];
  6170. equations
  6171. effort = [0;0;0;0;0;-g_n*m];
  6172. p.e = effort;
  6173. implementation_end;
  6174. InertialTensor 544 256
  6175. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  6176. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  6177. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  6178. </Description>';
  6179. type 'I-3'
  6180. ports
  6181. power in p [6,1];
  6182. signal out state [6,1];
  6183. restrictions
  6184. causality preferred in p;
  6185. end;
  6186. icon bg bottom
  6187. figures
  6188. text 'I' 544 256 color 0 18 bold;
  6189. end;
  6190. implementation eq
  6191. variables
  6192. real global I[3];
  6193. real global m;
  6194. real II[6,6]; //Inertial tensor
  6195. real Ia[6];
  6196. initialequations
  6197. Ia[1:3] = I;
  6198. Ia[4:6] = m;
  6199. II = diag(Ia);
  6200. equations
  6201. state = int(p.e); //state = generalized momentum
  6202. p.f = inverse(II)*state;
  6203. implementation_end;
  6204. plug Hin 433.4 496;
  6205. plug Hout 691.2 496;
  6206. plug p 439.4 336;
  6207. Splitter1 544 496
  6208. description '<Description><Version>4.0</Version>
  6209. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6210. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6211. <IsMainModel>1</IsMainModel>
  6212. <KeepParameterValues>False</KeepParameterValues>
  6213. </Description>';
  6214. knot Splitter
  6215. ports
  6216. signal knot duplicatable out output [4,4];
  6217. signal knot in input [4,4];
  6218. end;
  6219. icon bg ellipse
  6220. figures
  6221. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  6222. ellipse 539.7 491.7 548.3 500.3 color -1;
  6223. terminals
  6224. input 544 496 fixed;
  6225. end;
  6226. implementation eq
  6227. equations
  6228. collect (output) = input;
  6229. implementation_end;
  6230. Ta0j 544 336
  6231. description '<Description>
  6232. <Version>4.0</Version>
  6233. <IsMainModel>1</IsMainModel>
  6234. <KeepParameterValues>False</KeepParameterValues>
  6235. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  6236. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  6237. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6238. <Description></Description>
  6239. </Description>';
  6240. knot OneJunction
  6241. ports
  6242. power knot duplicatable none p [6,1];
  6243. signal knot out flow [6,1];
  6244. restrictions
  6245. causality constraint one_out p;
  6246. end;
  6247. icon bg bottom
  6248. figures
  6249. text '1' 544 336 color 0 18 bold;
  6250. end;
  6251. implementation eq
  6252. equations
  6253. sum (direct (p.e)) = 0;
  6254. equal (collect (p.f));
  6255. flow = first (p.f);
  6256. implementation_end;
  6257. ZeroJunction1 504 336
  6258. description '<Information>
  6259. <Description>
  6260. <Version>4.2</Version>
  6261. <IsMainModel>1</IsMainModel>
  6262. <KeepParameterValues>False</KeepParameterValues>
  6263. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  6264. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  6265. </Description>
  6266. </Information>';
  6267. knot ZeroJunction
  6268. ports
  6269. power knot duplicatable none p [6,1];
  6270. signal knot out effort [6,1];
  6271. restrictions
  6272. causality constraint one_in p;
  6273. end;
  6274. icon bg
  6275. figures
  6276. text '0' 504 336 color 0 18 bold;
  6277. end;
  6278. implementation eq
  6279. equations
  6280. sum (direct (p.f)) = 0;
  6281. equal (collect (p.e));
  6282. effort = first (p.e);
  6283. implementation_end;
  6284. end;
  6285. connections
  6286. AdHi0\p2 => Ta0j\p;
  6287. Gravity\p => AdHi0\p1;
  6288. Hin -> Splitter1\input;
  6289. Splitter1\output -> AdHi0\H;
  6290. Splitter1\output -> Hout;
  6291. Ta0j\p => EJS\p1;
  6292. Ta0j\p => InertialTensor\p;
  6293. ZeroJunction1\p => p;
  6294. ZeroJunction1\p => Ta0j\p;
  6295. end;
  6296. implementation_end;
  6297. COM1 888 112
  6298. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  6299. real density = 1400 {kg/m3};
  6300. real dimension[3] = [0.003;0.025;0.001] {m};
  6301. variables
  6302. real I[3,1] {N.m.s};
  6303. real m {kg};
  6304. initialequations
  6305. m = dimension[1] * dimension[2] * dimension[3] * density;
  6306. I[1] = m/12 * ( dimension[2]^2 + dimension[3]^2);
  6307. I[2] = m/12 * ( dimension[1]^2 + dimension[3]^2);
  6308. I[3] = m/12 * ( dimension[1]^2 + dimension[2]^2);</GlobalRelations></Attributes></Information>';
  6309. type Submodel
  6310. ports
  6311. signal in Hin [4,4];
  6312. signal out Hout [4,4];
  6313. power out p [6,1];
  6314. end;
  6315. icon bg bottom
  6316. figures
  6317. rectangle 856 96 920 128 color 0 fill 139;
  6318. text 'COM' 888 112 color 0 'Clear Sans' 16;
  6319. terminals
  6320. Hin 872 128 fixed;
  6321. p 904 128 fixed;
  6322. end;
  6323. implementation bg
  6324. submodels
  6325. AdHi0 544 400
  6326. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  6327. type MTF
  6328. ports
  6329. power in p1 [6,1];
  6330. power out p2 [6,1];
  6331. signal in H [4,4];
  6332. restrictions
  6333. causality constraint not_equal p1 p2;
  6334. end;
  6335. icon bg left
  6336. figures
  6337. text 'MTF' 544 400 color 0 18 bold;
  6338. end;
  6339. implementation eq
  6340. variables
  6341. real onlyRotH[4,4];
  6342. code
  6343. //Only rotations with respect to the inertial system matter!
  6344. onlyRotH = H;
  6345. onlyRotH[1,4] = 0;
  6346. onlyRotH[2,4] = 0;
  6347. onlyRotH[3,4] = 0;
  6348. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  6349. p1.f = Adjoint(onlyRotH) * p2.f;
  6350. implementation_end;
  6351. EJS 624 336
  6352. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  6353. type MGY
  6354. ports
  6355. power in p1 [6,1];
  6356. end;
  6357. icon bg top
  6358. figures
  6359. text 'MGY' 624 336 color 0 18 bold;
  6360. end;
  6361. implementation eq
  6362. //EJS / Gyroscopic effects
  6363. variables
  6364. real global I[3];
  6365. real global m;
  6366. real II[6,6]; //Inertial tensor
  6367. real Q[6,6];
  6368. real QI[6,6];
  6369. real Ia[6];
  6370. initialequations
  6371. Ia[1:3] = I;
  6372. Ia[4:6] = m;
  6373. II = diag(Ia);
  6374. equations
  6375. Q = transpose(adjoint(p1.f));
  6376. QI = Q*II;
  6377. p1.e = QI*p1.f;implementation_end;
  6378. Gravity 624 400
  6379. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  6380. type Se
  6381. ports
  6382. power out p [6,1];
  6383. restrictions
  6384. causality fixed out p;
  6385. end;
  6386. icon bg bottom
  6387. figures
  6388. text 'Se' 624 400 color 0 18 bold;
  6389. end;
  6390. implementation eq
  6391. variables
  6392. real global m;
  6393. real effort[6];
  6394. equations
  6395. effort = [0;0;0;0;0;-g_n*m];
  6396. p.e = effort;
  6397. implementation_end;
  6398. InertialTensor 544 256
  6399. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  6400. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  6401. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  6402. </Description>';
  6403. type 'I-3'
  6404. ports
  6405. power in p [6,1];
  6406. signal out state [6,1];
  6407. restrictions
  6408. causality preferred in p;
  6409. end;
  6410. icon bg bottom
  6411. figures
  6412. text 'I' 544 256 color 0 18 bold;
  6413. end;
  6414. implementation eq
  6415. variables
  6416. real global I[3];
  6417. real global m;
  6418. real II[6,6]; //Inertial tensor
  6419. real Ia[6];
  6420. initialequations
  6421. Ia[1:3] = I;
  6422. Ia[4:6] = m;
  6423. II = diag(Ia);
  6424. equations
  6425. state = int(p.e); //state = generalized momentum
  6426. p.f = inverse(II)*state;
  6427. implementation_end;
  6428. plug Hin 433.4 496;
  6429. plug Hout 691.2 496;
  6430. plug p 439.4 336;
  6431. Splitter1 544 496
  6432. description '<Description><Version>4.0</Version>
  6433. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6434. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6435. <IsMainModel>1</IsMainModel>
  6436. <KeepParameterValues>False</KeepParameterValues>
  6437. </Description>';
  6438. knot Splitter
  6439. ports
  6440. signal knot duplicatable out output [4,4];
  6441. signal knot in input [4,4];
  6442. end;
  6443. icon bg ellipse
  6444. figures
  6445. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  6446. ellipse 539.7 491.7 548.3 500.3 color -1;
  6447. terminals
  6448. input 544 496 fixed;
  6449. end;
  6450. implementation eq
  6451. equations
  6452. collect (output) = input;
  6453. implementation_end;
  6454. Ta0j 544 336
  6455. description '<Description>
  6456. <Version>4.0</Version>
  6457. <IsMainModel>1</IsMainModel>
  6458. <KeepParameterValues>False</KeepParameterValues>
  6459. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  6460. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  6461. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6462. <Description></Description>
  6463. </Description>';
  6464. knot OneJunction
  6465. ports
  6466. power knot duplicatable none p [6,1];
  6467. signal knot out flow [6,1];
  6468. restrictions
  6469. causality constraint one_out p;
  6470. end;
  6471. icon bg bottom
  6472. figures
  6473. text '1' 544 336 color 0 18 bold;
  6474. end;
  6475. implementation eq
  6476. equations
  6477. sum (direct (p.e)) = 0;
  6478. equal (collect (p.f));
  6479. flow = first (p.f);
  6480. implementation_end;
  6481. ZeroJunction1 504 336
  6482. description '<Information>
  6483. <Description>
  6484. <Version>4.2</Version>
  6485. <IsMainModel>1</IsMainModel>
  6486. <KeepParameterValues>False</KeepParameterValues>
  6487. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  6488. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  6489. </Description>
  6490. </Information>';
  6491. knot ZeroJunction
  6492. ports
  6493. power knot duplicatable none p [6,1];
  6494. signal knot out effort [6,1];
  6495. restrictions
  6496. causality constraint one_in p;
  6497. end;
  6498. icon bg
  6499. figures
  6500. text '0' 504 336 color 0 18 bold;
  6501. end;
  6502. implementation eq
  6503. equations
  6504. sum (direct (p.f)) = 0;
  6505. equal (collect (p.e));
  6506. effort = first (p.e);
  6507. implementation_end;
  6508. end;
  6509. connections
  6510. AdHi0\p2 => Ta0j\p;
  6511. Gravity\p => AdHi0\p1;
  6512. Hin -> Splitter1\input;
  6513. Splitter1\output -> AdHi0\H;
  6514. Splitter1\output -> Hout;
  6515. Ta0j\p => EJS\p1;
  6516. Ta0j\p => InertialTensor\p;
  6517. ZeroJunction1\p => p;
  6518. ZeroJunction1\p => Ta0j\p;
  6519. end;
  6520. implementation_end;
  6521. Joint 296 184
  6522. description '<Information>
  6523. <Description>
  6524. <Version>4.8</Version>
  6525. <IsMainModel>1</IsMainModel>
  6526. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  6527. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  6528. </Description>
  6529. </Information>';
  6530. type 'Submodel-v3'
  6531. ports
  6532. power in Pin [6,1];
  6533. power in Pdiff [6,1];
  6534. signal in Hin [4,4];
  6535. signal out Hout [4,4];
  6536. signal out Hdiff [4,4];
  6537. power out Pout [6,1];
  6538. end;
  6539. icon bg bottom
  6540. figures
  6541. rectangle 272 152 320 216 color 0 fill 14745599;
  6542. text 'Joint' 296 184 color 0 'Clear Sans' 16;
  6543. terminals
  6544. Pin 320 168 fixed;
  6545. Hin 272 200 fixed;
  6546. Hout 320 200 fixed;
  6547. Pout 272 168 fixed;
  6548. end;
  6549. implementation bg
  6550. submodels
  6551. AdHji 424 424
  6552. description '<Description>
  6553. <Version>4.0</Version>
  6554. <IsMainModel>1</IsMainModel>
  6555. <KeepParameterValues>False</KeepParameterValues>
  6556. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  6557. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  6558. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6559. </Description>';
  6560. type MTF
  6561. ports
  6562. power out p1 [6,1];
  6563. power in p2 [6,1];
  6564. signal in H [4,4];
  6565. restrictions
  6566. causality constraint not_equal p1 p2;
  6567. end;
  6568. icon bg bottom
  6569. figures
  6570. text 'MTF' 424 424 color 0 18 bold;
  6571. end;
  6572. implementation eq
  6573. equations
  6574. p2.e = transpose(Adjoint(H)) * p1.e;
  6575. p1.f = Adjoint(H) * p2.f;implementation_end;
  6576. FlowSensor2 184 311.9
  6577. description '<Information>
  6578. <Description>
  6579. <Version>4.2</Version>
  6580. <IsMainModel>1</IsMainModel>
  6581. <KeepParameterValues>False</KeepParameterValues>
  6582. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  6583. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  6584. </Description>
  6585. </Information>';
  6586. knot FlowSensor
  6587. ports
  6588. power knot in p1 [6,1];
  6589. power knot out p2 [6,1];
  6590. signal knot out flow [6,1];
  6591. restrictions
  6592. causality constraint not_equal p1 p2;
  6593. end;
  6594. icon bg ellipse
  6595. figures
  6596. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  6597. text 'f' 184 311.2 color 0;
  6598. end;
  6599. implementation eq
  6600. equations
  6601. p2.f = p1.f;
  6602. p1.e = p2.e;
  6603. flow = p1.f;
  6604. implementation_end;
  6605. Hmatrix 256 312
  6606. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  6607. type 'Submodel-Equation'
  6608. ports
  6609. signal in flow [6,1];
  6610. signal out H [4,4];
  6611. end;
  6612. icon bg
  6613. figures
  6614. rectangle 224 296 288 328 color 0 fill 15132390;
  6615. text 'name' 256 312 color 0 'Clear Sans' 16;
  6616. end;
  6617. implementation eq
  6618. parameters
  6619. real init[4] = [1;0;0;0];
  6620. variables
  6621. real q[4]; //quaternions
  6622. real W[3,4]; //Quaternion Rates Matrix
  6623. real R[3,3]; //Rotation Matrix
  6624. real p[3]; //Position Vector
  6625. real dq[4];
  6626. real Wb[3,4];
  6627. equations
  6628. dq = transpose(Wb) * flow[1:3] ./ 2;
  6629. q = int(dq,init);
  6630. p = int(flow[4:6]);
  6631. W = [-q[2], q[1], -q[4], q[3];
  6632. -q[3], q[4], q[1], -q[2];
  6633. -q[4], -q[3], q[2], q[1]];
  6634. Wb = [ -q[2], q[1], q[4], -q[3];
  6635. -q[3], -q[4], q[1], q[2];
  6636. -q[4], q[3], -q[2], q[1]];
  6637. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  6638. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  6639. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  6640. H = homogeneous(R,p);
  6641. implementation_end;
  6642. MatrixMul 320 576
  6643. description '<Description>
  6644. <Version>4.0</Version>
  6645. <IsMainModel>1</IsMainModel>
  6646. <KeepParameterValues>False</KeepParameterValues>
  6647. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  6648. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  6649. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6650. </Description>';
  6651. type Gain
  6652. ports
  6653. signal in input1 [4,4];
  6654. signal out output [4,4];
  6655. signal in input2 [4,4];
  6656. end;
  6657. icon bg bottom
  6658. figures
  6659. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  6660. text 'X' 320 576 color 16711680 16 bold;
  6661. end;
  6662. implementation eq
  6663. equations
  6664. output = input2*input1; implementation_end;
  6665. plug Pin 492.1 424;
  6666. plug Pdiff 184 225;
  6667. plug Hin 130.8 576;
  6668. plug Hout 478.4 576;
  6669. plug Hdiff 320 222;
  6670. plug Pout 134.7 424;
  6671. Splitter2 320 312
  6672. description '<Description><Version>4.0</Version>
  6673. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6674. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6675. <IsMainModel>1</IsMainModel>
  6676. <KeepParameterValues>False</KeepParameterValues>
  6677. </Description>';
  6678. knot Splitter
  6679. ports
  6680. signal knot duplicatable out output [4,4];
  6681. signal knot in input [4,4];
  6682. end;
  6683. icon bg ellipse
  6684. figures
  6685. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  6686. ellipse 315.7 307.7 324.3 316.3 color -1;
  6687. terminals
  6688. input 320 312 fixed;
  6689. end;
  6690. implementation eq
  6691. equations
  6692. collect (output) = input;
  6693. implementation_end;
  6694. Wbai 184 424
  6695. description '<Description>
  6696. <Version>4.0</Version>
  6697. <IsMainModel>1</IsMainModel>
  6698. <KeepParameterValues>False</KeepParameterValues>
  6699. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  6700. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  6701. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6702. </Description>';
  6703. knot ZeroJunction
  6704. ports
  6705. power knot duplicatable none p [6,1];
  6706. signal knot out effort [6,1];
  6707. restrictions
  6708. causality constraint one_in p;
  6709. end;
  6710. icon bg bottom
  6711. figures
  6712. text '0' 184 424 color 0 18 bold;
  6713. end;
  6714. implementation eq
  6715. equations
  6716. sum (direct (p.f)) = 0;
  6717. equal (collect (p.e));
  6718. effort = first (p.e);
  6719. implementation_end;
  6720. end;
  6721. connections
  6722. FlowSensor2\flow -> Hmatrix\flow;
  6723. FlowSensor2\p2 => Wbai\p;
  6724. Hin -> MatrixMul\input2;
  6725. Hmatrix\H -> Splitter2\input;
  6726. MatrixMul\output -> Hout;
  6727. Pdiff => FlowSensor2\p1;
  6728. Pin => AdHji\p2;
  6729. Splitter2\output -> AdHji\H 424 312;
  6730. Splitter2\output -> Hdiff;
  6731. Splitter2\output -> MatrixMul\input1;
  6732. Wbai\p <= AdHji\p1;
  6733. Wbai\p => Pout;
  6734. end;
  6735. implementation_end;
  6736. Joint1 712 184
  6737. description '<Information>
  6738. <Description>
  6739. <Version>4.8</Version>
  6740. <IsMainModel>1</IsMainModel>
  6741. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  6742. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  6743. </Description>
  6744. </Information>';
  6745. type 'Submodel-v3'
  6746. ports
  6747. power in Pin [6,1];
  6748. power in Pdiff [6,1];
  6749. signal in Hin [4,4];
  6750. signal out Hout [4,4];
  6751. signal out Hdiff [4,4];
  6752. power out Pout [6,1];
  6753. end;
  6754. icon bg bottom
  6755. figures
  6756. rectangle 688 152 736 216 color 0 fill 14745599;
  6757. text 'Joint' 712 184 color 0 'Clear Sans' 16;
  6758. terminals
  6759. Pin 736 168 fixed;
  6760. Hin 688 200 fixed;
  6761. Hout 736 200 fixed;
  6762. Pout 688 168 fixed;
  6763. end;
  6764. implementation bg
  6765. submodels
  6766. AdHji 424 424
  6767. description '<Description>
  6768. <Version>4.0</Version>
  6769. <IsMainModel>1</IsMainModel>
  6770. <KeepParameterValues>False</KeepParameterValues>
  6771. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  6772. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  6773. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6774. </Description>';
  6775. type MTF
  6776. ports
  6777. power out p1 [6,1];
  6778. power in p2 [6,1];
  6779. signal in H [4,4];
  6780. restrictions
  6781. causality constraint not_equal p1 p2;
  6782. end;
  6783. icon bg bottom
  6784. figures
  6785. text 'MTF' 424 424 color 0 18 bold;
  6786. end;
  6787. implementation eq
  6788. equations
  6789. p2.e = transpose(Adjoint(H)) * p1.e;
  6790. p1.f = Adjoint(H) * p2.f;implementation_end;
  6791. FlowSensor2 184 311.9
  6792. description '<Information>
  6793. <Description>
  6794. <Version>4.2</Version>
  6795. <IsMainModel>1</IsMainModel>
  6796. <KeepParameterValues>False</KeepParameterValues>
  6797. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  6798. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  6799. </Description>
  6800. </Information>';
  6801. knot FlowSensor
  6802. ports
  6803. power knot in p1 [6,1];
  6804. power knot out p2 [6,1];
  6805. signal knot out flow [6,1];
  6806. restrictions
  6807. causality constraint not_equal p1 p2;
  6808. end;
  6809. icon bg ellipse
  6810. figures
  6811. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  6812. text 'f' 184 311.2 color 0;
  6813. end;
  6814. implementation eq
  6815. equations
  6816. p2.f = p1.f;
  6817. p1.e = p2.e;
  6818. flow = p1.f;
  6819. implementation_end;
  6820. Hmatrix 256 312
  6821. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  6822. type 'Submodel-Equation'
  6823. ports
  6824. signal in flow [6,1];
  6825. signal out H [4,4];
  6826. end;
  6827. icon bg
  6828. figures
  6829. rectangle 224 296 288 328 color 0 fill 15132390;
  6830. text 'name' 256 312 color 0 'Clear Sans' 16;
  6831. end;
  6832. implementation eq
  6833. parameters
  6834. real init[4] = [1;0;0;0];
  6835. variables
  6836. real q[4]; //quaternions
  6837. real W[3,4]; //Quaternion Rates Matrix
  6838. real R[3,3]; //Rotation Matrix
  6839. real p[3]; //Position Vector
  6840. real dq[4];
  6841. real Wb[3,4];
  6842. equations
  6843. dq = transpose(Wb) * flow[1:3] ./ 2;
  6844. q = int(dq,init);
  6845. p = int(flow[4:6]);
  6846. W = [-q[2], q[1], -q[4], q[3];
  6847. -q[3], q[4], q[1], -q[2];
  6848. -q[4], -q[3], q[2], q[1]];
  6849. Wb = [ -q[2], q[1], q[4], -q[3];
  6850. -q[3], -q[4], q[1], q[2];
  6851. -q[4], q[3], -q[2], q[1]];
  6852. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  6853. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  6854. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  6855. H = homogeneous(R,p);
  6856. implementation_end;
  6857. MatrixMul 320 576
  6858. description '<Description>
  6859. <Version>4.0</Version>
  6860. <IsMainModel>1</IsMainModel>
  6861. <KeepParameterValues>False</KeepParameterValues>
  6862. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  6863. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  6864. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6865. </Description>';
  6866. type Gain
  6867. ports
  6868. signal in input1 [4,4];
  6869. signal out output [4,4];
  6870. signal in input2 [4,4];
  6871. end;
  6872. icon bg bottom
  6873. figures
  6874. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  6875. text 'X' 320 576 color 16711680 16 bold;
  6876. end;
  6877. implementation eq
  6878. equations
  6879. output = input2*input1; implementation_end;
  6880. plug Pin 492.1 424;
  6881. plug Pdiff 184 225;
  6882. plug Hin 130.8 576;
  6883. plug Hout 478.4 576;
  6884. plug Hdiff 320 222;
  6885. plug Pout 134.7 424;
  6886. Splitter2 320 312
  6887. description '<Description><Version>4.0</Version>
  6888. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6889. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6890. <IsMainModel>1</IsMainModel>
  6891. <KeepParameterValues>False</KeepParameterValues>
  6892. </Description>';
  6893. knot Splitter
  6894. ports
  6895. signal knot duplicatable out output [4,4];
  6896. signal knot in input [4,4];
  6897. end;
  6898. icon bg ellipse
  6899. figures
  6900. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  6901. ellipse 315.7 307.7 324.3 316.3 color -1;
  6902. terminals
  6903. input 320 312 fixed;
  6904. end;
  6905. implementation eq
  6906. equations
  6907. collect (output) = input;
  6908. implementation_end;
  6909. Wbai 184 424
  6910. description '<Description>
  6911. <Version>4.0</Version>
  6912. <IsMainModel>1</IsMainModel>
  6913. <KeepParameterValues>False</KeepParameterValues>
  6914. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  6915. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  6916. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6917. </Description>';
  6918. knot ZeroJunction
  6919. ports
  6920. power knot duplicatable none p [6,1];
  6921. signal knot out effort [6,1];
  6922. restrictions
  6923. causality constraint one_in p;
  6924. end;
  6925. icon bg bottom
  6926. figures
  6927. text '0' 184 424 color 0 18 bold;
  6928. end;
  6929. implementation eq
  6930. equations
  6931. sum (direct (p.f)) = 0;
  6932. equal (collect (p.e));
  6933. effort = first (p.e);
  6934. implementation_end;
  6935. end;
  6936. connections
  6937. FlowSensor2\flow -> Hmatrix\flow;
  6938. FlowSensor2\p2 => Wbai\p;
  6939. Hin -> MatrixMul\input2;
  6940. Hmatrix\H -> Splitter2\input;
  6941. MatrixMul\output -> Hout;
  6942. Pdiff => FlowSensor2\p1;
  6943. Pin => AdHji\p2;
  6944. Splitter2\output -> AdHji\H 424 312;
  6945. Splitter2\output -> Hdiff;
  6946. Splitter2\output -> MatrixMul\input1;
  6947. Wbai\p <= AdHji\p1;
  6948. Wbai\p => Pout;
  6949. end;
  6950. implementation_end;
  6951. Joint2 1064 184
  6952. description '<Information>
  6953. <Description>
  6954. <Version>4.8</Version>
  6955. <IsMainModel>1</IsMainModel>
  6956. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  6957. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  6958. </Description>
  6959. </Information>';
  6960. type 'Submodel-v3'
  6961. ports
  6962. power in Pin [6,1];
  6963. power in Pdiff [6,1];
  6964. signal in Hin [4,4];
  6965. signal out Hout [4,4];
  6966. signal out Hdiff [4,4];
  6967. power out Pout [6,1];
  6968. end;
  6969. icon bg bottom
  6970. figures
  6971. rectangle 1040 152 1088 216 color 0 fill 14745599;
  6972. text 'Joint' 1064 184 color 0 'Clear Sans' 16;
  6973. terminals
  6974. Pin 1088 168 fixed;
  6975. Hin 1040 200 fixed;
  6976. Hout 1088 200 fixed;
  6977. Pout 1040 168 fixed;
  6978. end;
  6979. implementation bg
  6980. submodels
  6981. AdHji 424 424
  6982. description '<Description>
  6983. <Version>4.0</Version>
  6984. <IsMainModel>1</IsMainModel>
  6985. <KeepParameterValues>False</KeepParameterValues>
  6986. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  6987. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  6988. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6989. </Description>';
  6990. type MTF
  6991. ports
  6992. power out p1 [6,1];
  6993. power in p2 [6,1];
  6994. signal in H [4,4];
  6995. restrictions
  6996. causality constraint not_equal p1 p2;
  6997. end;
  6998. icon bg bottom
  6999. figures
  7000. text 'MTF' 424 424 color 0 18 bold;
  7001. end;
  7002. implementation eq
  7003. equations
  7004. p2.e = transpose(Adjoint(H)) * p1.e;
  7005. p1.f = Adjoint(H) * p2.f;implementation_end;
  7006. FlowSensor2 184 311.9
  7007. description '<Information>
  7008. <Description>
  7009. <Version>4.2</Version>
  7010. <IsMainModel>1</IsMainModel>
  7011. <KeepParameterValues>False</KeepParameterValues>
  7012. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  7013. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  7014. </Description>
  7015. </Information>';
  7016. knot FlowSensor
  7017. ports
  7018. power knot in p1 [6,1];
  7019. power knot out p2 [6,1];
  7020. signal knot out flow [6,1];
  7021. restrictions
  7022. causality constraint not_equal p1 p2;
  7023. end;
  7024. icon bg ellipse
  7025. figures
  7026. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  7027. text 'f' 184 311.2 color 0;
  7028. end;
  7029. implementation eq
  7030. equations
  7031. p2.f = p1.f;
  7032. p1.e = p2.e;
  7033. flow = p1.f;
  7034. implementation_end;
  7035. Hmatrix 256 312
  7036. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  7037. type 'Submodel-Equation'
  7038. ports
  7039. signal in flow [6,1];
  7040. signal out H [4,4];
  7041. end;
  7042. icon bg
  7043. figures
  7044. rectangle 224 296 288 328 color 0 fill 15132390;
  7045. text 'name' 256 312 color 0 'Clear Sans' 16;
  7046. end;
  7047. implementation eq
  7048. parameters
  7049. real init[4] = [1;0;0;0];
  7050. variables
  7051. real q[4]; //quaternions
  7052. real W[3,4]; //Quaternion Rates Matrix
  7053. real R[3,3]; //Rotation Matrix
  7054. real p[3]; //Position Vector
  7055. real dq[4];
  7056. real Wb[3,4];
  7057. equations
  7058. dq = transpose(Wb) * flow[1:3] ./ 2;
  7059. q = int(dq,init);
  7060. p = int(flow[4:6]);
  7061. W = [-q[2], q[1], -q[4], q[3];
  7062. -q[3], q[4], q[1], -q[2];
  7063. -q[4], -q[3], q[2], q[1]];
  7064. Wb = [ -q[2], q[1], q[4], -q[3];
  7065. -q[3], -q[4], q[1], q[2];
  7066. -q[4], q[3], -q[2], q[1]];
  7067. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  7068. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  7069. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  7070. H = homogeneous(R,p);
  7071. implementation_end;
  7072. MatrixMul 320 576
  7073. description '<Description>
  7074. <Version>4.0</Version>
  7075. <IsMainModel>1</IsMainModel>
  7076. <KeepParameterValues>False</KeepParameterValues>
  7077. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  7078. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  7079. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7080. </Description>';
  7081. type Gain
  7082. ports
  7083. signal in input1 [4,4];
  7084. signal out output [4,4];
  7085. signal in input2 [4,4];
  7086. end;
  7087. icon bg bottom
  7088. figures
  7089. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  7090. text 'X' 320 576 color 16711680 16 bold;
  7091. end;
  7092. implementation eq
  7093. equations
  7094. output = input2*input1; implementation_end;
  7095. plug Pin 492.1 424;
  7096. plug Pdiff 184 225;
  7097. plug Hin 130.8 576;
  7098. plug Hout 478.4 576;
  7099. plug Hdiff 320 222;
  7100. plug Pout 134.7 424;
  7101. Splitter2 320 312
  7102. description '<Description><Version>4.0</Version>
  7103. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  7104. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  7105. <IsMainModel>1</IsMainModel>
  7106. <KeepParameterValues>False</KeepParameterValues>
  7107. </Description>';
  7108. knot Splitter
  7109. ports
  7110. signal knot duplicatable out output [4,4];
  7111. signal knot in input [4,4];
  7112. end;
  7113. icon bg ellipse
  7114. figures
  7115. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  7116. ellipse 315.7 307.7 324.3 316.3 color -1;
  7117. terminals
  7118. input 320 312 fixed;
  7119. end;
  7120. implementation eq
  7121. equations
  7122. collect (output) = input;
  7123. implementation_end;
  7124. Wbai 184 424
  7125. description '<Description>
  7126. <Version>4.0</Version>
  7127. <IsMainModel>1</IsMainModel>
  7128. <KeepParameterValues>False</KeepParameterValues>
  7129. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  7130. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  7131. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7132. </Description>';
  7133. knot ZeroJunction
  7134. ports
  7135. power knot duplicatable none p [6,1];
  7136. signal knot out effort [6,1];
  7137. restrictions
  7138. causality constraint one_in p;
  7139. end;
  7140. icon bg bottom
  7141. figures
  7142. text '0' 184 424 color 0 18 bold;
  7143. end;
  7144. implementation eq
  7145. equations
  7146. sum (direct (p.f)) = 0;
  7147. equal (collect (p.e));
  7148. effort = first (p.e);
  7149. implementation_end;
  7150. end;
  7151. connections
  7152. FlowSensor2\flow -> Hmatrix\flow;
  7153. FlowSensor2\p2 => Wbai\p;
  7154. Hin -> MatrixMul\input2;
  7155. Hmatrix\H -> Splitter2\input;
  7156. MatrixMul\output -> Hout;
  7157. Pdiff => FlowSensor2\p1;
  7158. Pin => AdHji\p2;
  7159. Splitter2\output -> AdHji\H 424 312;
  7160. Splitter2\output -> Hdiff;
  7161. Splitter2\output -> MatrixMul\input1;
  7162. Wbai\p <= AdHji\p1;
  7163. Wbai\p => Pout;
  7164. end;
  7165. implementation_end;
  7166. Joint_dynF1 296 80
  7167. description '<Description>
  7168. <Version>4.8</Version>
  7169. <IsMainModel>1</IsMainModel>
  7170. </Description>';
  7171. type Submodel
  7172. ports
  7173. power out output [6,1];
  7174. end;
  7175. icon bg
  7176. figures
  7177. rectangle 256 64 336 96 color 0 fill 15132390;
  7178. text 'name' 296 80 color 0 'Clear Sans' 16;
  7179. end;
  7180. implementation bg
  7181. submodels
  7182. C 344 160
  7183. description '<Information>
  7184. <Description>
  7185. <Version>4.2</Version>
  7186. <IsMainModel>1</IsMainModel>
  7187. <KeepParameterValues>False</KeepParameterValues>
  7188. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  7189. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  7190. </Description>
  7191. </Information>';
  7192. type C
  7193. ports
  7194. power in p;
  7195. signal out state;
  7196. restrictions
  7197. causality preferred out p;
  7198. end;
  7199. icon bg bottom
  7200. figures
  7201. text 'C' 344 160 color 0 18 bold;
  7202. end;
  7203. implementation eq
  7204. parameters
  7205. real c = 0.001;
  7206. equations
  7207. state = int(p.f);
  7208. p.e = state / c;
  7209. implementation_end;
  7210. C1 191.8 216.2
  7211. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7212. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  7213. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  7214. </Description>';
  7215. type 'C-3'
  7216. ports
  7217. power in p [3,1];
  7218. signal out state [3,1];
  7219. restrictions
  7220. causality preferred out p;
  7221. end;
  7222. icon bg top
  7223. figures
  7224. text 'C' 191.8 216.2 color 0 18 bold;
  7225. end;
  7226. implementation eq
  7227. parameters
  7228. real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {mN/m};
  7229. equations
  7230. state = int(p.f);
  7231. p.e = inverse(c) *state;
  7232. implementation_end;
  7233. C4 191.8 232.2
  7234. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7235. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  7236. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  7237. </Description>';
  7238. type 'C-2'
  7239. ports
  7240. power in p [2,1];
  7241. signal out state [2,1];
  7242. restrictions
  7243. causality preferred out p;
  7244. end;
  7245. icon bg bottom
  7246. figures
  7247. text 'C' 191.8 232.2 color 0 18 bold;
  7248. end;
  7249. implementation eq
  7250. parameters
  7251. real c[2,2] = [1, 0.0; 0.0, 1] {mN.m/rad};
  7252. equations
  7253. state = int(p.f);
  7254. p.e = inverse(c) *state;
  7255. implementation_end;
  7256. plug output 444 216;
  7257. OneJunction3 288 160
  7258. description '<Information>
  7259. <Description>
  7260. <Version>4.2</Version>
  7261. <IsMainModel>1</IsMainModel>
  7262. <KeepParameterValues>False</KeepParameterValues>
  7263. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7264. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7265. </Description>
  7266. </Information>';
  7267. knot OneJunction
  7268. ports
  7269. power knot duplicatable none p [1];
  7270. signal knot out flow [1];
  7271. restrictions
  7272. causality constraint one_out p;
  7273. end;
  7274. icon bg
  7275. figures
  7276. text '1' 288 160 color 0 18 bold;
  7277. end;
  7278. implementation eq
  7279. equations
  7280. sum (direct (p.e)) = 0;
  7281. equal (collect (p.f));
  7282. flow = first (p.f);
  7283. implementation_end;
  7284. OneJunction5 239.8 232.2
  7285. description '<Information>
  7286. <Description>
  7287. <Version>4.2</Version>
  7288. <IsMainModel>1</IsMainModel>
  7289. <KeepParameterValues>False</KeepParameterValues>
  7290. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7291. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7292. </Description>
  7293. </Information>';
  7294. knot OneJunction
  7295. ports
  7296. power knot duplicatable none p [2,1];
  7297. signal knot out flow [2,1];
  7298. restrictions
  7299. causality constraint one_out p;
  7300. end;
  7301. icon bg
  7302. figures
  7303. text '1' 239.8 232.2 color 0 18 bold;
  7304. end;
  7305. implementation eq
  7306. equations
  7307. sum (direct (p.e)) = 0;
  7308. equal (collect (p.f));
  7309. flow = first (p.f);
  7310. implementation_end;
  7311. OneJunction7 239.8 216.2
  7312. description '<Information>
  7313. <Description>
  7314. <Version>4.2</Version>
  7315. <IsMainModel>1</IsMainModel>
  7316. <KeepParameterValues>False</KeepParameterValues>
  7317. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7318. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7319. </Description>
  7320. </Information>';
  7321. knot OneJunction
  7322. ports
  7323. power knot duplicatable none p [3,1];
  7324. signal knot out flow [3,1];
  7325. restrictions
  7326. causality constraint one_out p;
  7327. end;
  7328. icon bg
  7329. figures
  7330. text '1' 239.8 216.2 color 0 18 bold;
  7331. end;
  7332. implementation eq
  7333. equations
  7334. sum (direct (p.e)) = 0;
  7335. equal (collect (p.f));
  7336. flow = first (p.f);
  7337. implementation_end;
  7338. OneJunction8 288 200
  7339. description '<Information>
  7340. <Description>
  7341. <Version>4.2</Version>
  7342. <IsMainModel>1</IsMainModel>
  7343. <KeepParameterValues>False</KeepParameterValues>
  7344. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  7345. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  7346. </Description>
  7347. </Information>';
  7348. knot ZeroJunction
  7349. ports
  7350. power knot duplicatable none p [1];
  7351. signal knot out effort [1];
  7352. restrictions
  7353. causality constraint one_in p;
  7354. end;
  7355. icon bg
  7356. figures
  7357. text '0' 288 200 color 0 18 bold;
  7358. end;
  7359. implementation eq
  7360. equations
  7361. sum (direct (p.f)) = 0;
  7362. equal (collect (p.e));
  7363. effort = first (p.e);
  7364. implementation_end;
  7365. PowerMux 378 216
  7366. specifications active 'rot_z'
  7367. specification 'rot_x'
  7368. description '<Information>
  7369. <Description>
  7370. <Version>4.8</Version>
  7371. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  7372. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  7373. <IsMainModel>1</IsMainModel>
  7374. <KeepParameterValues>False</KeepParameterValues>
  7375. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7376. </Description>
  7377. </Information>';
  7378. type 'PowerMux-Rotation'
  7379. ports
  7380. power in input;
  7381. power out output [6,1];
  7382. power in input_rot2 [2,1];
  7383. power in input_pos3 [3,1];
  7384. restrictions
  7385. causality constraint not_equal input output;
  7386. causality constraint not_equal input_rot2 output;
  7387. causality constraint not_equal input_pos3 output;
  7388. end;
  7389. icon bg bottom
  7390. figures
  7391. line 328 192 328 240 color 0 width 2;
  7392. rectangle 324 192 336 240 color -1;
  7393. text '1' 333 210 color 8421504 8;
  7394. terminals
  7395. input 328 200 fixed;
  7396. output 328 216 fixed;
  7397. input_rot2 328 232 fixed;
  7398. input_pos3 328 216 fixed;
  7399. end;
  7400. implementation eq
  7401. equations
  7402. output.e[1] = input.e;
  7403. output.e[2:3] = input_rot2.e;
  7404. output.e[4:6] = input_pos3.e;
  7405. output.f[1] = input.f;
  7406. output.f[2:3] = input_rot2.f;
  7407. output.f[4:6] = input_pos3.f;implementation_end;
  7408. specification_end;
  7409. specification 'rot_y'
  7410. description '<Description>
  7411. <Version>4.1</Version>
  7412. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  7413. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  7414. <IsMainModel>1</IsMainModel>
  7415. <KeepParameterValues>False</KeepParameterValues>
  7416. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7417. </Description>';
  7418. type PowerMux
  7419. ports
  7420. power in input;
  7421. power out output [6,1];
  7422. power in input_rot2 [2,1];
  7423. power in input_pos3 [3,1];
  7424. restrictions
  7425. causality constraint not_equal input output;
  7426. causality constraint not_equal input_rot2 output;
  7427. causality constraint not_equal input_pos3 output;
  7428. end;
  7429. icon bg bottom
  7430. figures
  7431. line 328 192 328 240 color 0 width 2;
  7432. rectangle 324 192 336 240 color -1;
  7433. text '1' 333 210 color 8421504 8;
  7434. terminals
  7435. input 328 200 fixed;
  7436. output 328 216 fixed;
  7437. input_rot2 328 232 fixed;
  7438. input_pos3 328 216 fixed;
  7439. end;
  7440. implementation eq
  7441. equations
  7442. output.e[1] = input_rot2.e[1];
  7443. output.e[2] = input.e;
  7444. output.e[3] = input_rot2.e[2];
  7445. output.e[4:6] = input_pos3.e;
  7446. output.f[1] = input_rot2.f[1];
  7447. output.f[2] = input.f;
  7448. output.f[3] = input_rot2.f[2];
  7449. output.f[4:6] = input_pos3.f;implementation_end;
  7450. specification_end;
  7451. specification 'rot_z'
  7452. description '<Information>
  7453. <Description>
  7454. <Version>4.8</Version>
  7455. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  7456. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  7457. <IsMainModel>1</IsMainModel>
  7458. <KeepParameterValues>False</KeepParameterValues>
  7459. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7460. </Description>
  7461. </Information>';
  7462. type PowerMux
  7463. ports
  7464. power in input;
  7465. power out output [6,1];
  7466. power in input_rot2 [2,1];
  7467. power in input_pos3 [3,1];
  7468. restrictions
  7469. causality constraint not_equal input output;
  7470. causality constraint not_equal input_rot2 output;
  7471. causality constraint not_equal input_pos3 output;
  7472. end;
  7473. icon bg bottom
  7474. figures
  7475. line 376 192 376 240 color 0 width 2;
  7476. rectangle 372 192 384 240 color -1;
  7477. text '1' 381 210 color 8421504 8;
  7478. terminals
  7479. input 376 200 fixed;
  7480. output 376 216 fixed;
  7481. input_rot2 376 232 fixed;
  7482. input_pos3 376 216 fixed;
  7483. end;
  7484. implementation eq
  7485. equations
  7486. output.e[3] = input.e;
  7487. output.e[1:2] = input_rot2.e;
  7488. output.e[4:6] = input_pos3.e;
  7489. output.f[3] = input.f;
  7490. output.f[1:2] = input_rot2.f;
  7491. output.f[4:6] = input_pos3.f;implementation_end;
  7492. specification_end;
  7493. end;
  7494. R 288 112
  7495. description '<Information>
  7496. <Description>
  7497. <Version>4.2</Version>
  7498. <IsMainModel>1</IsMainModel>
  7499. <KeepParameterValues>False</KeepParameterValues>
  7500. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  7501. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  7502. </Description>
  7503. </Information>';
  7504. type R
  7505. ports
  7506. power in p;
  7507. end;
  7508. icon bg top
  7509. figures
  7510. text 'R' 288 112 color 0 18 bold;
  7511. end;
  7512. implementation eq
  7513. parameters
  7514. real r = 10;
  7515. equations
  7516. p.e = r * p.f;
  7517. implementation_end;
  7518. R4 239.8 288.2
  7519. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7520. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  7521. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  7522. </Description>';
  7523. type 'R-2'
  7524. ports
  7525. power in p [2,1];
  7526. end;
  7527. icon bg bottom
  7528. figures
  7529. text 'R' 239.8 288.2 color 0 18 bold;
  7530. end;
  7531. implementation eq
  7532. parameters
  7533. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  7534. equations
  7535. p.e = r * p.f;
  7536. implementation_end;
  7537. R5 239.8 168.2
  7538. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7539. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  7540. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  7541. </Description>';
  7542. type 'R-3'
  7543. ports
  7544. power in p [3,1];
  7545. end;
  7546. icon bg top
  7547. figures
  7548. text 'R' 239.8 168.2 color 0 18 bold;
  7549. end;
  7550. implementation eq
  7551. parameters
  7552. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  7553. equations
  7554. p.e = r * p.f;
  7555. implementation_end;
  7556. SG90 288 368
  7557. description '<Information>
  7558. <Description>
  7559. <Version>4.8</Version>
  7560. <IsMainModel>1</IsMainModel>
  7561. <LibraryPath>Motor\SG90.emx</LibraryPath>
  7562. <TimeStamp>2020-7-27 10:46:51</TimeStamp>
  7563. </Description>
  7564. </Information>';
  7565. type Submodel
  7566. ports
  7567. signal in effort;
  7568. power out p;
  7569. end;
  7570. implementation bg
  7571. submodels
  7572. C 784 96
  7573. description '<Information>
  7574. <Description>
  7575. <Version>4.2</Version>
  7576. <IsMainModel>1</IsMainModel>
  7577. <KeepParameterValues>False</KeepParameterValues>
  7578. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  7579. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  7580. </Description>
  7581. </Information>';
  7582. type C
  7583. ports
  7584. power in p;
  7585. signal out state;
  7586. restrictions
  7587. causality preferred out p;
  7588. end;
  7589. icon bg bottom
  7590. figures
  7591. text 'C' 784 96 color 0 18 bold;
  7592. end;
  7593. implementation eq
  7594. parameters
  7595. real c = 0.001;
  7596. equations
  7597. state = int(p.f);
  7598. p.e = state / c;
  7599. implementation_end;
  7600. Gain1 456 448
  7601. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7602. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  7603. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  7604. </Description>';
  7605. type Gain
  7606. ports
  7607. signal in input;
  7608. signal out output;
  7609. end;
  7610. icon bg bottom
  7611. figures
  7612. rectangle 440.1 432 471.9 464 color 0 fill 15132390;
  7613. text 'K' 456 448 color 16711680 16 bold;
  7614. end;
  7615. implementation eq
  7616. parameters
  7617. real K = 5; // gain
  7618. equations
  7619. output = K * input;
  7620. implementation_end;
  7621. GY1 592 296
  7622. description '<Information>
  7623. <Description>
  7624. <Version>4.2</Version>
  7625. <IsMainModel>1</IsMainModel>
  7626. <KeepParameterValues>False</KeepParameterValues>
  7627. <LibraryPath>Bond Graph\GY.emx</LibraryPath>
  7628. <TimeStamp>2011-11-29 15:53:45</TimeStamp>
  7629. </Description>
  7630. </Information>';
  7631. type GY
  7632. ports
  7633. power in p1;
  7634. power out p2;
  7635. restrictions
  7636. causality constraint equal p1 p2;
  7637. end;
  7638. icon bg bottom
  7639. figures
  7640. text 'GY' 592 296 color 0 18 bold;
  7641. end;
  7642. implementation eq
  7643. parameters
  7644. real r = 0.4;
  7645. equations
  7646. p1.e = r * p2.f;
  7647. p2.e = r * p1.f;
  7648. implementation_end;
  7649. I 536 352
  7650. description '<Information>
  7651. <Description>
  7652. <Version>4.2</Version>
  7653. <IsMainModel>1</IsMainModel>
  7654. <KeepParameterValues>False</KeepParameterValues>
  7655. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  7656. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  7657. </Description>
  7658. </Information>';
  7659. type I
  7660. ports
  7661. power in p;
  7662. signal out state;
  7663. restrictions
  7664. causality preferred in p;
  7665. end;
  7666. icon bg bottom
  7667. figures
  7668. text 'I' 536 352 color 0 18 bold;
  7669. end;
  7670. implementation eq
  7671. parameters
  7672. real i = 0.1 {mH};
  7673. equations
  7674. state = int(p.e);
  7675. p.f = state / i;
  7676. implementation_end;
  7677. Integrate 728 448
  7678. description '<Information>
  7679. <Description>
  7680. <Version>4.3</Version>
  7681. <IsMainModel>1</IsMainModel>
  7682. <KeepParameterValues>False</KeepParameterValues>
  7683. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  7684. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  7685. </Description>
  7686. </Information>';
  7687. type Integrate
  7688. ports
  7689. signal in input;
  7690. signal out output;
  7691. end;
  7692. icon bg bottom
  7693. figures
  7694. rectangle 712 432 744 464 color 0 fill 15132390;
  7695. text '∫' 728 448.3 color 16711680 'Lucida Sans' 21 italic;
  7696. end;
  7697. implementation eq
  7698. parameters
  7699. real initial = 0; // initial value
  7700. equations
  7701. output = int (input, initial);
  7702. implementation_end;
  7703. MSe 456 296
  7704. description '<Information>
  7705. <Description>
  7706. <Version>4.2</Version>
  7707. <IsMainModel>1</IsMainModel>
  7708. <KeepParameterValues>False</KeepParameterValues>
  7709. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  7710. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  7711. </Description>
  7712. </Information>';
  7713. type MSe
  7714. ports
  7715. power out p;
  7716. signal in effort;
  7717. restrictions
  7718. causality fixed out p;
  7719. end;
  7720. icon bg bottom
  7721. figures
  7722. text 'MSe' 456 296 color 0 18 bold;
  7723. end;
  7724. implementation eq
  7725. variables
  7726. real flow;
  7727. equations
  7728. p.e = effort;
  7729. flow = p.f;
  7730. implementation_end;
  7731. plug effort 656 536;
  7732. plug p 768 296;
  7733. OneJunction 728 96
  7734. description '<Information>
  7735. <Description>
  7736. <Version>4.2</Version>
  7737. <IsMainModel>1</IsMainModel>
  7738. <KeepParameterValues>False</KeepParameterValues>
  7739. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7740. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7741. </Description>
  7742. </Information>';
  7743. knot OneJunction
  7744. ports
  7745. power knot duplicatable none p [1];
  7746. signal knot out flow [1];
  7747. restrictions
  7748. causality constraint one_out p;
  7749. end;
  7750. icon bg
  7751. figures
  7752. text '1' 728 96 color 0 18 bold;
  7753. end;
  7754. implementation eq
  7755. equations
  7756. sum (direct (p.e)) = 0;
  7757. equal (collect (p.f));
  7758. flow = first (p.f);
  7759. implementation_end;
  7760. OneJunction1 536 296
  7761. description '<Information>
  7762. <Description>
  7763. <Version>4.2</Version>
  7764. <IsMainModel>1</IsMainModel>
  7765. <KeepParameterValues>False</KeepParameterValues>
  7766. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7767. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7768. </Description>
  7769. </Information>';
  7770. knot OneJunction
  7771. ports
  7772. power knot duplicatable none p [1];
  7773. signal knot out flow [1];
  7774. restrictions
  7775. causality constraint one_out p;
  7776. end;
  7777. icon bg
  7778. figures
  7779. text '1' 536 296 color 0 18 bold;
  7780. end;
  7781. implementation eq
  7782. equations
  7783. sum (direct (p.e)) = 0;
  7784. equal (collect (p.f));
  7785. flow = first (p.f);
  7786. implementation_end;
  7787. OneJunction2 728 296
  7788. description '<Information>
  7789. <Description>
  7790. <Version>4.2</Version>
  7791. <IsMainModel>1</IsMainModel>
  7792. <KeepParameterValues>False</KeepParameterValues>
  7793. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7794. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7795. </Description>
  7796. </Information>';
  7797. knot OneJunction
  7798. ports
  7799. power knot duplicatable none p [1];
  7800. signal knot out flow [1];
  7801. restrictions
  7802. causality constraint one_out p;
  7803. end;
  7804. icon bg
  7805. figures
  7806. text '1' 728 296 color 0 18 bold;
  7807. end;
  7808. implementation eq
  7809. equations
  7810. sum (direct (p.e)) = 0;
  7811. equal (collect (p.f));
  7812. flow = first (p.f);
  7813. implementation_end;
  7814. OneJunction4 680 160
  7815. description '<Information>
  7816. <Description>
  7817. <Version>4.2</Version>
  7818. <IsMainModel>1</IsMainModel>
  7819. <KeepParameterValues>False</KeepParameterValues>
  7820. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7821. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7822. </Description>
  7823. </Information>';
  7824. knot OneJunction
  7825. ports
  7826. power knot duplicatable none p [1];
  7827. signal knot out flow [1];
  7828. restrictions
  7829. causality constraint one_out p;
  7830. end;
  7831. icon bg
  7832. figures
  7833. text '1' 680 160 color 0 18 bold;
  7834. end;
  7835. implementation eq
  7836. equations
  7837. sum (direct (p.e)) = 0;
  7838. equal (collect (p.f));
  7839. flow = first (p.f);
  7840. implementation_end;
  7841. PD 608 448
  7842. description '<Description>
  7843. <Version>4.0</Version>
  7844. <IsMainModel>1</IsMainModel>
  7845. <KeepParameterValues>False</KeepParameterValues>
  7846. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  7847. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  7848. </Description>';
  7849. type PD
  7850. ports
  7851. signal in error;
  7852. signal out output;
  7853. end;
  7854. icon bg bottom
  7855. figures
  7856. rectangle 592 432 624 464 color 0 fill 15132390;
  7857. text 'PD' 608.5 448.1 color 16711680 18 bold;
  7858. end;
  7859. implementation eq
  7860. parameters
  7861. real kp = 2.0 {}; // Proportional gain
  7862. real tauD = 1.0 {s}; // Derivative time constant: tauD > 0
  7863. real beta = 0.1 {}; // Tameness constant: 0 < beta << 1
  7864. variables
  7865. real state, rate;
  7866. equations
  7867. rate = (kp * error - output) / (beta * tauD);
  7868. state = int (rate);
  7869. output = state + kp * error / beta;
  7870. implementation_end;
  7871. PlusMinus1 656 448
  7872. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7873. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  7874. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  7875. </Description>';
  7876. knot PlusMinus
  7877. ports
  7878. signal knot duplicatable in plus [1];
  7879. signal knot duplicatable in minus [1];
  7880. signal knot out output [1];
  7881. end;
  7882. icon bg ellipse
  7883. figures
  7884. ellipse 648 440 664 456 color 0 fill 16777215;
  7885. end;
  7886. implementation eq
  7887. equations
  7888. output = sum (collect (plus)) - sum (collect (minus));
  7889. implementation_end;
  7890. R 536 240
  7891. description '<Information>
  7892. <Description>
  7893. <Version>4.2</Version>
  7894. <IsMainModel>1</IsMainModel>
  7895. <KeepParameterValues>False</KeepParameterValues>
  7896. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  7897. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  7898. </Description>
  7899. </Information>';
  7900. type R
  7901. ports
  7902. power in p;
  7903. end;
  7904. icon bg bottom
  7905. figures
  7906. text 'R' 536 240 color 0 18 bold;
  7907. end;
  7908. implementation eq
  7909. parameters
  7910. real r = 7.84 {ohm};
  7911. equations
  7912. p.e = r * p.f;
  7913. implementation_end;
  7914. R1 728 40
  7915. description '<Information>
  7916. <Description>
  7917. <Version>4.2</Version>
  7918. <IsMainModel>1</IsMainModel>
  7919. <KeepParameterValues>False</KeepParameterValues>
  7920. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  7921. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  7922. </Description>
  7923. </Information>';
  7924. type R
  7925. ports
  7926. power in p;
  7927. end;
  7928. icon bg bottom
  7929. figures
  7930. text 'R' 728 40 color 0 18 bold;
  7931. end;
  7932. implementation eq
  7933. parameters
  7934. real r = 10;
  7935. equations
  7936. p.e = r * p.f;
  7937. implementation_end;
  7938. Sf 632 160
  7939. description '<Information>
  7940. <Description>
  7941. <Version>4.2</Version>
  7942. <IsMainModel>1</IsMainModel>
  7943. <KeepParameterValues>False</KeepParameterValues>
  7944. <LibraryPath>Bond Graph\Sf.emx</LibraryPath>
  7945. <TimeStamp>2011-11-29 16:38:03</TimeStamp>
  7946. </Description>
  7947. </Information>';
  7948. type Sf
  7949. ports
  7950. power out p;
  7951. restrictions
  7952. causality fixed in p;
  7953. end;
  7954. icon bg bottom
  7955. figures
  7956. text 'Sf' 632 160 color 0 18 bold;
  7957. end;
  7958. implementation eq
  7959. parameters
  7960. real flow = 1;
  7961. variables
  7962. real effort;
  7963. equations
  7964. p.f = flow;
  7965. effort = p.e;
  7966. implementation_end;
  7967. SignalLimiter1 536 448
  7968. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7969. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  7970. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  7971. </Description>';
  7972. type 'SignalLimiter-Limit'
  7973. ports
  7974. signal in input;
  7975. signal out output;
  7976. end;
  7977. icon bg bottom
  7978. figures
  7979. group
  7980. rectangle 520 432 552 464 color 0 fill 15132390;
  7981. line 535.9 436.5 535.9 461 color 0 fill 15132390;
  7982. line 523 448.2 548.7 448.2 color 0 fill 15132390;
  7983. spline 529.9 455.1 541.9 441.4 color 16711680 fill 15132390 width 2;
  7984. spline 541.3 442.2 549.9 441.8 color 16711680 fill 15132390 width 2;
  7985. spline 523 455.6 529.9 455.1 color 16711680 fill 15132390 width 2;
  7986. end;
  7987. end;
  7988. implementation eq
  7989. parameters
  7990. real maximum = 1;
  7991. real minimum = -1;
  7992. equations
  7993. output = limit (input, minimum, maximum);
  7994. implementation_end;
  7995. Splitter2 680 448
  7996. description '<Description><Version>4.0</Version>
  7997. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  7998. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  7999. <IsMainModel>1</IsMainModel>
  8000. <KeepParameterValues>False</KeepParameterValues>
  8001. </Description>';
  8002. knot Splitter
  8003. ports
  8004. signal knot duplicatable out output [1];
  8005. signal knot in input [1];
  8006. end;
  8007. icon bg ellipse
  8008. figures
  8009. ellipse 676.8 444.8 683.2 451.2 color -1 fill 0;
  8010. ellipse 675.7 443.7 684.3 452.3 color -1;
  8011. terminals
  8012. input 680 448 fixed;
  8013. end;
  8014. implementation eq
  8015. equations
  8016. collect (output) = input;
  8017. implementation_end;
  8018. Submodel1 680 248
  8019. description '<Description><Version>4.0</Version>
  8020. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  8021. <IsMainModel>1</IsMainModel>
  8022. <KeepParameterValues>False</KeepParameterValues>
  8023. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  8024. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8025. </Description>';
  8026. type 'Submodel-Equation'
  8027. ports
  8028. signal in input;
  8029. signal out output;
  8030. end;
  8031. implementation eq
  8032. parameters
  8033. real angle = 90 {deg};
  8034. equations
  8035. // start typing here
  8036. output = abs(input) > angle;
  8037. implementation_end;
  8038. TF1 648 296
  8039. description '<Information>
  8040. <Description>
  8041. <Version>4.2</Version>
  8042. <IsMainModel>1</IsMainModel>
  8043. <KeepParameterValues>False</KeepParameterValues>
  8044. <LibraryPath>Bond Graph\TF.emx</LibraryPath>
  8045. <TimeStamp>2011-11-29 16:43:47</TimeStamp>
  8046. </Description>
  8047. </Information>';
  8048. type TF
  8049. ports
  8050. power in p1;
  8051. power out p2;
  8052. restrictions
  8053. causality constraint not_equal p1 p2;
  8054. end;
  8055. icon bg bottom
  8056. figures
  8057. text 'TF' 648 296 color 0 18 bold;
  8058. end;
  8059. implementation eq
  8060. parameters
  8061. real r = 0.008333;
  8062. equations
  8063. p1.e = r * p2.e;
  8064. p2.f = r * p1.f;
  8065. implementation_end;
  8066. X0 728 160
  8067. description '<Information>
  8068. <Description>
  8069. <IsMainModel>1</IsMainModel>
  8070. <KeepParameterValues>False</KeepParameterValues>
  8071. <LibraryPath>Bond Graph\SwitchingZeroJunction.emx</LibraryPath>
  8072. <TimeStamp>2012-12-21 14:27:32</TimeStamp>
  8073. <Version>4.3</Version>
  8074. </Description>
  8075. </Information>';
  8076. type X0
  8077. ports
  8078. power in p1;
  8079. power out p2;
  8080. power out p12;
  8081. signal boolean in condition;
  8082. restrictions
  8083. causality fixed out p1;
  8084. causality fixed out p2;
  8085. causality fixed in p12;
  8086. end;
  8087. icon bg bottom
  8088. figures
  8089. text 'X0' 728 160 color 8388608 18 bold;
  8090. end;
  8091. implementation eq
  8092. equations
  8093. p1.e = if condition then p12.e else 0 end;
  8094. p2.e = p1.e;
  8095. p12.f = if condition then p1.f-p2.f else 0 end;
  8096. implementation_end;
  8097. end;
  8098. connections
  8099. effort -> PlusMinus1\plus;
  8100. Gain1\output -> MSe\effort;
  8101. GY1\p2 => TF1\p1;
  8102. Integrate\output -> Splitter2\input;
  8103. MSe\p => OneJunction1\p;
  8104. OneJunction\p => C\p;
  8105. OneJunction\p => R1\p;
  8106. OneJunction1\p => GY1\p1;
  8107. OneJunction1\p => I\p;
  8108. OneJunction1\p => R\p;
  8109. OneJunction2\flow -> Integrate\input;
  8110. OneJunction2\p => p;
  8111. OneJunction4\p <= Sf\p;
  8112. PD\output -> SignalLimiter1\input;
  8113. PlusMinus1\output -> PD\error;
  8114. SignalLimiter1\output -> Gain1\input;
  8115. Splitter2\output -> PlusMinus1\minus;
  8116. Splitter2\output -> Submodel1\input;
  8117. Submodel1\output -> X0\condition 680 200;
  8118. TF1\p2 => OneJunction2\p;
  8119. X0\p1 <= OneJunction2\p;
  8120. X0\p12 => OneJunction\p;
  8121. X0\p2 => OneJunction4\p;
  8122. end;
  8123. implementation_end;
  8124. Square 288 544
  8125. description '<Description>
  8126. <Version>4.0</Version>
  8127. <IsMainModel>1</IsMainModel>
  8128. <KeepParameterValues>False</KeepParameterValues>
  8129. <LibraryPath>Signal\Sources\WaveGenerator-Square.emx</LibraryPath>
  8130. <TimeStamp>2009-3-5 16:05:33</TimeStamp>
  8131. </Description>';
  8132. type 'WaveGenerator-Square'
  8133. ports
  8134. signal out output;
  8135. end;
  8136. icon bg bottom
  8137. figures
  8138. rectangle 272.1 528 303.9 560 color 0 fill 15132390;
  8139. line 276.1 531.9 275.9 558.2 color 0 fill 0;
  8140. line 273.9 556.1 299.9 556.1 color 0 fill 0;
  8141. line 276.1 556.1 280 556.1 280 544 color 16711680 fill 0;
  8142. line 288 544 280 544 288 544 color 16711680 fill 0;
  8143. line 288 556.1 288 544 288 556.1 color 16711680 fill 0;
  8144. line 296 544 296 556.1 296 544 color 16711680 fill 0;
  8145. line 299.9 544.1 295.7 544.1 color 16711680 fill 0;
  8146. line 288 556.1 296 556.1 color 16711680 fill 0;
  8147. end;
  8148. implementation eq
  8149. parameters
  8150. real amplitude = 45 {deg}; // amplitude of the wave
  8151. real omega = 0.31415926535898 {rad/s}; // angular frequency of the wave
  8152. variables
  8153. real hidden s, half;
  8154. boolean hidden change;
  8155. equations
  8156. "calculate at least 2 points per period
  8157. (just after the change in sign)"
  8158. half = pi / omega;
  8159. change = frequencyevent (half, 1e-14);
  8160. "calculate the square wave"
  8161. s = sign (sin (omega * time));
  8162. output = if( s == 0 ) then
  8163. amplitude
  8164. else
  8165. (amplitude / 2) * (s + 1)
  8166. end;
  8167. implementation_end;
  8168. end;
  8169. connections
  8170. C\p <= OneJunction3\p;
  8171. C1\p <= OneJunction7\p;
  8172. OneJunction3\p <= OneJunction8\p;
  8173. OneJunction5\p => C4\p;
  8174. OneJunction5\p => PowerMux\input_rot2;
  8175. OneJunction5\p => R4\p;
  8176. OneJunction7\p => PowerMux\input_pos3;
  8177. OneJunction7\p => R5\p;
  8178. OneJunction8\p <= SG90\p;
  8179. OneJunction8\p => PowerMux\input;
  8180. PowerMux\output => output;
  8181. R\p <= OneJunction3\p;
  8182. Square\output -> SG90\effort;
  8183. end;
  8184. implementation_end;
  8185. Joint_dynF2 712 80
  8186. description '<Description>
  8187. <Version>4.8</Version>
  8188. <IsMainModel>1</IsMainModel>
  8189. </Description>';
  8190. type Submodel
  8191. ports
  8192. power out output [6,1];
  8193. end;
  8194. icon bg
  8195. figures
  8196. rectangle 672 64 752 96 color 0 fill 15132390;
  8197. text 'name' 712 80 color 0 'Clear Sans' 16;
  8198. end;
  8199. implementation bg
  8200. submodels
  8201. C1 191.8 216.2
  8202. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  8203. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  8204. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  8205. </Description>';
  8206. type 'C-3'
  8207. ports
  8208. power in p [3,1];
  8209. signal out state [3,1];
  8210. restrictions
  8211. causality preferred out p;
  8212. end;
  8213. icon bg top
  8214. figures
  8215. text 'C' 191.8 216.2 color 0 18 bold;
  8216. end;
  8217. implementation eq
  8218. parameters
  8219. real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {mN/m};
  8220. equations
  8221. state = int(p.f);
  8222. p.e = inverse(c) *state;
  8223. implementation_end;
  8224. C4 191.8 232.2
  8225. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  8226. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  8227. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  8228. </Description>';
  8229. type 'C-2'
  8230. ports
  8231. power in p [2,1];
  8232. signal out state [2,1];
  8233. restrictions
  8234. causality preferred out p;
  8235. end;
  8236. icon bg bottom
  8237. figures
  8238. text 'C' 191.8 232.2 color 0 18 bold;
  8239. end;
  8240. implementation eq
  8241. parameters
  8242. real c[2,2] = [1, 0.0; 0.0, 1] {mN.m/rad};
  8243. equations
  8244. state = int(p.f);
  8245. p.e = inverse(c) *state;
  8246. implementation_end;
  8247. plug output 396 216;
  8248. OneJunction5 239.8 232.2
  8249. description '<Information>
  8250. <Description>
  8251. <Version>4.2</Version>
  8252. <IsMainModel>1</IsMainModel>
  8253. <KeepParameterValues>False</KeepParameterValues>
  8254. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  8255. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  8256. </Description>
  8257. </Information>';
  8258. knot OneJunction
  8259. ports
  8260. power knot duplicatable none p [2,1];
  8261. signal knot out flow [2,1];
  8262. restrictions
  8263. causality constraint one_out p;
  8264. end;
  8265. icon bg
  8266. figures
  8267. text '1' 239.8 232.2 color 0 18 bold;
  8268. end;
  8269. implementation eq
  8270. equations
  8271. sum (direct (p.e)) = 0;
  8272. equal (collect (p.f));
  8273. flow = first (p.f);
  8274. implementation_end;
  8275. OneJunction7 239.8 216.2
  8276. description '<Information>
  8277. <Description>
  8278. <Version>4.2</Version>
  8279. <IsMainModel>1</IsMainModel>
  8280. <KeepParameterValues>False</KeepParameterValues>
  8281. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  8282. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  8283. </Description>
  8284. </Information>';
  8285. knot OneJunction
  8286. ports
  8287. power knot duplicatable none p [3,1];
  8288. signal knot out flow [3,1];
  8289. restrictions
  8290. causality constraint one_out p;
  8291. end;
  8292. icon bg
  8293. figures
  8294. text '1' 239.8 216.2 color 0 18 bold;
  8295. end;
  8296. implementation eq
  8297. equations
  8298. sum (direct (p.e)) = 0;
  8299. equal (collect (p.f));
  8300. flow = first (p.f);
  8301. implementation_end;
  8302. OneJunction8 288 200
  8303. description '<Information>
  8304. <Description>
  8305. <Version>4.2</Version>
  8306. <IsMainModel>1</IsMainModel>
  8307. <KeepParameterValues>False</KeepParameterValues>
  8308. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  8309. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  8310. </Description>
  8311. </Information>';
  8312. knot OneJunction
  8313. ports
  8314. power knot duplicatable none p [1];
  8315. signal knot out flow [1];
  8316. restrictions
  8317. causality constraint one_out p;
  8318. end;
  8319. icon bg
  8320. figures
  8321. text '1' 288 200 color 0 18 bold;
  8322. end;
  8323. implementation eq
  8324. equations
  8325. sum (direct (p.e)) = 0;
  8326. equal (collect (p.f));
  8327. flow = first (p.f);
  8328. implementation_end;
  8329. PowerMux 330 216
  8330. specifications active 'rot_z'
  8331. specification 'rot_x'
  8332. description '<Information>
  8333. <Description>
  8334. <Version>4.8</Version>
  8335. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  8336. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  8337. <IsMainModel>1</IsMainModel>
  8338. <KeepParameterValues>False</KeepParameterValues>
  8339. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  8340. </Description>
  8341. </Information>';
  8342. type 'PowerMux-Rotation'
  8343. ports
  8344. power in input;
  8345. power out output [6,1];
  8346. power in input_rot2 [2,1];
  8347. power in input_pos3 [3,1];
  8348. restrictions
  8349. causality constraint not_equal input output;
  8350. causality constraint not_equal input_rot2 output;
  8351. causality constraint not_equal input_pos3 output;
  8352. end;
  8353. icon bg bottom
  8354. figures
  8355. line 328 192 328 240 color 0 width 2;
  8356. rectangle 324 192 336 240 color -1;
  8357. text '1' 333 210 color 8421504 8;
  8358. terminals
  8359. input 328 200 fixed;
  8360. output 328 216 fixed;
  8361. input_rot2 328 232 fixed;
  8362. input_pos3 328 216 fixed;
  8363. end;
  8364. implementation eq
  8365. equations
  8366. output.e[1] = input.e;
  8367. output.e[2:3] = input_rot2.e;
  8368. output.e[4:6] = input_pos3.e;
  8369. output.f[1] = input.f;
  8370. output.f[2:3] = input_rot2.f;
  8371. output.f[4:6] = input_pos3.f;implementation_end;
  8372. specification_end;
  8373. specification 'rot_y'
  8374. description '<Description>
  8375. <Version>4.1</Version>
  8376. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  8377. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  8378. <IsMainModel>1</IsMainModel>
  8379. <KeepParameterValues>False</KeepParameterValues>
  8380. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  8381. </Description>';
  8382. type PowerMux
  8383. ports
  8384. power in input;
  8385. power out output [6,1];
  8386. power in input_rot2 [2,1];
  8387. power in input_pos3 [3,1];
  8388. restrictions
  8389. causality constraint not_equal input output;
  8390. causality constraint not_equal input_rot2 output;
  8391. causality constraint not_equal input_pos3 output;
  8392. end;
  8393. icon bg bottom
  8394. figures
  8395. line 242 274 290 274 color 0 width 2;
  8396. rectangle 242 266 290 278 color -1;
  8397. text '1' 260 269 color 8421504 8;
  8398. terminals
  8399. input 250 274 fixed;
  8400. output 266 274 fixed;
  8401. input_rot2 282 274 fixed;
  8402. input_pos3 266 274 fixed;
  8403. end;
  8404. implementation eq
  8405. equations
  8406. output.e[1] = input_rot2.e[1];
  8407. output.e[2] = input.e;
  8408. output.e[3] = input_rot2.e[2];
  8409. output.e[4:6] = input_pos3.e;
  8410. output.f[1] = input_rot2.f[1];
  8411. output.f[2] = input.f;
  8412. output.f[3] = input_rot2.f[2];
  8413. output.f[4:6] = input_pos3.f;implementation_end;
  8414. specification_end;
  8415. specification 'rot_z'
  8416. description '<Information>
  8417. <Description>
  8418. <Version>4.8</Version>
  8419. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  8420. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  8421. <IsMainModel>1</IsMainModel>
  8422. <KeepParameterValues>False</KeepParameterValues>
  8423. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  8424. </Description>
  8425. </Information>';
  8426. type PowerMux
  8427. ports
  8428. power in input;
  8429. power out output [6,1];
  8430. power in input_rot2 [2,1];
  8431. power in input_pos3 [3,1];
  8432. restrictions
  8433. causality constraint not_equal input output;
  8434. causality constraint not_equal input_rot2 output;
  8435. causality constraint not_equal input_pos3 output;
  8436. end;
  8437. icon bg bottom
  8438. figures
  8439. line 328 192 328 240 color 0 width 2;
  8440. rectangle 324 192 336 240 color -1;
  8441. text '1' 333 210 color 8421504 8;
  8442. terminals
  8443. input 328 200 fixed;
  8444. output 328 216 fixed;
  8445. input_rot2 328 232 fixed;
  8446. input_pos3 328 216 fixed;
  8447. end;
  8448. implementation eq
  8449. equations
  8450. output.e[3] = input.e;
  8451. output.e[1:2] = input_rot2.e;
  8452. output.e[4:6] = input_pos3.e;
  8453. output.f[3] = input.f;
  8454. output.f[1:2] = input_rot2.f;
  8455. output.f[4:6] = input_pos3.f;implementation_end;
  8456. specification_end;
  8457. end;
  8458. R 288 152
  8459. description '<Information>
  8460. <Description>
  8461. <Version>4.2</Version>
  8462. <IsMainModel>1</IsMainModel>
  8463. <KeepParameterValues>False</KeepParameterValues>
  8464. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  8465. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  8466. </Description>
  8467. </Information>';
  8468. type R
  8469. ports
  8470. power in p;
  8471. end;
  8472. icon bg top
  8473. figures
  8474. text 'R' 288 152 color 0 18 bold;
  8475. end;
  8476. implementation eq
  8477. parameters
  8478. real r = 0.0001;
  8479. equations
  8480. p.e = r * p.f;
  8481. implementation_end;
  8482. R4 239.8 288.2
  8483. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  8484. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  8485. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  8486. </Description>';
  8487. type 'R-2'
  8488. ports
  8489. power in p [2,1];
  8490. end;
  8491. icon bg bottom
  8492. figures
  8493. text 'R' 239.8 288.2 color 0 18 bold;
  8494. end;
  8495. implementation eq
  8496. parameters
  8497. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  8498. equations
  8499. p.e = r * p.f;
  8500. implementation_end;
  8501. R5 239.8 168.2
  8502. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  8503. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  8504. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  8505. </Description>';
  8506. type 'R-3'
  8507. ports
  8508. power in p [3,1];
  8509. end;
  8510. icon bg top
  8511. figures
  8512. text 'R' 239.8 168.2 color 0 18 bold;
  8513. end;
  8514. implementation eq
  8515. parameters
  8516. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  8517. equations
  8518. p.e = r * p.f;
  8519. implementation_end;
  8520. end;
  8521. connections
  8522. C1\p <= OneJunction7\p;
  8523. OneJunction5\p => C4\p;
  8524. OneJunction5\p => PowerMux\input_rot2;
  8525. OneJunction5\p => R4\p;
  8526. OneJunction7\p => PowerMux\input_pos3;
  8527. OneJunction7\p => R5\p;
  8528. OneJunction8\p => PowerMux\input;
  8529. PowerMux\output => output;
  8530. R\p <= OneJunction8\p;
  8531. end;
  8532. implementation_end;
  8533. Joint_dynF3 1064 80
  8534. description '<Description>
  8535. <Version>4.8</Version>
  8536. <IsMainModel>1</IsMainModel>
  8537. </Description>';
  8538. type Submodel
  8539. ports
  8540. power out output [6,1];
  8541. end;
  8542. icon bg
  8543. figures
  8544. rectangle 1024 64 1104 96 color 0 fill 15132390;
  8545. text 'name' 1064 80 color 0 'Clear Sans' 16;
  8546. end;
  8547. implementation bg
  8548. submodels
  8549. C1 191.8 216.2
  8550. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  8551. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  8552. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  8553. </Description>';
  8554. type 'C-3'
  8555. ports
  8556. power in p [3,1];
  8557. signal out state [3,1];
  8558. restrictions
  8559. causality preferred out p;
  8560. end;
  8561. icon bg top
  8562. figures
  8563. text 'C' 191.8 216.2 color 0 18 bold;
  8564. end;
  8565. implementation eq
  8566. parameters
  8567. real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {mN/m};
  8568. equations
  8569. state = int(p.f);
  8570. p.e = inverse(c) *state;
  8571. implementation_end;
  8572. C4 191.8 232.2
  8573. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  8574. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  8575. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  8576. </Description>';
  8577. type 'C-2'
  8578. ports
  8579. power in p [2,1];
  8580. signal out state [2,1];
  8581. restrictions
  8582. causality preferred out p;
  8583. end;
  8584. icon bg bottom
  8585. figures
  8586. text 'C' 191.8 232.2 color 0 18 bold;
  8587. end;
  8588. implementation eq
  8589. parameters
  8590. real c[2,2] = [1, 0.0; 0.0, 1] {mN.m/rad};
  8591. equations
  8592. state = int(p.f);
  8593. p.e = inverse(c) *state;
  8594. implementation_end;
  8595. plug output 396 216;
  8596. OneJunction5 239.8 232.2
  8597. description '<Information>
  8598. <Description>
  8599. <Version>4.2</Version>
  8600. <IsMainModel>1</IsMainModel>
  8601. <KeepParameterValues>False</KeepParameterValues>
  8602. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  8603. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  8604. </Description>
  8605. </Information>';
  8606. knot OneJunction
  8607. ports
  8608. power knot duplicatable none p [2,1];
  8609. signal knot out flow [2,1];
  8610. restrictions
  8611. causality constraint one_out p;
  8612. end;
  8613. icon bg
  8614. figures
  8615. text '1' 239.8 232.2 color 0 18 bold;
  8616. end;
  8617. implementation eq
  8618. equations
  8619. sum (direct (p.e)) = 0;
  8620. equal (collect (p.f));
  8621. flow = first (p.f);
  8622. implementation_end;
  8623. OneJunction7 239.8 216.2
  8624. description '<Information>
  8625. <Description>
  8626. <Version>4.2</Version>
  8627. <IsMainModel>1</IsMainModel>
  8628. <KeepParameterValues>False</KeepParameterValues>
  8629. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  8630. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  8631. </Description>
  8632. </Information>';
  8633. knot OneJunction
  8634. ports
  8635. power knot duplicatable none p [3,1];
  8636. signal knot out flow [3,1];
  8637. restrictions
  8638. causality constraint one_out p;
  8639. end;
  8640. icon bg
  8641. figures
  8642. text '1' 239.8 216.2 color 0 18 bold;
  8643. end;
  8644. implementation eq
  8645. equations
  8646. sum (direct (p.e)) = 0;
  8647. equal (collect (p.f));
  8648. flow = first (p.f);
  8649. implementation_end;
  8650. OneJunction8 288 200
  8651. description '<Information>
  8652. <Description>
  8653. <Version>4.2</Version>
  8654. <IsMainModel>1</IsMainModel>
  8655. <KeepParameterValues>False</KeepParameterValues>
  8656. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  8657. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  8658. </Description>
  8659. </Information>';
  8660. knot OneJunction
  8661. ports
  8662. power knot duplicatable none p [1];
  8663. signal knot out flow [1];
  8664. restrictions
  8665. causality constraint one_out p;
  8666. end;
  8667. icon bg
  8668. figures
  8669. text '1' 288 200 color 0 18 bold;
  8670. end;
  8671. implementation eq
  8672. equations
  8673. sum (direct (p.e)) = 0;
  8674. equal (collect (p.f));
  8675. flow = first (p.f);
  8676. implementation_end;
  8677. PowerMux 330 216
  8678. specifications active 'rot_z'
  8679. specification 'rot_x'
  8680. description '<Information>
  8681. <Description>
  8682. <Version>4.8</Version>
  8683. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  8684. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  8685. <IsMainModel>1</IsMainModel>
  8686. <KeepParameterValues>False</KeepParameterValues>
  8687. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  8688. </Description>
  8689. </Information>';
  8690. type 'PowerMux-Rotation'
  8691. ports
  8692. power in input;
  8693. power out output [6,1];
  8694. power in input_rot2 [2,1];
  8695. power in input_pos3 [3,1];
  8696. restrictions
  8697. causality constraint not_equal input output;
  8698. causality constraint not_equal input_rot2 output;
  8699. causality constraint not_equal input_pos3 output;
  8700. end;
  8701. icon bg bottom
  8702. figures
  8703. line 328 192 328 240 color 0 width 2;
  8704. rectangle 324 192 336 240 color -1;
  8705. text '1' 333 210 color 8421504 8;
  8706. terminals
  8707. input 328 200 fixed;
  8708. output 328 216 fixed;
  8709. input_rot2 328 232 fixed;
  8710. input_pos3 328 216 fixed;
  8711. end;
  8712. implementation eq
  8713. equations
  8714. output.e[1] = input.e;
  8715. output.e[2:3] = input_rot2.e;
  8716. output.e[4:6] = input_pos3.e;
  8717. output.f[1] = input.f;
  8718. output.f[2:3] = input_rot2.f;
  8719. output.f[4:6] = input_pos3.f;implementation_end;
  8720. specification_end;
  8721. specification 'rot_y'
  8722. description '<Description>
  8723. <Version>4.1</Version>
  8724. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  8725. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  8726. <IsMainModel>1</IsMainModel>
  8727. <KeepParameterValues>False</KeepParameterValues>
  8728. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  8729. </Description>';
  8730. type PowerMux
  8731. ports
  8732. power in input;
  8733. power out output [6,1];
  8734. power in input_rot2 [2,1];
  8735. power in input_pos3 [3,1];
  8736. restrictions
  8737. causality constraint not_equal input output;
  8738. causality constraint not_equal input_rot2 output;
  8739. causality constraint not_equal input_pos3 output;
  8740. end;
  8741. icon bg bottom
  8742. figures
  8743. line 242 274 290 274 color 0 width 2;
  8744. rectangle 242 266 290 278 color -1;
  8745. text '1' 260 269 color 8421504 8;
  8746. terminals
  8747. input 250 274 fixed;
  8748. output 266 274 fixed;
  8749. input_rot2 282 274 fixed;
  8750. input_pos3 266 274 fixed;
  8751. end;
  8752. implementation eq
  8753. equations
  8754. output.e[1] = input_rot2.e[1];
  8755. output.e[2] = input.e;
  8756. output.e[3] = input_rot2.e[2];
  8757. output.e[4:6] = input_pos3.e;
  8758. output.f[1] = input_rot2.f[1];
  8759. output.f[2] = input.f;
  8760. output.f[3] = input_rot2.f[2];
  8761. output.f[4:6] = input_pos3.f;implementation_end;
  8762. specification_end;
  8763. specification 'rot_z'
  8764. description '<Information>
  8765. <Description>
  8766. <Version>4.8</Version>
  8767. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  8768. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  8769. <IsMainModel>1</IsMainModel>
  8770. <KeepParameterValues>False</KeepParameterValues>
  8771. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  8772. </Description>
  8773. </Information>';
  8774. type PowerMux
  8775. ports
  8776. power in input;
  8777. power out output [6,1];
  8778. power in input_rot2 [2,1];
  8779. power in input_pos3 [3,1];
  8780. restrictions
  8781. causality constraint not_equal input output;
  8782. causality constraint not_equal input_rot2 output;
  8783. causality constraint not_equal input_pos3 output;
  8784. end;
  8785. icon bg bottom
  8786. figures
  8787. line 328 192 328 240 color 0 width 2;
  8788. rectangle 324 192 336 240 color -1;
  8789. text '1' 333 210 color 8421504 8;
  8790. terminals
  8791. input 328 200 fixed;
  8792. output 328 216 fixed;
  8793. input_rot2 328 232 fixed;
  8794. input_pos3 328 216 fixed;
  8795. end;
  8796. implementation eq
  8797. equations
  8798. output.e[3] = input.e;
  8799. output.e[1:2] = input_rot2.e;
  8800. output.e[4:6] = input_pos3.e;
  8801. output.f[3] = input.f;
  8802. output.f[1:2] = input_rot2.f;
  8803. output.f[4:6] = input_pos3.f;implementation_end;
  8804. specification_end;
  8805. end;
  8806. R 288 152
  8807. description '<Information>
  8808. <Description>
  8809. <Version>4.2</Version>
  8810. <IsMainModel>1</IsMainModel>
  8811. <KeepParameterValues>False</KeepParameterValues>
  8812. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  8813. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  8814. </Description>
  8815. </Information>';
  8816. type R
  8817. ports
  8818. power in p;
  8819. end;
  8820. icon bg top
  8821. figures
  8822. text 'R' 288 152 color 0 18 bold;
  8823. end;
  8824. implementation eq
  8825. parameters
  8826. real r = 0.0001;
  8827. equations
  8828. p.e = r * p.f;
  8829. implementation_end;
  8830. R4 239.8 288.2
  8831. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  8832. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  8833. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  8834. </Description>';
  8835. type 'R-2'
  8836. ports
  8837. power in p [2,1];
  8838. end;
  8839. icon bg bottom
  8840. figures
  8841. text 'R' 239.8 288.2 color 0 18 bold;
  8842. end;
  8843. implementation eq
  8844. parameters
  8845. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  8846. equations
  8847. p.e = r * p.f;
  8848. implementation_end;
  8849. R5 239.8 168.2
  8850. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  8851. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  8852. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  8853. </Description>';
  8854. type 'R-3'
  8855. ports
  8856. power in p [3,1];
  8857. end;
  8858. icon bg top
  8859. figures
  8860. text 'R' 239.8 168.2 color 0 18 bold;
  8861. end;
  8862. implementation eq
  8863. parameters
  8864. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  8865. equations
  8866. p.e = r * p.f;
  8867. implementation_end;
  8868. end;
  8869. connections
  8870. C1\p <= OneJunction7\p;
  8871. OneJunction5\p => C4\p;
  8872. OneJunction5\p => PowerMux\input_rot2;
  8873. OneJunction5\p => R4\p;
  8874. OneJunction7\p => PowerMux\input_pos3;
  8875. OneJunction7\p => R5\p;
  8876. OneJunction8\p => PowerMux\input;
  8877. PowerMux\output => output;
  8878. R\p <= OneJunction8\p;
  8879. end;
  8880. implementation_end;
  8881. Link1 608 184
  8882. description '<Information>
  8883. <Description>
  8884. <Version>4.8</Version>
  8885. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8886. <IsMainModel>1</IsMainModel>
  8887. <KeepParameterValues>False</KeepParameterValues>
  8888. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8889. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8890. </Description>
  8891. </Information>';
  8892. type 'Submodel-Equation'
  8893. ports
  8894. signal in Hin [4,4];
  8895. signal out Hout [4,4];
  8896. power in Pin [6,1];
  8897. power out Pout [6,1];
  8898. restrictions
  8899. causality constraint not_equal Pin Pout;
  8900. end;
  8901. icon bg bottom
  8902. figures
  8903. rectangle 576 160 640 208 color 0 fill 8454041;
  8904. text 'Link' 608 184 color 0 'Clear Sans' 16;
  8905. terminals
  8906. Hin 576 200 fixed;
  8907. Hout 640 200 fixed;
  8908. Pin 640 168 fixed;
  8909. Pout 576 168 fixed;
  8910. end;
  8911. implementation eq
  8912. parameters
  8913. real offset[6]= [0;0;0;0.005;0;0]; //coordinates of joint_1
  8914. variables
  8915. real Hab[4,4];
  8916. real AdHab[6,6];
  8917. real R[3,3];
  8918. real omega[3];
  8919. initialequations
  8920. omega = offset[1:3];
  8921. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8922. Hab = homogeneous(R,offset[4:6]);
  8923. AdHab = Adjoint(Hab);
  8924. equations
  8925. Hout = Hin * Hab;
  8926. Pout.e = transpose(AdHab) * Pin.e;
  8927. Pin.f = AdHab * Pout.f;
  8928. implementation_end;
  8929. Link12 152 184
  8930. description '<Information>
  8931. <Description>
  8932. <Version>4.8</Version>
  8933. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8934. <IsMainModel>1</IsMainModel>
  8935. <KeepParameterValues>False</KeepParameterValues>
  8936. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8937. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8938. </Description>
  8939. </Information>';
  8940. type 'Submodel-Equation'
  8941. ports
  8942. signal in Hin [4,4];
  8943. signal out Hout [4,4];
  8944. power in Pin [6,1];
  8945. power out Pout [6,1];
  8946. restrictions
  8947. causality constraint not_equal Pin Pout;
  8948. end;
  8949. icon bg bottom
  8950. figures
  8951. rectangle 120 160 184 208 color 0 fill 8454041;
  8952. text 'Link' 152 184 color 0 'Clear Sans' 16;
  8953. terminals
  8954. Hin 120 200 fixed;
  8955. Hout 184 200 fixed;
  8956. Pin 184 168 fixed;
  8957. Pout 120 168 fixed;
  8958. end;
  8959. implementation eq
  8960. parameters
  8961. real offset[6]= [0;0;0;0.0059;0;0]; //coordinates of joint_1
  8962. variables
  8963. real Hab[4,4];
  8964. real AdHab[6,6];
  8965. real R[3,3];
  8966. real omega[3];
  8967. initialequations
  8968. omega = offset[1:3];
  8969. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8970. Hab = homogeneous(R,offset[4:6]);
  8971. AdHab = Adjoint(Hab);
  8972. equations
  8973. Hout = Hin * Hab;
  8974. Pout.e = transpose(AdHab) * Pin.e;
  8975. Pin.f = AdHab * Pout.f;implementation_end;
  8976. Link13 400 184
  8977. description '<Information>
  8978. <Description>
  8979. <Version>4.8</Version>
  8980. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8981. <IsMainModel>1</IsMainModel>
  8982. <KeepParameterValues>False</KeepParameterValues>
  8983. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8984. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8985. </Description>
  8986. </Information>';
  8987. type 'Submodel-Equation'
  8988. ports
  8989. signal in Hin [4,4];
  8990. signal out Hout [4,4];
  8991. power in Pin [6,1];
  8992. power out Pout [6,1];
  8993. restrictions
  8994. causality constraint not_equal Pin Pout;
  8995. end;
  8996. icon bg bottom
  8997. figures
  8998. rectangle 368 160 432 208 color 0 fill 8454041;
  8999. text 'Link' 400 184 color 0 'Clear Sans' 16;
  9000. terminals
  9001. Hin 368 200 fixed;
  9002. Hout 432 200 fixed;
  9003. Pin 432 168 fixed;
  9004. Pout 368 168 fixed;
  9005. end;
  9006. implementation eq
  9007. parameters
  9008. real offset[6]= [0;0;0;0.005;0;0]; //coordinates of joint_1
  9009. variables
  9010. real Hab[4,4];
  9011. real AdHab[6,6];
  9012. real R[3,3];
  9013. real omega[3];
  9014. initialequations
  9015. omega = offset[1:3];
  9016. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9017. Hab = homogeneous(R,offset[4:6]);
  9018. AdHab = Adjoint(Hab);
  9019. equations
  9020. Hout = Hin * Hab;
  9021. Pout.e = transpose(AdHab) * Pin.e;
  9022. Pin.f = AdHab * Pout.f;
  9023. implementation_end;
  9024. Link14 816 184
  9025. description '<Information>
  9026. <Description>
  9027. <Version>4.8</Version>
  9028. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9029. <IsMainModel>1</IsMainModel>
  9030. <KeepParameterValues>False</KeepParameterValues>
  9031. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9032. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9033. </Description>
  9034. </Information>';
  9035. type 'Submodel-Equation'
  9036. ports
  9037. signal in Hin [4,4];
  9038. signal out Hout [4,4];
  9039. power in Pin [6,1];
  9040. power out Pout [6,1];
  9041. restrictions
  9042. causality constraint not_equal Pin Pout;
  9043. end;
  9044. icon bg bottom
  9045. figures
  9046. rectangle 784 160 848 208 color 0 fill 8454041;
  9047. text 'Link' 816 184 color 0 'Clear Sans' 16;
  9048. terminals
  9049. Hin 784 200 fixed;
  9050. Hout 848 200 fixed;
  9051. Pin 848 168 fixed;
  9052. Pout 784 168 fixed;
  9053. end;
  9054. implementation eq
  9055. parameters
  9056. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  9057. variables
  9058. real Hab[4,4];
  9059. real AdHab[6,6];
  9060. real R[3,3];
  9061. real omega[3];
  9062. initialequations
  9063. omega = offset[1:3];
  9064. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9065. Hab = homogeneous(R,offset[4:6]);
  9066. AdHab = Adjoint(Hab);
  9067. equations
  9068. Hout = Hin * Hab;
  9069. Pout.e = transpose(AdHab) * Pin.e;
  9070. Pin.f = AdHab * Pout.f;
  9071. implementation_end;
  9072. Link15 1168 184
  9073. description '<Information>
  9074. <Description>
  9075. <Version>4.8</Version>
  9076. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9077. <IsMainModel>1</IsMainModel>
  9078. <KeepParameterValues>False</KeepParameterValues>
  9079. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9080. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9081. </Description>
  9082. </Information>';
  9083. type 'Submodel-Equation'
  9084. ports
  9085. signal in Hin [4,4];
  9086. signal out Hout [4,4];
  9087. power in Pin [6,1];
  9088. power out Pout [6,1];
  9089. restrictions
  9090. causality constraint not_equal Pin Pout;
  9091. end;
  9092. icon bg bottom
  9093. figures
  9094. rectangle 1136 160 1200 208 color 0 fill 8454041;
  9095. text 'Link' 1168 184 color 0 'Clear Sans' 16;
  9096. terminals
  9097. Hin 1136 200 fixed;
  9098. Hout 1200 200 fixed;
  9099. Pin 1200 168 fixed;
  9100. Pout 1136 168 fixed;
  9101. end;
  9102. implementation eq
  9103. parameters
  9104. real offset[6]= [0;0;0;-0.00795;0;0]; //coordinates of joint_1
  9105. variables
  9106. real Hab[4,4];
  9107. real AdHab[6,6];
  9108. real R[3,3];
  9109. real omega[3];
  9110. initialequations
  9111. omega = offset[1:3];
  9112. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9113. Hab = homogeneous(R,offset[4:6]);
  9114. AdHab = Adjoint(Hab);
  9115. equations
  9116. Hout = Hin * Hab;
  9117. Pout.e = transpose(AdHab) * Pin.e;
  9118. Pin.f = AdHab * Pout.f;
  9119. implementation_end;
  9120. Link2 976 184
  9121. description '<Information>
  9122. <Description>
  9123. <Version>4.8</Version>
  9124. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9125. <IsMainModel>1</IsMainModel>
  9126. <KeepParameterValues>False</KeepParameterValues>
  9127. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9128. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9129. </Description>
  9130. </Information>';
  9131. type 'Submodel-Equation'
  9132. ports
  9133. signal in Hin [4,4];
  9134. signal out Hout [4,4];
  9135. power in Pin [6,1];
  9136. power out Pout [6,1];
  9137. restrictions
  9138. causality constraint not_equal Pin Pout;
  9139. end;
  9140. icon bg bottom
  9141. figures
  9142. rectangle 944 160 1008 208 color 0 fill 8454041;
  9143. text 'Link' 976 184 color 0 'Clear Sans' 16;
  9144. terminals
  9145. Hin 944 200 fixed;
  9146. Hout 1008 200 fixed;
  9147. Pin 1008 168 fixed;
  9148. Pout 944 168 fixed;
  9149. end;
  9150. implementation eq
  9151. parameters
  9152. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  9153. variables
  9154. real Hab[4,4];
  9155. real AdHab[6,6];
  9156. real R[3,3];
  9157. real omega[3];
  9158. initialequations
  9159. omega = offset[1:3];
  9160. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9161. Hab = homogeneous(R,offset[4:6]);
  9162. AdHab = Adjoint(Hab);
  9163. equations
  9164. Hout = Hin * Hab;
  9165. Pout.e = transpose(AdHab) * Pin.e;
  9166. Pin.f = AdHab * Pout.f;
  9167. implementation_end;
  9168. Link3 1304 184
  9169. description '<Information>
  9170. <Description>
  9171. <Version>4.8</Version>
  9172. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9173. <IsMainModel>1</IsMainModel>
  9174. <KeepParameterValues>False</KeepParameterValues>
  9175. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9176. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9177. </Description>
  9178. </Information>';
  9179. type 'Submodel-Equation'
  9180. ports
  9181. signal in Hin [4,4];
  9182. signal out Hout [4,4];
  9183. power in Pin [6,1];
  9184. power out Pout [6,1];
  9185. restrictions
  9186. causality constraint not_equal Pin Pout;
  9187. end;
  9188. icon bg bottom
  9189. figures
  9190. rectangle 1272 160 1336 208 color 0 fill 8454041;
  9191. text 'Link' 1304 184 color 0 'Clear Sans' 16;
  9192. terminals
  9193. Hin 1272 200 fixed;
  9194. Hout 1336 200 fixed;
  9195. Pin 1336 168 fixed;
  9196. Pout 1272 168 fixed;
  9197. end;
  9198. implementation eq
  9199. parameters
  9200. real offset[6]= [0;0;0;-0.00795;0;0]; //coordinates of joint_1
  9201. variables
  9202. real Hab[4,4];
  9203. real AdHab[6,6];
  9204. real R[3,3];
  9205. real omega[3];
  9206. initialequations
  9207. omega = offset[1:3];
  9208. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9209. Hab = homogeneous(R,offset[4:6]);
  9210. AdHab = Adjoint(Hab);
  9211. equations
  9212. Hout = Hin * Hab;
  9213. Pout.e = transpose(AdHab) * Pin.e;
  9214. Pin.f = AdHab * Pout.f;
  9215. implementation_end;
  9216. plug Hin 72 200;
  9217. plug Pin 1392 168;
  9218. plug Pout 72 168;
  9219. OneJunction1 520 168
  9220. description '<Information>
  9221. <Description>
  9222. <Version>4.2</Version>
  9223. <IsMainModel>1</IsMainModel>
  9224. <KeepParameterValues>False</KeepParameterValues>
  9225. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  9226. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  9227. </Description>
  9228. </Information>';
  9229. knot OneJunction
  9230. ports
  9231. power knot duplicatable none p [6,1];
  9232. signal knot out flow [6,1];
  9233. restrictions
  9234. causality constraint one_out p;
  9235. end;
  9236. icon bg
  9237. figures
  9238. text '1' 520 168 color 0 18 bold;
  9239. end;
  9240. implementation eq
  9241. equations
  9242. sum (direct (p.e)) = 0;
  9243. equal (collect (p.f));
  9244. flow = first (p.f);
  9245. implementation_end;
  9246. OneJunction2 904 168
  9247. description '<Information>
  9248. <Description>
  9249. <Version>4.2</Version>
  9250. <IsMainModel>1</IsMainModel>
  9251. <KeepParameterValues>False</KeepParameterValues>
  9252. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  9253. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  9254. </Description>
  9255. </Information>';
  9256. knot OneJunction
  9257. ports
  9258. power knot duplicatable none p [6,1];
  9259. signal knot out flow [6,1];
  9260. restrictions
  9261. causality constraint one_out p;
  9262. end;
  9263. icon bg
  9264. figures
  9265. text '1' 904 168 color 0 18 bold;
  9266. end;
  9267. implementation eq
  9268. equations
  9269. sum (direct (p.e)) = 0;
  9270. equal (collect (p.f));
  9271. flow = first (p.f);
  9272. implementation_end;
  9273. Splitter1 488 200
  9274. description '<Description><Version>4.0</Version>
  9275. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9276. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9277. <IsMainModel>1</IsMainModel>
  9278. <KeepParameterValues>False</KeepParameterValues>
  9279. </Description>';
  9280. knot Splitter
  9281. ports
  9282. signal knot duplicatable out output [4,4];
  9283. signal knot in input [4,4];
  9284. end;
  9285. icon bg ellipse
  9286. figures
  9287. ellipse 484.8 196.8 491.2 203.2 color -1 fill 0;
  9288. ellipse 483.7 195.7 492.3 204.3 color -1;
  9289. terminals
  9290. input 488 200 fixed;
  9291. end;
  9292. implementation eq
  9293. equations
  9294. collect (output) = input;
  9295. implementation_end;
  9296. Splitter2 208 200
  9297. description '<Description><Version>4.0</Version>
  9298. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9299. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9300. <IsMainModel>1</IsMainModel>
  9301. <KeepParameterValues>False</KeepParameterValues>
  9302. </Description>';
  9303. knot Splitter
  9304. ports
  9305. signal knot duplicatable out output [4,4];
  9306. signal knot in input [4,4];
  9307. end;
  9308. icon bg ellipse
  9309. figures
  9310. ellipse 204.8 196.8 211.2 203.2 color -1 fill 0;
  9311. ellipse 203.7 195.7 212.3 204.3 color -1;
  9312. terminals
  9313. input 208 200 fixed;
  9314. end;
  9315. implementation eq
  9316. equations
  9317. collect (output) = input;
  9318. implementation_end;
  9319. Splitter3 872 200
  9320. description '<Description><Version>4.0</Version>
  9321. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9322. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9323. <IsMainModel>1</IsMainModel>
  9324. <KeepParameterValues>False</KeepParameterValues>
  9325. </Description>';
  9326. knot Splitter
  9327. ports
  9328. signal knot duplicatable out output [4,4];
  9329. signal knot in input [4,4];
  9330. end;
  9331. icon bg ellipse
  9332. figures
  9333. ellipse 868.8 196.8 875.2 203.2 color -1 fill 0;
  9334. ellipse 867.7 195.7 876.3 204.3 color -1;
  9335. terminals
  9336. input 872 200 fixed;
  9337. end;
  9338. implementation eq
  9339. equations
  9340. collect (output) = input;
  9341. implementation_end;
  9342. Splitter4 1232 200
  9343. description '<Description><Version>4.0</Version>
  9344. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9345. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9346. <IsMainModel>1</IsMainModel>
  9347. <KeepParameterValues>False</KeepParameterValues>
  9348. </Description>';
  9349. knot Splitter
  9350. ports
  9351. signal knot duplicatable out output [4,4];
  9352. signal knot in input [4,4];
  9353. end;
  9354. icon bg ellipse
  9355. figures
  9356. ellipse 1228.8 196.8 1235.2 203.2 color -1 fill 0;
  9357. ellipse 1227.7 195.7 1236.3 204.3 color -1;
  9358. terminals
  9359. input 1232 200 fixed;
  9360. end;
  9361. implementation eq
  9362. equations
  9363. collect (output) = input;
  9364. implementation_end;
  9365. end;
  9366. connections
  9367. COM1\Hin <- Splitter3\output;
  9368. COM1\p => OneJunction2\p;
  9369. Hin -> Link12\Hin;
  9370. Joint_dynF1\output => Joint\Pdiff;
  9371. Joint_dynF2\output => Joint1\Pdiff;
  9372. Joint_dynF3\output => Joint2\Pdiff;
  9373. Joint\Hout -> Link13\Hin;
  9374. Joint\Pin <= Link13\Pout;
  9375. Joint1\Hout -> Link14\Hin;
  9376. Joint1\Pin <= Link14\Pout;
  9377. Joint2\Hout -> Link15\Hin;
  9378. Joint2\Pin <= Link15\Pout;
  9379. Link1\Hout -> Joint1\Hin;
  9380. Link1\Pin <= Joint1\Pout;
  9381. Link12\Hout -> Splitter2\input;
  9382. Link12\Pin <= Joint\Pout;
  9383. Link12\Pout => Pout;
  9384. Link13\Hout -> Splitter1\input;
  9385. Link13\Pin <= OneJunction1\p;
  9386. Link14\Hout -> Splitter3\input;
  9387. Link14\Pin <= OneJunction2\p;
  9388. Link15\Hout -> Splitter4\input;
  9389. Link15\Pin <= Link3\Pout;
  9390. Link2\Hout -> Joint2\Hin;
  9391. Link2\Pin <= Joint2\Pout;
  9392. Link3\Pin <= Pin;
  9393. OneJunction1\p <= COM\p;
  9394. OneJunction1\p <= Link1\Pout;
  9395. OneJunction2\p <= Link2\Pout;
  9396. Splitter1\output -> Body_Lift2\input;
  9397. Splitter1\output -> COM\Hin;
  9398. Splitter1\output -> Link1\Hin;
  9399. Splitter2\output -> Body_Lift1\input;
  9400. Splitter2\output -> Joint\Hin;
  9401. Splitter3\output -> Body_Lift3\input;
  9402. Splitter3\output -> Link2\Hin;
  9403. Splitter4\output -> Body_Lift4\input;
  9404. Splitter4\output -> Link3\Hin;
  9405. end;
  9406. implementation_end;
  9407. Link1 632 128
  9408. description '<Information>
  9409. <Description>
  9410. <Version>4.8</Version>
  9411. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9412. <IsMainModel>1</IsMainModel>
  9413. <KeepParameterValues>False</KeepParameterValues>
  9414. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9415. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9416. </Description>
  9417. </Information>';
  9418. type 'Submodel-Equation'
  9419. ports
  9420. signal in Hin [4,4];
  9421. signal out Hout [4,4];
  9422. power in Pin [6,1];
  9423. power out Pout [6,1];
  9424. restrictions
  9425. causality constraint not_equal Pin Pout;
  9426. end;
  9427. icon bg bottom
  9428. figures
  9429. rectangle 600 104 664 152 color 0 fill 8454041;
  9430. text 'Link' 632 128 color 0 'Clear Sans' 16;
  9431. terminals
  9432. Hin 600 144 fixed;
  9433. Hout 664 144 fixed;
  9434. Pin 664 112 fixed;
  9435. Pout 600 112 fixed;
  9436. end;
  9437. implementation eq
  9438. parameters
  9439. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  9440. variables
  9441. real Hab[4,4];
  9442. real AdHab[6,6];
  9443. real R[3,3];
  9444. real omega[3];
  9445. initialequations
  9446. omega = offset[1:3];
  9447. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9448. Hab = homogeneous(R,offset[4:6]);
  9449. AdHab = Adjoint(Hab);
  9450. equations
  9451. Hout = Hin * Hab;
  9452. Pout.e = transpose(AdHab) * Pin.e;
  9453. Pin.f = AdHab * Pout.f;
  9454. implementation_end;
  9455. Link10 944 128
  9456. description '<Information>
  9457. <Description>
  9458. <Version>4.8</Version>
  9459. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9460. <IsMainModel>1</IsMainModel>
  9461. <KeepParameterValues>False</KeepParameterValues>
  9462. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9463. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9464. </Description>
  9465. </Information>';
  9466. type 'Submodel-Equation'
  9467. ports
  9468. signal in Hin [4,4];
  9469. signal out Hout [4,4];
  9470. power in Pin [6,1];
  9471. power out Pout [6,1];
  9472. restrictions
  9473. causality constraint not_equal Pin Pout;
  9474. end;
  9475. icon bg bottom
  9476. figures
  9477. rectangle 912 104 976 152 color 0 fill 8454041;
  9478. text 'Link' 944 128 color 0 'Clear Sans' 16;
  9479. terminals
  9480. Hin 912 144 fixed;
  9481. Hout 976 144 fixed;
  9482. Pin 976 112 fixed;
  9483. Pout 912 112 fixed;
  9484. end;
  9485. implementation eq
  9486. parameters
  9487. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  9488. variables
  9489. real Hab[4,4];
  9490. real AdHab[6,6];
  9491. real R[3,3];
  9492. real omega[3];
  9493. initialequations
  9494. omega = offset[1:3];
  9495. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9496. Hab = homogeneous(R,offset[4:6]);
  9497. AdHab = Adjoint(Hab);
  9498. equations
  9499. Hout = Hin * Hab;
  9500. Pout.e = transpose(AdHab) * Pin.e;
  9501. Pin.f = AdHab * Pout.f;
  9502. implementation_end;
  9503. Link11 784 128
  9504. description '<Information>
  9505. <Description>
  9506. <Version>4.8</Version>
  9507. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9508. <IsMainModel>1</IsMainModel>
  9509. <KeepParameterValues>False</KeepParameterValues>
  9510. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9511. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9512. </Description>
  9513. </Information>';
  9514. type 'Submodel-Equation'
  9515. ports
  9516. signal in Hin [4,4];
  9517. signal out Hout [4,4];
  9518. power in Pin [6,1];
  9519. power out Pout [6,1];
  9520. restrictions
  9521. causality constraint not_equal Pin Pout;
  9522. end;
  9523. icon bg bottom
  9524. figures
  9525. rectangle 752 104 816 152 color 0 fill 8454041;
  9526. text 'Link' 784 128 color 0 'Clear Sans' 16;
  9527. terminals
  9528. Hin 752 144 fixed;
  9529. Hout 816 144 fixed;
  9530. Pin 816 112 fixed;
  9531. Pout 752 112 fixed;
  9532. end;
  9533. implementation eq
  9534. parameters
  9535. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  9536. variables
  9537. real Hab[4,4];
  9538. real AdHab[6,6];
  9539. real R[3,3];
  9540. real omega[3];
  9541. initialequations
  9542. omega = offset[1:3];
  9543. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9544. Hab = homogeneous(R,offset[4:6]);
  9545. AdHab = Adjoint(Hab);
  9546. equations
  9547. Hout = Hin * Hab;
  9548. Pout.e = transpose(AdHab) * Pin.e;
  9549. Pin.f = AdHab * Pout.f;
  9550. implementation_end;
  9551. Link2 384 128
  9552. description '<Information>
  9553. <Description>
  9554. <Version>4.8</Version>
  9555. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9556. <IsMainModel>1</IsMainModel>
  9557. <KeepParameterValues>False</KeepParameterValues>
  9558. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9559. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9560. </Description>
  9561. </Information>';
  9562. type 'Submodel-Equation'
  9563. ports
  9564. signal in Hin [4,4];
  9565. signal out Hout [4,4];
  9566. power in Pin [6,1];
  9567. power out Pout [6,1];
  9568. restrictions
  9569. causality constraint not_equal Pin Pout;
  9570. end;
  9571. icon bg bottom
  9572. figures
  9573. rectangle 352 104 416 152 color 0 fill 8454041;
  9574. text 'Link' 384 128 color 0 'Clear Sans' 16;
  9575. terminals
  9576. Hin 352 144 fixed;
  9577. Hout 416 144 fixed;
  9578. Pin 416 112 fixed;
  9579. Pout 352 112 fixed;
  9580. end;
  9581. implementation eq
  9582. parameters
  9583. real offset[6]= [0;0;0;0;0.025;0]; //coordinates of joint_1
  9584. variables
  9585. real Hab[4,4];
  9586. real AdHab[6,6];
  9587. real R[3,3];
  9588. real omega[3];
  9589. initialequations
  9590. omega = offset[1:3];
  9591. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9592. Hab = homogeneous(R,offset[4:6]);
  9593. AdHab = Adjoint(Hab);
  9594. equations
  9595. Hout = Hin * Hab;
  9596. Pout.e = transpose(AdHab) * Pin.e;
  9597. Pin.f = AdHab * Pout.f;
  9598. implementation_end;
  9599. Link3 560 424
  9600. description '<Information>
  9601. <Description>
  9602. <Version>4.8</Version>
  9603. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9604. <IsMainModel>1</IsMainModel>
  9605. <KeepParameterValues>False</KeepParameterValues>
  9606. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9607. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9608. </Description>
  9609. </Information>';
  9610. type 'Submodel-Equation'
  9611. ports
  9612. signal in Hin [4,4];
  9613. signal out Hout [4,4];
  9614. power in Pin [6,1];
  9615. power out Pout [6,1];
  9616. restrictions
  9617. causality constraint not_equal Pin Pout;
  9618. end;
  9619. icon bg bottom
  9620. figures
  9621. rectangle 536 392 584 456 color 0 fill 8454041;
  9622. text 'Link' 560 424 color 0 'Clear Sans' 16;
  9623. terminals
  9624. Hin 576 392 fixed;
  9625. Hout 576 456 fixed;
  9626. Pin 544 456 fixed;
  9627. Pout 544 392 fixed;
  9628. end;
  9629. implementation eq
  9630. parameters
  9631. real offset[6]= [0;0;0;0;0;-0.0325]; //coordinates of joint_1
  9632. variables
  9633. real Hab[4,4];
  9634. real AdHab[6,6];
  9635. real R[3,3];
  9636. real omega[3];
  9637. initialequations
  9638. omega = offset[1:3];
  9639. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9640. Hab = homogeneous(R,offset[4:6]);
  9641. AdHab = Adjoint(Hab);
  9642. equations
  9643. Hout = Hin * Hab;
  9644. Pout.e = transpose(AdHab) * Pin.e;
  9645. Pin.f = AdHab * Pout.f;
  9646. implementation_end;
  9647. Link4 200 256
  9648. description '<Information>
  9649. <Description>
  9650. <Version>4.8</Version>
  9651. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9652. <IsMainModel>1</IsMainModel>
  9653. <KeepParameterValues>False</KeepParameterValues>
  9654. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9655. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9656. </Description>
  9657. </Information>';
  9658. type 'Submodel-Equation'
  9659. ports
  9660. signal in Hin [4,4];
  9661. signal out Hout [4,4];
  9662. power in Pin [6,1];
  9663. power out Pout [6,1];
  9664. restrictions
  9665. causality constraint not_equal Pin Pout;
  9666. end;
  9667. icon bg bottom
  9668. figures
  9669. rectangle 176 224 224 288 color 0 fill 8454041;
  9670. text 'Link' 200 256 color 0 'Clear Sans' 16;
  9671. terminals
  9672. Hin 216 288 fixed;
  9673. Hout 216 224 fixed;
  9674. Pin 184 224 fixed;
  9675. Pout 184 288 fixed;
  9676. end;
  9677. implementation eq
  9678. parameters
  9679. real offset[6]= [0;0;0;0;0;0.0325]; //coordinates of joint_1
  9680. variables
  9681. real Hab[4,4];
  9682. real AdHab[6,6];
  9683. real R[3,3];
  9684. real omega[3];
  9685. initialequations
  9686. omega = offset[1:3];
  9687. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9688. Hab = homogeneous(R,offset[4:6]);
  9689. AdHab = Adjoint(Hab);
  9690. equations
  9691. Hout = Hin * Hab;
  9692. Pout.e = transpose(AdHab) * Pin.e;
  9693. Pin.f = AdHab * Pout.f;
  9694. implementation_end;
  9695. Link5 408 584
  9696. description '<Information>
  9697. <Description>
  9698. <Version>4.8</Version>
  9699. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9700. <IsMainModel>1</IsMainModel>
  9701. <KeepParameterValues>False</KeepParameterValues>
  9702. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9703. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9704. </Description>
  9705. </Information>';
  9706. type 'Submodel-Equation'
  9707. ports
  9708. signal in Hin [4,4];
  9709. signal out Hout [4,4];
  9710. power in Pin [6,1];
  9711. power out Pout [6,1];
  9712. restrictions
  9713. causality constraint not_equal Pin Pout;
  9714. end;
  9715. icon bg bottom
  9716. figures
  9717. rectangle 376 560 440 608 color 0 fill 8454041;
  9718. text 'Link' 408 584 color 0 'Clear Sans' 16;
  9719. terminals
  9720. Hin 440 568 fixed;
  9721. Hout 376 568 fixed;
  9722. Pin 376 600 fixed;
  9723. Pout 440 600 fixed;
  9724. end;
  9725. implementation eq
  9726. parameters
  9727. real offset[6]= [0;0;0;0;-0.0125;0]; //coordinates of joint_1
  9728. variables
  9729. real Hab[4,4];
  9730. real AdHab[6,6];
  9731. real R[3,3];
  9732. real omega[3];
  9733. initialequations
  9734. omega = offset[1:3];
  9735. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9736. Hab = homogeneous(R,offset[4:6]);
  9737. AdHab = Adjoint(Hab);
  9738. equations
  9739. Hout = Hin * Hab;
  9740. Pout.e = transpose(AdHab) * Pin.e;
  9741. Pin.f = AdHab * Pout.f;
  9742. implementation_end;
  9743. Link6 560 280
  9744. description '<Information>
  9745. <Description>
  9746. <Version>4.8</Version>
  9747. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9748. <IsMainModel>1</IsMainModel>
  9749. <KeepParameterValues>False</KeepParameterValues>
  9750. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9751. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9752. </Description>
  9753. </Information>';
  9754. type 'Submodel-Equation'
  9755. ports
  9756. signal in Hin [4,4];
  9757. signal out Hout [4,4];
  9758. power in Pin [6,1];
  9759. power out Pout [6,1];
  9760. restrictions
  9761. causality constraint not_equal Pin Pout;
  9762. end;
  9763. icon bg bottom
  9764. figures
  9765. rectangle 536 248 584 312 color 0 fill 8454041;
  9766. text 'Link' 560 280 color 0 'Clear Sans' 16;
  9767. terminals
  9768. Hin 576 248 fixed;
  9769. Hout 576 312 fixed;
  9770. Pin 544 312 fixed;
  9771. Pout 544 248 fixed;
  9772. end;
  9773. implementation eq
  9774. parameters
  9775. real offset[6]= [0;0;0;0;0;-0.0325]; //coordinates of joint_1
  9776. variables
  9777. real Hab[4,4];
  9778. real AdHab[6,6];
  9779. real R[3,3];
  9780. real omega[3];
  9781. initialequations
  9782. omega = offset[1:3];
  9783. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9784. Hab = homogeneous(R,offset[4:6]);
  9785. AdHab = Adjoint(Hab);
  9786. equations
  9787. Hout = Hin * Hab;
  9788. Pout.e = transpose(AdHab) * Pin.e;
  9789. Pin.f = AdHab * Pout.f;
  9790. implementation_end;
  9791. Link7 272 584
  9792. description '<Information>
  9793. <Description>
  9794. <Version>4.8</Version>
  9795. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9796. <IsMainModel>1</IsMainModel>
  9797. <KeepParameterValues>False</KeepParameterValues>
  9798. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9799. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9800. </Description>
  9801. </Information>';
  9802. type 'Submodel-Equation'
  9803. ports
  9804. signal in Hin [4,4];
  9805. signal out Hout [4,4];
  9806. power in Pin [6,1];
  9807. power out Pout [6,1];
  9808. restrictions
  9809. causality constraint not_equal Pin Pout;
  9810. end;
  9811. icon bg bottom
  9812. figures
  9813. rectangle 240 560 304 608 color 0 fill 8454041;
  9814. text 'Link' 272 584 color 0 'Clear Sans' 16;
  9815. terminals
  9816. Hin 304 568 fixed;
  9817. Hout 240 568 fixed;
  9818. Pin 240 600 fixed;
  9819. Pout 304 600 fixed;
  9820. end;
  9821. implementation eq
  9822. parameters
  9823. real offset[6]= [0;0;0;0;-0.0125;0]; //coordinates of joint_1
  9824. variables
  9825. real Hab[4,4];
  9826. real AdHab[6,6];
  9827. real R[3,3];
  9828. real omega[3];
  9829. initialequations
  9830. omega = offset[1:3];
  9831. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9832. Hab = homogeneous(R,offset[4:6]);
  9833. AdHab = Adjoint(Hab);
  9834. equations
  9835. Hout = Hin * Hab;
  9836. Pout.e = transpose(AdHab) * Pin.e;
  9837. Pin.f = AdHab * Pout.f;
  9838. implementation_end;
  9839. Link8 1360 128
  9840. description '<Information>
  9841. <Description>
  9842. <Version>4.8</Version>
  9843. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9844. <IsMainModel>1</IsMainModel>
  9845. <KeepParameterValues>False</KeepParameterValues>
  9846. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9847. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9848. </Description>
  9849. </Information>';
  9850. type 'Submodel-Equation'
  9851. ports
  9852. signal in Hin [4,4];
  9853. signal out Hout [4,4];
  9854. power in Pin [6,1];
  9855. power out Pout [6,1];
  9856. restrictions
  9857. causality constraint not_equal Pin Pout;
  9858. end;
  9859. icon bg bottom
  9860. figures
  9861. rectangle 1328 104 1392 152 color 0 fill 8454041;
  9862. text 'Link' 1360 128 color 0 'Clear Sans' 16;
  9863. terminals
  9864. Hin 1328 144 fixed;
  9865. Hout 1392 144 fixed;
  9866. Pin 1392 112 fixed;
  9867. Pout 1328 112 fixed;
  9868. end;
  9869. implementation eq
  9870. parameters
  9871. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  9872. variables
  9873. real Hab[4,4];
  9874. real AdHab[6,6];
  9875. real R[3,3];
  9876. real omega[3];
  9877. initialequations
  9878. omega = offset[1:3];
  9879. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9880. Hab = homogeneous(R,offset[4:6]);
  9881. AdHab = Adjoint(Hab);
  9882. equations
  9883. Hout = Hin * Hab;
  9884. Pout.e = transpose(AdHab) * Pin.e;
  9885. Pin.f = AdHab * Pout.f;
  9886. implementation_end;
  9887. Link9 200 400
  9888. description '<Information>
  9889. <Description>
  9890. <Version>4.8</Version>
  9891. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  9892. <IsMainModel>1</IsMainModel>
  9893. <KeepParameterValues>False</KeepParameterValues>
  9894. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  9895. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9896. </Description>
  9897. </Information>';
  9898. type 'Submodel-Equation'
  9899. ports
  9900. signal in Hin [4,4];
  9901. signal out Hout [4,4];
  9902. power in Pin [6,1];
  9903. power out Pout [6,1];
  9904. restrictions
  9905. causality constraint not_equal Pin Pout;
  9906. end;
  9907. icon bg bottom
  9908. figures
  9909. rectangle 176 368 224 432 color 0 fill 8454041;
  9910. text 'Link' 200 400 color 0 'Clear Sans' 16;
  9911. terminals
  9912. Hin 216 432 fixed;
  9913. Hout 216 368 fixed;
  9914. Pin 184 368 fixed;
  9915. Pout 184 432 fixed;
  9916. end;
  9917. implementation eq
  9918. parameters
  9919. real offset[6]= [0;0;0;0;0;0.0325]; //coordinates of joint_1
  9920. variables
  9921. real Hab[4,4];
  9922. real AdHab[6,6];
  9923. real R[3,3];
  9924. real omega[3];
  9925. initialequations
  9926. omega = offset[1:3];
  9927. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  9928. Hab = homogeneous(R,offset[4:6]);
  9929. AdHab = Adjoint(Hab);
  9930. equations
  9931. Hout = Hin * Hab;
  9932. Pout.e = transpose(AdHab) * Pin.e;
  9933. Pin.f = AdHab * Pout.f;
  9934. implementation_end;
  9935. Negate2 608 752
  9936. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9937. <LibraryPath>Signal\Block Diagram\Negate.emx</LibraryPath>
  9938. <TimeStamp>2007-9-26 12:14:11</TimeStamp>
  9939. </Description>';
  9940. type Negate
  9941. ports
  9942. signal in input;
  9943. signal out output;
  9944. end;
  9945. icon bg bottom
  9946. figures
  9947. rectangle 592 736 624 768 color 0 fill 15132390;
  9948. text '-1' 608 752 color 16711680 16 bold;
  9949. end;
  9950. implementation eq
  9951. equations
  9952. output = - input;
  9953. implementation_end;
  9954. OneJunction1 328 600
  9955. description '<Information>
  9956. <Description>
  9957. <Version>4.2</Version>
  9958. <IsMainModel>1</IsMainModel>
  9959. <KeepParameterValues>False</KeepParameterValues>
  9960. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  9961. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  9962. </Description>
  9963. </Information>';
  9964. knot OneJunction
  9965. ports
  9966. power knot duplicatable none p [6,1];
  9967. signal knot out flow [6,1];
  9968. restrictions
  9969. causality constraint one_out p;
  9970. end;
  9971. icon bg
  9972. figures
  9973. text '1' 328 600 color 0 18 bold;
  9974. end;
  9975. implementation eq
  9976. equations
  9977. sum (direct (p.e)) = 0;
  9978. equal (collect (p.f));
  9979. flow = first (p.f);
  9980. implementation_end;
  9981. OneJunction2 544 368
  9982. description '<Information>
  9983. <Description>
  9984. <Version>4.2</Version>
  9985. <IsMainModel>1</IsMainModel>
  9986. <KeepParameterValues>False</KeepParameterValues>
  9987. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  9988. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  9989. </Description>
  9990. </Information>';
  9991. knot OneJunction
  9992. ports
  9993. power knot duplicatable none p [6,1];
  9994. signal knot out flow [6,1];
  9995. restrictions
  9996. causality constraint one_out p;
  9997. end;
  9998. icon bg
  9999. figures
  10000. text '1' 544 368 color 0 18 bold;
  10001. end;
  10002. implementation eq
  10003. equations
  10004. sum (direct (p.e)) = 0;
  10005. equal (collect (p.f));
  10006. flow = first (p.f);
  10007. implementation_end;
  10008. OneJunction3 544 112
  10009. description '<Information>
  10010. <Description>
  10011. <Version>4.2</Version>
  10012. <IsMainModel>1</IsMainModel>
  10013. <KeepParameterValues>False</KeepParameterValues>
  10014. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  10015. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  10016. </Description>
  10017. </Information>';
  10018. knot OneJunction
  10019. ports
  10020. power knot duplicatable none p [6,1];
  10021. signal knot out flow [6,1];
  10022. restrictions
  10023. causality constraint one_out p;
  10024. end;
  10025. icon bg
  10026. figures
  10027. text '1' 544 112 color 0 18 bold;
  10028. end;
  10029. implementation eq
  10030. equations
  10031. sum (direct (p.e)) = 0;
  10032. equal (collect (p.f));
  10033. flow = first (p.f);
  10034. implementation_end;
  10035. OneJunction4 184 344
  10036. description '<Information>
  10037. <Description>
  10038. <Version>4.2</Version>
  10039. <IsMainModel>1</IsMainModel>
  10040. <KeepParameterValues>False</KeepParameterValues>
  10041. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  10042. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  10043. </Description>
  10044. </Information>';
  10045. knot OneJunction
  10046. ports
  10047. power knot duplicatable none p [6,1];
  10048. signal knot out flow [6,1];
  10049. restrictions
  10050. causality constraint one_out p;
  10051. end;
  10052. icon bg
  10053. figures
  10054. text '1' 184 344 color 0 18 bold;
  10055. end;
  10056. implementation eq
  10057. equations
  10058. sum (direct (p.e)) = 0;
  10059. equal (collect (p.f));
  10060. flow = first (p.f);
  10061. implementation_end;
  10062. OneJunction5 544 600
  10063. description '<Information>
  10064. <Description>
  10065. <Version>4.2</Version>
  10066. <IsMainModel>1</IsMainModel>
  10067. <KeepParameterValues>False</KeepParameterValues>
  10068. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  10069. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  10070. </Description>
  10071. </Information>';
  10072. knot OneJunction
  10073. ports
  10074. power knot duplicatable none p [6,1];
  10075. signal knot out flow [6,1];
  10076. restrictions
  10077. causality constraint one_out p;
  10078. end;
  10079. icon bg
  10080. figures
  10081. text '1' 544 600 color 0 18 bold;
  10082. end;
  10083. implementation eq
  10084. equations
  10085. sum (direct (p.e)) = 0;
  10086. equal (collect (p.f));
  10087. flow = first (p.f);
  10088. implementation_end;
  10089. OneJunction6 696 112
  10090. description '<Information>
  10091. <Description>
  10092. <Version>4.2</Version>
  10093. <IsMainModel>1</IsMainModel>
  10094. <KeepParameterValues>False</KeepParameterValues>
  10095. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  10096. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  10097. </Description>
  10098. </Information>';
  10099. knot OneJunction
  10100. ports
  10101. power knot duplicatable none p [6,1];
  10102. signal knot out flow [6,1];
  10103. restrictions
  10104. causality constraint one_out p;
  10105. end;
  10106. icon bg
  10107. figures
  10108. text '1' 696 112 color 0 18 bold;
  10109. end;
  10110. implementation eq
  10111. equations
  10112. sum (direct (p.e)) = 0;
  10113. equal (collect (p.f));
  10114. flow = first (p.f);
  10115. implementation_end;
  10116. OneJunction7 1264 112
  10117. description '<Information>
  10118. <Description>
  10119. <Version>4.2</Version>
  10120. <IsMainModel>1</IsMainModel>
  10121. <KeepParameterValues>False</KeepParameterValues>
  10122. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  10123. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  10124. </Description>
  10125. </Information>';
  10126. knot OneJunction
  10127. ports
  10128. power knot duplicatable none p [6,1];
  10129. signal knot out flow [6,1];
  10130. restrictions
  10131. causality constraint one_out p;
  10132. end;
  10133. icon bg
  10134. figures
  10135. text '1' 1264 112 color 0 18 bold;
  10136. end;
  10137. implementation eq
  10138. equations
  10139. sum (direct (p.e)) = 0;
  10140. equal (collect (p.f));
  10141. flow = first (p.f);
  10142. implementation_end;
  10143. rectanglepath 864 752
  10144. description '<Information>
  10145. <Description>
  10146. <Version>4.8</Version>
  10147. <LibraryPath>setpoint\rectanglepath.emx</LibraryPath>
  10148. <IsMainModel>1</IsMainModel>
  10149. <KeepParameterValues>False</KeepParameterValues>
  10150. <TimeStamp>2020-7-10 12:30:38</TimeStamp>
  10151. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  10152. </Description>
  10153. </Information>';
  10154. type 'Submodel-Equation'
  10155. ports
  10156. signal out output [2,1];
  10157. end;
  10158. icon bg
  10159. figures
  10160. rectangle 808 736 920 768 color 0 fill 15132390;
  10161. text 'name' 864 752 color 0 'Clear Sans' 16;
  10162. end;
  10163. implementation eq
  10164. /*
  10165. This will generate coordinates for the box that has to be drawn
  10166. */
  10167. parameters
  10168. real w = 0.07 {m} ;
  10169. real h = 0.05 {m};
  10170. real t = 1 {s};
  10171. real origin[2] = [0.01;0.03] {m};
  10172. variables
  10173. real v {m/s};
  10174. real t_w {s};
  10175. real t_h {s};
  10176. real period {s};
  10177. boolean y;
  10178. initialequations
  10179. v = (2*w + 2*h)/t;
  10180. t_w = w / v;
  10181. t_h = h / v;
  10182. code
  10183. y = frequencyevent (t,0);
  10184. period = (time - floor(time / t) * t);
  10185. if period < t_w or time < t then
  10186. output = origin;
  10187. else
  10188. if period < t_w + t_h then
  10189. output = origin + [w;0];
  10190. else
  10191. if period < 2 * t_w + t_h then
  10192. output = origin + [w;h];
  10193. else
  10194. output = origin + [0;h];
  10195. end;
  10196. end;
  10197. end;
  10198. //output[1] = v*(ramp(period+t_h) - ramp(period + t_w+t_h) - ramp(period + t_w + t_h + t_h)) + origin[1];
  10199. //output[2] = v*(ramp(period) - ramp(period + t_h) - ramp(period + t_h + t_w) + ramp(period + 2 * t_h + t_w))+ origin[2];
  10200. implementation_end;
  10201. Splitter1 360 568
  10202. description '<Description><Version>4.0</Version>
  10203. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10204. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10205. <IsMainModel>1</IsMainModel>
  10206. <KeepParameterValues>False</KeepParameterValues>
  10207. </Description>';
  10208. knot Splitter
  10209. ports
  10210. signal knot duplicatable out output [4,4];
  10211. signal knot in input [4,4];
  10212. end;
  10213. icon bg ellipse
  10214. figures
  10215. ellipse 356.8 564.8 363.2 571.2 color -1 fill 0;
  10216. ellipse 355.7 563.7 364.3 572.3 color -1;
  10217. terminals
  10218. input 360 568 fixed;
  10219. end;
  10220. implementation eq
  10221. equations
  10222. collect (output) = input;
  10223. implementation_end;
  10224. Splitter10 1416 144
  10225. description '<Description><Version>4.0</Version>
  10226. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10227. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10228. <IsMainModel>1</IsMainModel>
  10229. <KeepParameterValues>False</KeepParameterValues>
  10230. </Description>';
  10231. knot Splitter
  10232. ports
  10233. signal knot duplicatable out output [4,4];
  10234. signal knot in input [4,4];
  10235. end;
  10236. icon bg ellipse
  10237. figures
  10238. ellipse 1412.8 140.8 1419.2 147.2 color -1 fill 0;
  10239. ellipse 1411.7 139.7 1420.3 148.3 color -1;
  10240. terminals
  10241. input 1416 144 fixed;
  10242. end;
  10243. implementation eq
  10244. equations
  10245. collect (output) = input;
  10246. implementation_end;
  10247. Splitter11 480 144
  10248. description '<Description><Version>4.0</Version>
  10249. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10250. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10251. <IsMainModel>1</IsMainModel>
  10252. <KeepParameterValues>False</KeepParameterValues>
  10253. </Description>';
  10254. knot Splitter
  10255. ports
  10256. signal knot duplicatable out output [4,4];
  10257. signal knot in input [4,4];
  10258. end;
  10259. icon bg ellipse
  10260. figures
  10261. ellipse 476.8 140.8 483.2 147.2 color -1 fill 0;
  10262. ellipse 475.7 139.7 484.3 148.3 color -1;
  10263. terminals
  10264. input 480 144 fixed;
  10265. end;
  10266. implementation eq
  10267. equations
  10268. collect (output) = input;
  10269. implementation_end;
  10270. Splitter2 576 336
  10271. description '<Description><Version>4.0</Version>
  10272. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10273. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10274. <IsMainModel>1</IsMainModel>
  10275. <KeepParameterValues>False</KeepParameterValues>
  10276. </Description>';
  10277. knot Splitter
  10278. ports
  10279. signal knot duplicatable out output [4,4];
  10280. signal knot in input [4,4];
  10281. end;
  10282. icon bg ellipse
  10283. figures
  10284. ellipse 572.8 332.8 579.2 339.2 color -1 fill 0;
  10285. ellipse 571.7 331.7 580.3 340.3 color -1;
  10286. terminals
  10287. input 576 336 fixed;
  10288. end;
  10289. implementation eq
  10290. equations
  10291. collect (output) = input;
  10292. implementation_end;
  10293. Splitter3 216 312
  10294. description '<Description><Version>4.0</Version>
  10295. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10296. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10297. <IsMainModel>1</IsMainModel>
  10298. <KeepParameterValues>False</KeepParameterValues>
  10299. </Description>';
  10300. knot Splitter
  10301. ports
  10302. signal knot duplicatable out output [4,4];
  10303. signal knot in input [4,4];
  10304. end;
  10305. icon bg ellipse
  10306. figures
  10307. ellipse 212.8 308.8 219.2 315.2 color -1 fill 0;
  10308. ellipse 211.7 307.7 220.3 316.3 color -1;
  10309. terminals
  10310. input 216 312 fixed;
  10311. end;
  10312. implementation eq
  10313. equations
  10314. collect (output) = input;
  10315. implementation_end;
  10316. Splitter4 576 144
  10317. description '<Description><Version>4.0</Version>
  10318. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10319. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10320. <IsMainModel>1</IsMainModel>
  10321. <KeepParameterValues>False</KeepParameterValues>
  10322. </Description>';
  10323. knot Splitter
  10324. ports
  10325. signal knot duplicatable out output [4,4];
  10326. signal knot in input [4,4];
  10327. end;
  10328. icon bg ellipse
  10329. figures
  10330. ellipse 572.8 140.8 579.2 147.2 color -1 fill 0;
  10331. ellipse 571.7 139.7 580.3 148.3 color -1;
  10332. terminals
  10333. input 576 144 fixed;
  10334. end;
  10335. implementation eq
  10336. equations
  10337. collect (output) = input;
  10338. implementation_end;
  10339. Splitter6 728 144
  10340. description '<Description><Version>4.0</Version>
  10341. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10342. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10343. <IsMainModel>1</IsMainModel>
  10344. <KeepParameterValues>False</KeepParameterValues>
  10345. </Description>';
  10346. knot Splitter
  10347. ports
  10348. signal knot duplicatable out output [4,4];
  10349. signal knot in input [4,4];
  10350. end;
  10351. icon bg ellipse
  10352. figures
  10353. ellipse 724.8 140.8 731.2 147.2 color -1 fill 0;
  10354. ellipse 723.7 139.7 732.3 148.3 color -1;
  10355. terminals
  10356. input 728 144 fixed;
  10357. end;
  10358. implementation eq
  10359. equations
  10360. collect (output) = input;
  10361. implementation_end;
  10362. Splitter9 992 144
  10363. description '<Description><Version>4.0</Version>
  10364. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10365. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10366. <IsMainModel>1</IsMainModel>
  10367. <KeepParameterValues>False</KeepParameterValues>
  10368. </Description>';
  10369. knot Splitter
  10370. ports
  10371. signal knot duplicatable out output [4,4];
  10372. signal knot in input [4,4];
  10373. end;
  10374. icon bg ellipse
  10375. figures
  10376. ellipse 988.8 140.8 995.2 147.2 color -1 fill 0;
  10377. ellipse 987.7 139.7 996.3 148.3 color -1;
  10378. terminals
  10379. input 992 144 fixed;
  10380. end;
  10381. implementation eq
  10382. equations
  10383. collect (output) = input;
  10384. implementation_end;
  10385. stepper_control 712 592
  10386. specifications active 'P_only'
  10387. specification 'default'
  10388. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Z:\home\wouter\Documents\studie\ma\mahd\implementation\library\Motor\stepper_control.emx</LibraryPath><TimeStamp>2020-7-23 13:09:57</TimeStamp></Description><Attributes><GlobalRelations>parameters
  10389. real max_acceleration = 250 {rad/s2};
  10390. real max_velocity = 25 {rad/s};
  10391. real initial_velocity = 0 {rad/s};
  10392. real initial_angle = -1.570796 {rad};</GlobalRelations></Attributes></Information>';
  10393. type Submodel
  10394. ports
  10395. signal in setpoint {rad} ;
  10396. signal out output {rad} ;
  10397. end;
  10398. icon bg bottom
  10399. figures
  10400. rectangle 648 576 760 608 color 0 fill 15132390;
  10401. text 'name' 704 592 color 0 'Clear Sans' 16;
  10402. end;
  10403. implementation bg
  10404. submodels
  10405. Acceleration_int 648 336
  10406. description '<Information>
  10407. <Description>
  10408. <Version>4.3</Version>
  10409. <IsMainModel>1</IsMainModel>
  10410. <KeepParameterValues>False</KeepParameterValues>
  10411. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  10412. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  10413. </Description>
  10414. </Information>';
  10415. type Integrate
  10416. ports
  10417. signal in input;
  10418. signal out output;
  10419. end;
  10420. icon bg bottom
  10421. figures
  10422. rectangle 632 320 664 352 color 0 fill 15132390;
  10423. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  10424. end;
  10425. implementation eq
  10426. parameters
  10427. real global initial_velocity; // initial value
  10428. equations
  10429. output = int (input, initial_velocity);
  10430. implementation_end;
  10431. Acceleration_limit 568 336
  10432. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10433. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  10434. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  10435. </Description>';
  10436. type 'SignalLimiter-Limit'
  10437. ports
  10438. signal in input;
  10439. signal out output;
  10440. end;
  10441. icon bg bottom
  10442. figures
  10443. group
  10444. rectangle 552 320 584 352 color 0 fill 15132390;
  10445. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  10446. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  10447. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  10448. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  10449. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  10450. end;
  10451. end;
  10452. implementation eq
  10453. parameters
  10454. real global max_acceleration {rad/s2};
  10455. equations
  10456. output = limit (input, -max_acceleration, max_acceleration);
  10457. implementation_end;
  10458. plug setpoint 136 336;
  10459. plug output 791 336;
  10460. PlusMinus1 240 336
  10461. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10462. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  10463. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  10464. </Description>';
  10465. knot PlusMinus
  10466. ports
  10467. signal knot duplicatable in plus [1];
  10468. signal knot duplicatable in minus [1];
  10469. signal knot out output [1];
  10470. end;
  10471. icon bg ellipse
  10472. figures
  10473. ellipse 232 328 248 344 color 0 fill 16777215;
  10474. end;
  10475. implementation eq
  10476. equations
  10477. output = sum (collect (plus)) - sum (collect (minus));
  10478. implementation_end;
  10479. PlusMinus2 432 336
  10480. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10481. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  10482. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  10483. </Description>';
  10484. knot PlusMinus
  10485. ports
  10486. signal knot duplicatable in plus [1];
  10487. signal knot duplicatable in minus [1];
  10488. signal knot out output [1];
  10489. end;
  10490. icon bg ellipse
  10491. figures
  10492. ellipse 424 328 440 344 color 0 fill 16777215;
  10493. end;
  10494. implementation eq
  10495. equations
  10496. output = sum (collect (plus)) - sum (collect (minus));
  10497. implementation_end;
  10498. Position_control 296 336
  10499. description '<Description>
  10500. <Version>4.0</Version>
  10501. <IsMainModel>1</IsMainModel>
  10502. <KeepParameterValues>False</KeepParameterValues>
  10503. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  10504. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  10505. </Description>';
  10506. type PD
  10507. ports
  10508. signal in error;
  10509. signal out output;
  10510. end;
  10511. icon bg bottom
  10512. figures
  10513. rectangle 280 320 312 352 color 0 fill 15132390;
  10514. text 'PD' 296.5 336.1 color 16711680 18 bold;
  10515. end;
  10516. implementation eq
  10517. parameters
  10518. real kp = 4 {}; // Proportional gain
  10519. real tauD = 100 {s}; // Derivative time constant: tauD > 0
  10520. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  10521. variables
  10522. real state, rate;
  10523. equations
  10524. rate = (kp * error - output) / (beta * tauD);
  10525. state = int (rate);
  10526. output = state + kp * error / beta;
  10527. implementation_end;
  10528. Splitter3 688 336
  10529. description '<Description><Version>4.0</Version>
  10530. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10531. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10532. <IsMainModel>1</IsMainModel>
  10533. <KeepParameterValues>False</KeepParameterValues>
  10534. </Description>';
  10535. knot Splitter
  10536. ports
  10537. signal knot duplicatable out output [1];
  10538. signal knot in input [1];
  10539. end;
  10540. icon bg ellipse
  10541. figures
  10542. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  10543. ellipse 683.7 331.7 692.3 340.3 color -1;
  10544. terminals
  10545. input 688 336 fixed;
  10546. end;
  10547. implementation eq
  10548. equations
  10549. collect (output) = input;
  10550. implementation_end;
  10551. Splitter4 752 336
  10552. description '<Description><Version>4.0</Version>
  10553. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10554. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10555. <IsMainModel>1</IsMainModel>
  10556. <KeepParameterValues>False</KeepParameterValues>
  10557. </Description>';
  10558. knot Splitter
  10559. ports
  10560. signal knot duplicatable out output [1];
  10561. signal knot in input [1];
  10562. end;
  10563. icon bg ellipse
  10564. figures
  10565. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  10566. ellipse 747.7 331.7 756.3 340.3 color -1;
  10567. terminals
  10568. input 752 336 fixed;
  10569. end;
  10570. implementation eq
  10571. equations
  10572. collect (output) = input;
  10573. implementation_end;
  10574. Velocity_control 480 336
  10575. description '<Description>
  10576. <Version>4.0</Version>
  10577. <IsMainModel>1</IsMainModel>
  10578. <KeepParameterValues>False</KeepParameterValues>
  10579. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  10580. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  10581. </Description>';
  10582. type PD
  10583. ports
  10584. signal in error;
  10585. signal out output;
  10586. end;
  10587. icon bg bottom
  10588. figures
  10589. rectangle 464 320 496 352 color 0 fill 15132390;
  10590. text 'PD' 480.5 336.1 color 16711680 18 bold;
  10591. end;
  10592. implementation eq
  10593. parameters
  10594. real kp = 12 {}; // Proportional gain
  10595. real tauD = 10 {s}; // Derivative time constant: tauD > 0
  10596. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  10597. variables
  10598. real state, rate;
  10599. equations
  10600. rate = (kp * error - output) / (beta * tauD);
  10601. state = int (rate);
  10602. output = state + kp * error / beta;
  10603. implementation_end;
  10604. Velocity_int 720 336
  10605. description '<Information>
  10606. <Description>
  10607. <Version>4.3</Version>
  10608. <IsMainModel>1</IsMainModel>
  10609. <KeepParameterValues>False</KeepParameterValues>
  10610. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  10611. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  10612. </Description>
  10613. </Information>';
  10614. type Integrate
  10615. ports
  10616. signal in input;
  10617. signal out output;
  10618. end;
  10619. icon bg bottom
  10620. figures
  10621. rectangle 704 320 736 352 color 0 fill 15132390;
  10622. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  10623. end;
  10624. implementation eq
  10625. parameters
  10626. real global initial_angle; // initial value
  10627. equations
  10628. output = int (input, initial_angle);
  10629. implementation_end;
  10630. Velocity_limit 376 336
  10631. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10632. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  10633. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  10634. </Description>';
  10635. type 'SignalLimiter-Limit'
  10636. ports
  10637. signal in input;
  10638. signal out output;
  10639. end;
  10640. icon bg bottom
  10641. figures
  10642. group
  10643. rectangle 360 320 392 352 color 0 fill 15132390;
  10644. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  10645. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  10646. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  10647. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  10648. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  10649. end;
  10650. end;
  10651. implementation eq
  10652. parameters
  10653. real global max_velocity {rad/s};
  10654. equations
  10655. output = limit (input, -max_velocity, max_velocity);
  10656. implementation_end;
  10657. end;
  10658. connections
  10659. Acceleration_int\output -> Splitter3\input;
  10660. Acceleration_limit\output -> Acceleration_int\input;
  10661. PlusMinus1\output -> Position_control\error;
  10662. PlusMinus2\output -> Velocity_control\error;
  10663. Position_control\output -> Velocity_limit\input;
  10664. setpoint -> PlusMinus1\plus;
  10665. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  10666. Splitter3\output -> Velocity_int\input;
  10667. Splitter4\output -> output;
  10668. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  10669. Velocity_control\output -> Acceleration_limit\input;
  10670. Velocity_int\output -> Splitter4\input;
  10671. Velocity_limit\output -> PlusMinus2\plus;
  10672. end;
  10673. implementation_end;
  10674. specification_end;
  10675. specification 'P_only'
  10676. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Z:\home\wouter\Documents\studie\ma\mahd\implementation\library\Motor\stepper_control.emx</LibraryPath><TimeStamp>2020-7-23 13:09:57</TimeStamp></Description><Attributes><GlobalRelations>parameters
  10677. real max_acceleration = 200 {rad/s2};
  10678. real max_velocity = 25 {rad/s};
  10679. real initial_velocity = 0 {rad/s};
  10680. real initial_angle = 1.570796 {rad};</GlobalRelations></Attributes></Information>';
  10681. type Submodel
  10682. ports
  10683. signal in setpoint {rad} ;
  10684. signal out output {rad} ;
  10685. end;
  10686. icon bg bottom
  10687. figures
  10688. rectangle 656 576 768 608 color 0 fill 15132390;
  10689. text 'name' 712 592 color 0 'Clear Sans' 16;
  10690. end;
  10691. implementation bg
  10692. submodels
  10693. Acceleration_int 648 336
  10694. description '<Information>
  10695. <Description>
  10696. <Version>4.3</Version>
  10697. <IsMainModel>1</IsMainModel>
  10698. <KeepParameterValues>False</KeepParameterValues>
  10699. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  10700. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  10701. </Description>
  10702. </Information>';
  10703. type Integrate
  10704. ports
  10705. signal in input;
  10706. signal out output;
  10707. end;
  10708. icon bg bottom
  10709. figures
  10710. rectangle 632 320 664 352 color 0 fill 15132390;
  10711. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  10712. end;
  10713. implementation eq
  10714. parameters
  10715. real global initial_velocity; // initial value
  10716. equations
  10717. output = int (input, initial_velocity);
  10718. implementation_end;
  10719. Acceleration_limit 568 336
  10720. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10721. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  10722. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  10723. </Description>';
  10724. type 'SignalLimiter-Limit'
  10725. ports
  10726. signal in input;
  10727. signal out output;
  10728. end;
  10729. icon bg bottom
  10730. figures
  10731. group
  10732. rectangle 552 320 584 352 color 0 fill 15132390;
  10733. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  10734. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  10735. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  10736. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  10737. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  10738. end;
  10739. end;
  10740. implementation eq
  10741. parameters
  10742. real global max_acceleration {rad/s2};
  10743. equations
  10744. output = limit (input, -max_acceleration, max_acceleration);
  10745. implementation_end;
  10746. plug setpoint 136 336;
  10747. plug output 791 336;
  10748. PlusMinus1 240 336
  10749. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10750. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  10751. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  10752. </Description>';
  10753. knot PlusMinus
  10754. ports
  10755. signal knot duplicatable in plus [1];
  10756. signal knot duplicatable in minus [1];
  10757. signal knot out output [1];
  10758. end;
  10759. icon bg ellipse
  10760. figures
  10761. ellipse 232 328 248 344 color 0 fill 16777215;
  10762. end;
  10763. implementation eq
  10764. equations
  10765. output = sum (collect (plus)) - sum (collect (minus));
  10766. implementation_end;
  10767. PlusMinus2 432 336
  10768. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10769. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  10770. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  10771. </Description>';
  10772. knot PlusMinus
  10773. ports
  10774. signal knot duplicatable in plus [1];
  10775. signal knot duplicatable in minus [1];
  10776. signal knot out output [1];
  10777. end;
  10778. icon bg ellipse
  10779. figures
  10780. ellipse 424 328 440 344 color 0 fill 16777215;
  10781. end;
  10782. implementation eq
  10783. equations
  10784. output = sum (collect (plus)) - sum (collect (minus));
  10785. implementation_end;
  10786. Position_control 296 336
  10787. description '<Description>
  10788. <Version>4.0</Version>
  10789. <IsMainModel>1</IsMainModel>
  10790. <KeepParameterValues>False</KeepParameterValues>
  10791. <LibraryPath>Signal\Control\PID Control\Continuous\P.emx</LibraryPath>
  10792. <TimeStamp>2008-1-17 10:48:8</TimeStamp>
  10793. </Description>';
  10794. type P
  10795. ports
  10796. signal in error;
  10797. signal out output;
  10798. end;
  10799. icon bg bottom
  10800. figures
  10801. rectangle 280 320 312 352 color 0 fill 15132390;
  10802. text 'P' 296.5 336.1 color 16711680 18 bold;
  10803. end;
  10804. implementation eq
  10805. parameters
  10806. real kp = 26.0 {}; // Proportional gain
  10807. equations
  10808. output = kp * error;
  10809. implementation_end;
  10810. Splitter3 688 336
  10811. description '<Description><Version>4.0</Version>
  10812. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10813. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10814. <IsMainModel>1</IsMainModel>
  10815. <KeepParameterValues>False</KeepParameterValues>
  10816. </Description>';
  10817. knot Splitter
  10818. ports
  10819. signal knot duplicatable out output [1];
  10820. signal knot in input [1];
  10821. end;
  10822. icon bg ellipse
  10823. figures
  10824. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  10825. ellipse 683.7 331.7 692.3 340.3 color -1;
  10826. terminals
  10827. input 688 336 fixed;
  10828. end;
  10829. implementation eq
  10830. equations
  10831. collect (output) = input;
  10832. implementation_end;
  10833. Splitter4 752 336
  10834. description '<Description><Version>4.0</Version>
  10835. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10836. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10837. <IsMainModel>1</IsMainModel>
  10838. <KeepParameterValues>False</KeepParameterValues>
  10839. </Description>';
  10840. knot Splitter
  10841. ports
  10842. signal knot duplicatable out output [1];
  10843. signal knot in input [1];
  10844. end;
  10845. icon bg ellipse
  10846. figures
  10847. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  10848. ellipse 747.7 331.7 756.3 340.3 color -1;
  10849. terminals
  10850. input 752 336 fixed;
  10851. end;
  10852. implementation eq
  10853. equations
  10854. collect (output) = input;
  10855. implementation_end;
  10856. Velocity_control 480 336
  10857. description '<Description>
  10858. <Version>4.0</Version>
  10859. <IsMainModel>1</IsMainModel>
  10860. <KeepParameterValues>False</KeepParameterValues>
  10861. <LibraryPath>Signal\Control\PID Control\Continuous\P.emx</LibraryPath>
  10862. <TimeStamp>2008-1-17 10:48:8</TimeStamp>
  10863. </Description>';
  10864. type P
  10865. ports
  10866. signal in error;
  10867. signal out output;
  10868. end;
  10869. icon bg bottom
  10870. figures
  10871. rectangle 464 320 496 352 color 0 fill 15132390;
  10872. text 'P' 480.5 336.1 color 16711680 18 bold;
  10873. end;
  10874. implementation eq
  10875. parameters
  10876. real kp = 66.0 {}; // Proportional gain
  10877. equations
  10878. output = kp * error;
  10879. implementation_end;
  10880. Velocity_int 720 336
  10881. description '<Information>
  10882. <Description>
  10883. <Version>4.3</Version>
  10884. <IsMainModel>1</IsMainModel>
  10885. <KeepParameterValues>False</KeepParameterValues>
  10886. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  10887. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  10888. </Description>
  10889. </Information>';
  10890. type Integrate
  10891. ports
  10892. signal in input;
  10893. signal out output;
  10894. end;
  10895. icon bg bottom
  10896. figures
  10897. rectangle 704 320 736 352 color 0 fill 15132390;
  10898. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  10899. end;
  10900. implementation eq
  10901. parameters
  10902. real global initial_angle; // initial value
  10903. equations
  10904. output = int (input, initial_angle);
  10905. implementation_end;
  10906. Velocity_limit 376 336
  10907. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10908. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  10909. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  10910. </Description>';
  10911. type 'SignalLimiter-Limit'
  10912. ports
  10913. signal in input;
  10914. signal out output;
  10915. end;
  10916. icon bg bottom
  10917. figures
  10918. group
  10919. rectangle 360 320 392 352 color 0 fill 15132390;
  10920. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  10921. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  10922. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  10923. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  10924. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  10925. end;
  10926. end;
  10927. implementation eq
  10928. parameters
  10929. real global max_velocity {rad/s};
  10930. equations
  10931. output = limit (input, -max_velocity, max_velocity);
  10932. implementation_end;
  10933. end;
  10934. connections
  10935. Acceleration_int\output -> Splitter3\input;
  10936. Acceleration_limit\output -> Acceleration_int\input;
  10937. PlusMinus1\output -> Position_control\error;
  10938. PlusMinus2\output -> Velocity_control\error;
  10939. Position_control\output -> Velocity_limit\input;
  10940. setpoint -> PlusMinus1\plus;
  10941. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  10942. Splitter3\output -> Velocity_int\input;
  10943. Splitter4\output -> output;
  10944. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  10945. Velocity_control\output -> Acceleration_limit\input;
  10946. Velocity_int\output -> Splitter4\input;
  10947. Velocity_limit\output -> PlusMinus2\plus;
  10948. end;
  10949. implementation_end;
  10950. specification_end;
  10951. end;
  10952. stepper_control1 480 752
  10953. specifications active 'P_only'
  10954. specification 'default'
  10955. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Z:\home\wouter\Documents\studie\ma\mahd\implementation\library\Motor\stepper_control.emx</LibraryPath><TimeStamp>2020-7-23 13:09:57</TimeStamp></Description><Attributes><GlobalRelations>parameters
  10956. real max_acceleration = 250 {rad/s2};
  10957. real max_velocity = 25 {rad/s};
  10958. real initial_velocity = 0 {rad/s};
  10959. real initial_angle = -1.570796 {rad};</GlobalRelations></Attributes></Information>';
  10960. type Submodel
  10961. ports
  10962. signal in setpoint {rad} ;
  10963. signal out output {rad} ;
  10964. end;
  10965. icon bg bottom
  10966. figures
  10967. rectangle 648 576 760 608 color 0 fill 15132390;
  10968. text 'name' 704 592 color 0 'Clear Sans' 16;
  10969. end;
  10970. implementation bg
  10971. submodels
  10972. Acceleration_int 648 336
  10973. description '<Information>
  10974. <Description>
  10975. <Version>4.3</Version>
  10976. <IsMainModel>1</IsMainModel>
  10977. <KeepParameterValues>False</KeepParameterValues>
  10978. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  10979. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  10980. </Description>
  10981. </Information>';
  10982. type Integrate
  10983. ports
  10984. signal in input;
  10985. signal out output;
  10986. end;
  10987. icon bg bottom
  10988. figures
  10989. rectangle 632 320 664 352 color 0 fill 15132390;
  10990. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  10991. end;
  10992. implementation eq
  10993. parameters
  10994. real global initial_velocity; // initial value
  10995. equations
  10996. output = int (input, initial_velocity);
  10997. implementation_end;
  10998. Acceleration_limit 568 336
  10999. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  11000. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  11001. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  11002. </Description>';
  11003. type 'SignalLimiter-Limit'
  11004. ports
  11005. signal in input;
  11006. signal out output;
  11007. end;
  11008. icon bg bottom
  11009. figures
  11010. group
  11011. rectangle 552 320 584 352 color 0 fill 15132390;
  11012. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  11013. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  11014. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  11015. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  11016. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  11017. end;
  11018. end;
  11019. implementation eq
  11020. parameters
  11021. real global max_acceleration {rad/s2};
  11022. equations
  11023. output = limit (input, -max_acceleration, max_acceleration);
  11024. implementation_end;
  11025. plug setpoint 136 336;
  11026. plug output 791 336;
  11027. PlusMinus1 240 336
  11028. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  11029. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  11030. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  11031. </Description>';
  11032. knot PlusMinus
  11033. ports
  11034. signal knot duplicatable in plus [1];
  11035. signal knot duplicatable in minus [1];
  11036. signal knot out output [1];
  11037. end;
  11038. icon bg ellipse
  11039. figures
  11040. ellipse 232 328 248 344 color 0 fill 16777215;
  11041. end;
  11042. implementation eq
  11043. equations
  11044. output = sum (collect (plus)) - sum (collect (minus));
  11045. implementation_end;
  11046. PlusMinus2 432 336
  11047. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  11048. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  11049. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  11050. </Description>';
  11051. knot PlusMinus
  11052. ports
  11053. signal knot duplicatable in plus [1];
  11054. signal knot duplicatable in minus [1];
  11055. signal knot out output [1];
  11056. end;
  11057. icon bg ellipse
  11058. figures
  11059. ellipse 424 328 440 344 color 0 fill 16777215;
  11060. end;
  11061. implementation eq
  11062. equations
  11063. output = sum (collect (plus)) - sum (collect (minus));
  11064. implementation_end;
  11065. Position_control 296 336
  11066. description '<Description>
  11067. <Version>4.0</Version>
  11068. <IsMainModel>1</IsMainModel>
  11069. <KeepParameterValues>False</KeepParameterValues>
  11070. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  11071. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  11072. </Description>';
  11073. type PD
  11074. ports
  11075. signal in error;
  11076. signal out output;
  11077. end;
  11078. icon bg bottom
  11079. figures
  11080. rectangle 280 320 312 352 color 0 fill 15132390;
  11081. text 'PD' 296.5 336.1 color 16711680 18 bold;
  11082. end;
  11083. implementation eq
  11084. parameters
  11085. real kp = 4 {}; // Proportional gain
  11086. real tauD = 100 {s}; // Derivative time constant: tauD > 0
  11087. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  11088. variables
  11089. real state, rate;
  11090. equations
  11091. rate = (kp * error - output) / (beta * tauD);
  11092. state = int (rate);
  11093. output = state + kp * error / beta;
  11094. implementation_end;
  11095. Splitter3 688 336
  11096. description '<Description><Version>4.0</Version>
  11097. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  11098. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  11099. <IsMainModel>1</IsMainModel>
  11100. <KeepParameterValues>False</KeepParameterValues>
  11101. </Description>';
  11102. knot Splitter
  11103. ports
  11104. signal knot duplicatable out output [1];
  11105. signal knot in input [1];
  11106. end;
  11107. icon bg ellipse
  11108. figures
  11109. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  11110. ellipse 683.7 331.7 692.3 340.3 color -1;
  11111. terminals
  11112. input 688 336 fixed;
  11113. end;
  11114. implementation eq
  11115. equations
  11116. collect (output) = input;
  11117. implementation_end;
  11118. Splitter4 752 336
  11119. description '<Description><Version>4.0</Version>
  11120. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  11121. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  11122. <IsMainModel>1</IsMainModel>
  11123. <KeepParameterValues>False</KeepParameterValues>
  11124. </Description>';
  11125. knot Splitter
  11126. ports
  11127. signal knot duplicatable out output [1];
  11128. signal knot in input [1];
  11129. end;
  11130. icon bg ellipse
  11131. figures
  11132. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  11133. ellipse 747.7 331.7 756.3 340.3 color -1;
  11134. terminals
  11135. input 752 336 fixed;
  11136. end;
  11137. implementation eq
  11138. equations
  11139. collect (output) = input;
  11140. implementation_end;
  11141. Velocity_control 480 336
  11142. description '<Description>
  11143. <Version>4.0</Version>
  11144. <IsMainModel>1</IsMainModel>
  11145. <KeepParameterValues>False</KeepParameterValues>
  11146. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  11147. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  11148. </Description>';
  11149. type PD
  11150. ports
  11151. signal in error;
  11152. signal out output;
  11153. end;
  11154. icon bg bottom
  11155. figures
  11156. rectangle 464 320 496 352 color 0 fill 15132390;
  11157. text 'PD' 480.5 336.1 color 16711680 18 bold;
  11158. end;
  11159. implementation eq
  11160. parameters
  11161. real kp = 12 {}; // Proportional gain
  11162. real tauD = 10 {s}; // Derivative time constant: tauD > 0
  11163. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  11164. variables
  11165. real state, rate;
  11166. equations
  11167. rate = (kp * error - output) / (beta * tauD);
  11168. state = int (rate);
  11169. output = state + kp * error / beta;
  11170. implementation_end;
  11171. Velocity_int 720 336
  11172. description '<Information>
  11173. <Description>
  11174. <Version>4.3</Version>
  11175. <IsMainModel>1</IsMainModel>
  11176. <KeepParameterValues>False</KeepParameterValues>
  11177. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  11178. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  11179. </Description>
  11180. </Information>';
  11181. type Integrate
  11182. ports
  11183. signal in input;
  11184. signal out output;
  11185. end;
  11186. icon bg bottom
  11187. figures
  11188. rectangle 704 320 736 352 color 0 fill 15132390;
  11189. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  11190. end;
  11191. implementation eq
  11192. parameters
  11193. real global initial_angle; // initial value
  11194. equations
  11195. output = int (input, initial_angle);
  11196. implementation_end;
  11197. Velocity_limit 376 336
  11198. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  11199. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  11200. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  11201. </Description>';
  11202. type 'SignalLimiter-Limit'
  11203. ports
  11204. signal in input;
  11205. signal out output;
  11206. end;
  11207. icon bg bottom
  11208. figures
  11209. group
  11210. rectangle 360 320 392 352 color 0 fill 15132390;
  11211. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  11212. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  11213. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  11214. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  11215. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  11216. end;
  11217. end;
  11218. implementation eq
  11219. parameters
  11220. real global max_velocity {rad/s};
  11221. equations
  11222. output = limit (input, -max_velocity, max_velocity);
  11223. implementation_end;
  11224. end;
  11225. connections
  11226. Acceleration_int\output -> Splitter3\input;
  11227. Acceleration_limit\output -> Acceleration_int\input;
  11228. PlusMinus1\output -> Position_control\error;
  11229. PlusMinus2\output -> Velocity_control\error;
  11230. Position_control\output -> Velocity_limit\input;
  11231. setpoint -> PlusMinus1\plus;
  11232. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  11233. Splitter3\output -> Velocity_int\input;
  11234. Splitter4\output -> output;
  11235. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  11236. Velocity_control\output -> Acceleration_limit\input;
  11237. Velocity_int\output -> Splitter4\input;
  11238. Velocity_limit\output -> PlusMinus2\plus;
  11239. end;
  11240. implementation_end;
  11241. specification_end;
  11242. specification 'P_only'
  11243. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Z:\home\wouter\Documents\studie\ma\mahd\implementation\library\Motor\stepper_control.emx</LibraryPath><TimeStamp>2020-7-23 13:09:57</TimeStamp></Description><Attributes><GlobalRelations>parameters
  11244. real max_acceleration = 200 {rad/s2};
  11245. real max_velocity = 25 {rad/s};
  11246. real initial_velocity = 0 {rad/s};
  11247. real initial_angle = 0 {rad};</GlobalRelations></Attributes></Information>';
  11248. type Submodel
  11249. ports
  11250. signal in setpoint {rad} ;
  11251. signal out output {rad} ;
  11252. end;
  11253. icon bg
  11254. figures
  11255. rectangle 424 736 536 768 color 0 fill 15132390;
  11256. text 'name' 480 752 color 0 'Clear Sans' 16;
  11257. end;
  11258. implementation bg
  11259. submodels
  11260. Acceleration_int 648 336
  11261. description '<Information>
  11262. <Description>
  11263. <Version>4.3</Version>
  11264. <IsMainModel>1</IsMainModel>
  11265. <KeepParameterValues>False</KeepParameterValues>
  11266. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  11267. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  11268. </Description>
  11269. </Information>';
  11270. type Integrate
  11271. ports
  11272. signal in input;
  11273. signal out output;
  11274. end;
  11275. icon bg bottom
  11276. figures
  11277. rectangle 632 320 664 352 color 0 fill 15132390;
  11278. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  11279. end;
  11280. implementation eq
  11281. parameters
  11282. real global initial_velocity; // initial value
  11283. equations
  11284. output = int (input, initial_velocity);
  11285. implementation_end;
  11286. Acceleration_limit 568 336
  11287. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  11288. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  11289. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  11290. </Description>';
  11291. type 'SignalLimiter-Limit'
  11292. ports
  11293. signal in input;
  11294. signal out output;
  11295. end;
  11296. icon bg bottom
  11297. figures
  11298. group
  11299. rectangle 552 320 584 352 color 0 fill 15132390;
  11300. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  11301. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  11302. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  11303. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  11304. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  11305. end;
  11306. end;
  11307. implementation eq
  11308. parameters
  11309. real global max_acceleration {rad/s2};
  11310. equations
  11311. output = limit (input, -max_acceleration, max_acceleration);
  11312. implementation_end;
  11313. plug setpoint 136 336;
  11314. plug output 791 336;
  11315. PlusMinus1 240 336
  11316. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  11317. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  11318. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  11319. </Description>';
  11320. knot PlusMinus
  11321. ports
  11322. signal knot duplicatable in plus [1];
  11323. signal knot duplicatable in minus [1];
  11324. signal knot out output [1];
  11325. end;
  11326. icon bg ellipse
  11327. figures
  11328. ellipse 232 328 248 344 color 0 fill 16777215;
  11329. end;
  11330. implementation eq
  11331. equations
  11332. output = sum (collect (plus)) - sum (collect (minus));
  11333. implementation_end;
  11334. PlusMinus2 432 336
  11335. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  11336. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  11337. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  11338. </Description>';
  11339. knot PlusMinus
  11340. ports
  11341. signal knot duplicatable in plus [1];
  11342. signal knot duplicatable in minus [1];
  11343. signal knot out output [1];
  11344. end;
  11345. icon bg ellipse
  11346. figures
  11347. ellipse 424 328 440 344 color 0 fill 16777215;
  11348. end;
  11349. implementation eq
  11350. equations
  11351. output = sum (collect (plus)) - sum (collect (minus));
  11352. implementation_end;
  11353. Position_control 296 336
  11354. description '<Description>
  11355. <Version>4.0</Version>
  11356. <IsMainModel>1</IsMainModel>
  11357. <KeepParameterValues>False</KeepParameterValues>
  11358. <LibraryPath>Signal\Control\PID Control\Continuous\P.emx</LibraryPath>
  11359. <TimeStamp>2008-1-17 10:48:8</TimeStamp>
  11360. </Description>';
  11361. type P
  11362. ports
  11363. signal in error;
  11364. signal out output;
  11365. end;
  11366. icon bg bottom
  11367. figures
  11368. rectangle 280 320 312 352 color 0 fill 15132390;
  11369. text 'P' 296.5 336.1 color 16711680 18 bold;
  11370. end;
  11371. implementation eq
  11372. parameters
  11373. real kp = 31.0 {}; // Proportional gain
  11374. equations
  11375. output = kp * error;
  11376. implementation_end;
  11377. Splitter3 688 336
  11378. description '<Description><Version>4.0</Version>
  11379. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  11380. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  11381. <IsMainModel>1</IsMainModel>
  11382. <KeepParameterValues>False</KeepParameterValues>
  11383. </Description>';
  11384. knot Splitter
  11385. ports
  11386. signal knot duplicatable out output [1];
  11387. signal knot in input [1];
  11388. end;
  11389. icon bg ellipse
  11390. figures
  11391. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  11392. ellipse 683.7 331.7 692.3 340.3 color -1;
  11393. terminals
  11394. input 688 336 fixed;
  11395. end;
  11396. implementation eq
  11397. equations
  11398. collect (output) = input;
  11399. implementation_end;
  11400. Splitter4 752 336
  11401. description '<Description><Version>4.0</Version>
  11402. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  11403. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  11404. <IsMainModel>1</IsMainModel>
  11405. <KeepParameterValues>False</KeepParameterValues>
  11406. </Description>';
  11407. knot Splitter
  11408. ports
  11409. signal knot duplicatable out output [1];
  11410. signal knot in input [1];
  11411. end;
  11412. icon bg ellipse
  11413. figures
  11414. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  11415. ellipse 747.7 331.7 756.3 340.3 color -1;
  11416. terminals
  11417. input 752 336 fixed;
  11418. end;
  11419. implementation eq
  11420. equations
  11421. collect (output) = input;
  11422. implementation_end;
  11423. Velocity_control 480 336
  11424. description '<Description>
  11425. <Version>4.0</Version>
  11426. <IsMainModel>1</IsMainModel>
  11427. <KeepParameterValues>False</KeepParameterValues>
  11428. <LibraryPath>Signal\Control\PID Control\Continuous\P.emx</LibraryPath>
  11429. <TimeStamp>2008-1-17 10:48:8</TimeStamp>
  11430. </Description>';
  11431. type P
  11432. ports
  11433. signal in error;
  11434. signal out output;
  11435. end;
  11436. icon bg bottom
  11437. figures
  11438. rectangle 464 320 496 352 color 0 fill 15132390;
  11439. text 'P' 480.5 336.1 color 16711680 18 bold;
  11440. end;
  11441. implementation eq
  11442. parameters
  11443. real kp = 69.0 {}; // Proportional gain
  11444. equations
  11445. output = kp * error;
  11446. implementation_end;
  11447. Velocity_int 720 336
  11448. description '<Information>
  11449. <Description>
  11450. <Version>4.3</Version>
  11451. <IsMainModel>1</IsMainModel>
  11452. <KeepParameterValues>False</KeepParameterValues>
  11453. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  11454. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  11455. </Description>
  11456. </Information>';
  11457. type Integrate
  11458. ports
  11459. signal in input;
  11460. signal out output;
  11461. end;
  11462. icon bg bottom
  11463. figures
  11464. rectangle 704 320 736 352 color 0 fill 15132390;
  11465. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  11466. end;
  11467. implementation eq
  11468. parameters
  11469. real global initial_angle; // initial value
  11470. equations
  11471. output = int (input, initial_angle);
  11472. implementation_end;
  11473. Velocity_limit 376 336
  11474. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  11475. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  11476. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  11477. </Description>';
  11478. type 'SignalLimiter-Limit'
  11479. ports
  11480. signal in input;
  11481. signal out output;
  11482. end;
  11483. icon bg bottom
  11484. figures
  11485. group
  11486. rectangle 360 320 392 352 color 0 fill 15132390;
  11487. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  11488. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  11489. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  11490. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  11491. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  11492. end;
  11493. end;
  11494. implementation eq
  11495. parameters
  11496. real global max_velocity {rad/s};
  11497. equations
  11498. output = limit (input, -max_velocity, max_velocity);
  11499. implementation_end;
  11500. end;
  11501. connections
  11502. Acceleration_int\output -> Splitter3\input;
  11503. Acceleration_limit\output -> Acceleration_int\input;
  11504. PlusMinus1\output -> Position_control\error;
  11505. PlusMinus2\output -> Velocity_control\error;
  11506. Position_control\output -> Velocity_limit\input;
  11507. setpoint -> PlusMinus1\plus;
  11508. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  11509. Splitter3\output -> Velocity_int\input;
  11510. Splitter4\output -> output;
  11511. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  11512. Velocity_control\output -> Acceleration_limit\input;
  11513. Velocity_int\output -> Splitter4\input;
  11514. Velocity_limit\output -> PlusMinus2\plus;
  11515. end;
  11516. implementation_end;
  11517. specification_end;
  11518. end;
  11519. end;
  11520. connections
  11521. Body1\input <- Splitter2\output;
  11522. Body3\input <- Splitter3\output;
  11523. COM_body3\p => OneJunction4\p;
  11524. COM_body4\p => OneJunction6\p;
  11525. COM_body5\p => Link8\Pin;
  11526. Ground1\output -> JointC\Hin 576 568;
  11527. Ground1\p <= OneJunction5\p;
  11528. inverse_kinematics\angle1 -> stepper_control\setpoint;
  11529. inverse_kinematics\angle2 -> Negate2\input;
  11530. inverse_kinematics\input <- rectanglepath\output;
  11531. Joint_dynB\output => JointB\Pdiff;
  11532. Joint_dynC\output => JointC\Pdiff;
  11533. Joint_dynD\output => JointD\Pdiff;
  11534. Joint_dynE\output => JointE\Pdiff;
  11535. Joint_dynF\output => JointF\Pdiff;
  11536. JointA\Pdiff <= Joint_dynA\output;
  11537. JointA\Pout => Link3\Pin;
  11538. JointB\Hin <- Splitter4\output;
  11539. JointB\Hout -> Link6\Hin;
  11540. JointB\Pin <= Link6\Pout;
  11541. JointB\Pout => OneJunction3\p;
  11542. JointC\Hout -> Link5\Hin;
  11543. JointC\Pin <= Link5\Pout;
  11544. JointD\Hin <- Link7\Hout 216 568;
  11545. JointD\Hout -> Link9\Hin;
  11546. JointD\Pin <= Link9\Pout;
  11547. JointD\Pout => Link7\Pin 184 600;
  11548. JointE\Pout => Link4\Pin;
  11549. JointF\Hout -> Link10\Hin;
  11550. JointF\Pout => Link11\Pin;
  11551. LiftingArm\Hin <- Splitter6\output 728 256;
  11552. LiftingArm\Pin <= OneJunction7\p 1264 224;
  11553. LiftingArm\Pout => OneJunction6\p 696 224;
  11554. Link1\Hout -> Splitter6\input;
  11555. Link10\Hout -> Splitter9\input;
  11556. Link10\Pout => JointF\Pin;
  11557. Link11\Hout -> JointF\Hin;
  11558. Link11\Pout => OneJunction6\p;
  11559. Link2\Hin <- JointE\Hout;
  11560. Link2\Hout -> Splitter11\input;
  11561. Link2\Pin <= OneJunction3\p;
  11562. Link2\Pout => JointE\Pin 184 112;
  11563. Link3\Hout -> JointA\Hin;
  11564. Link4\Hout -> JointE\Hin;
  11565. Link5\Hout -> Splitter1\input;
  11566. Link5\Pin <= OneJunction1\p;
  11567. Link6\Hout -> Splitter2\input;
  11568. Link6\Pin <= OneJunction2\p;
  11569. Link8\Hout -> Splitter10\input;
  11570. Link8\Pout => OneJunction7\p;
  11571. Link9\Hout -> Splitter3\input;
  11572. Link9\Pin <= OneJunction4\p;
  11573. Negate2\output -> stepper_control1\setpoint;
  11574. OneJunction1\p <= COM_body2\p;
  11575. OneJunction1\p <= Link7\Pout;
  11576. OneJunction2\p <= COM_body1\p;
  11577. OneJunction2\p <= Link3\Pout;
  11578. OneJunction3\p <= Link1\Pout;
  11579. OneJunction4\p <= Link4\Pout;
  11580. OneJunction5\p <= JointC\Pout;
  11581. OneJunction5\p => JointA\Pin;
  11582. OneJunction6\p => Link1\Pin;
  11583. OneJunction7\p => Link10\Pin;
  11584. Splitter1\output -> Body2\input;
  11585. Splitter1\output -> COM_body2\Hin;
  11586. Splitter1\output -> Link7\Hin;
  11587. Splitter10\output -> Body6\input;
  11588. Splitter10\output -> COM_body5\Hin;
  11589. Splitter11\output -> Body4\input;
  11590. Splitter11\output -> Splitter4\input;
  11591. Splitter2\output -> COM_body1\Hin;
  11592. Splitter2\output -> Link3\Hin;
  11593. Splitter3\output -> COM_body3\Hin;
  11594. Splitter3\output -> Link4\Hin;
  11595. Splitter4\output -> Link1\Hin;
  11596. Splitter6\output -> COM_body4\Hin;
  11597. Splitter6\output -> Link11\Hin;
  11598. Splitter9\output -> Body5\input;
  11599. Splitter9\output -> Link8\Hin;
  11600. stepper_control\output -> Joint_dynA\angle;
  11601. stepper_control1\output -> Joint_dynC\angle;
  11602. end;
  11603. implementation_end;
  11604. ]]>
  11605. </Sidops>
  11606. </Model>
  11607. <Experiments>
  11608. <DefaultExperiment><![CDATA[Experiment 1]]>
  11609. </DefaultExperiment>
  11610. <Experiment>
  11611. <Name>Experiment 1</Name>
  11612. <CreatedBy></CreatedBy>
  11613. <Info></Info>
  11614. <ExpData>
  11615. <VersionNumber>4.8</VersionNumber>
  11616. <ModelProperties>
  11617. <ModelProperty section="processing" entry="checkForStaticExpressions" value="1"/>
  11618. <ModelProperty section="processing" entry="debug_checkForStaticExpressions" value="1"/>
  11619. <ModelProperty section="processing" entry="checkForDuplicateExpressions" value="1"/>
  11620. <ModelProperty section="processing" entry="debug_checkForDuplicateExpressions" value="1"/>
  11621. <ModelProperty section="processing" entry="showresult" value="1"/>
  11622. <ModelProperty section="processing" entry="debug_showresult" value="1"/>
  11623. </ModelProperties>
  11624. <Variables>
  11625. <Constants>
  11626. </Constants>
  11627. <Parameters>
  11628. </Parameters>
  11629. <Initials>
  11630. <Variable>
  11631. <Name>COM_body1\InertialTensor\state_initial</Name>
  11632. <Rows>6</Rows>
  11633. <Columns>1</Columns>
  11634. <Value>0 0 0 0 0 0</Value>
  11635. </Variable>
  11636. <Variable>
  11637. <Name>COM_body2\InertialTensor\state_initial</Name>
  11638. <Rows>6</Rows>
  11639. <Columns>1</Columns>
  11640. <Value>0 0 0 0 0 0</Value>
  11641. </Variable>
  11642. <Variable>
  11643. <Name>COM_body3\InertialTensor\state_initial</Name>
  11644. <Rows>6</Rows>
  11645. <Columns>1</Columns>
  11646. <Value>0 0 0 0 0 0</Value>
  11647. </Variable>
  11648. <Variable>
  11649. <Name>COM_body4\InertialTensor\state_initial</Name>
  11650. <Rows>6</Rows>
  11651. <Columns>1</Columns>
  11652. <Value>0 0 0 0 0 0</Value>
  11653. </Variable>
  11654. <Variable>
  11655. <Name>COM_body5\InertialTensor\state_initial</Name>
  11656. <Rows>6</Rows>
  11657. <Columns>1</Columns>
  11658. <Value>0 0 0 0 0 0</Value>
  11659. </Variable>
  11660. <Variable>
  11661. <Name>JointA\Hmatrix\p_initial</Name>
  11662. <Rows>3</Rows>
  11663. <Columns>1</Columns>
  11664. <Value>0 0 0</Value>
  11665. </Variable>
  11666. <Variable>
  11667. <Name>JointB\Hmatrix\p_initial</Name>
  11668. <Rows>3</Rows>
  11669. <Columns>1</Columns>
  11670. <Value>0 0 0</Value>
  11671. </Variable>
  11672. <Variable>
  11673. <Name>JointC\Hmatrix\p_initial</Name>
  11674. <Rows>3</Rows>
  11675. <Columns>1</Columns>
  11676. <Value>0 0 0</Value>
  11677. </Variable>
  11678. <Variable>
  11679. <Name>JointD\Hmatrix\p_initial</Name>
  11680. <Rows>3</Rows>
  11681. <Columns>1</Columns>
  11682. <Value>0 0 0</Value>
  11683. </Variable>
  11684. <Variable>
  11685. <Name>JointE\Hmatrix\p_initial</Name>
  11686. <Rows>3</Rows>
  11687. <Columns>1</Columns>
  11688. <Value>0 0 0</Value>
  11689. </Variable>
  11690. <Variable>
  11691. <Name>JointF\Hmatrix\p_initial</Name>
  11692. <Rows>3</Rows>
  11693. <Columns>1</Columns>
  11694. <Value>0 0 0</Value>
  11695. </Variable>
  11696. <Variable>
  11697. <Name>Joint_dynA\C1\state_initial</Name>
  11698. <Rows>3</Rows>
  11699. <Columns>1</Columns>
  11700. <Value>0 0 0</Value>
  11701. </Variable>
  11702. <Variable>
  11703. <Name>Joint_dynA\C4\state_initial</Name>
  11704. <Rows>2</Rows>
  11705. <Columns>1</Columns>
  11706. <Value>0 0</Value>
  11707. </Variable>
  11708. <Variable>
  11709. <Name>Joint_dynA\C\state_initial</Name>
  11710. <Value>0</Value>
  11711. </Variable>
  11712. <Variable>
  11713. <Name>Joint_dynA\stepper_model\I1\state_initial</Name>
  11714. <Value>0</Value>
  11715. </Variable>
  11716. <Variable>
  11717. <Name>Joint_dynA\stepper_model\I2\state_initial</Name>
  11718. <Value>0</Value>
  11719. </Variable>
  11720. <Variable>
  11721. <Name>Joint_dynA\stepper_model\I\state_initial</Name>
  11722. <Value>0</Value>
  11723. </Variable>
  11724. <Variable>
  11725. <Name>Joint_dynB\C1\state_initial</Name>
  11726. <Rows>3</Rows>
  11727. <Columns>1</Columns>
  11728. <Value>0 0 0</Value>
  11729. </Variable>
  11730. <Variable>
  11731. <Name>Joint_dynB\C4\state_initial</Name>
  11732. <Rows>2</Rows>
  11733. <Columns>1</Columns>
  11734. <Value>0 0</Value>
  11735. </Variable>
  11736. <Variable>
  11737. <Name>Joint_dynC\C1\state_initial</Name>
  11738. <Rows>3</Rows>
  11739. <Columns>1</Columns>
  11740. <Value>0 0 0</Value>
  11741. </Variable>
  11742. <Variable>
  11743. <Name>Joint_dynC\C4\state_initial</Name>
  11744. <Rows>2</Rows>
  11745. <Columns>1</Columns>
  11746. <Value>0 0</Value>
  11747. </Variable>
  11748. <Variable>
  11749. <Name>Joint_dynC\C\state_initial</Name>
  11750. <Value>0</Value>
  11751. </Variable>
  11752. <Variable>
  11753. <Name>Joint_dynC\stepper_model\I1\state_initial</Name>
  11754. <Value>0</Value>
  11755. </Variable>
  11756. <Variable>
  11757. <Name>Joint_dynC\stepper_model\I2\state_initial</Name>
  11758. <Value>0</Value>
  11759. </Variable>
  11760. <Variable>
  11761. <Name>Joint_dynC\stepper_model\I\state_initial</Name>
  11762. <Value>0</Value>
  11763. </Variable>
  11764. <Variable>
  11765. <Name>Joint_dynC\stepper_model\RotorAngle\angle_initial</Name>
  11766. <Unit>rad</Unit>
  11767. <Value>0</Value>
  11768. </Variable>
  11769. <Variable>
  11770. <Name>Joint_dynD\C1\state_initial</Name>
  11771. <Rows>3</Rows>
  11772. <Columns>1</Columns>
  11773. <Value>0 0 0</Value>
  11774. </Variable>
  11775. <Variable>
  11776. <Name>Joint_dynD\C4\state_initial</Name>
  11777. <Rows>2</Rows>
  11778. <Columns>1</Columns>
  11779. <Value>0 0</Value>
  11780. </Variable>
  11781. <Variable>
  11782. <Name>Joint_dynE\C1\state_initial</Name>
  11783. <Rows>3</Rows>
  11784. <Columns>1</Columns>
  11785. <Value>0 0 0</Value>
  11786. </Variable>
  11787. <Variable>
  11788. <Name>Joint_dynE\C4\state_initial</Name>
  11789. <Rows>2</Rows>
  11790. <Columns>1</Columns>
  11791. <Value>0 0</Value>
  11792. </Variable>
  11793. <Variable>
  11794. <Name>Joint_dynF\C1\state_initial</Name>
  11795. <Rows>3</Rows>
  11796. <Columns>1</Columns>
  11797. <Value>0 0 0</Value>
  11798. </Variable>
  11799. <Variable>
  11800. <Name>Joint_dynF\C4\state_initial</Name>
  11801. <Rows>2</Rows>
  11802. <Columns>1</Columns>
  11803. <Value>0 0</Value>
  11804. </Variable>
  11805. <Variable>
  11806. <Name>LiftingArm\COM1\InertialTensor\state_initial</Name>
  11807. <Rows>6</Rows>
  11808. <Columns>1</Columns>
  11809. <Value>0 0 0 0 0 0</Value>
  11810. </Variable>
  11811. <Variable>
  11812. <Name>LiftingArm\COM\InertialTensor\state_initial</Name>
  11813. <Rows>6</Rows>
  11814. <Columns>1</Columns>
  11815. <Value>0 0 0 0 0 0</Value>
  11816. </Variable>
  11817. <Variable>
  11818. <Name>LiftingArm\Joint1\Hmatrix\p_initial</Name>
  11819. <Rows>3</Rows>
  11820. <Columns>1</Columns>
  11821. <Value>0 0 0</Value>
  11822. </Variable>
  11823. <Variable>
  11824. <Name>LiftingArm\Joint2\Hmatrix\p_initial</Name>
  11825. <Rows>3</Rows>
  11826. <Columns>1</Columns>
  11827. <Value>0 0 0</Value>
  11828. </Variable>
  11829. <Variable>
  11830. <Name>LiftingArm\Joint\Hmatrix\p_initial</Name>
  11831. <Rows>3</Rows>
  11832. <Columns>1</Columns>
  11833. <Value>0 0 0</Value>
  11834. </Variable>
  11835. <Variable>
  11836. <Name>LiftingArm\Joint_dynF1\C1\state_initial</Name>
  11837. <Rows>3</Rows>
  11838. <Columns>1</Columns>
  11839. <Value>0 0 0</Value>
  11840. </Variable>
  11841. <Variable>
  11842. <Name>LiftingArm\Joint_dynF1\C4\state_initial</Name>
  11843. <Rows>2</Rows>
  11844. <Columns>1</Columns>
  11845. <Value>0 0</Value>
  11846. </Variable>
  11847. <Variable>
  11848. <Name>LiftingArm\Joint_dynF1\C\state_initial</Name>
  11849. <Value>0</Value>
  11850. </Variable>
  11851. <Variable>
  11852. <Name>LiftingArm\Joint_dynF1\SG90\C\state_initial</Name>
  11853. <Value>0</Value>
  11854. </Variable>
  11855. <Variable>
  11856. <Name>LiftingArm\Joint_dynF1\SG90\I\state_initial</Name>
  11857. <Value>0</Value>
  11858. </Variable>
  11859. <Variable>
  11860. <Name>LiftingArm\Joint_dynF1\SG90\PD\state_initial</Name>
  11861. <Value>0</Value>
  11862. </Variable>
  11863. <Variable>
  11864. <Name>LiftingArm\Joint_dynF2\C1\state_initial</Name>
  11865. <Rows>3</Rows>
  11866. <Columns>1</Columns>
  11867. <Value>0 0 0</Value>
  11868. </Variable>
  11869. <Variable>
  11870. <Name>LiftingArm\Joint_dynF2\C4\state_initial</Name>
  11871. <Rows>2</Rows>
  11872. <Columns>1</Columns>
  11873. <Value>0 0</Value>
  11874. </Variable>
  11875. <Variable>
  11876. <Name>LiftingArm\Joint_dynF3\C1\state_initial</Name>
  11877. <Rows>3</Rows>
  11878. <Columns>1</Columns>
  11879. <Value>0 0 0</Value>
  11880. </Variable>
  11881. <Variable>
  11882. <Name>LiftingArm\Joint_dynF3\C4\state_initial</Name>
  11883. <Rows>2</Rows>
  11884. <Columns>1</Columns>
  11885. <Value>0 0</Value>
  11886. </Variable>
  11887. </Initials>
  11888. </Variables>
  11889. <PlotSpecs>
  11890. <VarNames>
  11891. <VarName>time</VarName>
  11892. <VarName>Body2\dimension[1]</VarName>
  11893. <VarName>Body2\dimension[2]</VarName>
  11894. <VarName>Body2\dimension[3]</VarName>
  11895. <VarName>Body2\position[1]</VarName>
  11896. <VarName>Body2\position[2]</VarName>
  11897. <VarName>Body2\position[3]</VarName>
  11898. <VarName>Body2\R[1,3]</VarName>
  11899. <VarName>Body2\R[2,3]</VarName>
  11900. <VarName>Body2\R[3,3]</VarName>
  11901. <VarName>Body2\R[1,2]</VarName>
  11902. <VarName>Body2\R[2,2]</VarName>
  11903. <VarName>Body2\R[3,2]</VarName>
  11904. <VarName>Body3\dimension[1]</VarName>
  11905. <VarName>Body3\dimension[2]</VarName>
  11906. <VarName>Body3\dimension[3]</VarName>
  11907. <VarName>Body3\position[1]</VarName>
  11908. <VarName>Body3\position[2]</VarName>
  11909. <VarName>Body3\position[3]</VarName>
  11910. <VarName>Body3\R[1,3]</VarName>
  11911. <VarName>Body3\R[2,3]</VarName>
  11912. <VarName>Body3\R[3,3]</VarName>
  11913. <VarName>Body3\R[1,2]</VarName>
  11914. <VarName>Body3\R[2,2]</VarName>
  11915. <VarName>Body3\R[3,2]</VarName>
  11916. <VarName>Body4\dimension[1]</VarName>
  11917. <VarName>Body4\dimension[2]</VarName>
  11918. <VarName>Body4\dimension[3]</VarName>
  11919. <VarName>Body4\R[1,3]</VarName>
  11920. <VarName>Body4\R[2,3]</VarName>
  11921. <VarName>Body4\R[3,3]</VarName>
  11922. <VarName>Body4\R[1,2]</VarName>
  11923. <VarName>Body4\R[2,2]</VarName>
  11924. <VarName>Body4\R[3,2]</VarName>
  11925. <VarName>Body4\position[1]</VarName>
  11926. <VarName>Body4\position[2]</VarName>
  11927. <VarName>Body4\position[3]</VarName>
  11928. <VarName>Body5\dimension[1]</VarName>
  11929. <VarName>Body5\dimension[2]</VarName>
  11930. <VarName>Body5\dimension[3]</VarName>
  11931. <VarName>Body5\position[1]</VarName>
  11932. <VarName>Body5\position[2]</VarName>
  11933. <VarName>Body5\position[3]</VarName>
  11934. <VarName>Body5\R[1,3]</VarName>
  11935. <VarName>Body5\R[2,3]</VarName>
  11936. <VarName>Body5\R[3,3]</VarName>
  11937. <VarName>Body5\R[1,2]</VarName>
  11938. <VarName>Body5\R[2,2]</VarName>
  11939. <VarName>Body5\R[3,2]</VarName>
  11940. <VarName>Joint_dynA\stepper_model\RotorAngle\angle</VarName>
  11941. <VarName>Joint_dynC\stepper_model\RotorAngle\angle</VarName>
  11942. <VarName>Body6\position[3]</VarName>
  11943. <VarName>Body6\position[2]</VarName>
  11944. <VarName>rectanglepath\output[2]</VarName>
  11945. <VarName>rectanglepath\output[1]</VarName>
  11946. <VarName>stepper_control\Acceleration_int\input</VarName>
  11947. <VarName>stepper_control\Velocity_int\output</VarName>
  11948. <VarName>stepper_control\Velocity_int\input</VarName>
  11949. <VarName>stepper_control1\Acceleration_int\input</VarName>
  11950. <VarName>stepper_control1\Velocity_int\output</VarName>
  11951. <VarName>stepper_control1\Velocity_int\input</VarName>
  11952. <VarName>Body6\R[1,3]</VarName>
  11953. <VarName>Body6\R[2,3]</VarName>
  11954. <VarName>Body6\R[3,3]</VarName>
  11955. <VarName>Body6\R[1,2]</VarName>
  11956. <VarName>Body6\R[2,2]</VarName>
  11957. <VarName>Body6\R[3,2]</VarName>
  11958. <VarName>Body6\position[1]</VarName>
  11959. <VarName>Body1\position[1]</VarName>
  11960. <VarName>Body1\position[2]</VarName>
  11961. <VarName>Body1\R[1,3]</VarName>
  11962. <VarName>Body1\R[2,3]</VarName>
  11963. <VarName>Body1\R[3,3]</VarName>
  11964. <VarName>Body1\R[1,2]</VarName>
  11965. <VarName>Body1\R[2,2]</VarName>
  11966. <VarName>Body1\R[3,2]</VarName>
  11967. <VarName>Body1\dimension[1]</VarName>
  11968. <VarName>Body1\dimension[2]</VarName>
  11969. <VarName>Body1\dimension[3]</VarName>
  11970. <VarName>Body1\position[3]</VarName>
  11971. <VarName>LiftingArm\Body_Lift2\dimension[1]</VarName>
  11972. <VarName>LiftingArm\Body_Lift2\dimension[2]</VarName>
  11973. <VarName>LiftingArm\Body_Lift2\dimension[3]</VarName>
  11974. <VarName>LiftingArm\Body_Lift2\position[1]</VarName>
  11975. <VarName>LiftingArm\Body_Lift2\position[2]</VarName>
  11976. <VarName>LiftingArm\Body_Lift2\position[3]</VarName>
  11977. <VarName>LiftingArm\Body_Lift2\R[1,3]</VarName>
  11978. <VarName>LiftingArm\Body_Lift2\R[2,3]</VarName>
  11979. <VarName>LiftingArm\Body_Lift2\R[3,3]</VarName>
  11980. <VarName>LiftingArm\Body_Lift2\R[1,2]</VarName>
  11981. <VarName>LiftingArm\Body_Lift2\R[2,2]</VarName>
  11982. <VarName>LiftingArm\Body_Lift2\R[3,2]</VarName>
  11983. <VarName>LiftingArm\Body_Lift3\dimension[1]</VarName>
  11984. <VarName>LiftingArm\Body_Lift3\dimension[2]</VarName>
  11985. <VarName>LiftingArm\Body_Lift3\dimension[3]</VarName>
  11986. <VarName>LiftingArm\Body_Lift3\position[1]</VarName>
  11987. <VarName>LiftingArm\Body_Lift3\position[2]</VarName>
  11988. <VarName>LiftingArm\Body_Lift3\position[3]</VarName>
  11989. <VarName>LiftingArm\Body_Lift3\R[1,3]</VarName>
  11990. <VarName>LiftingArm\Body_Lift3\R[2,3]</VarName>
  11991. <VarName>LiftingArm\Body_Lift3\R[3,3]</VarName>
  11992. <VarName>LiftingArm\Body_Lift3\R[1,2]</VarName>
  11993. <VarName>LiftingArm\Body_Lift3\R[2,2]</VarName>
  11994. <VarName>LiftingArm\Body_Lift3\R[3,2]</VarName>
  11995. <VarName>LiftingArm\Body_Lift4\dimension[1]</VarName>
  11996. <VarName>LiftingArm\Body_Lift4\dimension[2]</VarName>
  11997. <VarName>LiftingArm\Body_Lift4\dimension[3]</VarName>
  11998. <VarName>LiftingArm\Body_Lift4\position[1]</VarName>
  11999. <VarName>LiftingArm\Body_Lift4\position[2]</VarName>
  12000. <VarName>LiftingArm\Body_Lift4\position[3]</VarName>
  12001. <VarName>LiftingArm\Body_Lift4\R[1,3]</VarName>
  12002. <VarName>LiftingArm\Body_Lift4\R[2,3]</VarName>
  12003. <VarName>LiftingArm\Body_Lift4\R[3,3]</VarName>
  12004. <VarName>LiftingArm\Body_Lift4\R[1,2]</VarName>
  12005. <VarName>LiftingArm\Body_Lift4\R[2,2]</VarName>
  12006. <VarName>LiftingArm\Body_Lift4\R[3,2]</VarName>
  12007. <VarName>stepper_control\setpoint</VarName>
  12008. <VarName>Joint_dynA\stepper_model\angle</VarName>
  12009. <VarName>stepper_control1\setpoint</VarName>
  12010. <VarName>Joint_dynC\angle</VarName>
  12011. <VarName>Body_Lift2\position[2]</VarName>
  12012. <VarName>Body_Lift2\position[3]</VarName>
  12013. <VarName>Joint_dynA\stepper_model\p.T</VarName>
  12014. <VarName>Joint_dynC\stepper_model\p.T</VarName>
  12015. </VarNames>
  12016. <Plots>
  12017. <Plot>
  12018. <PlotType>GraphPlot</PlotType>
  12019. <BasePlot>
  12020. <PlotId>1</PlotId>
  12021. <UseWindowsBGColor>false</UseWindowsBGColor>
  12022. <BGColor>16777215</BGColor>
  12023. <PlotIsVisible>true</PlotIsVisible>
  12024. </BasePlot>
  12025. <Grid>
  12026. <DrawGrid>true</DrawGrid>
  12027. <GridColor>15780518</GridColor>
  12028. <GridBorderLineColor>12624260</GridBorderLineColor>
  12029. <GridZeroLineColor>0</GridZeroLineColor>
  12030. <XTicks>10</XTicks>
  12031. <YTicks>10</YTicks>
  12032. <ZTicks>10</ZTicks>
  12033. <Use3DLook>false</Use3DLook>
  12034. </Grid>
  12035. <PlotBGColor>16777215</PlotBGColor>
  12036. <ShowPlotTitle>true</ShowPlotTitle>
  12037. <TitlePosition>1</TitlePosition>
  12038. <PlotTitle>Stepper Motor A</PlotTitle>
  12039. <ShowXValues>true</ShowXValues>
  12040. <Fonts>
  12041. <TitleFont>
  12042. <Name>Arial</Name>
  12043. <Height>12</Height>
  12044. <PitchFamily>34</PitchFamily>
  12045. <Weight>400</Weight>
  12046. <Italic>0</Italic>
  12047. <UnderLine>0</UnderLine>
  12048. <StrikeOut>0</StrikeOut>
  12049. <Color>0</Color>
  12050. </TitleFont>
  12051. <LabelFont>
  12052. <Name>Arial</Name>
  12053. <Height>12</Height>
  12054. <PitchFamily>34</PitchFamily>
  12055. <Weight>400</Weight>
  12056. <Italic>0</Italic>
  12057. <UnderLine>0</UnderLine>
  12058. <StrikeOut>0</StrikeOut>
  12059. <Color>0</Color>
  12060. </LabelFont>
  12061. <ValuesFont>
  12062. <Name>Arial</Name>
  12063. <Height>10</Height>
  12064. <PitchFamily>34</PitchFamily>
  12065. <Weight>400</Weight>
  12066. <Italic>0</Italic>
  12067. <UnderLine>0</UnderLine>
  12068. <StrikeOut>0</StrikeOut>
  12069. <Color>0</Color>
  12070. </ValuesFont>
  12071. <LegendFont>
  12072. <Name>Arial</Name>
  12073. <Height>12</Height>
  12074. <PitchFamily>34</PitchFamily>
  12075. <Weight>400</Weight>
  12076. <Italic>0</Italic>
  12077. <UnderLine>0</UnderLine>
  12078. <StrikeOut>0</StrikeOut>
  12079. <Color>0</Color>
  12080. </LegendFont>
  12081. </Fonts>
  12082. <SharedXAxis>true</SharedXAxis>
  12083. <SharedYAxis>true</SharedYAxis>
  12084. <SharedZAxis>false</SharedZAxis>
  12085. <XAxes>
  12086. <Axis>
  12087. <Minimum>0.0</Minimum>
  12088. <Maximum>17.641751363645234</Maximum>
  12089. <Linear>true</Linear>
  12090. <Scaling>3</Scaling>
  12091. <Label>time</Label>
  12092. </Axis>
  12093. </XAxes>
  12094. <YAxes>
  12095. <Axis>
  12096. <Minimum>0.6000000000000002</Minimum>
  12097. <Maximum>2.6000000000000005</Maximum>
  12098. <Linear>true</Linear>
  12099. <Scaling>2</Scaling>
  12100. <Label>Control Setpoint</Label>
  12101. </Axis>
  12102. <Axis>
  12103. <Minimum>-2.6</Minimum>
  12104. <Maximum>-0.6</Maximum>
  12105. <Linear>true</Linear>
  12106. <Scaling>2</Scaling>
  12107. <Label>Control Output</Label>
  12108. </Axis>
  12109. <Axis>
  12110. <Minimum>-2.6</Minimum>
  12111. <Maximum>-0.6</Maximum>
  12112. <Linear>true</Linear>
  12113. <Scaling>2</Scaling>
  12114. <Label>Axle Angle</Label>
  12115. </Axis>
  12116. </YAxes>
  12117. <ZAxes>
  12118. </ZAxes>
  12119. <Curves>
  12120. <Curve>
  12121. <LineColor>3355111</LineColor>
  12122. <LineStyle>1</LineStyle>
  12123. <TickColor>3355111</TickColor>
  12124. <TickStyle>0</TickStyle>
  12125. <CurveVisible>true</CurveVisible>
  12126. <PixelThresshold>1</PixelThresshold>
  12127. <LineThickness>1</LineThickness>
  12128. <LineOrder>1</LineOrder>
  12129. <ShowYValues>true</ShowYValues>
  12130. <XCurveData>
  12131. <ShowUnit>true</ShowUnit>
  12132. <VarName>time</VarName>
  12133. </XCurveData>
  12134. <YCurveData>
  12135. <ShowUnit>true</ShowUnit>
  12136. <VarName>stepper_control\setpoint</VarName>
  12137. </YCurveData>
  12138. </Curve>
  12139. <Curve>
  12140. <LineColor>6076255</LineColor>
  12141. <LineStyle>1</LineStyle>
  12142. <TickColor>6076255</TickColor>
  12143. <TickStyle>0</TickStyle>
  12144. <CurveVisible>true</CurveVisible>
  12145. <PixelThresshold>1</PixelThresshold>
  12146. <LineThickness>1</LineThickness>
  12147. <LineOrder>1</LineOrder>
  12148. <ShowYValues>true</ShowYValues>
  12149. <XCurveData>
  12150. <ShowUnit>true</ShowUnit>
  12151. <VarName>time</VarName>
  12152. </XCurveData>
  12153. <YCurveData>
  12154. <ShowUnit>true</ShowUnit>
  12155. <VarName>Joint_dynA\stepper_model\angle</VarName>
  12156. </YCurveData>
  12157. </Curve>
  12158. <Curve>
  12159. <LineColor>12553035</LineColor>
  12160. <LineStyle>1</LineStyle>
  12161. <TickColor>12553035</TickColor>
  12162. <TickStyle>0</TickStyle>
  12163. <CurveVisible>true</CurveVisible>
  12164. <PixelThresshold>1</PixelThresshold>
  12165. <LineThickness>1</LineThickness>
  12166. <LineOrder>1</LineOrder>
  12167. <ShowYValues>true</ShowYValues>
  12168. <XCurveData>
  12169. <ShowUnit>true</ShowUnit>
  12170. <VarName>time</VarName>
  12171. </XCurveData>
  12172. <YCurveData>
  12173. <ShowUnit>true</ShowUnit>
  12174. <VarName>Joint_dynA\stepper_model\RotorAngle\angle</VarName>
  12175. </YCurveData>
  12176. </Curve>
  12177. </Curves>
  12178. <Legenda>
  12179. <ShowLegenda>true</ShowLegenda>
  12180. <Position>
  12181. <X>0.12119013062409288</X>
  12182. <Y>0.8741610738255033</Y>
  12183. </Position>
  12184. <BorderPenColor>0</BorderPenColor>
  12185. <BackgroundColor>16777215</BackgroundColor>
  12186. </Legenda>
  12187. </Plot>
  12188. <Plot>
  12189. <PlotType>D3DPlot</PlotType>
  12190. <BasePlot>
  12191. <PlotId>2</PlotId>
  12192. <UseWindowsBGColor>false</UseWindowsBGColor>
  12193. <BGColor>16777215</BGColor>
  12194. <PlotIsVisible>true</PlotIsVisible>
  12195. </BasePlot>
  12196. <PlotTitle>3D Animation</PlotTitle>
  12197. <RenderQuality>137</RenderQuality>
  12198. <ShowGrid>true</ShowGrid>
  12199. <ShowFPS>false</ShowFPS>
  12200. <BackgroundColor>4294967295</BackgroundColor>
  12201. <SceneBackgroundImage>Gradients\BlueWhite.png</SceneBackgroundImage>
  12202. <ApplyTextureBackground>true</ApplyTextureBackground>
  12203. <FrameScale>1.0</FrameScale>
  12204. <FrameThickness>1.0</FrameThickness>
  12205. <MainFrame>
  12206. <Frame>
  12207. <ScaleValue>
  12208. <X>
  12209. <Value>1</Value>
  12210. </X>
  12211. <Y>
  12212. <Value>1</Value>
  12213. </Y>
  12214. <Z>
  12215. <Value>1</Value>
  12216. </Z>
  12217. </ScaleValue>
  12218. <ShowReferenceFrame>true</ShowReferenceFrame>
  12219. <Name>Reference Frame</Name>
  12220. <Position>
  12221. </Position>
  12222. <Orientation>
  12223. <Angles>
  12224. </Angles>
  12225. <OrientationType>Bryant</OrientationType>
  12226. </Orientation>
  12227. <LockX>false</LockX>
  12228. <LockY>false</LockY>
  12229. <LockZ>false</LockZ>
  12230. <LockXPitch>false</LockXPitch>
  12231. <LockYYaw>false</LockYYaw>
  12232. <LockZRoll>false</LockZRoll>
  12233. <Childs>
  12234. <Frame>
  12235. <ScaleValue>
  12236. <X>
  12237. <Value>1</Value>
  12238. </X>
  12239. <Y>
  12240. <Value>1</Value>
  12241. </Y>
  12242. <Z>
  12243. <Value>1</Value>
  12244. </Z>
  12245. </ScaleValue>
  12246. <ShowReferenceFrame>false</ShowReferenceFrame>
  12247. <Name>Default Lights and Cameras</Name>
  12248. <Position>
  12249. </Position>
  12250. <Orientation>
  12251. <Angles>
  12252. </Angles>
  12253. <OrientationType>Bryant</OrientationType>
  12254. </Orientation>
  12255. <LockX>false</LockX>
  12256. <LockY>false</LockY>
  12257. <LockZ>false</LockZ>
  12258. <LockXPitch>false</LockXPitch>
  12259. <LockYYaw>false</LockYYaw>
  12260. <LockZRoll>false</LockZRoll>
  12261. <Childs>
  12262. <Light>
  12263. <ShowReferenceFrame>false</ShowReferenceFrame>
  12264. <Name>Ambient</Name>
  12265. <Position>
  12266. </Position>
  12267. <Orientation>
  12268. <ZAxis>
  12269. <Z>
  12270. <Value>1</Value>
  12271. </Z>
  12272. </ZAxis>
  12273. <YAxis>
  12274. <Y>
  12275. <Value>1</Value>
  12276. </Y>
  12277. </YAxis>
  12278. <OrientationType>Direct3D</OrientationType>
  12279. </Orientation>
  12280. <LockX>false</LockX>
  12281. <LockY>false</LockY>
  12282. <LockZ>false</LockZ>
  12283. <LockXPitch>false</LockXPitch>
  12284. <LockYYaw>false</LockYYaw>
  12285. <LockZRoll>false</LockZRoll>
  12286. <Childs>
  12287. </Childs>
  12288. <LightType>0</LightType>
  12289. <LightColor>
  12290. <Color>
  12291. <X>
  12292. <Value>0.3</Value>
  12293. </X>
  12294. <Y>
  12295. <Value>0.3</Value>
  12296. </Y>
  12297. <Z>
  12298. <Value>0.3</Value>
  12299. </Z>
  12300. </Color>
  12301. <Offset>
  12302. </Offset>
  12303. <Multipliers>
  12304. <X>
  12305. <Value>1</Value>
  12306. </X>
  12307. <Y>
  12308. <Value>1</Value>
  12309. </Y>
  12310. <Z>
  12311. <Value>1</Value>
  12312. </Z>
  12313. </Multipliers>
  12314. <Direct3DColorRange>true</Direct3DColorRange>
  12315. </LightColor>
  12316. <AmbientLight>
  12317. <Color>
  12318. <X>
  12319. <Value>0.3</Value>
  12320. </X>
  12321. <Y>
  12322. <Value>0.3</Value>
  12323. </Y>
  12324. <Z>
  12325. <Value>0.3</Value>
  12326. </Z>
  12327. </Color>
  12328. <Offset>
  12329. </Offset>
  12330. <Multipliers>
  12331. <X>
  12332. <Value>1</Value>
  12333. </X>
  12334. <Y>
  12335. <Value>1</Value>
  12336. </Y>
  12337. <Z>
  12338. <Value>1</Value>
  12339. </Z>
  12340. </Multipliers>
  12341. <Direct3DColorRange>true</Direct3DColorRange>
  12342. </AmbientLight>
  12343. <AmbientOn>true</AmbientOn>
  12344. <DiffuseOn>false</DiffuseOn>
  12345. <SpecularOn>false</SpecularOn>
  12346. </Light>
  12347. <Light>
  12348. <ShowReferenceFrame>false</ShowReferenceFrame>
  12349. <Name>Parallel</Name>
  12350. <Position>
  12351. <X>
  12352. <Value>-3</Value>
  12353. </X>
  12354. <Y>
  12355. <Value>5</Value>
  12356. </Y>
  12357. <Z>
  12358. <Value>3</Value>
  12359. </Z>
  12360. </Position>
  12361. <Orientation>
  12362. <ZAxis>
  12363. <X>
  12364. <Value>0.457495710997814</Value>
  12365. </X>
  12366. <Y>
  12367. <Value>-0.762492851663023</Value>
  12368. </Y>
  12369. <Z>
  12370. <Value>-0.457495710997814</Value>
  12371. </Z>
  12372. </ZAxis>
  12373. <YAxis>
  12374. <X>
  12375. <Value>0.235379601434674</Value>
  12376. </X>
  12377. <Y>
  12378. <Value>-0.392299335724456</Value>
  12379. </Y>
  12380. <Z>
  12381. <Value>0.889211827642101</Value>
  12382. </Z>
  12383. </YAxis>
  12384. <OrientationType>Direct3D</OrientationType>
  12385. </Orientation>
  12386. <LockX>false</LockX>
  12387. <LockY>false</LockY>
  12388. <LockZ>false</LockZ>
  12389. <LockXPitch>false</LockXPitch>
  12390. <LockYYaw>false</LockYYaw>
  12391. <LockZRoll>false</LockZRoll>
  12392. <Childs>
  12393. </Childs>
  12394. <LightType>3</LightType>
  12395. <LightColor>
  12396. <Color>
  12397. <X>
  12398. <Value>0.5</Value>
  12399. </X>
  12400. <Y>
  12401. <Value>0.5</Value>
  12402. </Y>
  12403. <Z>
  12404. <Value>0.5</Value>
  12405. </Z>
  12406. </Color>
  12407. <Offset>
  12408. </Offset>
  12409. <Multipliers>
  12410. <X>
  12411. <Value>1</Value>
  12412. </X>
  12413. <Y>
  12414. <Value>1</Value>
  12415. </Y>
  12416. <Z>
  12417. <Value>1</Value>
  12418. </Z>
  12419. </Multipliers>
  12420. <Direct3DColorRange>true</Direct3DColorRange>
  12421. </LightColor>
  12422. <Attenuation>
  12423. <Constant>
  12424. <Value>1.0</Value>
  12425. </Constant>
  12426. <Linear>
  12427. <Value>0.0</Value>
  12428. </Linear>
  12429. <Quadratic>
  12430. <Value>0.0</Value>
  12431. </Quadratic>
  12432. </Attenuation>
  12433. <DiffuseLight>
  12434. <Color>
  12435. <X>
  12436. <Value>0.5</Value>
  12437. </X>
  12438. <Y>
  12439. <Value>0.5</Value>
  12440. </Y>
  12441. <Z>
  12442. <Value>0.5</Value>
  12443. </Z>
  12444. </Color>
  12445. <Offset>
  12446. </Offset>
  12447. <Multipliers>
  12448. <X>
  12449. <Value>1</Value>
  12450. </X>
  12451. <Y>
  12452. <Value>1</Value>
  12453. </Y>
  12454. <Z>
  12455. <Value>1</Value>
  12456. </Z>
  12457. </Multipliers>
  12458. <Direct3DColorRange>true</Direct3DColorRange>
  12459. </DiffuseLight>
  12460. <SpecularLight>
  12461. <Color>
  12462. <X>
  12463. <Value>0.5</Value>
  12464. </X>
  12465. <Y>
  12466. <Value>0.5</Value>
  12467. </Y>
  12468. <Z>
  12469. <Value>0.5</Value>
  12470. </Z>
  12471. </Color>
  12472. <Offset>
  12473. </Offset>
  12474. <Multipliers>
  12475. <X>
  12476. <Value>1</Value>
  12477. </X>
  12478. <Y>
  12479. <Value>1</Value>
  12480. </Y>
  12481. <Z>
  12482. <Value>1</Value>
  12483. </Z>
  12484. </Multipliers>
  12485. <Direct3DColorRange>true</Direct3DColorRange>
  12486. </SpecularLight>
  12487. <AmbientOn>false</AmbientOn>
  12488. <DiffuseOn>true</DiffuseOn>
  12489. <SpecularOn>true</SpecularOn>
  12490. </Light>
  12491. <Light>
  12492. <ShowReferenceFrame>false</ShowReferenceFrame>
  12493. <Name>Spot Light 1</Name>
  12494. <Position>
  12495. <X>
  12496. <Value>-3</Value>
  12497. </X>
  12498. <Y>
  12499. <Value>-5</Value>
  12500. </Y>
  12501. <Z>
  12502. <Value>1</Value>
  12503. </Z>
  12504. </Position>
  12505. <Orientation>
  12506. <ZAxis>
  12507. <X>
  12508. <Value>0.50709255283711</Value>
  12509. </X>
  12510. <Y>
  12511. <Value>0.845154254728517</Value>
  12512. </Y>
  12513. <Z>
  12514. <Value>-0.169030850945703</Value>
  12515. </Z>
  12516. </ZAxis>
  12517. <YAxis>
  12518. <X>
  12519. <Value>0.0869656553478673</Value>
  12520. </X>
  12521. <Y>
  12522. <Value>0.144942758913112</Value>
  12523. </Y>
  12524. <Z>
  12525. <Value>0.985610760609162</Value>
  12526. </Z>
  12527. </YAxis>
  12528. <OrientationType>Direct3D</OrientationType>
  12529. </Orientation>
  12530. <LockX>false</LockX>
  12531. <LockY>false</LockY>
  12532. <LockZ>false</LockZ>
  12533. <LockXPitch>false</LockXPitch>
  12534. <LockYYaw>false</LockYYaw>
  12535. <LockZRoll>false</LockZRoll>
  12536. <Childs>
  12537. </Childs>
  12538. <LightType>2</LightType>
  12539. <LightColor>
  12540. <Color>
  12541. <X>
  12542. <Value>0.5</Value>
  12543. </X>
  12544. <Y>
  12545. <Value>0.5</Value>
  12546. </Y>
  12547. <Z>
  12548. <Value>0.5</Value>
  12549. </Z>
  12550. </Color>
  12551. <Offset>
  12552. </Offset>
  12553. <Multipliers>
  12554. <X>
  12555. <Value>1</Value>
  12556. </X>
  12557. <Y>
  12558. <Value>1</Value>
  12559. </Y>
  12560. <Z>
  12561. <Value>1</Value>
  12562. </Z>
  12563. </Multipliers>
  12564. <Direct3DColorRange>true</Direct3DColorRange>
  12565. </LightColor>
  12566. <Attenuation>
  12567. <Constant>
  12568. <Value>1.0</Value>
  12569. </Constant>
  12570. <Linear>
  12571. <Value>0.05</Value>
  12572. </Linear>
  12573. <Quadratic>
  12574. <Value>0.05</Value>
  12575. </Quadratic>
  12576. </Attenuation>
  12577. <Umbra>
  12578. <Value>1.0471975511965976</Value>
  12579. </Umbra>
  12580. <Penumbra>
  12581. <Value>1.0471975511965976</Value>
  12582. </Penumbra>
  12583. <SpotExponent>0.0</SpotExponent>
  12584. <DiffuseLight>
  12585. <Color>
  12586. <X>
  12587. <Value>0.5</Value>
  12588. </X>
  12589. <Y>
  12590. <Value>0.5</Value>
  12591. </Y>
  12592. <Z>
  12593. <Value>0.5</Value>
  12594. </Z>
  12595. </Color>
  12596. <Offset>
  12597. </Offset>
  12598. <Multipliers>
  12599. <X>
  12600. <Value>1</Value>
  12601. </X>
  12602. <Y>
  12603. <Value>1</Value>
  12604. </Y>
  12605. <Z>
  12606. <Value>1</Value>
  12607. </Z>
  12608. </Multipliers>
  12609. <Direct3DColorRange>true</Direct3DColorRange>
  12610. </DiffuseLight>
  12611. <SpecularLight>
  12612. <Color>
  12613. <X>
  12614. <Value>0.5</Value>
  12615. </X>
  12616. <Y>
  12617. <Value>0.5</Value>
  12618. </Y>
  12619. <Z>
  12620. <Value>0.5</Value>
  12621. </Z>
  12622. </Color>
  12623. <Offset>
  12624. </Offset>
  12625. <Multipliers>
  12626. <X>
  12627. <Value>1</Value>
  12628. </X>
  12629. <Y>
  12630. <Value>1</Value>
  12631. </Y>
  12632. <Z>
  12633. <Value>1</Value>
  12634. </Z>
  12635. </Multipliers>
  12636. <Direct3DColorRange>true</Direct3DColorRange>
  12637. </SpecularLight>
  12638. <AmbientOn>false</AmbientOn>
  12639. <DiffuseOn>true</DiffuseOn>
  12640. <SpecularOn>true</SpecularOn>
  12641. </Light>
  12642. <Light>
  12643. <ShowReferenceFrame>false</ShowReferenceFrame>
  12644. <Name>Spot Light 2</Name>
  12645. <Position>
  12646. <X>
  12647. <Value>2</Value>
  12648. </X>
  12649. <Y>
  12650. <Value>-3</Value>
  12651. </Y>
  12652. <Z>
  12653. <Value>-1</Value>
  12654. </Z>
  12655. </Position>
  12656. <Orientation>
  12657. <ZAxis>
  12658. <X>
  12659. <Value>-0.534522483824849</Value>
  12660. </X>
  12661. <Y>
  12662. <Value>0.801783725737273</Value>
  12663. </Y>
  12664. <Z>
  12665. <Value>0.267261241912424</Value>
  12666. </Z>
  12667. </ZAxis>
  12668. <YAxis>
  12669. <X>
  12670. <Value>0.14824986333222</Value>
  12671. </X>
  12672. <Y>
  12673. <Value>-0.22237479499833</Value>
  12674. </Y>
  12675. <Z>
  12676. <Value>0.963624111659432</Value>
  12677. </Z>
  12678. </YAxis>
  12679. <OrientationType>Direct3D</OrientationType>
  12680. </Orientation>
  12681. <LockX>false</LockX>
  12682. <LockY>false</LockY>
  12683. <LockZ>false</LockZ>
  12684. <LockXPitch>false</LockXPitch>
  12685. <LockYYaw>false</LockYYaw>
  12686. <LockZRoll>false</LockZRoll>
  12687. <Childs>
  12688. </Childs>
  12689. <LightType>2</LightType>
  12690. <LightColor>
  12691. <Color>
  12692. <X>
  12693. <Value>1</Value>
  12694. </X>
  12695. <Y>
  12696. <Value>1</Value>
  12697. </Y>
  12698. <Z>
  12699. <Value>1</Value>
  12700. </Z>
  12701. </Color>
  12702. <Offset>
  12703. </Offset>
  12704. <Multipliers>
  12705. <X>
  12706. <Value>1</Value>
  12707. </X>
  12708. <Y>
  12709. <Value>1</Value>
  12710. </Y>
  12711. <Z>
  12712. <Value>1</Value>
  12713. </Z>
  12714. </Multipliers>
  12715. <Direct3DColorRange>true</Direct3DColorRange>
  12716. </LightColor>
  12717. <Attenuation>
  12718. <Constant>
  12719. <Value>1.0</Value>
  12720. </Constant>
  12721. <Linear>
  12722. <Value>0.05</Value>
  12723. </Linear>
  12724. <Quadratic>
  12725. <Value>0.05</Value>
  12726. </Quadratic>
  12727. </Attenuation>
  12728. <Umbra>
  12729. <Value>1.5707963267948966</Value>
  12730. </Umbra>
  12731. <Penumbra>
  12732. <Value>1.5707963267948966</Value>
  12733. </Penumbra>
  12734. <SpotExponent>0.0</SpotExponent>
  12735. <DiffuseLight>
  12736. <Color>
  12737. <X>
  12738. <Value>1</Value>
  12739. </X>
  12740. <Y>
  12741. <Value>1</Value>
  12742. </Y>
  12743. <Z>
  12744. <Value>1</Value>
  12745. </Z>
  12746. </Color>
  12747. <Offset>
  12748. </Offset>
  12749. <Multipliers>
  12750. <X>
  12751. <Value>1</Value>
  12752. </X>
  12753. <Y>
  12754. <Value>1</Value>
  12755. </Y>
  12756. <Z>
  12757. <Value>1</Value>
  12758. </Z>
  12759. </Multipliers>
  12760. <Direct3DColorRange>true</Direct3DColorRange>
  12761. </DiffuseLight>
  12762. <SpecularLight>
  12763. <Color>
  12764. <X>
  12765. <Value>0.5</Value>
  12766. </X>
  12767. <Y>
  12768. <Value>0.5</Value>
  12769. </Y>
  12770. <Z>
  12771. <Value>0.5</Value>
  12772. </Z>
  12773. </Color>
  12774. <Offset>
  12775. </Offset>
  12776. <Multipliers>
  12777. <X>
  12778. <Value>1</Value>
  12779. </X>
  12780. <Y>
  12781. <Value>1</Value>
  12782. </Y>
  12783. <Z>
  12784. <Value>1</Value>
  12785. </Z>
  12786. </Multipliers>
  12787. <Direct3DColorRange>true</Direct3DColorRange>
  12788. </SpecularLight>
  12789. <AmbientOn>false</AmbientOn>
  12790. <DiffuseOn>true</DiffuseOn>
  12791. <SpecularOn>true</SpecularOn>
  12792. </Light>
  12793. <Camera>
  12794. <ShowReferenceFrame>false</ShowReferenceFrame>
  12795. <Name>Camera Looking at Origin</Name>
  12796. <Position>
  12797. <X>
  12798. <Value>0.144494930276406</Value>
  12799. </X>
  12800. <Y>
  12801. <Value>-0.16367032375516</Value>
  12802. </Y>
  12803. <Z>
  12804. <Value>0.165819959065724</Value>
  12805. </Z>
  12806. </Position>
  12807. <Orientation>
  12808. <ZAxis>
  12809. <X>
  12810. <Value>-0.574494337780199</Value>
  12811. </X>
  12812. <Y>
  12813. <Value>0.647932475925021</Value>
  12814. </Y>
  12815. <Z>
  12816. <Value>-0.500139742972065</Value>
  12817. </Z>
  12818. </ZAxis>
  12819. <YAxis>
  12820. <X>
  12821. <Value>-0.331808079368203</Value>
  12822. </X>
  12823. <Y>
  12824. <Value>0.374223410499862</Value>
  12825. </Y>
  12826. <Z>
  12827. <Value>0.865944708107762</Value>
  12828. </Z>
  12829. </YAxis>
  12830. <OrientationType>Direct3D</OrientationType>
  12831. </Orientation>
  12832. <LockX>false</LockX>
  12833. <LockY>false</LockY>
  12834. <LockZ>false</LockZ>
  12835. <LockXPitch>false</LockXPitch>
  12836. <LockYYaw>false</LockYYaw>
  12837. <LockZRoll>false</LockZRoll>
  12838. <Childs>
  12839. </Childs>
  12840. <FrontPlane>0.01</FrontPlane>
  12841. <BackPlane>100.0</BackPlane>
  12842. <AutoFrontBack>true</AutoFrontBack>
  12843. <Field>0.003926990816987242</Field>
  12844. <Fieldy>45.0</Fieldy>
  12845. <PlaneLeft>-10.0</PlaneLeft>
  12846. <PlaneRight>10.0</PlaneRight>
  12847. <PlaneTop>10.0</PlaneTop>
  12848. <PlaneBottom>-10.0</PlaneBottom>
  12849. <UseLookatPosition>true</UseLookatPosition>
  12850. <LookatPosition>
  12851. <X>
  12852. <Value>-0.000627364166602552</Value>
  12853. </X>
  12854. <Y>
  12855. <Value>3.08669776184333e-006</Value>
  12856. </Y>
  12857. <Z>
  12858. <Value>0.0394802856014185</Value>
  12859. </Z>
  12860. </LookatPosition>
  12861. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  12862. <LookUpVector>
  12863. <Z>
  12864. <Value>1</Value>
  12865. </Z>
  12866. </LookUpVector>
  12867. <RightHand>true</RightHand>
  12868. <Perspective>true</Perspective>
  12869. <IsSelectedCamera>true</IsSelectedCamera>
  12870. </Camera>
  12871. <Camera>
  12872. <ShowReferenceFrame>false</ShowReferenceFrame>
  12873. <Name>Front(XY)-Camera</Name>
  12874. <Position>
  12875. <Z>
  12876. <Value>10</Value>
  12877. </Z>
  12878. </Position>
  12879. <Orientation>
  12880. <ZAxis>
  12881. <Z>
  12882. <Value>-1</Value>
  12883. </Z>
  12884. </ZAxis>
  12885. <YAxis>
  12886. <Y>
  12887. <Value>1</Value>
  12888. </Y>
  12889. </YAxis>
  12890. <OrientationType>Direct3D</OrientationType>
  12891. </Orientation>
  12892. <LockX>false</LockX>
  12893. <LockY>false</LockY>
  12894. <LockZ>false</LockZ>
  12895. <LockXPitch>false</LockXPitch>
  12896. <LockYYaw>false</LockYYaw>
  12897. <LockZRoll>false</LockZRoll>
  12898. <Childs>
  12899. </Childs>
  12900. <FrontPlane>0.01</FrontPlane>
  12901. <BackPlane>100.0</BackPlane>
  12902. <AutoFrontBack>true</AutoFrontBack>
  12903. <Field>9.999999999999998</Field>
  12904. <Fieldy>45.0</Fieldy>
  12905. <PlaneLeft>-9.999999999999998</PlaneLeft>
  12906. <PlaneRight>9.999999999999998</PlaneRight>
  12907. <PlaneTop>9.999999999999998</PlaneTop>
  12908. <PlaneBottom>-9.999999999999998</PlaneBottom>
  12909. <UseLookatPosition>true</UseLookatPosition>
  12910. <LookatPosition>
  12911. </LookatPosition>
  12912. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  12913. <LookUpVector>
  12914. <Y>
  12915. <Value>1</Value>
  12916. </Y>
  12917. </LookUpVector>
  12918. <RightHand>true</RightHand>
  12919. <Perspective>false</Perspective>
  12920. <IsSelectedCamera>false</IsSelectedCamera>
  12921. </Camera>
  12922. <Camera>
  12923. <ShowReferenceFrame>false</ShowReferenceFrame>
  12924. <Name>Side(YZ)-Camera</Name>
  12925. <Position>
  12926. <X>
  12927. <Value>10</Value>
  12928. </X>
  12929. </Position>
  12930. <Orientation>
  12931. <ZAxis>
  12932. <X>
  12933. <Value>-1</Value>
  12934. </X>
  12935. </ZAxis>
  12936. <YAxis>
  12937. <Z>
  12938. <Value>1</Value>
  12939. </Z>
  12940. </YAxis>
  12941. <OrientationType>Direct3D</OrientationType>
  12942. </Orientation>
  12943. <LockX>false</LockX>
  12944. <LockY>false</LockY>
  12945. <LockZ>false</LockZ>
  12946. <LockXPitch>false</LockXPitch>
  12947. <LockYYaw>false</LockYYaw>
  12948. <LockZRoll>false</LockZRoll>
  12949. <Childs>
  12950. </Childs>
  12951. <FrontPlane>0.01</FrontPlane>
  12952. <BackPlane>100.0</BackPlane>
  12953. <AutoFrontBack>true</AutoFrontBack>
  12954. <Field>9.999999999999998</Field>
  12955. <Fieldy>45.0</Fieldy>
  12956. <PlaneLeft>-9.999999999999998</PlaneLeft>
  12957. <PlaneRight>9.999999999999998</PlaneRight>
  12958. <PlaneTop>9.999999999999998</PlaneTop>
  12959. <PlaneBottom>-9.999999999999998</PlaneBottom>
  12960. <UseLookatPosition>true</UseLookatPosition>
  12961. <LookatPosition>
  12962. </LookatPosition>
  12963. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  12964. <LookUpVector>
  12965. <Z>
  12966. <Value>1</Value>
  12967. </Z>
  12968. </LookUpVector>
  12969. <RightHand>true</RightHand>
  12970. <Perspective>false</Perspective>
  12971. <IsSelectedCamera>false</IsSelectedCamera>
  12972. </Camera>
  12973. <Camera>
  12974. <ShowReferenceFrame>false</ShowReferenceFrame>
  12975. <Name>Top(XZ)-Camera</Name>
  12976. <Position>
  12977. <Y>
  12978. <Value>10</Value>
  12979. </Y>
  12980. </Position>
  12981. <Orientation>
  12982. <ZAxis>
  12983. <Y>
  12984. <Value>-1</Value>
  12985. </Y>
  12986. </ZAxis>
  12987. <YAxis>
  12988. <X>
  12989. <Value>1</Value>
  12990. </X>
  12991. </YAxis>
  12992. <OrientationType>Direct3D</OrientationType>
  12993. </Orientation>
  12994. <LockX>false</LockX>
  12995. <LockY>false</LockY>
  12996. <LockZ>false</LockZ>
  12997. <LockXPitch>false</LockXPitch>
  12998. <LockYYaw>false</LockYYaw>
  12999. <LockZRoll>false</LockZRoll>
  13000. <Childs>
  13001. </Childs>
  13002. <FrontPlane>0.01</FrontPlane>
  13003. <BackPlane>100.0</BackPlane>
  13004. <AutoFrontBack>true</AutoFrontBack>
  13005. <Field>9.999999999999998</Field>
  13006. <Fieldy>45.0</Fieldy>
  13007. <PlaneLeft>-9.999999999999998</PlaneLeft>
  13008. <PlaneRight>9.999999999999998</PlaneRight>
  13009. <PlaneTop>9.999999999999998</PlaneTop>
  13010. <PlaneBottom>-9.999999999999998</PlaneBottom>
  13011. <UseLookatPosition>true</UseLookatPosition>
  13012. <LookatPosition>
  13013. </LookatPosition>
  13014. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  13015. <LookUpVector>
  13016. <X>
  13017. <Value>1</Value>
  13018. </X>
  13019. </LookUpVector>
  13020. <RightHand>true</RightHand>
  13021. <Perspective>false</Perspective>
  13022. <IsSelectedCamera>false</IsSelectedCamera>
  13023. </Camera>
  13024. </Childs>
  13025. </Frame>
  13026. <Frame>
  13027. <ScaleValue>
  13028. <X>
  13029. <Value>1</Value>
  13030. </X>
  13031. <Y>
  13032. <Value>1</Value>
  13033. </Y>
  13034. <Z>
  13035. <Value>1</Value>
  13036. </Z>
  13037. </ScaleValue>
  13038. <ShowReferenceFrame>false</ShowReferenceFrame>
  13039. <Name>Cylinder</Name>
  13040. <Position>
  13041. </Position>
  13042. <Orientation>
  13043. <Angles>
  13044. </Angles>
  13045. <OrientationType>Bryant</OrientationType>
  13046. </Orientation>
  13047. <LockX>false</LockX>
  13048. <LockY>false</LockY>
  13049. <LockZ>false</LockZ>
  13050. <LockXPitch>false</LockXPitch>
  13051. <LockYYaw>false</LockYYaw>
  13052. <LockZRoll>false</LockZRoll>
  13053. <Childs>
  13054. <Cube>
  13055. <Center>Center</Center>
  13056. <RibLength>1.0</RibLength>
  13057. <ShowInnerSide>true</ShowInnerSide>
  13058. <Accuracy>4</Accuracy>
  13059. <ScaleValue>
  13060. <X>
  13061. <VariableName>Body1\dimension[1]</VariableName>
  13062. <Value>0.0048</Value>
  13063. </X>
  13064. <Y>
  13065. <VariableName>Body1\dimension[2]</VariableName>
  13066. <Value>0.009</Value>
  13067. </Y>
  13068. <Z>
  13069. <VariableName>Body1\dimension[3]</VariableName>
  13070. <Value>0.065</Value>
  13071. </Z>
  13072. </ScaleValue>
  13073. <OverrideColor>true</OverrideColor>
  13074. <MeshColor>
  13075. <X>
  13076. <Value>0</Value>
  13077. </X>
  13078. <Y>
  13079. <Value>0.501960784313725</Value>
  13080. </Y>
  13081. <Z>
  13082. <Value>0.501960784313725</Value>
  13083. </Z>
  13084. </MeshColor>
  13085. <Alpha>1.0</Alpha>
  13086. <MeshColorMultipliers>
  13087. <X>
  13088. <Value>1</Value>
  13089. </X>
  13090. <Y>
  13091. <Value>1</Value>
  13092. </Y>
  13093. <Z>
  13094. <Value>1</Value>
  13095. </Z>
  13096. </MeshColorMultipliers>
  13097. <MeshColorOffsets>
  13098. </MeshColorOffsets>
  13099. <Direct3DColorRange>true</Direct3DColorRange>
  13100. <SpecularColor>
  13101. <X>
  13102. <Value>0.5</Value>
  13103. </X>
  13104. <Y>
  13105. <Value>0.5</Value>
  13106. </Y>
  13107. <Z>
  13108. <Value>0.5</Value>
  13109. </Z>
  13110. </SpecularColor>
  13111. <EmissiveColor>
  13112. </EmissiveColor>
  13113. <ShininessPower>
  13114. <Value>15</Value>
  13115. </ShininessPower>
  13116. <OverrideQuality>false</OverrideQuality>
  13117. <ShowReferenceFrame>false</ShowReferenceFrame>
  13118. <Name>Block</Name>
  13119. <Position>
  13120. <X>
  13121. <VariableName>Body1\position[1]</VariableName>
  13122. <Value>-2.1842289058019197e-7</Value>
  13123. </X>
  13124. <Y>
  13125. <VariableName>Body1\position[2]</VariableName>
  13126. <Value>0.015840355657380765</Value>
  13127. </Y>
  13128. <Z>
  13129. <VariableName>Body1\position[3]</VariableName>
  13130. <Value>0.029380449362273412</Value>
  13131. </Z>
  13132. </Position>
  13133. <Orientation>
  13134. <ZAxis>
  13135. <X>
  13136. <VariableName>Body1\R[1,3]</VariableName>
  13137. <Value>-6.850425895176294e-6</Value>
  13138. </X>
  13139. <Y>
  13140. <VariableName>Body1\R[2,3]</VariableName>
  13141. <Value>0.5871777540389943</Value>
  13142. </Y>
  13143. <Z>
  13144. <VariableName>Body1\R[3,3]</VariableName>
  13145. <Value>0.8094580193652998</Value>
  13146. </Z>
  13147. </ZAxis>
  13148. <YAxis>
  13149. <X>
  13150. <VariableName>Body1\R[1,2]</VariableName>
  13151. <Value>7.434260214968079e-7</Value>
  13152. </X>
  13153. <Y>
  13154. <VariableName>Body1\R[2,2]</VariableName>
  13155. <Value>0.8094580193870597</Value>
  13156. </Y>
  13157. <Z>
  13158. <VariableName>Body1\R[3,2]</VariableName>
  13159. <Value>-0.5871777540484873</Value>
  13160. </Z>
  13161. </YAxis>
  13162. <OrientationType>Matrix</OrientationType>
  13163. </Orientation>
  13164. <LockX>false</LockX>
  13165. <LockY>false</LockY>
  13166. <LockZ>false</LockZ>
  13167. <LockXPitch>false</LockXPitch>
  13168. <LockYYaw>false</LockYYaw>
  13169. <LockZRoll>false</LockZRoll>
  13170. <Childs>
  13171. </Childs>
  13172. </Cube>
  13173. <Cube>
  13174. <Center>Center</Center>
  13175. <RibLength>1.0</RibLength>
  13176. <ShowInnerSide>true</ShowInnerSide>
  13177. <Accuracy>4</Accuracy>
  13178. <ScaleValue>
  13179. <X>
  13180. <VariableName>Body2\dimension[1]</VariableName>
  13181. <Value>0.005</Value>
  13182. </X>
  13183. <Y>
  13184. <VariableName>Body2\dimension[2]</VariableName>
  13185. <Value>0.025</Value>
  13186. </Y>
  13187. <Z>
  13188. <VariableName>Body2\dimension[3]</VariableName>
  13189. <Value>0.01</Value>
  13190. </Z>
  13191. </ScaleValue>
  13192. <OverrideColor>true</OverrideColor>
  13193. <MeshColor>
  13194. <X>
  13195. <Value>1</Value>
  13196. </X>
  13197. <Y>
  13198. <Value>0.501960784313725</Value>
  13199. </Y>
  13200. <Z>
  13201. <Value>0</Value>
  13202. </Z>
  13203. </MeshColor>
  13204. <Alpha>1.0</Alpha>
  13205. <MeshColorMultipliers>
  13206. <X>
  13207. <Value>1</Value>
  13208. </X>
  13209. <Y>
  13210. <Value>1</Value>
  13211. </Y>
  13212. <Z>
  13213. <Value>1</Value>
  13214. </Z>
  13215. </MeshColorMultipliers>
  13216. <MeshColorOffsets>
  13217. </MeshColorOffsets>
  13218. <Direct3DColorRange>true</Direct3DColorRange>
  13219. <SpecularColor>
  13220. <X>
  13221. <Value>0.5</Value>
  13222. </X>
  13223. <Y>
  13224. <Value>0.5</Value>
  13225. </Y>
  13226. <Z>
  13227. <Value>0.5</Value>
  13228. </Z>
  13229. </SpecularColor>
  13230. <EmissiveColor>
  13231. </EmissiveColor>
  13232. <ShininessPower>
  13233. <Value>15</Value>
  13234. </ShininessPower>
  13235. <OverrideQuality>false</OverrideQuality>
  13236. <ShowReferenceFrame>false</ShowReferenceFrame>
  13237. <Name>Block</Name>
  13238. <Position>
  13239. <X>
  13240. <VariableName>Body2\position[1]</VariableName>
  13241. <Value>1.0777759396163201e-7</Value>
  13242. </X>
  13243. <Y>
  13244. <VariableName>Body2\position[2]</VariableName>
  13245. <Value>-0.009660323640814466</Value>
  13246. </Y>
  13247. <Z>
  13248. <VariableName>Body2\position[3]</VariableName>
  13249. <Value>-0.007864631962265943</Value>
  13250. </Z>
  13251. </Position>
  13252. <Orientation>
  13253. <ZAxis>
  13254. <X>
  13255. <VariableName>Body2\R[1,3]</VariableName>
  13256. <Value>-3.214012075936454e-6</Value>
  13257. </X>
  13258. <Y>
  13259. <VariableName>Body2\R[2,3]</VariableName>
  13260. <Value>-0.6319089858363088</Value>
  13261. </Y>
  13262. <Z>
  13263. <VariableName>Body2\R[3,3]</VariableName>
  13264. <Value>0.7750426011575092</Value>
  13265. </Z>
  13266. </ZAxis>
  13267. <YAxis>
  13268. <X>
  13269. <VariableName>Body2\R[1,2]</VariableName>
  13270. <Value>-6.6483879653314135e-6</Value>
  13271. </X>
  13272. <Y>
  13273. <VariableName>Body2\R[2,2]</VariableName>
  13274. <Value>0.7750426011578859</Value>
  13275. </Y>
  13276. <Z>
  13277. <VariableName>Body2\R[3,2]</VariableName>
  13278. <Value>0.631908985809046</Value>
  13279. </Z>
  13280. </YAxis>
  13281. <OrientationType>Matrix</OrientationType>
  13282. </Orientation>
  13283. <LockX>false</LockX>
  13284. <LockY>false</LockY>
  13285. <LockZ>false</LockZ>
  13286. <LockXPitch>false</LockXPitch>
  13287. <LockYYaw>false</LockYYaw>
  13288. <LockZRoll>false</LockZRoll>
  13289. <Childs>
  13290. </Childs>
  13291. </Cube>
  13292. <Cube>
  13293. <Center>Center</Center>
  13294. <RibLength>1.0</RibLength>
  13295. <ShowInnerSide>true</ShowInnerSide>
  13296. <Accuracy>4</Accuracy>
  13297. <ScaleValue>
  13298. <X>
  13299. <VariableName>Body3\dimension[1]</VariableName>
  13300. <Value>0.0045</Value>
  13301. </X>
  13302. <Y>
  13303. <VariableName>Body3\dimension[2]</VariableName>
  13304. <Value>0.01</Value>
  13305. </Y>
  13306. <Z>
  13307. <VariableName>Body3\dimension[3]</VariableName>
  13308. <Value>0.065</Value>
  13309. </Z>
  13310. </ScaleValue>
  13311. <OverrideColor>true</OverrideColor>
  13312. <MeshColor>
  13313. <X>
  13314. <Value>0.501960784313725</Value>
  13315. </X>
  13316. <Y>
  13317. <Value>0.501960784313725</Value>
  13318. </Y>
  13319. <Z>
  13320. <Value>1</Value>
  13321. </Z>
  13322. </MeshColor>
  13323. <Alpha>1.0</Alpha>
  13324. <MeshColorMultipliers>
  13325. <X>
  13326. <Value>1</Value>
  13327. </X>
  13328. <Y>
  13329. <Value>1</Value>
  13330. </Y>
  13331. <Z>
  13332. <Value>1</Value>
  13333. </Z>
  13334. </MeshColorMultipliers>
  13335. <MeshColorOffsets>
  13336. </MeshColorOffsets>
  13337. <Direct3DColorRange>true</Direct3DColorRange>
  13338. <SpecularColor>
  13339. <X>
  13340. <Value>0.5</Value>
  13341. </X>
  13342. <Y>
  13343. <Value>0.5</Value>
  13344. </Y>
  13345. <Z>
  13346. <Value>0.5</Value>
  13347. </Z>
  13348. </SpecularColor>
  13349. <EmissiveColor>
  13350. </EmissiveColor>
  13351. <ShininessPower>
  13352. <Value>15</Value>
  13353. </ShininessPower>
  13354. <OverrideQuality>false</OverrideQuality>
  13355. <ShowReferenceFrame>false</ShowReferenceFrame>
  13356. <Name>Block</Name>
  13357. <Position>
  13358. <X>
  13359. <VariableName>Body3\position[1]</VariableName>
  13360. <Value>-6.692317187352706e-9</Value>
  13361. </X>
  13362. <Y>
  13363. <VariableName>Body3\position[2]</VariableName>
  13364. <Value>-9.271524762268744e-4</Value>
  13365. </Y>
  13366. <Z>
  13367. <VariableName>Body3\position[3]</VariableName>
  13368. <Value>0.010912823003701597</Value>
  13369. </Z>
  13370. </Position>
  13371. <Orientation>
  13372. <ZAxis>
  13373. <X>
  13374. <VariableName>Body3\R[1,3]</VariableName>
  13375. <Value>-6.861783032899875e-6</Value>
  13376. </X>
  13377. <Y>
  13378. <VariableName>Body3\R[2,3]</VariableName>
  13379. <Value>0.5688421031724941</Value>
  13380. </Y>
  13381. <Z>
  13382. <VariableName>Body3\R[3,3]</VariableName>
  13383. <Value>0.8224467530553025</Value>
  13384. </Z>
  13385. </ZAxis>
  13386. <YAxis>
  13387. <X>
  13388. <VariableName>Body3\R[1,2]</VariableName>
  13389. <Value>1.135164957808117e-6</Value>
  13390. </X>
  13391. <Y>
  13392. <VariableName>Body3\R[2,2]</VariableName>
  13393. <Value>0.8224467530785655</Value>
  13394. </Y>
  13395. <Z>
  13396. <VariableName>Body3\R[3,2]</VariableName>
  13397. <Value>-0.568842103179113</Value>
  13398. </Z>
  13399. </YAxis>
  13400. <OrientationType>Matrix</OrientationType>
  13401. </Orientation>
  13402. <LockX>false</LockX>
  13403. <LockY>false</LockY>
  13404. <LockZ>false</LockZ>
  13405. <LockXPitch>false</LockXPitch>
  13406. <LockYYaw>false</LockYYaw>
  13407. <LockZRoll>false</LockZRoll>
  13408. <Childs>
  13409. </Childs>
  13410. </Cube>
  13411. <Cube>
  13412. <Center>Center</Center>
  13413. <RibLength>1.0</RibLength>
  13414. <ShowInnerSide>true</ShowInnerSide>
  13415. <Accuracy>4</Accuracy>
  13416. <ScaleValue>
  13417. <X>
  13418. <VariableName>Body4\dimension[1]</VariableName>
  13419. <Value>0.005</Value>
  13420. </X>
  13421. <Y>
  13422. <VariableName>Body4\dimension[2]</VariableName>
  13423. <Value>0.05</Value>
  13424. </Y>
  13425. <Z>
  13426. <VariableName>Body4\dimension[3]</VariableName>
  13427. <Value>0.01</Value>
  13428. </Z>
  13429. </ScaleValue>
  13430. <OverrideColor>true</OverrideColor>
  13431. <MeshColor>
  13432. <X>
  13433. <Value>0.501960784313725</Value>
  13434. </X>
  13435. <Y>
  13436. <Value>0</Value>
  13437. </Y>
  13438. <Z>
  13439. <Value>0</Value>
  13440. </Z>
  13441. </MeshColor>
  13442. <Alpha>1.0</Alpha>
  13443. <MeshColorMultipliers>
  13444. <X>
  13445. <Value>1</Value>
  13446. </X>
  13447. <Y>
  13448. <Value>1</Value>
  13449. </Y>
  13450. <Z>
  13451. <Value>1</Value>
  13452. </Z>
  13453. </MeshColorMultipliers>
  13454. <MeshColorOffsets>
  13455. </MeshColorOffsets>
  13456. <Direct3DColorRange>true</Direct3DColorRange>
  13457. <SpecularColor>
  13458. <X>
  13459. <Value>0.5</Value>
  13460. </X>
  13461. <Y>
  13462. <Value>0.5</Value>
  13463. </Y>
  13464. <Z>
  13465. <Value>0.5</Value>
  13466. </Z>
  13467. </SpecularColor>
  13468. <EmissiveColor>
  13469. </EmissiveColor>
  13470. <ShininessPower>
  13471. <Value>15</Value>
  13472. </ShininessPower>
  13473. <OverrideQuality>false</OverrideQuality>
  13474. <ShowReferenceFrame>false</ShowReferenceFrame>
  13475. <Name>Block</Name>
  13476. <Position>
  13477. <X>
  13478. <VariableName>Body4\position[1]</VariableName>
  13479. <Value>-4.336569241139506e-7</Value>
  13480. </X>
  13481. <Y>
  13482. <VariableName>Body4\position[2]</VariableName>
  13483. <Value>0.034816284358052924</Value>
  13484. </Y>
  13485. <Z>
  13486. <VariableName>Body4\position[3]</VariableName>
  13487. <Value>0.05544654051093069</Value>
  13488. </Z>
  13489. </Position>
  13490. <Orientation>
  13491. <ZAxis>
  13492. <X>
  13493. <VariableName>Body4\R[1,3]</VariableName>
  13494. <Value>7.660983997214484e-7</Value>
  13495. </X>
  13496. <Y>
  13497. <VariableName>Body4\R[2,3]</VariableName>
  13498. <Value>-0.7184279975751117</Value>
  13499. </Y>
  13500. <Z>
  13501. <VariableName>Body4\R[3,3]</VariableName>
  13502. <Value>0.6956013314389418</Value>
  13503. </Z>
  13504. </ZAxis>
  13505. <YAxis>
  13506. <X>
  13507. <VariableName>Body4\R[1,2]</VariableName>
  13508. <Value>-9.221922498965795e-6</Value>
  13509. </X>
  13510. <Y>
  13511. <VariableName>Body4\R[2,2]</VariableName>
  13512. <Value>0.695601331404492</Value>
  13513. </Y>
  13514. <Z>
  13515. <VariableName>Body4\R[3,2]</VariableName>
  13516. <Value>0.7184279975496879</Value>
  13517. </Z>
  13518. </YAxis>
  13519. <OrientationType>Matrix</OrientationType>
  13520. </Orientation>
  13521. <LockX>false</LockX>
  13522. <LockY>false</LockY>
  13523. <LockZ>false</LockZ>
  13524. <LockXPitch>false</LockXPitch>
  13525. <LockYYaw>false</LockYYaw>
  13526. <LockZRoll>false</LockZRoll>
  13527. <Childs>
  13528. </Childs>
  13529. </Cube>
  13530. <Cube>
  13531. <Center>Center</Center>
  13532. <RibLength>1.0</RibLength>
  13533. <ShowInnerSide>true</ShowInnerSide>
  13534. <Accuracy>4</Accuracy>
  13535. <ScaleValue>
  13536. <X>
  13537. <VariableName>Body5\dimension[1]</VariableName>
  13538. <Value>0.005</Value>
  13539. </X>
  13540. <Y>
  13541. <VariableName>Body5\dimension[2]</VariableName>
  13542. <Value>0.025</Value>
  13543. </Y>
  13544. <Z>
  13545. <VariableName>Body5\dimension[3]</VariableName>
  13546. <Value>0.01</Value>
  13547. </Z>
  13548. </ScaleValue>
  13549. <OverrideColor>true</OverrideColor>
  13550. <MeshColor>
  13551. <X>
  13552. <Value>0.501960784313725</Value>
  13553. </X>
  13554. <Y>
  13555. <Value>0</Value>
  13556. </Y>
  13557. <Z>
  13558. <Value>0</Value>
  13559. </Z>
  13560. </MeshColor>
  13561. <Alpha>1.0</Alpha>
  13562. <MeshColorMultipliers>
  13563. <X>
  13564. <Value>1</Value>
  13565. </X>
  13566. <Y>
  13567. <Value>1</Value>
  13568. </Y>
  13569. <Z>
  13570. <Value>1</Value>
  13571. </Z>
  13572. </MeshColorMultipliers>
  13573. <MeshColorOffsets>
  13574. </MeshColorOffsets>
  13575. <Direct3DColorRange>true</Direct3DColorRange>
  13576. <SpecularColor>
  13577. <X>
  13578. <Value>0.5</Value>
  13579. </X>
  13580. <Y>
  13581. <Value>0.5</Value>
  13582. </Y>
  13583. <Z>
  13584. <Value>0.5</Value>
  13585. </Z>
  13586. </SpecularColor>
  13587. <EmissiveColor>
  13588. </EmissiveColor>
  13589. <ShininessPower>
  13590. <Value>15</Value>
  13591. </ShininessPower>
  13592. <OverrideQuality>false</OverrideQuality>
  13593. <ShowReferenceFrame>false</ShowReferenceFrame>
  13594. <Name>Block</Name>
  13595. <Position>
  13596. <X>
  13597. <VariableName>Body5\position[1]</VariableName>
  13598. <Value>7.520860330604783e-4</Value>
  13599. </X>
  13600. <Y>
  13601. <VariableName>Body5\position[2]</VariableName>
  13602. <Value>0.06082379340134874</Value>
  13603. </Y>
  13604. <Z>
  13605. <VariableName>Body5\position[3]</VariableName>
  13606. <Value>0.08216055305480323</Value>
  13607. </Z>
  13608. </Position>
  13609. <Orientation>
  13610. <ZAxis>
  13611. <X>
  13612. <VariableName>Body5\R[1,3]</VariableName>
  13613. <Value>8.290876761564355e-7</Value>
  13614. </X>
  13615. <Y>
  13616. <VariableName>Body5\R[2,3]</VariableName>
  13617. <Value>-0.7184280341474859</Value>
  13618. </Y>
  13619. <Z>
  13620. <VariableName>Body5\R[3,3]</VariableName>
  13621. <Value>0.6956012936663442</Value>
  13622. </Z>
  13623. </ZAxis>
  13624. <YAxis>
  13625. <X>
  13626. <VariableName>Body5\R[1,2]</VariableName>
  13627. <Value>0.0605296964229612</Value>
  13628. </X>
  13629. <Y>
  13630. <VariableName>Body5\R[2,2]</VariableName>
  13631. <Value>0.6943258730148419</Value>
  13632. </Y>
  13633. <Z>
  13634. <VariableName>Body5\R[3,2]</VariableName>
  13635. <Value>0.7171106873510685</Value>
  13636. </Z>
  13637. </YAxis>
  13638. <OrientationType>Matrix</OrientationType>
  13639. </Orientation>
  13640. <LockX>false</LockX>
  13641. <LockY>false</LockY>
  13642. <LockZ>false</LockZ>
  13643. <LockXPitch>false</LockXPitch>
  13644. <LockYYaw>false</LockYYaw>
  13645. <LockZRoll>false</LockZRoll>
  13646. <Childs>
  13647. </Childs>
  13648. </Cube>
  13649. <Frame>
  13650. <ScaleValue>
  13651. <X>
  13652. <Value>1</Value>
  13653. </X>
  13654. <Y>
  13655. <Value>1</Value>
  13656. </Y>
  13657. <Z>
  13658. <Value>1</Value>
  13659. </Z>
  13660. </ScaleValue>
  13661. <ShowReferenceFrame>false</ShowReferenceFrame>
  13662. <Name>Reference Frame</Name>
  13663. <Position>
  13664. <X>
  13665. <VariableName>Body6\position[1]</VariableName>
  13666. <Value>0.0015045370330949836</Value>
  13667. </X>
  13668. <Y>
  13669. <VariableName>Body6\position[2]</VariableName>
  13670. <Value>0.06945503109745695</Value>
  13671. </Y>
  13672. <Z>
  13673. <VariableName>Body6\position[3]</VariableName>
  13674. <Value>0.0910750311658822</Value>
  13675. </Z>
  13676. </Position>
  13677. <Orientation>
  13678. <ZAxis>
  13679. <X>
  13680. <VariableName>Body6\R[1,3]</VariableName>
  13681. <Value>8.290876761564355e-7</Value>
  13682. </X>
  13683. <Y>
  13684. <VariableName>Body6\R[2,3]</VariableName>
  13685. <Value>-0.7184280341474859</Value>
  13686. </Y>
  13687. <Z>
  13688. <VariableName>Body6\R[3,3]</VariableName>
  13689. <Value>0.6956012936663442</Value>
  13690. </Z>
  13691. </ZAxis>
  13692. <YAxis>
  13693. <X>
  13694. <VariableName>Body6\R[1,2]</VariableName>
  13695. <Value>0.0605296964229612</Value>
  13696. </X>
  13697. <Y>
  13698. <VariableName>Body6\R[2,2]</VariableName>
  13699. <Value>0.6943258730148419</Value>
  13700. </Y>
  13701. <Z>
  13702. <VariableName>Body6\R[3,2]</VariableName>
  13703. <Value>0.7171106873510685</Value>
  13704. </Z>
  13705. </YAxis>
  13706. <OrientationType>Matrix</OrientationType>
  13707. </Orientation>
  13708. <LockX>false</LockX>
  13709. <LockY>false</LockY>
  13710. <LockZ>false</LockZ>
  13711. <LockXPitch>false</LockXPitch>
  13712. <LockYYaw>false</LockYYaw>
  13713. <LockZRoll>false</LockZRoll>
  13714. <Childs>
  13715. <Frame>
  13716. <ScaleValue>
  13717. <X>
  13718. <Value>1</Value>
  13719. </X>
  13720. <Y>
  13721. <Value>1</Value>
  13722. </Y>
  13723. <Z>
  13724. <Value>1</Value>
  13725. </Z>
  13726. </ScaleValue>
  13727. <ShowReferenceFrame>false</ShowReferenceFrame>
  13728. <Name>Reference Frame</Name>
  13729. <Position>
  13730. </Position>
  13731. <Orientation>
  13732. <Angles>
  13733. <Y>
  13734. <Value>1.5707963267949</Value>
  13735. </Y>
  13736. </Angles>
  13737. <OrientationType>Bryant</OrientationType>
  13738. </Orientation>
  13739. <LockX>false</LockX>
  13740. <LockY>false</LockY>
  13741. <LockZ>false</LockZ>
  13742. <LockXPitch>false</LockXPitch>
  13743. <LockYYaw>false</LockYYaw>
  13744. <LockZRoll>false</LockZRoll>
  13745. <Childs>
  13746. <Cylinder>
  13747. <CircleElements>16</CircleElements>
  13748. <LowerRadius>0.0073</LowerRadius>
  13749. <UpperRadius>0.0073</UpperRadius>
  13750. <Height>0.1</Height>
  13751. <Closed>true</Closed>
  13752. <LowerClosed>true</LowerClosed>
  13753. <UpperClosed>true</UpperClosed>
  13754. <CenterInOrigin>true</CenterInOrigin>
  13755. <ShowInnerSide>false</ShowInnerSide>
  13756. <ShowOuterSide>true</ShowOuterSide>
  13757. <ScaleValue>
  13758. <X>
  13759. <Value>1</Value>
  13760. </X>
  13761. <Y>
  13762. <Value>1</Value>
  13763. </Y>
  13764. <Z>
  13765. <Value>1</Value>
  13766. </Z>
  13767. </ScaleValue>
  13768. <OverrideColor>true</OverrideColor>
  13769. <MeshColor>
  13770. <X>
  13771. <Value>0.752941176470588</Value>
  13772. </X>
  13773. <Y>
  13774. <Value>0.752941176470588</Value>
  13775. </Y>
  13776. <Z>
  13777. <Value>0.752941176470588</Value>
  13778. </Z>
  13779. </MeshColor>
  13780. <Alpha>1.0</Alpha>
  13781. <MeshColorMultipliers>
  13782. <X>
  13783. <Value>1</Value>
  13784. </X>
  13785. <Y>
  13786. <Value>1</Value>
  13787. </Y>
  13788. <Z>
  13789. <Value>1</Value>
  13790. </Z>
  13791. </MeshColorMultipliers>
  13792. <MeshColorOffsets>
  13793. </MeshColorOffsets>
  13794. <Direct3DColorRange>true</Direct3DColorRange>
  13795. <SpecularColor>
  13796. <X>
  13797. <Value>0.5</Value>
  13798. </X>
  13799. <Y>
  13800. <Value>0.5</Value>
  13801. </Y>
  13802. <Z>
  13803. <Value>0.5</Value>
  13804. </Z>
  13805. </SpecularColor>
  13806. <EmissiveColor>
  13807. </EmissiveColor>
  13808. <ShininessPower>
  13809. <Value>15</Value>
  13810. </ShininessPower>
  13811. <OverrideQuality>false</OverrideQuality>
  13812. <ShowReferenceFrame>false</ShowReferenceFrame>
  13813. <Name>Cylinder</Name>
  13814. <Position>
  13815. <Z>
  13816. <Value>0.015</Value>
  13817. </Z>
  13818. </Position>
  13819. <Orientation>
  13820. <Angles>
  13821. </Angles>
  13822. <OrientationType>Bryant</OrientationType>
  13823. </Orientation>
  13824. <LockX>false</LockX>
  13825. <LockY>false</LockY>
  13826. <LockZ>false</LockZ>
  13827. <LockXPitch>false</LockXPitch>
  13828. <LockYYaw>false</LockYYaw>
  13829. <LockZRoll>false</LockZRoll>
  13830. <Childs>
  13831. </Childs>
  13832. </Cylinder>
  13833. <Cylinder>
  13834. <CircleElements>16</CircleElements>
  13835. <LowerRadius>0.007</LowerRadius>
  13836. <UpperRadius>0.007</UpperRadius>
  13837. <Height>0.11</Height>
  13838. <Closed>true</Closed>
  13839. <LowerClosed>true</LowerClosed>
  13840. <UpperClosed>true</UpperClosed>
  13841. <CenterInOrigin>true</CenterInOrigin>
  13842. <ShowInnerSide>false</ShowInnerSide>
  13843. <ShowOuterSide>true</ShowOuterSide>
  13844. <ScaleValue>
  13845. <X>
  13846. <Value>1</Value>
  13847. </X>
  13848. <Y>
  13849. <Value>1</Value>
  13850. </Y>
  13851. <Z>
  13852. <Value>1</Value>
  13853. </Z>
  13854. </ScaleValue>
  13855. <OverrideColor>true</OverrideColor>
  13856. <MeshColor>
  13857. <X>
  13858. <Value>0</Value>
  13859. </X>
  13860. <Y>
  13861. <Value>0</Value>
  13862. </Y>
  13863. <Z>
  13864. <Value>0.627450980392157</Value>
  13865. </Z>
  13866. </MeshColor>
  13867. <Alpha>1.0</Alpha>
  13868. <MeshColorMultipliers>
  13869. <X>
  13870. <Value>1</Value>
  13871. </X>
  13872. <Y>
  13873. <Value>1</Value>
  13874. </Y>
  13875. <Z>
  13876. <Value>1</Value>
  13877. </Z>
  13878. </MeshColorMultipliers>
  13879. <MeshColorOffsets>
  13880. </MeshColorOffsets>
  13881. <Direct3DColorRange>true</Direct3DColorRange>
  13882. <SpecularColor>
  13883. <X>
  13884. <Value>0.5</Value>
  13885. </X>
  13886. <Y>
  13887. <Value>0.5</Value>
  13888. </Y>
  13889. <Z>
  13890. <Value>0.5</Value>
  13891. </Z>
  13892. </SpecularColor>
  13893. <EmissiveColor>
  13894. </EmissiveColor>
  13895. <ShininessPower>
  13896. <Value>15</Value>
  13897. </ShininessPower>
  13898. <OverrideQuality>false</OverrideQuality>
  13899. <ShowReferenceFrame>false</ShowReferenceFrame>
  13900. <Name>Reference Frame</Name>
  13901. <Position>
  13902. <Z>
  13903. <Value>0.013</Value>
  13904. </Z>
  13905. </Position>
  13906. <Orientation>
  13907. <Angles>
  13908. </Angles>
  13909. <OrientationType>Bryant</OrientationType>
  13910. </Orientation>
  13911. <LockX>false</LockX>
  13912. <LockY>false</LockY>
  13913. <LockZ>false</LockZ>
  13914. <LockXPitch>false</LockXPitch>
  13915. <LockYYaw>false</LockYYaw>
  13916. <LockZRoll>false</LockZRoll>
  13917. <Childs>
  13918. </Childs>
  13919. </Cylinder>
  13920. <Cylinder>
  13921. <CircleElements>16</CircleElements>
  13922. <LowerRadius>0.001</LowerRadius>
  13923. <UpperRadius>0.007</UpperRadius>
  13924. <Height>0.02</Height>
  13925. <Closed>true</Closed>
  13926. <LowerClosed>true</LowerClosed>
  13927. <UpperClosed>true</UpperClosed>
  13928. <CenterInOrigin>true</CenterInOrigin>
  13929. <ShowInnerSide>false</ShowInnerSide>
  13930. <ShowOuterSide>true</ShowOuterSide>
  13931. <ScaleValue>
  13932. <X>
  13933. <Value>1</Value>
  13934. </X>
  13935. <Y>
  13936. <Value>1</Value>
  13937. </Y>
  13938. <Z>
  13939. <Value>1</Value>
  13940. </Z>
  13941. </ScaleValue>
  13942. <OverrideColor>true</OverrideColor>
  13943. <MeshColor>
  13944. <X>
  13945. <Value>0</Value>
  13946. </X>
  13947. <Y>
  13948. <Value>0</Value>
  13949. </Y>
  13950. <Z>
  13951. <Value>1</Value>
  13952. </Z>
  13953. </MeshColor>
  13954. <Alpha>1.0</Alpha>
  13955. <MeshColorMultipliers>
  13956. <X>
  13957. <Value>1</Value>
  13958. </X>
  13959. <Y>
  13960. <Value>1</Value>
  13961. </Y>
  13962. <Z>
  13963. <Value>1</Value>
  13964. </Z>
  13965. </MeshColorMultipliers>
  13966. <MeshColorOffsets>
  13967. </MeshColorOffsets>
  13968. <Direct3DColorRange>true</Direct3DColorRange>
  13969. <SpecularColor>
  13970. <X>
  13971. <Value>0.5</Value>
  13972. </X>
  13973. <Y>
  13974. <Value>0.5</Value>
  13975. </Y>
  13976. <Z>
  13977. <Value>0.5</Value>
  13978. </Z>
  13979. </SpecularColor>
  13980. <EmissiveColor>
  13981. </EmissiveColor>
  13982. <ShininessPower>
  13983. <Value>15</Value>
  13984. </ShininessPower>
  13985. <OverrideQuality>false</OverrideQuality>
  13986. <ShowReferenceFrame>false</ShowReferenceFrame>
  13987. <Name>Cylinder</Name>
  13988. <Position>
  13989. <Z>
  13990. <Value>-0.05</Value>
  13991. </Z>
  13992. </Position>
  13993. <Orientation>
  13994. <Angles>
  13995. </Angles>
  13996. <OrientationType>Bryant</OrientationType>
  13997. </Orientation>
  13998. <LockX>false</LockX>
  13999. <LockY>false</LockY>
  14000. <LockZ>false</LockZ>
  14001. <LockXPitch>false</LockXPitch>
  14002. <LockYYaw>false</LockYYaw>
  14003. <LockZRoll>false</LockZRoll>
  14004. <Childs>
  14005. </Childs>
  14006. </Cylinder>
  14007. </Childs>
  14008. </Frame>
  14009. </Childs>
  14010. </Frame>
  14011. <Cube>
  14012. <Center>Center</Center>
  14013. <RibLength>1.0</RibLength>
  14014. <ShowInnerSide>true</ShowInnerSide>
  14015. <Accuracy>4</Accuracy>
  14016. <ScaleValue>
  14017. <X>
  14018. <VariableName>LiftingArm\Body_Lift2\dimension[1]</VariableName>
  14019. <Value>0.01</Value>
  14020. </X>
  14021. <Y>
  14022. <VariableName>LiftingArm\Body_Lift2\dimension[2]</VariableName>
  14023. <Value>0.003</Value>
  14024. </Y>
  14025. <Z>
  14026. <VariableName>LiftingArm\Body_Lift2\dimension[3]</VariableName>
  14027. <Value>0.002</Value>
  14028. </Z>
  14029. </ScaleValue>
  14030. <OverrideColor>true</OverrideColor>
  14031. <MeshColor>
  14032. <X>
  14033. <Value>1</Value>
  14034. </X>
  14035. <Y>
  14036. <Value>1</Value>
  14037. </Y>
  14038. <Z>
  14039. <Value>1</Value>
  14040. </Z>
  14041. </MeshColor>
  14042. <Alpha>1.0</Alpha>
  14043. <MeshColorMultipliers>
  14044. <X>
  14045. <Value>1</Value>
  14046. </X>
  14047. <Y>
  14048. <Value>1</Value>
  14049. </Y>
  14050. <Z>
  14051. <Value>1</Value>
  14052. </Z>
  14053. </MeshColorMultipliers>
  14054. <MeshColorOffsets>
  14055. </MeshColorOffsets>
  14056. <Direct3DColorRange>true</Direct3DColorRange>
  14057. <SpecularColor>
  14058. <X>
  14059. <Value>0.5</Value>
  14060. </X>
  14061. <Y>
  14062. <Value>0.5</Value>
  14063. </Y>
  14064. <Z>
  14065. <Value>0.5</Value>
  14066. </Z>
  14067. </SpecularColor>
  14068. <EmissiveColor>
  14069. </EmissiveColor>
  14070. <ShininessPower>
  14071. <Value>15</Value>
  14072. </ShininessPower>
  14073. <OverrideQuality>false</OverrideQuality>
  14074. <ShowReferenceFrame>false</ShowReferenceFrame>
  14075. <Name>Block</Name>
  14076. <Position>
  14077. <X>
  14078. <VariableName>LiftingArm\Body_Lift2\position[1]</VariableName>
  14079. <Value>0.010766949228224007</Value>
  14080. </X>
  14081. <Y>
  14082. <VariableName>LiftingArm\Body_Lift2\position[2]</VariableName>
  14083. <Value>0.04274079922313772</Value>
  14084. </Y>
  14085. <Z>
  14086. <VariableName>LiftingArm\Body_Lift2\position[3]</VariableName>
  14087. <Value>0.06387488576858491</Value>
  14088. </Z>
  14089. </Position>
  14090. <Orientation>
  14091. <ZAxis>
  14092. <X>
  14093. <VariableName>LiftingArm\Body_Lift2\R[1,3]</VariableName>
  14094. <Value>3.495345900239307e-7</Value>
  14095. </X>
  14096. <Y>
  14097. <VariableName>LiftingArm\Body_Lift2\R[2,3]</VariableName>
  14098. <Value>-0.7184232033740139</Value>
  14099. </Y>
  14100. <Z>
  14101. <VariableName>LiftingArm\Body_Lift2\R[3,3]</VariableName>
  14102. <Value>0.6956062829314426</Value>
  14103. </Z>
  14104. </ZAxis>
  14105. <YAxis>
  14106. <X>
  14107. <VariableName>LiftingArm\Body_Lift2\R[1,2]</VariableName>
  14108. <Value>0.16844891169312998</Value>
  14109. </X>
  14110. <Y>
  14111. <VariableName>LiftingArm\Body_Lift2\R[2,2]</VariableName>
  14112. <Value>0.6856663796280392</Value>
  14113. </Y>
  14114. <Z>
  14115. <VariableName>LiftingArm\Body_Lift2\R[3,2]</VariableName>
  14116. <Value>0.708157171817936</Value>
  14117. </Z>
  14118. </YAxis>
  14119. <OrientationType>Matrix</OrientationType>
  14120. </Orientation>
  14121. <LockX>false</LockX>
  14122. <LockY>false</LockY>
  14123. <LockZ>false</LockZ>
  14124. <LockXPitch>false</LockXPitch>
  14125. <LockYYaw>false</LockYYaw>
  14126. <LockZRoll>false</LockZRoll>
  14127. <Childs>
  14128. </Childs>
  14129. </Cube>
  14130. <Cube>
  14131. <Center>Center</Center>
  14132. <RibLength>1.0</RibLength>
  14133. <ShowInnerSide>true</ShowInnerSide>
  14134. <Accuracy>4</Accuracy>
  14135. <ScaleValue>
  14136. <X>
  14137. <VariableName>LiftingArm\Body_Lift3\dimension[1]</VariableName>
  14138. <Value>0.003</Value>
  14139. </X>
  14140. <Y>
  14141. <VariableName>LiftingArm\Body_Lift3\dimension[2]</VariableName>
  14142. <Value>0.025</Value>
  14143. </Y>
  14144. <Z>
  14145. <VariableName>LiftingArm\Body_Lift3\dimension[3]</VariableName>
  14146. <Value>0.001</Value>
  14147. </Z>
  14148. </ScaleValue>
  14149. <OverrideColor>true</OverrideColor>
  14150. <MeshColor>
  14151. <X>
  14152. <Value>1</Value>
  14153. </X>
  14154. <Y>
  14155. <Value>1</Value>
  14156. </Y>
  14157. <Z>
  14158. <Value>1</Value>
  14159. </Z>
  14160. </MeshColor>
  14161. <Alpha>1.0</Alpha>
  14162. <MeshColorMultipliers>
  14163. <X>
  14164. <Value>1</Value>
  14165. </X>
  14166. <Y>
  14167. <Value>1</Value>
  14168. </Y>
  14169. <Z>
  14170. <Value>1</Value>
  14171. </Z>
  14172. </MeshColorMultipliers>
  14173. <MeshColorOffsets>
  14174. </MeshColorOffsets>
  14175. <Direct3DColorRange>true</Direct3DColorRange>
  14176. <SpecularColor>
  14177. <X>
  14178. <Value>0.5</Value>
  14179. </X>
  14180. <Y>
  14181. <Value>0.5</Value>
  14182. </Y>
  14183. <Z>
  14184. <Value>0.5</Value>
  14185. </Z>
  14186. </SpecularColor>
  14187. <EmissiveColor>
  14188. </EmissiveColor>
  14189. <ShininessPower>
  14190. <Value>15</Value>
  14191. </ShininessPower>
  14192. <OverrideQuality>false</OverrideQuality>
  14193. <ShowReferenceFrame>false</ShowReferenceFrame>
  14194. <Name>Block</Name>
  14195. <Position>
  14196. <X>
  14197. <VariableName>LiftingArm\Body_Lift3\position[1]</VariableName>
  14198. <Value>0.016117999410126673</Value>
  14199. </X>
  14200. <Y>
  14201. <VariableName>LiftingArm\Body_Lift3\position[2]</VariableName>
  14202. <Value>0.05065901420629866</Value>
  14203. </Y>
  14204. <Z>
  14205. <VariableName>LiftingArm\Body_Lift3\position[3]</VariableName>
  14206. <Value>0.0722974979075188</Value>
  14207. </Z>
  14208. </Position>
  14209. <Orientation>
  14210. <ZAxis>
  14211. <X>
  14212. <VariableName>LiftingArm\Body_Lift3\R[1,3]</VariableName>
  14213. <Value>8.977844069799541e-7</Value>
  14214. </X>
  14215. <Y>
  14216. <VariableName>LiftingArm\Body_Lift3\R[2,3]</VariableName>
  14217. <Value>-0.7184185304092274</Value>
  14218. </Y>
  14219. <Z>
  14220. <VariableName>LiftingArm\Body_Lift3\R[3,3]</VariableName>
  14221. <Value>0.6956111091434926</Value>
  14222. </Z>
  14223. </ZAxis>
  14224. <YAxis>
  14225. <X>
  14226. <VariableName>LiftingArm\Body_Lift3\R[1,2]</VariableName>
  14227. <Value>0.036207434688140326</Value>
  14228. </X>
  14229. <Y>
  14230. <VariableName>LiftingArm\Body_Lift3\R[2,2]</VariableName>
  14231. <Value>0.6951550174148017</Value>
  14232. </Y>
  14233. <Z>
  14234. <VariableName>LiftingArm\Body_Lift3\R[3,2]</VariableName>
  14235. <Value>0.7179474377949481</Value>
  14236. </Z>
  14237. </YAxis>
  14238. <OrientationType>Matrix</OrientationType>
  14239. </Orientation>
  14240. <LockX>false</LockX>
  14241. <LockY>false</LockY>
  14242. <LockZ>false</LockZ>
  14243. <LockXPitch>false</LockXPitch>
  14244. <LockYYaw>false</LockYYaw>
  14245. <LockZRoll>false</LockZRoll>
  14246. <Childs>
  14247. </Childs>
  14248. </Cube>
  14249. <Cube>
  14250. <Center>Center</Center>
  14251. <RibLength>1.0</RibLength>
  14252. <ShowInnerSide>true</ShowInnerSide>
  14253. <Accuracy>4</Accuracy>
  14254. <ScaleValue>
  14255. <X>
  14256. <VariableName>LiftingArm\Body_Lift4\dimension[1]</VariableName>
  14257. <Value>0.0159</Value>
  14258. </X>
  14259. <Y>
  14260. <VariableName>LiftingArm\Body_Lift4\dimension[2]</VariableName>
  14261. <Value>0.003</Value>
  14262. </Y>
  14263. <Z>
  14264. <VariableName>LiftingArm\Body_Lift4\dimension[3]</VariableName>
  14265. <Value>0.002</Value>
  14266. </Z>
  14267. </ScaleValue>
  14268. <OverrideColor>true</OverrideColor>
  14269. <MeshColor>
  14270. <X>
  14271. <Value>1</Value>
  14272. </X>
  14273. <Y>
  14274. <Value>1</Value>
  14275. </Y>
  14276. <Z>
  14277. <Value>1</Value>
  14278. </Z>
  14279. </MeshColor>
  14280. <Alpha>1.0</Alpha>
  14281. <MeshColorMultipliers>
  14282. <X>
  14283. <Value>1</Value>
  14284. </X>
  14285. <Y>
  14286. <Value>1</Value>
  14287. </Y>
  14288. <Z>
  14289. <Value>1</Value>
  14290. </Z>
  14291. </MeshColorMultipliers>
  14292. <MeshColorOffsets>
  14293. </MeshColorOffsets>
  14294. <Direct3DColorRange>true</Direct3DColorRange>
  14295. <SpecularColor>
  14296. <X>
  14297. <Value>0.5</Value>
  14298. </X>
  14299. <Y>
  14300. <Value>0.5</Value>
  14301. </Y>
  14302. <Z>
  14303. <Value>0.5</Value>
  14304. </Z>
  14305. </SpecularColor>
  14306. <EmissiveColor>
  14307. </EmissiveColor>
  14308. <ShininessPower>
  14309. <Value>15</Value>
  14310. </ShininessPower>
  14311. <OverrideQuality>false</OverrideQuality>
  14312. <ShowReferenceFrame>false</ShowReferenceFrame>
  14313. <Name>Block</Name>
  14314. <Position>
  14315. <X>
  14316. <VariableName>LiftingArm\Body_Lift4\position[1]</VariableName>
  14317. <Value>0.008675736059349695</Value>
  14318. </X>
  14319. <Y>
  14320. <VariableName>LiftingArm\Body_Lift4\position[2]</VariableName>
  14321. <Value>0.0594920761737879</Value>
  14322. </Y>
  14323. <Z>
  14324. <VariableName>LiftingArm\Body_Lift4\position[3]</VariableName>
  14325. <Value>0.08166625242071981</Value>
  14326. </Z>
  14327. </Position>
  14328. <Orientation>
  14329. <ZAxis>
  14330. <X>
  14331. <VariableName>LiftingArm\Body_Lift4\R[1,3]</VariableName>
  14332. <Value>1.5867030881723527e-6</Value>
  14333. </X>
  14334. <Y>
  14335. <VariableName>LiftingArm\Body_Lift4\R[2,3]</VariableName>
  14336. <Value>-0.7184107972199947</Value>
  14337. </Y>
  14338. <Z>
  14339. <VariableName>LiftingArm\Body_Lift4\R[3,3]</VariableName>
  14340. <Value>0.6956190957954029</Value>
  14341. </Z>
  14342. </ZAxis>
  14343. <YAxis>
  14344. <X>
  14345. <VariableName>LiftingArm\Body_Lift4\R[1,2]</VariableName>
  14346. <Value>0.06052954540305655</Value>
  14347. </X>
  14348. <Y>
  14349. <VariableName>LiftingArm\Body_Lift4\R[2,2]</VariableName>
  14350. <Value>0.6943436818169639</Value>
  14351. </Y>
  14352. <Z>
  14353. <VariableName>LiftingArm\Body_Lift4\R[3,2]</VariableName>
  14354. <Value>0.7170934567085117</Value>
  14355. </Z>
  14356. </YAxis>
  14357. <OrientationType>Matrix</OrientationType>
  14358. </Orientation>
  14359. <LockX>false</LockX>
  14360. <LockY>false</LockY>
  14361. <LockZ>false</LockZ>
  14362. <LockXPitch>false</LockXPitch>
  14363. <LockYYaw>false</LockYYaw>
  14364. <LockZRoll>false</LockZRoll>
  14365. <Childs>
  14366. </Childs>
  14367. </Cube>
  14368. </Childs>
  14369. </Frame>
  14370. </Childs>
  14371. </Frame>
  14372. </MainFrame>
  14373. </Plot>
  14374. <Plot>
  14375. <PlotType>GraphPlot</PlotType>
  14376. <BasePlot>
  14377. <PlotId>3</PlotId>
  14378. <UseWindowsBGColor>false</UseWindowsBGColor>
  14379. <BGColor>16777215</BGColor>
  14380. <PlotIsVisible>true</PlotIsVisible>
  14381. </BasePlot>
  14382. <Grid>
  14383. <DrawGrid>true</DrawGrid>
  14384. <GridColor>15780518</GridColor>
  14385. <GridBorderLineColor>12624260</GridBorderLineColor>
  14386. <GridZeroLineColor>0</GridZeroLineColor>
  14387. <XTicks>10</XTicks>
  14388. <YTicks>10</YTicks>
  14389. <ZTicks>10</ZTicks>
  14390. <Use3DLook>false</Use3DLook>
  14391. </Grid>
  14392. <PlotBGColor>16777215</PlotBGColor>
  14393. <ShowPlotTitle>true</ShowPlotTitle>
  14394. <TitlePosition>1</TitlePosition>
  14395. <PlotTitle>Stepper Motor D</PlotTitle>
  14396. <ShowXValues>true</ShowXValues>
  14397. <Fonts>
  14398. <TitleFont>
  14399. <Name>Arial</Name>
  14400. <Height>12</Height>
  14401. <PitchFamily>34</PitchFamily>
  14402. <Weight>400</Weight>
  14403. <Italic>0</Italic>
  14404. <UnderLine>0</UnderLine>
  14405. <StrikeOut>0</StrikeOut>
  14406. <Color>0</Color>
  14407. </TitleFont>
  14408. <LabelFont>
  14409. <Name>Arial</Name>
  14410. <Height>12</Height>
  14411. <PitchFamily>34</PitchFamily>
  14412. <Weight>400</Weight>
  14413. <Italic>0</Italic>
  14414. <UnderLine>0</UnderLine>
  14415. <StrikeOut>0</StrikeOut>
  14416. <Color>0</Color>
  14417. </LabelFont>
  14418. <ValuesFont>
  14419. <Name>Arial</Name>
  14420. <Height>10</Height>
  14421. <PitchFamily>34</PitchFamily>
  14422. <Weight>400</Weight>
  14423. <Italic>0</Italic>
  14424. <UnderLine>0</UnderLine>
  14425. <StrikeOut>0</StrikeOut>
  14426. <Color>0</Color>
  14427. </ValuesFont>
  14428. <LegendFont>
  14429. <Name>Arial</Name>
  14430. <Height>12</Height>
  14431. <PitchFamily>34</PitchFamily>
  14432. <Weight>400</Weight>
  14433. <Italic>0</Italic>
  14434. <UnderLine>0</UnderLine>
  14435. <StrikeOut>0</StrikeOut>
  14436. <Color>0</Color>
  14437. </LegendFont>
  14438. </Fonts>
  14439. <SharedXAxis>true</SharedXAxis>
  14440. <SharedYAxis>true</SharedYAxis>
  14441. <SharedZAxis>false</SharedZAxis>
  14442. <XAxes>
  14443. <Axis>
  14444. <Minimum>0.0</Minimum>
  14445. <Maximum>17.641751363645234</Maximum>
  14446. <Linear>true</Linear>
  14447. <Scaling>3</Scaling>
  14448. <Label>time</Label>
  14449. </Axis>
  14450. </XAxes>
  14451. <YAxes>
  14452. <Axis>
  14453. <Minimum>-1.0</Minimum>
  14454. <Maximum>1.0</Maximum>
  14455. <Linear>true</Linear>
  14456. <Scaling>2</Scaling>
  14457. <Label>Control Setpoint</Label>
  14458. </Axis>
  14459. <Axis>
  14460. <Minimum>-1.0</Minimum>
  14461. <Maximum>1.0</Maximum>
  14462. <Linear>true</Linear>
  14463. <Scaling>2</Scaling>
  14464. <Label>Control Output</Label>
  14465. </Axis>
  14466. <Axis>
  14467. <Minimum>-1.0</Minimum>
  14468. <Maximum>1.0</Maximum>
  14469. <Linear>true</Linear>
  14470. <Scaling>2</Scaling>
  14471. <Label>Axle Angle</Label>
  14472. </Axis>
  14473. </YAxes>
  14474. <ZAxes>
  14475. </ZAxes>
  14476. <Curves>
  14477. <Curve>
  14478. <LineColor>3355111</LineColor>
  14479. <LineStyle>1</LineStyle>
  14480. <TickColor>3355111</TickColor>
  14481. <TickStyle>0</TickStyle>
  14482. <CurveVisible>true</CurveVisible>
  14483. <PixelThresshold>1</PixelThresshold>
  14484. <LineThickness>1</LineThickness>
  14485. <LineOrder>1</LineOrder>
  14486. <ShowYValues>true</ShowYValues>
  14487. <XCurveData>
  14488. <ShowUnit>true</ShowUnit>
  14489. <VarName>time</VarName>
  14490. </XCurveData>
  14491. <YCurveData>
  14492. <ShowUnit>true</ShowUnit>
  14493. <VarName>stepper_control1\setpoint</VarName>
  14494. </YCurveData>
  14495. </Curve>
  14496. <Curve>
  14497. <LineColor>6076255</LineColor>
  14498. <LineStyle>1</LineStyle>
  14499. <TickColor>6076255</TickColor>
  14500. <TickStyle>0</TickStyle>
  14501. <CurveVisible>true</CurveVisible>
  14502. <PixelThresshold>1</PixelThresshold>
  14503. <LineThickness>1</LineThickness>
  14504. <LineOrder>1</LineOrder>
  14505. <ShowYValues>true</ShowYValues>
  14506. <XCurveData>
  14507. <ShowUnit>true</ShowUnit>
  14508. <VarName>time</VarName>
  14509. </XCurveData>
  14510. <YCurveData>
  14511. <ShowUnit>true</ShowUnit>
  14512. <VarName>Joint_dynC\angle</VarName>
  14513. </YCurveData>
  14514. </Curve>
  14515. <Curve>
  14516. <LineColor>12553035</LineColor>
  14517. <LineStyle>1</LineStyle>
  14518. <TickColor>12553035</TickColor>
  14519. <TickStyle>0</TickStyle>
  14520. <CurveVisible>true</CurveVisible>
  14521. <PixelThresshold>1</PixelThresshold>
  14522. <LineThickness>1</LineThickness>
  14523. <LineOrder>1</LineOrder>
  14524. <ShowYValues>true</ShowYValues>
  14525. <XCurveData>
  14526. <ShowUnit>true</ShowUnit>
  14527. <VarName>time</VarName>
  14528. </XCurveData>
  14529. <YCurveData>
  14530. <ShowUnit>true</ShowUnit>
  14531. <VarName>Joint_dynC\stepper_model\RotorAngle\angle</VarName>
  14532. </YCurveData>
  14533. </Curve>
  14534. </Curves>
  14535. <Legenda>
  14536. <ShowLegenda>true</ShowLegenda>
  14537. <Position>
  14538. <X>0.11683599419448476</X>
  14539. <Y>0.8741610738255033</Y>
  14540. </Position>
  14541. <BorderPenColor>0</BorderPenColor>
  14542. <BackgroundColor>16777215</BackgroundColor>
  14543. </Legenda>
  14544. </Plot>
  14545. <Plot>
  14546. <PlotType>GraphPlot</PlotType>
  14547. <BasePlot>
  14548. <PlotId>4</PlotId>
  14549. <UseWindowsBGColor>false</UseWindowsBGColor>
  14550. <BGColor>16777215</BGColor>
  14551. <PlotIsVisible>true</PlotIsVisible>
  14552. </BasePlot>
  14553. <Grid>
  14554. <DrawGrid>true</DrawGrid>
  14555. <GridColor>15780518</GridColor>
  14556. <GridBorderLineColor>12624260</GridBorderLineColor>
  14557. <GridZeroLineColor>0</GridZeroLineColor>
  14558. <XTicks>10</XTicks>
  14559. <YTicks>10</YTicks>
  14560. <ZTicks>10</ZTicks>
  14561. <Use3DLook>false</Use3DLook>
  14562. </Grid>
  14563. <PlotBGColor>16777215</PlotBGColor>
  14564. <ShowPlotTitle>true</ShowPlotTitle>
  14565. <TitlePosition>1</TitlePosition>
  14566. <PlotTitle>Plot</PlotTitle>
  14567. <ShowXValues>true</ShowXValues>
  14568. <Fonts>
  14569. <TitleFont>
  14570. <Name>Arial</Name>
  14571. <Height>12</Height>
  14572. <PitchFamily>34</PitchFamily>
  14573. <Weight>400</Weight>
  14574. <Italic>0</Italic>
  14575. <UnderLine>0</UnderLine>
  14576. <StrikeOut>0</StrikeOut>
  14577. <Color>0</Color>
  14578. </TitleFont>
  14579. <LabelFont>
  14580. <Name>Arial</Name>
  14581. <Height>12</Height>
  14582. <PitchFamily>34</PitchFamily>
  14583. <Weight>400</Weight>
  14584. <Italic>0</Italic>
  14585. <UnderLine>0</UnderLine>
  14586. <StrikeOut>0</StrikeOut>
  14587. <Color>0</Color>
  14588. </LabelFont>
  14589. <ValuesFont>
  14590. <Name>Arial</Name>
  14591. <Height>10</Height>
  14592. <PitchFamily>34</PitchFamily>
  14593. <Weight>400</Weight>
  14594. <Italic>0</Italic>
  14595. <UnderLine>0</UnderLine>
  14596. <StrikeOut>0</StrikeOut>
  14597. <Color>0</Color>
  14598. </ValuesFont>
  14599. <LegendFont>
  14600. <Name>Arial</Name>
  14601. <Height>12</Height>
  14602. <PitchFamily>34</PitchFamily>
  14603. <Weight>400</Weight>
  14604. <Italic>0</Italic>
  14605. <UnderLine>0</UnderLine>
  14606. <StrikeOut>0</StrikeOut>
  14607. <Color>0</Color>
  14608. </LegendFont>
  14609. </Fonts>
  14610. <SharedXAxis>true</SharedXAxis>
  14611. <SharedYAxis>true</SharedYAxis>
  14612. <SharedZAxis>false</SharedZAxis>
  14613. <XAxes>
  14614. <Axis>
  14615. <Minimum>-0.04252191533744833</Minimum>
  14616. <Maximum>0.08812961394085853</Maximum>
  14617. <Linear>true</Linear>
  14618. <Scaling>3</Scaling>
  14619. <Label>position[2]</Label>
  14620. </Axis>
  14621. </XAxes>
  14622. <YAxes>
  14623. <Axis>
  14624. <Minimum>-0.06</Minimum>
  14625. <Maximum>0.14</Maximum>
  14626. <Linear>true</Linear>
  14627. <Scaling>2</Scaling>
  14628. <Label>Body1</Label>
  14629. </Axis>
  14630. <Axis>
  14631. <Minimum>-0.06</Minimum>
  14632. <Maximum>0.14</Maximum>
  14633. <Linear>true</Linear>
  14634. <Scaling>2</Scaling>
  14635. <Label>Body2</Label>
  14636. </Axis>
  14637. <Axis>
  14638. <Minimum>-0.06</Minimum>
  14639. <Maximum>0.14</Maximum>
  14640. <Linear>true</Linear>
  14641. <Scaling>2</Scaling>
  14642. <Label>body3</Label>
  14643. </Axis>
  14644. <Axis>
  14645. <Minimum>-0.06</Minimum>
  14646. <Maximum>0.14</Maximum>
  14647. <Linear>true</Linear>
  14648. <Scaling>2</Scaling>
  14649. <Label>Body4</Label>
  14650. </Axis>
  14651. <Axis>
  14652. <Minimum>-0.06</Minimum>
  14653. <Maximum>0.14</Maximum>
  14654. <Linear>true</Linear>
  14655. <Scaling>2</Scaling>
  14656. <Label>Body5</Label>
  14657. </Axis>
  14658. <Axis>
  14659. <Minimum>-0.06</Minimum>
  14660. <Maximum>0.14</Maximum>
  14661. <Linear>true</Linear>
  14662. <Scaling>2</Scaling>
  14663. <Label>Body6</Label>
  14664. </Axis>
  14665. <Axis>
  14666. <Minimum>-0.06</Minimum>
  14667. <Maximum>0.14</Maximum>
  14668. <Linear>true</Linear>
  14669. <Scaling>2</Scaling>
  14670. <Label>path</Label>
  14671. </Axis>
  14672. </YAxes>
  14673. <ZAxes>
  14674. </ZAxes>
  14675. <Curves>
  14676. <Curve>
  14677. <LineColor>3355111</LineColor>
  14678. <LineStyle>1</LineStyle>
  14679. <TickColor>3355111</TickColor>
  14680. <TickStyle>0</TickStyle>
  14681. <CurveVisible>true</CurveVisible>
  14682. <PixelThresshold>1</PixelThresshold>
  14683. <LineThickness>1</LineThickness>
  14684. <LineOrder>1</LineOrder>
  14685. <ShowYValues>true</ShowYValues>
  14686. <XCurveData>
  14687. <ShowUnit>true</ShowUnit>
  14688. <VarName>Body_Lift2\position[2]</VarName>
  14689. </XCurveData>
  14690. <YCurveData>
  14691. <ShowUnit>true</ShowUnit>
  14692. <VarName>Body_Lift2\position[3]</VarName>
  14693. </YCurveData>
  14694. </Curve>
  14695. <Curve>
  14696. <LineColor>6076255</LineColor>
  14697. <LineStyle>1</LineStyle>
  14698. <TickColor>6076255</TickColor>
  14699. <TickStyle>0</TickStyle>
  14700. <CurveVisible>true</CurveVisible>
  14701. <PixelThresshold>1</PixelThresshold>
  14702. <LineThickness>1</LineThickness>
  14703. <LineOrder>1</LineOrder>
  14704. <ShowYValues>true</ShowYValues>
  14705. <XCurveData>
  14706. <ShowUnit>true</ShowUnit>
  14707. <VarName>Body2\position[2]</VarName>
  14708. </XCurveData>
  14709. <YCurveData>
  14710. <ShowUnit>true</ShowUnit>
  14711. <VarName>Body2\position[3]</VarName>
  14712. </YCurveData>
  14713. </Curve>
  14714. <Curve>
  14715. <LineColor>12553035</LineColor>
  14716. <LineStyle>1</LineStyle>
  14717. <TickColor>12553035</TickColor>
  14718. <TickStyle>0</TickStyle>
  14719. <CurveVisible>true</CurveVisible>
  14720. <PixelThresshold>1</PixelThresshold>
  14721. <LineThickness>1</LineThickness>
  14722. <LineOrder>1</LineOrder>
  14723. <ShowYValues>true</ShowYValues>
  14724. <XCurveData>
  14725. <ShowUnit>true</ShowUnit>
  14726. <VarName>Body3\position[2]</VarName>
  14727. </XCurveData>
  14728. <YCurveData>
  14729. <ShowUnit>true</ShowUnit>
  14730. <VarName>Body3\position[3]</VarName>
  14731. </YCurveData>
  14732. </Curve>
  14733. <Curve>
  14734. <LineColor>15086320</LineColor>
  14735. <LineStyle>1</LineStyle>
  14736. <TickColor>15086320</TickColor>
  14737. <TickStyle>0</TickStyle>
  14738. <CurveVisible>true</CurveVisible>
  14739. <PixelThresshold>1</PixelThresshold>
  14740. <LineThickness>1</LineThickness>
  14741. <LineOrder>1</LineOrder>
  14742. <ShowYValues>true</ShowYValues>
  14743. <XCurveData>
  14744. <ShowUnit>true</ShowUnit>
  14745. <VarName>Body4\position[2]</VarName>
  14746. </XCurveData>
  14747. <YCurveData>
  14748. <ShowUnit>true</ShowUnit>
  14749. <VarName>Body4\position[3]</VarName>
  14750. </YCurveData>
  14751. </Curve>
  14752. <Curve>
  14753. <LineColor>15790150</LineColor>
  14754. <LineStyle>1</LineStyle>
  14755. <TickColor>15790150</TickColor>
  14756. <TickStyle>0</TickStyle>
  14757. <CurveVisible>true</CurveVisible>
  14758. <PixelThresshold>1</PixelThresshold>
  14759. <LineThickness>1</LineThickness>
  14760. <LineOrder>1</LineOrder>
  14761. <ShowYValues>true</ShowYValues>
  14762. <XCurveData>
  14763. <ShowUnit>true</ShowUnit>
  14764. <VarName>Body5\position[2]</VarName>
  14765. </XCurveData>
  14766. <YCurveData>
  14767. <ShowUnit>true</ShowUnit>
  14768. <VarName>Body5\position[3]</VarName>
  14769. </YCurveData>
  14770. </Curve>
  14771. <Curve>
  14772. <LineColor>1696255</LineColor>
  14773. <LineStyle>1</LineStyle>
  14774. <TickColor>1696255</TickColor>
  14775. <TickStyle>0</TickStyle>
  14776. <CurveVisible>true</CurveVisible>
  14777. <PixelThresshold>1</PixelThresshold>
  14778. <LineThickness>1</LineThickness>
  14779. <LineOrder>1</LineOrder>
  14780. <ShowYValues>true</ShowYValues>
  14781. <XCurveData>
  14782. <ShowUnit>true</ShowUnit>
  14783. <VarName>Body6\position[2]</VarName>
  14784. </XCurveData>
  14785. <YCurveData>
  14786. <ShowUnit>true</ShowUnit>
  14787. <VarName>Body6\position[3]</VarName>
  14788. </YCurveData>
  14789. </Curve>
  14790. <Curve>
  14791. <LineColor>4089775</LineColor>
  14792. <LineStyle>1</LineStyle>
  14793. <TickColor>4089775</TickColor>
  14794. <TickStyle>0</TickStyle>
  14795. <CurveVisible>true</CurveVisible>
  14796. <PixelThresshold>1</PixelThresshold>
  14797. <LineThickness>1</LineThickness>
  14798. <LineOrder>1</LineOrder>
  14799. <ShowYValues>true</ShowYValues>
  14800. <XCurveData>
  14801. <ShowUnit>true</ShowUnit>
  14802. <VarName>rectanglepath\output[1]</VarName>
  14803. </XCurveData>
  14804. <YCurveData>
  14805. <ShowUnit>true</ShowUnit>
  14806. <VarName>rectanglepath\output[2]</VarName>
  14807. </YCurveData>
  14808. </Curve>
  14809. </Curves>
  14810. <Legenda>
  14811. <ShowLegenda>true</ShowLegenda>
  14812. <BorderPenColor>0</BorderPenColor>
  14813. <BackgroundColor>16777215</BackgroundColor>
  14814. </Legenda>
  14815. </Plot>
  14816. <Plot>
  14817. <PlotType>GraphPlot</PlotType>
  14818. <BasePlot>
  14819. <PlotId>5</PlotId>
  14820. <UseWindowsBGColor>false</UseWindowsBGColor>
  14821. <BGColor>16777215</BGColor>
  14822. <PlotIsVisible>true</PlotIsVisible>
  14823. </BasePlot>
  14824. <Grid>
  14825. <DrawGrid>true</DrawGrid>
  14826. <GridColor>15780518</GridColor>
  14827. <GridBorderLineColor>12624260</GridBorderLineColor>
  14828. <GridZeroLineColor>0</GridZeroLineColor>
  14829. <XTicks>10</XTicks>
  14830. <YTicks>10</YTicks>
  14831. <ZTicks>10</ZTicks>
  14832. <Use3DLook>false</Use3DLook>
  14833. </Grid>
  14834. <PlotBGColor>16777215</PlotBGColor>
  14835. <ShowPlotTitle>true</ShowPlotTitle>
  14836. <TitlePosition>1</TitlePosition>
  14837. <PlotTitle>Stepper Control A</PlotTitle>
  14838. <ShowXValues>true</ShowXValues>
  14839. <Fonts>
  14840. <TitleFont>
  14841. <Name>Arial</Name>
  14842. <Height>12</Height>
  14843. <PitchFamily>34</PitchFamily>
  14844. <Weight>400</Weight>
  14845. <Italic>0</Italic>
  14846. <UnderLine>0</UnderLine>
  14847. <StrikeOut>0</StrikeOut>
  14848. <Color>0</Color>
  14849. </TitleFont>
  14850. <LabelFont>
  14851. <Name>Arial</Name>
  14852. <Height>12</Height>
  14853. <PitchFamily>34</PitchFamily>
  14854. <Weight>400</Weight>
  14855. <Italic>0</Italic>
  14856. <UnderLine>0</UnderLine>
  14857. <StrikeOut>0</StrikeOut>
  14858. <Color>0</Color>
  14859. </LabelFont>
  14860. <ValuesFont>
  14861. <Name>Arial</Name>
  14862. <Height>10</Height>
  14863. <PitchFamily>34</PitchFamily>
  14864. <Weight>400</Weight>
  14865. <Italic>0</Italic>
  14866. <UnderLine>0</UnderLine>
  14867. <StrikeOut>0</StrikeOut>
  14868. <Color>0</Color>
  14869. </ValuesFont>
  14870. <LegendFont>
  14871. <Name>Arial</Name>
  14872. <Height>12</Height>
  14873. <PitchFamily>34</PitchFamily>
  14874. <Weight>400</Weight>
  14875. <Italic>0</Italic>
  14876. <UnderLine>0</UnderLine>
  14877. <StrikeOut>0</StrikeOut>
  14878. <Color>0</Color>
  14879. </LegendFont>
  14880. </Fonts>
  14881. <SharedXAxis>true</SharedXAxis>
  14882. <SharedYAxis>true</SharedYAxis>
  14883. <SharedZAxis>false</SharedZAxis>
  14884. <XAxes>
  14885. <Axis>
  14886. <Minimum>0.0</Minimum>
  14887. <Maximum>17.641751363645234</Maximum>
  14888. <Linear>true</Linear>
  14889. <Scaling>3</Scaling>
  14890. <Label>time</Label>
  14891. </Axis>
  14892. </XAxes>
  14893. <YAxes>
  14894. <Axis>
  14895. <Minimum>-250.0</Minimum>
  14896. <Maximum>250.0</Maximum>
  14897. <Linear>true</Linear>
  14898. <Scaling>1</Scaling>
  14899. <Label>Acceleration</Label>
  14900. </Axis>
  14901. <Axis>
  14902. <Minimum>0.0</Minimum>
  14903. <Maximum>0.730288609349958</Maximum>
  14904. <Linear>true</Linear>
  14905. <Scaling>1</Scaling>
  14906. <Label>Angle</Label>
  14907. </Axis>
  14908. <Axis>
  14909. <Minimum>0.0</Minimum>
  14910. <Maximum>0.730288609349958</Maximum>
  14911. <Linear>true</Linear>
  14912. <Scaling>1</Scaling>
  14913. <Label>Velocity</Label>
  14914. </Axis>
  14915. </YAxes>
  14916. <ZAxes>
  14917. </ZAxes>
  14918. <Curves>
  14919. <Curve>
  14920. <LineColor>6076255</LineColor>
  14921. <LineStyle>1</LineStyle>
  14922. <TickColor>6076255</TickColor>
  14923. <TickStyle>0</TickStyle>
  14924. <CurveVisible>true</CurveVisible>
  14925. <PixelThresshold>1</PixelThresshold>
  14926. <LineThickness>1</LineThickness>
  14927. <LineOrder>1</LineOrder>
  14928. <ShowYValues>true</ShowYValues>
  14929. <XCurveData>
  14930. <ShowUnit>true</ShowUnit>
  14931. <VarName>time</VarName>
  14932. </XCurveData>
  14933. <YCurveData>
  14934. <ShowUnit>true</ShowUnit>
  14935. <VarName>stepper_control\Acceleration_int\input</VarName>
  14936. </YCurveData>
  14937. </Curve>
  14938. <Curve>
  14939. <LineColor>12553035</LineColor>
  14940. <LineStyle>1</LineStyle>
  14941. <TickColor>12553035</TickColor>
  14942. <TickStyle>0</TickStyle>
  14943. <CurveVisible>true</CurveVisible>
  14944. <PixelThresshold>1</PixelThresshold>
  14945. <LineThickness>1</LineThickness>
  14946. <LineOrder>1</LineOrder>
  14947. <ShowYValues>true</ShowYValues>
  14948. <XCurveData>
  14949. <ShowUnit>true</ShowUnit>
  14950. <VarName>time</VarName>
  14951. </XCurveData>
  14952. <YCurveData>
  14953. <ShowUnit>true</ShowUnit>
  14954. <VarName>stepper_control\Velocity_int\output</VarName>
  14955. </YCurveData>
  14956. </Curve>
  14957. <Curve>
  14958. <LineColor>15086320</LineColor>
  14959. <LineStyle>1</LineStyle>
  14960. <TickColor>15086320</TickColor>
  14961. <TickStyle>0</TickStyle>
  14962. <CurveVisible>true</CurveVisible>
  14963. <PixelThresshold>1</PixelThresshold>
  14964. <LineThickness>1</LineThickness>
  14965. <LineOrder>1</LineOrder>
  14966. <ShowYValues>true</ShowYValues>
  14967. <XCurveData>
  14968. <ShowUnit>true</ShowUnit>
  14969. <VarName>time</VarName>
  14970. </XCurveData>
  14971. <YCurveData>
  14972. <ShowUnit>true</ShowUnit>
  14973. <VarName>stepper_control\Velocity_int\input</VarName>
  14974. </YCurveData>
  14975. </Curve>
  14976. </Curves>
  14977. <Legenda>
  14978. <ShowLegenda>true</ShowLegenda>
  14979. <Position>
  14980. <X>0.07602339181286549</X>
  14981. <Y>0.877104377104377</Y>
  14982. </Position>
  14983. <BorderPenColor>0</BorderPenColor>
  14984. <BackgroundColor>16777215</BackgroundColor>
  14985. </Legenda>
  14986. </Plot>
  14987. <Plot>
  14988. <PlotType>GraphPlot</PlotType>
  14989. <BasePlot>
  14990. <PlotId>6</PlotId>
  14991. <UseWindowsBGColor>false</UseWindowsBGColor>
  14992. <BGColor>16777215</BGColor>
  14993. <PlotIsVisible>true</PlotIsVisible>
  14994. </BasePlot>
  14995. <Grid>
  14996. <DrawGrid>true</DrawGrid>
  14997. <GridColor>15780518</GridColor>
  14998. <GridBorderLineColor>12624260</GridBorderLineColor>
  14999. <GridZeroLineColor>0</GridZeroLineColor>
  15000. <XTicks>10</XTicks>
  15001. <YTicks>10</YTicks>
  15002. <ZTicks>10</ZTicks>
  15003. <Use3DLook>false</Use3DLook>
  15004. </Grid>
  15005. <PlotBGColor>16777215</PlotBGColor>
  15006. <ShowPlotTitle>true</ShowPlotTitle>
  15007. <TitlePosition>1</TitlePosition>
  15008. <PlotTitle>Stepper Control D</PlotTitle>
  15009. <ShowXValues>true</ShowXValues>
  15010. <Fonts>
  15011. <TitleFont>
  15012. <Name>Arial</Name>
  15013. <Height>12</Height>
  15014. <PitchFamily>34</PitchFamily>
  15015. <Weight>400</Weight>
  15016. <Italic>0</Italic>
  15017. <UnderLine>0</UnderLine>
  15018. <StrikeOut>0</StrikeOut>
  15019. <Color>0</Color>
  15020. </TitleFont>
  15021. <LabelFont>
  15022. <Name>Arial</Name>
  15023. <Height>12</Height>
  15024. <PitchFamily>34</PitchFamily>
  15025. <Weight>400</Weight>
  15026. <Italic>0</Italic>
  15027. <UnderLine>0</UnderLine>
  15028. <StrikeOut>0</StrikeOut>
  15029. <Color>0</Color>
  15030. </LabelFont>
  15031. <ValuesFont>
  15032. <Name>Arial</Name>
  15033. <Height>10</Height>
  15034. <PitchFamily>34</PitchFamily>
  15035. <Weight>400</Weight>
  15036. <Italic>0</Italic>
  15037. <UnderLine>0</UnderLine>
  15038. <StrikeOut>0</StrikeOut>
  15039. <Color>0</Color>
  15040. </ValuesFont>
  15041. <LegendFont>
  15042. <Name>Arial</Name>
  15043. <Height>12</Height>
  15044. <PitchFamily>34</PitchFamily>
  15045. <Weight>400</Weight>
  15046. <Italic>0</Italic>
  15047. <UnderLine>0</UnderLine>
  15048. <StrikeOut>0</StrikeOut>
  15049. <Color>0</Color>
  15050. </LegendFont>
  15051. </Fonts>
  15052. <SharedXAxis>true</SharedXAxis>
  15053. <SharedYAxis>true</SharedYAxis>
  15054. <SharedZAxis>false</SharedZAxis>
  15055. <XAxes>
  15056. <Axis>
  15057. <Minimum>0.0</Minimum>
  15058. <Maximum>17.641751363645234</Maximum>
  15059. <Linear>true</Linear>
  15060. <Scaling>3</Scaling>
  15061. <Label>time</Label>
  15062. </Axis>
  15063. </XAxes>
  15064. <YAxes>
  15065. <Axis>
  15066. <Minimum>-250.0</Minimum>
  15067. <Maximum>250.0</Maximum>
  15068. <Linear>true</Linear>
  15069. <Scaling>1</Scaling>
  15070. <Label>Acceleration</Label>
  15071. </Axis>
  15072. <Axis>
  15073. <Minimum>0.0</Minimum>
  15074. <Maximum>39.669708688195</Maximum>
  15075. <Linear>true</Linear>
  15076. <Scaling>1</Scaling>
  15077. <Label>Angle</Label>
  15078. </Axis>
  15079. <Axis>
  15080. <Minimum>0.0</Minimum>
  15081. <Maximum>39.669708688195</Maximum>
  15082. <Linear>true</Linear>
  15083. <Scaling>1</Scaling>
  15084. <Label>Velocity</Label>
  15085. </Axis>
  15086. </YAxes>
  15087. <ZAxes>
  15088. </ZAxes>
  15089. <Curves>
  15090. <Curve>
  15091. <LineColor>3355111</LineColor>
  15092. <LineStyle>1</LineStyle>
  15093. <TickColor>3355111</TickColor>
  15094. <TickStyle>0</TickStyle>
  15095. <CurveVisible>true</CurveVisible>
  15096. <PixelThresshold>1</PixelThresshold>
  15097. <LineThickness>1</LineThickness>
  15098. <LineOrder>1</LineOrder>
  15099. <ShowYValues>true</ShowYValues>
  15100. <XCurveData>
  15101. <ShowUnit>true</ShowUnit>
  15102. <VarName>time</VarName>
  15103. </XCurveData>
  15104. <YCurveData>
  15105. <ShowUnit>true</ShowUnit>
  15106. <VarName>stepper_control1\Acceleration_int\input</VarName>
  15107. </YCurveData>
  15108. </Curve>
  15109. <Curve>
  15110. <LineColor>6076255</LineColor>
  15111. <LineStyle>1</LineStyle>
  15112. <TickColor>6076255</TickColor>
  15113. <TickStyle>0</TickStyle>
  15114. <CurveVisible>true</CurveVisible>
  15115. <PixelThresshold>1</PixelThresshold>
  15116. <LineThickness>1</LineThickness>
  15117. <LineOrder>1</LineOrder>
  15118. <ShowYValues>true</ShowYValues>
  15119. <XCurveData>
  15120. <ShowUnit>true</ShowUnit>
  15121. <VarName>time</VarName>
  15122. </XCurveData>
  15123. <YCurveData>
  15124. <ShowUnit>true</ShowUnit>
  15125. <VarName>stepper_control1\Velocity_int\output</VarName>
  15126. </YCurveData>
  15127. </Curve>
  15128. <Curve>
  15129. <LineColor>12553035</LineColor>
  15130. <LineStyle>1</LineStyle>
  15131. <TickColor>12553035</TickColor>
  15132. <TickStyle>0</TickStyle>
  15133. <CurveVisible>true</CurveVisible>
  15134. <PixelThresshold>1</PixelThresshold>
  15135. <LineThickness>1</LineThickness>
  15136. <LineOrder>1</LineOrder>
  15137. <ShowYValues>true</ShowYValues>
  15138. <XCurveData>
  15139. <ShowUnit>true</ShowUnit>
  15140. <VarName>time</VarName>
  15141. </XCurveData>
  15142. <YCurveData>
  15143. <ShowUnit>true</ShowUnit>
  15144. <VarName>stepper_control1\Velocity_int\input</VarName>
  15145. </YCurveData>
  15146. </Curve>
  15147. </Curves>
  15148. <Legenda>
  15149. <ShowLegenda>true</ShowLegenda>
  15150. <Position>
  15151. <X>0.07602339181286549</X>
  15152. <Y>0.877104377104377</Y>
  15153. </Position>
  15154. <BorderPenColor>0</BorderPenColor>
  15155. <BackgroundColor>16777215</BackgroundColor>
  15156. </Legenda>
  15157. </Plot>
  15158. <Plot>
  15159. <PlotType>GraphPlot</PlotType>
  15160. <BasePlot>
  15161. <PlotId>7</PlotId>
  15162. <UseWindowsBGColor>false</UseWindowsBGColor>
  15163. <BGColor>16777215</BGColor>
  15164. <PlotIsVisible>true</PlotIsVisible>
  15165. </BasePlot>
  15166. <Grid>
  15167. <DrawGrid>true</DrawGrid>
  15168. <GridColor>15780518</GridColor>
  15169. <GridBorderLineColor>12624260</GridBorderLineColor>
  15170. <GridZeroLineColor>0</GridZeroLineColor>
  15171. <XTicks>10</XTicks>
  15172. <YTicks>10</YTicks>
  15173. <ZTicks>10</ZTicks>
  15174. <Use3DLook>false</Use3DLook>
  15175. </Grid>
  15176. <PlotBGColor>16777215</PlotBGColor>
  15177. <ShowPlotTitle>true</ShowPlotTitle>
  15178. <TitlePosition>1</TitlePosition>
  15179. <PlotTitle>Plot</PlotTitle>
  15180. <ShowXValues>true</ShowXValues>
  15181. <Fonts>
  15182. <TitleFont>
  15183. <Name>Arial</Name>
  15184. <Height>12</Height>
  15185. <PitchFamily>34</PitchFamily>
  15186. <Weight>400</Weight>
  15187. <Italic>0</Italic>
  15188. <UnderLine>0</UnderLine>
  15189. <StrikeOut>0</StrikeOut>
  15190. <Color>0</Color>
  15191. </TitleFont>
  15192. <LabelFont>
  15193. <Name>Arial</Name>
  15194. <Height>12</Height>
  15195. <PitchFamily>34</PitchFamily>
  15196. <Weight>400</Weight>
  15197. <Italic>0</Italic>
  15198. <UnderLine>0</UnderLine>
  15199. <StrikeOut>0</StrikeOut>
  15200. <Color>0</Color>
  15201. </LabelFont>
  15202. <ValuesFont>
  15203. <Name>Arial</Name>
  15204. <Height>10</Height>
  15205. <PitchFamily>34</PitchFamily>
  15206. <Weight>400</Weight>
  15207. <Italic>0</Italic>
  15208. <UnderLine>0</UnderLine>
  15209. <StrikeOut>0</StrikeOut>
  15210. <Color>0</Color>
  15211. </ValuesFont>
  15212. <LegendFont>
  15213. <Name>Arial</Name>
  15214. <Height>12</Height>
  15215. <PitchFamily>34</PitchFamily>
  15216. <Weight>400</Weight>
  15217. <Italic>0</Italic>
  15218. <UnderLine>0</UnderLine>
  15219. <StrikeOut>0</StrikeOut>
  15220. <Color>0</Color>
  15221. </LegendFont>
  15222. </Fonts>
  15223. <SharedXAxis>true</SharedXAxis>
  15224. <SharedYAxis>true</SharedYAxis>
  15225. <SharedZAxis>false</SharedZAxis>
  15226. <XAxes>
  15227. <Axis>
  15228. <Minimum>0.0</Minimum>
  15229. <Maximum>17.641751363645234</Maximum>
  15230. <Linear>true</Linear>
  15231. <Scaling>3</Scaling>
  15232. <Label>time</Label>
  15233. </Axis>
  15234. </XAxes>
  15235. <YAxes>
  15236. <Axis>
  15237. <Minimum>-0.1</Minimum>
  15238. <Maximum>0.1</Maximum>
  15239. <Linear>true</Linear>
  15240. <Scaling>2</Scaling>
  15241. <Label>Stepper A Torque</Label>
  15242. </Axis>
  15243. <Axis>
  15244. <Minimum>0.0</Minimum>
  15245. <Maximum>0.063461060702673</Maximum>
  15246. <Linear>true</Linear>
  15247. <Scaling>2</Scaling>
  15248. <Label>Stepper C torque</Label>
  15249. </Axis>
  15250. </YAxes>
  15251. <ZAxes>
  15252. </ZAxes>
  15253. <Curves>
  15254. <Curve>
  15255. <LineColor>3355111</LineColor>
  15256. <LineStyle>1</LineStyle>
  15257. <TickColor>3355111</TickColor>
  15258. <TickStyle>0</TickStyle>
  15259. <CurveVisible>true</CurveVisible>
  15260. <PixelThresshold>1</PixelThresshold>
  15261. <LineThickness>1</LineThickness>
  15262. <LineOrder>1</LineOrder>
  15263. <ShowYValues>true</ShowYValues>
  15264. <XCurveData>
  15265. <ShowUnit>true</ShowUnit>
  15266. <VarName>time</VarName>
  15267. </XCurveData>
  15268. <YCurveData>
  15269. <ShowUnit>true</ShowUnit>
  15270. <VarName>Joint_dynA\stepper_model\p.T</VarName>
  15271. </YCurveData>
  15272. </Curve>
  15273. <Curve>
  15274. <LineColor>6076255</LineColor>
  15275. <LineStyle>1</LineStyle>
  15276. <TickColor>6076255</TickColor>
  15277. <TickStyle>0</TickStyle>
  15278. <CurveVisible>true</CurveVisible>
  15279. <PixelThresshold>1</PixelThresshold>
  15280. <LineThickness>1</LineThickness>
  15281. <LineOrder>1</LineOrder>
  15282. <ShowYValues>true</ShowYValues>
  15283. <XCurveData>
  15284. <ShowUnit>true</ShowUnit>
  15285. <VarName>time</VarName>
  15286. </XCurveData>
  15287. <YCurveData>
  15288. <ShowUnit>true</ShowUnit>
  15289. <VarName>Joint_dynC\stepper_model\p.T</VarName>
  15290. </YCurveData>
  15291. </Curve>
  15292. </Curves>
  15293. <Legenda>
  15294. <ShowLegenda>true</ShowLegenda>
  15295. <BorderPenColor>0</BorderPenColor>
  15296. <BackgroundColor>16777215</BackgroundColor>
  15297. </Legenda>
  15298. </Plot>
  15299. </Plots>
  15300. <PlotPanels>
  15301. <PlotPanel>
  15302. <PlotPanelId>1</PlotPanelId>
  15303. <PlotPanelVisible>true</PlotPanelVisible>
  15304. <Name>Window 1</Name>
  15305. <Tiling>0</Tiling>
  15306. <PlotIds>
  15307. <PlotId>1</PlotId>
  15308. <PlotId>3</PlotId>
  15309. <PlotId>5</PlotId>
  15310. <PlotId>6</PlotId>
  15311. </PlotIds>
  15312. <ToggleState>Base</ToggleState>
  15313. </PlotPanel>
  15314. <PlotPanel>
  15315. <PlotPanelId>2</PlotPanelId>
  15316. <PlotPanelVisible>true</PlotPanelVisible>
  15317. <Name>Window 2</Name>
  15318. <Tiling>0</Tiling>
  15319. <PlotIds>
  15320. <PlotId>2</PlotId>
  15321. </PlotIds>
  15322. <ToggleState>Base</ToggleState>
  15323. </PlotPanel>
  15324. <PlotPanel>
  15325. <PlotPanelId>3</PlotPanelId>
  15326. <PlotPanelVisible>true</PlotPanelVisible>
  15327. <Name>Window 3</Name>
  15328. <Tiling>0</Tiling>
  15329. <PlotIds>
  15330. <PlotId>4</PlotId>
  15331. </PlotIds>
  15332. <ToggleState>Base</ToggleState>
  15333. </PlotPanel>
  15334. <PlotPanel>
  15335. <PlotPanelId>4</PlotPanelId>
  15336. <PlotPanelVisible>true</PlotPanelVisible>
  15337. <Name>Window 4</Name>
  15338. <Tiling>0</Tiling>
  15339. <PlotIds>
  15340. <PlotId>7</PlotId>
  15341. </PlotIds>
  15342. <ToggleState>Base</ToggleState>
  15343. </PlotPanel>
  15344. </PlotPanels>
  15345. <WindowRectangles virtualDesktopWidth="5760" virtualDesktopHeight="1080">
  15346. <WindowRectangle monitor="2" left="1920" top="0" right="3840" bottom="1080" plotpanelid="2">
  15347. 0.0895833 0.109259 0.892188 0.862037
  15348. </WindowRectangle>
  15349. <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="1">
  15350. 0.14375 0.0537037 0.94375 0.84537
  15351. </WindowRectangle>
  15352. <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="3">
  15353. 0.0265625 0.134259 0.776042 0.859259
  15354. </WindowRectangle>
  15355. <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="4">
  15356. 0.192708 0.163889 0.803646 0.708333
  15357. </WindowRectangle>
  15358. </WindowRectangles>
  15359. </PlotSpecs>
  15360. <RunSpecs>
  15361. <SimulatorSettings>
  15362. <StartTime>0.0</StartTime>
  15363. <FinishTime>20.0</FinishTime>
  15364. <AllowPassFinishTime>false</AllowPassFinishTime>
  15365. <Warp>false</Warp>
  15366. <FPGonio>false</FPGonio>
  15367. <UseOutputAfterEach>false</UseOutputAfterEach>
  15368. <OutputAfterEach>0.1</OutputAfterEach>
  15369. <EventEpsilon>1.0e-6</EventEpsilon>
  15370. <AlgebraicTolerance>1.0e-7</AlgebraicTolerance>
  15371. <SteadyStateAnalysis>false</SteadyStateAnalysis>
  15372. <UpdateHoldInstructions>true</UpdateHoldInstructions>
  15373. </SimulatorSettings>
  15374. <IntegrationMethods>
  15375. <IntegrationMethod>
  15376. <Name>Euler</Name>
  15377. <StepSize>0.01</StepSize>
  15378. <AutoStepSize>false</AutoStepSize>
  15379. </IntegrationMethod>
  15380. <IntegrationMethod>
  15381. <Name>BackwardEuler</Name>
  15382. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  15383. <RelativeTolerance>1.0e-5</RelativeTolerance>
  15384. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  15385. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  15386. <StepSize>0.01</StepSize>
  15387. <Alpha>1.0</Alpha>
  15388. </IntegrationMethod>
  15389. <IntegrationMethod>
  15390. <Name>AdamsBashforth</Name>
  15391. <StepSize>1.0e-4</StepSize>
  15392. <AutoStepSize>false</AutoStepSize>
  15393. </IntegrationMethod>
  15394. <IntegrationMethod>
  15395. <Name>RungeKutta2</Name>
  15396. <StepSize>0.01</StepSize>
  15397. <AutoStepSize>false</AutoStepSize>
  15398. </IntegrationMethod>
  15399. <IntegrationMethod>
  15400. <Name>RungeKutta4</Name>
  15401. <StepSize>0.01</StepSize>
  15402. <AutoStepSize>false</AutoStepSize>
  15403. </IntegrationMethod>
  15404. <IntegrationMethod>
  15405. <Name>RungeKutta8</Name>
  15406. <UseInitialStepSize>false</UseInitialStepSize>
  15407. <InitialStepSize>0.0</InitialStepSize>
  15408. <UseMaximumStepSize>false</UseMaximumStepSize>
  15409. <MaximumStepSize>0.0</MaximumStepSize>
  15410. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  15411. <RelativeTolerance>1.0e-6</RelativeTolerance>
  15412. <SafetyFactor>0.9</SafetyFactor>
  15413. <Factor1>0.33</Factor1>
  15414. <Factor2>6.0</Factor2>
  15415. <Beta>0.0</Beta>
  15416. <UseMaxNrSteps>false</UseMaxNrSteps>
  15417. <MaxNrSteps>100000</MaxNrSteps>
  15418. <UseStiffDetection>false</UseStiffDetection>
  15419. <MaxNrStiffnessSteps>1000</MaxNrStiffnessSteps>
  15420. </IntegrationMethod>
  15421. <IntegrationMethod>
  15422. <Name>RungeKuttaFehlberg</Name>
  15423. <UseInitialStepSize>false</UseInitialStepSize>
  15424. <InitialStepSize>0.0</InitialStepSize>
  15425. <UseMaximumStepSize>false</UseMaximumStepSize>
  15426. <MaximumStepSize>0.0</MaximumStepSize>
  15427. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  15428. <RelativeTolerance>1.0e-6</RelativeTolerance>
  15429. </IntegrationMethod>
  15430. <IntegrationMethod>
  15431. <Name>VodeAdams</Name>
  15432. <UseInitialStepSize>false</UseInitialStepSize>
  15433. <InitialStepSize>0.0</InitialStepSize>
  15434. <UseMaximumStepSize>false</UseMaximumStepSize>
  15435. <MaximumStepSize>0.0</MaximumStepSize>
  15436. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  15437. <RelativeTolerance>1.0e-6</RelativeTolerance>
  15438. <VodeUseBDF>true</VodeUseBDF>
  15439. <VodeUseNewton>true</VodeUseNewton>
  15440. </IntegrationMethod>
  15441. <IntegrationMethod>
  15442. <Name>BDFMethod</Name>
  15443. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  15444. <RelativeTolerance>1.0e-5</RelativeTolerance>
  15445. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  15446. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  15447. <UseInitialStepSize>false</UseInitialStepSize>
  15448. <InitialStepSize>0.0</InitialStepSize>
  15449. <UseMaximumStepSize>false</UseMaximumStepSize>
  15450. <MaximumStepSize>0.0</MaximumStepSize>
  15451. </IntegrationMethod>
  15452. <IntegrationMethod>
  15453. <Name>MeBDFiMethod</Name>
  15454. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  15455. <RelativeTolerance>1.0e-6</RelativeTolerance>
  15456. <AlgebraicAbsoluteTolerance>1.0e-6</AlgebraicAbsoluteTolerance>
  15457. <AlgebraicRelativeTolerance>1.0e-6</AlgebraicRelativeTolerance>
  15458. <UseInitialStepSize>false</UseInitialStepSize>
  15459. <InitialStepSize>0.0</InitialStepSize>
  15460. <UseMaximumStepSize>false</UseMaximumStepSize>
  15461. <MaximumStepSize>0.0</MaximumStepSize>
  15462. </IntegrationMethod>
  15463. <SelectedIntegrationMethod>7</SelectedIntegrationMethod>
  15464. </IntegrationMethods>
  15465. </RunSpecs>
  15466. <MultipleRun>
  15467. <NrSteps>10</NrSteps>
  15468. <CopyFromStates>false</CopyFromStates>
  15469. <JoinParameterVariation>true</JoinParameterVariation>
  15470. <ClearAfterRun>true</ClearAfterRun>
  15471. <RedrawAfterRun>false</RedrawAfterRun>
  15472. <DrawDuringSimulation>true</DrawDuringSimulation>
  15473. <ActionBeforeOptimization>0</ActionBeforeOptimization>
  15474. <CompareValue>0.0</CompareValue>
  15475. <UseCompareValue>false</UseCompareValue>
  15476. <MultipleRunType>Optimization</MultipleRunType>
  15477. <Minimize>true</Minimize>
  15478. <OptimizationVariable>Joint_dynC\stepper_model\angle</OptimizationVariable>
  15479. <CompareVariable>stepper_control1\setpoint</CompareVariable>
  15480. <ResulVarUsage>UseIntegralAbsolute</ResulVarUsage>
  15481. <Tolerance>0.001</Tolerance>
  15482. <OptimizationMethod>DavidsonFletcherPowell</OptimizationMethod>
  15483. <MultipleRunVariables>
  15484. <MultipleRunVariable>
  15485. <Name>stepper_control1\Position_control\kp</Name>
  15486. <Minimum>13.0</Minimum>
  15487. <Maximum>39.0</Maximum>
  15488. <SweepMethod>Linear</SweepMethod>
  15489. <Distribution>Uniform</Distribution>
  15490. <Mean>26.0</Mean>
  15491. <Deviation>1.0</Deviation>
  15492. <TolerancePercentage>1.0</TolerancePercentage>
  15493. <Nominal>26.0</Nominal>
  15494. </MultipleRunVariable>
  15495. <MultipleRunVariable>
  15496. <Name>stepper_control1\Velocity_control\kp</Name>
  15497. <Minimum>33.0</Minimum>
  15498. <Maximum>99.0</Maximum>
  15499. <SweepMethod>Linear</SweepMethod>
  15500. <Distribution>Uniform</Distribution>
  15501. <Mean>66.0</Mean>
  15502. <Deviation>1.0</Deviation>
  15503. <TolerancePercentage>1.0</TolerancePercentage>
  15504. <Nominal>66.0</Nominal>
  15505. </MultipleRunVariable>
  15506. </MultipleRunVariables>
  15507. </MultipleRun>
  15508. <ExportData>
  15509. <WriteAsText>true</WriteAsText>
  15510. <ReadAsText>true</ReadAsText>
  15511. <WriteHeader>true</WriteHeader>
  15512. <ReadHeader>true</ReadHeader>
  15513. <ReadFilename></ReadFilename>
  15514. <WriteFilename></WriteFilename>
  15515. <DoWrite>false</DoWrite>
  15516. <ExportVariables>
  15517. </ExportVariables>
  15518. <ImportVariables>
  15519. </ImportVariables>
  15520. </ExportData>
  15521. <BreakPoints>
  15522. </BreakPoints>
  15523. <AnimationPlayback>
  15524. <PlaybackSpeed>1.0</PlaybackSpeed>
  15525. </AnimationPlayback>
  15526. </ExpData>
  15527. </Experiment>
  15528. </Experiments>
  15529. </Document>