Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

6338 wiersze
177KB

  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\05_stepper\stepper.emx</LibraryPath>
  11. <TimeStamp>2020-7-22 16:26:16</TimeStamp>
  12. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  13. </Description>
  14. <Attributes>
  15. <GlobalRelations>parameters
  16. real A = 0.05 {m};
  17. real B = 0.05 {m};
  18. variables
  19. real J0_1_BF1[2];
  20. real J1_2_BF1[2];
  21. real J1_2_BF2[2];
  22. real EE1_BF2[2];
  23. initialequations
  24. J0_1_BF1 = [A/2;0];
  25. J1_2_BF1 = [-A/2;0];
  26. J1_2_BF2 = [B/2;0];
  27. EE1_BF2 = [-B/2;0];</GlobalRelations>
  28. </Attributes>
  29. </Information>';
  30. type Mainmodel
  31. end;
  32. implementation bg
  33. submodels
  34. C 456 232
  35. description '<Information>
  36. <Description>
  37. <Version>4.2</Version>
  38. <IsMainModel>1</IsMainModel>
  39. <KeepParameterValues>False</KeepParameterValues>
  40. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  41. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  42. </Description>
  43. </Information>';
  44. type C
  45. ports
  46. power in p;
  47. signal out state;
  48. restrictions
  49. causality preferred out p;
  50. end;
  51. icon bg bottom
  52. figures
  53. text 'C' 456 232 color 0 18 bold;
  54. end;
  55. implementation eq
  56. parameters
  57. real c = 0.0001;
  58. equations
  59. state = int(p.f);
  60. p.e = state / c;
  61. implementation_end;
  62. C1 640 264
  63. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  64. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  65. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  66. </Description>';
  67. type 'C-3'
  68. ports
  69. power in p [3,1];
  70. signal out state [3,1];
  71. restrictions
  72. causality preferred out p;
  73. end;
  74. icon bg bottom
  75. figures
  76. text 'C' 640 264 color 0 18 bold;
  77. end;
  78. implementation eq
  79. parameters
  80. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  81. equations
  82. state = int(p.f);
  83. p.e = inverse(c) *state;
  84. implementation_end;
  85. C2 304 272
  86. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  87. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  88. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  89. </Description>';
  90. type 'C-3'
  91. ports
  92. power in p [3,1];
  93. signal out state [3,1];
  94. restrictions
  95. causality preferred out p;
  96. end;
  97. icon bg bottom
  98. figures
  99. text 'C' 304 272 color 0 18 bold;
  100. end;
  101. implementation eq
  102. parameters
  103. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  104. equations
  105. state = int(p.f);
  106. p.e = inverse(c) *state;
  107. implementation_end;
  108. C3 304 224
  109. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  110. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  111. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  112. </Description>';
  113. type 'C-2'
  114. ports
  115. power in p [2,1];
  116. signal out state [2,1];
  117. restrictions
  118. causality preferred out p;
  119. end;
  120. icon bg bottom
  121. figures
  122. text 'C' 304 224 color 0 18 bold;
  123. end;
  124. implementation eq
  125. parameters
  126. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  127. equations
  128. state = int(p.f);
  129. p.e = inverse(c) *state;
  130. implementation_end;
  131. C4 640 216
  132. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  133. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  134. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  135. </Description>';
  136. type 'C-2'
  137. ports
  138. power in p [2,1];
  139. signal out state [2,1];
  140. restrictions
  141. causality preferred out p;
  142. end;
  143. icon bg bottom
  144. figures
  145. text 'C' 640 216 color 0 18 bold;
  146. end;
  147. implementation eq
  148. parameters
  149. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  150. equations
  151. state = int(p.f);
  152. p.e = inverse(c) *state;
  153. implementation_end;
  154. C5 32 232
  155. description '<Information>
  156. <Description>
  157. <Version>4.2</Version>
  158. <IsMainModel>1</IsMainModel>
  159. <KeepParameterValues>False</KeepParameterValues>
  160. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  161. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  162. </Description>
  163. </Information>';
  164. type C
  165. ports
  166. power in p;
  167. signal out state;
  168. restrictions
  169. causality preferred out p;
  170. end;
  171. icon bg bottom
  172. figures
  173. text 'C' 32 232 color 0 18 bold;
  174. end;
  175. implementation eq
  176. parameters
  177. real c = 0.0001;
  178. equations
  179. state = int(p.f);
  180. p.e = state / c;
  181. implementation_end;
  182. COM 376 208
  183. 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
  184. real I [3,1] = [1.6399999999999998e-6; 4.7e-8; 1.61e-6] {N.m.s};
  185. real m = 0.00455 {kg};</GlobalRelations></Attributes></Information>';
  186. type Submodel
  187. ports
  188. signal in Hin [4,4];
  189. signal out Hout [4,4];
  190. power out p [6,1];
  191. end;
  192. icon bg bottom
  193. figures
  194. rectangle 344 192 408 224 color 0 fill 139;
  195. text 'COM' 376 208 color 0 'Clear Sans' 16;
  196. terminals
  197. Hin 392 192 fixed;
  198. p 360 192 fixed;
  199. end;
  200. implementation bg
  201. submodels
  202. AdHi0 544 400
  203. 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>';
  204. type MTF
  205. ports
  206. power in p1 [6,1];
  207. power out p2 [6,1];
  208. signal in H [4,4];
  209. restrictions
  210. causality constraint not_equal p1 p2;
  211. end;
  212. icon bg left
  213. figures
  214. text 'MTF' 544 400 color 0 18 bold;
  215. end;
  216. implementation eq
  217. variables
  218. real onlyRotH[4,4];
  219. code
  220. //Only rotations with respect to the inertial system matter!
  221. onlyRotH = H;
  222. onlyRotH[1,4] = 0;
  223. onlyRotH[2,4] = 0;
  224. onlyRotH[3,4] = 0;
  225. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  226. p1.f = Adjoint(onlyRotH) * p2.f;
  227. implementation_end;
  228. EJS 616 336
  229. 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>';
  230. type MGY
  231. ports
  232. power in p1 [6,1];
  233. end;
  234. icon bg top
  235. figures
  236. text 'MGY' 616 336 color 0 18 bold;
  237. end;
  238. implementation eq
  239. //EJS / Gyroscopic effects
  240. parameters
  241. real global I[3];
  242. real global m;
  243. variables
  244. real II[6,6]; //Inertial tensor
  245. real Q[6,6];
  246. real QI[6,6];
  247. real Ia[6];
  248. initialequations
  249. Ia[1:3] = I;
  250. Ia[4:6] = m;
  251. II = diag(Ia);
  252. equations
  253. Q = transpose(adjoint(p1.f));
  254. QI = Q*II;
  255. p1.e = QI*p1.f;implementation_end;
  256. Gravity 624 400
  257. 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>';
  258. type Se
  259. ports
  260. power out p [6,1];
  261. restrictions
  262. causality fixed out p;
  263. end;
  264. icon bg bottom
  265. figures
  266. text 'Se' 624 400 color 0 18 bold;
  267. end;
  268. implementation eq
  269. parameters
  270. real global m;
  271. variables
  272. real effort[6];
  273. equations
  274. effort = [0;0;0;0;0;-g_n*m];
  275. p.e = effort;
  276. implementation_end;
  277. InertialTensor 544 272
  278. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  279. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  280. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  281. </Description>';
  282. type 'I-3'
  283. ports
  284. power in p [6,1];
  285. signal out state [6,1];
  286. restrictions
  287. causality preferred in p;
  288. end;
  289. icon bg bottom
  290. figures
  291. text 'I' 544 272 color 0 18 bold;
  292. end;
  293. implementation eq
  294. parameters
  295. real global I[3];
  296. real global m;
  297. variables
  298. real II[6,6]; //Inertial tensor
  299. real Ia[6];
  300. initialequations
  301. Ia[1:3] = I;
  302. Ia[4:6] = m;
  303. II = diag(Ia);
  304. equations
  305. state = int(p.e); //state = generalized momentum
  306. p.f = inverse(II)*state;
  307. implementation_end;
  308. plug Hin 433.4 496;
  309. plug Hout 691.2 496;
  310. plug p 439.4 336;
  311. Splitter1 544 496
  312. description '<Description><Version>4.0</Version>
  313. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  314. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  315. <IsMainModel>1</IsMainModel>
  316. <KeepParameterValues>False</KeepParameterValues>
  317. </Description>';
  318. knot Splitter
  319. ports
  320. signal knot duplicatable out output [4,4];
  321. signal knot in input [4,4];
  322. end;
  323. icon bg ellipse
  324. figures
  325. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  326. ellipse 539.7 491.7 548.3 500.3 color -1;
  327. terminals
  328. input 544 496 fixed;
  329. end;
  330. implementation eq
  331. equations
  332. collect (output) = input;
  333. implementation_end;
  334. Ta0j 544 336
  335. description '<Description>
  336. <Version>4.0</Version>
  337. <IsMainModel>1</IsMainModel>
  338. <KeepParameterValues>False</KeepParameterValues>
  339. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  340. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  341. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  342. <Description></Description>
  343. </Description>';
  344. knot OneJunction
  345. ports
  346. power knot duplicatable none p [6,1];
  347. signal knot out flow [6,1];
  348. restrictions
  349. causality constraint one_out p;
  350. end;
  351. icon bg bottom
  352. figures
  353. text '1' 544 336 color 0 18 bold;
  354. end;
  355. implementation eq
  356. equations
  357. sum (direct (p.e)) = 0;
  358. equal (collect (p.f));
  359. flow = first (p.f);
  360. implementation_end;
  361. ZeroJunction1 504 336
  362. description '<Information>
  363. <Description>
  364. <Version>4.2</Version>
  365. <IsMainModel>1</IsMainModel>
  366. <KeepParameterValues>False</KeepParameterValues>
  367. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  368. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  369. </Description>
  370. </Information>';
  371. knot ZeroJunction
  372. ports
  373. power knot duplicatable none p [6,1];
  374. signal knot out effort [6,1];
  375. restrictions
  376. causality constraint one_in p;
  377. end;
  378. icon bg
  379. figures
  380. text '0' 504 336 color 0 18 bold;
  381. end;
  382. implementation eq
  383. equations
  384. sum (direct (p.f)) = 0;
  385. equal (collect (p.e));
  386. effort = first (p.e);
  387. implementation_end;
  388. end;
  389. connections
  390. AdHi0\p2 => Ta0j\p;
  391. Gravity\p => AdHi0\p1;
  392. Hin -> Splitter1\input;
  393. Splitter1\output -> AdHi0\H;
  394. Splitter1\output -> Hout;
  395. Ta0j\p => EJS\p1;
  396. Ta0j\p => InertialTensor\p;
  397. ZeroJunction1\p => p;
  398. ZeroJunction1\p => Ta0j\p;
  399. end;
  400. implementation_end;
  401. COM1 720 200
  402. 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
  403. real I [3,1] = [7.583333333333335e-7; 3.645833333333334e-8; 7.364583333333335e-7] {N.m.s};
  404. real m = 0.0035 {kg};</GlobalRelations></Attributes></Information>';
  405. type Submodel
  406. ports
  407. signal in Hin [4,4];
  408. signal out Hout [4,4];
  409. power out p [6,1];
  410. end;
  411. icon bg bottom
  412. figures
  413. rectangle 688 184 752 216 color 0 fill 139;
  414. text 'COM' 720 200 color 0 'Clear Sans' 16;
  415. terminals
  416. Hin 736 184 fixed;
  417. p 704 184 fixed;
  418. end;
  419. implementation bg
  420. submodels
  421. AdHi0 544 400
  422. 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>';
  423. type MTF
  424. ports
  425. power in p1 [6,1];
  426. power out p2 [6,1];
  427. signal in H [4,4];
  428. restrictions
  429. causality constraint not_equal p1 p2;
  430. end;
  431. icon bg left
  432. figures
  433. text 'MTF' 544 400 color 0 18 bold;
  434. end;
  435. implementation eq
  436. variables
  437. real onlyRotH[4,4];
  438. code
  439. //Only rotations with respect to the inertial system matter!
  440. onlyRotH = H;
  441. onlyRotH[1,4] = 0;
  442. onlyRotH[2,4] = 0;
  443. onlyRotH[3,4] = 0;
  444. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  445. p1.f = Adjoint(onlyRotH) * p2.f;
  446. implementation_end;
  447. EJS 616 336
  448. 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>';
  449. type MGY
  450. ports
  451. power in p1 [6,1];
  452. end;
  453. icon bg top
  454. figures
  455. text 'MGY' 616 336 color 0 18 bold;
  456. end;
  457. implementation eq
  458. //EJS / Gyroscopic effects
  459. parameters
  460. real global I[3];
  461. real global m;
  462. variables
  463. real II[6,6]; //Inertial tensor
  464. real Q[6,6];
  465. real QI[6,6];
  466. real Ia[6];
  467. initialequations
  468. Ia[1:3] = I;
  469. Ia[4:6] = m;
  470. II = diag(Ia);
  471. equations
  472. Q = transpose(adjoint(p1.f));
  473. QI = Q*II;
  474. p1.e = QI*p1.f;implementation_end;
  475. Gravity 624 400
  476. 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>';
  477. type Se
  478. ports
  479. power out p [6,1];
  480. restrictions
  481. causality fixed out p;
  482. end;
  483. icon bg bottom
  484. figures
  485. text 'Se' 624 400 color 0 18 bold;
  486. end;
  487. implementation eq
  488. parameters
  489. real global m;
  490. variables
  491. real effort[6];
  492. equations
  493. effort = [0;0;0;0;0;-g_n*m];
  494. p.e = effort;
  495. implementation_end;
  496. InertialTensor 544 272
  497. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  498. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  499. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  500. </Description>';
  501. type 'I-3'
  502. ports
  503. power in p [6,1];
  504. signal out state [6,1];
  505. restrictions
  506. causality preferred in p;
  507. end;
  508. icon bg bottom
  509. figures
  510. text 'I' 544 272 color 0 18 bold;
  511. end;
  512. implementation eq
  513. parameters
  514. real global I[3];
  515. real global m;
  516. variables
  517. real II[6,6]; //Inertial tensor
  518. real Ia[6];
  519. initialequations
  520. Ia[1:3] = I;
  521. Ia[4:6] = m;
  522. II = diag(Ia);
  523. equations
  524. state = int(p.e); //state = generalized momentum
  525. p.f = inverse(II)*state;
  526. implementation_end;
  527. plug Hin 433.4 496;
  528. plug Hout 691.2 496;
  529. plug p 439.4 336;
  530. Splitter1 544 496
  531. description '<Description><Version>4.0</Version>
  532. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  533. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  534. <IsMainModel>1</IsMainModel>
  535. <KeepParameterValues>False</KeepParameterValues>
  536. </Description>';
  537. knot Splitter
  538. ports
  539. signal knot duplicatable out output [4,4];
  540. signal knot in input [4,4];
  541. end;
  542. icon bg ellipse
  543. figures
  544. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  545. ellipse 539.7 491.7 548.3 500.3 color -1;
  546. terminals
  547. input 544 496 fixed;
  548. end;
  549. implementation eq
  550. equations
  551. collect (output) = input;
  552. implementation_end;
  553. Ta0j 544 336
  554. description '<Description>
  555. <Version>4.0</Version>
  556. <IsMainModel>1</IsMainModel>
  557. <KeepParameterValues>False</KeepParameterValues>
  558. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  559. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  560. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  561. <Description></Description>
  562. </Description>';
  563. knot OneJunction
  564. ports
  565. power knot duplicatable none p [6,1];
  566. signal knot out flow [6,1];
  567. restrictions
  568. causality constraint one_out p;
  569. end;
  570. icon bg bottom
  571. figures
  572. text '1' 544 336 color 0 18 bold;
  573. end;
  574. implementation eq
  575. equations
  576. sum (direct (p.e)) = 0;
  577. equal (collect (p.f));
  578. flow = first (p.f);
  579. implementation_end;
  580. ZeroJunction1 504 336
  581. description '<Information>
  582. <Description>
  583. <Version>4.2</Version>
  584. <IsMainModel>1</IsMainModel>
  585. <KeepParameterValues>False</KeepParameterValues>
  586. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  587. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  588. </Description>
  589. </Information>';
  590. knot ZeroJunction
  591. ports
  592. power knot duplicatable none p [6,1];
  593. signal knot out effort [6,1];
  594. restrictions
  595. causality constraint one_in p;
  596. end;
  597. icon bg
  598. figures
  599. text '0' 504 336 color 0 18 bold;
  600. end;
  601. implementation eq
  602. equations
  603. sum (direct (p.f)) = 0;
  604. equal (collect (p.e));
  605. effort = first (p.e);
  606. implementation_end;
  607. end;
  608. connections
  609. AdHi0\p2 => Ta0j\p;
  610. Gravity\p => AdHi0\p1;
  611. Hin -> Splitter1\input;
  612. Splitter1\output -> AdHi0\H;
  613. Splitter1\output -> Hout;
  614. Ta0j\p => EJS\p1;
  615. Ta0j\p => InertialTensor\p;
  616. ZeroJunction1\p => p;
  617. ZeroJunction1\p => Ta0j\p;
  618. end;
  619. implementation_end;
  620. COM2 904 184
  621. 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
  622. real I [3,1] = [0.018;0.159;0.159] {mN.m.s};
  623. real m = 0.015 {kg};</GlobalRelations></Attributes></Information>';
  624. type Submodel
  625. ports
  626. signal in Hin [4,4];
  627. signal out Hout [4,4];
  628. power out p [6,1];
  629. end;
  630. icon bg bottom
  631. figures
  632. rectangle 872 168 936 200 color 0 fill 139;
  633. text 'COM' 904 184 color 0 'Clear Sans' 16;
  634. terminals
  635. Hin 920 168 fixed;
  636. p 888 168 fixed;
  637. end;
  638. implementation bg
  639. submodels
  640. AdHi0 544 400
  641. 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>';
  642. type MTF
  643. ports
  644. power in p1 [6,1];
  645. power out p2 [6,1];
  646. signal in H [4,4];
  647. restrictions
  648. causality constraint not_equal p1 p2;
  649. end;
  650. icon bg left
  651. figures
  652. text 'MTF' 544 400 color 0 18 bold;
  653. end;
  654. implementation eq
  655. variables
  656. real onlyRotH[4,4];
  657. code
  658. //Only rotations with respect to the inertial system matter!
  659. onlyRotH = H;
  660. onlyRotH[1,4] = 0;
  661. onlyRotH[2,4] = 0;
  662. onlyRotH[3,4] = 0;
  663. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  664. p1.f = Adjoint(onlyRotH) * p2.f;
  665. implementation_end;
  666. EJS 616 336
  667. 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>';
  668. type MGY
  669. ports
  670. power in p1 [6,1];
  671. end;
  672. icon bg top
  673. figures
  674. text 'MGY' 616 336 color 0 18 bold;
  675. end;
  676. implementation eq
  677. //EJS / Gyroscopic effects
  678. parameters
  679. real global I[3];
  680. real global m;
  681. variables
  682. real II[6,6]; //Inertial tensor
  683. real Q[6,6];
  684. real QI[6,6];
  685. real Ia[6];
  686. initialequations
  687. Ia[1:3] = I;
  688. Ia[4:6] = m;
  689. II = diag(Ia);
  690. equations
  691. Q = transpose(adjoint(p1.f));
  692. QI = Q*II;
  693. p1.e = QI*p1.f;implementation_end;
  694. Gravity 624 400
  695. 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>';
  696. type Se
  697. ports
  698. power out p [6,1];
  699. restrictions
  700. causality fixed out p;
  701. end;
  702. icon bg bottom
  703. figures
  704. text 'Se' 624 400 color 0 18 bold;
  705. end;
  706. implementation eq
  707. parameters
  708. real global m;
  709. variables
  710. real effort[6];
  711. equations
  712. effort = [0;0;0;0;0;-g_n*m];
  713. p.e = effort;
  714. implementation_end;
  715. InertialTensor 544 272
  716. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  717. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  718. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  719. </Description>';
  720. type 'I-3'
  721. ports
  722. power in p [6,1];
  723. signal out state [6,1];
  724. restrictions
  725. causality preferred in p;
  726. end;
  727. icon bg bottom
  728. figures
  729. text 'I' 544 272 color 0 18 bold;
  730. end;
  731. implementation eq
  732. parameters
  733. real global I[3];
  734. real global m;
  735. variables
  736. real II[6,6]; //Inertial tensor
  737. real Ia[6];
  738. initialequations
  739. Ia[1:3] = I;
  740. Ia[4:6] = m;
  741. II = diag(Ia);
  742. equations
  743. state = int(p.e); //state = generalized momentum
  744. p.f = inverse(II)*state;
  745. implementation_end;
  746. plug Hin 433.4 496;
  747. plug Hout 691.2 496;
  748. plug p 424 336;
  749. Splitter1 544 496
  750. description '<Description><Version>4.0</Version>
  751. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  752. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  753. <IsMainModel>1</IsMainModel>
  754. <KeepParameterValues>False</KeepParameterValues>
  755. </Description>';
  756. knot Splitter
  757. ports
  758. signal knot duplicatable out output [4,4];
  759. signal knot in input [4,4];
  760. end;
  761. icon bg ellipse
  762. figures
  763. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  764. ellipse 539.7 491.7 548.3 500.3 color -1;
  765. terminals
  766. input 544 496 fixed;
  767. end;
  768. implementation eq
  769. equations
  770. collect (output) = input;
  771. implementation_end;
  772. Ta0j 544 336
  773. description '<Description>
  774. <Version>4.0</Version>
  775. <IsMainModel>1</IsMainModel>
  776. <KeepParameterValues>False</KeepParameterValues>
  777. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  778. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  779. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  780. <Description></Description>
  781. </Description>';
  782. knot OneJunction
  783. ports
  784. power knot duplicatable none p [6,1];
  785. signal knot out flow [6,1];
  786. restrictions
  787. causality constraint one_out p;
  788. end;
  789. icon bg bottom
  790. figures
  791. text '1' 544 336 color 0 18 bold;
  792. end;
  793. implementation eq
  794. equations
  795. sum (direct (p.e)) = 0;
  796. equal (collect (p.f));
  797. flow = first (p.f);
  798. implementation_end;
  799. ZeroJunction1 480 336
  800. description '<Information>
  801. <Description>
  802. <Version>4.2</Version>
  803. <IsMainModel>1</IsMainModel>
  804. <KeepParameterValues>False</KeepParameterValues>
  805. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  806. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  807. </Description>
  808. </Information>';
  809. knot ZeroJunction
  810. ports
  811. power knot duplicatable none p [6,1];
  812. signal knot out effort [6,1];
  813. restrictions
  814. causality constraint one_in p;
  815. end;
  816. icon bg
  817. figures
  818. text '0' 480 336 color 0 18 bold;
  819. end;
  820. implementation eq
  821. equations
  822. sum (direct (p.f)) = 0;
  823. equal (collect (p.e));
  824. effort = first (p.e);
  825. implementation_end;
  826. end;
  827. connections
  828. AdHi0\p2 => Ta0j\p;
  829. Gravity\p => AdHi0\p1;
  830. Hin -> Splitter1\input;
  831. Splitter1\output -> AdHi0\H;
  832. Splitter1\output -> Hout;
  833. Ta0j\p => EJS\p1;
  834. Ta0j\p => InertialTensor\p;
  835. ZeroJunction1\p => p;
  836. ZeroJunction1\p => Ta0j\p;
  837. end;
  838. implementation_end;
  839. inverse_kinematics1 272 552
  840. description '<Information>
  841. <Description>
  842. <Version>4.8</Version>
  843. <LibraryPath>SCARA\inverse_kinematics_v1.emx</LibraryPath>
  844. <IsMainModel>1</IsMainModel>
  845. <KeepParameterValues>False</KeepParameterValues>
  846. <TimeStamp>2020-7-10 12:26:18</TimeStamp>
  847. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  848. </Description>
  849. </Information>';
  850. type 'Submodel-Equation'
  851. ports
  852. signal in input [2,1] {m} ;
  853. signal out angle1 {rad} ;
  854. signal out angle2 {rad} ;
  855. signal out a {rad} ;
  856. signal out b {rad} ;
  857. signal out c {rad} ;
  858. signal out phi {rad} ;
  859. signal out abs_angle2;
  860. end;
  861. implementation eq
  862. parameters
  863. real A_length = 0.065 {m}; // length of first arm
  864. real B_length = 0.05 {m}; // length of second arm
  865. real to_rad = 1 {rad};
  866. variables
  867. real x {m}, y {m};
  868. real C_length {m}; // length to x and y.
  869. equations
  870. x = input[1];
  871. y = input[2];
  872. phi = atan2(y, x);
  873. C_length = sqrt(x^2 + y^2);
  874. a = arccos ((B_length^2 + C_length^2 - A_length^2) / (2 * B_length * C_length));
  875. b = arccos ((A_length^2 + C_length^2 - B_length^2) / (2 * A_length * C_length));
  876. c = arccos ((A_length^2 + B_length^2 - C_length^2) / (2 * A_length * B_length));
  877. angle1 = b + phi;
  878. abs_angle2 = angle1 - pi * to_rad + c;
  879. angle2 = c - pi * to_rad;
  880. implementation_end;
  881. Joint 192 120
  882. description '<Information>
  883. <Description>
  884. <Version>4.8</Version>
  885. <IsMainModel>1</IsMainModel>
  886. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  887. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  888. </Description>
  889. </Information>';
  890. type 'Submodel-v3'
  891. ports
  892. power in Pin [6,1];
  893. power in Pdiff [6,1];
  894. signal in Hin [4,4];
  895. signal out Hout [4,4];
  896. signal out Hdiff [4,4];
  897. power out Pout [6,1];
  898. end;
  899. icon bg bottom
  900. figures
  901. rectangle 168 88 216 152 color 0 fill 14745599;
  902. text 'Joint' 192 120 color 0 'Clear Sans' 16;
  903. terminals
  904. Pin 216 104 fixed;
  905. Hin 168 136 fixed;
  906. Hout 216 136 fixed;
  907. Pout 168 104 fixed;
  908. end;
  909. implementation bg
  910. submodels
  911. AdHji 424 424
  912. description '<Description>
  913. <Version>4.0</Version>
  914. <IsMainModel>1</IsMainModel>
  915. <KeepParameterValues>False</KeepParameterValues>
  916. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  917. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  918. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  919. </Description>';
  920. type MTF
  921. ports
  922. power out p1 [6,1];
  923. power in p2 [6,1];
  924. signal in H [4,4];
  925. restrictions
  926. causality constraint not_equal p1 p2;
  927. end;
  928. icon bg bottom
  929. figures
  930. text 'MTF' 424 424 color 0 18 bold;
  931. end;
  932. implementation eq
  933. equations
  934. p2.e = transpose(Adjoint(H)) * p1.e;
  935. p1.f = Adjoint(H) * p2.f;implementation_end;
  936. FlowSensor2 184 311.9
  937. description '<Information>
  938. <Description>
  939. <Version>4.2</Version>
  940. <IsMainModel>1</IsMainModel>
  941. <KeepParameterValues>False</KeepParameterValues>
  942. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  943. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  944. </Description>
  945. </Information>';
  946. knot FlowSensor
  947. ports
  948. power knot in p1 [6,1];
  949. power knot out p2 [6,1];
  950. signal knot out flow [6,1];
  951. restrictions
  952. causality constraint not_equal p1 p2;
  953. end;
  954. icon bg ellipse
  955. figures
  956. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  957. text 'f' 184 311.2 color 0;
  958. end;
  959. implementation eq
  960. equations
  961. p2.f = p1.f;
  962. p1.e = p2.e;
  963. flow = p1.f;
  964. implementation_end;
  965. Hmatrix 256 312
  966. 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>';
  967. type 'Submodel-Equation'
  968. ports
  969. signal in flow [6,1];
  970. signal out H [4,4];
  971. end;
  972. icon bg
  973. figures
  974. rectangle 224 296 288 328 color 0 fill 15132390;
  975. text 'name' 256 312 color 0 'Clear Sans' 16;
  976. end;
  977. implementation eq
  978. parameters
  979. real init[4] = [1;0;0;0];
  980. variables
  981. real q[4]; //quaternions
  982. real W[3,4]; //Quaternion Rates Matrix
  983. real R[3,3]; //Rotation Matrix
  984. real p[3]; //Position Vector
  985. real dq[4];
  986. real Wb[3,4];
  987. equations
  988. dq = transpose(Wb) * flow[1:3] ./ 2;
  989. q = int(dq,init);
  990. p = int(flow[4:6]);
  991. W = [-q[2], q[1], -q[4], q[3];
  992. -q[3], q[4], q[1], -q[2];
  993. -q[4], -q[3], q[2], q[1]];
  994. Wb = [ -q[2], q[1], q[4], -q[3];
  995. -q[3], -q[4], q[1], q[2];
  996. -q[4], q[3], -q[2], q[1]];
  997. 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]);
  998. 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]);
  999. 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];
  1000. H = homogeneous(R,p);
  1001. implementation_end;
  1002. MatrixMul 320 576
  1003. description '<Description>
  1004. <Version>4.0</Version>
  1005. <IsMainModel>1</IsMainModel>
  1006. <KeepParameterValues>False</KeepParameterValues>
  1007. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1008. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1009. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1010. </Description>';
  1011. type Gain
  1012. ports
  1013. signal in input1 [4,4];
  1014. signal out output [4,4];
  1015. signal in input2 [4,4];
  1016. end;
  1017. icon bg bottom
  1018. figures
  1019. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1020. text 'X' 320 576 color 16711680 16 bold;
  1021. end;
  1022. implementation eq
  1023. equations
  1024. output = input2*input1; implementation_end;
  1025. plug Pin 492.1 424;
  1026. plug Pdiff 184 225;
  1027. plug Hin 130.8 576;
  1028. plug Hout 478.4 576;
  1029. plug Hdiff 320 222;
  1030. plug Pout 134.7 424;
  1031. Splitter2 320 312
  1032. description '<Description><Version>4.0</Version>
  1033. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1034. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1035. <IsMainModel>1</IsMainModel>
  1036. <KeepParameterValues>False</KeepParameterValues>
  1037. </Description>';
  1038. knot Splitter
  1039. ports
  1040. signal knot duplicatable out output [4,4];
  1041. signal knot in input [4,4];
  1042. end;
  1043. icon bg ellipse
  1044. figures
  1045. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  1046. ellipse 315.7 307.7 324.3 316.3 color -1;
  1047. terminals
  1048. input 320 312 fixed;
  1049. end;
  1050. implementation eq
  1051. equations
  1052. collect (output) = input;
  1053. implementation_end;
  1054. Wbai 184 424
  1055. description '<Description>
  1056. <Version>4.0</Version>
  1057. <IsMainModel>1</IsMainModel>
  1058. <KeepParameterValues>False</KeepParameterValues>
  1059. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1060. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  1061. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1062. </Description>';
  1063. knot ZeroJunction
  1064. ports
  1065. power knot duplicatable none p [6,1];
  1066. signal knot out effort [6,1];
  1067. restrictions
  1068. causality constraint one_in p;
  1069. end;
  1070. icon bg bottom
  1071. figures
  1072. text '0' 184 424 color 0 18 bold;
  1073. end;
  1074. implementation eq
  1075. equations
  1076. sum (direct (p.f)) = 0;
  1077. equal (collect (p.e));
  1078. effort = first (p.e);
  1079. implementation_end;
  1080. end;
  1081. connections
  1082. FlowSensor2\flow -> Hmatrix\flow;
  1083. FlowSensor2\p2 => Wbai\p;
  1084. Hin -> MatrixMul\input2;
  1085. Hmatrix\H -> Splitter2\input;
  1086. MatrixMul\output -> Hout;
  1087. Pdiff => FlowSensor2\p1;
  1088. Pin => AdHji\p2;
  1089. Splitter2\output -> AdHji\H 424 312;
  1090. Splitter2\output -> Hdiff;
  1091. Splitter2\output -> MatrixMul\input1;
  1092. Wbai\p <= AdHji\p1;
  1093. Wbai\p => Pout;
  1094. end;
  1095. implementation_end;
  1096. Joint1 536 120
  1097. description '<Information>
  1098. <Description>
  1099. <Version>4.8</Version>
  1100. <IsMainModel>1</IsMainModel>
  1101. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1102. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1103. </Description>
  1104. </Information>';
  1105. type 'Submodel-v3'
  1106. ports
  1107. power in Pin [6,1];
  1108. power in Pdiff [6,1];
  1109. signal in Hin [4,4];
  1110. signal out Hout [4,4];
  1111. signal out Hdiff [4,4];
  1112. power out Pout [6,1];
  1113. end;
  1114. icon bg bottom
  1115. figures
  1116. rectangle 512 88 560 152 color 0 fill 14745599;
  1117. text 'Joint' 536 120 color 0 'Clear Sans' 16;
  1118. terminals
  1119. Pin 560 104 fixed;
  1120. Hin 512 136 fixed;
  1121. Hout 560 136 fixed;
  1122. Pout 512 104 fixed;
  1123. end;
  1124. implementation bg
  1125. submodels
  1126. AdHji 424 424
  1127. description '<Description>
  1128. <Version>4.0</Version>
  1129. <IsMainModel>1</IsMainModel>
  1130. <KeepParameterValues>False</KeepParameterValues>
  1131. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1132. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1133. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1134. </Description>';
  1135. type MTF
  1136. ports
  1137. power out p1 [6,1];
  1138. power in p2 [6,1];
  1139. signal in H [4,4];
  1140. restrictions
  1141. causality constraint not_equal p1 p2;
  1142. end;
  1143. icon bg bottom
  1144. figures
  1145. text 'MTF' 424 424 color 0 18 bold;
  1146. end;
  1147. implementation eq
  1148. equations
  1149. p2.e = transpose(Adjoint(H)) * p1.e;
  1150. p1.f = Adjoint(H) * p2.f;implementation_end;
  1151. FlowSensor2 184 311.9
  1152. description '<Information>
  1153. <Description>
  1154. <Version>4.2</Version>
  1155. <IsMainModel>1</IsMainModel>
  1156. <KeepParameterValues>False</KeepParameterValues>
  1157. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1158. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1159. </Description>
  1160. </Information>';
  1161. knot FlowSensor
  1162. ports
  1163. power knot in p1 [6,1];
  1164. power knot out p2 [6,1];
  1165. signal knot out flow [6,1];
  1166. restrictions
  1167. causality constraint not_equal p1 p2;
  1168. end;
  1169. icon bg ellipse
  1170. figures
  1171. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1172. text 'f' 184 311.2 color 0;
  1173. end;
  1174. implementation eq
  1175. equations
  1176. p2.f = p1.f;
  1177. p1.e = p2.e;
  1178. flow = p1.f;
  1179. implementation_end;
  1180. Hmatrix 256 312
  1181. 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>';
  1182. type 'Submodel-Equation'
  1183. ports
  1184. signal in flow [6,1];
  1185. signal out H [4,4];
  1186. end;
  1187. icon bg
  1188. figures
  1189. rectangle 224 296 288 328 color 0 fill 15132390;
  1190. text 'name' 256 312 color 0 'Clear Sans' 16;
  1191. end;
  1192. implementation eq
  1193. parameters
  1194. real init[4] = [1;0;0;0];
  1195. variables
  1196. real q[4]; //quaternions
  1197. real W[3,4]; //Quaternion Rates Matrix
  1198. real R[3,3]; //Rotation Matrix
  1199. real p[3]; //Position Vector
  1200. real dq[4];
  1201. real Wb[3,4];
  1202. equations
  1203. dq = transpose(Wb) * flow[1:3] ./ 2;
  1204. q = int(dq,init);
  1205. p = int(flow[4:6]);
  1206. W = [-q[2], q[1], -q[4], q[3];
  1207. -q[3], q[4], q[1], -q[2];
  1208. -q[4], -q[3], q[2], q[1]];
  1209. Wb = [ -q[2], q[1], q[4], -q[3];
  1210. -q[3], -q[4], q[1], q[2];
  1211. -q[4], q[3], -q[2], q[1]];
  1212. 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]);
  1213. 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]);
  1214. 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];
  1215. H = homogeneous(R,p);
  1216. implementation_end;
  1217. MatrixMul 320 576
  1218. description '<Description>
  1219. <Version>4.0</Version>
  1220. <IsMainModel>1</IsMainModel>
  1221. <KeepParameterValues>False</KeepParameterValues>
  1222. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1223. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1224. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1225. </Description>';
  1226. type Gain
  1227. ports
  1228. signal in input1 [4,4];
  1229. signal out output [4,4];
  1230. signal in input2 [4,4];
  1231. end;
  1232. icon bg bottom
  1233. figures
  1234. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1235. text 'X' 320 576 color 16711680 16 bold;
  1236. end;
  1237. implementation eq
  1238. equations
  1239. output = input2*input1; implementation_end;
  1240. plug Pin 492.1 424;
  1241. plug Pdiff 184 225;
  1242. plug Hin 130.8 576;
  1243. plug Hout 478.4 576;
  1244. plug Hdiff 320 222;
  1245. plug Pout 134.7 424;
  1246. Splitter2 320 312
  1247. description '<Description><Version>4.0</Version>
  1248. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1249. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1250. <IsMainModel>1</IsMainModel>
  1251. <KeepParameterValues>False</KeepParameterValues>
  1252. </Description>';
  1253. knot Splitter
  1254. ports
  1255. signal knot duplicatable out output [4,4];
  1256. signal knot in input [4,4];
  1257. end;
  1258. icon bg ellipse
  1259. figures
  1260. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  1261. ellipse 315.7 307.7 324.3 316.3 color -1;
  1262. terminals
  1263. input 320 312 fixed;
  1264. end;
  1265. implementation eq
  1266. equations
  1267. collect (output) = input;
  1268. implementation_end;
  1269. Wbai 184 424
  1270. description '<Description>
  1271. <Version>4.0</Version>
  1272. <IsMainModel>1</IsMainModel>
  1273. <KeepParameterValues>False</KeepParameterValues>
  1274. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1275. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  1276. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1277. </Description>';
  1278. knot ZeroJunction
  1279. ports
  1280. power knot duplicatable none p [6,1];
  1281. signal knot out effort [6,1];
  1282. restrictions
  1283. causality constraint one_in p;
  1284. end;
  1285. icon bg bottom
  1286. figures
  1287. text '0' 184 424 color 0 18 bold;
  1288. end;
  1289. implementation eq
  1290. equations
  1291. sum (direct (p.f)) = 0;
  1292. equal (collect (p.e));
  1293. effort = first (p.e);
  1294. implementation_end;
  1295. end;
  1296. connections
  1297. FlowSensor2\flow -> Hmatrix\flow;
  1298. FlowSensor2\p2 => Wbai\p;
  1299. Hin -> MatrixMul\input2;
  1300. Hmatrix\H -> Splitter2\input;
  1301. MatrixMul\output -> Hout;
  1302. Pdiff => FlowSensor2\p1;
  1303. Pin => AdHji\p2;
  1304. Splitter2\output -> AdHji\H 424 312;
  1305. Splitter2\output -> Hdiff;
  1306. Splitter2\output -> MatrixMul\input1;
  1307. Wbai\p <= AdHji\p1;
  1308. Wbai\p => Pout;
  1309. end;
  1310. implementation_end;
  1311. Link 288 120
  1312. description '<Information>
  1313. <Description>
  1314. <Version>4.8</Version>
  1315. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  1316. <IsMainModel>1</IsMainModel>
  1317. <KeepParameterValues>False</KeepParameterValues>
  1318. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  1319. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  1320. </Description>
  1321. </Information>';
  1322. type 'Submodel-Equation'
  1323. ports
  1324. signal in Hin [4,4];
  1325. signal out Hout [4,4];
  1326. power in Pin [6,1];
  1327. power out Pout [6,1];
  1328. restrictions
  1329. causality constraint not_equal Pin Pout;
  1330. end;
  1331. icon bg bottom
  1332. figures
  1333. rectangle 256 96 320 144 color 0 fill 8454041;
  1334. text 'Link' 288 120 color 0 'Clear Sans' 16;
  1335. terminals
  1336. Hin 256 136 fixed;
  1337. Hout 320 136 fixed;
  1338. Pin 320 104 fixed;
  1339. Pout 256 104 fixed;
  1340. end;
  1341. implementation eq
  1342. parameters
  1343. real offset[6]= [0;0;0;0;0.0325;0]; //coordinates of joint_1
  1344. variables
  1345. real Hab[4,4];
  1346. real AdHab[6,6];
  1347. real R[3,3];
  1348. real omega[3];
  1349. initialequations
  1350. omega = offset[1:3];
  1351. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  1352. Hab = homogeneous(R,offset[4:6]);
  1353. AdHab = Adjoint(Hab);
  1354. equations
  1355. Hout = Hin * Hab;
  1356. Pout.e = transpose(AdHab) * Pin.e;
  1357. Pin.f = AdHab * Pout.f;
  1358. implementation_end;
  1359. Link1 456 120
  1360. description '<Information>
  1361. <Description>
  1362. <Version>4.8</Version>
  1363. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  1364. <IsMainModel>1</IsMainModel>
  1365. <KeepParameterValues>False</KeepParameterValues>
  1366. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  1367. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  1368. </Description>
  1369. </Information>';
  1370. type 'Submodel-Equation'
  1371. ports
  1372. signal in Hin [4,4];
  1373. signal out Hout [4,4];
  1374. power in Pin [6,1];
  1375. power out Pout [6,1];
  1376. restrictions
  1377. causality constraint not_equal Pin Pout;
  1378. end;
  1379. icon bg bottom
  1380. figures
  1381. rectangle 424 96 488 144 color 0 fill 8454041;
  1382. text 'Link' 456 120 color 0 'Clear Sans' 16;
  1383. terminals
  1384. Hin 424 136 fixed;
  1385. Hout 488 136 fixed;
  1386. Pin 488 104 fixed;
  1387. Pout 424 104 fixed;
  1388. end;
  1389. implementation eq
  1390. parameters
  1391. real offset[6]= [0;0;0;0;0.0325;0]; //coordinates of joint_1
  1392. variables
  1393. real Hab[4,4];
  1394. real AdHab[6,6];
  1395. real R[3,3];
  1396. real omega[3];
  1397. initialequations
  1398. omega = offset[1:3];
  1399. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZr',omega);
  1400. Hab = homogeneous(R,offset[4:6]);
  1401. AdHab = Adjoint(Hab);
  1402. equations
  1403. Hout = Hin * Hab;
  1404. Pout.e = transpose(AdHab) * Pin.e;
  1405. Pin.f = AdHab * Pout.f;
  1406. implementation_end;
  1407. Link2 624 120
  1408. description '<Information>
  1409. <Description>
  1410. <Version>4.8</Version>
  1411. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  1412. <IsMainModel>1</IsMainModel>
  1413. <KeepParameterValues>False</KeepParameterValues>
  1414. <TimeStamp>2020-7-19 15:22:34</TimeStamp>
  1415. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  1416. </Description>
  1417. </Information>';
  1418. type 'Submodel-Equation'
  1419. ports
  1420. signal in Hin [4,4];
  1421. signal out Hout [4,4];
  1422. power in Pin [6,1];
  1423. power out Pout [6,1];
  1424. restrictions
  1425. causality constraint not_equal Pin Pout;
  1426. end;
  1427. icon bg bottom
  1428. figures
  1429. rectangle 592 96 656 144 color 0 fill 8454041;
  1430. text 'Link' 624 120 color 0 'Clear Sans' 16;
  1431. terminals
  1432. Hin 592 136 fixed;
  1433. Hout 656 136 fixed;
  1434. Pin 656 104 fixed;
  1435. Pout 592 104 fixed;
  1436. end;
  1437. implementation eq
  1438. parameters
  1439. real offset[3]= [0;0.025;0]; //coordinates of joint_1
  1440. variables
  1441. real Hab[4,4];
  1442. real AdHab[6,6];
  1443. equations
  1444. Hab = homogeneous(eye(3),offset);
  1445. AdHab = Adjoint(eye(3),offset);
  1446. Hout = Hin * Hab;
  1447. Pout.e = transpose(AdHab) * Pin.e;
  1448. Pin.f = AdHab * Pout.f;
  1449. implementation_end;
  1450. Link3 800 120
  1451. description '<Information>
  1452. <Description>
  1453. <Version>4.8</Version>
  1454. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  1455. <IsMainModel>1</IsMainModel>
  1456. <KeepParameterValues>False</KeepParameterValues>
  1457. <TimeStamp>2020-7-19 15:22:34</TimeStamp>
  1458. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  1459. </Description>
  1460. </Information>';
  1461. type 'Submodel-Equation'
  1462. ports
  1463. signal in Hin [4,4];
  1464. signal out Hout [4,4];
  1465. power in Pin [6,1];
  1466. power out Pout [6,1];
  1467. restrictions
  1468. causality constraint not_equal Pin Pout;
  1469. end;
  1470. icon bg bottom
  1471. figures
  1472. rectangle 768 96 832 144 color 0 fill 8454041;
  1473. text 'Link' 800 120 color 0 'Clear Sans' 16;
  1474. terminals
  1475. Hin 768 136 fixed;
  1476. Hout 832 136 fixed;
  1477. Pin 832 104 fixed;
  1478. Pout 768 104 fixed;
  1479. end;
  1480. implementation eq
  1481. parameters
  1482. real offset[3]= [0;0.025;0]; //coordinates of joint_1
  1483. variables
  1484. real Hab[4,4];
  1485. real AdHab[6,6];
  1486. equations
  1487. Hab = homogeneous(eye(3),offset);
  1488. AdHab = Adjoint(eye(3),offset);
  1489. Hout = Hin * Hab;
  1490. Pout.e = transpose(AdHab) * Pin.e;
  1491. Pin.f = AdHab * Pout.f;
  1492. implementation_end;
  1493. Negate1 272 472
  1494. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1495. <LibraryPath>Signal\Block Diagram\Negate.emx</LibraryPath>
  1496. <TimeStamp>2007-9-26 12:14:11</TimeStamp>
  1497. </Description>';
  1498. type Negate
  1499. ports
  1500. signal in input;
  1501. signal out output;
  1502. end;
  1503. icon bg bottom
  1504. figures
  1505. rectangle 256 456 288 488 color 0 fill 15132390;
  1506. text '-1' 272 472 color 16711680 16 bold;
  1507. end;
  1508. implementation eq
  1509. equations
  1510. output = - input;
  1511. implementation_end;
  1512. Negate2 520 552
  1513. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1514. <LibraryPath>Signal\Block Diagram\Negate.emx</LibraryPath>
  1515. <TimeStamp>2007-9-26 12:14:11</TimeStamp>
  1516. </Description>';
  1517. type Negate
  1518. ports
  1519. signal in input;
  1520. signal out output;
  1521. end;
  1522. icon bg bottom
  1523. figures
  1524. rectangle 504 536 536 568 color 0 fill 15132390;
  1525. text '-1' 520 552 color 16711680 16 bold;
  1526. end;
  1527. implementation eq
  1528. equations
  1529. output = - input;
  1530. implementation_end;
  1531. new_joint1 376 280
  1532. description '<Description><Version>4.0</Version>
  1533. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  1534. <IsMainModel>1</IsMainModel>
  1535. <KeepParameterValues>False</KeepParameterValues>
  1536. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  1537. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  1538. </Description>';
  1539. type 'Submodel-Equation'
  1540. ports
  1541. signal in input [4,4];
  1542. end;
  1543. implementation eq
  1544. variables
  1545. real position[3];
  1546. real rotation[3];
  1547. real R[3,3];
  1548. equations
  1549. position = input[1:3,4];
  1550. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  1551. //[input[3,2];input[1,3];input[2,1]];
  1552. R = input[1:3,1:3];implementation_end;
  1553. new_joint2 720 256
  1554. description '<Description><Version>4.0</Version>
  1555. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  1556. <IsMainModel>1</IsMainModel>
  1557. <KeepParameterValues>False</KeepParameterValues>
  1558. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  1559. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  1560. </Description>';
  1561. type 'Submodel-Equation'
  1562. ports
  1563. signal in input [4,4];
  1564. end;
  1565. implementation eq
  1566. variables
  1567. real position[3];
  1568. real rotation[3];
  1569. real R[3,3];
  1570. equations
  1571. // start typing here
  1572. position = input[1:3,4];
  1573. rotation = [input[3,2];input[1,3];input[2,1]];
  1574. R = input[1:3,1:3];implementation_end;
  1575. new_joint3 1016 184
  1576. description '<Description><Version>4.0</Version>
  1577. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  1578. <IsMainModel>1</IsMainModel>
  1579. <KeepParameterValues>False</KeepParameterValues>
  1580. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  1581. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  1582. </Description>';
  1583. type 'Submodel-Equation'
  1584. ports
  1585. signal in input [4,4];
  1586. end;
  1587. implementation eq
  1588. variables
  1589. real position[3];
  1590. real rotation[3];
  1591. real R[3,3];
  1592. equations
  1593. position = input[1:3,4];
  1594. rotation = [input[3,2];input[1,3];input[2,1]];
  1595. R = input[1:3,1:3];implementation_end;
  1596. OneJunction1 360 104
  1597. description '<Information>
  1598. <Description>
  1599. <Version>4.2</Version>
  1600. <IsMainModel>1</IsMainModel>
  1601. <KeepParameterValues>False</KeepParameterValues>
  1602. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1603. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1604. </Description>
  1605. </Information>';
  1606. knot OneJunction
  1607. ports
  1608. power knot duplicatable none p [6,1];
  1609. signal knot out flow [6,1];
  1610. restrictions
  1611. causality constraint one_out p;
  1612. end;
  1613. icon bg
  1614. figures
  1615. text '1' 360 104 color 0 18 bold;
  1616. end;
  1617. implementation eq
  1618. equations
  1619. sum (direct (p.e)) = 0;
  1620. equal (collect (p.f));
  1621. flow = first (p.f);
  1622. implementation_end;
  1623. OneJunction11 520 352
  1624. description '<Information>
  1625. <Description>
  1626. <Version>4.2</Version>
  1627. <IsMainModel>1</IsMainModel>
  1628. <KeepParameterValues>False</KeepParameterValues>
  1629. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1630. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1631. </Description>
  1632. </Information>';
  1633. knot OneJunction
  1634. ports
  1635. rotation knot duplicatable none p [1];
  1636. signal knot out flow [1];
  1637. restrictions
  1638. causality constraint one_out p;
  1639. end;
  1640. icon bg
  1641. figures
  1642. text '1' 520 352 color 0 18 bold;
  1643. end;
  1644. implementation eq
  1645. equations
  1646. sum (direct (p.e)) = 0;
  1647. equal (collect (p.f));
  1648. flow = first (p.f);
  1649. implementation_end;
  1650. OneJunction12 888 104
  1651. description '<Information>
  1652. <Description>
  1653. <Version>4.2</Version>
  1654. <IsMainModel>1</IsMainModel>
  1655. <KeepParameterValues>False</KeepParameterValues>
  1656. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1657. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1658. </Description>
  1659. </Information>';
  1660. knot OneJunction
  1661. ports
  1662. power knot duplicatable none p [6,1];
  1663. signal knot out flow [6,1];
  1664. restrictions
  1665. causality constraint one_out p;
  1666. end;
  1667. icon bg
  1668. figures
  1669. text '1' 888 104 color 0 18 bold;
  1670. end;
  1671. implementation eq
  1672. equations
  1673. sum (direct (p.e)) = 0;
  1674. equal (collect (p.f));
  1675. flow = first (p.f);
  1676. implementation_end;
  1677. OneJunction14 112 352
  1678. description '<Information>
  1679. <Description>
  1680. <Version>4.2</Version>
  1681. <IsMainModel>1</IsMainModel>
  1682. <KeepParameterValues>False</KeepParameterValues>
  1683. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1684. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1685. </Description>
  1686. </Information>';
  1687. knot OneJunction
  1688. ports
  1689. rotation knot duplicatable none p [1];
  1690. signal knot out flow [1];
  1691. restrictions
  1692. causality constraint one_out p;
  1693. end;
  1694. icon bg
  1695. figures
  1696. text '1' 112 352 color 0 18 bold;
  1697. end;
  1698. implementation eq
  1699. equations
  1700. sum (direct (p.e)) = 0;
  1701. equal (collect (p.f));
  1702. flow = first (p.f);
  1703. implementation_end;
  1704. OneJunction17 456 280
  1705. description '<Information>
  1706. <Description>
  1707. <Version>4.2</Version>
  1708. <IsMainModel>1</IsMainModel>
  1709. <KeepParameterValues>False</KeepParameterValues>
  1710. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1711. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1712. </Description>
  1713. </Information>';
  1714. knot OneJunction
  1715. ports
  1716. rotation knot duplicatable none p [1];
  1717. signal knot out flow [1];
  1718. restrictions
  1719. causality constraint one_out p;
  1720. end;
  1721. icon bg
  1722. figures
  1723. text '1' 456 280 color 0 18 bold;
  1724. end;
  1725. implementation eq
  1726. equations
  1727. sum (direct (p.e)) = 0;
  1728. equal (collect (p.f));
  1729. flow = first (p.f);
  1730. implementation_end;
  1731. OneJunction2 120 104
  1732. description '<Information>
  1733. <Description>
  1734. <Version>4.2</Version>
  1735. <IsMainModel>1</IsMainModel>
  1736. <KeepParameterValues>False</KeepParameterValues>
  1737. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1738. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1739. </Description>
  1740. </Information>';
  1741. knot OneJunction
  1742. ports
  1743. power knot duplicatable none p [6,1];
  1744. signal knot out flow [6,1];
  1745. restrictions
  1746. causality constraint one_out p;
  1747. end;
  1748. icon bg
  1749. figures
  1750. text '1' 120 104 color 0 18 bold;
  1751. end;
  1752. implementation eq
  1753. equations
  1754. sum (direct (p.e)) = 0;
  1755. equal (collect (p.f));
  1756. flow = first (p.f);
  1757. implementation_end;
  1758. OneJunction3 704 104
  1759. description '<Information>
  1760. <Description>
  1761. <Version>4.2</Version>
  1762. <IsMainModel>1</IsMainModel>
  1763. <KeepParameterValues>False</KeepParameterValues>
  1764. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1765. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1766. </Description>
  1767. </Information>';
  1768. knot OneJunction
  1769. ports
  1770. power knot duplicatable none p [6,1];
  1771. signal knot out flow [6,1];
  1772. restrictions
  1773. causality constraint one_out p;
  1774. end;
  1775. icon bg
  1776. figures
  1777. text '1' 704 104 color 0 18 bold;
  1778. end;
  1779. implementation eq
  1780. equations
  1781. sum (direct (p.e)) = 0;
  1782. equal (collect (p.f));
  1783. flow = first (p.f);
  1784. implementation_end;
  1785. OneJunction4 593 232
  1786. description '<Information>
  1787. <Description>
  1788. <Version>4.2</Version>
  1789. <IsMainModel>1</IsMainModel>
  1790. <KeepParameterValues>False</KeepParameterValues>
  1791. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1792. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1793. </Description>
  1794. </Information>';
  1795. knot OneJunction
  1796. ports
  1797. power knot duplicatable none p [2,1];
  1798. signal knot out flow [2,1];
  1799. restrictions
  1800. causality constraint one_out p;
  1801. end;
  1802. icon bg
  1803. figures
  1804. text '1' 593 232 color 0 18 bold;
  1805. end;
  1806. implementation eq
  1807. equations
  1808. sum (direct (p.e)) = 0;
  1809. equal (collect (p.f));
  1810. flow = first (p.f);
  1811. implementation_end;
  1812. OneJunction5 257 240
  1813. description '<Information>
  1814. <Description>
  1815. <Version>4.2</Version>
  1816. <IsMainModel>1</IsMainModel>
  1817. <KeepParameterValues>False</KeepParameterValues>
  1818. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1819. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1820. </Description>
  1821. </Information>';
  1822. knot OneJunction
  1823. ports
  1824. power knot duplicatable none p [2,1];
  1825. signal knot out flow [2,1];
  1826. restrictions
  1827. causality constraint one_out p;
  1828. end;
  1829. icon bg
  1830. figures
  1831. text '1' 257 240 color 0 18 bold;
  1832. end;
  1833. implementation eq
  1834. equations
  1835. sum (direct (p.e)) = 0;
  1836. equal (collect (p.f));
  1837. flow = first (p.f);
  1838. implementation_end;
  1839. OneJunction6 257 256
  1840. description '<Information>
  1841. <Description>
  1842. <Version>4.2</Version>
  1843. <IsMainModel>1</IsMainModel>
  1844. <KeepParameterValues>False</KeepParameterValues>
  1845. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1846. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1847. </Description>
  1848. </Information>';
  1849. knot OneJunction
  1850. ports
  1851. power knot duplicatable none p [3,1];
  1852. signal knot out flow [3,1];
  1853. restrictions
  1854. causality constraint one_out p;
  1855. end;
  1856. icon bg
  1857. figures
  1858. text '1' 257 256 color 0 18 bold;
  1859. end;
  1860. implementation eq
  1861. equations
  1862. sum (direct (p.e)) = 0;
  1863. equal (collect (p.f));
  1864. flow = first (p.f);
  1865. implementation_end;
  1866. OneJunction7 593 248
  1867. description '<Information>
  1868. <Description>
  1869. <Version>4.2</Version>
  1870. <IsMainModel>1</IsMainModel>
  1871. <KeepParameterValues>False</KeepParameterValues>
  1872. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1873. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1874. </Description>
  1875. </Information>';
  1876. knot OneJunction
  1877. ports
  1878. power knot duplicatable none p [3,1];
  1879. signal knot out flow [3,1];
  1880. restrictions
  1881. causality constraint one_out p;
  1882. end;
  1883. icon bg
  1884. figures
  1885. text '1' 593 248 color 0 18 bold;
  1886. end;
  1887. implementation eq
  1888. equations
  1889. sum (direct (p.e)) = 0;
  1890. equal (collect (p.f));
  1891. flow = first (p.f);
  1892. implementation_end;
  1893. OneJunction8 32 280
  1894. description '<Information>
  1895. <Description>
  1896. <Version>4.2</Version>
  1897. <IsMainModel>1</IsMainModel>
  1898. <KeepParameterValues>False</KeepParameterValues>
  1899. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1900. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1901. </Description>
  1902. </Information>';
  1903. knot OneJunction
  1904. ports
  1905. rotation knot duplicatable none p [1];
  1906. signal knot out flow [1];
  1907. restrictions
  1908. causality constraint one_out p;
  1909. end;
  1910. icon bg
  1911. figures
  1912. text '1' 32 280 color 0 18 bold;
  1913. end;
  1914. implementation eq
  1915. equations
  1916. sum (direct (p.e)) = 0;
  1917. equal (collect (p.f));
  1918. flow = first (p.f);
  1919. implementation_end;
  1920. PowerMux 192 214
  1921. specifications active 'rot_x'
  1922. specification 'rot_x'
  1923. description '<Information>
  1924. <Description>
  1925. <Version>4.8</Version>
  1926. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  1927. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  1928. <IsMainModel>1</IsMainModel>
  1929. <KeepParameterValues>False</KeepParameterValues>
  1930. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1931. </Description>
  1932. </Information>';
  1933. type 'PowerMux-Rotation'
  1934. ports
  1935. power in input;
  1936. power out output [6,1];
  1937. power in input_rot2 [2,1];
  1938. power in input_pos3 [3,1];
  1939. restrictions
  1940. causality constraint not_equal input output;
  1941. causality constraint not_equal input_rot2 output;
  1942. causality constraint not_equal input_pos3 output;
  1943. end;
  1944. icon bg bottom
  1945. figures
  1946. line 168 216 216 216 color 0 width 2;
  1947. rectangle 168 208 216 220 color -1;
  1948. text '1' 186 211 color 8421504 8;
  1949. terminals
  1950. input 176 216 fixed;
  1951. output 192 216 fixed;
  1952. input_rot2 208 216 fixed;
  1953. input_pos3 192 216 fixed;
  1954. end;
  1955. implementation eq
  1956. equations
  1957. output.e[1] = input.e;
  1958. output.e[2:3] = input_rot2.e;
  1959. output.e[4:6] = input_pos3.e;
  1960. output.f[1] = input.f;
  1961. output.f[2:3] = input_rot2.f;
  1962. output.f[4:6] = input_pos3.f;implementation_end;
  1963. specification_end;
  1964. specification 'rot_y'
  1965. description '<Description>
  1966. <Version>4.1</Version>
  1967. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  1968. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  1969. <IsMainModel>1</IsMainModel>
  1970. <KeepParameterValues>False</KeepParameterValues>
  1971. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1972. </Description>';
  1973. type PowerMux
  1974. ports
  1975. power in input;
  1976. power out output [6,1];
  1977. power in input_rot2 [2,1];
  1978. power in input_pos3 [3,1];
  1979. restrictions
  1980. causality constraint not_equal input output;
  1981. end;
  1982. icon bg bottom
  1983. figures
  1984. line 808 216 808 264 color 0 width 2;
  1985. rectangle 804 216 816 264 color -1;
  1986. text '1' 813 234 color 8421504 8;
  1987. terminals
  1988. input 808 224 fixed;
  1989. output 808 240 fixed;
  1990. input_rot2 808 256 fixed;
  1991. input_pos3 808 240 fixed;
  1992. end;
  1993. implementation eq
  1994. equations
  1995. output.e[1] = input_rot2.e[1];
  1996. output.e[2] = input.e;
  1997. output.e[3] = input_rot2.e[2];
  1998. output.e[4:6] = input_pos3.e;
  1999. output.f[1] = input_rot2.f[1];
  2000. output.f[2] = input.f;
  2001. output.f[3] = input_rot2.f[2];
  2002. output.f[4:6] = input_pos3.f;implementation_end;
  2003. specification_end;
  2004. specification 'rot_z'
  2005. description '<Description>
  2006. <Version>4.1</Version>
  2007. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  2008. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  2009. <IsMainModel>1</IsMainModel>
  2010. <KeepParameterValues>False</KeepParameterValues>
  2011. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2012. </Description>';
  2013. type PowerMux
  2014. ports
  2015. power in input;
  2016. power out output [6,1];
  2017. power in input_rot2 [2,1];
  2018. power in input_pos3 [3,1];
  2019. restrictions
  2020. causality constraint not_equal input output;
  2021. end;
  2022. icon bg bottom
  2023. figures
  2024. line 808 216 808 264 color 0 width 2;
  2025. rectangle 804 216 816 264 color -1;
  2026. text '1' 813 234 color 8421504 8;
  2027. terminals
  2028. input 808 224 fixed;
  2029. output 808 240 fixed;
  2030. input_rot2 808 256 fixed;
  2031. input_pos3 808 240 fixed;
  2032. end;
  2033. implementation eq
  2034. equations
  2035. output.e[3] = input.e;
  2036. output.e[1:2] = input_rot2.e;
  2037. output.e[4:6] = input_pos3.e;
  2038. output.f[3] = input.f;
  2039. output.f[1:2] = input_rot2.f;
  2040. output.f[4:6] = input_pos3.f;implementation_end;
  2041. specification_end;
  2042. end;
  2043. PowerMux1 536 206
  2044. specifications active 'rot_x'
  2045. specification 'rot_x'
  2046. description '<Information>
  2047. <Description>
  2048. <Version>4.8</Version>
  2049. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  2050. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  2051. <IsMainModel>1</IsMainModel>
  2052. <KeepParameterValues>False</KeepParameterValues>
  2053. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2054. </Description>
  2055. </Information>';
  2056. type 'PowerMux-Rotation'
  2057. ports
  2058. power in input;
  2059. power out output [6,1];
  2060. power in input_rot2 [2,1];
  2061. power in input_pos3 [3,1];
  2062. restrictions
  2063. causality constraint not_equal input output;
  2064. causality constraint not_equal input_rot2 output;
  2065. causality constraint not_equal input_pos3 output;
  2066. end;
  2067. icon bg bottom
  2068. figures
  2069. line 512 208 560 208 color 0 width 2;
  2070. rectangle 512 200 560 212 color -1;
  2071. text '1' 530 203 color 8421504 8;
  2072. terminals
  2073. input 520 208 fixed;
  2074. output 536 208 fixed;
  2075. input_rot2 552 208 fixed;
  2076. input_pos3 536 208 fixed;
  2077. end;
  2078. implementation eq
  2079. equations
  2080. output.e[1] = input.e;
  2081. output.e[2:3] = input_rot2.e;
  2082. output.e[4:6] = input_pos3.e;
  2083. output.f[1] = input.f;
  2084. output.f[2:3] = input_rot2.f;
  2085. output.f[4:6] = input_pos3.f;implementation_end;
  2086. specification_end;
  2087. specification 'rot_y'
  2088. description '<Description>
  2089. <Version>4.1</Version>
  2090. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  2091. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  2092. <IsMainModel>1</IsMainModel>
  2093. <KeepParameterValues>False</KeepParameterValues>
  2094. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2095. </Description>';
  2096. type PowerMux
  2097. ports
  2098. power in input;
  2099. power out output [6,1];
  2100. power in input_rot2 [2,1];
  2101. power in input_pos3 [3,1];
  2102. restrictions
  2103. causality constraint not_equal input output;
  2104. end;
  2105. icon bg bottom
  2106. figures
  2107. line 808 216 808 264 color 0 width 2;
  2108. rectangle 804 216 816 264 color -1;
  2109. text '1' 813 234 color 8421504 8;
  2110. terminals
  2111. input 808 224 fixed;
  2112. output 808 240 fixed;
  2113. input_rot2 808 256 fixed;
  2114. input_pos3 808 240 fixed;
  2115. end;
  2116. implementation eq
  2117. equations
  2118. output.e[1] = input_rot2.e[1];
  2119. output.e[2] = input.e;
  2120. output.e[3] = input_rot2.e[2];
  2121. output.e[4:6] = input_pos3.e;
  2122. output.f[1] = input_rot2.f[1];
  2123. output.f[2] = input.f;
  2124. output.f[3] = input_rot2.f[2];
  2125. output.f[4:6] = input_pos3.f;implementation_end;
  2126. specification_end;
  2127. specification 'rot_z'
  2128. description '<Description>
  2129. <Version>4.1</Version>
  2130. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  2131. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  2132. <IsMainModel>1</IsMainModel>
  2133. <KeepParameterValues>False</KeepParameterValues>
  2134. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2135. </Description>';
  2136. type PowerMux
  2137. ports
  2138. power in input;
  2139. power out output [6,1];
  2140. power in input_rot2 [2,1];
  2141. power in input_pos3 [3,1];
  2142. restrictions
  2143. causality constraint not_equal input output;
  2144. end;
  2145. icon bg bottom
  2146. figures
  2147. line 808 216 808 264 color 0 width 2;
  2148. rectangle 804 216 816 264 color -1;
  2149. text '1' 813 234 color 8421504 8;
  2150. terminals
  2151. input 808 224 fixed;
  2152. output 808 240 fixed;
  2153. input_rot2 808 256 fixed;
  2154. input_pos3 808 240 fixed;
  2155. end;
  2156. implementation eq
  2157. equations
  2158. output.e[3] = input.e;
  2159. output.e[1:2] = input_rot2.e;
  2160. output.e[4:6] = input_pos3.e;
  2161. output.f[3] = input.f;
  2162. output.f[1:2] = input_rot2.f;
  2163. output.f[4:6] = input_pos3.f;implementation_end;
  2164. specification_end;
  2165. end;
  2166. R1 456 328
  2167. description '<Information>
  2168. <Description>
  2169. <Version>4.2</Version>
  2170. <IsMainModel>1</IsMainModel>
  2171. <KeepParameterValues>False</KeepParameterValues>
  2172. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  2173. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  2174. </Description>
  2175. </Information>';
  2176. type R
  2177. ports
  2178. power in p;
  2179. end;
  2180. icon bg bottom
  2181. figures
  2182. text 'R' 456 328 color 0 18 bold;
  2183. end;
  2184. implementation eq
  2185. parameters
  2186. real r = 25;
  2187. equations
  2188. p.e = r * p.f;
  2189. implementation_end;
  2190. R2 257 184
  2191. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2192. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  2193. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  2194. </Description>';
  2195. type 'R-2'
  2196. ports
  2197. power in p [2,1];
  2198. end;
  2199. icon bg bottom
  2200. figures
  2201. text 'R' 257 184 color 0 18 bold;
  2202. end;
  2203. implementation eq
  2204. parameters
  2205. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  2206. equations
  2207. p.e = r * p.f;
  2208. implementation_end;
  2209. R3 257 312
  2210. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2211. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  2212. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  2213. </Description>';
  2214. type 'R-3'
  2215. ports
  2216. power in p [3,1];
  2217. end;
  2218. icon bg bottom
  2219. figures
  2220. text 'R' 257 312 color 0 18 bold;
  2221. end;
  2222. implementation eq
  2223. parameters
  2224. 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};
  2225. equations
  2226. p.e = r * p.f;
  2227. implementation_end;
  2228. R4 593 176
  2229. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2230. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  2231. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  2232. </Description>';
  2233. type 'R-2'
  2234. ports
  2235. power in p [2,1];
  2236. end;
  2237. icon bg bottom
  2238. figures
  2239. text 'R' 593 176 color 0 18 bold;
  2240. end;
  2241. implementation eq
  2242. parameters
  2243. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  2244. equations
  2245. p.e = r * p.f;
  2246. implementation_end;
  2247. R5 593 304
  2248. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2249. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  2250. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  2251. </Description>';
  2252. type 'R-3'
  2253. ports
  2254. power in p [3,1];
  2255. end;
  2256. icon bg bottom
  2257. figures
  2258. text 'R' 593 304 color 0 18 bold;
  2259. end;
  2260. implementation eq
  2261. parameters
  2262. 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};
  2263. equations
  2264. p.e = r * p.f;
  2265. implementation_end;
  2266. R6 32 328
  2267. description '<Information>
  2268. <Description>
  2269. <Version>4.2</Version>
  2270. <IsMainModel>1</IsMainModel>
  2271. <KeepParameterValues>False</KeepParameterValues>
  2272. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  2273. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  2274. </Description>
  2275. </Information>';
  2276. type R
  2277. ports
  2278. power in p;
  2279. end;
  2280. icon bg bottom
  2281. figures
  2282. text 'R' 32 328 color 0 18 bold;
  2283. end;
  2284. implementation eq
  2285. parameters
  2286. real r = 25;
  2287. equations
  2288. p.e = r * p.f;
  2289. implementation_end;
  2290. rectanglepath 104 552
  2291. description '<Information>
  2292. <Description>
  2293. <Version>4.8</Version>
  2294. <LibraryPath>setpoint\rectanglepath.emx</LibraryPath>
  2295. <IsMainModel>1</IsMainModel>
  2296. <KeepParameterValues>False</KeepParameterValues>
  2297. <TimeStamp>2020-7-10 12:30:38</TimeStamp>
  2298. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  2299. </Description>
  2300. </Information>';
  2301. type 'Submodel-Equation'
  2302. ports
  2303. signal out output [2,1];
  2304. end;
  2305. implementation eq
  2306. /*
  2307. This will generate coordinates for the box that has to be drawn
  2308. */
  2309. parameters
  2310. real w = 0.07{m} ;
  2311. real h = 0.05 {m};
  2312. real t = 0.5 {s};
  2313. real origin[2] = [0.01,0.03]{m};
  2314. variables
  2315. real v {m/s};
  2316. real t_w {s};
  2317. real t_h {s};
  2318. real period {s};
  2319. initialequations
  2320. v = (2*w + 2*h)/t;
  2321. t_w = w / v;
  2322. t_h = h / v;
  2323. equations
  2324. period = floor(time / t) * t;
  2325. output[1] = v*(ramp(period+t_h) - ramp(period + t_w+t_h) - ramp(period + t_w + t_h + t_h)) + origin[1];
  2326. output[2] = v*(ramp(period) - ramp(period + t_h) - ramp(period + t_h + t_w) + ramp(period + 2 * t_h + t_w))+ origin[2];
  2327. implementation_end;
  2328. rectanglepath1 272 656
  2329. description '<Information>
  2330. <Description>
  2331. <Version>4.8</Version>
  2332. <LibraryPath>setpoint\rectanglepath.emx</LibraryPath>
  2333. <IsMainModel>1</IsMainModel>
  2334. <KeepParameterValues>False</KeepParameterValues>
  2335. <TimeStamp>2020-7-10 12:30:38</TimeStamp>
  2336. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  2337. </Description>
  2338. </Information>';
  2339. type 'Submodel-Equation'
  2340. ports
  2341. signal out output [2,1];
  2342. end;
  2343. icon bg
  2344. figures
  2345. rectangle 216 640 328 672 color 0 fill 15132390;
  2346. text 'name' 272 656 color 0 'Clear Sans' 16;
  2347. end;
  2348. implementation eq
  2349. /*
  2350. This will generate coordinates for the box that has to be drawn
  2351. */
  2352. parameters
  2353. real w = 0.07{m} ;
  2354. real h = 0.05 {m};
  2355. real t = 1 {s};
  2356. real origin[2] = [0.01,0.03]{m};
  2357. variables
  2358. real v {m/s};
  2359. real t_w {s};
  2360. real t_h {s};
  2361. real period {s};
  2362. boolean y;
  2363. initialequations
  2364. v = (2*w + 2*h)/t;
  2365. t_w = w / v;
  2366. t_h = h / v;
  2367. code
  2368. y = frequencyevent (t,0);
  2369. period = t - time + floor(time / t) * t;
  2370. if period < t_w or time < 4 then
  2371. output = origin;
  2372. else
  2373. if period < t_w + t_h then
  2374. output = origin + [w;0];
  2375. else
  2376. if period < 2 * t_w + t_h then
  2377. output = origin + [w;h];
  2378. else
  2379. output = origin + [0;h];
  2380. end;
  2381. end;
  2382. end;
  2383. //output[1] = v*(ramp(period+t_h) - ramp(period + t_w+t_h) - ramp(period + t_w + t_h + t_h)) + origin[1];
  2384. //output[2] = v*(ramp(period) - ramp(period + t_h) - ramp(period + t_h + t_w) + ramp(period + 2 * t_h + t_w))+ origin[2];
  2385. implementation_end;
  2386. Sf2 64 104
  2387. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2388. <LibraryPath>Bond Graph\2D\Sf-2.emx</LibraryPath>
  2389. <TimeStamp>2007-9-25 12:7:5</TimeStamp>
  2390. </Description>';
  2391. type 'Sf-2'
  2392. ports
  2393. power out p [6,1];
  2394. restrictions
  2395. causality fixed in p;
  2396. end;
  2397. icon bg bottom
  2398. figures
  2399. text 'Sf' 64 104 color 0 18 bold;
  2400. end;
  2401. implementation eq
  2402. parameters
  2403. real flow[6,1] = 0;
  2404. variables
  2405. real effort [6];
  2406. equations
  2407. p.f = flow;
  2408. effort = p.e;
  2409. implementation_end;
  2410. Splitter1 392 136
  2411. description '<Description><Version>4.0</Version>
  2412. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2413. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2414. <IsMainModel>1</IsMainModel>
  2415. <KeepParameterValues>False</KeepParameterValues>
  2416. </Description>';
  2417. knot Splitter
  2418. ports
  2419. signal knot duplicatable out output [4,4];
  2420. signal knot in input [4,4];
  2421. end;
  2422. icon bg ellipse
  2423. figures
  2424. ellipse 388.8 132.8 395.2 139.2 color -1 fill 0;
  2425. ellipse 387.7 131.7 396.3 140.3 color -1;
  2426. terminals
  2427. input 392 136 fixed;
  2428. end;
  2429. implementation eq
  2430. equations
  2431. collect (output) = input;
  2432. implementation_end;
  2433. Splitter2 736 136
  2434. description '<Description><Version>4.0</Version>
  2435. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2436. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2437. <IsMainModel>1</IsMainModel>
  2438. <KeepParameterValues>False</KeepParameterValues>
  2439. </Description>';
  2440. knot Splitter
  2441. ports
  2442. signal knot duplicatable out output [4,4];
  2443. signal knot in input [4,4];
  2444. end;
  2445. icon bg ellipse
  2446. figures
  2447. ellipse 732.8 132.8 739.2 139.2 color -1 fill 0;
  2448. ellipse 731.7 131.7 740.3 140.3 color -1;
  2449. terminals
  2450. input 736 136 fixed;
  2451. end;
  2452. implementation eq
  2453. equations
  2454. collect (output) = input;
  2455. implementation_end;
  2456. stepper_control 112 472
  2457. description '<Information>
  2458. <Description>
  2459. <Version>4.8</Version>
  2460. <IsMainModel>1</IsMainModel>
  2461. <LibraryPath>Motor\stepper_control.emx</LibraryPath>
  2462. <TimeStamp>2020-7-22 15:25:26</TimeStamp>
  2463. </Description>
  2464. </Information>';
  2465. type Submodel
  2466. ports
  2467. signal in setpoint {rad} ;
  2468. signal out output {rad} ;
  2469. end;
  2470. implementation bg
  2471. submodels
  2472. Acceleration_int 648 336
  2473. description '<Information>
  2474. <Description>
  2475. <Version>4.3</Version>
  2476. <IsMainModel>1</IsMainModel>
  2477. <KeepParameterValues>False</KeepParameterValues>
  2478. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  2479. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  2480. </Description>
  2481. </Information>';
  2482. type Integrate
  2483. ports
  2484. signal in input;
  2485. signal out output;
  2486. end;
  2487. icon bg bottom
  2488. figures
  2489. rectangle 632 320 664 352 color 0 fill 15132390;
  2490. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  2491. end;
  2492. implementation eq
  2493. parameters
  2494. real initial = 0; // initial value
  2495. equations
  2496. output = int (input, initial);
  2497. implementation_end;
  2498. Acceleration_limit 568 336
  2499. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2500. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  2501. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  2502. </Description>';
  2503. type 'SignalLimiter-Limit'
  2504. ports
  2505. signal in input;
  2506. signal out output;
  2507. end;
  2508. icon bg bottom
  2509. figures
  2510. group
  2511. rectangle 552 320 584 352 color 0 fill 15132390;
  2512. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  2513. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  2514. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  2515. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  2516. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  2517. end;
  2518. end;
  2519. implementation eq
  2520. parameters
  2521. real maximum = 300;
  2522. real minimum = -300;
  2523. equations
  2524. output = limit (input, minimum, maximum);
  2525. implementation_end;
  2526. plug setpoint 136 336;
  2527. plug output 791 336;
  2528. PlusMinus1 240 336
  2529. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2530. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  2531. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  2532. </Description>';
  2533. knot PlusMinus
  2534. ports
  2535. signal knot duplicatable in plus [1];
  2536. signal knot duplicatable in minus [1];
  2537. signal knot out output [1];
  2538. end;
  2539. icon bg ellipse
  2540. figures
  2541. ellipse 232 328 248 344 color 0 fill 16777215;
  2542. end;
  2543. implementation eq
  2544. equations
  2545. output = sum (collect (plus)) - sum (collect (minus));
  2546. implementation_end;
  2547. PlusMinus2 432 336
  2548. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2549. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  2550. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  2551. </Description>';
  2552. knot PlusMinus
  2553. ports
  2554. signal knot duplicatable in plus [1];
  2555. signal knot duplicatable in minus [1];
  2556. signal knot out output [1];
  2557. end;
  2558. icon bg ellipse
  2559. figures
  2560. ellipse 424 328 440 344 color 0 fill 16777215;
  2561. end;
  2562. implementation eq
  2563. equations
  2564. output = sum (collect (plus)) - sum (collect (minus));
  2565. implementation_end;
  2566. Position_control 296 336
  2567. description '<Description>
  2568. <Version>4.0</Version>
  2569. <IsMainModel>1</IsMainModel>
  2570. <KeepParameterValues>False</KeepParameterValues>
  2571. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  2572. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  2573. </Description>';
  2574. type PD
  2575. ports
  2576. signal in error;
  2577. signal out output;
  2578. end;
  2579. icon bg bottom
  2580. figures
  2581. rectangle 280 320 312 352 color 0 fill 15132390;
  2582. text 'PD' 296.5 336.1 color 16711680 18 bold;
  2583. end;
  2584. implementation eq
  2585. parameters
  2586. real kp = 4 {}; // Proportional gain
  2587. real tauD = 100 {s}; // Derivative time constant: tauD > 0
  2588. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  2589. real maximum = 25;
  2590. variables
  2591. real state, rate;
  2592. equations
  2593. rate = (kp * error - output) / (beta * tauD);
  2594. state = int (rate);
  2595. output = state + kp * error / beta;
  2596. implementation_end;
  2597. Splitter3 688 336
  2598. description '<Description><Version>4.0</Version>
  2599. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2600. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2601. <IsMainModel>1</IsMainModel>
  2602. <KeepParameterValues>False</KeepParameterValues>
  2603. </Description>';
  2604. knot Splitter
  2605. ports
  2606. signal knot duplicatable out output [1];
  2607. signal knot in input [1];
  2608. end;
  2609. icon bg ellipse
  2610. figures
  2611. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  2612. ellipse 683.7 331.7 692.3 340.3 color -1;
  2613. terminals
  2614. input 688 336 fixed;
  2615. end;
  2616. implementation eq
  2617. equations
  2618. collect (output) = input;
  2619. implementation_end;
  2620. Splitter4 752 336
  2621. description '<Description><Version>4.0</Version>
  2622. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2623. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2624. <IsMainModel>1</IsMainModel>
  2625. <KeepParameterValues>False</KeepParameterValues>
  2626. </Description>';
  2627. knot Splitter
  2628. ports
  2629. signal knot duplicatable out output [1];
  2630. signal knot in input [1];
  2631. end;
  2632. icon bg ellipse
  2633. figures
  2634. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  2635. ellipse 747.7 331.7 756.3 340.3 color -1;
  2636. terminals
  2637. input 752 336 fixed;
  2638. end;
  2639. implementation eq
  2640. equations
  2641. collect (output) = input;
  2642. implementation_end;
  2643. Velocity_control 480 336
  2644. description '<Description>
  2645. <Version>4.0</Version>
  2646. <IsMainModel>1</IsMainModel>
  2647. <KeepParameterValues>False</KeepParameterValues>
  2648. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  2649. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  2650. </Description>';
  2651. type PD
  2652. ports
  2653. signal in error;
  2654. signal out output;
  2655. end;
  2656. icon bg bottom
  2657. figures
  2658. rectangle 464 320 496 352 color 0 fill 15132390;
  2659. text 'PD' 480.5 336.1 color 16711680 18 bold;
  2660. end;
  2661. implementation eq
  2662. parameters
  2663. real kp = 12 {}; // Proportional gain
  2664. real tauD = 10 {s}; // Derivative time constant: tauD > 0
  2665. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  2666. real maximum = 100;
  2667. variables
  2668. real state, rate;
  2669. equations
  2670. rate = (kp * error - output) / (beta * tauD);
  2671. state = int (rate);
  2672. output = state + kp * error / beta;
  2673. implementation_end;
  2674. Velocity_int 720 336
  2675. description '<Information>
  2676. <Description>
  2677. <Version>4.3</Version>
  2678. <IsMainModel>1</IsMainModel>
  2679. <KeepParameterValues>False</KeepParameterValues>
  2680. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  2681. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  2682. </Description>
  2683. </Information>';
  2684. type Integrate
  2685. ports
  2686. signal in input;
  2687. signal out output;
  2688. end;
  2689. icon bg bottom
  2690. figures
  2691. rectangle 704 320 736 352 color 0 fill 15132390;
  2692. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  2693. end;
  2694. implementation eq
  2695. parameters
  2696. real initial = 0; // initial value
  2697. equations
  2698. output = int (input, initial);
  2699. implementation_end;
  2700. Velocity_limit 376 336
  2701. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2702. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  2703. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  2704. </Description>';
  2705. type 'SignalLimiter-Limit'
  2706. ports
  2707. signal in input;
  2708. signal out output;
  2709. end;
  2710. icon bg bottom
  2711. figures
  2712. group
  2713. rectangle 360 320 392 352 color 0 fill 15132390;
  2714. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  2715. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  2716. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  2717. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  2718. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  2719. end;
  2720. end;
  2721. implementation eq
  2722. parameters
  2723. real maximum = 25;
  2724. real minimum = -25;
  2725. equations
  2726. output = limit (input, minimum, maximum);
  2727. implementation_end;
  2728. end;
  2729. connections
  2730. Acceleration_int\output -> Splitter3\input;
  2731. Acceleration_limit\output -> Acceleration_int\input;
  2732. PlusMinus1\output -> Position_control\error;
  2733. PlusMinus2\output -> Velocity_control\error;
  2734. Position_control\output -> Velocity_limit\input;
  2735. setpoint -> PlusMinus1\plus;
  2736. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  2737. Splitter3\output -> Velocity_int\input;
  2738. Splitter4\output -> output;
  2739. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  2740. Velocity_control\output -> Acceleration_limit\input;
  2741. Velocity_int\output -> Splitter4\input;
  2742. Velocity_limit\output -> PlusMinus2\plus;
  2743. end;
  2744. implementation_end;
  2745. stepper_control1 520 472
  2746. description '<Information>
  2747. <Description>
  2748. <Version>4.8</Version>
  2749. <IsMainModel>1</IsMainModel>
  2750. <LibraryPath>Motor\stepper_control.emx</LibraryPath>
  2751. <TimeStamp>2020-7-22 15:25:26</TimeStamp>
  2752. </Description>
  2753. </Information>';
  2754. type Submodel
  2755. ports
  2756. signal in setpoint {rad} ;
  2757. signal out output {rad} ;
  2758. end;
  2759. implementation bg
  2760. submodels
  2761. Acceleration_int 648 336
  2762. description '<Information>
  2763. <Description>
  2764. <Version>4.3</Version>
  2765. <IsMainModel>1</IsMainModel>
  2766. <KeepParameterValues>False</KeepParameterValues>
  2767. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  2768. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  2769. </Description>
  2770. </Information>';
  2771. type Integrate
  2772. ports
  2773. signal in input;
  2774. signal out output;
  2775. end;
  2776. icon bg bottom
  2777. figures
  2778. rectangle 632 320 664 352 color 0 fill 15132390;
  2779. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  2780. end;
  2781. implementation eq
  2782. parameters
  2783. real initial = 0; // initial value
  2784. equations
  2785. output = int (input, initial);
  2786. implementation_end;
  2787. Acceleration_limit 568 336
  2788. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2789. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  2790. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  2791. </Description>';
  2792. type 'SignalLimiter-Limit'
  2793. ports
  2794. signal in input;
  2795. signal out output;
  2796. end;
  2797. icon bg bottom
  2798. figures
  2799. group
  2800. rectangle 552 320 584 352 color 0 fill 15132390;
  2801. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  2802. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  2803. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  2804. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  2805. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  2806. end;
  2807. end;
  2808. implementation eq
  2809. parameters
  2810. real maximum = 300;
  2811. real minimum = -300;
  2812. equations
  2813. output = limit (input, minimum, maximum);
  2814. implementation_end;
  2815. plug setpoint 136 336;
  2816. plug output 791 336;
  2817. PlusMinus1 240 336
  2818. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2819. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  2820. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  2821. </Description>';
  2822. knot PlusMinus
  2823. ports
  2824. signal knot duplicatable in plus [1];
  2825. signal knot duplicatable in minus [1];
  2826. signal knot out output [1];
  2827. end;
  2828. icon bg ellipse
  2829. figures
  2830. ellipse 232 328 248 344 color 0 fill 16777215;
  2831. end;
  2832. implementation eq
  2833. equations
  2834. output = sum (collect (plus)) - sum (collect (minus));
  2835. implementation_end;
  2836. PlusMinus2 432 336
  2837. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2838. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  2839. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  2840. </Description>';
  2841. knot PlusMinus
  2842. ports
  2843. signal knot duplicatable in plus [1];
  2844. signal knot duplicatable in minus [1];
  2845. signal knot out output [1];
  2846. end;
  2847. icon bg ellipse
  2848. figures
  2849. ellipse 424 328 440 344 color 0 fill 16777215;
  2850. end;
  2851. implementation eq
  2852. equations
  2853. output = sum (collect (plus)) - sum (collect (minus));
  2854. implementation_end;
  2855. Position_control 296 336
  2856. description '<Description>
  2857. <Version>4.0</Version>
  2858. <IsMainModel>1</IsMainModel>
  2859. <KeepParameterValues>False</KeepParameterValues>
  2860. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  2861. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  2862. </Description>';
  2863. type PD
  2864. ports
  2865. signal in error;
  2866. signal out output;
  2867. end;
  2868. icon bg bottom
  2869. figures
  2870. rectangle 280 320 312 352 color 0 fill 15132390;
  2871. text 'PD' 296.5 336.1 color 16711680 18 bold;
  2872. end;
  2873. implementation eq
  2874. parameters
  2875. real kp = 4 {}; // Proportional gain
  2876. real tauD = 100 {s}; // Derivative time constant: tauD > 0
  2877. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  2878. real maximum = 25;
  2879. variables
  2880. real state, rate;
  2881. equations
  2882. rate = (kp * error - output) / (beta * tauD);
  2883. state = int (rate);
  2884. output = state + kp * error / beta;
  2885. implementation_end;
  2886. Splitter3 688 336
  2887. description '<Description><Version>4.0</Version>
  2888. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2889. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2890. <IsMainModel>1</IsMainModel>
  2891. <KeepParameterValues>False</KeepParameterValues>
  2892. </Description>';
  2893. knot Splitter
  2894. ports
  2895. signal knot duplicatable out output [1];
  2896. signal knot in input [1];
  2897. end;
  2898. icon bg ellipse
  2899. figures
  2900. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  2901. ellipse 683.7 331.7 692.3 340.3 color -1;
  2902. terminals
  2903. input 688 336 fixed;
  2904. end;
  2905. implementation eq
  2906. equations
  2907. collect (output) = input;
  2908. implementation_end;
  2909. Splitter4 752 336
  2910. description '<Description><Version>4.0</Version>
  2911. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2912. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2913. <IsMainModel>1</IsMainModel>
  2914. <KeepParameterValues>False</KeepParameterValues>
  2915. </Description>';
  2916. knot Splitter
  2917. ports
  2918. signal knot duplicatable out output [1];
  2919. signal knot in input [1];
  2920. end;
  2921. icon bg ellipse
  2922. figures
  2923. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  2924. ellipse 747.7 331.7 756.3 340.3 color -1;
  2925. terminals
  2926. input 752 336 fixed;
  2927. end;
  2928. implementation eq
  2929. equations
  2930. collect (output) = input;
  2931. implementation_end;
  2932. Velocity_control 480 336
  2933. description '<Description>
  2934. <Version>4.0</Version>
  2935. <IsMainModel>1</IsMainModel>
  2936. <KeepParameterValues>False</KeepParameterValues>
  2937. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  2938. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  2939. </Description>';
  2940. type PD
  2941. ports
  2942. signal in error;
  2943. signal out output;
  2944. end;
  2945. icon bg bottom
  2946. figures
  2947. rectangle 464 320 496 352 color 0 fill 15132390;
  2948. text 'PD' 480.5 336.1 color 16711680 18 bold;
  2949. end;
  2950. implementation eq
  2951. parameters
  2952. real kp = 12 {}; // Proportional gain
  2953. real tauD = 10 {s}; // Derivative time constant: tauD > 0
  2954. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  2955. real maximum = 100;
  2956. variables
  2957. real state, rate;
  2958. equations
  2959. rate = (kp * error - output) / (beta * tauD);
  2960. state = int (rate);
  2961. output = state + kp * error / beta;
  2962. implementation_end;
  2963. Velocity_int 720 336
  2964. description '<Information>
  2965. <Description>
  2966. <Version>4.3</Version>
  2967. <IsMainModel>1</IsMainModel>
  2968. <KeepParameterValues>False</KeepParameterValues>
  2969. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  2970. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  2971. </Description>
  2972. </Information>';
  2973. type Integrate
  2974. ports
  2975. signal in input;
  2976. signal out output;
  2977. end;
  2978. icon bg bottom
  2979. figures
  2980. rectangle 704 320 736 352 color 0 fill 15132390;
  2981. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  2982. end;
  2983. implementation eq
  2984. parameters
  2985. real initial = 0; // initial value
  2986. equations
  2987. output = int (input, initial);
  2988. implementation_end;
  2989. Velocity_limit 376 336
  2990. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2991. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  2992. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  2993. </Description>';
  2994. type 'SignalLimiter-Limit'
  2995. ports
  2996. signal in input;
  2997. signal out output;
  2998. end;
  2999. icon bg bottom
  3000. figures
  3001. group
  3002. rectangle 360 320 392 352 color 0 fill 15132390;
  3003. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  3004. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  3005. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  3006. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  3007. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  3008. end;
  3009. end;
  3010. implementation eq
  3011. parameters
  3012. real maximum = 25;
  3013. real minimum = -25;
  3014. equations
  3015. output = limit (input, minimum, maximum);
  3016. implementation_end;
  3017. end;
  3018. connections
  3019. Acceleration_int\output -> Splitter3\input;
  3020. Acceleration_limit\output -> Acceleration_int\input;
  3021. PlusMinus1\output -> Position_control\error;
  3022. PlusMinus2\output -> Velocity_control\error;
  3023. Position_control\output -> Velocity_limit\input;
  3024. setpoint -> PlusMinus1\plus;
  3025. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  3026. Splitter3\output -> Velocity_int\input;
  3027. Splitter4\output -> output;
  3028. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  3029. Velocity_control\output -> Acceleration_limit\input;
  3030. Velocity_int\output -> Splitter4\input;
  3031. Velocity_limit\output -> PlusMinus2\plus;
  3032. end;
  3033. implementation_end;
  3034. stepper_model 112 392
  3035. description '<Information>
  3036. <Description>
  3037. <Version>4.8</Version>
  3038. <IsMainModel>1</IsMainModel>
  3039. <LibraryPath>Motor\stepper_model.emx</LibraryPath>
  3040. <TimeStamp>2020-7-22 15:25:37</TimeStamp>
  3041. </Description>
  3042. <Attributes>
  3043. <GlobalRelations>parameters
  3044. real I_phase = 3.4 {mH};
  3045. real R_phase = 2.9 {ohm};
  3046. real u_max = 3.4 {V};
  3047. real RotorInertia = 5.6e-6 {kg.m2};
  3048. real StepperMass = 0.29 {kg};
  3049. real angle_step = 1.8 {deg};
  3050. real n_phase = 2 {none};
  3051. real fluxLinkage = 0.0022 {Wb};
  3052. real detentTorque = 0.01 {N.m};
  3053. variables
  3054. real omega;
  3055. real p; // rotor division
  3056. initialequations
  3057. p = 2 * pi / (2 * n_phase * angle_step);
  3058. omega = 200;</GlobalRelations>
  3059. </Attributes>
  3060. </Information>';
  3061. type Submodel
  3062. ports
  3063. signal in angle;
  3064. rotation out p;
  3065. end;
  3066. implementation bg
  3067. submodels
  3068. I 224 104
  3069. description '<Information>
  3070. <Description>
  3071. <Version>4.2</Version>
  3072. <IsMainModel>1</IsMainModel>
  3073. <KeepParameterValues>False</KeepParameterValues>
  3074. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3075. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3076. </Description>
  3077. </Information>';
  3078. type I
  3079. ports
  3080. power in p;
  3081. signal out state;
  3082. restrictions
  3083. causality preferred in p;
  3084. end;
  3085. icon bg bottom
  3086. figures
  3087. text 'I' 224 104 color 0 18 bold;
  3088. end;
  3089. implementation eq
  3090. parameters
  3091. real global I_phase;
  3092. equations
  3093. state = int(p.e);
  3094. p.f = state / I_phase;
  3095. implementation_end;
  3096. I1 272 328
  3097. description '<Information>
  3098. <Description>
  3099. <Version>4.2</Version>
  3100. <IsMainModel>1</IsMainModel>
  3101. <KeepParameterValues>False</KeepParameterValues>
  3102. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3103. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3104. </Description>
  3105. </Information>';
  3106. type I
  3107. ports
  3108. power in p;
  3109. signal out state;
  3110. restrictions
  3111. causality preferred in p;
  3112. end;
  3113. icon bg bottom
  3114. figures
  3115. text 'I' 272 328 color 0 18 bold;
  3116. end;
  3117. implementation eq
  3118. parameters
  3119. real global I_phase;
  3120. equations
  3121. state = int(p.e);
  3122. p.f = state / I_phase;
  3123. implementation_end;
  3124. I2 416 160
  3125. description '<Information>
  3126. <Description>
  3127. <Version>4.2</Version>
  3128. <IsMainModel>1</IsMainModel>
  3129. <KeepParameterValues>False</KeepParameterValues>
  3130. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3131. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3132. </Description>
  3133. </Information>';
  3134. type I
  3135. ports
  3136. power in p;
  3137. signal out state;
  3138. restrictions
  3139. causality preferred in p;
  3140. end;
  3141. icon bg bottom
  3142. figures
  3143. text 'I' 416 160 color 0 18 bold;
  3144. end;
  3145. implementation eq
  3146. parameters
  3147. real i = 8e-5 {kg.m2};
  3148. real global RotorInertia;
  3149. equations
  3150. state = int(p.e);
  3151. p.f = state / (RotorInertia);
  3152. implementation_end;
  3153. MGY_a 320 160
  3154. description '<Information>
  3155. <Description>
  3156. <Version>4.2</Version>
  3157. <IsMainModel>1</IsMainModel>
  3158. <KeepParameterValues>False</KeepParameterValues>
  3159. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  3160. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  3161. </Description>
  3162. </Information>';
  3163. type MGY
  3164. ports
  3165. power in p1;
  3166. power out p2;
  3167. signal in r;
  3168. restrictions
  3169. causality constraint equal p1 p2;
  3170. end;
  3171. icon bg bottom
  3172. figures
  3173. text 'MGY' 320 160 color 0 18 bold;
  3174. end;
  3175. implementation eq
  3176. equations
  3177. p1.e = r * p2.f;
  3178. p2.e = r * p1.f;
  3179. implementation_end;
  3180. MGY_b 320 272
  3181. description '<Information>
  3182. <Description>
  3183. <Version>4.2</Version>
  3184. <IsMainModel>1</IsMainModel>
  3185. <KeepParameterValues>False</KeepParameterValues>
  3186. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  3187. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  3188. </Description>
  3189. </Information>';
  3190. type MGY
  3191. ports
  3192. power in p1;
  3193. power out p2;
  3194. signal in r;
  3195. restrictions
  3196. causality constraint equal p1 p2;
  3197. end;
  3198. icon bg bottom
  3199. figures
  3200. text 'MGY' 320 272 color 0 18 bold;
  3201. end;
  3202. implementation eq
  3203. equations
  3204. p1.e = r * p2.f;
  3205. p2.e = r * p1.f;
  3206. implementation_end;
  3207. MSe_a 176 160
  3208. description '<Information>
  3209. <Description>
  3210. <Version>4.2</Version>
  3211. <IsMainModel>1</IsMainModel>
  3212. <KeepParameterValues>False</KeepParameterValues>
  3213. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3214. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3215. </Description>
  3216. </Information>';
  3217. type MSe
  3218. ports
  3219. electric out p;
  3220. signal in effort;
  3221. restrictions
  3222. causality fixed out p;
  3223. end;
  3224. icon bg bottom
  3225. figures
  3226. text 'MSe' 176 160 color 0 18 bold;
  3227. end;
  3228. implementation eq
  3229. variables
  3230. real flow;
  3231. equations
  3232. p.e = effort;
  3233. flow = p.f;
  3234. implementation_end;
  3235. MSe_b 176 272
  3236. description '<Information>
  3237. <Description>
  3238. <Version>4.2</Version>
  3239. <IsMainModel>1</IsMainModel>
  3240. <KeepParameterValues>False</KeepParameterValues>
  3241. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3242. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3243. </Description>
  3244. </Information>';
  3245. type MSe
  3246. ports
  3247. electric out p;
  3248. signal in effort;
  3249. restrictions
  3250. causality fixed out p;
  3251. end;
  3252. icon bg bottom
  3253. figures
  3254. text 'MSe' 176 272 color 0 18 bold;
  3255. end;
  3256. implementation eq
  3257. variables
  3258. real flow;
  3259. equations
  3260. p.e = effort;
  3261. flow = p.f;
  3262. implementation_end;
  3263. plug angle 72 216;
  3264. plug p 560 216;
  3265. OneJunction1 504 216
  3266. description '<Information>
  3267. <Description>
  3268. <Version>4.2</Version>
  3269. <IsMainModel>1</IsMainModel>
  3270. <KeepParameterValues>False</KeepParameterValues>
  3271. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3272. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3273. </Description>
  3274. </Information>';
  3275. knot OneJunction
  3276. ports
  3277. rotation knot duplicatable none p [1];
  3278. signal knot out flow [1];
  3279. restrictions
  3280. causality constraint one_out p;
  3281. end;
  3282. icon bg
  3283. figures
  3284. text '1' 504 216 color 0 18 bold;
  3285. end;
  3286. implementation eq
  3287. equations
  3288. sum (direct (p.e)) = 0;
  3289. equal (collect (p.f));
  3290. flow = first (p.f);
  3291. implementation_end;
  3292. OneJunction2 248 160
  3293. description '<Information>
  3294. <Description>
  3295. <Version>4.2</Version>
  3296. <IsMainModel>1</IsMainModel>
  3297. <KeepParameterValues>False</KeepParameterValues>
  3298. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3299. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3300. </Description>
  3301. </Information>';
  3302. knot OneJunction
  3303. ports
  3304. electric knot duplicatable none p [1];
  3305. signal knot out flow [1];
  3306. restrictions
  3307. causality constraint one_out p;
  3308. end;
  3309. icon bg
  3310. figures
  3311. text '1' 248 160 color 0 18 bold;
  3312. end;
  3313. implementation eq
  3314. equations
  3315. sum (direct (p.e)) = 0;
  3316. equal (collect (p.f));
  3317. flow = first (p.f);
  3318. implementation_end;
  3319. OneJunction3 248 272
  3320. description '<Information>
  3321. <Description>
  3322. <Version>4.2</Version>
  3323. <IsMainModel>1</IsMainModel>
  3324. <KeepParameterValues>False</KeepParameterValues>
  3325. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3326. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3327. </Description>
  3328. </Information>';
  3329. knot OneJunction
  3330. ports
  3331. electric knot duplicatable none p [1];
  3332. signal knot out flow [1];
  3333. restrictions
  3334. causality constraint one_out p;
  3335. end;
  3336. icon bg
  3337. figures
  3338. text '1' 248 272 color 0 18 bold;
  3339. end;
  3340. implementation eq
  3341. equations
  3342. sum (direct (p.e)) = 0;
  3343. equal (collect (p.f));
  3344. flow = first (p.f);
  3345. implementation_end;
  3346. OneJunction4 416 216
  3347. description '<Information>
  3348. <Description>
  3349. <Version>4.2</Version>
  3350. <IsMainModel>1</IsMainModel>
  3351. <KeepParameterValues>False</KeepParameterValues>
  3352. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3353. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3354. </Description>
  3355. </Information>';
  3356. knot OneJunction
  3357. ports
  3358. rotation knot duplicatable none p [1];
  3359. signal knot out flow [1];
  3360. restrictions
  3361. causality constraint one_out p;
  3362. end;
  3363. icon bg
  3364. figures
  3365. text '1' 416 216 color 0 18 bold;
  3366. end;
  3367. implementation eq
  3368. equations
  3369. sum (direct (p.e)) = 0;
  3370. equal (collect (p.f));
  3371. flow = first (p.f);
  3372. implementation_end;
  3373. phase_control 176 216
  3374. description '<Description><Version>4.0</Version>
  3375. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  3376. <IsMainModel>1</IsMainModel>
  3377. <KeepParameterValues>False</KeepParameterValues>
  3378. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  3379. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  3380. </Description>';
  3381. type Submodel
  3382. ports
  3383. signal in angle;
  3384. signal out a;
  3385. signal out b;
  3386. end;
  3387. icon bg
  3388. figures
  3389. rectangle 136 200 216 232 color 0 fill 15132390;
  3390. text 'name' 176 216 color 0 'Clear Sans' 16;
  3391. end;
  3392. implementation eq
  3393. parameters
  3394. real global u_max {V};
  3395. real global angle_step;
  3396. real max_a {m/s2};
  3397. variables
  3398. real current_angle;
  3399. real c,s;
  3400. real global p;
  3401. boolean hidden eventa, eventb;
  3402. equations
  3403. a = u_max * (cos (p*angle));
  3404. eventa = event(a);
  3405. b = u_max * -(sin (p*angle));
  3406. eventb = event(b);
  3407. current_angle = angle;
  3408. implementation_end;
  3409. R 272 104
  3410. description '<Information>
  3411. <Description>
  3412. <Version>4.2</Version>
  3413. <IsMainModel>1</IsMainModel>
  3414. <KeepParameterValues>False</KeepParameterValues>
  3415. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3416. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3417. </Description>
  3418. </Information>';
  3419. type R
  3420. ports
  3421. power in p;
  3422. end;
  3423. icon bg bottom
  3424. figures
  3425. text 'R' 272 104 color 0 18 bold;
  3426. end;
  3427. implementation eq
  3428. parameters
  3429. real global R_phase;
  3430. equations
  3431. p.e = R_phase * p.f;
  3432. implementation_end;
  3433. R1 224 328
  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' 224 328 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. R2 488 264
  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' 488 264 color 0 18 bold;
  3474. end;
  3475. implementation eq
  3476. parameters
  3477. real r = 1.0e-3;
  3478. equations
  3479. p.e = r * p.f;
  3480. implementation_end;
  3481. RotorAngle 320 216
  3482. description '<Description><Version>4.0</Version>
  3483. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  3484. <IsMainModel>1</IsMainModel>
  3485. <KeepParameterValues>False</KeepParameterValues>
  3486. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  3487. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  3488. </Description>';
  3489. type Submodel
  3490. ports
  3491. signal out output_b;
  3492. signal out output_a;
  3493. signal in omega {rad/s} ;
  3494. signal out output_d;
  3495. end;
  3496. icon bg
  3497. figures
  3498. rectangle 280 200 360 232 color 0 fill 15132390;
  3499. text 'name' 320 216 color 0 'Clear Sans' 16;
  3500. end;
  3501. implementation eq
  3502. parameters
  3503. real global fluxLinkage;
  3504. real global detentTorque;
  3505. variables
  3506. real global p;
  3507. real angle {rad};
  3508. equations
  3509. angle = int(omega);
  3510. output_a = -p * fluxLinkage * sin(p * angle);
  3511. output_b = p * fluxLinkage * sin(p * angle - pi / 2);
  3512. output_d = detentTorque * sin(2 * p * angle);
  3513. implementation_end;
  3514. Se 416 272
  3515. description '<Information>
  3516. <Description>
  3517. <Version>4.2</Version>
  3518. <IsMainModel>1</IsMainModel>
  3519. <KeepParameterValues>False</KeepParameterValues>
  3520. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3521. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3522. </Description>
  3523. </Information>';
  3524. type MSe
  3525. ports
  3526. power out p;
  3527. signal in effort;
  3528. restrictions
  3529. causality fixed out p;
  3530. end;
  3531. icon bg bottom
  3532. figures
  3533. text 'MSe' 416 272 color 0 18 bold;
  3534. end;
  3535. implementation eq
  3536. variables
  3537. real flow;
  3538. equations
  3539. p.e = effort;
  3540. flow = p.f;
  3541. implementation_end;
  3542. end;
  3543. connections
  3544. angle -> phase_control\angle;
  3545. I2\p <= OneJunction4\p;
  3546. MGY_a\p2 => OneJunction4\p;
  3547. MGY_b\p2 => OneJunction4\p;
  3548. MSe_b\p => OneJunction3\p;
  3549. OneJunction1\p => p;
  3550. OneJunction2\p <= MSe_a\p;
  3551. OneJunction2\p => I\p;
  3552. OneJunction2\p => MGY_a\p1;
  3553. OneJunction2\p => R\p;
  3554. OneJunction3\p => I1\p;
  3555. OneJunction3\p => MGY_b\p1;
  3556. OneJunction3\p => R1\p;
  3557. OneJunction4\flow -> RotorAngle\omega;
  3558. OneJunction4\p => OneJunction1\p;
  3559. OneJunction4\p => R2\p;
  3560. phase_control\a -> MSe_a\effort;
  3561. phase_control\b -> MSe_b\effort;
  3562. RotorAngle\output_a -> MGY_a\r;
  3563. RotorAngle\output_b -> MGY_b\r;
  3564. RotorAngle\output_d -> Se\effort;
  3565. Se\p => OneJunction4\p;
  3566. end;
  3567. implementation_end;
  3568. stepper_model1 520 392
  3569. description '<Information>
  3570. <Description>
  3571. <Version>4.8</Version>
  3572. <IsMainModel>1</IsMainModel>
  3573. <LibraryPath>Motor\stepper_model.emx</LibraryPath>
  3574. <TimeStamp>2020-7-22 15:25:37</TimeStamp>
  3575. </Description>
  3576. <Attributes>
  3577. <GlobalRelations>parameters
  3578. real I_phase = 3.4 {mH};
  3579. real R_phase = 2.9 {ohm};
  3580. real u_max = 3.4 {V};
  3581. real RotorInertia = 5.6e-6 {kg.m2};
  3582. real StepperMass = 0.29 {kg};
  3583. real angle_step = 1.8 {deg};
  3584. real n_phase = 2 {none};
  3585. real fluxLinkage = 0.0022 {Wb};
  3586. real detentTorque = 0.01 {N.m};
  3587. variables
  3588. real omega;
  3589. real p; // rotor division
  3590. initialequations
  3591. p = 2 * pi / (2 * n_phase * angle_step);
  3592. omega = 200;</GlobalRelations>
  3593. </Attributes>
  3594. </Information>';
  3595. type Submodel
  3596. ports
  3597. signal in angle;
  3598. rotation out p;
  3599. end;
  3600. implementation bg
  3601. submodels
  3602. I 560 104
  3603. description '<Information>
  3604. <Description>
  3605. <Version>4.2</Version>
  3606. <IsMainModel>1</IsMainModel>
  3607. <KeepParameterValues>False</KeepParameterValues>
  3608. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3609. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3610. </Description>
  3611. </Information>';
  3612. type I
  3613. ports
  3614. power in p;
  3615. signal out state;
  3616. restrictions
  3617. causality preferred in p;
  3618. end;
  3619. icon bg bottom
  3620. figures
  3621. text 'I' 560 104 color 0 18 bold;
  3622. end;
  3623. implementation eq
  3624. parameters
  3625. real global I_phase;
  3626. equations
  3627. state = int(p.e);
  3628. p.f = state / I_phase;
  3629. implementation_end;
  3630. I1 608 328
  3631. description '<Information>
  3632. <Description>
  3633. <Version>4.2</Version>
  3634. <IsMainModel>1</IsMainModel>
  3635. <KeepParameterValues>False</KeepParameterValues>
  3636. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3637. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3638. </Description>
  3639. </Information>';
  3640. type I
  3641. ports
  3642. power in p;
  3643. signal out state;
  3644. restrictions
  3645. causality preferred in p;
  3646. end;
  3647. icon bg bottom
  3648. figures
  3649. text 'I' 608 328 color 0 18 bold;
  3650. end;
  3651. implementation eq
  3652. parameters
  3653. real global I_phase;
  3654. equations
  3655. state = int(p.e);
  3656. p.f = state / I_phase;
  3657. implementation_end;
  3658. I2 752 160
  3659. description '<Information>
  3660. <Description>
  3661. <Version>4.2</Version>
  3662. <IsMainModel>1</IsMainModel>
  3663. <KeepParameterValues>False</KeepParameterValues>
  3664. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3665. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3666. </Description>
  3667. </Information>';
  3668. type I
  3669. ports
  3670. power in p;
  3671. signal out state;
  3672. restrictions
  3673. causality preferred in p;
  3674. end;
  3675. icon bg bottom
  3676. figures
  3677. text 'I' 752 160 color 0 18 bold;
  3678. end;
  3679. implementation eq
  3680. parameters
  3681. real i = 8e-5 {kg.m2};
  3682. real global RotorInertia;
  3683. equations
  3684. state = int(p.e);
  3685. p.f = state / (RotorInertia);
  3686. implementation_end;
  3687. MGY_a 656 160
  3688. description '<Information>
  3689. <Description>
  3690. <Version>4.2</Version>
  3691. <IsMainModel>1</IsMainModel>
  3692. <KeepParameterValues>False</KeepParameterValues>
  3693. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  3694. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  3695. </Description>
  3696. </Information>';
  3697. type MGY
  3698. ports
  3699. power in p1;
  3700. power out p2;
  3701. signal in r;
  3702. restrictions
  3703. causality constraint equal p1 p2;
  3704. end;
  3705. icon bg bottom
  3706. figures
  3707. text 'MGY' 656 160 color 0 18 bold;
  3708. end;
  3709. implementation eq
  3710. equations
  3711. p1.e = r * p2.f;
  3712. p2.e = r * p1.f;
  3713. implementation_end;
  3714. MGY_b 656 272
  3715. description '<Information>
  3716. <Description>
  3717. <Version>4.2</Version>
  3718. <IsMainModel>1</IsMainModel>
  3719. <KeepParameterValues>False</KeepParameterValues>
  3720. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  3721. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  3722. </Description>
  3723. </Information>';
  3724. type MGY
  3725. ports
  3726. power in p1;
  3727. power out p2;
  3728. signal in r;
  3729. restrictions
  3730. causality constraint equal p1 p2;
  3731. end;
  3732. icon bg bottom
  3733. figures
  3734. text 'MGY' 656 272 color 0 18 bold;
  3735. end;
  3736. implementation eq
  3737. equations
  3738. p1.e = r * p2.f;
  3739. p2.e = r * p1.f;
  3740. implementation_end;
  3741. MSe_a 512 160
  3742. description '<Information>
  3743. <Description>
  3744. <Version>4.2</Version>
  3745. <IsMainModel>1</IsMainModel>
  3746. <KeepParameterValues>False</KeepParameterValues>
  3747. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3748. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3749. </Description>
  3750. </Information>';
  3751. type MSe
  3752. ports
  3753. electric out p;
  3754. signal in effort;
  3755. restrictions
  3756. causality fixed out p;
  3757. end;
  3758. icon bg bottom
  3759. figures
  3760. text 'MSe' 512 160 color 0 18 bold;
  3761. end;
  3762. implementation eq
  3763. variables
  3764. real flow;
  3765. equations
  3766. p.e = effort;
  3767. flow = p.f;
  3768. implementation_end;
  3769. MSe_b 512 272
  3770. description '<Information>
  3771. <Description>
  3772. <Version>4.2</Version>
  3773. <IsMainModel>1</IsMainModel>
  3774. <KeepParameterValues>False</KeepParameterValues>
  3775. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3776. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3777. </Description>
  3778. </Information>';
  3779. type MSe
  3780. ports
  3781. electric out p;
  3782. signal in effort;
  3783. restrictions
  3784. causality fixed out p;
  3785. end;
  3786. icon bg bottom
  3787. figures
  3788. text 'MSe' 512 272 color 0 18 bold;
  3789. end;
  3790. implementation eq
  3791. variables
  3792. real flow;
  3793. equations
  3794. p.e = effort;
  3795. flow = p.f;
  3796. implementation_end;
  3797. plug angle 200 216;
  3798. plug p 1472 216;
  3799. OneJunction1 840 216
  3800. description '<Information>
  3801. <Description>
  3802. <Version>4.2</Version>
  3803. <IsMainModel>1</IsMainModel>
  3804. <KeepParameterValues>False</KeepParameterValues>
  3805. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3806. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3807. </Description>
  3808. </Information>';
  3809. knot OneJunction
  3810. ports
  3811. rotation knot duplicatable none p [1];
  3812. signal knot out flow [1];
  3813. restrictions
  3814. causality constraint one_out p;
  3815. end;
  3816. icon bg
  3817. figures
  3818. text '1' 840 216 color 0 18 bold;
  3819. end;
  3820. implementation eq
  3821. equations
  3822. sum (direct (p.e)) = 0;
  3823. equal (collect (p.f));
  3824. flow = first (p.f);
  3825. implementation_end;
  3826. OneJunction2 584 160
  3827. description '<Information>
  3828. <Description>
  3829. <Version>4.2</Version>
  3830. <IsMainModel>1</IsMainModel>
  3831. <KeepParameterValues>False</KeepParameterValues>
  3832. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3833. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3834. </Description>
  3835. </Information>';
  3836. knot OneJunction
  3837. ports
  3838. electric knot duplicatable none p [1];
  3839. signal knot out flow [1];
  3840. restrictions
  3841. causality constraint one_out p;
  3842. end;
  3843. icon bg
  3844. figures
  3845. text '1' 584 160 color 0 18 bold;
  3846. end;
  3847. implementation eq
  3848. equations
  3849. sum (direct (p.e)) = 0;
  3850. equal (collect (p.f));
  3851. flow = first (p.f);
  3852. implementation_end;
  3853. OneJunction3 584 272
  3854. description '<Information>
  3855. <Description>
  3856. <Version>4.2</Version>
  3857. <IsMainModel>1</IsMainModel>
  3858. <KeepParameterValues>False</KeepParameterValues>
  3859. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3860. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3861. </Description>
  3862. </Information>';
  3863. knot OneJunction
  3864. ports
  3865. electric knot duplicatable none p [1];
  3866. signal knot out flow [1];
  3867. restrictions
  3868. causality constraint one_out p;
  3869. end;
  3870. icon bg
  3871. figures
  3872. text '1' 584 272 color 0 18 bold;
  3873. end;
  3874. implementation eq
  3875. equations
  3876. sum (direct (p.e)) = 0;
  3877. equal (collect (p.f));
  3878. flow = first (p.f);
  3879. implementation_end;
  3880. OneJunction4 752 216
  3881. description '<Information>
  3882. <Description>
  3883. <Version>4.2</Version>
  3884. <IsMainModel>1</IsMainModel>
  3885. <KeepParameterValues>False</KeepParameterValues>
  3886. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3887. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3888. </Description>
  3889. </Information>';
  3890. knot OneJunction
  3891. ports
  3892. rotation knot duplicatable none p [1];
  3893. signal knot out flow [1];
  3894. restrictions
  3895. causality constraint one_out p;
  3896. end;
  3897. icon bg
  3898. figures
  3899. text '1' 752 216 color 0 18 bold;
  3900. end;
  3901. implementation eq
  3902. equations
  3903. sum (direct (p.e)) = 0;
  3904. equal (collect (p.f));
  3905. flow = first (p.f);
  3906. implementation_end;
  3907. phase_control 512 216
  3908. description '<Description><Version>4.0</Version>
  3909. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  3910. <IsMainModel>1</IsMainModel>
  3911. <KeepParameterValues>False</KeepParameterValues>
  3912. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  3913. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  3914. </Description>';
  3915. type Submodel
  3916. ports
  3917. signal in angle;
  3918. signal out a;
  3919. signal out b;
  3920. end;
  3921. icon bg
  3922. figures
  3923. rectangle 472 200 552 232 color 0 fill 15132390;
  3924. text 'name' 512 216 color 0 'Clear Sans' 16;
  3925. end;
  3926. implementation eq
  3927. parameters
  3928. real global u_max {V};
  3929. real global angle_step;
  3930. real max_a {m/s2};
  3931. variables
  3932. real current_angle;
  3933. real c,s;
  3934. real global p;
  3935. boolean hidden eventa, eventb;
  3936. equations
  3937. a = u_max * (cos (p*angle));
  3938. eventa = event(a);
  3939. b = u_max * -(sin (p*angle));
  3940. eventb = event(b);
  3941. current_angle = angle;
  3942. implementation_end;
  3943. R 608 104
  3944. description '<Information>
  3945. <Description>
  3946. <Version>4.2</Version>
  3947. <IsMainModel>1</IsMainModel>
  3948. <KeepParameterValues>False</KeepParameterValues>
  3949. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3950. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3951. </Description>
  3952. </Information>';
  3953. type R
  3954. ports
  3955. power in p;
  3956. end;
  3957. icon bg bottom
  3958. figures
  3959. text 'R' 608 104 color 0 18 bold;
  3960. end;
  3961. implementation eq
  3962. parameters
  3963. real global R_phase;
  3964. equations
  3965. p.e = R_phase * p.f;
  3966. implementation_end;
  3967. R1 560 328
  3968. description '<Information>
  3969. <Description>
  3970. <Version>4.2</Version>
  3971. <IsMainModel>1</IsMainModel>
  3972. <KeepParameterValues>False</KeepParameterValues>
  3973. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3974. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3975. </Description>
  3976. </Information>';
  3977. type R
  3978. ports
  3979. power in p;
  3980. end;
  3981. icon bg bottom
  3982. figures
  3983. text 'R' 560 328 color 0 18 bold;
  3984. end;
  3985. implementation eq
  3986. parameters
  3987. real global R_phase;
  3988. equations
  3989. p.e = R_phase * p.f;
  3990. implementation_end;
  3991. R2 824 264
  3992. description '<Information>
  3993. <Description>
  3994. <Version>4.2</Version>
  3995. <IsMainModel>1</IsMainModel>
  3996. <KeepParameterValues>False</KeepParameterValues>
  3997. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3998. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3999. </Description>
  4000. </Information>';
  4001. type R
  4002. ports
  4003. power in p;
  4004. end;
  4005. icon bg bottom
  4006. figures
  4007. text 'R' 824 264 color 0 18 bold;
  4008. end;
  4009. implementation eq
  4010. parameters
  4011. real r = 1.0e-3;
  4012. equations
  4013. p.e = r * p.f;
  4014. implementation_end;
  4015. RotorAngle 656 216
  4016. description '<Description><Version>4.0</Version>
  4017. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  4018. <IsMainModel>1</IsMainModel>
  4019. <KeepParameterValues>False</KeepParameterValues>
  4020. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  4021. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  4022. </Description>';
  4023. type Submodel
  4024. ports
  4025. signal out output_b;
  4026. signal out output_a;
  4027. signal in omega {rad/s} ;
  4028. signal out output_d;
  4029. end;
  4030. icon bg
  4031. figures
  4032. rectangle 616 200 696 232 color 0 fill 15132390;
  4033. text 'name' 656 216 color 0 'Clear Sans' 16;
  4034. end;
  4035. implementation eq
  4036. parameters
  4037. real global fluxLinkage;
  4038. real global detentTorque;
  4039. variables
  4040. real global p;
  4041. real angle {rad};
  4042. equations
  4043. angle = int(omega);
  4044. output_a = -p * fluxLinkage * sin(p * angle);
  4045. output_b = p * fluxLinkage * sin(p * angle - pi / 2);
  4046. output_d = detentTorque * sin(2 * p * angle);
  4047. implementation_end;
  4048. Se 752 272
  4049. description '<Information>
  4050. <Description>
  4051. <Version>4.2</Version>
  4052. <IsMainModel>1</IsMainModel>
  4053. <KeepParameterValues>False</KeepParameterValues>
  4054. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  4055. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  4056. </Description>
  4057. </Information>';
  4058. type MSe
  4059. ports
  4060. power out p;
  4061. signal in effort;
  4062. restrictions
  4063. causality fixed out p;
  4064. end;
  4065. icon bg bottom
  4066. figures
  4067. text 'MSe' 752 272 color 0 18 bold;
  4068. end;
  4069. implementation eq
  4070. variables
  4071. real flow;
  4072. equations
  4073. p.e = effort;
  4074. flow = p.f;
  4075. implementation_end;
  4076. end;
  4077. connections
  4078. angle -> phase_control\angle;
  4079. I2\p <= OneJunction4\p;
  4080. MGY_a\p2 => OneJunction4\p;
  4081. MGY_b\p2 => OneJunction4\p;
  4082. MSe_b\p => OneJunction3\p;
  4083. OneJunction1\p => p;
  4084. OneJunction2\p <= MSe_a\p;
  4085. OneJunction2\p => I\p;
  4086. OneJunction2\p => MGY_a\p1;
  4087. OneJunction2\p => R\p;
  4088. OneJunction3\p => I1\p;
  4089. OneJunction3\p => MGY_b\p1;
  4090. OneJunction3\p => R1\p;
  4091. OneJunction4\flow -> RotorAngle\omega;
  4092. OneJunction4\p => OneJunction1\p;
  4093. OneJunction4\p => R2\p;
  4094. phase_control\a -> MSe_a\effort;
  4095. phase_control\b -> MSe_b\effort;
  4096. RotorAngle\output_a -> MGY_a\r;
  4097. RotorAngle\output_b -> MGY_b\r;
  4098. RotorAngle\output_d -> Se\effort;
  4099. Se\p => OneJunction4\p;
  4100. end;
  4101. implementation_end;
  4102. Zero 112 136
  4103. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4104. <LibraryPath>Signal\Sources\Zero.emx</LibraryPath>
  4105. <TimeStamp>2007-9-27 15:54:36</TimeStamp>
  4106. </Description>
  4107. ';
  4108. type Zero
  4109. ports
  4110. signal out output [4,4];
  4111. end;
  4112. icon bg bottom
  4113. figures
  4114. rectangle 96.1 120 127.9 152 color 0 fill 15132390;
  4115. text '0' 112 136 color 16711680 18 bold;
  4116. end;
  4117. implementation eq
  4118. equations
  4119. output = eye(4);implementation_end;
  4120. ZeroJunction2 520 280
  4121. description '<Information>
  4122. <Description>
  4123. <Version>4.2</Version>
  4124. <IsMainModel>1</IsMainModel>
  4125. <KeepParameterValues>False</KeepParameterValues>
  4126. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  4127. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  4128. </Description>
  4129. </Information>';
  4130. knot ZeroJunction
  4131. ports
  4132. rotation knot duplicatable none p [1];
  4133. signal knot out effort [1];
  4134. restrictions
  4135. causality constraint one_in p;
  4136. end;
  4137. icon bg
  4138. figures
  4139. text '0' 520 280 color 0 18 bold;
  4140. end;
  4141. implementation eq
  4142. equations
  4143. sum (direct (p.f)) = 0;
  4144. equal (collect (p.e));
  4145. effort = first (p.e);
  4146. implementation_end;
  4147. ZeroJunction3 112 288
  4148. description '<Information>
  4149. <Description>
  4150. <Version>4.2</Version>
  4151. <IsMainModel>1</IsMainModel>
  4152. <KeepParameterValues>False</KeepParameterValues>
  4153. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  4154. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  4155. </Description>
  4156. </Information>';
  4157. knot ZeroJunction
  4158. ports
  4159. rotation knot duplicatable none p [1];
  4160. signal knot out effort [1];
  4161. restrictions
  4162. causality constraint one_in p;
  4163. end;
  4164. icon bg
  4165. figures
  4166. text '0' 112 288 color 0 18 bold;
  4167. end;
  4168. implementation eq
  4169. equations
  4170. sum (direct (p.f)) = 0;
  4171. equal (collect (p.e));
  4172. effort = first (p.e);
  4173. implementation_end;
  4174. end;
  4175. connections
  4176. C1\p <= OneJunction7\p;
  4177. C2\p <= OneJunction6\p;
  4178. COM\Hout -> new_joint1\input;
  4179. COM1\Hout -> new_joint2\input;
  4180. COM2\Hin <- Link3\Hout 920 136;
  4181. COM2\Hout -> new_joint3\input;
  4182. COM2\p => OneJunction12\p;
  4183. inverse_kinematics1\angle1 -> Negate1\input;
  4184. inverse_kinematics1\angle2 -> Negate2\input;
  4185. Joint\Hout -> Link\Hin;
  4186. Joint\Pdiff <= PowerMux\output;
  4187. Joint\Pin <= Link\Pout;
  4188. Joint\Pout => OneJunction2\p;
  4189. Link\Pin <= OneJunction1\p;
  4190. Link1\Hout -> Joint1\Hin;
  4191. Link1\Pin <= Joint1\Pout;
  4192. Link1\Pout => OneJunction1\p;
  4193. Link2\Hin <- Joint1\Hout;
  4194. Link2\Hout -> Splitter2\input;
  4195. Link2\Pin <= OneJunction3\p;
  4196. Link2\Pout => Joint1\Pin;
  4197. Link3\Pin <= OneJunction12\p;
  4198. Link3\Pout => OneJunction3\p;
  4199. Negate1\output -> stepper_control\setpoint;
  4200. Negate2\output -> stepper_control1\setpoint;
  4201. OneJunction1\p <= COM\p;
  4202. OneJunction11\p => ZeroJunction2\p;
  4203. OneJunction14\p => ZeroJunction3\p;
  4204. OneJunction17\p => C\p;
  4205. OneJunction3\p <= COM1\p;
  4206. OneJunction4\p => C4\p;
  4207. OneJunction4\p => R4\p;
  4208. OneJunction5\p => C3\p;
  4209. OneJunction5\p => R2\p;
  4210. OneJunction6\p => R3\p;
  4211. OneJunction7\p => R5\p;
  4212. OneJunction8\p => C5\p;
  4213. PowerMux\input_pos3 <= OneJunction6\p;
  4214. PowerMux\input_rot2 <= OneJunction5\p;
  4215. PowerMux1\input_pos3 <= OneJunction7\p;
  4216. PowerMux1\input_rot2 <= OneJunction4\p;
  4217. PowerMux1\output => Joint1\Pdiff;
  4218. R1\p <= OneJunction17\p;
  4219. R6\p <= OneJunction8\p;
  4220. rectanglepath1\output -> inverse_kinematics1\input;
  4221. Sf2\p => OneJunction2\p;
  4222. Splitter1\input <- Link\Hout;
  4223. Splitter1\output -> COM\Hin;
  4224. Splitter1\output -> Link1\Hin;
  4225. Splitter2\output -> COM1\Hin;
  4226. Splitter2\output -> Link3\Hin;
  4227. stepper_control\output -> stepper_model\angle;
  4228. stepper_control1\output -> stepper_model1\angle;
  4229. stepper_model\p => OneJunction14\p;
  4230. stepper_model1\p => OneJunction11\p;
  4231. Zero\output -> Joint\Hin;
  4232. ZeroJunction2\p => OneJunction17\p;
  4233. ZeroJunction2\p => PowerMux1\input;
  4234. ZeroJunction3\p => OneJunction8\p;
  4235. ZeroJunction3\p => PowerMux\input;
  4236. end;
  4237. implementation_end;
  4238. ]]>
  4239. </Sidops>
  4240. </Model>
  4241. <Experiments>
  4242. <DefaultExperiment><![CDATA[Experiment 1]]>
  4243. </DefaultExperiment>
  4244. <Experiment>
  4245. <Name>Experiment 1</Name>
  4246. <CreatedBy></CreatedBy>
  4247. <Info></Info>
  4248. <ExpData>
  4249. <VersionNumber>4.8</VersionNumber>
  4250. <ModelProperties>
  4251. <ModelProperty section="GenSimProps" entry="ClearVarsAtStart" value="1"/>
  4252. </ModelProperties>
  4253. <Variables>
  4254. <Constants>
  4255. </Constants>
  4256. <Parameters>
  4257. <Variable>
  4258. <Name>stepper_model\phase_control\max_a</Name>
  4259. <Unit>m/s2</Unit>
  4260. <Value>0</Value>
  4261. </Variable>
  4262. <Variable>
  4263. <Name>stepper_model1\phase_control\max_a</Name>
  4264. <Unit>m/s2</Unit>
  4265. <Value>0</Value>
  4266. </Variable>
  4267. </Parameters>
  4268. <Initials>
  4269. <Variable>
  4270. <Name>C1\state_initial</Name>
  4271. <Rows>3</Rows>
  4272. <Columns>1</Columns>
  4273. <Value>0 0 0</Value>
  4274. </Variable>
  4275. <Variable>
  4276. <Name>C2\state_initial</Name>
  4277. <Rows>3</Rows>
  4278. <Columns>1</Columns>
  4279. <Value>0 0 0</Value>
  4280. </Variable>
  4281. <Variable>
  4282. <Name>C3\state_initial</Name>
  4283. <Rows>2</Rows>
  4284. <Columns>1</Columns>
  4285. <Value>0 0</Value>
  4286. </Variable>
  4287. <Variable>
  4288. <Name>C4\state_initial</Name>
  4289. <Rows>2</Rows>
  4290. <Columns>1</Columns>
  4291. <Value>0 0</Value>
  4292. </Variable>
  4293. <Variable>
  4294. <Name>C5\state_initial</Name>
  4295. <Value>0</Value>
  4296. </Variable>
  4297. <Variable>
  4298. <Name>COM1\InertialTensor\state_initial</Name>
  4299. <Rows>6</Rows>
  4300. <Columns>1</Columns>
  4301. <Value>0 0 0 0 0 0</Value>
  4302. </Variable>
  4303. <Variable>
  4304. <Name>COM\InertialTensor\state_initial</Name>
  4305. <Rows>6</Rows>
  4306. <Columns>1</Columns>
  4307. <Value>0 0 0 0 0 0</Value>
  4308. </Variable>
  4309. <Variable>
  4310. <Name>C\state_initial</Name>
  4311. <Value>0</Value>
  4312. </Variable>
  4313. <Variable>
  4314. <Name>Joint1\Hmatrix\p_initial</Name>
  4315. <Rows>3</Rows>
  4316. <Columns>1</Columns>
  4317. <Value>0 0 0</Value>
  4318. </Variable>
  4319. <Variable>
  4320. <Name>Joint\Hmatrix\p_initial</Name>
  4321. <Rows>3</Rows>
  4322. <Columns>1</Columns>
  4323. <Value>0 0 0</Value>
  4324. </Variable>
  4325. <Variable>
  4326. <Name>stepper_control1\Position_control\state_initial</Name>
  4327. <Value>0</Value>
  4328. </Variable>
  4329. <Variable>
  4330. <Name>stepper_control1\Velocity_control\state_initial</Name>
  4331. <Value>0</Value>
  4332. </Variable>
  4333. <Variable>
  4334. <Name>stepper_control\Position_control\state_initial</Name>
  4335. <Value>0</Value>
  4336. </Variable>
  4337. <Variable>
  4338. <Name>stepper_control\Velocity_control\state_initial</Name>
  4339. <Value>0</Value>
  4340. </Variable>
  4341. <Variable>
  4342. <Name>stepper_model1\I1\state_initial</Name>
  4343. <Value>0</Value>
  4344. </Variable>
  4345. <Variable>
  4346. <Name>stepper_model1\I\state_initial</Name>
  4347. <Value>0</Value>
  4348. </Variable>
  4349. <Variable>
  4350. <Name>stepper_model1\RotorAngle\angle_initial</Name>
  4351. <Unit>rad</Unit>
  4352. <Value>0</Value>
  4353. </Variable>
  4354. <Variable>
  4355. <Name>stepper_model\I1\state_initial</Name>
  4356. <Value>0</Value>
  4357. </Variable>
  4358. <Variable>
  4359. <Name>stepper_model\I\state_initial</Name>
  4360. <Value>0</Value>
  4361. </Variable>
  4362. <Variable>
  4363. <Name>stepper_model\RotorAngle\angle_initial</Name>
  4364. <Unit>rad</Unit>
  4365. <Value>0</Value>
  4366. </Variable>
  4367. <Variable>
  4368. <Name>COM2\InertialTensor\p.e_initial</Name>
  4369. <Rows>6</Rows>
  4370. <Columns>1</Columns>
  4371. <Value>0 0 0 0 0 0</Value>
  4372. </Variable>
  4373. <Variable>
  4374. <Name>stepper_model1\I2\p.e_initial</Name>
  4375. <Value>0</Value>
  4376. </Variable>
  4377. <Variable>
  4378. <Name>stepper_model\I2\p.e_initial</Name>
  4379. <Value>0</Value>
  4380. </Variable>
  4381. </Initials>
  4382. </Variables>
  4383. <PlotSpecs>
  4384. <VarNames>
  4385. <VarName>time</VarName>
  4386. <VarName>new_joint1\position[1]</VarName>
  4387. <VarName>new_joint1\position[2]</VarName>
  4388. <VarName>new_joint1\position[3]</VarName>
  4389. <VarName>new_joint1\R[1,3]</VarName>
  4390. <VarName>new_joint1\R[2,3]</VarName>
  4391. <VarName>new_joint1\R[3,3]</VarName>
  4392. <VarName>new_joint1\R[1,2]</VarName>
  4393. <VarName>new_joint1\R[2,2]</VarName>
  4394. <VarName>new_joint1\R[3,2]</VarName>
  4395. <VarName>new_joint2\R[1,3]</VarName>
  4396. <VarName>new_joint2\R[2,3]</VarName>
  4397. <VarName>new_joint2\R[3,3]</VarName>
  4398. <VarName>new_joint2\R[1,2]</VarName>
  4399. <VarName>new_joint2\R[2,2]</VarName>
  4400. <VarName>new_joint2\R[3,2]</VarName>
  4401. <VarName>new_joint2\position[1]</VarName>
  4402. <VarName>new_joint2\position[2]</VarName>
  4403. <VarName>new_joint2\position[3]</VarName>
  4404. <VarName>new_joint3\position[3]</VarName>
  4405. <VarName>new_joint3\position[2]</VarName>
  4406. <VarName>rectanglepath1\output[2]</VarName>
  4407. <VarName>rectanglepath1\output[1]</VarName>
  4408. <VarName>Integrate2\output</VarName>
  4409. <VarName>Submodel3\dimension[1]</VarName>
  4410. <VarName>Submodel3\dimension[2]</VarName>
  4411. <VarName>Submodel3\dimension[3]</VarName>
  4412. <VarName>Submodel4\dimension[1]</VarName>
  4413. <VarName>Submodel4\dimension[2]</VarName>
  4414. <VarName>Submodel4\dimension[3]</VarName>
  4415. <VarName>Step\output</VarName>
  4416. <VarName>motor_joint2\SignalLimiter2\output</VarName>
  4417. <VarName>stepper_control\Acceleration_int\output</VarName>
  4418. <VarName>stepper_control\Acceleration_int\input</VarName>
  4419. <VarName>stepper_control\Velocity_int\output</VarName>
  4420. <VarName>stepper_control1\Acceleration_int\output</VarName>
  4421. <VarName>stepper_control1\Acceleration_int\input</VarName>
  4422. <VarName>stepper_control1\Velocity_int\output</VarName>
  4423. </VarNames>
  4424. <Plots>
  4425. <Plot>
  4426. <PlotType>D3DPlot</PlotType>
  4427. <BasePlot>
  4428. <PlotId>1</PlotId>
  4429. <UseWindowsBGColor>false</UseWindowsBGColor>
  4430. <BGColor>16777215</BGColor>
  4431. <PlotIsVisible>true</PlotIsVisible>
  4432. </BasePlot>
  4433. <PlotTitle>3D Animation</PlotTitle>
  4434. <RenderQuality>137</RenderQuality>
  4435. <ShowGrid>true</ShowGrid>
  4436. <ShowFPS>false</ShowFPS>
  4437. <BackgroundColor>4294967295</BackgroundColor>
  4438. <SceneBackgroundImage>Gradients\BlueWhite.png</SceneBackgroundImage>
  4439. <ApplyTextureBackground>true</ApplyTextureBackground>
  4440. <FrameScale>1.0</FrameScale>
  4441. <FrameThickness>1.0</FrameThickness>
  4442. <MainFrame>
  4443. <Frame>
  4444. <ScaleValue>
  4445. <X>
  4446. <Value>1</Value>
  4447. </X>
  4448. <Y>
  4449. <Value>1</Value>
  4450. </Y>
  4451. <Z>
  4452. <Value>1</Value>
  4453. </Z>
  4454. </ScaleValue>
  4455. <ShowReferenceFrame>true</ShowReferenceFrame>
  4456. <Name>Reference Frame</Name>
  4457. <Position>
  4458. </Position>
  4459. <Orientation>
  4460. <Angles>
  4461. </Angles>
  4462. <OrientationType>Bryant</OrientationType>
  4463. </Orientation>
  4464. <LockX>false</LockX>
  4465. <LockY>false</LockY>
  4466. <LockZ>false</LockZ>
  4467. <LockXPitch>false</LockXPitch>
  4468. <LockYYaw>false</LockYYaw>
  4469. <LockZRoll>false</LockZRoll>
  4470. <Childs>
  4471. <Frame>
  4472. <ScaleValue>
  4473. <X>
  4474. <Value>1</Value>
  4475. </X>
  4476. <Y>
  4477. <Value>1</Value>
  4478. </Y>
  4479. <Z>
  4480. <Value>1</Value>
  4481. </Z>
  4482. </ScaleValue>
  4483. <ShowReferenceFrame>false</ShowReferenceFrame>
  4484. <Name>Default Lights and Cameras</Name>
  4485. <Position>
  4486. </Position>
  4487. <Orientation>
  4488. <Angles>
  4489. </Angles>
  4490. <OrientationType>Bryant</OrientationType>
  4491. </Orientation>
  4492. <LockX>false</LockX>
  4493. <LockY>false</LockY>
  4494. <LockZ>false</LockZ>
  4495. <LockXPitch>false</LockXPitch>
  4496. <LockYYaw>false</LockYYaw>
  4497. <LockZRoll>false</LockZRoll>
  4498. <Childs>
  4499. <Light>
  4500. <ShowReferenceFrame>false</ShowReferenceFrame>
  4501. <Name>Ambient</Name>
  4502. <Position>
  4503. </Position>
  4504. <Orientation>
  4505. <ZAxis>
  4506. <Z>
  4507. <Value>1</Value>
  4508. </Z>
  4509. </ZAxis>
  4510. <YAxis>
  4511. <Y>
  4512. <Value>1</Value>
  4513. </Y>
  4514. </YAxis>
  4515. <OrientationType>Direct3D</OrientationType>
  4516. </Orientation>
  4517. <LockX>false</LockX>
  4518. <LockY>false</LockY>
  4519. <LockZ>false</LockZ>
  4520. <LockXPitch>false</LockXPitch>
  4521. <LockYYaw>false</LockYYaw>
  4522. <LockZRoll>false</LockZRoll>
  4523. <Childs>
  4524. </Childs>
  4525. <LightType>0</LightType>
  4526. <LightColor>
  4527. <Color>
  4528. <X>
  4529. <Value>0.3</Value>
  4530. </X>
  4531. <Y>
  4532. <Value>0.3</Value>
  4533. </Y>
  4534. <Z>
  4535. <Value>0.3</Value>
  4536. </Z>
  4537. </Color>
  4538. <Offset>
  4539. </Offset>
  4540. <Multipliers>
  4541. <X>
  4542. <Value>1</Value>
  4543. </X>
  4544. <Y>
  4545. <Value>1</Value>
  4546. </Y>
  4547. <Z>
  4548. <Value>1</Value>
  4549. </Z>
  4550. </Multipliers>
  4551. <Direct3DColorRange>true</Direct3DColorRange>
  4552. </LightColor>
  4553. <AmbientLight>
  4554. <Color>
  4555. <X>
  4556. <Value>0.3</Value>
  4557. </X>
  4558. <Y>
  4559. <Value>0.3</Value>
  4560. </Y>
  4561. <Z>
  4562. <Value>0.3</Value>
  4563. </Z>
  4564. </Color>
  4565. <Offset>
  4566. </Offset>
  4567. <Multipliers>
  4568. <X>
  4569. <Value>1</Value>
  4570. </X>
  4571. <Y>
  4572. <Value>1</Value>
  4573. </Y>
  4574. <Z>
  4575. <Value>1</Value>
  4576. </Z>
  4577. </Multipliers>
  4578. <Direct3DColorRange>true</Direct3DColorRange>
  4579. </AmbientLight>
  4580. <AmbientOn>true</AmbientOn>
  4581. <DiffuseOn>false</DiffuseOn>
  4582. <SpecularOn>false</SpecularOn>
  4583. </Light>
  4584. <Light>
  4585. <ShowReferenceFrame>false</ShowReferenceFrame>
  4586. <Name>Parallel</Name>
  4587. <Position>
  4588. <X>
  4589. <Value>-3</Value>
  4590. </X>
  4591. <Y>
  4592. <Value>5</Value>
  4593. </Y>
  4594. <Z>
  4595. <Value>3</Value>
  4596. </Z>
  4597. </Position>
  4598. <Orientation>
  4599. <ZAxis>
  4600. <X>
  4601. <Value>0.457495710997814</Value>
  4602. </X>
  4603. <Y>
  4604. <Value>-0.762492851663023</Value>
  4605. </Y>
  4606. <Z>
  4607. <Value>-0.457495710997814</Value>
  4608. </Z>
  4609. </ZAxis>
  4610. <YAxis>
  4611. <X>
  4612. <Value>0.235379601434674</Value>
  4613. </X>
  4614. <Y>
  4615. <Value>-0.392299335724456</Value>
  4616. </Y>
  4617. <Z>
  4618. <Value>0.889211827642101</Value>
  4619. </Z>
  4620. </YAxis>
  4621. <OrientationType>Direct3D</OrientationType>
  4622. </Orientation>
  4623. <LockX>false</LockX>
  4624. <LockY>false</LockY>
  4625. <LockZ>false</LockZ>
  4626. <LockXPitch>false</LockXPitch>
  4627. <LockYYaw>false</LockYYaw>
  4628. <LockZRoll>false</LockZRoll>
  4629. <Childs>
  4630. </Childs>
  4631. <LightType>3</LightType>
  4632. <LightColor>
  4633. <Color>
  4634. <X>
  4635. <Value>0.5</Value>
  4636. </X>
  4637. <Y>
  4638. <Value>0.5</Value>
  4639. </Y>
  4640. <Z>
  4641. <Value>0.5</Value>
  4642. </Z>
  4643. </Color>
  4644. <Offset>
  4645. </Offset>
  4646. <Multipliers>
  4647. <X>
  4648. <Value>1</Value>
  4649. </X>
  4650. <Y>
  4651. <Value>1</Value>
  4652. </Y>
  4653. <Z>
  4654. <Value>1</Value>
  4655. </Z>
  4656. </Multipliers>
  4657. <Direct3DColorRange>true</Direct3DColorRange>
  4658. </LightColor>
  4659. <Attenuation>
  4660. <Constant>
  4661. <Value>1.0</Value>
  4662. </Constant>
  4663. <Linear>
  4664. <Value>0.0</Value>
  4665. </Linear>
  4666. <Quadratic>
  4667. <Value>0.0</Value>
  4668. </Quadratic>
  4669. </Attenuation>
  4670. <DiffuseLight>
  4671. <Color>
  4672. <X>
  4673. <Value>0.5</Value>
  4674. </X>
  4675. <Y>
  4676. <Value>0.5</Value>
  4677. </Y>
  4678. <Z>
  4679. <Value>0.5</Value>
  4680. </Z>
  4681. </Color>
  4682. <Offset>
  4683. </Offset>
  4684. <Multipliers>
  4685. <X>
  4686. <Value>1</Value>
  4687. </X>
  4688. <Y>
  4689. <Value>1</Value>
  4690. </Y>
  4691. <Z>
  4692. <Value>1</Value>
  4693. </Z>
  4694. </Multipliers>
  4695. <Direct3DColorRange>true</Direct3DColorRange>
  4696. </DiffuseLight>
  4697. <SpecularLight>
  4698. <Color>
  4699. <X>
  4700. <Value>0.5</Value>
  4701. </X>
  4702. <Y>
  4703. <Value>0.5</Value>
  4704. </Y>
  4705. <Z>
  4706. <Value>0.5</Value>
  4707. </Z>
  4708. </Color>
  4709. <Offset>
  4710. </Offset>
  4711. <Multipliers>
  4712. <X>
  4713. <Value>1</Value>
  4714. </X>
  4715. <Y>
  4716. <Value>1</Value>
  4717. </Y>
  4718. <Z>
  4719. <Value>1</Value>
  4720. </Z>
  4721. </Multipliers>
  4722. <Direct3DColorRange>true</Direct3DColorRange>
  4723. </SpecularLight>
  4724. <AmbientOn>false</AmbientOn>
  4725. <DiffuseOn>true</DiffuseOn>
  4726. <SpecularOn>true</SpecularOn>
  4727. </Light>
  4728. <Light>
  4729. <ShowReferenceFrame>false</ShowReferenceFrame>
  4730. <Name>Spot Light 1</Name>
  4731. <Position>
  4732. <X>
  4733. <Value>-3</Value>
  4734. </X>
  4735. <Y>
  4736. <Value>-5</Value>
  4737. </Y>
  4738. <Z>
  4739. <Value>1</Value>
  4740. </Z>
  4741. </Position>
  4742. <Orientation>
  4743. <ZAxis>
  4744. <X>
  4745. <Value>0.50709255283711</Value>
  4746. </X>
  4747. <Y>
  4748. <Value>0.845154254728517</Value>
  4749. </Y>
  4750. <Z>
  4751. <Value>-0.169030850945703</Value>
  4752. </Z>
  4753. </ZAxis>
  4754. <YAxis>
  4755. <X>
  4756. <Value>0.0869656553478673</Value>
  4757. </X>
  4758. <Y>
  4759. <Value>0.144942758913112</Value>
  4760. </Y>
  4761. <Z>
  4762. <Value>0.985610760609162</Value>
  4763. </Z>
  4764. </YAxis>
  4765. <OrientationType>Direct3D</OrientationType>
  4766. </Orientation>
  4767. <LockX>false</LockX>
  4768. <LockY>false</LockY>
  4769. <LockZ>false</LockZ>
  4770. <LockXPitch>false</LockXPitch>
  4771. <LockYYaw>false</LockYYaw>
  4772. <LockZRoll>false</LockZRoll>
  4773. <Childs>
  4774. </Childs>
  4775. <LightType>2</LightType>
  4776. <LightColor>
  4777. <Color>
  4778. <X>
  4779. <Value>0.5</Value>
  4780. </X>
  4781. <Y>
  4782. <Value>0.5</Value>
  4783. </Y>
  4784. <Z>
  4785. <Value>0.5</Value>
  4786. </Z>
  4787. </Color>
  4788. <Offset>
  4789. </Offset>
  4790. <Multipliers>
  4791. <X>
  4792. <Value>1</Value>
  4793. </X>
  4794. <Y>
  4795. <Value>1</Value>
  4796. </Y>
  4797. <Z>
  4798. <Value>1</Value>
  4799. </Z>
  4800. </Multipliers>
  4801. <Direct3DColorRange>true</Direct3DColorRange>
  4802. </LightColor>
  4803. <Attenuation>
  4804. <Constant>
  4805. <Value>1.0</Value>
  4806. </Constant>
  4807. <Linear>
  4808. <Value>0.05</Value>
  4809. </Linear>
  4810. <Quadratic>
  4811. <Value>0.05</Value>
  4812. </Quadratic>
  4813. </Attenuation>
  4814. <Umbra>
  4815. <Value>1.0471975511965976</Value>
  4816. </Umbra>
  4817. <Penumbra>
  4818. <Value>1.0471975511965976</Value>
  4819. </Penumbra>
  4820. <SpotExponent>0.0</SpotExponent>
  4821. <DiffuseLight>
  4822. <Color>
  4823. <X>
  4824. <Value>0.5</Value>
  4825. </X>
  4826. <Y>
  4827. <Value>0.5</Value>
  4828. </Y>
  4829. <Z>
  4830. <Value>0.5</Value>
  4831. </Z>
  4832. </Color>
  4833. <Offset>
  4834. </Offset>
  4835. <Multipliers>
  4836. <X>
  4837. <Value>1</Value>
  4838. </X>
  4839. <Y>
  4840. <Value>1</Value>
  4841. </Y>
  4842. <Z>
  4843. <Value>1</Value>
  4844. </Z>
  4845. </Multipliers>
  4846. <Direct3DColorRange>true</Direct3DColorRange>
  4847. </DiffuseLight>
  4848. <SpecularLight>
  4849. <Color>
  4850. <X>
  4851. <Value>0.5</Value>
  4852. </X>
  4853. <Y>
  4854. <Value>0.5</Value>
  4855. </Y>
  4856. <Z>
  4857. <Value>0.5</Value>
  4858. </Z>
  4859. </Color>
  4860. <Offset>
  4861. </Offset>
  4862. <Multipliers>
  4863. <X>
  4864. <Value>1</Value>
  4865. </X>
  4866. <Y>
  4867. <Value>1</Value>
  4868. </Y>
  4869. <Z>
  4870. <Value>1</Value>
  4871. </Z>
  4872. </Multipliers>
  4873. <Direct3DColorRange>true</Direct3DColorRange>
  4874. </SpecularLight>
  4875. <AmbientOn>false</AmbientOn>
  4876. <DiffuseOn>true</DiffuseOn>
  4877. <SpecularOn>true</SpecularOn>
  4878. </Light>
  4879. <Light>
  4880. <ShowReferenceFrame>false</ShowReferenceFrame>
  4881. <Name>Spot Light 2</Name>
  4882. <Position>
  4883. <X>
  4884. <Value>2</Value>
  4885. </X>
  4886. <Y>
  4887. <Value>-3</Value>
  4888. </Y>
  4889. <Z>
  4890. <Value>-1</Value>
  4891. </Z>
  4892. </Position>
  4893. <Orientation>
  4894. <ZAxis>
  4895. <X>
  4896. <Value>-0.534522483824849</Value>
  4897. </X>
  4898. <Y>
  4899. <Value>0.801783725737273</Value>
  4900. </Y>
  4901. <Z>
  4902. <Value>0.267261241912424</Value>
  4903. </Z>
  4904. </ZAxis>
  4905. <YAxis>
  4906. <X>
  4907. <Value>0.14824986333222</Value>
  4908. </X>
  4909. <Y>
  4910. <Value>-0.22237479499833</Value>
  4911. </Y>
  4912. <Z>
  4913. <Value>0.963624111659432</Value>
  4914. </Z>
  4915. </YAxis>
  4916. <OrientationType>Direct3D</OrientationType>
  4917. </Orientation>
  4918. <LockX>false</LockX>
  4919. <LockY>false</LockY>
  4920. <LockZ>false</LockZ>
  4921. <LockXPitch>false</LockXPitch>
  4922. <LockYYaw>false</LockYYaw>
  4923. <LockZRoll>false</LockZRoll>
  4924. <Childs>
  4925. </Childs>
  4926. <LightType>2</LightType>
  4927. <LightColor>
  4928. <Color>
  4929. <X>
  4930. <Value>1</Value>
  4931. </X>
  4932. <Y>
  4933. <Value>1</Value>
  4934. </Y>
  4935. <Z>
  4936. <Value>1</Value>
  4937. </Z>
  4938. </Color>
  4939. <Offset>
  4940. </Offset>
  4941. <Multipliers>
  4942. <X>
  4943. <Value>1</Value>
  4944. </X>
  4945. <Y>
  4946. <Value>1</Value>
  4947. </Y>
  4948. <Z>
  4949. <Value>1</Value>
  4950. </Z>
  4951. </Multipliers>
  4952. <Direct3DColorRange>true</Direct3DColorRange>
  4953. </LightColor>
  4954. <Attenuation>
  4955. <Constant>
  4956. <Value>1.0</Value>
  4957. </Constant>
  4958. <Linear>
  4959. <Value>0.05</Value>
  4960. </Linear>
  4961. <Quadratic>
  4962. <Value>0.05</Value>
  4963. </Quadratic>
  4964. </Attenuation>
  4965. <Umbra>
  4966. <Value>1.5707963267948966</Value>
  4967. </Umbra>
  4968. <Penumbra>
  4969. <Value>1.5707963267948966</Value>
  4970. </Penumbra>
  4971. <SpotExponent>0.0</SpotExponent>
  4972. <DiffuseLight>
  4973. <Color>
  4974. <X>
  4975. <Value>1</Value>
  4976. </X>
  4977. <Y>
  4978. <Value>1</Value>
  4979. </Y>
  4980. <Z>
  4981. <Value>1</Value>
  4982. </Z>
  4983. </Color>
  4984. <Offset>
  4985. </Offset>
  4986. <Multipliers>
  4987. <X>
  4988. <Value>1</Value>
  4989. </X>
  4990. <Y>
  4991. <Value>1</Value>
  4992. </Y>
  4993. <Z>
  4994. <Value>1</Value>
  4995. </Z>
  4996. </Multipliers>
  4997. <Direct3DColorRange>true</Direct3DColorRange>
  4998. </DiffuseLight>
  4999. <SpecularLight>
  5000. <Color>
  5001. <X>
  5002. <Value>0.5</Value>
  5003. </X>
  5004. <Y>
  5005. <Value>0.5</Value>
  5006. </Y>
  5007. <Z>
  5008. <Value>0.5</Value>
  5009. </Z>
  5010. </Color>
  5011. <Offset>
  5012. </Offset>
  5013. <Multipliers>
  5014. <X>
  5015. <Value>1</Value>
  5016. </X>
  5017. <Y>
  5018. <Value>1</Value>
  5019. </Y>
  5020. <Z>
  5021. <Value>1</Value>
  5022. </Z>
  5023. </Multipliers>
  5024. <Direct3DColorRange>true</Direct3DColorRange>
  5025. </SpecularLight>
  5026. <AmbientOn>false</AmbientOn>
  5027. <DiffuseOn>true</DiffuseOn>
  5028. <SpecularOn>true</SpecularOn>
  5029. </Light>
  5030. <Camera>
  5031. <ShowReferenceFrame>false</ShowReferenceFrame>
  5032. <Name>Camera Looking at Origin</Name>
  5033. <Position>
  5034. <X>
  5035. <Value>3.04292494817788</Value>
  5036. </X>
  5037. <Y>
  5038. <Value>-0.198158420944799</Value>
  5039. </Y>
  5040. <Z>
  5041. <Value>2.86669745787175</Value>
  5042. </Z>
  5043. </Position>
  5044. <Orientation>
  5045. <ZAxis>
  5046. <X>
  5047. <Value>-0.727053165168863</Value>
  5048. </X>
  5049. <Y>
  5050. <Value>0.0473464543511177</Value>
  5051. </Y>
  5052. <Z>
  5053. <Value>-0.684946719298892</Value>
  5054. </Z>
  5055. </ZAxis>
  5056. <YAxis>
  5057. <X>
  5058. <Value>-0.6834989786941</Value>
  5059. </X>
  5060. <Y>
  5061. <Value>0.0445101606651553</Value>
  5062. </Y>
  5063. <Z>
  5064. <Value>0.728593159260835</Value>
  5065. </Z>
  5066. </YAxis>
  5067. <OrientationType>Direct3D</OrientationType>
  5068. </Orientation>
  5069. <LockX>false</LockX>
  5070. <LockY>false</LockY>
  5071. <LockZ>false</LockZ>
  5072. <LockXPitch>false</LockXPitch>
  5073. <LockYYaw>false</LockYYaw>
  5074. <LockZRoll>false</LockZRoll>
  5075. <Childs>
  5076. </Childs>
  5077. <FrontPlane>0.01</FrontPlane>
  5078. <BackPlane>100.0</BackPlane>
  5079. <AutoFrontBack>true</AutoFrontBack>
  5080. <Field>0.003926990816987242</Field>
  5081. <Fieldy>45.0</Fieldy>
  5082. <PlaneLeft>-10.0</PlaneLeft>
  5083. <PlaneRight>10.0</PlaneRight>
  5084. <PlaneTop>10.0</PlaneTop>
  5085. <PlaneBottom>-10.0</PlaneBottom>
  5086. <UseLookatPosition>true</UseLookatPosition>
  5087. <LookatPosition>
  5088. <X>
  5089. <Value>-9.99200722162641e-016</Value>
  5090. </X>
  5091. <Y>
  5092. <Value>1.76247905159244e-015</Value>
  5093. </Y>
  5094. <Z>
  5095. <Value>-3.05678199886544e-015</Value>
  5096. </Z>
  5097. </LookatPosition>
  5098. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  5099. <LookUpVector>
  5100. <Z>
  5101. <Value>1</Value>
  5102. </Z>
  5103. </LookUpVector>
  5104. <RightHand>true</RightHand>
  5105. <Perspective>true</Perspective>
  5106. <IsSelectedCamera>true</IsSelectedCamera>
  5107. </Camera>
  5108. <Camera>
  5109. <ShowReferenceFrame>false</ShowReferenceFrame>
  5110. <Name>Front(XY)-Camera</Name>
  5111. <Position>
  5112. <Z>
  5113. <Value>10</Value>
  5114. </Z>
  5115. </Position>
  5116. <Orientation>
  5117. <ZAxis>
  5118. <Z>
  5119. <Value>-1</Value>
  5120. </Z>
  5121. </ZAxis>
  5122. <YAxis>
  5123. <Y>
  5124. <Value>1</Value>
  5125. </Y>
  5126. </YAxis>
  5127. <OrientationType>Direct3D</OrientationType>
  5128. </Orientation>
  5129. <LockX>false</LockX>
  5130. <LockY>false</LockY>
  5131. <LockZ>false</LockZ>
  5132. <LockXPitch>false</LockXPitch>
  5133. <LockYYaw>false</LockYYaw>
  5134. <LockZRoll>false</LockZRoll>
  5135. <Childs>
  5136. </Childs>
  5137. <FrontPlane>0.01</FrontPlane>
  5138. <BackPlane>100.0</BackPlane>
  5139. <AutoFrontBack>true</AutoFrontBack>
  5140. <Field>9.999999999999998</Field>
  5141. <Fieldy>45.0</Fieldy>
  5142. <PlaneLeft>-9.999999999999998</PlaneLeft>
  5143. <PlaneRight>9.999999999999998</PlaneRight>
  5144. <PlaneTop>9.999999999999998</PlaneTop>
  5145. <PlaneBottom>-9.999999999999998</PlaneBottom>
  5146. <UseLookatPosition>true</UseLookatPosition>
  5147. <LookatPosition>
  5148. </LookatPosition>
  5149. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  5150. <LookUpVector>
  5151. <Y>
  5152. <Value>1</Value>
  5153. </Y>
  5154. </LookUpVector>
  5155. <RightHand>true</RightHand>
  5156. <Perspective>false</Perspective>
  5157. <IsSelectedCamera>false</IsSelectedCamera>
  5158. </Camera>
  5159. <Camera>
  5160. <ShowReferenceFrame>false</ShowReferenceFrame>
  5161. <Name>Side(YZ)-Camera</Name>
  5162. <Position>
  5163. <X>
  5164. <Value>10</Value>
  5165. </X>
  5166. </Position>
  5167. <Orientation>
  5168. <ZAxis>
  5169. <X>
  5170. <Value>-1</Value>
  5171. </X>
  5172. </ZAxis>
  5173. <YAxis>
  5174. <Z>
  5175. <Value>1</Value>
  5176. </Z>
  5177. </YAxis>
  5178. <OrientationType>Direct3D</OrientationType>
  5179. </Orientation>
  5180. <LockX>false</LockX>
  5181. <LockY>false</LockY>
  5182. <LockZ>false</LockZ>
  5183. <LockXPitch>false</LockXPitch>
  5184. <LockYYaw>false</LockYYaw>
  5185. <LockZRoll>false</LockZRoll>
  5186. <Childs>
  5187. </Childs>
  5188. <FrontPlane>0.01</FrontPlane>
  5189. <BackPlane>100.0</BackPlane>
  5190. <AutoFrontBack>true</AutoFrontBack>
  5191. <Field>9.999999999999998</Field>
  5192. <Fieldy>45.0</Fieldy>
  5193. <PlaneLeft>-9.999999999999998</PlaneLeft>
  5194. <PlaneRight>9.999999999999998</PlaneRight>
  5195. <PlaneTop>9.999999999999998</PlaneTop>
  5196. <PlaneBottom>-9.999999999999998</PlaneBottom>
  5197. <UseLookatPosition>true</UseLookatPosition>
  5198. <LookatPosition>
  5199. </LookatPosition>
  5200. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  5201. <LookUpVector>
  5202. <Z>
  5203. <Value>1</Value>
  5204. </Z>
  5205. </LookUpVector>
  5206. <RightHand>true</RightHand>
  5207. <Perspective>false</Perspective>
  5208. <IsSelectedCamera>false</IsSelectedCamera>
  5209. </Camera>
  5210. <Camera>
  5211. <ShowReferenceFrame>false</ShowReferenceFrame>
  5212. <Name>Top(XZ)-Camera</Name>
  5213. <Position>
  5214. <Y>
  5215. <Value>10</Value>
  5216. </Y>
  5217. </Position>
  5218. <Orientation>
  5219. <ZAxis>
  5220. <Y>
  5221. <Value>-1</Value>
  5222. </Y>
  5223. </ZAxis>
  5224. <YAxis>
  5225. <X>
  5226. <Value>1</Value>
  5227. </X>
  5228. </YAxis>
  5229. <OrientationType>Direct3D</OrientationType>
  5230. </Orientation>
  5231. <LockX>false</LockX>
  5232. <LockY>false</LockY>
  5233. <LockZ>false</LockZ>
  5234. <LockXPitch>false</LockXPitch>
  5235. <LockYYaw>false</LockYYaw>
  5236. <LockZRoll>false</LockZRoll>
  5237. <Childs>
  5238. </Childs>
  5239. <FrontPlane>0.01</FrontPlane>
  5240. <BackPlane>100.0</BackPlane>
  5241. <AutoFrontBack>true</AutoFrontBack>
  5242. <Field>9.999999999999998</Field>
  5243. <Fieldy>45.0</Fieldy>
  5244. <PlaneLeft>-9.999999999999998</PlaneLeft>
  5245. <PlaneRight>9.999999999999998</PlaneRight>
  5246. <PlaneTop>9.999999999999998</PlaneTop>
  5247. <PlaneBottom>-9.999999999999998</PlaneBottom>
  5248. <UseLookatPosition>true</UseLookatPosition>
  5249. <LookatPosition>
  5250. </LookatPosition>
  5251. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  5252. <LookUpVector>
  5253. <X>
  5254. <Value>1</Value>
  5255. </X>
  5256. </LookUpVector>
  5257. <RightHand>true</RightHand>
  5258. <Perspective>false</Perspective>
  5259. <IsSelectedCamera>false</IsSelectedCamera>
  5260. </Camera>
  5261. </Childs>
  5262. </Frame>
  5263. <Frame>
  5264. <ScaleValue>
  5265. <X>
  5266. <Value>1</Value>
  5267. </X>
  5268. <Y>
  5269. <Value>1</Value>
  5270. </Y>
  5271. <Z>
  5272. <Value>1</Value>
  5273. </Z>
  5274. </ScaleValue>
  5275. <ShowReferenceFrame>false</ShowReferenceFrame>
  5276. <Name>Scenery</Name>
  5277. <Position>
  5278. </Position>
  5279. <Orientation>
  5280. <Angles>
  5281. </Angles>
  5282. <OrientationType>Bryant</OrientationType>
  5283. </Orientation>
  5284. <LockX>false</LockX>
  5285. <LockY>false</LockY>
  5286. <LockZ>false</LockZ>
  5287. <LockXPitch>false</LockXPitch>
  5288. <LockYYaw>false</LockYYaw>
  5289. <LockZRoll>false</LockZRoll>
  5290. <Childs>
  5291. <Frame>
  5292. <ScaleValue>
  5293. <X>
  5294. <Value>10</Value>
  5295. </X>
  5296. <Y>
  5297. <Value>10</Value>
  5298. </Y>
  5299. <Z>
  5300. <Value>10</Value>
  5301. </Z>
  5302. </ScaleValue>
  5303. <ShowReferenceFrame>false</ShowReferenceFrame>
  5304. <Name>Reference Frame</Name>
  5305. <Position>
  5306. </Position>
  5307. <Orientation>
  5308. <Angles>
  5309. </Angles>
  5310. <OrientationType>Bryant</OrientationType>
  5311. </Orientation>
  5312. <LockX>false</LockX>
  5313. <LockY>false</LockY>
  5314. <LockZ>false</LockZ>
  5315. <LockXPitch>false</LockXPitch>
  5316. <LockYYaw>false</LockYYaw>
  5317. <LockZRoll>false</LockZRoll>
  5318. <Childs>
  5319. <Cube>
  5320. <Center>Center</Center>
  5321. <RibLength>1.0</RibLength>
  5322. <ShowInnerSide>true</ShowInnerSide>
  5323. <Accuracy>4</Accuracy>
  5324. <ScaleValue>
  5325. <X>
  5326. <VariableName>Submodel3\dimension[1]</VariableName>
  5327. <Value>0.005</Value>
  5328. </X>
  5329. <Y>
  5330. <VariableName>Submodel3\dimension[2]</VariableName>
  5331. <Value>0.065</Value>
  5332. </Y>
  5333. <Z>
  5334. <VariableName>Submodel3\dimension[3]</VariableName>
  5335. <Value>0.01</Value>
  5336. </Z>
  5337. </ScaleValue>
  5338. <OverrideColor>true</OverrideColor>
  5339. <MeshColor>
  5340. <X>
  5341. <Value>1</Value>
  5342. </X>
  5343. <Y>
  5344. <Value>1</Value>
  5345. </Y>
  5346. <Z>
  5347. <Value>1</Value>
  5348. </Z>
  5349. </MeshColor>
  5350. <Alpha>1.0</Alpha>
  5351. <MeshColorMultipliers>
  5352. <X>
  5353. <Value>1</Value>
  5354. </X>
  5355. <Y>
  5356. <Value>1</Value>
  5357. </Y>
  5358. <Z>
  5359. <Value>1</Value>
  5360. </Z>
  5361. </MeshColorMultipliers>
  5362. <MeshColorOffsets>
  5363. </MeshColorOffsets>
  5364. <Direct3DColorRange>true</Direct3DColorRange>
  5365. <SpecularColor>
  5366. <X>
  5367. <Value>0.498039215686275</Value>
  5368. </X>
  5369. <Y>
  5370. <Value>0.498039215686275</Value>
  5371. </Y>
  5372. <Z>
  5373. <Value>0.498039215686275</Value>
  5374. </Z>
  5375. </SpecularColor>
  5376. <EmissiveColor>
  5377. </EmissiveColor>
  5378. <ShininessPower>
  5379. <Value>14.298713684082</Value>
  5380. </ShininessPower>
  5381. <OverrideQuality>false</OverrideQuality>
  5382. <ShowReferenceFrame>false</ShowReferenceFrame>
  5383. <Name>Block</Name>
  5384. <Position>
  5385. <X>
  5386. <VariableName>new_joint1\position[1]</VariableName>
  5387. <Value>0.0</Value>
  5388. </X>
  5389. <Y>
  5390. <VariableName>new_joint1\position[2]</VariableName>
  5391. <Value>-0.01651527795907241</Value>
  5392. </Y>
  5393. <Z>
  5394. <VariableName>new_joint1\position[3]</VariableName>
  5395. <Value>0.027946459849279154</Value>
  5396. </Z>
  5397. </Position>
  5398. <Orientation>
  5399. <ZAxis>
  5400. <X>
  5401. <VariableName>new_joint1\R[1,3]</VariableName>
  5402. <Value>0.0</Value>
  5403. </X>
  5404. <Y>
  5405. <VariableName>new_joint1\R[2,3]</VariableName>
  5406. <Value>-0.8611149858648751</Value>
  5407. </Y>
  5408. <Z>
  5409. <VariableName>new_joint1\R[3,3]</VariableName>
  5410. <Value>-0.5084102488334947</Value>
  5411. </Z>
  5412. </ZAxis>
  5413. <YAxis>
  5414. <X>
  5415. <VariableName>new_joint1\R[1,2]</VariableName>
  5416. <Value>0.0</Value>
  5417. </X>
  5418. <Y>
  5419. <VariableName>new_joint1\R[2,2]</VariableName>
  5420. <Value>-0.5084102488334947</Value>
  5421. </Y>
  5422. <Z>
  5423. <VariableName>new_joint1\R[3,2]</VariableName>
  5424. <Value>0.8611149858648751</Value>
  5425. </Z>
  5426. </YAxis>
  5427. <OrientationType>Matrix</OrientationType>
  5428. </Orientation>
  5429. <LockX>false</LockX>
  5430. <LockY>false</LockY>
  5431. <LockZ>false</LockZ>
  5432. <LockXPitch>false</LockXPitch>
  5433. <LockYYaw>false</LockYYaw>
  5434. <LockZRoll>false</LockZRoll>
  5435. <Childs>
  5436. </Childs>
  5437. </Cube>
  5438. <Cube>
  5439. <Center>Center</Center>
  5440. <RibLength>1.0</RibLength>
  5441. <ShowInnerSide>true</ShowInnerSide>
  5442. <Accuracy>4</Accuracy>
  5443. <ScaleValue>
  5444. <X>
  5445. <VariableName>Submodel4\dimension[1]</VariableName>
  5446. <Value>0.005</Value>
  5447. </X>
  5448. <Y>
  5449. <VariableName>Submodel4\dimension[2]</VariableName>
  5450. <Value>0.05</Value>
  5451. </Y>
  5452. <Z>
  5453. <VariableName>Submodel4\dimension[3]</VariableName>
  5454. <Value>0.01</Value>
  5455. </Z>
  5456. </ScaleValue>
  5457. <OverrideColor>true</OverrideColor>
  5458. <MeshColor>
  5459. <X>
  5460. <Value>1</Value>
  5461. </X>
  5462. <Y>
  5463. <Value>1</Value>
  5464. </Y>
  5465. <Z>
  5466. <Value>1</Value>
  5467. </Z>
  5468. </MeshColor>
  5469. <Alpha>1.0</Alpha>
  5470. <MeshColorMultipliers>
  5471. <X>
  5472. <Value>1</Value>
  5473. </X>
  5474. <Y>
  5475. <Value>1</Value>
  5476. </Y>
  5477. <Z>
  5478. <Value>1</Value>
  5479. </Z>
  5480. </MeshColorMultipliers>
  5481. <MeshColorOffsets>
  5482. </MeshColorOffsets>
  5483. <Direct3DColorRange>true</Direct3DColorRange>
  5484. <SpecularColor>
  5485. <X>
  5486. <Value>0.5</Value>
  5487. </X>
  5488. <Y>
  5489. <Value>0.5</Value>
  5490. </Y>
  5491. <Z>
  5492. <Value>0.5</Value>
  5493. </Z>
  5494. </SpecularColor>
  5495. <EmissiveColor>
  5496. </EmissiveColor>
  5497. <ShininessPower>
  5498. <Value>15</Value>
  5499. </ShininessPower>
  5500. <OverrideQuality>false</OverrideQuality>
  5501. <ShowReferenceFrame>false</ShowReferenceFrame>
  5502. <Name>Block</Name>
  5503. <Position>
  5504. <X>
  5505. <VariableName>new_joint2\position[1]</VariableName>
  5506. <Value>0.0</Value>
  5507. </X>
  5508. <Y>
  5509. <VariableName>new_joint2\position[2]</VariableName>
  5510. <Value>-0.008092142484759316</Value>
  5511. </Y>
  5512. <Z>
  5513. <VariableName>new_joint2\position[3]</VariableName>
  5514. <Value>0.05482151967891108</Value>
  5515. </Z>
  5516. </Position>
  5517. <Orientation>
  5518. <ZAxis>
  5519. <X>
  5520. <VariableName>new_joint2\R[1,3]</VariableName>
  5521. <Value>0.0</Value>
  5522. </X>
  5523. <Y>
  5524. <VariableName>new_joint2\R[2,3]</VariableName>
  5525. <Value>0.04312796974618256</Value>
  5526. </Y>
  5527. <Z>
  5528. <VariableName>new_joint2\R[3,3]</VariableName>
  5529. <Value>0.9990695562500003</Value>
  5530. </Z>
  5531. </ZAxis>
  5532. <YAxis>
  5533. <X>
  5534. <VariableName>new_joint2\R[1,2]</VariableName>
  5535. <Value>0.0</Value>
  5536. </X>
  5537. <Y>
  5538. <VariableName>new_joint2\R[2,2]</VariableName>
  5539. <Value>0.9990695562500003</Value>
  5540. </Y>
  5541. <Z>
  5542. <VariableName>new_joint2\R[3,2]</VariableName>
  5543. <Value>-0.043127969746182555</Value>
  5544. </Z>
  5545. </YAxis>
  5546. <OrientationType>Matrix</OrientationType>
  5547. </Orientation>
  5548. <LockX>false</LockX>
  5549. <LockY>false</LockY>
  5550. <LockZ>false</LockZ>
  5551. <LockXPitch>false</LockXPitch>
  5552. <LockYYaw>false</LockYYaw>
  5553. <LockZRoll>false</LockZRoll>
  5554. <Childs>
  5555. </Childs>
  5556. </Cube>
  5557. </Childs>
  5558. </Frame>
  5559. </Childs>
  5560. </Frame>
  5561. </Childs>
  5562. </Frame>
  5563. </MainFrame>
  5564. </Plot>
  5565. <Plot>
  5566. <PlotType>GraphPlot</PlotType>
  5567. <BasePlot>
  5568. <PlotId>2</PlotId>
  5569. <UseWindowsBGColor>false</UseWindowsBGColor>
  5570. <BGColor>16777215</BGColor>
  5571. <PlotIsVisible>true</PlotIsVisible>
  5572. </BasePlot>
  5573. <Grid>
  5574. <DrawGrid>true</DrawGrid>
  5575. <GridColor>15780518</GridColor>
  5576. <GridBorderLineColor>12624260</GridBorderLineColor>
  5577. <GridZeroLineColor>0</GridZeroLineColor>
  5578. <XTicks>10</XTicks>
  5579. <YTicks>10</YTicks>
  5580. <ZTicks>10</ZTicks>
  5581. <Use3DLook>false</Use3DLook>
  5582. </Grid>
  5583. <PlotBGColor>16777215</PlotBGColor>
  5584. <ShowPlotTitle>true</ShowPlotTitle>
  5585. <TitlePosition>1</TitlePosition>
  5586. <PlotTitle>model(2)</PlotTitle>
  5587. <ShowXValues>true</ShowXValues>
  5588. <Fonts>
  5589. <TitleFont>
  5590. <Name>Arial</Name>
  5591. <Height>12</Height>
  5592. <PitchFamily>34</PitchFamily>
  5593. <Weight>400</Weight>
  5594. <Italic>0</Italic>
  5595. <UnderLine>0</UnderLine>
  5596. <StrikeOut>0</StrikeOut>
  5597. <Color>0</Color>
  5598. </TitleFont>
  5599. <LabelFont>
  5600. <Name>Arial</Name>
  5601. <Height>12</Height>
  5602. <PitchFamily>34</PitchFamily>
  5603. <Weight>400</Weight>
  5604. <Italic>0</Italic>
  5605. <UnderLine>0</UnderLine>
  5606. <StrikeOut>0</StrikeOut>
  5607. <Color>0</Color>
  5608. </LabelFont>
  5609. <ValuesFont>
  5610. <Name>Arial</Name>
  5611. <Height>10</Height>
  5612. <PitchFamily>34</PitchFamily>
  5613. <Weight>400</Weight>
  5614. <Italic>0</Italic>
  5615. <UnderLine>0</UnderLine>
  5616. <StrikeOut>0</StrikeOut>
  5617. <Color>0</Color>
  5618. </ValuesFont>
  5619. <LegendFont>
  5620. <Name>Arial</Name>
  5621. <Height>12</Height>
  5622. <PitchFamily>34</PitchFamily>
  5623. <Weight>400</Weight>
  5624. <Italic>0</Italic>
  5625. <UnderLine>0</UnderLine>
  5626. <StrikeOut>0</StrikeOut>
  5627. <Color>0</Color>
  5628. </LegendFont>
  5629. </Fonts>
  5630. <SharedXAxis>true</SharedXAxis>
  5631. <SharedYAxis>true</SharedYAxis>
  5632. <SharedZAxis>false</SharedZAxis>
  5633. <XAxes>
  5634. <Axis>
  5635. <Minimum>-0.04000000000000001</Minimum>
  5636. <Maximum>0.15999999999999998</Maximum>
  5637. <Linear>true</Linear>
  5638. <Scaling>1</Scaling>
  5639. <Label>position[2]</Label>
  5640. </Axis>
  5641. </XAxes>
  5642. <YAxes>
  5643. <Axis>
  5644. <Minimum>-0.06</Minimum>
  5645. <Maximum>0.14</Maximum>
  5646. <Linear>true</Linear>
  5647. <Scaling>1</Scaling>
  5648. <Label>Simulated path</Label>
  5649. </Axis>
  5650. <Axis>
  5651. <Minimum>-0.06</Minimum>
  5652. <Maximum>0.14</Maximum>
  5653. <Linear>true</Linear>
  5654. <Scaling>1</Scaling>
  5655. <Label>Given Path</Label>
  5656. </Axis>
  5657. </YAxes>
  5658. <ZAxes>
  5659. </ZAxes>
  5660. <Curves>
  5661. <Curve>
  5662. <LineColor>3355111</LineColor>
  5663. <LineStyle>1</LineStyle>
  5664. <TickColor>3355111</TickColor>
  5665. <TickStyle>0</TickStyle>
  5666. <CurveVisible>true</CurveVisible>
  5667. <PixelThresshold>1</PixelThresshold>
  5668. <LineThickness>1</LineThickness>
  5669. <LineOrder>1</LineOrder>
  5670. <ShowYValues>true</ShowYValues>
  5671. <XCurveData>
  5672. <ShowUnit>true</ShowUnit>
  5673. <VarName>new_joint3\position[2]</VarName>
  5674. </XCurveData>
  5675. <YCurveData>
  5676. <ShowUnit>true</ShowUnit>
  5677. <VarName>new_joint3\position[3]</VarName>
  5678. </YCurveData>
  5679. </Curve>
  5680. <Curve>
  5681. <LineColor>6076255</LineColor>
  5682. <LineStyle>1</LineStyle>
  5683. <TickColor>6076255</TickColor>
  5684. <TickStyle>0</TickStyle>
  5685. <CurveVisible>true</CurveVisible>
  5686. <PixelThresshold>1</PixelThresshold>
  5687. <LineThickness>1</LineThickness>
  5688. <LineOrder>1</LineOrder>
  5689. <ShowYValues>true</ShowYValues>
  5690. <XCurveData>
  5691. <ShowUnit>true</ShowUnit>
  5692. <VarName>rectanglepath1\output[1]</VarName>
  5693. </XCurveData>
  5694. <YCurveData>
  5695. <ShowUnit>true</ShowUnit>
  5696. <VarName>rectanglepath1\output[2]</VarName>
  5697. </YCurveData>
  5698. </Curve>
  5699. </Curves>
  5700. <Legenda>
  5701. <ShowLegenda>true</ShowLegenda>
  5702. <BorderPenColor>0</BorderPenColor>
  5703. <BackgroundColor>16777215</BackgroundColor>
  5704. </Legenda>
  5705. </Plot>
  5706. <Plot>
  5707. <PlotType>GraphPlot</PlotType>
  5708. <BasePlot>
  5709. <PlotId>4</PlotId>
  5710. <UseWindowsBGColor>false</UseWindowsBGColor>
  5711. <BGColor>16777215</BGColor>
  5712. <PlotIsVisible>true</PlotIsVisible>
  5713. </BasePlot>
  5714. <Grid>
  5715. <DrawGrid>true</DrawGrid>
  5716. <GridColor>15780518</GridColor>
  5717. <GridBorderLineColor>12624260</GridBorderLineColor>
  5718. <GridZeroLineColor>0</GridZeroLineColor>
  5719. <XTicks>10</XTicks>
  5720. <YTicks>10</YTicks>
  5721. <ZTicks>10</ZTicks>
  5722. <Use3DLook>false</Use3DLook>
  5723. </Grid>
  5724. <PlotBGColor>16777215</PlotBGColor>
  5725. <ShowPlotTitle>true</ShowPlotTitle>
  5726. <TitlePosition>1</TitlePosition>
  5727. <PlotTitle>model</PlotTitle>
  5728. <ShowXValues>true</ShowXValues>
  5729. <Fonts>
  5730. <TitleFont>
  5731. <Name>Arial</Name>
  5732. <Height>12</Height>
  5733. <PitchFamily>34</PitchFamily>
  5734. <Weight>400</Weight>
  5735. <Italic>0</Italic>
  5736. <UnderLine>0</UnderLine>
  5737. <StrikeOut>0</StrikeOut>
  5738. <Color>0</Color>
  5739. </TitleFont>
  5740. <LabelFont>
  5741. <Name>Arial</Name>
  5742. <Height>12</Height>
  5743. <PitchFamily>34</PitchFamily>
  5744. <Weight>400</Weight>
  5745. <Italic>0</Italic>
  5746. <UnderLine>0</UnderLine>
  5747. <StrikeOut>0</StrikeOut>
  5748. <Color>0</Color>
  5749. </LabelFont>
  5750. <ValuesFont>
  5751. <Name>Arial</Name>
  5752. <Height>10</Height>
  5753. <PitchFamily>34</PitchFamily>
  5754. <Weight>400</Weight>
  5755. <Italic>0</Italic>
  5756. <UnderLine>0</UnderLine>
  5757. <StrikeOut>0</StrikeOut>
  5758. <Color>0</Color>
  5759. </ValuesFont>
  5760. <LegendFont>
  5761. <Name>Arial</Name>
  5762. <Height>12</Height>
  5763. <PitchFamily>34</PitchFamily>
  5764. <Weight>400</Weight>
  5765. <Italic>0</Italic>
  5766. <UnderLine>0</UnderLine>
  5767. <StrikeOut>0</StrikeOut>
  5768. <Color>0</Color>
  5769. </LegendFont>
  5770. </Fonts>
  5771. <SharedXAxis>true</SharedXAxis>
  5772. <SharedYAxis>true</SharedYAxis>
  5773. <SharedZAxis>false</SharedZAxis>
  5774. <XAxes>
  5775. <Axis>
  5776. <Minimum>0.8</Minimum>
  5777. <Maximum>1.5</Maximum>
  5778. <Linear>true</Linear>
  5779. <Scaling>0</Scaling>
  5780. <Label>time</Label>
  5781. </Axis>
  5782. </XAxes>
  5783. <YAxes>
  5784. <Axis>
  5785. <Minimum>-1.7999999999999985</Minimum>
  5786. <Maximum>-0.7999999999999988</Maximum>
  5787. <Linear>true</Linear>
  5788. <Scaling>1</Scaling>
  5789. <Label>output</Label>
  5790. </Axis>
  5791. <Axis>
  5792. <Minimum>-2.5</Minimum>
  5793. <Maximum>2.5</Maximum>
  5794. <Linear>true</Linear>
  5795. <Scaling>1</Scaling>
  5796. <Label>output</Label>
  5797. </Axis>
  5798. <Axis>
  5799. <Minimum>-2.5</Minimum>
  5800. <Maximum>2.5</Maximum>
  5801. <Linear>true</Linear>
  5802. <Scaling>1</Scaling>
  5803. <Label>output</Label>
  5804. </Axis>
  5805. </YAxes>
  5806. <ZAxes>
  5807. </ZAxes>
  5808. <Curves>
  5809. <Curve>
  5810. <LineColor>3355111</LineColor>
  5811. <LineStyle>1</LineStyle>
  5812. <TickColor>3355111</TickColor>
  5813. <TickStyle>0</TickStyle>
  5814. <CurveVisible>true</CurveVisible>
  5815. <PixelThresshold>1</PixelThresshold>
  5816. <LineThickness>1</LineThickness>
  5817. <LineOrder>1</LineOrder>
  5818. <ShowYValues>true</ShowYValues>
  5819. <XCurveData>
  5820. <ShowUnit>true</ShowUnit>
  5821. <VarName>time</VarName>
  5822. </XCurveData>
  5823. <YCurveData>
  5824. <ShowUnit>true</ShowUnit>
  5825. <VarName>Step\output</VarName>
  5826. </YCurveData>
  5827. </Curve>
  5828. <Curve>
  5829. <LineColor>6076255</LineColor>
  5830. <LineStyle>1</LineStyle>
  5831. <TickColor>6076255</TickColor>
  5832. <TickStyle>0</TickStyle>
  5833. <CurveVisible>true</CurveVisible>
  5834. <PixelThresshold>1</PixelThresshold>
  5835. <LineThickness>1</LineThickness>
  5836. <LineOrder>1</LineOrder>
  5837. <ShowYValues>true</ShowYValues>
  5838. <XCurveData>
  5839. <ShowUnit>true</ShowUnit>
  5840. <VarName>time</VarName>
  5841. </XCurveData>
  5842. <YCurveData>
  5843. <ShowUnit>true</ShowUnit>
  5844. <VarName>Integrate2\output</VarName>
  5845. <MulOffsetMValue>-1.0</MulOffsetMValue>
  5846. </YCurveData>
  5847. </Curve>
  5848. <Curve>
  5849. <LineColor>12553035</LineColor>
  5850. <LineStyle>1</LineStyle>
  5851. <TickColor>12553035</TickColor>
  5852. <TickStyle>0</TickStyle>
  5853. <CurveVisible>true</CurveVisible>
  5854. <PixelThresshold>1</PixelThresshold>
  5855. <LineThickness>1</LineThickness>
  5856. <LineOrder>1</LineOrder>
  5857. <ShowYValues>true</ShowYValues>
  5858. <XCurveData>
  5859. <ShowUnit>true</ShowUnit>
  5860. <VarName>time</VarName>
  5861. </XCurveData>
  5862. <YCurveData>
  5863. <ShowUnit>true</ShowUnit>
  5864. <VarName>motor_joint2\SignalLimiter2\output</VarName>
  5865. </YCurveData>
  5866. </Curve>
  5867. </Curves>
  5868. <Legenda>
  5869. <ShowLegenda>true</ShowLegenda>
  5870. <Position>
  5871. <X>0.9365808823529411</X>
  5872. <Y>0.0811764705882353</Y>
  5873. </Position>
  5874. <BorderPenColor>0</BorderPenColor>
  5875. <BackgroundColor>16777215</BackgroundColor>
  5876. </Legenda>
  5877. </Plot>
  5878. <Plot>
  5879. <PlotType>GraphPlot</PlotType>
  5880. <BasePlot>
  5881. <PlotId>5</PlotId>
  5882. <UseWindowsBGColor>false</UseWindowsBGColor>
  5883. <BGColor>16777215</BGColor>
  5884. <PlotIsVisible>true</PlotIsVisible>
  5885. </BasePlot>
  5886. <Grid>
  5887. <DrawGrid>true</DrawGrid>
  5888. <GridColor>15780518</GridColor>
  5889. <GridBorderLineColor>12624260</GridBorderLineColor>
  5890. <GridZeroLineColor>0</GridZeroLineColor>
  5891. <XTicks>10</XTicks>
  5892. <YTicks>10</YTicks>
  5893. <ZTicks>10</ZTicks>
  5894. <Use3DLook>false</Use3DLook>
  5895. </Grid>
  5896. <PlotBGColor>16777215</PlotBGColor>
  5897. <ShowPlotTitle>true</ShowPlotTitle>
  5898. <TitlePosition>1</TitlePosition>
  5899. <PlotTitle>model</PlotTitle>
  5900. <ShowXValues>true</ShowXValues>
  5901. <Fonts>
  5902. <TitleFont>
  5903. <Name>Arial</Name>
  5904. <Height>12</Height>
  5905. <PitchFamily>34</PitchFamily>
  5906. <Weight>400</Weight>
  5907. <Italic>0</Italic>
  5908. <UnderLine>0</UnderLine>
  5909. <StrikeOut>0</StrikeOut>
  5910. <Color>0</Color>
  5911. </TitleFont>
  5912. <LabelFont>
  5913. <Name>Arial</Name>
  5914. <Height>12</Height>
  5915. <PitchFamily>34</PitchFamily>
  5916. <Weight>400</Weight>
  5917. <Italic>0</Italic>
  5918. <UnderLine>0</UnderLine>
  5919. <StrikeOut>0</StrikeOut>
  5920. <Color>0</Color>
  5921. </LabelFont>
  5922. <ValuesFont>
  5923. <Name>Arial</Name>
  5924. <Height>10</Height>
  5925. <PitchFamily>34</PitchFamily>
  5926. <Weight>400</Weight>
  5927. <Italic>0</Italic>
  5928. <UnderLine>0</UnderLine>
  5929. <StrikeOut>0</StrikeOut>
  5930. <Color>0</Color>
  5931. </ValuesFont>
  5932. <LegendFont>
  5933. <Name>Arial</Name>
  5934. <Height>12</Height>
  5935. <PitchFamily>34</PitchFamily>
  5936. <Weight>400</Weight>
  5937. <Italic>0</Italic>
  5938. <UnderLine>0</UnderLine>
  5939. <StrikeOut>0</StrikeOut>
  5940. <Color>0</Color>
  5941. </LegendFont>
  5942. </Fonts>
  5943. <SharedXAxis>true</SharedXAxis>
  5944. <SharedYAxis>true</SharedYAxis>
  5945. <SharedZAxis>false</SharedZAxis>
  5946. <XAxes>
  5947. <Axis>
  5948. <Minimum>0.0</Minimum>
  5949. <Maximum>6.088762158038446</Maximum>
  5950. <Linear>true</Linear>
  5951. <Scaling>3</Scaling>
  5952. <Label>time</Label>
  5953. </Axis>
  5954. </XAxes>
  5955. <YAxes>
  5956. <Axis>
  5957. <Minimum>-500.0</Minimum>
  5958. <Maximum>500.0</Maximum>
  5959. <Linear>true</Linear>
  5960. <Scaling>1</Scaling>
  5961. <Label>v 1</Label>
  5962. </Axis>
  5963. <Axis>
  5964. <Minimum>-3.79912966828766</Minimum>
  5965. <Maximum>0.0</Maximum>
  5966. <Linear>true</Linear>
  5967. <Scaling>1</Scaling>
  5968. <Label>a 1</Label>
  5969. </Axis>
  5970. <Axis>
  5971. <Minimum>-3.79912966828766</Minimum>
  5972. <Maximum>0.0</Maximum>
  5973. <Linear>true</Linear>
  5974. <Scaling>1</Scaling>
  5975. <Label>x 1</Label>
  5976. </Axis>
  5977. <Axis>
  5978. <Minimum>-3.79912966828766</Minimum>
  5979. <Maximum>0.0</Maximum>
  5980. <Linear>true</Linear>
  5981. <Scaling>1</Scaling>
  5982. <Label>v 2</Label>
  5983. </Axis>
  5984. <Axis>
  5985. <Minimum>-3.79912966828766</Minimum>
  5986. <Maximum>0.0</Maximum>
  5987. <Linear>true</Linear>
  5988. <Scaling>1</Scaling>
  5989. <Label>a 2</Label>
  5990. </Axis>
  5991. <Axis>
  5992. <Minimum>-3.79912966828766</Minimum>
  5993. <Maximum>0.0</Maximum>
  5994. <Linear>true</Linear>
  5995. <Scaling>1</Scaling>
  5996. <Label>x 2</Label>
  5997. </Axis>
  5998. </YAxes>
  5999. <ZAxes>
  6000. </ZAxes>
  6001. <Curves>
  6002. <Curve>
  6003. <LineColor>3355111</LineColor>
  6004. <LineStyle>1</LineStyle>
  6005. <TickColor>3355111</TickColor>
  6006. <TickStyle>0</TickStyle>
  6007. <CurveVisible>true</CurveVisible>
  6008. <PixelThresshold>1</PixelThresshold>
  6009. <LineThickness>1</LineThickness>
  6010. <LineOrder>1</LineOrder>
  6011. <ShowYValues>true</ShowYValues>
  6012. <XCurveData>
  6013. <ShowUnit>true</ShowUnit>
  6014. <VarName>time</VarName>
  6015. </XCurveData>
  6016. <YCurveData>
  6017. <ShowUnit>true</ShowUnit>
  6018. <VarName>stepper_control\Acceleration_int\output</VarName>
  6019. </YCurveData>
  6020. </Curve>
  6021. <Curve>
  6022. <LineColor>6076255</LineColor>
  6023. <LineStyle>1</LineStyle>
  6024. <TickColor>6076255</TickColor>
  6025. <TickStyle>0</TickStyle>
  6026. <CurveVisible>true</CurveVisible>
  6027. <PixelThresshold>1</PixelThresshold>
  6028. <LineThickness>1</LineThickness>
  6029. <LineOrder>1</LineOrder>
  6030. <ShowYValues>true</ShowYValues>
  6031. <XCurveData>
  6032. <ShowUnit>true</ShowUnit>
  6033. <VarName>time</VarName>
  6034. </XCurveData>
  6035. <YCurveData>
  6036. <ShowUnit>true</ShowUnit>
  6037. <VarName>stepper_control\Acceleration_int\input</VarName>
  6038. </YCurveData>
  6039. </Curve>
  6040. <Curve>
  6041. <LineColor>12553035</LineColor>
  6042. <LineStyle>1</LineStyle>
  6043. <TickColor>12553035</TickColor>
  6044. <TickStyle>0</TickStyle>
  6045. <CurveVisible>true</CurveVisible>
  6046. <PixelThresshold>1</PixelThresshold>
  6047. <LineThickness>1</LineThickness>
  6048. <LineOrder>1</LineOrder>
  6049. <ShowYValues>true</ShowYValues>
  6050. <XCurveData>
  6051. <ShowUnit>true</ShowUnit>
  6052. <VarName>time</VarName>
  6053. </XCurveData>
  6054. <YCurveData>
  6055. <ShowUnit>true</ShowUnit>
  6056. <VarName>stepper_control\Velocity_int\output</VarName>
  6057. </YCurveData>
  6058. </Curve>
  6059. <Curve>
  6060. <LineColor>15086320</LineColor>
  6061. <LineStyle>1</LineStyle>
  6062. <TickColor>15086320</TickColor>
  6063. <TickStyle>0</TickStyle>
  6064. <CurveVisible>true</CurveVisible>
  6065. <PixelThresshold>1</PixelThresshold>
  6066. <LineThickness>1</LineThickness>
  6067. <LineOrder>1</LineOrder>
  6068. <ShowYValues>true</ShowYValues>
  6069. <XCurveData>
  6070. <ShowUnit>true</ShowUnit>
  6071. <VarName>time</VarName>
  6072. </XCurveData>
  6073. <YCurveData>
  6074. <ShowUnit>true</ShowUnit>
  6075. <VarName>stepper_control1\Acceleration_int\output</VarName>
  6076. </YCurveData>
  6077. </Curve>
  6078. <Curve>
  6079. <LineColor>15790150</LineColor>
  6080. <LineStyle>1</LineStyle>
  6081. <TickColor>15790150</TickColor>
  6082. <TickStyle>0</TickStyle>
  6083. <CurveVisible>true</CurveVisible>
  6084. <PixelThresshold>1</PixelThresshold>
  6085. <LineThickness>1</LineThickness>
  6086. <LineOrder>1</LineOrder>
  6087. <ShowYValues>true</ShowYValues>
  6088. <XCurveData>
  6089. <ShowUnit>true</ShowUnit>
  6090. <VarName>time</VarName>
  6091. </XCurveData>
  6092. <YCurveData>
  6093. <ShowUnit>true</ShowUnit>
  6094. <VarName>stepper_control1\Acceleration_int\input</VarName>
  6095. </YCurveData>
  6096. </Curve>
  6097. <Curve>
  6098. <LineColor>1696255</LineColor>
  6099. <LineStyle>1</LineStyle>
  6100. <TickColor>1696255</TickColor>
  6101. <TickStyle>0</TickStyle>
  6102. <CurveVisible>true</CurveVisible>
  6103. <PixelThresshold>1</PixelThresshold>
  6104. <LineThickness>1</LineThickness>
  6105. <LineOrder>1</LineOrder>
  6106. <ShowYValues>true</ShowYValues>
  6107. <XCurveData>
  6108. <ShowUnit>true</ShowUnit>
  6109. <VarName>time</VarName>
  6110. </XCurveData>
  6111. <YCurveData>
  6112. <ShowUnit>true</ShowUnit>
  6113. <VarName>stepper_control1\Velocity_int\output</VarName>
  6114. </YCurveData>
  6115. </Curve>
  6116. </Curves>
  6117. <Legenda>
  6118. <ShowLegenda>true</ShowLegenda>
  6119. <BorderPenColor>0</BorderPenColor>
  6120. <BackgroundColor>16777215</BackgroundColor>
  6121. </Legenda>
  6122. </Plot>
  6123. </Plots>
  6124. <PlotPanels>
  6125. <PlotPanel>
  6126. <PlotPanelId>1</PlotPanelId>
  6127. <PlotPanelVisible>true</PlotPanelVisible>
  6128. <Name>Window 1</Name>
  6129. <Tiling>0</Tiling>
  6130. <PlotIds>
  6131. <PlotId>2</PlotId>
  6132. <PlotId>4</PlotId>
  6133. </PlotIds>
  6134. <ToggleState>Base</ToggleState>
  6135. </PlotPanel>
  6136. <PlotPanel>
  6137. <PlotPanelId>2</PlotPanelId>
  6138. <PlotPanelVisible>true</PlotPanelVisible>
  6139. <Name>Window 2</Name>
  6140. <Tiling>0</Tiling>
  6141. <PlotIds>
  6142. <PlotId>1</PlotId>
  6143. </PlotIds>
  6144. <ToggleState>Base</ToggleState>
  6145. </PlotPanel>
  6146. <PlotPanel>
  6147. <PlotPanelId>3</PlotPanelId>
  6148. <PlotPanelVisible>true</PlotPanelVisible>
  6149. <Name>Window 3</Name>
  6150. <Tiling>2</Tiling>
  6151. <PlotIds>
  6152. <PlotId>5</PlotId>
  6153. </PlotIds>
  6154. <ToggleState>StripChart</ToggleState>
  6155. </PlotPanel>
  6156. </PlotPanels>
  6157. <WindowRectangles virtualDesktopWidth="5760" virtualDesktopHeight="1080">
  6158. <WindowRectangle monitor="2" left="1920" top="0" right="3840" bottom="1080" plotpanelid="1">
  6159. 0.0703125 0.0435185 0.872917 0.814815
  6160. </WindowRectangle>
  6161. <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="2">
  6162. 0.130729 0.0842593 0.846354 0.864815
  6163. </WindowRectangle>
  6164. <WindowRectangle monitor="0" left="0" top="0" right="1920" bottom="1080" plotpanelid="3">
  6165. 0.05625 0.175926 0.806771 0.9
  6166. </WindowRectangle>
  6167. </WindowRectangles>
  6168. </PlotSpecs>
  6169. <RunSpecs>
  6170. <SimulatorSettings>
  6171. <StartTime>0.0</StartTime>
  6172. <FinishTime>15.0</FinishTime>
  6173. <AllowPassFinishTime>false</AllowPassFinishTime>
  6174. <Warp>false</Warp>
  6175. <FPGonio>false</FPGonio>
  6176. <UseOutputAfterEach>false</UseOutputAfterEach>
  6177. <OutputAfterEach>0.1</OutputAfterEach>
  6178. <EventEpsilon>1.0e-6</EventEpsilon>
  6179. <AlgebraicTolerance>1.0e-7</AlgebraicTolerance>
  6180. <SteadyStateAnalysis>false</SteadyStateAnalysis>
  6181. <UpdateHoldInstructions>true</UpdateHoldInstructions>
  6182. </SimulatorSettings>
  6183. <IntegrationMethods>
  6184. <IntegrationMethod>
  6185. <Name>Euler</Name>
  6186. <StepSize>0.01</StepSize>
  6187. <AutoStepSize>false</AutoStepSize>
  6188. </IntegrationMethod>
  6189. <IntegrationMethod>
  6190. <Name>BackwardEuler</Name>
  6191. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  6192. <RelativeTolerance>1.0e-5</RelativeTolerance>
  6193. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  6194. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  6195. <StepSize>0.01</StepSize>
  6196. <Alpha>1.0</Alpha>
  6197. </IntegrationMethod>
  6198. <IntegrationMethod>
  6199. <Name>AdamsBashforth</Name>
  6200. <StepSize>0.01</StepSize>
  6201. <AutoStepSize>false</AutoStepSize>
  6202. </IntegrationMethod>
  6203. <IntegrationMethod>
  6204. <Name>RungeKutta2</Name>
  6205. <StepSize>0.01</StepSize>
  6206. <AutoStepSize>false</AutoStepSize>
  6207. </IntegrationMethod>
  6208. <IntegrationMethod>
  6209. <Name>RungeKutta4</Name>
  6210. <StepSize>0.01</StepSize>
  6211. <AutoStepSize>false</AutoStepSize>
  6212. </IntegrationMethod>
  6213. <IntegrationMethod>
  6214. <Name>RungeKutta8</Name>
  6215. <UseInitialStepSize>false</UseInitialStepSize>
  6216. <InitialStepSize>0.0</InitialStepSize>
  6217. <UseMaximumStepSize>false</UseMaximumStepSize>
  6218. <MaximumStepSize>0.0</MaximumStepSize>
  6219. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  6220. <RelativeTolerance>1.0e-6</RelativeTolerance>
  6221. <SafetyFactor>0.9</SafetyFactor>
  6222. <Factor1>0.33</Factor1>
  6223. <Factor2>6.0</Factor2>
  6224. <Beta>0.0</Beta>
  6225. <UseMaxNrSteps>false</UseMaxNrSteps>
  6226. <MaxNrSteps>100000</MaxNrSteps>
  6227. <UseStiffDetection>false</UseStiffDetection>
  6228. <MaxNrStiffnessSteps>1000</MaxNrStiffnessSteps>
  6229. </IntegrationMethod>
  6230. <IntegrationMethod>
  6231. <Name>RungeKuttaFehlberg</Name>
  6232. <UseInitialStepSize>false</UseInitialStepSize>
  6233. <InitialStepSize>0.0</InitialStepSize>
  6234. <UseMaximumStepSize>false</UseMaximumStepSize>
  6235. <MaximumStepSize>0.0</MaximumStepSize>
  6236. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  6237. <RelativeTolerance>1.0e-6</RelativeTolerance>
  6238. </IntegrationMethod>
  6239. <IntegrationMethod>
  6240. <Name>VodeAdams</Name>
  6241. <UseInitialStepSize>false</UseInitialStepSize>
  6242. <InitialStepSize>0.0</InitialStepSize>
  6243. <UseMaximumStepSize>false</UseMaximumStepSize>
  6244. <MaximumStepSize>0.0</MaximumStepSize>
  6245. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  6246. <RelativeTolerance>1.0e-6</RelativeTolerance>
  6247. <VodeUseBDF>true</VodeUseBDF>
  6248. <VodeUseNewton>true</VodeUseNewton>
  6249. </IntegrationMethod>
  6250. <IntegrationMethod>
  6251. <Name>BDFMethod</Name>
  6252. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  6253. <RelativeTolerance>1.0e-5</RelativeTolerance>
  6254. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  6255. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  6256. <UseInitialStepSize>false</UseInitialStepSize>
  6257. <InitialStepSize>0.0</InitialStepSize>
  6258. <UseMaximumStepSize>false</UseMaximumStepSize>
  6259. <MaximumStepSize>0.0</MaximumStepSize>
  6260. </IntegrationMethod>
  6261. <IntegrationMethod>
  6262. <Name>MeBDFiMethod</Name>
  6263. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  6264. <RelativeTolerance>1.0e-5</RelativeTolerance>
  6265. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  6266. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  6267. <UseInitialStepSize>false</UseInitialStepSize>
  6268. <InitialStepSize>0.0</InitialStepSize>
  6269. <UseMaximumStepSize>false</UseMaximumStepSize>
  6270. <MaximumStepSize>0.0</MaximumStepSize>
  6271. </IntegrationMethod>
  6272. <SelectedIntegrationMethod>8</SelectedIntegrationMethod>
  6273. </IntegrationMethods>
  6274. </RunSpecs>
  6275. <MultipleRun>
  6276. <NrSteps>10</NrSteps>
  6277. <CopyFromStates>false</CopyFromStates>
  6278. <JoinParameterVariation>true</JoinParameterVariation>
  6279. <ClearAfterRun>true</ClearAfterRun>
  6280. <RedrawAfterRun>false</RedrawAfterRun>
  6281. <DrawDuringSimulation>true</DrawDuringSimulation>
  6282. <ActionBeforeOptimization>0</ActionBeforeOptimization>
  6283. <CompareValue>0.0</CompareValue>
  6284. <UseCompareValue>true</UseCompareValue>
  6285. <MultipleRunType>MultipleRun</MultipleRunType>
  6286. <Minimize>true</Minimize>
  6287. <OptimizationVariable></OptimizationVariable>
  6288. <ResulVarUsage>UseEndValue</ResulVarUsage>
  6289. <Tolerance>0.001</Tolerance>
  6290. <OptimizationMethod>BroydonFletcherGoldfarbShanno</OptimizationMethod>
  6291. <MultipleRunVariables>
  6292. </MultipleRunVariables>
  6293. </MultipleRun>
  6294. <ExportData>
  6295. <WriteAsText>true</WriteAsText>
  6296. <ReadAsText>true</ReadAsText>
  6297. <WriteHeader>true</WriteHeader>
  6298. <ReadHeader>true</ReadHeader>
  6299. <ReadFilename></ReadFilename>
  6300. <WriteFilename></WriteFilename>
  6301. <DoWrite>false</DoWrite>
  6302. <ExportVariables>
  6303. </ExportVariables>
  6304. <ImportVariables>
  6305. </ImportVariables>
  6306. </ExportData>
  6307. <BreakPoints>
  6308. </BreakPoints>
  6309. <AnimationPlayback>
  6310. <PlaybackSpeed>1.0</PlaybackSpeed>
  6311. </AnimationPlayback>
  6312. </ExpData>
  6313. </Experiment>
  6314. </Experiments>
  6315. </Document>