您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

10135 行
290KB

  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\06_arm\arm_model-v2.emx</LibraryPath>
  11. <TimeStamp>2020-7-23 13:55:45</TimeStamp>
  12. </Description>
  13. </Information>';
  14. type Mainmodel
  15. end;
  16. implementation bg
  17. submodels
  18. Body1 720 464
  19. description '<Description><Version>4.0</Version>
  20. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  21. <IsMainModel>1</IsMainModel>
  22. <KeepParameterValues>False</KeepParameterValues>
  23. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  24. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  25. </Description>';
  26. type 'Submodel-Equation'
  27. ports
  28. signal in input [4,4];
  29. end;
  30. implementation eq
  31. parameters
  32. real dimension[3] = [0.005;0.01;0.065] {m};
  33. variables
  34. real position[3];
  35. real rotation[3];
  36. real R[3,3];
  37. equations
  38. position = input[1:3,4];
  39. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  40. //[input[3,2];input[1,3];input[2,1]];
  41. R = input[1:3,1:3];implementation_end;
  42. Body2 360 560
  43. description '<Description><Version>4.0</Version>
  44. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  45. <IsMainModel>1</IsMainModel>
  46. <KeepParameterValues>False</KeepParameterValues>
  47. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  48. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  49. </Description>';
  50. type 'Submodel-Equation'
  51. ports
  52. signal in input [4,4];
  53. end;
  54. implementation eq
  55. parameters
  56. real dimension[3] = [0.005;0.025;0.01] {m};
  57. variables
  58. real position[3];
  59. real rotation[3];
  60. real R[3,3];
  61. equations
  62. position = input[1:3,4];
  63. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  64. //[input[3,2];input[1,3];input[2,1]];
  65. R = input[1:3,1:3];implementation_end;
  66. Body3 272 448
  67. description '<Description><Version>4.0</Version>
  68. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  69. <IsMainModel>1</IsMainModel>
  70. <KeepParameterValues>False</KeepParameterValues>
  71. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  72. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  73. </Description>';
  74. type 'Submodel-Equation'
  75. ports
  76. signal in input [4,4];
  77. end;
  78. implementation eq
  79. parameters
  80. real dimension[3] = [0.005;0.01;0.065] {m};
  81. variables
  82. real position[3];
  83. real rotation[3];
  84. real R[3,3];
  85. equations
  86. position = input[1:3,4];
  87. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  88. //[input[3,2];input[1,3];input[2,1]];
  89. R = input[1:3,1:3];implementation_end;
  90. Body4 680 192
  91. description '<Description><Version>4.0</Version>
  92. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  93. <IsMainModel>1</IsMainModel>
  94. <KeepParameterValues>False</KeepParameterValues>
  95. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  96. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  97. </Description>';
  98. type 'Submodel-Equation'
  99. ports
  100. signal in input [4,4];
  101. end;
  102. implementation eq
  103. parameters
  104. real dimension[3] = [0.005;0.05;0.01] {m};
  105. variables
  106. real position[3];
  107. real rotation[3];
  108. real R[3,3];
  109. equations
  110. position = input[1:3,4];
  111. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  112. //[input[3,2];input[1,3];input[2,1]];
  113. R = input[1:3,1:3];implementation_end;
  114. Body5 848 224
  115. description '<Description><Version>4.0</Version>
  116. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  117. <IsMainModel>1</IsMainModel>
  118. <KeepParameterValues>False</KeepParameterValues>
  119. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  120. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  121. </Description>';
  122. type 'Submodel-Equation'
  123. ports
  124. signal in input [4,4];
  125. end;
  126. implementation eq
  127. parameters
  128. real dimension[3] = [0.005;0.025;0.01] {m};
  129. variables
  130. real position[3];
  131. real rotation[3];
  132. real R[3,3];
  133. equations
  134. position = input[1:3,4];
  135. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  136. //[input[3,2];input[1,3];input[2,1]];
  137. R = input[1:3,1:3];implementation_end;
  138. Body6 960 224
  139. description '<Description><Version>4.0</Version>
  140. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  141. <IsMainModel>1</IsMainModel>
  142. <KeepParameterValues>False</KeepParameterValues>
  143. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  144. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  145. </Description>';
  146. type 'Submodel-Equation'
  147. ports
  148. signal in input [4,4];
  149. end;
  150. implementation eq
  151. parameters
  152. real dimension[3] = [0.005;0.025;0.01] {m};
  153. variables
  154. real position[3];
  155. real rotation[3];
  156. real R[3,3];
  157. equations
  158. position = input[1:3,4];
  159. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  160. //[input[3,2];input[1,3];input[2,1]];
  161. R = input[1:3,1:3];implementation_end;
  162. COM_body1 624 352
  163. 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
  164. real I [3,1] = [1.6399999999999998e-6; 4.7e-8; 1.61e-6] {N.m.s};
  165. real m = 0.00455 {kg};</GlobalRelations></Attributes></Information>';
  166. type Submodel
  167. ports
  168. signal in Hin [4,4];
  169. signal out Hout [4,4];
  170. power out p [6,1];
  171. end;
  172. icon bg bottom
  173. figures
  174. rectangle 608 320 640 384 color 0 fill 139;
  175. text 'COM' 624 352 color 0 'Clear Sans' 16;
  176. terminals
  177. Hin 608 336 fixed;
  178. p 608 368 fixed;
  179. end;
  180. implementation bg
  181. submodels
  182. AdHi0 544 400
  183. 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>';
  184. type MTF
  185. ports
  186. power in p1 [6,1];
  187. power out p2 [6,1];
  188. signal in H [4,4];
  189. restrictions
  190. causality constraint not_equal p1 p2;
  191. end;
  192. icon bg left
  193. figures
  194. text 'MTF' 544 400 color 0 18 bold;
  195. end;
  196. implementation eq
  197. variables
  198. real onlyRotH[4,4];
  199. code
  200. //Only rotations with respect to the inertial system matter!
  201. onlyRotH = H;
  202. onlyRotH[1,4] = 0;
  203. onlyRotH[2,4] = 0;
  204. onlyRotH[3,4] = 0;
  205. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  206. p1.f = Adjoint(onlyRotH) * p2.f;
  207. implementation_end;
  208. EJS 616 336
  209. 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>';
  210. type MGY
  211. ports
  212. power in p1 [6,1];
  213. end;
  214. icon bg top
  215. figures
  216. text 'MGY' 616 336 color 0 18 bold;
  217. end;
  218. implementation eq
  219. //EJS / Gyroscopic effects
  220. parameters
  221. real global I[3];
  222. real global m;
  223. variables
  224. real II[6,6]; //Inertial tensor
  225. real Q[6,6];
  226. real QI[6,6];
  227. real Ia[6];
  228. initialequations
  229. Ia[1:3] = I;
  230. Ia[4:6] = m;
  231. II = diag(Ia);
  232. equations
  233. Q = transpose(adjoint(p1.f));
  234. QI = Q*II;
  235. p1.e = QI*p1.f;implementation_end;
  236. Gravity 624 400
  237. 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>';
  238. type Se
  239. ports
  240. power out p [6,1];
  241. restrictions
  242. causality fixed out p;
  243. end;
  244. icon bg bottom
  245. figures
  246. text 'Se' 624 400 color 0 18 bold;
  247. end;
  248. implementation eq
  249. parameters
  250. real global m;
  251. variables
  252. real effort[6];
  253. equations
  254. effort = [0;0;0;0;0;-g_n*m];
  255. p.e = effort;
  256. implementation_end;
  257. InertialTensor 544 272
  258. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  259. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  260. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  261. </Description>';
  262. type 'I-3'
  263. ports
  264. power in p [6,1];
  265. signal out state [6,1];
  266. restrictions
  267. causality preferred in p;
  268. end;
  269. icon bg bottom
  270. figures
  271. text 'I' 544 272 color 0 18 bold;
  272. end;
  273. implementation eq
  274. parameters
  275. real global I[3];
  276. real global m;
  277. variables
  278. real II[6,6]; //Inertial tensor
  279. real Ia[6];
  280. initialequations
  281. Ia[1:3] = I;
  282. Ia[4:6] = m;
  283. II = diag(Ia);
  284. equations
  285. state = int(p.e); //state = generalized momentum
  286. p.f = inverse(II)*state;
  287. implementation_end;
  288. plug Hin 433.4 496;
  289. plug Hout 691.2 496;
  290. plug p 439.4 336;
  291. Splitter1 544 496
  292. description '<Description><Version>4.0</Version>
  293. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  294. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  295. <IsMainModel>1</IsMainModel>
  296. <KeepParameterValues>False</KeepParameterValues>
  297. </Description>';
  298. knot Splitter
  299. ports
  300. signal knot duplicatable out output [4,4];
  301. signal knot in input [4,4];
  302. end;
  303. icon bg ellipse
  304. figures
  305. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  306. ellipse 539.7 491.7 548.3 500.3 color -1;
  307. terminals
  308. input 544 496 fixed;
  309. end;
  310. implementation eq
  311. equations
  312. collect (output) = input;
  313. implementation_end;
  314. Ta0j 544 336
  315. description '<Description>
  316. <Version>4.0</Version>
  317. <IsMainModel>1</IsMainModel>
  318. <KeepParameterValues>False</KeepParameterValues>
  319. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  320. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  321. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  322. <Description></Description>
  323. </Description>';
  324. knot OneJunction
  325. ports
  326. power knot duplicatable none p [6,1];
  327. signal knot out flow [6,1];
  328. restrictions
  329. causality constraint one_out p;
  330. end;
  331. icon bg bottom
  332. figures
  333. text '1' 544 336 color 0 18 bold;
  334. end;
  335. implementation eq
  336. equations
  337. sum (direct (p.e)) = 0;
  338. equal (collect (p.f));
  339. flow = first (p.f);
  340. implementation_end;
  341. ZeroJunction1 504 336
  342. description '<Information>
  343. <Description>
  344. <Version>4.2</Version>
  345. <IsMainModel>1</IsMainModel>
  346. <KeepParameterValues>False</KeepParameterValues>
  347. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  348. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  349. </Description>
  350. </Information>';
  351. knot ZeroJunction
  352. ports
  353. power knot duplicatable none p [6,1];
  354. signal knot out effort [6,1];
  355. restrictions
  356. causality constraint one_in p;
  357. end;
  358. icon bg
  359. figures
  360. text '0' 504 336 color 0 18 bold;
  361. end;
  362. implementation eq
  363. equations
  364. sum (direct (p.f)) = 0;
  365. equal (collect (p.e));
  366. effort = first (p.e);
  367. implementation_end;
  368. end;
  369. connections
  370. AdHi0\p2 => Ta0j\p;
  371. Gravity\p => AdHi0\p1;
  372. Hin -> Splitter1\input;
  373. Splitter1\output -> AdHi0\H;
  374. Splitter1\output -> Hout;
  375. Ta0j\p => EJS\p1;
  376. Ta0j\p => InertialTensor\p;
  377. ZeroJunction1\p => p;
  378. ZeroJunction1\p => Ta0j\p;
  379. end;
  380. implementation_end;
  381. COM_body2 344 704
  382. 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
  383. real density = 1400 {kg/m3};
  384. real dimension[3] = [0.005;0.025;0.01] {m};
  385. variables
  386. real I[3,1] {N.m.s};
  387. real m {kg};
  388. initialequations
  389. m = dimension[1] * dimension[2] * dimension[3] * density;
  390. I[1] = m/12 * ( dimension[2]^2 + dimension[3]^2);
  391. I[2] = m/12 * ( dimension[1]^2 + dimension[3]^2);
  392. I[3] = m/12 * ( dimension[1]^2 + dimension[2]^2);</GlobalRelations></Attributes></Information>';
  393. type Submodel
  394. ports
  395. signal in Hin [4,4];
  396. signal out Hout [4,4];
  397. power out p [6,1];
  398. end;
  399. icon bg bottom
  400. figures
  401. rectangle 312 688 376 720 color 0 fill 139;
  402. text 'COM' 344 704 color 0 'Clear Sans' 16;
  403. terminals
  404. Hin 360 688 fixed;
  405. p 328 688 fixed;
  406. end;
  407. implementation bg
  408. submodels
  409. AdHi0 544 400
  410. 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>';
  411. type MTF
  412. ports
  413. power in p1 [6,1];
  414. power out p2 [6,1];
  415. signal in H [4,4];
  416. restrictions
  417. causality constraint not_equal p1 p2;
  418. end;
  419. icon bg left
  420. figures
  421. text 'MTF' 544 400 color 0 18 bold;
  422. end;
  423. implementation eq
  424. variables
  425. real onlyRotH[4,4];
  426. code
  427. //Only rotations with respect to the inertial system matter!
  428. onlyRotH = H;
  429. onlyRotH[1,4] = 0;
  430. onlyRotH[2,4] = 0;
  431. onlyRotH[3,4] = 0;
  432. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  433. p1.f = Adjoint(onlyRotH) * p2.f;
  434. implementation_end;
  435. EJS 624 336
  436. 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>';
  437. type MGY
  438. ports
  439. power in p1 [6,1];
  440. end;
  441. icon bg top
  442. figures
  443. text 'MGY' 624 336 color 0 18 bold;
  444. end;
  445. implementation eq
  446. //EJS / Gyroscopic effects
  447. variables
  448. real global I[3];
  449. real global m;
  450. real II[6,6]; //Inertial tensor
  451. real Q[6,6];
  452. real QI[6,6];
  453. real Ia[6];
  454. initialequations
  455. Ia[1:3] = I;
  456. Ia[4:6] = m;
  457. II = diag(Ia);
  458. equations
  459. Q = transpose(adjoint(p1.f));
  460. QI = Q*II;
  461. p1.e = QI*p1.f;implementation_end;
  462. Gravity 624 400
  463. 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>';
  464. type Se
  465. ports
  466. power out p [6,1];
  467. restrictions
  468. causality fixed out p;
  469. end;
  470. icon bg bottom
  471. figures
  472. text 'Se' 624 400 color 0 18 bold;
  473. end;
  474. implementation eq
  475. variables
  476. real global m;
  477. real effort[6];
  478. equations
  479. effort = [0;0;0;0;0;-g_n*m];
  480. p.e = effort;
  481. implementation_end;
  482. InertialTensor 544 256
  483. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  484. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  485. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  486. </Description>';
  487. type 'I-3'
  488. ports
  489. power in p [6,1];
  490. signal out state [6,1];
  491. restrictions
  492. causality preferred in p;
  493. end;
  494. icon bg bottom
  495. figures
  496. text 'I' 544 256 color 0 18 bold;
  497. end;
  498. implementation eq
  499. variables
  500. real global I[3];
  501. real global m;
  502. real II[6,6]; //Inertial tensor
  503. real Ia[6];
  504. initialequations
  505. Ia[1:3] = I;
  506. Ia[4:6] = m;
  507. II = diag(Ia);
  508. equations
  509. state = int(p.e); //state = generalized momentum
  510. p.f = inverse(II)*state;
  511. implementation_end;
  512. plug Hin 433.4 496;
  513. plug Hout 691.2 496;
  514. plug p 439.4 336;
  515. Splitter1 544 496
  516. description '<Description><Version>4.0</Version>
  517. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  518. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  519. <IsMainModel>1</IsMainModel>
  520. <KeepParameterValues>False</KeepParameterValues>
  521. </Description>';
  522. knot Splitter
  523. ports
  524. signal knot duplicatable out output [4,4];
  525. signal knot in input [4,4];
  526. end;
  527. icon bg ellipse
  528. figures
  529. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  530. ellipse 539.7 491.7 548.3 500.3 color -1;
  531. terminals
  532. input 544 496 fixed;
  533. end;
  534. implementation eq
  535. equations
  536. collect (output) = input;
  537. implementation_end;
  538. Ta0j 544 336
  539. description '<Description>
  540. <Version>4.0</Version>
  541. <IsMainModel>1</IsMainModel>
  542. <KeepParameterValues>False</KeepParameterValues>
  543. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  544. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  545. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  546. <Description></Description>
  547. </Description>';
  548. knot OneJunction
  549. ports
  550. power knot duplicatable none p [6,1];
  551. signal knot out flow [6,1];
  552. restrictions
  553. causality constraint one_out p;
  554. end;
  555. icon bg bottom
  556. figures
  557. text '1' 544 336 color 0 18 bold;
  558. end;
  559. implementation eq
  560. equations
  561. sum (direct (p.e)) = 0;
  562. equal (collect (p.f));
  563. flow = first (p.f);
  564. implementation_end;
  565. ZeroJunction1 504 336
  566. description '<Information>
  567. <Description>
  568. <Version>4.2</Version>
  569. <IsMainModel>1</IsMainModel>
  570. <KeepParameterValues>False</KeepParameterValues>
  571. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  572. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  573. </Description>
  574. </Information>';
  575. knot ZeroJunction
  576. ports
  577. power knot duplicatable none p [6,1];
  578. signal knot out effort [6,1];
  579. restrictions
  580. causality constraint one_in p;
  581. end;
  582. icon bg
  583. figures
  584. text '0' 504 336 color 0 18 bold;
  585. end;
  586. implementation eq
  587. equations
  588. sum (direct (p.f)) = 0;
  589. equal (collect (p.e));
  590. effort = first (p.e);
  591. implementation_end;
  592. end;
  593. connections
  594. AdHi0\p2 => Ta0j\p;
  595. Gravity\p => AdHi0\p1;
  596. Hin -> Splitter1\input;
  597. Splitter1\output -> AdHi0\H;
  598. Splitter1\output -> Hout;
  599. Ta0j\p => EJS\p1;
  600. Ta0j\p => InertialTensor\p;
  601. ZeroJunction1\p => p;
  602. ZeroJunction1\p => Ta0j\p;
  603. end;
  604. implementation_end;
  605. COM_body3 272 328
  606. 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
  607. real I [3,1] = [1.6399999999999998e-6; 4.7e-8; 1.61e-6] {N.m.s};
  608. real m = 0.00455 {kg};</GlobalRelations></Attributes></Information>';
  609. type Submodel
  610. ports
  611. signal in Hin [4,4];
  612. signal out Hout [4,4];
  613. power out p [6,1];
  614. end;
  615. icon bg bottom
  616. figures
  617. rectangle 256 296 288 360 color 0 fill 139;
  618. text 'COM' 272 328 color 0 'Clear Sans' 16;
  619. terminals
  620. Hin 256 312 fixed;
  621. p 256 344 fixed;
  622. end;
  623. implementation bg
  624. submodels
  625. AdHi0 544 400
  626. 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>';
  627. type MTF
  628. ports
  629. power in p1 [6,1];
  630. power out p2 [6,1];
  631. signal in H [4,4];
  632. restrictions
  633. causality constraint not_equal p1 p2;
  634. end;
  635. icon bg left
  636. figures
  637. text 'MTF' 544 400 color 0 18 bold;
  638. end;
  639. implementation eq
  640. variables
  641. real onlyRotH[4,4];
  642. code
  643. //Only rotations with respect to the inertial system matter!
  644. onlyRotH = H;
  645. onlyRotH[1,4] = 0;
  646. onlyRotH[2,4] = 0;
  647. onlyRotH[3,4] = 0;
  648. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  649. p1.f = Adjoint(onlyRotH) * p2.f;
  650. implementation_end;
  651. EJS 616 336
  652. 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>';
  653. type MGY
  654. ports
  655. power in p1 [6,1];
  656. end;
  657. icon bg top
  658. figures
  659. text 'MGY' 616 336 color 0 18 bold;
  660. end;
  661. implementation eq
  662. //EJS / Gyroscopic effects
  663. parameters
  664. real global I[3];
  665. real global m;
  666. variables
  667. real II[6,6]; //Inertial tensor
  668. real Q[6,6];
  669. real QI[6,6];
  670. real Ia[6];
  671. initialequations
  672. Ia[1:3] = I;
  673. Ia[4:6] = m;
  674. II = diag(Ia);
  675. equations
  676. Q = transpose(adjoint(p1.f));
  677. QI = Q*II;
  678. p1.e = QI*p1.f;implementation_end;
  679. Gravity 624 400
  680. 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>';
  681. type Se
  682. ports
  683. power out p [6,1];
  684. restrictions
  685. causality fixed out p;
  686. end;
  687. icon bg bottom
  688. figures
  689. text 'Se' 624 400 color 0 18 bold;
  690. end;
  691. implementation eq
  692. parameters
  693. real global m;
  694. variables
  695. real effort[6];
  696. equations
  697. effort = [0;0;0;0;0;-g_n*m];
  698. p.e = effort;
  699. implementation_end;
  700. InertialTensor 544 272
  701. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  702. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  703. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  704. </Description>';
  705. type 'I-3'
  706. ports
  707. power in p [6,1];
  708. signal out state [6,1];
  709. restrictions
  710. causality preferred in p;
  711. end;
  712. icon bg bottom
  713. figures
  714. text 'I' 544 272 color 0 18 bold;
  715. end;
  716. implementation eq
  717. parameters
  718. real global I[3];
  719. real global m;
  720. variables
  721. real II[6,6]; //Inertial tensor
  722. real Ia[6];
  723. initialequations
  724. Ia[1:3] = I;
  725. Ia[4:6] = m;
  726. II = diag(Ia);
  727. equations
  728. state = int(p.e); //state = generalized momentum
  729. p.f = inverse(II)*state;
  730. implementation_end;
  731. plug Hin 433.4 496;
  732. plug Hout 691.2 496;
  733. plug p 439.4 336;
  734. Splitter1 544 496
  735. description '<Description><Version>4.0</Version>
  736. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  737. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  738. <IsMainModel>1</IsMainModel>
  739. <KeepParameterValues>False</KeepParameterValues>
  740. </Description>';
  741. knot Splitter
  742. ports
  743. signal knot duplicatable out output [4,4];
  744. signal knot in input [4,4];
  745. end;
  746. icon bg ellipse
  747. figures
  748. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  749. ellipse 539.7 491.7 548.3 500.3 color -1;
  750. terminals
  751. input 544 496 fixed;
  752. end;
  753. implementation eq
  754. equations
  755. collect (output) = input;
  756. implementation_end;
  757. Ta0j 544 336
  758. description '<Description>
  759. <Version>4.0</Version>
  760. <IsMainModel>1</IsMainModel>
  761. <KeepParameterValues>False</KeepParameterValues>
  762. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  763. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  764. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  765. <Description></Description>
  766. </Description>';
  767. knot OneJunction
  768. ports
  769. power knot duplicatable none p [6,1];
  770. signal knot out flow [6,1];
  771. restrictions
  772. causality constraint one_out p;
  773. end;
  774. icon bg bottom
  775. figures
  776. text '1' 544 336 color 0 18 bold;
  777. end;
  778. implementation eq
  779. equations
  780. sum (direct (p.e)) = 0;
  781. equal (collect (p.f));
  782. flow = first (p.f);
  783. implementation_end;
  784. ZeroJunction1 504 336
  785. description '<Information>
  786. <Description>
  787. <Version>4.2</Version>
  788. <IsMainModel>1</IsMainModel>
  789. <KeepParameterValues>False</KeepParameterValues>
  790. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  791. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  792. </Description>
  793. </Information>';
  794. knot ZeroJunction
  795. ports
  796. power knot duplicatable none p [6,1];
  797. signal knot out effort [6,1];
  798. restrictions
  799. causality constraint one_in p;
  800. end;
  801. icon bg
  802. figures
  803. text '0' 504 336 color 0 18 bold;
  804. end;
  805. implementation eq
  806. equations
  807. sum (direct (p.f)) = 0;
  808. equal (collect (p.e));
  809. effort = first (p.e);
  810. implementation_end;
  811. end;
  812. connections
  813. AdHi0\p2 => Ta0j\p;
  814. Gravity\p => AdHi0\p1;
  815. Hin -> Splitter1\input;
  816. Splitter1\output -> AdHi0\H;
  817. Splitter1\output -> Hout;
  818. Ta0j\p => EJS\p1;
  819. Ta0j\p => InertialTensor\p;
  820. ZeroJunction1\p => p;
  821. ZeroJunction1\p => Ta0j\p;
  822. end;
  823. implementation_end;
  824. COM_body4 560 48
  825. 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
  826. real I [3,1] = [7.583333333333335e-7; 3.645833333333334e-8; 7.364583333333335e-7] {N.m.s};
  827. real m = 0.0035 {kg};</GlobalRelations></Attributes></Information>';
  828. type Submodel
  829. ports
  830. signal in Hin [4,4];
  831. signal out Hout [4,4];
  832. power out p [6,1];
  833. end;
  834. icon bg bottom
  835. figures
  836. rectangle 528 32 592 64 color 0 fill 139;
  837. text 'COM' 560 48 color 0 'Clear Sans' 16;
  838. terminals
  839. Hin 576 64 fixed;
  840. p 544 64 fixed;
  841. end;
  842. implementation bg
  843. submodels
  844. AdHi0 544 400
  845. 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>';
  846. type MTF
  847. ports
  848. power in p1 [6,1];
  849. power out p2 [6,1];
  850. signal in H [4,4];
  851. restrictions
  852. causality constraint not_equal p1 p2;
  853. end;
  854. icon bg left
  855. figures
  856. text 'MTF' 544 400 color 0 18 bold;
  857. end;
  858. implementation eq
  859. variables
  860. real onlyRotH[4,4];
  861. code
  862. //Only rotations with respect to the inertial system matter!
  863. onlyRotH = H;
  864. onlyRotH[1,4] = 0;
  865. onlyRotH[2,4] = 0;
  866. onlyRotH[3,4] = 0;
  867. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  868. p1.f = Adjoint(onlyRotH) * p2.f;
  869. implementation_end;
  870. EJS 616 336
  871. 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>';
  872. type MGY
  873. ports
  874. power in p1 [6,1];
  875. end;
  876. icon bg top
  877. figures
  878. text 'MGY' 616 336 color 0 18 bold;
  879. end;
  880. implementation eq
  881. //EJS / Gyroscopic effects
  882. parameters
  883. real global I[3];
  884. real global m;
  885. variables
  886. real II[6,6]; //Inertial tensor
  887. real Q[6,6];
  888. real QI[6,6];
  889. real Ia[6];
  890. initialequations
  891. Ia[1:3] = I;
  892. Ia[4:6] = m;
  893. II = diag(Ia);
  894. equations
  895. Q = transpose(adjoint(p1.f));
  896. QI = Q*II;
  897. p1.e = QI*p1.f;implementation_end;
  898. Gravity 624 400
  899. 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>';
  900. type Se
  901. ports
  902. power out p [6,1];
  903. restrictions
  904. causality fixed out p;
  905. end;
  906. icon bg bottom
  907. figures
  908. text 'Se' 624 400 color 0 18 bold;
  909. end;
  910. implementation eq
  911. parameters
  912. real global m;
  913. variables
  914. real effort[6];
  915. equations
  916. effort = [0;0;0;0;0;-g_n*m];
  917. p.e = effort;
  918. implementation_end;
  919. InertialTensor 544 272
  920. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  921. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  922. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  923. </Description>';
  924. type 'I-3'
  925. ports
  926. power in p [6,1];
  927. signal out state [6,1];
  928. restrictions
  929. causality preferred in p;
  930. end;
  931. icon bg bottom
  932. figures
  933. text 'I' 544 272 color 0 18 bold;
  934. end;
  935. implementation eq
  936. parameters
  937. real global I[3];
  938. real global m;
  939. variables
  940. real II[6,6]; //Inertial tensor
  941. real Ia[6];
  942. initialequations
  943. Ia[1:3] = I;
  944. Ia[4:6] = m;
  945. II = diag(Ia);
  946. equations
  947. state = int(p.e); //state = generalized momentum
  948. p.f = inverse(II)*state;
  949. implementation_end;
  950. plug Hin 433.4 496;
  951. plug Hout 691.2 496;
  952. plug p 439.4 336;
  953. Splitter1 544 496
  954. description '<Description><Version>4.0</Version>
  955. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  956. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  957. <IsMainModel>1</IsMainModel>
  958. <KeepParameterValues>False</KeepParameterValues>
  959. </Description>';
  960. knot Splitter
  961. ports
  962. signal knot duplicatable out output [4,4];
  963. signal knot in input [4,4];
  964. end;
  965. icon bg ellipse
  966. figures
  967. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  968. ellipse 539.7 491.7 548.3 500.3 color -1;
  969. terminals
  970. input 544 496 fixed;
  971. end;
  972. implementation eq
  973. equations
  974. collect (output) = input;
  975. implementation_end;
  976. Ta0j 544 336
  977. description '<Description>
  978. <Version>4.0</Version>
  979. <IsMainModel>1</IsMainModel>
  980. <KeepParameterValues>False</KeepParameterValues>
  981. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  982. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  983. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  984. <Description></Description>
  985. </Description>';
  986. knot OneJunction
  987. ports
  988. power knot duplicatable none p [6,1];
  989. signal knot out flow [6,1];
  990. restrictions
  991. causality constraint one_out p;
  992. end;
  993. icon bg bottom
  994. figures
  995. text '1' 544 336 color 0 18 bold;
  996. end;
  997. implementation eq
  998. equations
  999. sum (direct (p.e)) = 0;
  1000. equal (collect (p.f));
  1001. flow = first (p.f);
  1002. implementation_end;
  1003. ZeroJunction1 504 336
  1004. description '<Information>
  1005. <Description>
  1006. <Version>4.2</Version>
  1007. <IsMainModel>1</IsMainModel>
  1008. <KeepParameterValues>False</KeepParameterValues>
  1009. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1010. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  1011. </Description>
  1012. </Information>';
  1013. knot ZeroJunction
  1014. ports
  1015. power knot duplicatable none p [6,1];
  1016. signal knot out effort [6,1];
  1017. restrictions
  1018. causality constraint one_in p;
  1019. end;
  1020. icon bg
  1021. figures
  1022. text '0' 504 336 color 0 18 bold;
  1023. end;
  1024. implementation eq
  1025. equations
  1026. sum (direct (p.f)) = 0;
  1027. equal (collect (p.e));
  1028. effort = first (p.e);
  1029. implementation_end;
  1030. end;
  1031. connections
  1032. AdHi0\p2 => Ta0j\p;
  1033. Gravity\p => AdHi0\p1;
  1034. Hin -> Splitter1\input;
  1035. Splitter1\output -> AdHi0\H;
  1036. Splitter1\output -> Hout;
  1037. Ta0j\p => EJS\p1;
  1038. Ta0j\p => InertialTensor\p;
  1039. ZeroJunction1\p => p;
  1040. ZeroJunction1\p => Ta0j\p;
  1041. end;
  1042. implementation_end;
  1043. COM_body5 992 128
  1044. 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
  1045. real I [3,1] = [0.018;0.159;0.159] {mN.m.s};
  1046. real m = 0.015 {kg};</GlobalRelations></Attributes></Information>';
  1047. type Submodel
  1048. ports
  1049. signal in Hin [4,4];
  1050. signal out Hout [4,4];
  1051. power out p [6,1];
  1052. end;
  1053. icon bg bottom
  1054. figures
  1055. rectangle 976 96 1008 160 color 0 fill 139;
  1056. text 'COM' 992 128 color 0 'Clear Sans' 16;
  1057. terminals
  1058. Hin 976 144 fixed;
  1059. p 976 112 fixed;
  1060. end;
  1061. implementation bg
  1062. submodels
  1063. AdHi0 544 400
  1064. 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>';
  1065. type MTF
  1066. ports
  1067. power in p1 [6,1];
  1068. power out p2 [6,1];
  1069. signal in H [4,4];
  1070. restrictions
  1071. causality constraint not_equal p1 p2;
  1072. end;
  1073. icon bg left
  1074. figures
  1075. text 'MTF' 544 400 color 0 18 bold;
  1076. end;
  1077. implementation eq
  1078. variables
  1079. real onlyRotH[4,4];
  1080. code
  1081. //Only rotations with respect to the inertial system matter!
  1082. onlyRotH = H;
  1083. onlyRotH[1,4] = 0;
  1084. onlyRotH[2,4] = 0;
  1085. onlyRotH[3,4] = 0;
  1086. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  1087. p1.f = Adjoint(onlyRotH) * p2.f;
  1088. implementation_end;
  1089. EJS 616 336
  1090. 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>';
  1091. type MGY
  1092. ports
  1093. power in p1 [6,1];
  1094. end;
  1095. icon bg top
  1096. figures
  1097. text 'MGY' 616 336 color 0 18 bold;
  1098. end;
  1099. implementation eq
  1100. //EJS / Gyroscopic effects
  1101. parameters
  1102. real global I[3];
  1103. real global m;
  1104. variables
  1105. real II[6,6]; //Inertial tensor
  1106. real Q[6,6];
  1107. real QI[6,6];
  1108. real Ia[6];
  1109. initialequations
  1110. Ia[1:3] = I;
  1111. Ia[4:6] = m;
  1112. II = diag(Ia);
  1113. equations
  1114. Q = transpose(adjoint(p1.f));
  1115. QI = Q*II;
  1116. p1.e = QI*p1.f;implementation_end;
  1117. Gravity 624 400
  1118. 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>';
  1119. type Se
  1120. ports
  1121. power out p [6,1];
  1122. restrictions
  1123. causality fixed out p;
  1124. end;
  1125. icon bg bottom
  1126. figures
  1127. text 'Se' 624 400 color 0 18 bold;
  1128. end;
  1129. implementation eq
  1130. parameters
  1131. real global m;
  1132. variables
  1133. real effort[6];
  1134. equations
  1135. effort = [0;0;0;0;0;-g_n*m];
  1136. p.e = effort;
  1137. implementation_end;
  1138. InertialTensor 544 272
  1139. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1140. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  1141. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  1142. </Description>';
  1143. type 'I-3'
  1144. ports
  1145. power in p [6,1];
  1146. signal out state [6,1];
  1147. restrictions
  1148. causality preferred in p;
  1149. end;
  1150. icon bg bottom
  1151. figures
  1152. text 'I' 544 272 color 0 18 bold;
  1153. end;
  1154. implementation eq
  1155. parameters
  1156. real global I[3];
  1157. real global m;
  1158. variables
  1159. real II[6,6]; //Inertial tensor
  1160. real Ia[6];
  1161. initialequations
  1162. Ia[1:3] = I;
  1163. Ia[4:6] = m;
  1164. II = diag(Ia);
  1165. equations
  1166. state = int(p.e); //state = generalized momentum
  1167. p.f = inverse(II)*state;
  1168. implementation_end;
  1169. plug Hin 433.4 496;
  1170. plug Hout 691.2 496;
  1171. plug p 439.4 336;
  1172. Splitter1 544 496
  1173. description '<Description><Version>4.0</Version>
  1174. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1175. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1176. <IsMainModel>1</IsMainModel>
  1177. <KeepParameterValues>False</KeepParameterValues>
  1178. </Description>';
  1179. knot Splitter
  1180. ports
  1181. signal knot duplicatable out output [4,4];
  1182. signal knot in input [4,4];
  1183. end;
  1184. icon bg ellipse
  1185. figures
  1186. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  1187. ellipse 539.7 491.7 548.3 500.3 color -1;
  1188. terminals
  1189. input 544 496 fixed;
  1190. end;
  1191. implementation eq
  1192. equations
  1193. collect (output) = input;
  1194. implementation_end;
  1195. Ta0j 544 336
  1196. description '<Description>
  1197. <Version>4.0</Version>
  1198. <IsMainModel>1</IsMainModel>
  1199. <KeepParameterValues>False</KeepParameterValues>
  1200. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1201. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  1202. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1203. <Description></Description>
  1204. </Description>';
  1205. knot OneJunction
  1206. ports
  1207. power knot duplicatable none p [6,1];
  1208. signal knot out flow [6,1];
  1209. restrictions
  1210. causality constraint one_out p;
  1211. end;
  1212. icon bg bottom
  1213. figures
  1214. text '1' 544 336 color 0 18 bold;
  1215. end;
  1216. implementation eq
  1217. equations
  1218. sum (direct (p.e)) = 0;
  1219. equal (collect (p.f));
  1220. flow = first (p.f);
  1221. implementation_end;
  1222. ZeroJunction1 504 336
  1223. description '<Information>
  1224. <Description>
  1225. <Version>4.2</Version>
  1226. <IsMainModel>1</IsMainModel>
  1227. <KeepParameterValues>False</KeepParameterValues>
  1228. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1229. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  1230. </Description>
  1231. </Information>';
  1232. knot ZeroJunction
  1233. ports
  1234. power knot duplicatable none p [6,1];
  1235. signal knot out effort [6,1];
  1236. restrictions
  1237. causality constraint one_in p;
  1238. end;
  1239. icon bg
  1240. figures
  1241. text '0' 504 336 color 0 18 bold;
  1242. end;
  1243. implementation eq
  1244. equations
  1245. sum (direct (p.f)) = 0;
  1246. equal (collect (p.e));
  1247. effort = first (p.e);
  1248. implementation_end;
  1249. end;
  1250. connections
  1251. AdHi0\p2 => Ta0j\p;
  1252. Gravity\p => AdHi0\p1;
  1253. Hin -> Splitter1\input;
  1254. Splitter1\output -> AdHi0\H;
  1255. Splitter1\output -> Hout;
  1256. Ta0j\p => EJS\p1;
  1257. Ta0j\p => InertialTensor\p;
  1258. ZeroJunction1\p => p;
  1259. ZeroJunction1\p => Ta0j\p;
  1260. end;
  1261. implementation_end;
  1262. Ground1 620 727.5
  1263. description '<Information>
  1264. <Description>
  1265. <Version>4.8</Version>
  1266. <IsMainModel>1</IsMainModel>
  1267. <LibraryPath>Bond Graph\MR\Ground.emx</LibraryPath>
  1268. <TimeStamp>2020-7-23 09:30:51</TimeStamp>
  1269. </Description>
  1270. </Information>';
  1271. type Submodel
  1272. ports
  1273. power in p [6,1];
  1274. signal out output [4,4];
  1275. end;
  1276. icon bg bottom
  1277. figures
  1278. line 584 720 600 736 color 0 fill 15132390;
  1279. line 592 720 608 736 color 0 fill 15132390;
  1280. line 576 720 592 736 color 0 fill 15132390;
  1281. line 616 736 600 720 color 0 fill 15132390;
  1282. line 624 736 608 720 color 0 fill 15132390;
  1283. line 632 736 616 720 color 0 fill 15132390;
  1284. line 648 736 632 720 color 0 fill 15132390;
  1285. line 640 736 624 720 color 0 fill 15132390;
  1286. line 656 736 640 720 color 0 fill 15132390;
  1287. line 664 736 648 720 color 0 fill 15132390;
  1288. line 576 720 664 720 color 0 fill 15132390 width 2;
  1289. line 656 720 664 728 color 0 fill 15132390;
  1290. line 576 728 584 736 color 0 fill 15132390;
  1291. terminals
  1292. p 600 720 fixed;
  1293. output 632 720 fixed;
  1294. end;
  1295. implementation bg
  1296. submodels
  1297. plug p 240 88;
  1298. plug output 240 120;
  1299. OneJunction2 192 88
  1300. description '<Information>
  1301. <Description>
  1302. <Version>4.2</Version>
  1303. <IsMainModel>1</IsMainModel>
  1304. <KeepParameterValues>False</KeepParameterValues>
  1305. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1306. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1307. </Description>
  1308. </Information>';
  1309. knot OneJunction
  1310. ports
  1311. power knot duplicatable none p [6,1];
  1312. signal knot out flow [6,1];
  1313. restrictions
  1314. causality constraint one_out p;
  1315. end;
  1316. icon bg
  1317. figures
  1318. text '1' 192 88 color 0 18 bold;
  1319. end;
  1320. implementation eq
  1321. equations
  1322. sum (direct (p.e)) = 0;
  1323. equal (collect (p.f));
  1324. flow = first (p.f);
  1325. implementation_end;
  1326. Sf2 136 88
  1327. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1328. <LibraryPath>Bond Graph\2D\Sf-2.emx</LibraryPath>
  1329. <TimeStamp>2007-9-25 12:7:5</TimeStamp>
  1330. </Description>';
  1331. type 'Sf-2'
  1332. ports
  1333. power out p [6,1];
  1334. restrictions
  1335. causality fixed in p;
  1336. end;
  1337. icon bg bottom
  1338. figures
  1339. text 'Sf' 136 88 color 0 18 bold;
  1340. end;
  1341. implementation eq
  1342. parameters
  1343. real flow[6,1] = 0;
  1344. variables
  1345. real effort [6];
  1346. equations
  1347. p.f = flow;
  1348. effort = p.e;
  1349. implementation_end;
  1350. Zero 144 120
  1351. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1352. <LibraryPath>Signal\Sources\Zero.emx</LibraryPath>
  1353. <TimeStamp>2007-9-27 15:54:36</TimeStamp>
  1354. </Description>
  1355. ';
  1356. type Zero
  1357. ports
  1358. signal out output [4,4];
  1359. end;
  1360. icon bg bottom
  1361. figures
  1362. rectangle 128.1 104 159.9 136 color 0 fill 15132390;
  1363. text '0' 144 120 color 16711680 18 bold;
  1364. end;
  1365. implementation eq
  1366. equations
  1367. output = eye(4);implementation_end;
  1368. end;
  1369. connections
  1370. p => OneJunction2\p;
  1371. Sf2\p => OneJunction2\p;
  1372. Zero\output -> output;
  1373. end;
  1374. implementation_end;
  1375. inverse_kinematics 784 784
  1376. description '<Information>
  1377. <Description>
  1378. <Version>4.8</Version>
  1379. <LibraryPath>SCARA\inverse_kinematics_v1.emx</LibraryPath>
  1380. <IsMainModel>1</IsMainModel>
  1381. <KeepParameterValues>False</KeepParameterValues>
  1382. <TimeStamp>2020-7-10 12:26:18</TimeStamp>
  1383. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  1384. </Description>
  1385. </Information>';
  1386. type 'Submodel-Equation'
  1387. ports
  1388. signal in input [2,1] {m} ;
  1389. signal out angle1 {rad} ;
  1390. signal out angle2 {rad} ;
  1391. signal out a {rad} ;
  1392. signal out b {rad} ;
  1393. signal out c {rad} ;
  1394. signal out phi {rad} ;
  1395. end;
  1396. implementation eq
  1397. parameters
  1398. real A_length = 0.065 {m}; // length of first arm
  1399. real B_length = 0.05 {m}; // length of second arm
  1400. real to_rad = 1 {rad};
  1401. variables
  1402. real x {m}, y {m};
  1403. real C_length {m}; // length to x and y.
  1404. equations
  1405. x = input[1];
  1406. y = input[2];
  1407. phi = atan2(y, x);
  1408. C_length = sqrt(x^2 + y^2);
  1409. a = arccos ((B_length^2 + C_length^2 - A_length^2) / (2 * B_length * C_length));
  1410. b = arccos ((A_length^2 + C_length^2 - B_length^2) / (2 * A_length * C_length));
  1411. c = arccos ((A_length^2 + B_length^2 - C_length^2) / (2 * A_length * B_length));
  1412. angle1 = b + phi;
  1413. angle2 = angle1 - pi * to_rad + c;
  1414. implementation_end;
  1415. JointA 560 512
  1416. description '<Information>
  1417. <Description>
  1418. <Version>4.8</Version>
  1419. <IsMainModel>1</IsMainModel>
  1420. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1421. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1422. </Description>
  1423. </Information>';
  1424. type 'Submodel-v3'
  1425. ports
  1426. power in Pin [6,1];
  1427. power in Pdiff [6,1];
  1428. signal in Hin [4,4];
  1429. signal out Hout [4,4];
  1430. signal out Hdiff [4,4];
  1431. power out Pout [6,1];
  1432. end;
  1433. icon bg bottom
  1434. figures
  1435. rectangle 528 488 592 536 color 0 fill 14745599;
  1436. text 'Joint' 560 512 color 0 'Clear Sans' 16;
  1437. terminals
  1438. Pin 544 536 fixed;
  1439. Hin 576 488 fixed;
  1440. Hout 576 536 fixed;
  1441. Pout 544 488 fixed;
  1442. end;
  1443. implementation bg
  1444. submodels
  1445. AdHji 424 424
  1446. description '<Description>
  1447. <Version>4.0</Version>
  1448. <IsMainModel>1</IsMainModel>
  1449. <KeepParameterValues>False</KeepParameterValues>
  1450. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1451. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1452. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1453. </Description>';
  1454. type MTF
  1455. ports
  1456. power out p1 [6,1];
  1457. power in p2 [6,1];
  1458. signal in H [4,4];
  1459. restrictions
  1460. causality constraint not_equal p1 p2;
  1461. end;
  1462. icon bg bottom
  1463. figures
  1464. text 'MTF' 424 424 color 0 18 bold;
  1465. end;
  1466. implementation eq
  1467. equations
  1468. p2.e = transpose(Adjoint(H)) * p1.e;
  1469. p1.f = Adjoint(H) * p2.f;implementation_end;
  1470. FlowSensor2 184 311.9
  1471. description '<Information>
  1472. <Description>
  1473. <Version>4.2</Version>
  1474. <IsMainModel>1</IsMainModel>
  1475. <KeepParameterValues>False</KeepParameterValues>
  1476. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1477. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1478. </Description>
  1479. </Information>';
  1480. knot FlowSensor
  1481. ports
  1482. power knot in p1 [6,1];
  1483. power knot out p2 [6,1];
  1484. signal knot out flow [6,1];
  1485. restrictions
  1486. causality constraint not_equal p1 p2;
  1487. end;
  1488. icon bg ellipse
  1489. figures
  1490. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1491. text 'f' 184 311.2 color 0;
  1492. end;
  1493. implementation eq
  1494. equations
  1495. p2.f = p1.f;
  1496. p1.e = p2.e;
  1497. flow = p1.f;
  1498. implementation_end;
  1499. Hmatrix 256 312
  1500. 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>';
  1501. type 'Submodel-Equation'
  1502. ports
  1503. signal in flow [6,1];
  1504. signal out H [4,4];
  1505. end;
  1506. icon bg
  1507. figures
  1508. rectangle 224 296 288 328 color 0 fill 15132390;
  1509. text 'name' 256 312 color 0 'Clear Sans' 16;
  1510. end;
  1511. implementation eq
  1512. parameters
  1513. real init[4] = [1;0;0;0];
  1514. variables
  1515. real q[4]; //quaternions
  1516. real W[3,4]; //Quaternion Rates Matrix
  1517. real R[3,3]; //Rotation Matrix
  1518. real p[3]; //Position Vector
  1519. real dq[4];
  1520. real Wb[3,4];
  1521. equations
  1522. dq = transpose(Wb) * flow[1:3] ./ 2;
  1523. q = int(dq,init);
  1524. p = int(flow[4:6]);
  1525. W = [-q[2], q[1], -q[4], q[3];
  1526. -q[3], q[4], q[1], -q[2];
  1527. -q[4], -q[3], q[2], q[1]];
  1528. Wb = [ -q[2], q[1], q[4], -q[3];
  1529. -q[3], -q[4], q[1], q[2];
  1530. -q[4], q[3], -q[2], q[1]];
  1531. 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]);
  1532. 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]);
  1533. 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];
  1534. H = homogeneous(R,p);
  1535. implementation_end;
  1536. MatrixMul 320 576
  1537. description '<Description>
  1538. <Version>4.0</Version>
  1539. <IsMainModel>1</IsMainModel>
  1540. <KeepParameterValues>False</KeepParameterValues>
  1541. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1542. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1543. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1544. </Description>';
  1545. type Gain
  1546. ports
  1547. signal in input1 [4,4];
  1548. signal out output [4,4];
  1549. signal in input2 [4,4];
  1550. end;
  1551. icon bg bottom
  1552. figures
  1553. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1554. text 'X' 320 576 color 16711680 16 bold;
  1555. end;
  1556. implementation eq
  1557. equations
  1558. output = input2*input1; implementation_end;
  1559. plug Pin 492.1 424;
  1560. plug Pdiff 184 225;
  1561. plug Hin 130.8 576;
  1562. plug Hout 478.4 576;
  1563. plug Hdiff 320 222;
  1564. plug Pout 134.7 424;
  1565. Splitter2 320 312
  1566. description '<Description><Version>4.0</Version>
  1567. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1568. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1569. <IsMainModel>1</IsMainModel>
  1570. <KeepParameterValues>False</KeepParameterValues>
  1571. </Description>';
  1572. knot Splitter
  1573. ports
  1574. signal knot duplicatable out output [4,4];
  1575. signal knot in input [4,4];
  1576. end;
  1577. icon bg ellipse
  1578. figures
  1579. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  1580. ellipse 315.7 307.7 324.3 316.3 color -1;
  1581. terminals
  1582. input 320 312 fixed;
  1583. end;
  1584. implementation eq
  1585. equations
  1586. collect (output) = input;
  1587. implementation_end;
  1588. Wbai 184 424
  1589. description '<Description>
  1590. <Version>4.0</Version>
  1591. <IsMainModel>1</IsMainModel>
  1592. <KeepParameterValues>False</KeepParameterValues>
  1593. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1594. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  1595. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1596. </Description>';
  1597. knot ZeroJunction
  1598. ports
  1599. power knot duplicatable none p [6,1];
  1600. signal knot out effort [6,1];
  1601. restrictions
  1602. causality constraint one_in p;
  1603. end;
  1604. icon bg bottom
  1605. figures
  1606. text '0' 184 424 color 0 18 bold;
  1607. end;
  1608. implementation eq
  1609. equations
  1610. sum (direct (p.f)) = 0;
  1611. equal (collect (p.e));
  1612. effort = first (p.e);
  1613. implementation_end;
  1614. end;
  1615. connections
  1616. FlowSensor2\flow -> Hmatrix\flow;
  1617. FlowSensor2\p2 => Wbai\p;
  1618. Hin -> MatrixMul\input2;
  1619. Hmatrix\H -> Splitter2\input;
  1620. MatrixMul\output -> Hout;
  1621. Pdiff => FlowSensor2\p1;
  1622. Pin => AdHji\p2;
  1623. Splitter2\output -> AdHji\H 424 312;
  1624. Splitter2\output -> Hdiff;
  1625. Splitter2\output -> MatrixMul\input1;
  1626. Wbai\p <= AdHji\p1;
  1627. Wbai\p => Pout;
  1628. end;
  1629. implementation_end;
  1630. JointB 560 192
  1631. description '<Information>
  1632. <Description>
  1633. <Version>4.8</Version>
  1634. <IsMainModel>1</IsMainModel>
  1635. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1636. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1637. </Description>
  1638. </Information>';
  1639. type 'Submodel-v3'
  1640. ports
  1641. power in Pin [6,1];
  1642. power in Pdiff [6,1];
  1643. signal in Hin [4,4];
  1644. signal out Hout [4,4];
  1645. signal out Hdiff [4,4];
  1646. power out Pout [6,1];
  1647. end;
  1648. icon bg bottom
  1649. figures
  1650. rectangle 528 168 592 216 color 0 fill 14745599;
  1651. text 'Joint' 560 192 color 0 'Clear Sans' 16;
  1652. terminals
  1653. Pin 544 216 fixed;
  1654. Hin 576 168 fixed;
  1655. Hout 576 216 fixed;
  1656. Pout 544 168 fixed;
  1657. end;
  1658. implementation bg
  1659. submodels
  1660. AdHji 424 424
  1661. description '<Description>
  1662. <Version>4.0</Version>
  1663. <IsMainModel>1</IsMainModel>
  1664. <KeepParameterValues>False</KeepParameterValues>
  1665. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1666. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1667. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1668. </Description>';
  1669. type MTF
  1670. ports
  1671. power out p1 [6,1];
  1672. power in p2 [6,1];
  1673. signal in H [4,4];
  1674. restrictions
  1675. causality constraint not_equal p1 p2;
  1676. end;
  1677. icon bg bottom
  1678. figures
  1679. text 'MTF' 424 424 color 0 18 bold;
  1680. end;
  1681. implementation eq
  1682. equations
  1683. p2.e = transpose(Adjoint(H)) * p1.e;
  1684. p1.f = Adjoint(H) * p2.f;implementation_end;
  1685. FlowSensor2 184 311.9
  1686. description '<Information>
  1687. <Description>
  1688. <Version>4.2</Version>
  1689. <IsMainModel>1</IsMainModel>
  1690. <KeepParameterValues>False</KeepParameterValues>
  1691. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1692. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1693. </Description>
  1694. </Information>';
  1695. knot FlowSensor
  1696. ports
  1697. power knot in p1 [6,1];
  1698. power knot out p2 [6,1];
  1699. signal knot out flow [6,1];
  1700. restrictions
  1701. causality constraint not_equal p1 p2;
  1702. end;
  1703. icon bg ellipse
  1704. figures
  1705. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1706. text 'f' 184 311.2 color 0;
  1707. end;
  1708. implementation eq
  1709. equations
  1710. p2.f = p1.f;
  1711. p1.e = p2.e;
  1712. flow = p1.f;
  1713. implementation_end;
  1714. Hmatrix 256 312
  1715. 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>';
  1716. type 'Submodel-Equation'
  1717. ports
  1718. signal in flow [6,1];
  1719. signal out H [4,4];
  1720. end;
  1721. icon bg
  1722. figures
  1723. rectangle 224 296 288 328 color 0 fill 15132390;
  1724. text 'name' 256 312 color 0 'Clear Sans' 16;
  1725. end;
  1726. implementation eq
  1727. parameters
  1728. real init[4] = [1;0;0;0];
  1729. variables
  1730. real q[4]; //quaternions
  1731. real W[3,4]; //Quaternion Rates Matrix
  1732. real R[3,3]; //Rotation Matrix
  1733. real p[3]; //Position Vector
  1734. real dq[4];
  1735. real Wb[3,4];
  1736. equations
  1737. dq = transpose(Wb) * flow[1:3] ./ 2;
  1738. q = int(dq,init);
  1739. p = int(flow[4:6]);
  1740. W = [-q[2], q[1], -q[4], q[3];
  1741. -q[3], q[4], q[1], -q[2];
  1742. -q[4], -q[3], q[2], q[1]];
  1743. Wb = [ -q[2], q[1], q[4], -q[3];
  1744. -q[3], -q[4], q[1], q[2];
  1745. -q[4], q[3], -q[2], q[1]];
  1746. 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]);
  1747. 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]);
  1748. 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];
  1749. H = homogeneous(R,p);
  1750. implementation_end;
  1751. MatrixMul 320 576
  1752. description '<Description>
  1753. <Version>4.0</Version>
  1754. <IsMainModel>1</IsMainModel>
  1755. <KeepParameterValues>False</KeepParameterValues>
  1756. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1757. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1758. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1759. </Description>';
  1760. type Gain
  1761. ports
  1762. signal in input1 [4,4];
  1763. signal out output [4,4];
  1764. signal in input2 [4,4];
  1765. end;
  1766. icon bg bottom
  1767. figures
  1768. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1769. text 'X' 320 576 color 16711680 16 bold;
  1770. end;
  1771. implementation eq
  1772. equations
  1773. output = input2*input1; implementation_end;
  1774. plug Pin 492.1 424;
  1775. plug Pdiff 184 225;
  1776. plug Hin 130.8 576;
  1777. plug Hout 478.4 576;
  1778. plug Hdiff 320 222;
  1779. plug Pout 134.7 424;
  1780. Splitter2 320 312
  1781. description '<Description><Version>4.0</Version>
  1782. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1783. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1784. <IsMainModel>1</IsMainModel>
  1785. <KeepParameterValues>False</KeepParameterValues>
  1786. </Description>';
  1787. knot Splitter
  1788. ports
  1789. signal knot duplicatable out output [4,4];
  1790. signal knot in input [4,4];
  1791. end;
  1792. icon bg ellipse
  1793. figures
  1794. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  1795. ellipse 315.7 307.7 324.3 316.3 color -1;
  1796. terminals
  1797. input 320 312 fixed;
  1798. end;
  1799. implementation eq
  1800. equations
  1801. collect (output) = input;
  1802. implementation_end;
  1803. Wbai 184 424
  1804. description '<Description>
  1805. <Version>4.0</Version>
  1806. <IsMainModel>1</IsMainModel>
  1807. <KeepParameterValues>False</KeepParameterValues>
  1808. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1809. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  1810. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1811. </Description>';
  1812. knot ZeroJunction
  1813. ports
  1814. power knot duplicatable none p [6,1];
  1815. signal knot out effort [6,1];
  1816. restrictions
  1817. causality constraint one_in p;
  1818. end;
  1819. icon bg bottom
  1820. figures
  1821. text '0' 184 424 color 0 18 bold;
  1822. end;
  1823. implementation eq
  1824. equations
  1825. sum (direct (p.f)) = 0;
  1826. equal (collect (p.e));
  1827. effort = first (p.e);
  1828. implementation_end;
  1829. end;
  1830. connections
  1831. FlowSensor2\flow -> Hmatrix\flow;
  1832. FlowSensor2\p2 => Wbai\p;
  1833. Hin -> MatrixMul\input2;
  1834. Hmatrix\H -> Splitter2\input;
  1835. MatrixMul\output -> Hout;
  1836. Pdiff => FlowSensor2\p1;
  1837. Pin => AdHji\p2;
  1838. Splitter2\output -> AdHji\H 424 312;
  1839. Splitter2\output -> Hdiff;
  1840. Splitter2\output -> MatrixMul\input1;
  1841. Wbai\p <= AdHji\p1;
  1842. Wbai\p => Pout;
  1843. end;
  1844. implementation_end;
  1845. JointC 512 632
  1846. description '<Information>
  1847. <Description>
  1848. <Version>4.8</Version>
  1849. <IsMainModel>1</IsMainModel>
  1850. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1851. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1852. </Description>
  1853. </Information>';
  1854. type 'Submodel-v3'
  1855. ports
  1856. power in Pin [6,1];
  1857. power in Pdiff [6,1];
  1858. signal in Hin [4,4];
  1859. signal out Hout [4,4];
  1860. signal out Hdiff [4,4];
  1861. power out Pout [6,1];
  1862. end;
  1863. icon bg bottom
  1864. figures
  1865. rectangle 488 600 536 664 color 0 fill 14745599;
  1866. text 'Joint' 512 632 color 0 'Clear Sans' 16;
  1867. terminals
  1868. Pin 488 648 fixed;
  1869. Hin 536 616 fixed;
  1870. Hout 488 616 fixed;
  1871. Pout 536 648 fixed;
  1872. end;
  1873. implementation bg
  1874. submodels
  1875. AdHji 424 424
  1876. description '<Description>
  1877. <Version>4.0</Version>
  1878. <IsMainModel>1</IsMainModel>
  1879. <KeepParameterValues>False</KeepParameterValues>
  1880. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1881. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1882. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1883. </Description>';
  1884. type MTF
  1885. ports
  1886. power out p1 [6,1];
  1887. power in p2 [6,1];
  1888. signal in H [4,4];
  1889. restrictions
  1890. causality constraint not_equal p1 p2;
  1891. end;
  1892. icon bg bottom
  1893. figures
  1894. text 'MTF' 424 424 color 0 18 bold;
  1895. end;
  1896. implementation eq
  1897. equations
  1898. p2.e = transpose(Adjoint(H)) * p1.e;
  1899. p1.f = Adjoint(H) * p2.f;implementation_end;
  1900. FlowSensor2 184 311.9
  1901. description '<Information>
  1902. <Description>
  1903. <Version>4.2</Version>
  1904. <IsMainModel>1</IsMainModel>
  1905. <KeepParameterValues>False</KeepParameterValues>
  1906. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1907. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1908. </Description>
  1909. </Information>';
  1910. knot FlowSensor
  1911. ports
  1912. power knot in p1 [6,1];
  1913. power knot out p2 [6,1];
  1914. signal knot out flow [6,1];
  1915. restrictions
  1916. causality constraint not_equal p1 p2;
  1917. end;
  1918. icon bg ellipse
  1919. figures
  1920. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1921. text 'f' 184 311.2 color 0;
  1922. end;
  1923. implementation eq
  1924. equations
  1925. p2.f = p1.f;
  1926. p1.e = p2.e;
  1927. flow = p1.f;
  1928. implementation_end;
  1929. Hmatrix 256 312
  1930. 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>';
  1931. type 'Submodel-Equation'
  1932. ports
  1933. signal in flow [6,1];
  1934. signal out H [4,4];
  1935. end;
  1936. icon bg
  1937. figures
  1938. rectangle 224 296 288 328 color 0 fill 15132390;
  1939. text 'name' 256 312 color 0 'Clear Sans' 16;
  1940. end;
  1941. implementation eq
  1942. parameters
  1943. real init[4] = [1;0;0;0];
  1944. variables
  1945. real q[4]; //quaternions
  1946. real W[3,4]; //Quaternion Rates Matrix
  1947. real R[3,3]; //Rotation Matrix
  1948. real p[3]; //Position Vector
  1949. real dq[4];
  1950. real Wb[3,4];
  1951. equations
  1952. dq = transpose(Wb) * flow[1:3] ./ 2;
  1953. q = int(dq,init);
  1954. p = int(flow[4:6]);
  1955. W = [-q[2], q[1], -q[4], q[3];
  1956. -q[3], q[4], q[1], -q[2];
  1957. -q[4], -q[3], q[2], q[1]];
  1958. Wb = [ -q[2], q[1], q[4], -q[3];
  1959. -q[3], -q[4], q[1], q[2];
  1960. -q[4], q[3], -q[2], q[1]];
  1961. 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]);
  1962. 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]);
  1963. 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];
  1964. H = homogeneous(R,p);
  1965. implementation_end;
  1966. MatrixMul 320 576
  1967. description '<Description>
  1968. <Version>4.0</Version>
  1969. <IsMainModel>1</IsMainModel>
  1970. <KeepParameterValues>False</KeepParameterValues>
  1971. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1972. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1973. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1974. </Description>';
  1975. type Gain
  1976. ports
  1977. signal in input1 [4,4];
  1978. signal out output [4,4];
  1979. signal in input2 [4,4];
  1980. end;
  1981. icon bg bottom
  1982. figures
  1983. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1984. text 'X' 320 576 color 16711680 16 bold;
  1985. end;
  1986. implementation eq
  1987. equations
  1988. output = input2*input1; implementation_end;
  1989. plug Pin 492.1 424;
  1990. plug Pdiff 184 225;
  1991. plug Hin 130.8 576;
  1992. plug Hout 478.4 576;
  1993. plug Hdiff 320 222;
  1994. plug Pout 134.7 424;
  1995. Splitter2 320 312
  1996. description '<Description><Version>4.0</Version>
  1997. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1998. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1999. <IsMainModel>1</IsMainModel>
  2000. <KeepParameterValues>False</KeepParameterValues>
  2001. </Description>';
  2002. knot Splitter
  2003. ports
  2004. signal knot duplicatable out output [4,4];
  2005. signal knot in input [4,4];
  2006. end;
  2007. icon bg ellipse
  2008. figures
  2009. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2010. ellipse 315.7 307.7 324.3 316.3 color -1;
  2011. terminals
  2012. input 320 312 fixed;
  2013. end;
  2014. implementation eq
  2015. equations
  2016. collect (output) = input;
  2017. implementation_end;
  2018. Wbai 184 424
  2019. description '<Description>
  2020. <Version>4.0</Version>
  2021. <IsMainModel>1</IsMainModel>
  2022. <KeepParameterValues>False</KeepParameterValues>
  2023. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2024. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2025. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2026. </Description>';
  2027. knot ZeroJunction
  2028. ports
  2029. power knot duplicatable none p [6,1];
  2030. signal knot out effort [6,1];
  2031. restrictions
  2032. causality constraint one_in p;
  2033. end;
  2034. icon bg bottom
  2035. figures
  2036. text '0' 184 424 color 0 18 bold;
  2037. end;
  2038. implementation eq
  2039. equations
  2040. sum (direct (p.f)) = 0;
  2041. equal (collect (p.e));
  2042. effort = first (p.e);
  2043. implementation_end;
  2044. end;
  2045. connections
  2046. FlowSensor2\flow -> Hmatrix\flow;
  2047. FlowSensor2\p2 => Wbai\p;
  2048. Hin -> MatrixMul\input2;
  2049. Hmatrix\H -> Splitter2\input;
  2050. MatrixMul\output -> Hout;
  2051. Pdiff => FlowSensor2\p1;
  2052. Pin => AdHji\p2;
  2053. Splitter2\output -> AdHji\H 424 312;
  2054. Splitter2\output -> Hdiff;
  2055. Splitter2\output -> MatrixMul\input1;
  2056. Wbai\p <= AdHji\p1;
  2057. Wbai\p => Pout;
  2058. end;
  2059. implementation_end;
  2060. JointD 200 488
  2061. description '<Information>
  2062. <Description>
  2063. <Version>4.8</Version>
  2064. <IsMainModel>1</IsMainModel>
  2065. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2066. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2067. </Description>
  2068. </Information>';
  2069. type 'Submodel-v3'
  2070. ports
  2071. power in Pin [6,1];
  2072. power in Pdiff [6,1];
  2073. signal in Hin [4,4];
  2074. signal out Hout [4,4];
  2075. signal out Hdiff [4,4];
  2076. power out Pout [6,1];
  2077. end;
  2078. icon bg bottom
  2079. figures
  2080. rectangle 168 464 232 512 color 0 fill 14745599;
  2081. text 'Joint' 200 488 color 0 'Clear Sans' 16;
  2082. terminals
  2083. Pin 184 464 fixed;
  2084. Hin 216 512 fixed;
  2085. Hout 216 464 fixed;
  2086. Pout 184 512 fixed;
  2087. end;
  2088. implementation bg
  2089. submodels
  2090. AdHji 424 424
  2091. description '<Description>
  2092. <Version>4.0</Version>
  2093. <IsMainModel>1</IsMainModel>
  2094. <KeepParameterValues>False</KeepParameterValues>
  2095. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2096. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2097. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2098. </Description>';
  2099. type MTF
  2100. ports
  2101. power out p1 [6,1];
  2102. power in p2 [6,1];
  2103. signal in H [4,4];
  2104. restrictions
  2105. causality constraint not_equal p1 p2;
  2106. end;
  2107. icon bg bottom
  2108. figures
  2109. text 'MTF' 424 424 color 0 18 bold;
  2110. end;
  2111. implementation eq
  2112. equations
  2113. p2.e = transpose(Adjoint(H)) * p1.e;
  2114. p1.f = Adjoint(H) * p2.f;implementation_end;
  2115. FlowSensor2 184 311.9
  2116. description '<Information>
  2117. <Description>
  2118. <Version>4.2</Version>
  2119. <IsMainModel>1</IsMainModel>
  2120. <KeepParameterValues>False</KeepParameterValues>
  2121. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2122. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2123. </Description>
  2124. </Information>';
  2125. knot FlowSensor
  2126. ports
  2127. power knot in p1 [6,1];
  2128. power knot out p2 [6,1];
  2129. signal knot out flow [6,1];
  2130. restrictions
  2131. causality constraint not_equal p1 p2;
  2132. end;
  2133. icon bg ellipse
  2134. figures
  2135. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2136. text 'f' 184 311.2 color 0;
  2137. end;
  2138. implementation eq
  2139. equations
  2140. p2.f = p1.f;
  2141. p1.e = p2.e;
  2142. flow = p1.f;
  2143. implementation_end;
  2144. Hmatrix 256 312
  2145. 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>';
  2146. type 'Submodel-Equation'
  2147. ports
  2148. signal in flow [6,1];
  2149. signal out H [4,4];
  2150. end;
  2151. icon bg
  2152. figures
  2153. rectangle 224 296 288 328 color 0 fill 15132390;
  2154. text 'name' 256 312 color 0 'Clear Sans' 16;
  2155. end;
  2156. implementation eq
  2157. parameters
  2158. real init[4] = [1;0;0;0];
  2159. variables
  2160. real q[4]; //quaternions
  2161. real W[3,4]; //Quaternion Rates Matrix
  2162. real R[3,3]; //Rotation Matrix
  2163. real p[3]; //Position Vector
  2164. real dq[4];
  2165. real Wb[3,4];
  2166. equations
  2167. dq = transpose(Wb) * flow[1:3] ./ 2;
  2168. q = int(dq,init);
  2169. p = int(flow[4:6]);
  2170. W = [-q[2], q[1], -q[4], q[3];
  2171. -q[3], q[4], q[1], -q[2];
  2172. -q[4], -q[3], q[2], q[1]];
  2173. Wb = [ -q[2], q[1], q[4], -q[3];
  2174. -q[3], -q[4], q[1], q[2];
  2175. -q[4], q[3], -q[2], q[1]];
  2176. 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]);
  2177. 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]);
  2178. 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];
  2179. H = homogeneous(R,p);
  2180. implementation_end;
  2181. MatrixMul 320 576
  2182. description '<Description>
  2183. <Version>4.0</Version>
  2184. <IsMainModel>1</IsMainModel>
  2185. <KeepParameterValues>False</KeepParameterValues>
  2186. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2187. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2188. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2189. </Description>';
  2190. type Gain
  2191. ports
  2192. signal in input1 [4,4];
  2193. signal out output [4,4];
  2194. signal in input2 [4,4];
  2195. end;
  2196. icon bg bottom
  2197. figures
  2198. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2199. text 'X' 320 576 color 16711680 16 bold;
  2200. end;
  2201. implementation eq
  2202. equations
  2203. output = input2*input1; implementation_end;
  2204. plug Pin 492.1 424;
  2205. plug Pdiff 184 225;
  2206. plug Hin 130.8 576;
  2207. plug Hout 478.4 576;
  2208. plug Hdiff 320 222;
  2209. plug Pout 134.7 424;
  2210. Splitter2 320 312
  2211. description '<Description><Version>4.0</Version>
  2212. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2213. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2214. <IsMainModel>1</IsMainModel>
  2215. <KeepParameterValues>False</KeepParameterValues>
  2216. </Description>';
  2217. knot Splitter
  2218. ports
  2219. signal knot duplicatable out output [4,4];
  2220. signal knot in input [4,4];
  2221. end;
  2222. icon bg ellipse
  2223. figures
  2224. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2225. ellipse 315.7 307.7 324.3 316.3 color -1;
  2226. terminals
  2227. input 320 312 fixed;
  2228. end;
  2229. implementation eq
  2230. equations
  2231. collect (output) = input;
  2232. implementation_end;
  2233. Wbai 184 424
  2234. description '<Description>
  2235. <Version>4.0</Version>
  2236. <IsMainModel>1</IsMainModel>
  2237. <KeepParameterValues>False</KeepParameterValues>
  2238. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2239. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2240. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2241. </Description>';
  2242. knot ZeroJunction
  2243. ports
  2244. power knot duplicatable none p [6,1];
  2245. signal knot out effort [6,1];
  2246. restrictions
  2247. causality constraint one_in p;
  2248. end;
  2249. icon bg bottom
  2250. figures
  2251. text '0' 184 424 color 0 18 bold;
  2252. end;
  2253. implementation eq
  2254. equations
  2255. sum (direct (p.f)) = 0;
  2256. equal (collect (p.e));
  2257. effort = first (p.e);
  2258. implementation_end;
  2259. end;
  2260. connections
  2261. FlowSensor2\flow -> Hmatrix\flow;
  2262. FlowSensor2\p2 => Wbai\p;
  2263. Hin -> MatrixMul\input2;
  2264. Hmatrix\H -> Splitter2\input;
  2265. MatrixMul\output -> Hout;
  2266. Pdiff => FlowSensor2\p1;
  2267. Pin => AdHji\p2;
  2268. Splitter2\output -> AdHji\H 424 312;
  2269. Splitter2\output -> Hdiff;
  2270. Splitter2\output -> MatrixMul\input1;
  2271. Wbai\p <= AdHji\p1;
  2272. Wbai\p => Pout;
  2273. end;
  2274. implementation_end;
  2275. JointE 200 168
  2276. description '<Information>
  2277. <Description>
  2278. <Version>4.8</Version>
  2279. <IsMainModel>1</IsMainModel>
  2280. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2281. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2282. </Description>
  2283. </Information>';
  2284. type 'Submodel-v3'
  2285. ports
  2286. power in Pin [6,1];
  2287. power in Pdiff [6,1];
  2288. signal in Hin [4,4];
  2289. signal out Hout [4,4];
  2290. signal out Hdiff [4,4];
  2291. power out Pout [6,1];
  2292. end;
  2293. icon bg bottom
  2294. figures
  2295. rectangle 168 144 232 192 color 0 fill 14745599;
  2296. text 'Joint' 200 168 color 0 'Clear Sans' 16;
  2297. terminals
  2298. Pin 184 144 fixed;
  2299. Hin 216 192 fixed;
  2300. Hout 216 144 fixed;
  2301. Pout 184 192 fixed;
  2302. end;
  2303. implementation bg
  2304. submodels
  2305. AdHji 424 424
  2306. description '<Description>
  2307. <Version>4.0</Version>
  2308. <IsMainModel>1</IsMainModel>
  2309. <KeepParameterValues>False</KeepParameterValues>
  2310. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2311. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2312. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2313. </Description>';
  2314. type MTF
  2315. ports
  2316. power out p1 [6,1];
  2317. power in p2 [6,1];
  2318. signal in H [4,4];
  2319. restrictions
  2320. causality constraint not_equal p1 p2;
  2321. end;
  2322. icon bg bottom
  2323. figures
  2324. text 'MTF' 424 424 color 0 18 bold;
  2325. end;
  2326. implementation eq
  2327. equations
  2328. p2.e = transpose(Adjoint(H)) * p1.e;
  2329. p1.f = Adjoint(H) * p2.f;implementation_end;
  2330. FlowSensor2 184 311.9
  2331. description '<Information>
  2332. <Description>
  2333. <Version>4.2</Version>
  2334. <IsMainModel>1</IsMainModel>
  2335. <KeepParameterValues>False</KeepParameterValues>
  2336. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2337. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2338. </Description>
  2339. </Information>';
  2340. knot FlowSensor
  2341. ports
  2342. power knot in p1 [6,1];
  2343. power knot out p2 [6,1];
  2344. signal knot out flow [6,1];
  2345. restrictions
  2346. causality constraint not_equal p1 p2;
  2347. end;
  2348. icon bg ellipse
  2349. figures
  2350. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2351. text 'f' 184 311.2 color 0;
  2352. end;
  2353. implementation eq
  2354. equations
  2355. p2.f = p1.f;
  2356. p1.e = p2.e;
  2357. flow = p1.f;
  2358. implementation_end;
  2359. Hmatrix 256 312
  2360. 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>';
  2361. type 'Submodel-Equation'
  2362. ports
  2363. signal in flow [6,1];
  2364. signal out H [4,4];
  2365. end;
  2366. icon bg
  2367. figures
  2368. rectangle 224 296 288 328 color 0 fill 15132390;
  2369. text 'name' 256 312 color 0 'Clear Sans' 16;
  2370. end;
  2371. implementation eq
  2372. parameters
  2373. real init[4] = [1;0;0;0];
  2374. variables
  2375. real q[4]; //quaternions
  2376. real W[3,4]; //Quaternion Rates Matrix
  2377. real R[3,3]; //Rotation Matrix
  2378. real p[3]; //Position Vector
  2379. real dq[4];
  2380. real Wb[3,4];
  2381. equations
  2382. dq = transpose(Wb) * flow[1:3] ./ 2;
  2383. q = int(dq,init);
  2384. p = int(flow[4:6]);
  2385. W = [-q[2], q[1], -q[4], q[3];
  2386. -q[3], q[4], q[1], -q[2];
  2387. -q[4], -q[3], q[2], q[1]];
  2388. Wb = [ -q[2], q[1], q[4], -q[3];
  2389. -q[3], -q[4], q[1], q[2];
  2390. -q[4], q[3], -q[2], q[1]];
  2391. 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]);
  2392. 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]);
  2393. 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];
  2394. H = homogeneous(R,p);
  2395. implementation_end;
  2396. MatrixMul 320 576
  2397. description '<Description>
  2398. <Version>4.0</Version>
  2399. <IsMainModel>1</IsMainModel>
  2400. <KeepParameterValues>False</KeepParameterValues>
  2401. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2402. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2403. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2404. </Description>';
  2405. type Gain
  2406. ports
  2407. signal in input1 [4,4];
  2408. signal out output [4,4];
  2409. signal in input2 [4,4];
  2410. end;
  2411. icon bg bottom
  2412. figures
  2413. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2414. text 'X' 320 576 color 16711680 16 bold;
  2415. end;
  2416. implementation eq
  2417. equations
  2418. output = input2*input1; implementation_end;
  2419. plug Pin 492.1 424;
  2420. plug Pdiff 184 225;
  2421. plug Hin 130.8 576;
  2422. plug Hout 478.4 576;
  2423. plug Hdiff 320 222;
  2424. plug Pout 134.7 424;
  2425. Splitter2 320 312
  2426. description '<Description><Version>4.0</Version>
  2427. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2428. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2429. <IsMainModel>1</IsMainModel>
  2430. <KeepParameterValues>False</KeepParameterValues>
  2431. </Description>';
  2432. knot Splitter
  2433. ports
  2434. signal knot duplicatable out output [4,4];
  2435. signal knot in input [4,4];
  2436. end;
  2437. icon bg ellipse
  2438. figures
  2439. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2440. ellipse 315.7 307.7 324.3 316.3 color -1;
  2441. terminals
  2442. input 320 312 fixed;
  2443. end;
  2444. implementation eq
  2445. equations
  2446. collect (output) = input;
  2447. implementation_end;
  2448. Wbai 184 424
  2449. description '<Description>
  2450. <Version>4.0</Version>
  2451. <IsMainModel>1</IsMainModel>
  2452. <KeepParameterValues>False</KeepParameterValues>
  2453. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2454. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2455. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2456. </Description>';
  2457. knot ZeroJunction
  2458. ports
  2459. power knot duplicatable none p [6,1];
  2460. signal knot out effort [6,1];
  2461. restrictions
  2462. causality constraint one_in p;
  2463. end;
  2464. icon bg bottom
  2465. figures
  2466. text '0' 184 424 color 0 18 bold;
  2467. end;
  2468. implementation eq
  2469. equations
  2470. sum (direct (p.f)) = 0;
  2471. equal (collect (p.e));
  2472. effort = first (p.e);
  2473. implementation_end;
  2474. end;
  2475. connections
  2476. FlowSensor2\flow -> Hmatrix\flow;
  2477. FlowSensor2\p2 => Wbai\p;
  2478. Hin -> MatrixMul\input2;
  2479. Hmatrix\H -> Splitter2\input;
  2480. MatrixMul\output -> Hout;
  2481. Pdiff => FlowSensor2\p1;
  2482. Pin => AdHji\p2;
  2483. Splitter2\output -> AdHji\H 424 312;
  2484. Splitter2\output -> Hdiff;
  2485. Splitter2\output -> MatrixMul\input1;
  2486. Wbai\p <= AdHji\p1;
  2487. Wbai\p => Pout;
  2488. end;
  2489. implementation_end;
  2490. JointF 720 128
  2491. description '<Information>
  2492. <Description>
  2493. <Version>4.8</Version>
  2494. <IsMainModel>1</IsMainModel>
  2495. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2496. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2497. </Description>
  2498. </Information>';
  2499. type 'Submodel-v3'
  2500. ports
  2501. power in Pin [6,1];
  2502. power in Pdiff [6,1];
  2503. signal in Hin [4,4];
  2504. signal out Hout [4,4];
  2505. signal out Hdiff [4,4];
  2506. power out Pout [6,1];
  2507. end;
  2508. icon bg bottom
  2509. figures
  2510. rectangle 696 96 744 160 color 0 fill 14745599;
  2511. text 'Joint' 720 128 color 0 'Clear Sans' 16;
  2512. terminals
  2513. Pin 744 112 fixed;
  2514. Hin 696 144 fixed;
  2515. Hout 744 144 fixed;
  2516. Pout 696 112 fixed;
  2517. end;
  2518. implementation bg
  2519. submodels
  2520. AdHji 424 424
  2521. description '<Description>
  2522. <Version>4.0</Version>
  2523. <IsMainModel>1</IsMainModel>
  2524. <KeepParameterValues>False</KeepParameterValues>
  2525. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2526. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2527. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2528. </Description>';
  2529. type MTF
  2530. ports
  2531. power out p1 [6,1];
  2532. power in p2 [6,1];
  2533. signal in H [4,4];
  2534. restrictions
  2535. causality constraint not_equal p1 p2;
  2536. end;
  2537. icon bg bottom
  2538. figures
  2539. text 'MTF' 424 424 color 0 18 bold;
  2540. end;
  2541. implementation eq
  2542. equations
  2543. p2.e = transpose(Adjoint(H)) * p1.e;
  2544. p1.f = Adjoint(H) * p2.f;implementation_end;
  2545. FlowSensor2 184 311.9
  2546. description '<Information>
  2547. <Description>
  2548. <Version>4.2</Version>
  2549. <IsMainModel>1</IsMainModel>
  2550. <KeepParameterValues>False</KeepParameterValues>
  2551. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2552. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2553. </Description>
  2554. </Information>';
  2555. knot FlowSensor
  2556. ports
  2557. power knot in p1 [6,1];
  2558. power knot out p2 [6,1];
  2559. signal knot out flow [6,1];
  2560. restrictions
  2561. causality constraint not_equal p1 p2;
  2562. end;
  2563. icon bg ellipse
  2564. figures
  2565. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2566. text 'f' 184 311.2 color 0;
  2567. end;
  2568. implementation eq
  2569. equations
  2570. p2.f = p1.f;
  2571. p1.e = p2.e;
  2572. flow = p1.f;
  2573. implementation_end;
  2574. Hmatrix 256 312
  2575. 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>';
  2576. type 'Submodel-Equation'
  2577. ports
  2578. signal in flow [6,1];
  2579. signal out H [4,4];
  2580. end;
  2581. icon bg
  2582. figures
  2583. rectangle 224 296 288 328 color 0 fill 15132390;
  2584. text 'name' 256 312 color 0 'Clear Sans' 16;
  2585. end;
  2586. implementation eq
  2587. parameters
  2588. real init[4] = [1;0;0;0];
  2589. variables
  2590. real q[4]; //quaternions
  2591. real W[3,4]; //Quaternion Rates Matrix
  2592. real R[3,3]; //Rotation Matrix
  2593. real p[3]; //Position Vector
  2594. real dq[4];
  2595. real Wb[3,4];
  2596. equations
  2597. dq = transpose(Wb) * flow[1:3] ./ 2;
  2598. q = int(dq,init);
  2599. p = int(flow[4:6]);
  2600. W = [-q[2], q[1], -q[4], q[3];
  2601. -q[3], q[4], q[1], -q[2];
  2602. -q[4], -q[3], q[2], q[1]];
  2603. Wb = [ -q[2], q[1], q[4], -q[3];
  2604. -q[3], -q[4], q[1], q[2];
  2605. -q[4], q[3], -q[2], q[1]];
  2606. 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]);
  2607. 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]);
  2608. 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];
  2609. H = homogeneous(R,p);
  2610. implementation_end;
  2611. MatrixMul 320 576
  2612. description '<Description>
  2613. <Version>4.0</Version>
  2614. <IsMainModel>1</IsMainModel>
  2615. <KeepParameterValues>False</KeepParameterValues>
  2616. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2617. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2618. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2619. </Description>';
  2620. type Gain
  2621. ports
  2622. signal in input1 [4,4];
  2623. signal out output [4,4];
  2624. signal in input2 [4,4];
  2625. end;
  2626. icon bg bottom
  2627. figures
  2628. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2629. text 'X' 320 576 color 16711680 16 bold;
  2630. end;
  2631. implementation eq
  2632. equations
  2633. output = input2*input1; implementation_end;
  2634. plug Pin 492.1 424;
  2635. plug Pdiff 184 225;
  2636. plug Hin 130.8 576;
  2637. plug Hout 478.4 576;
  2638. plug Hdiff 320 222;
  2639. plug Pout 134.7 424;
  2640. Splitter2 320 312
  2641. description '<Description><Version>4.0</Version>
  2642. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2643. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2644. <IsMainModel>1</IsMainModel>
  2645. <KeepParameterValues>False</KeepParameterValues>
  2646. </Description>';
  2647. knot Splitter
  2648. ports
  2649. signal knot duplicatable out output [4,4];
  2650. signal knot in input [4,4];
  2651. end;
  2652. icon bg ellipse
  2653. figures
  2654. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2655. ellipse 315.7 307.7 324.3 316.3 color -1;
  2656. terminals
  2657. input 320 312 fixed;
  2658. end;
  2659. implementation eq
  2660. equations
  2661. collect (output) = input;
  2662. implementation_end;
  2663. Wbai 184 424
  2664. description '<Description>
  2665. <Version>4.0</Version>
  2666. <IsMainModel>1</IsMainModel>
  2667. <KeepParameterValues>False</KeepParameterValues>
  2668. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2669. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2670. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2671. </Description>';
  2672. knot ZeroJunction
  2673. ports
  2674. power knot duplicatable none p [6,1];
  2675. signal knot out effort [6,1];
  2676. restrictions
  2677. causality constraint one_in p;
  2678. end;
  2679. icon bg bottom
  2680. figures
  2681. text '0' 184 424 color 0 18 bold;
  2682. end;
  2683. implementation eq
  2684. equations
  2685. sum (direct (p.f)) = 0;
  2686. equal (collect (p.e));
  2687. effort = first (p.e);
  2688. implementation_end;
  2689. end;
  2690. connections
  2691. FlowSensor2\flow -> Hmatrix\flow;
  2692. FlowSensor2\p2 => Wbai\p;
  2693. Hin -> MatrixMul\input2;
  2694. Hmatrix\H -> Splitter2\input;
  2695. MatrixMul\output -> Hout;
  2696. Pdiff => FlowSensor2\p1;
  2697. Pin => AdHji\p2;
  2698. Splitter2\output -> AdHji\H 424 312;
  2699. Splitter2\output -> Hdiff;
  2700. Splitter2\output -> MatrixMul\input1;
  2701. Wbai\p <= AdHji\p1;
  2702. Wbai\p => Pout;
  2703. end;
  2704. implementation_end;
  2705. Joint_dynA 704 512
  2706. description '<Description>
  2707. <Version>4.8</Version>
  2708. <IsMainModel>1</IsMainModel>
  2709. </Description>';
  2710. type Submodel
  2711. ports
  2712. power out output [6,1];
  2713. signal in angle {rad} ;
  2714. end;
  2715. implementation bg
  2716. submodels
  2717. C 264 200
  2718. description '<Information>
  2719. <Description>
  2720. <Version>4.2</Version>
  2721. <IsMainModel>1</IsMainModel>
  2722. <KeepParameterValues>False</KeepParameterValues>
  2723. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  2724. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  2725. </Description>
  2726. </Information>';
  2727. type C
  2728. ports
  2729. power in p;
  2730. signal out state;
  2731. restrictions
  2732. causality preferred out p;
  2733. end;
  2734. icon bg bottom
  2735. figures
  2736. text 'C' 264 200 color 0 18 bold;
  2737. end;
  2738. implementation eq
  2739. parameters
  2740. real c = 0.001;
  2741. equations
  2742. state = int(p.f);
  2743. p.e = state / c;
  2744. implementation_end;
  2745. C1 191.8 216.2
  2746. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2747. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  2748. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  2749. </Description>';
  2750. type 'C-3'
  2751. ports
  2752. power in p [3,1];
  2753. signal out state [3,1];
  2754. restrictions
  2755. causality preferred out p;
  2756. end;
  2757. icon bg top
  2758. figures
  2759. text 'C' 191.8 216.2 color 0 18 bold;
  2760. end;
  2761. implementation eq
  2762. parameters
  2763. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  2764. equations
  2765. state = int(p.f);
  2766. p.e = inverse(c) *state;
  2767. implementation_end;
  2768. C4 191.8 232.2
  2769. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2770. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  2771. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  2772. </Description>';
  2773. type 'C-2'
  2774. ports
  2775. power in p [2,1];
  2776. signal out state [2,1];
  2777. restrictions
  2778. causality preferred out p;
  2779. end;
  2780. icon bg bottom
  2781. figures
  2782. text 'C' 191.8 232.2 color 0 18 bold;
  2783. end;
  2784. implementation eq
  2785. parameters
  2786. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  2787. equations
  2788. state = int(p.f);
  2789. p.e = inverse(c) *state;
  2790. implementation_end;
  2791. plug output 468 216;
  2792. plug angle 224 80;
  2793. OneJunction5 239.8 232.2
  2794. description '<Information>
  2795. <Description>
  2796. <Version>4.2</Version>
  2797. <IsMainModel>1</IsMainModel>
  2798. <KeepParameterValues>False</KeepParameterValues>
  2799. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2800. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2801. </Description>
  2802. </Information>';
  2803. knot OneJunction
  2804. ports
  2805. power knot duplicatable none p [2,1];
  2806. signal knot out flow [2,1];
  2807. restrictions
  2808. causality constraint one_out p;
  2809. end;
  2810. icon bg
  2811. figures
  2812. text '1' 239.8 232.2 color 0 18 bold;
  2813. end;
  2814. implementation eq
  2815. equations
  2816. sum (direct (p.e)) = 0;
  2817. equal (collect (p.f));
  2818. flow = first (p.f);
  2819. implementation_end;
  2820. OneJunction7 239.8 216.2
  2821. description '<Information>
  2822. <Description>
  2823. <Version>4.2</Version>
  2824. <IsMainModel>1</IsMainModel>
  2825. <KeepParameterValues>False</KeepParameterValues>
  2826. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2827. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2828. </Description>
  2829. </Information>';
  2830. knot OneJunction
  2831. ports
  2832. power knot duplicatable none p [3,1];
  2833. signal knot out flow [3,1];
  2834. restrictions
  2835. causality constraint one_out p;
  2836. end;
  2837. icon bg
  2838. figures
  2839. text '1' 239.8 216.2 color 0 18 bold;
  2840. end;
  2841. implementation eq
  2842. equations
  2843. sum (direct (p.e)) = 0;
  2844. equal (collect (p.f));
  2845. flow = first (p.f);
  2846. implementation_end;
  2847. OneJunction8 312 200
  2848. description '<Information>
  2849. <Description>
  2850. <Version>4.2</Version>
  2851. <IsMainModel>1</IsMainModel>
  2852. <KeepParameterValues>False</KeepParameterValues>
  2853. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2854. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2855. </Description>
  2856. </Information>';
  2857. knot OneJunction
  2858. ports
  2859. rotation knot duplicatable none p [1];
  2860. signal knot out flow [1];
  2861. restrictions
  2862. causality constraint one_out p;
  2863. end;
  2864. icon bg
  2865. figures
  2866. text '1' 312 200 color 0 18 bold;
  2867. end;
  2868. implementation eq
  2869. equations
  2870. sum (direct (p.e)) = 0;
  2871. equal (collect (p.f));
  2872. flow = first (p.f);
  2873. implementation_end;
  2874. PowerMux 402 216
  2875. specifications active 'rot_x'
  2876. specification 'rot_x'
  2877. description '<Information>
  2878. <Description>
  2879. <Version>4.8</Version>
  2880. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  2881. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  2882. <IsMainModel>1</IsMainModel>
  2883. <KeepParameterValues>False</KeepParameterValues>
  2884. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2885. </Description>
  2886. </Information>';
  2887. type 'PowerMux-Rotation'
  2888. ports
  2889. power in input;
  2890. power out output [6,1];
  2891. power in input_rot2 [2,1];
  2892. power in input_pos3 [3,1];
  2893. restrictions
  2894. causality constraint not_equal input output;
  2895. causality constraint not_equal input_rot2 output;
  2896. causality constraint not_equal input_pos3 output;
  2897. end;
  2898. icon bg bottom
  2899. figures
  2900. line 400 192 400 240 color 0 width 2;
  2901. rectangle 396 192 408 240 color -1;
  2902. text '1' 405 210 color 8421504 8;
  2903. terminals
  2904. input 400 200 fixed;
  2905. output 400 216 fixed;
  2906. input_rot2 400 232 fixed;
  2907. input_pos3 400 216 fixed;
  2908. end;
  2909. implementation eq
  2910. equations
  2911. output.e[1] = input.e;
  2912. output.e[2:3] = input_rot2.e;
  2913. output.e[4:6] = input_pos3.e;
  2914. output.f[1] = input.f;
  2915. output.f[2:3] = input_rot2.f;
  2916. output.f[4:6] = input_pos3.f;implementation_end;
  2917. specification_end;
  2918. specification 'rot_y'
  2919. description '<Description>
  2920. <Version>4.1</Version>
  2921. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  2922. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  2923. <IsMainModel>1</IsMainModel>
  2924. <KeepParameterValues>False</KeepParameterValues>
  2925. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2926. </Description>';
  2927. type PowerMux
  2928. ports
  2929. power in input;
  2930. power out output [6,1];
  2931. power in input_rot2 [2,1];
  2932. power in input_pos3 [3,1];
  2933. restrictions
  2934. causality constraint not_equal input output;
  2935. causality constraint not_equal input_rot2 output;
  2936. causality constraint not_equal input_pos3 output;
  2937. end;
  2938. icon bg bottom
  2939. figures
  2940. line 242 274 290 274 color 0 width 2;
  2941. rectangle 242 266 290 278 color -1;
  2942. text '1' 260 269 color 8421504 8;
  2943. terminals
  2944. input 250 274 fixed;
  2945. output 266 274 fixed;
  2946. input_rot2 282 274 fixed;
  2947. input_pos3 266 274 fixed;
  2948. end;
  2949. implementation eq
  2950. equations
  2951. output.e[1] = input_rot2.e[1];
  2952. output.e[2] = input.e;
  2953. output.e[3] = input_rot2.e[2];
  2954. output.e[4:6] = input_pos3.e;
  2955. output.f[1] = input_rot2.f[1];
  2956. output.f[2] = input.f;
  2957. output.f[3] = input_rot2.f[2];
  2958. output.f[4:6] = input_pos3.f;implementation_end;
  2959. specification_end;
  2960. specification 'rot_z'
  2961. description '<Information>
  2962. <Description>
  2963. <Version>4.8</Version>
  2964. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  2965. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  2966. <IsMainModel>1</IsMainModel>
  2967. <KeepParameterValues>False</KeepParameterValues>
  2968. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2969. </Description>
  2970. </Information>';
  2971. type PowerMux
  2972. ports
  2973. power in input;
  2974. power out output [6,1];
  2975. power in input_rot2 [2,1];
  2976. power in input_pos3 [3,1];
  2977. restrictions
  2978. causality constraint not_equal input output;
  2979. causality constraint not_equal input_rot2 output;
  2980. causality constraint not_equal input_pos3 output;
  2981. end;
  2982. icon bg bottom
  2983. figures
  2984. line 242 274 290 274 color 0 width 2;
  2985. rectangle 242 266 290 278 color -1;
  2986. text '1' 260 269 color 8421504 8;
  2987. terminals
  2988. input 250 274 fixed;
  2989. output 266 274 fixed;
  2990. input_rot2 282 274 fixed;
  2991. input_pos3 266 274 fixed;
  2992. end;
  2993. implementation eq
  2994. equations
  2995. output.e[3] = input.e;
  2996. output.e[1:2] = input_rot2.e;
  2997. output.e[4:6] = input_pos3.e;
  2998. output.f[3] = input.f;
  2999. output.f[1:2] = input_rot2.f;
  3000. output.f[4:6] = input_pos3.f;implementation_end;
  3001. specification_end;
  3002. end;
  3003. R 312 152
  3004. description '<Information>
  3005. <Description>
  3006. <Version>4.2</Version>
  3007. <IsMainModel>1</IsMainModel>
  3008. <KeepParameterValues>False</KeepParameterValues>
  3009. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3010. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3011. </Description>
  3012. </Information>';
  3013. type R
  3014. ports
  3015. power in p;
  3016. end;
  3017. icon bg bottom
  3018. figures
  3019. text 'R' 312 152 color 0 18 bold;
  3020. end;
  3021. implementation eq
  3022. parameters
  3023. real r = 100;
  3024. equations
  3025. p.e = r * p.f;
  3026. implementation_end;
  3027. R4 239.8 288.2
  3028. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3029. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  3030. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  3031. </Description>';
  3032. type 'R-2'
  3033. ports
  3034. power in p [2,1];
  3035. end;
  3036. icon bg bottom
  3037. figures
  3038. text 'R' 239.8 288.2 color 0 18 bold;
  3039. end;
  3040. implementation eq
  3041. parameters
  3042. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  3043. equations
  3044. p.e = r * p.f;
  3045. implementation_end;
  3046. R5 239.8 168.2
  3047. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3048. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  3049. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  3050. </Description>';
  3051. type 'R-3'
  3052. ports
  3053. power in p [3,1];
  3054. end;
  3055. icon bg top
  3056. figures
  3057. text 'R' 239.8 168.2 color 0 18 bold;
  3058. end;
  3059. implementation eq
  3060. parameters
  3061. 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};
  3062. equations
  3063. p.e = r * p.f;
  3064. implementation_end;
  3065. stepper_model 360 80
  3066. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Motor\stepper_model.emx</LibraryPath><TimeStamp>2020-7-23 10:54:47</TimeStamp></Description><Attributes><GlobalRelations>parameters
  3067. real I_phase = 3.4 {mH};
  3068. real R_phase = 2.9 {ohm};
  3069. real u_max = 3.4 {V};
  3070. real RotorInertia = 5.6e-6 {kg.m2};
  3071. real StepperMass = 0.29 {kg};
  3072. real angle_step = 1.8 {deg};
  3073. real n_phase = 2 {none};
  3074. real fluxLinkage = 0.0022 {Wb};
  3075. real detentTorque = 0.01 {N.m};
  3076. variables
  3077. real omega;
  3078. real p; // rotor division
  3079. initialequations
  3080. p = 2 * pi / (2 * n_phase * angle_step);
  3081. omega = 200;</GlobalRelations></Attributes></Information>';
  3082. type Submodel
  3083. ports
  3084. signal in angle;
  3085. rotation out p;
  3086. end;
  3087. implementation bg
  3088. submodels
  3089. I 560 104
  3090. description '<Information>
  3091. <Description>
  3092. <Version>4.2</Version>
  3093. <IsMainModel>1</IsMainModel>
  3094. <KeepParameterValues>False</KeepParameterValues>
  3095. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3096. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3097. </Description>
  3098. </Information>';
  3099. type I
  3100. ports
  3101. power in p;
  3102. signal out state;
  3103. restrictions
  3104. causality preferred in p;
  3105. end;
  3106. icon bg bottom
  3107. figures
  3108. text 'I' 560 104 color 0 18 bold;
  3109. end;
  3110. implementation eq
  3111. parameters
  3112. real global I_phase;
  3113. equations
  3114. state = int(p.e);
  3115. p.f = state / I_phase;
  3116. implementation_end;
  3117. I1 608 328
  3118. description '<Information>
  3119. <Description>
  3120. <Version>4.2</Version>
  3121. <IsMainModel>1</IsMainModel>
  3122. <KeepParameterValues>False</KeepParameterValues>
  3123. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3124. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3125. </Description>
  3126. </Information>';
  3127. type I
  3128. ports
  3129. power in p;
  3130. signal out state;
  3131. restrictions
  3132. causality preferred in p;
  3133. end;
  3134. icon bg bottom
  3135. figures
  3136. text 'I' 608 328 color 0 18 bold;
  3137. end;
  3138. implementation eq
  3139. parameters
  3140. real global I_phase;
  3141. equations
  3142. state = int(p.e);
  3143. p.f = state / I_phase;
  3144. implementation_end;
  3145. I2 752 160
  3146. description '<Information>
  3147. <Description>
  3148. <Version>4.2</Version>
  3149. <IsMainModel>1</IsMainModel>
  3150. <KeepParameterValues>False</KeepParameterValues>
  3151. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3152. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3153. </Description>
  3154. </Information>';
  3155. type I
  3156. ports
  3157. power in p;
  3158. signal out state;
  3159. restrictions
  3160. causality preferred in p;
  3161. end;
  3162. icon bg bottom
  3163. figures
  3164. text 'I' 752 160 color 0 18 bold;
  3165. end;
  3166. implementation eq
  3167. parameters
  3168. real global RotorInertia;
  3169. equations
  3170. state = int(p.e);
  3171. p.f = state / (RotorInertia);
  3172. implementation_end;
  3173. MGY_a 656 160
  3174. description '<Information>
  3175. <Description>
  3176. <Version>4.2</Version>
  3177. <IsMainModel>1</IsMainModel>
  3178. <KeepParameterValues>False</KeepParameterValues>
  3179. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  3180. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  3181. </Description>
  3182. </Information>';
  3183. type MGY
  3184. ports
  3185. power in p1;
  3186. power out p2;
  3187. signal in r;
  3188. restrictions
  3189. causality constraint equal p1 p2;
  3190. end;
  3191. icon bg bottom
  3192. figures
  3193. text 'MGY' 656 160 color 0 18 bold;
  3194. end;
  3195. implementation eq
  3196. equations
  3197. p1.e = r * p2.f;
  3198. p2.e = r * p1.f;
  3199. implementation_end;
  3200. MGY_b 656 272
  3201. description '<Information>
  3202. <Description>
  3203. <Version>4.2</Version>
  3204. <IsMainModel>1</IsMainModel>
  3205. <KeepParameterValues>False</KeepParameterValues>
  3206. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  3207. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  3208. </Description>
  3209. </Information>';
  3210. type MGY
  3211. ports
  3212. power in p1;
  3213. power out p2;
  3214. signal in r;
  3215. restrictions
  3216. causality constraint equal p1 p2;
  3217. end;
  3218. icon bg bottom
  3219. figures
  3220. text 'MGY' 656 272 color 0 18 bold;
  3221. end;
  3222. implementation eq
  3223. equations
  3224. p1.e = r * p2.f;
  3225. p2.e = r * p1.f;
  3226. implementation_end;
  3227. MSe_a 512 160
  3228. description '<Information>
  3229. <Description>
  3230. <Version>4.2</Version>
  3231. <IsMainModel>1</IsMainModel>
  3232. <KeepParameterValues>False</KeepParameterValues>
  3233. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3234. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3235. </Description>
  3236. </Information>';
  3237. type MSe
  3238. ports
  3239. electric out p;
  3240. signal in effort;
  3241. restrictions
  3242. causality fixed out p;
  3243. end;
  3244. icon bg bottom
  3245. figures
  3246. text 'MSe' 512 160 color 0 18 bold;
  3247. end;
  3248. implementation eq
  3249. variables
  3250. real flow;
  3251. equations
  3252. p.e = effort;
  3253. flow = p.f;
  3254. implementation_end;
  3255. MSe_b 512 272
  3256. description '<Information>
  3257. <Description>
  3258. <Version>4.2</Version>
  3259. <IsMainModel>1</IsMainModel>
  3260. <KeepParameterValues>False</KeepParameterValues>
  3261. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3262. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3263. </Description>
  3264. </Information>';
  3265. type MSe
  3266. ports
  3267. electric out p;
  3268. signal in effort;
  3269. restrictions
  3270. causality fixed out p;
  3271. end;
  3272. icon bg bottom
  3273. figures
  3274. text 'MSe' 512 272 color 0 18 bold;
  3275. end;
  3276. implementation eq
  3277. variables
  3278. real flow;
  3279. equations
  3280. p.e = effort;
  3281. flow = p.f;
  3282. implementation_end;
  3283. plug angle 200 216;
  3284. plug p 1472 216;
  3285. OneJunction1 840 216
  3286. description '<Information>
  3287. <Description>
  3288. <Version>4.2</Version>
  3289. <IsMainModel>1</IsMainModel>
  3290. <KeepParameterValues>False</KeepParameterValues>
  3291. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3292. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3293. </Description>
  3294. </Information>';
  3295. knot OneJunction
  3296. ports
  3297. rotation knot duplicatable none p [1];
  3298. signal knot out flow [1];
  3299. restrictions
  3300. causality constraint one_out p;
  3301. end;
  3302. icon bg
  3303. figures
  3304. text '1' 840 216 color 0 18 bold;
  3305. end;
  3306. implementation eq
  3307. equations
  3308. sum (direct (p.e)) = 0;
  3309. equal (collect (p.f));
  3310. flow = first (p.f);
  3311. implementation_end;
  3312. OneJunction2 584 160
  3313. description '<Information>
  3314. <Description>
  3315. <Version>4.2</Version>
  3316. <IsMainModel>1</IsMainModel>
  3317. <KeepParameterValues>False</KeepParameterValues>
  3318. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3319. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3320. </Description>
  3321. </Information>';
  3322. knot OneJunction
  3323. ports
  3324. electric knot duplicatable none p [1];
  3325. signal knot out flow [1];
  3326. restrictions
  3327. causality constraint one_out p;
  3328. end;
  3329. icon bg
  3330. figures
  3331. text '1' 584 160 color 0 18 bold;
  3332. end;
  3333. implementation eq
  3334. equations
  3335. sum (direct (p.e)) = 0;
  3336. equal (collect (p.f));
  3337. flow = first (p.f);
  3338. implementation_end;
  3339. OneJunction3 584 272
  3340. description '<Information>
  3341. <Description>
  3342. <Version>4.2</Version>
  3343. <IsMainModel>1</IsMainModel>
  3344. <KeepParameterValues>False</KeepParameterValues>
  3345. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3346. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3347. </Description>
  3348. </Information>';
  3349. knot OneJunction
  3350. ports
  3351. electric knot duplicatable none p [1];
  3352. signal knot out flow [1];
  3353. restrictions
  3354. causality constraint one_out p;
  3355. end;
  3356. icon bg
  3357. figures
  3358. text '1' 584 272 color 0 18 bold;
  3359. end;
  3360. implementation eq
  3361. equations
  3362. sum (direct (p.e)) = 0;
  3363. equal (collect (p.f));
  3364. flow = first (p.f);
  3365. implementation_end;
  3366. OneJunction4 752 216
  3367. description '<Information>
  3368. <Description>
  3369. <Version>4.2</Version>
  3370. <IsMainModel>1</IsMainModel>
  3371. <KeepParameterValues>False</KeepParameterValues>
  3372. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3373. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3374. </Description>
  3375. </Information>';
  3376. knot OneJunction
  3377. ports
  3378. rotation knot duplicatable none p [1];
  3379. signal knot out flow [1];
  3380. restrictions
  3381. causality constraint one_out p;
  3382. end;
  3383. icon bg
  3384. figures
  3385. text '1' 752 216 color 0 18 bold;
  3386. end;
  3387. implementation eq
  3388. equations
  3389. sum (direct (p.e)) = 0;
  3390. equal (collect (p.f));
  3391. flow = first (p.f);
  3392. implementation_end;
  3393. phase_control 512 216
  3394. description '<Description><Version>4.0</Version>
  3395. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  3396. <IsMainModel>1</IsMainModel>
  3397. <KeepParameterValues>False</KeepParameterValues>
  3398. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  3399. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  3400. </Description>';
  3401. type Submodel
  3402. ports
  3403. signal in angle;
  3404. signal out a;
  3405. signal out b;
  3406. end;
  3407. icon bg
  3408. figures
  3409. rectangle 472 200 552 232 color 0 fill 15132390;
  3410. text 'name' 512 216 color 0 'Clear Sans' 16;
  3411. end;
  3412. implementation eq
  3413. parameters
  3414. real global u_max {V};
  3415. variables
  3416. real global p;
  3417. boolean hidden eventa, eventb;
  3418. equations
  3419. a = u_max * (cos (p*angle));
  3420. eventa = event(a);
  3421. b = u_max * -(sin (p*angle));
  3422. eventb = event(b);
  3423. implementation_end;
  3424. R 608 104
  3425. description '<Information>
  3426. <Description>
  3427. <Version>4.2</Version>
  3428. <IsMainModel>1</IsMainModel>
  3429. <KeepParameterValues>False</KeepParameterValues>
  3430. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3431. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3432. </Description>
  3433. </Information>';
  3434. type R
  3435. ports
  3436. power in p;
  3437. end;
  3438. icon bg bottom
  3439. figures
  3440. text 'R' 608 104 color 0 18 bold;
  3441. end;
  3442. implementation eq
  3443. parameters
  3444. real global R_phase;
  3445. equations
  3446. p.e = R_phase * p.f;
  3447. implementation_end;
  3448. R1 560 328
  3449. description '<Information>
  3450. <Description>
  3451. <Version>4.2</Version>
  3452. <IsMainModel>1</IsMainModel>
  3453. <KeepParameterValues>False</KeepParameterValues>
  3454. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3455. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3456. </Description>
  3457. </Information>';
  3458. type R
  3459. ports
  3460. power in p;
  3461. end;
  3462. icon bg bottom
  3463. figures
  3464. text 'R' 560 328 color 0 18 bold;
  3465. end;
  3466. implementation eq
  3467. parameters
  3468. real global R_phase;
  3469. equations
  3470. p.e = R_phase * p.f;
  3471. implementation_end;
  3472. R2 824 264
  3473. description '<Information>
  3474. <Description>
  3475. <Version>4.2</Version>
  3476. <IsMainModel>1</IsMainModel>
  3477. <KeepParameterValues>False</KeepParameterValues>
  3478. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3479. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3480. </Description>
  3481. </Information>';
  3482. type R
  3483. ports
  3484. power in p;
  3485. end;
  3486. icon bg bottom
  3487. figures
  3488. text 'R' 824 264 color 0 18 bold;
  3489. end;
  3490. implementation eq
  3491. parameters
  3492. real r = 1.0e-3;
  3493. equations
  3494. p.e = r * p.f;
  3495. implementation_end;
  3496. RotorAngle 656 216
  3497. description '<Description><Version>4.0</Version>
  3498. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  3499. <IsMainModel>1</IsMainModel>
  3500. <KeepParameterValues>False</KeepParameterValues>
  3501. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  3502. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  3503. </Description>';
  3504. type Submodel
  3505. ports
  3506. signal out output_b;
  3507. signal out output_a;
  3508. signal in omega {rad/s} ;
  3509. signal out output_d;
  3510. end;
  3511. icon bg
  3512. figures
  3513. rectangle 616 200 696 232 color 0 fill 15132390;
  3514. text 'name' 656 216 color 0 'Clear Sans' 16;
  3515. end;
  3516. implementation eq
  3517. parameters
  3518. real global fluxLinkage;
  3519. real global detentTorque;
  3520. variables
  3521. real global p;
  3522. real angle {rad};
  3523. equations
  3524. angle = int(omega,-1.57);
  3525. output_a = -p * fluxLinkage * sin(p * angle);
  3526. output_b = p * fluxLinkage * sin(p * angle - pi / 2);
  3527. output_d = detentTorque * sin(2 * p * angle);
  3528. implementation_end;
  3529. Se 752 272
  3530. description '<Information>
  3531. <Description>
  3532. <Version>4.2</Version>
  3533. <IsMainModel>1</IsMainModel>
  3534. <KeepParameterValues>False</KeepParameterValues>
  3535. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3536. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3537. </Description>
  3538. </Information>';
  3539. type MSe
  3540. ports
  3541. power out p;
  3542. signal in effort;
  3543. restrictions
  3544. causality fixed out p;
  3545. end;
  3546. icon bg bottom
  3547. figures
  3548. text 'MSe' 752 272 color 0 18 bold;
  3549. end;
  3550. implementation eq
  3551. variables
  3552. real flow;
  3553. equations
  3554. p.e = effort;
  3555. flow = p.f;
  3556. implementation_end;
  3557. end;
  3558. connections
  3559. angle -> phase_control\angle;
  3560. I2\p <= OneJunction4\p;
  3561. MGY_a\p2 => OneJunction4\p;
  3562. MGY_b\p2 => OneJunction4\p;
  3563. MSe_b\p => OneJunction3\p;
  3564. OneJunction1\p => p;
  3565. OneJunction2\p <= MSe_a\p;
  3566. OneJunction2\p => I\p;
  3567. OneJunction2\p => MGY_a\p1;
  3568. OneJunction2\p => R\p;
  3569. OneJunction3\p => I1\p;
  3570. OneJunction3\p => MGY_b\p1;
  3571. OneJunction3\p => R1\p;
  3572. OneJunction4\flow -> RotorAngle\omega;
  3573. OneJunction4\p => OneJunction1\p;
  3574. OneJunction4\p => R2\p;
  3575. phase_control\a -> MSe_a\effort;
  3576. phase_control\b -> MSe_b\effort;
  3577. RotorAngle\output_a -> MGY_a\r;
  3578. RotorAngle\output_b -> MGY_b\r;
  3579. RotorAngle\output_d -> Se\effort;
  3580. Se\p => OneJunction4\p;
  3581. end;
  3582. implementation_end;
  3583. ZeroJunction1 360 200
  3584. description '<Information>
  3585. <Description>
  3586. <Version>4.2</Version>
  3587. <IsMainModel>1</IsMainModel>
  3588. <KeepParameterValues>False</KeepParameterValues>
  3589. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  3590. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  3591. </Description>
  3592. </Information>';
  3593. knot ZeroJunction
  3594. ports
  3595. rotation knot duplicatable none p [1];
  3596. signal knot out effort [1];
  3597. restrictions
  3598. causality constraint one_in p;
  3599. end;
  3600. icon bg
  3601. figures
  3602. text '0' 360 200 color 0 18 bold;
  3603. end;
  3604. implementation eq
  3605. equations
  3606. sum (direct (p.f)) = 0;
  3607. equal (collect (p.e));
  3608. effort = first (p.e);
  3609. implementation_end;
  3610. end;
  3611. connections
  3612. angle -> stepper_model\angle;
  3613. C\p <= OneJunction8\p;
  3614. C1\p <= OneJunction7\p;
  3615. OneJunction5\p => C4\p;
  3616. OneJunction5\p => PowerMux\input_rot2;
  3617. OneJunction5\p => R4\p;
  3618. OneJunction7\p => PowerMux\input_pos3;
  3619. OneJunction7\p => R5\p;
  3620. OneJunction8\p => R\p;
  3621. PowerMux\input <= ZeroJunction1\p;
  3622. PowerMux\output => output;
  3623. ZeroJunction1\p <= OneJunction8\p;
  3624. ZeroJunction1\p <= stepper_model\p;
  3625. end;
  3626. implementation_end;
  3627. Joint_dynB 456 192
  3628. description '<Description>
  3629. <Version>4.8</Version>
  3630. <IsMainModel>1</IsMainModel>
  3631. </Description>';
  3632. type Submodel
  3633. ports
  3634. power out output [6,1];
  3635. end;
  3636. implementation bg
  3637. submodels
  3638. C1 191.8 216.2
  3639. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3640. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  3641. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  3642. </Description>';
  3643. type 'C-3'
  3644. ports
  3645. power in p [3,1];
  3646. signal out state [3,1];
  3647. restrictions
  3648. causality preferred out p;
  3649. end;
  3650. icon bg top
  3651. figures
  3652. text 'C' 191.8 216.2 color 0 18 bold;
  3653. end;
  3654. implementation eq
  3655. parameters
  3656. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  3657. equations
  3658. state = int(p.f);
  3659. p.e = inverse(c) *state;
  3660. implementation_end;
  3661. C4 191.8 232.2
  3662. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3663. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  3664. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  3665. </Description>';
  3666. type 'C-2'
  3667. ports
  3668. power in p [2,1];
  3669. signal out state [2,1];
  3670. restrictions
  3671. causality preferred out p;
  3672. end;
  3673. icon bg bottom
  3674. figures
  3675. text 'C' 191.8 232.2 color 0 18 bold;
  3676. end;
  3677. implementation eq
  3678. parameters
  3679. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  3680. equations
  3681. state = int(p.f);
  3682. p.e = inverse(c) *state;
  3683. implementation_end;
  3684. plug output 396 216;
  3685. OneJunction5 239.8 232.2
  3686. description '<Information>
  3687. <Description>
  3688. <Version>4.2</Version>
  3689. <IsMainModel>1</IsMainModel>
  3690. <KeepParameterValues>False</KeepParameterValues>
  3691. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3692. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3693. </Description>
  3694. </Information>';
  3695. knot OneJunction
  3696. ports
  3697. power knot duplicatable none p [2,1];
  3698. signal knot out flow [2,1];
  3699. restrictions
  3700. causality constraint one_out p;
  3701. end;
  3702. icon bg
  3703. figures
  3704. text '1' 239.8 232.2 color 0 18 bold;
  3705. end;
  3706. implementation eq
  3707. equations
  3708. sum (direct (p.e)) = 0;
  3709. equal (collect (p.f));
  3710. flow = first (p.f);
  3711. implementation_end;
  3712. OneJunction7 239.8 216.2
  3713. description '<Information>
  3714. <Description>
  3715. <Version>4.2</Version>
  3716. <IsMainModel>1</IsMainModel>
  3717. <KeepParameterValues>False</KeepParameterValues>
  3718. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3719. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3720. </Description>
  3721. </Information>';
  3722. knot OneJunction
  3723. ports
  3724. power knot duplicatable none p [3,1];
  3725. signal knot out flow [3,1];
  3726. restrictions
  3727. causality constraint one_out p;
  3728. end;
  3729. icon bg
  3730. figures
  3731. text '1' 239.8 216.2 color 0 18 bold;
  3732. end;
  3733. implementation eq
  3734. equations
  3735. sum (direct (p.e)) = 0;
  3736. equal (collect (p.f));
  3737. flow = first (p.f);
  3738. implementation_end;
  3739. OneJunction8 288 200
  3740. description '<Information>
  3741. <Description>
  3742. <Version>4.2</Version>
  3743. <IsMainModel>1</IsMainModel>
  3744. <KeepParameterValues>False</KeepParameterValues>
  3745. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3746. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3747. </Description>
  3748. </Information>';
  3749. knot OneJunction
  3750. ports
  3751. power knot duplicatable none p [1];
  3752. signal knot out flow [1];
  3753. restrictions
  3754. causality constraint one_out p;
  3755. end;
  3756. icon bg
  3757. figures
  3758. text '1' 288 200 color 0 18 bold;
  3759. end;
  3760. implementation eq
  3761. equations
  3762. sum (direct (p.e)) = 0;
  3763. equal (collect (p.f));
  3764. flow = first (p.f);
  3765. implementation_end;
  3766. PowerMux 330 216
  3767. specifications active 'rot_x'
  3768. specification 'rot_x'
  3769. description '<Information>
  3770. <Description>
  3771. <Version>4.8</Version>
  3772. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  3773. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  3774. <IsMainModel>1</IsMainModel>
  3775. <KeepParameterValues>False</KeepParameterValues>
  3776. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3777. </Description>
  3778. </Information>';
  3779. type 'PowerMux-Rotation'
  3780. ports
  3781. power in input;
  3782. power out output [6,1];
  3783. power in input_rot2 [2,1];
  3784. power in input_pos3 [3,1];
  3785. restrictions
  3786. causality constraint not_equal input output;
  3787. causality constraint not_equal input_rot2 output;
  3788. causality constraint not_equal input_pos3 output;
  3789. end;
  3790. icon bg bottom
  3791. figures
  3792. line 328 192 328 240 color 0 width 2;
  3793. rectangle 324 192 336 240 color -1;
  3794. text '1' 333 210 color 8421504 8;
  3795. terminals
  3796. input 328 200 fixed;
  3797. output 328 216 fixed;
  3798. input_rot2 328 232 fixed;
  3799. input_pos3 328 216 fixed;
  3800. end;
  3801. implementation eq
  3802. equations
  3803. output.e[1] = input.e;
  3804. output.e[2:3] = input_rot2.e;
  3805. output.e[4:6] = input_pos3.e;
  3806. output.f[1] = input.f;
  3807. output.f[2:3] = input_rot2.f;
  3808. output.f[4:6] = input_pos3.f;implementation_end;
  3809. specification_end;
  3810. specification 'rot_y'
  3811. description '<Description>
  3812. <Version>4.1</Version>
  3813. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  3814. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  3815. <IsMainModel>1</IsMainModel>
  3816. <KeepParameterValues>False</KeepParameterValues>
  3817. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3818. </Description>';
  3819. type PowerMux
  3820. ports
  3821. power in input;
  3822. power out output [6,1];
  3823. power in input_rot2 [2,1];
  3824. power in input_pos3 [3,1];
  3825. restrictions
  3826. causality constraint not_equal input output;
  3827. causality constraint not_equal input_rot2 output;
  3828. causality constraint not_equal input_pos3 output;
  3829. end;
  3830. icon bg bottom
  3831. figures
  3832. line 242 274 290 274 color 0 width 2;
  3833. rectangle 242 266 290 278 color -1;
  3834. text '1' 260 269 color 8421504 8;
  3835. terminals
  3836. input 250 274 fixed;
  3837. output 266 274 fixed;
  3838. input_rot2 282 274 fixed;
  3839. input_pos3 266 274 fixed;
  3840. end;
  3841. implementation eq
  3842. equations
  3843. output.e[1] = input_rot2.e[1];
  3844. output.e[2] = input.e;
  3845. output.e[3] = input_rot2.e[2];
  3846. output.e[4:6] = input_pos3.e;
  3847. output.f[1] = input_rot2.f[1];
  3848. output.f[2] = input.f;
  3849. output.f[3] = input_rot2.f[2];
  3850. output.f[4:6] = input_pos3.f;implementation_end;
  3851. specification_end;
  3852. specification 'rot_z'
  3853. description '<Information>
  3854. <Description>
  3855. <Version>4.8</Version>
  3856. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  3857. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  3858. <IsMainModel>1</IsMainModel>
  3859. <KeepParameterValues>False</KeepParameterValues>
  3860. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3861. </Description>
  3862. </Information>';
  3863. type PowerMux
  3864. ports
  3865. power in input;
  3866. power out output [6,1];
  3867. power in input_rot2 [2,1];
  3868. power in input_pos3 [3,1];
  3869. restrictions
  3870. causality constraint not_equal input output;
  3871. causality constraint not_equal input_rot2 output;
  3872. causality constraint not_equal input_pos3 output;
  3873. end;
  3874. icon bg bottom
  3875. figures
  3876. line 242 274 290 274 color 0 width 2;
  3877. rectangle 242 266 290 278 color -1;
  3878. text '1' 260 269 color 8421504 8;
  3879. terminals
  3880. input 250 274 fixed;
  3881. output 266 274 fixed;
  3882. input_rot2 282 274 fixed;
  3883. input_pos3 266 274 fixed;
  3884. end;
  3885. implementation eq
  3886. equations
  3887. output.e[3] = input.e;
  3888. output.e[1:2] = input_rot2.e;
  3889. output.e[4:6] = input_pos3.e;
  3890. output.f[3] = input.f;
  3891. output.f[1:2] = input_rot2.f;
  3892. output.f[4:6] = input_pos3.f;implementation_end;
  3893. specification_end;
  3894. end;
  3895. R 288 152
  3896. description '<Information>
  3897. <Description>
  3898. <Version>4.2</Version>
  3899. <IsMainModel>1</IsMainModel>
  3900. <KeepParameterValues>False</KeepParameterValues>
  3901. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3902. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3903. </Description>
  3904. </Information>';
  3905. type R
  3906. ports
  3907. power in p;
  3908. end;
  3909. icon bg top
  3910. figures
  3911. text 'R' 288 152 color 0 18 bold;
  3912. end;
  3913. implementation eq
  3914. parameters
  3915. real r = 0.0001;
  3916. equations
  3917. p.e = r * p.f;
  3918. implementation_end;
  3919. R4 239.8 288.2
  3920. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3921. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  3922. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  3923. </Description>';
  3924. type 'R-2'
  3925. ports
  3926. power in p [2,1];
  3927. end;
  3928. icon bg bottom
  3929. figures
  3930. text 'R' 239.8 288.2 color 0 18 bold;
  3931. end;
  3932. implementation eq
  3933. parameters
  3934. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  3935. equations
  3936. p.e = r * p.f;
  3937. implementation_end;
  3938. R5 239.8 168.2
  3939. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3940. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  3941. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  3942. </Description>';
  3943. type 'R-3'
  3944. ports
  3945. power in p [3,1];
  3946. end;
  3947. icon bg top
  3948. figures
  3949. text 'R' 239.8 168.2 color 0 18 bold;
  3950. end;
  3951. implementation eq
  3952. parameters
  3953. 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};
  3954. equations
  3955. p.e = r * p.f;
  3956. implementation_end;
  3957. end;
  3958. connections
  3959. C1\p <= OneJunction7\p;
  3960. OneJunction5\p => C4\p;
  3961. OneJunction5\p => PowerMux\input_rot2;
  3962. OneJunction5\p => R4\p;
  3963. OneJunction7\p => PowerMux\input_pos3;
  3964. OneJunction7\p => R5\p;
  3965. OneJunction8\p => PowerMux\input;
  3966. PowerMux\output => output;
  3967. R\p <= OneJunction8\p;
  3968. end;
  3969. implementation_end;
  3970. Joint_dynC 512 712
  3971. description '<Description>
  3972. <Version>4.8</Version>
  3973. <IsMainModel>1</IsMainModel>
  3974. </Description>';
  3975. type Submodel
  3976. ports
  3977. power out output [6,1];
  3978. signal in angle {rad} ;
  3979. end;
  3980. icon bg
  3981. figures
  3982. rectangle 472 696 552 728 color 0 fill 15132390;
  3983. text 'name' 512 712 color 0 'Clear Sans' 16;
  3984. end;
  3985. implementation bg
  3986. submodels
  3987. C 264 200
  3988. description '<Information>
  3989. <Description>
  3990. <Version>4.2</Version>
  3991. <IsMainModel>1</IsMainModel>
  3992. <KeepParameterValues>False</KeepParameterValues>
  3993. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  3994. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  3995. </Description>
  3996. </Information>';
  3997. type C
  3998. ports
  3999. power in p;
  4000. signal out state;
  4001. restrictions
  4002. causality preferred out p;
  4003. end;
  4004. icon bg bottom
  4005. figures
  4006. text 'C' 264 200 color 0 18 bold;
  4007. end;
  4008. implementation eq
  4009. parameters
  4010. real c = 0.001;
  4011. equations
  4012. state = int(p.f);
  4013. p.e = state / c;
  4014. implementation_end;
  4015. C1 191.8 216.2
  4016. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4017. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  4018. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  4019. </Description>';
  4020. type 'C-3'
  4021. ports
  4022. power in p [3,1];
  4023. signal out state [3,1];
  4024. restrictions
  4025. causality preferred out p;
  4026. end;
  4027. icon bg top
  4028. figures
  4029. text 'C' 191.8 216.2 color 0 18 bold;
  4030. end;
  4031. implementation eq
  4032. parameters
  4033. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  4034. equations
  4035. state = int(p.f);
  4036. p.e = inverse(c) *state;
  4037. implementation_end;
  4038. C4 191.8 232.2
  4039. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4040. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  4041. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  4042. </Description>';
  4043. type 'C-2'
  4044. ports
  4045. power in p [2,1];
  4046. signal out state [2,1];
  4047. restrictions
  4048. causality preferred out p;
  4049. end;
  4050. icon bg bottom
  4051. figures
  4052. text 'C' 191.8 232.2 color 0 18 bold;
  4053. end;
  4054. implementation eq
  4055. parameters
  4056. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  4057. equations
  4058. state = int(p.f);
  4059. p.e = inverse(c) *state;
  4060. implementation_end;
  4061. plug output 468 216;
  4062. plug angle 224 80;
  4063. OneJunction5 239.8 232.2
  4064. description '<Information>
  4065. <Description>
  4066. <Version>4.2</Version>
  4067. <IsMainModel>1</IsMainModel>
  4068. <KeepParameterValues>False</KeepParameterValues>
  4069. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4070. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4071. </Description>
  4072. </Information>';
  4073. knot OneJunction
  4074. ports
  4075. power knot duplicatable none p [2,1];
  4076. signal knot out flow [2,1];
  4077. restrictions
  4078. causality constraint one_out p;
  4079. end;
  4080. icon bg
  4081. figures
  4082. text '1' 239.8 232.2 color 0 18 bold;
  4083. end;
  4084. implementation eq
  4085. equations
  4086. sum (direct (p.e)) = 0;
  4087. equal (collect (p.f));
  4088. flow = first (p.f);
  4089. implementation_end;
  4090. OneJunction7 239.8 216.2
  4091. description '<Information>
  4092. <Description>
  4093. <Version>4.2</Version>
  4094. <IsMainModel>1</IsMainModel>
  4095. <KeepParameterValues>False</KeepParameterValues>
  4096. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4097. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4098. </Description>
  4099. </Information>';
  4100. knot OneJunction
  4101. ports
  4102. power knot duplicatable none p [3,1];
  4103. signal knot out flow [3,1];
  4104. restrictions
  4105. causality constraint one_out p;
  4106. end;
  4107. icon bg
  4108. figures
  4109. text '1' 239.8 216.2 color 0 18 bold;
  4110. end;
  4111. implementation eq
  4112. equations
  4113. sum (direct (p.e)) = 0;
  4114. equal (collect (p.f));
  4115. flow = first (p.f);
  4116. implementation_end;
  4117. OneJunction8 312 200
  4118. description '<Information>
  4119. <Description>
  4120. <Version>4.2</Version>
  4121. <IsMainModel>1</IsMainModel>
  4122. <KeepParameterValues>False</KeepParameterValues>
  4123. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4124. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4125. </Description>
  4126. </Information>';
  4127. knot OneJunction
  4128. ports
  4129. rotation knot duplicatable none p [1];
  4130. signal knot out flow [1];
  4131. restrictions
  4132. causality constraint one_out p;
  4133. end;
  4134. icon bg
  4135. figures
  4136. text '1' 312 200 color 0 18 bold;
  4137. end;
  4138. implementation eq
  4139. equations
  4140. sum (direct (p.e)) = 0;
  4141. equal (collect (p.f));
  4142. flow = first (p.f);
  4143. implementation_end;
  4144. PowerMux 402 216
  4145. specifications active 'rot_x'
  4146. specification 'rot_x'
  4147. description '<Information>
  4148. <Description>
  4149. <Version>4.8</Version>
  4150. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  4151. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  4152. <IsMainModel>1</IsMainModel>
  4153. <KeepParameterValues>False</KeepParameterValues>
  4154. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4155. </Description>
  4156. </Information>';
  4157. type 'PowerMux-Rotation'
  4158. ports
  4159. power in input;
  4160. power out output [6,1];
  4161. power in input_rot2 [2,1];
  4162. power in input_pos3 [3,1];
  4163. restrictions
  4164. causality constraint not_equal input output;
  4165. causality constraint not_equal input_rot2 output;
  4166. causality constraint not_equal input_pos3 output;
  4167. end;
  4168. icon bg bottom
  4169. figures
  4170. line 400 192 400 240 color 0 width 2;
  4171. rectangle 396 192 408 240 color -1;
  4172. text '1' 405 210 color 8421504 8;
  4173. terminals
  4174. input 400 200 fixed;
  4175. output 400 216 fixed;
  4176. input_rot2 400 232 fixed;
  4177. input_pos3 400 216 fixed;
  4178. end;
  4179. implementation eq
  4180. equations
  4181. output.e[1] = input.e;
  4182. output.e[2:3] = input_rot2.e;
  4183. output.e[4:6] = input_pos3.e;
  4184. output.f[1] = input.f;
  4185. output.f[2:3] = input_rot2.f;
  4186. output.f[4:6] = input_pos3.f;implementation_end;
  4187. specification_end;
  4188. specification 'rot_y'
  4189. description '<Description>
  4190. <Version>4.1</Version>
  4191. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  4192. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  4193. <IsMainModel>1</IsMainModel>
  4194. <KeepParameterValues>False</KeepParameterValues>
  4195. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4196. </Description>';
  4197. type PowerMux
  4198. ports
  4199. power in input;
  4200. power out output [6,1];
  4201. power in input_rot2 [2,1];
  4202. power in input_pos3 [3,1];
  4203. restrictions
  4204. causality constraint not_equal input output;
  4205. causality constraint not_equal input_rot2 output;
  4206. causality constraint not_equal input_pos3 output;
  4207. end;
  4208. icon bg bottom
  4209. figures
  4210. line 242 274 290 274 color 0 width 2;
  4211. rectangle 242 266 290 278 color -1;
  4212. text '1' 260 269 color 8421504 8;
  4213. terminals
  4214. input 250 274 fixed;
  4215. output 266 274 fixed;
  4216. input_rot2 282 274 fixed;
  4217. input_pos3 266 274 fixed;
  4218. end;
  4219. implementation eq
  4220. equations
  4221. output.e[1] = input_rot2.e[1];
  4222. output.e[2] = input.e;
  4223. output.e[3] = input_rot2.e[2];
  4224. output.e[4:6] = input_pos3.e;
  4225. output.f[1] = input_rot2.f[1];
  4226. output.f[2] = input.f;
  4227. output.f[3] = input_rot2.f[2];
  4228. output.f[4:6] = input_pos3.f;implementation_end;
  4229. specification_end;
  4230. specification 'rot_z'
  4231. description '<Information>
  4232. <Description>
  4233. <Version>4.8</Version>
  4234. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  4235. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  4236. <IsMainModel>1</IsMainModel>
  4237. <KeepParameterValues>False</KeepParameterValues>
  4238. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4239. </Description>
  4240. </Information>';
  4241. type PowerMux
  4242. ports
  4243. power in input;
  4244. power out output [6,1];
  4245. power in input_rot2 [2,1];
  4246. power in input_pos3 [3,1];
  4247. restrictions
  4248. causality constraint not_equal input output;
  4249. causality constraint not_equal input_rot2 output;
  4250. causality constraint not_equal input_pos3 output;
  4251. end;
  4252. icon bg bottom
  4253. figures
  4254. line 242 274 290 274 color 0 width 2;
  4255. rectangle 242 266 290 278 color -1;
  4256. text '1' 260 269 color 8421504 8;
  4257. terminals
  4258. input 250 274 fixed;
  4259. output 266 274 fixed;
  4260. input_rot2 282 274 fixed;
  4261. input_pos3 266 274 fixed;
  4262. end;
  4263. implementation eq
  4264. equations
  4265. output.e[3] = input.e;
  4266. output.e[1:2] = input_rot2.e;
  4267. output.e[4:6] = input_pos3.e;
  4268. output.f[3] = input.f;
  4269. output.f[1:2] = input_rot2.f;
  4270. output.f[4:6] = input_pos3.f;implementation_end;
  4271. specification_end;
  4272. end;
  4273. R 312 152
  4274. description '<Information>
  4275. <Description>
  4276. <Version>4.2</Version>
  4277. <IsMainModel>1</IsMainModel>
  4278. <KeepParameterValues>False</KeepParameterValues>
  4279. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4280. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4281. </Description>
  4282. </Information>';
  4283. type R
  4284. ports
  4285. power in p;
  4286. end;
  4287. icon bg bottom
  4288. figures
  4289. text 'R' 312 152 color 0 18 bold;
  4290. end;
  4291. implementation eq
  4292. parameters
  4293. real r = 100;
  4294. equations
  4295. p.e = r * p.f;
  4296. implementation_end;
  4297. R4 239.8 288.2
  4298. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4299. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  4300. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  4301. </Description>';
  4302. type 'R-2'
  4303. ports
  4304. power in p [2,1];
  4305. end;
  4306. icon bg bottom
  4307. figures
  4308. text 'R' 239.8 288.2 color 0 18 bold;
  4309. end;
  4310. implementation eq
  4311. parameters
  4312. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  4313. equations
  4314. p.e = r * p.f;
  4315. implementation_end;
  4316. R5 239.8 168.2
  4317. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4318. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  4319. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  4320. </Description>';
  4321. type 'R-3'
  4322. ports
  4323. power in p [3,1];
  4324. end;
  4325. icon bg top
  4326. figures
  4327. text 'R' 239.8 168.2 color 0 18 bold;
  4328. end;
  4329. implementation eq
  4330. parameters
  4331. 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};
  4332. equations
  4333. p.e = r * p.f;
  4334. implementation_end;
  4335. stepper_model 360 80
  4336. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Motor\stepper_model.emx</LibraryPath><TimeStamp>2020-7-23 10:54:47</TimeStamp></Description><Attributes><GlobalRelations>parameters
  4337. real I_phase = 3.4 {mH};
  4338. real R_phase = 2.9 {ohm};
  4339. real u_max = 3.4 {V};
  4340. real RotorInertia = 5.6e-6 {kg.m2};
  4341. real StepperMass = 0.29 {kg};
  4342. real angle_step = 1.8 {deg};
  4343. real n_phase = 2 {none};
  4344. real fluxLinkage = 0.0022 {Wb};
  4345. real detentTorque = 0.01 {N.m};
  4346. variables
  4347. real omega;
  4348. real p; // rotor division
  4349. initialequations
  4350. p = 2 * pi / (2 * n_phase * angle_step);
  4351. omega = 200;</GlobalRelations></Attributes></Information>';
  4352. type Submodel
  4353. ports
  4354. signal in angle;
  4355. rotation out p;
  4356. end;
  4357. implementation bg
  4358. submodels
  4359. I 560 104
  4360. description '<Information>
  4361. <Description>
  4362. <Version>4.2</Version>
  4363. <IsMainModel>1</IsMainModel>
  4364. <KeepParameterValues>False</KeepParameterValues>
  4365. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  4366. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  4367. </Description>
  4368. </Information>';
  4369. type I
  4370. ports
  4371. power in p;
  4372. signal out state;
  4373. restrictions
  4374. causality preferred in p;
  4375. end;
  4376. icon bg bottom
  4377. figures
  4378. text 'I' 560 104 color 0 18 bold;
  4379. end;
  4380. implementation eq
  4381. parameters
  4382. real global I_phase;
  4383. equations
  4384. state = int(p.e);
  4385. p.f = state / I_phase;
  4386. implementation_end;
  4387. I1 608 328
  4388. description '<Information>
  4389. <Description>
  4390. <Version>4.2</Version>
  4391. <IsMainModel>1</IsMainModel>
  4392. <KeepParameterValues>False</KeepParameterValues>
  4393. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  4394. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  4395. </Description>
  4396. </Information>';
  4397. type I
  4398. ports
  4399. power in p;
  4400. signal out state;
  4401. restrictions
  4402. causality preferred in p;
  4403. end;
  4404. icon bg bottom
  4405. figures
  4406. text 'I' 608 328 color 0 18 bold;
  4407. end;
  4408. implementation eq
  4409. parameters
  4410. real global I_phase;
  4411. equations
  4412. state = int(p.e);
  4413. p.f = state / I_phase;
  4414. implementation_end;
  4415. I2 752 160
  4416. description '<Information>
  4417. <Description>
  4418. <Version>4.2</Version>
  4419. <IsMainModel>1</IsMainModel>
  4420. <KeepParameterValues>False</KeepParameterValues>
  4421. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  4422. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  4423. </Description>
  4424. </Information>';
  4425. type I
  4426. ports
  4427. power in p;
  4428. signal out state;
  4429. restrictions
  4430. causality preferred in p;
  4431. end;
  4432. icon bg bottom
  4433. figures
  4434. text 'I' 752 160 color 0 18 bold;
  4435. end;
  4436. implementation eq
  4437. parameters
  4438. real global RotorInertia;
  4439. equations
  4440. state = int(p.e);
  4441. p.f = state / (RotorInertia);
  4442. implementation_end;
  4443. MGY_a 656 160
  4444. description '<Information>
  4445. <Description>
  4446. <Version>4.2</Version>
  4447. <IsMainModel>1</IsMainModel>
  4448. <KeepParameterValues>False</KeepParameterValues>
  4449. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  4450. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  4451. </Description>
  4452. </Information>';
  4453. type MGY
  4454. ports
  4455. power in p1;
  4456. power out p2;
  4457. signal in r;
  4458. restrictions
  4459. causality constraint equal p1 p2;
  4460. end;
  4461. icon bg bottom
  4462. figures
  4463. text 'MGY' 656 160 color 0 18 bold;
  4464. end;
  4465. implementation eq
  4466. equations
  4467. p1.e = r * p2.f;
  4468. p2.e = r * p1.f;
  4469. implementation_end;
  4470. MGY_b 656 272
  4471. description '<Information>
  4472. <Description>
  4473. <Version>4.2</Version>
  4474. <IsMainModel>1</IsMainModel>
  4475. <KeepParameterValues>False</KeepParameterValues>
  4476. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  4477. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  4478. </Description>
  4479. </Information>';
  4480. type MGY
  4481. ports
  4482. power in p1;
  4483. power out p2;
  4484. signal in r;
  4485. restrictions
  4486. causality constraint equal p1 p2;
  4487. end;
  4488. icon bg bottom
  4489. figures
  4490. text 'MGY' 656 272 color 0 18 bold;
  4491. end;
  4492. implementation eq
  4493. equations
  4494. p1.e = r * p2.f;
  4495. p2.e = r * p1.f;
  4496. implementation_end;
  4497. MSe_a 512 160
  4498. description '<Information>
  4499. <Description>
  4500. <Version>4.2</Version>
  4501. <IsMainModel>1</IsMainModel>
  4502. <KeepParameterValues>False</KeepParameterValues>
  4503. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  4504. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  4505. </Description>
  4506. </Information>';
  4507. type MSe
  4508. ports
  4509. electric out p;
  4510. signal in effort;
  4511. restrictions
  4512. causality fixed out p;
  4513. end;
  4514. icon bg bottom
  4515. figures
  4516. text 'MSe' 512 160 color 0 18 bold;
  4517. end;
  4518. implementation eq
  4519. variables
  4520. real flow;
  4521. equations
  4522. p.e = effort;
  4523. flow = p.f;
  4524. implementation_end;
  4525. MSe_b 512 272
  4526. description '<Information>
  4527. <Description>
  4528. <Version>4.2</Version>
  4529. <IsMainModel>1</IsMainModel>
  4530. <KeepParameterValues>False</KeepParameterValues>
  4531. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  4532. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  4533. </Description>
  4534. </Information>';
  4535. type MSe
  4536. ports
  4537. electric out p;
  4538. signal in effort;
  4539. restrictions
  4540. causality fixed out p;
  4541. end;
  4542. icon bg bottom
  4543. figures
  4544. text 'MSe' 512 272 color 0 18 bold;
  4545. end;
  4546. implementation eq
  4547. variables
  4548. real flow;
  4549. equations
  4550. p.e = effort;
  4551. flow = p.f;
  4552. implementation_end;
  4553. plug angle 200 216;
  4554. plug p 1472 216;
  4555. OneJunction1 840 216
  4556. description '<Information>
  4557. <Description>
  4558. <Version>4.2</Version>
  4559. <IsMainModel>1</IsMainModel>
  4560. <KeepParameterValues>False</KeepParameterValues>
  4561. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4562. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4563. </Description>
  4564. </Information>';
  4565. knot OneJunction
  4566. ports
  4567. rotation knot duplicatable none p [1];
  4568. signal knot out flow [1];
  4569. restrictions
  4570. causality constraint one_out p;
  4571. end;
  4572. icon bg
  4573. figures
  4574. text '1' 840 216 color 0 18 bold;
  4575. end;
  4576. implementation eq
  4577. equations
  4578. sum (direct (p.e)) = 0;
  4579. equal (collect (p.f));
  4580. flow = first (p.f);
  4581. implementation_end;
  4582. OneJunction2 584 160
  4583. description '<Information>
  4584. <Description>
  4585. <Version>4.2</Version>
  4586. <IsMainModel>1</IsMainModel>
  4587. <KeepParameterValues>False</KeepParameterValues>
  4588. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4589. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4590. </Description>
  4591. </Information>';
  4592. knot OneJunction
  4593. ports
  4594. electric knot duplicatable none p [1];
  4595. signal knot out flow [1];
  4596. restrictions
  4597. causality constraint one_out p;
  4598. end;
  4599. icon bg
  4600. figures
  4601. text '1' 584 160 color 0 18 bold;
  4602. end;
  4603. implementation eq
  4604. equations
  4605. sum (direct (p.e)) = 0;
  4606. equal (collect (p.f));
  4607. flow = first (p.f);
  4608. implementation_end;
  4609. OneJunction3 584 272
  4610. description '<Information>
  4611. <Description>
  4612. <Version>4.2</Version>
  4613. <IsMainModel>1</IsMainModel>
  4614. <KeepParameterValues>False</KeepParameterValues>
  4615. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4616. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4617. </Description>
  4618. </Information>';
  4619. knot OneJunction
  4620. ports
  4621. electric knot duplicatable none p [1];
  4622. signal knot out flow [1];
  4623. restrictions
  4624. causality constraint one_out p;
  4625. end;
  4626. icon bg
  4627. figures
  4628. text '1' 584 272 color 0 18 bold;
  4629. end;
  4630. implementation eq
  4631. equations
  4632. sum (direct (p.e)) = 0;
  4633. equal (collect (p.f));
  4634. flow = first (p.f);
  4635. implementation_end;
  4636. OneJunction4 752 216
  4637. description '<Information>
  4638. <Description>
  4639. <Version>4.2</Version>
  4640. <IsMainModel>1</IsMainModel>
  4641. <KeepParameterValues>False</KeepParameterValues>
  4642. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4643. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4644. </Description>
  4645. </Information>';
  4646. knot OneJunction
  4647. ports
  4648. rotation knot duplicatable none p [1];
  4649. signal knot out flow [1];
  4650. restrictions
  4651. causality constraint one_out p;
  4652. end;
  4653. icon bg
  4654. figures
  4655. text '1' 752 216 color 0 18 bold;
  4656. end;
  4657. implementation eq
  4658. equations
  4659. sum (direct (p.e)) = 0;
  4660. equal (collect (p.f));
  4661. flow = first (p.f);
  4662. implementation_end;
  4663. phase_control 512 216
  4664. description '<Description><Version>4.0</Version>
  4665. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  4666. <IsMainModel>1</IsMainModel>
  4667. <KeepParameterValues>False</KeepParameterValues>
  4668. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  4669. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  4670. </Description>';
  4671. type Submodel
  4672. ports
  4673. signal in angle;
  4674. signal out a;
  4675. signal out b;
  4676. end;
  4677. icon bg
  4678. figures
  4679. rectangle 472 200 552 232 color 0 fill 15132390;
  4680. text 'name' 512 216 color 0 'Clear Sans' 16;
  4681. end;
  4682. implementation eq
  4683. parameters
  4684. real global u_max {V};
  4685. variables
  4686. real global p;
  4687. boolean hidden eventa, eventb;
  4688. equations
  4689. a = u_max * (cos (p*angle));
  4690. eventa = event(a);
  4691. b = u_max * -(sin (p*angle));
  4692. eventb = event(b);
  4693. implementation_end;
  4694. R 608 104
  4695. description '<Information>
  4696. <Description>
  4697. <Version>4.2</Version>
  4698. <IsMainModel>1</IsMainModel>
  4699. <KeepParameterValues>False</KeepParameterValues>
  4700. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4701. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4702. </Description>
  4703. </Information>';
  4704. type R
  4705. ports
  4706. power in p;
  4707. end;
  4708. icon bg bottom
  4709. figures
  4710. text 'R' 608 104 color 0 18 bold;
  4711. end;
  4712. implementation eq
  4713. parameters
  4714. real global R_phase;
  4715. equations
  4716. p.e = R_phase * p.f;
  4717. implementation_end;
  4718. R1 560 328
  4719. description '<Information>
  4720. <Description>
  4721. <Version>4.2</Version>
  4722. <IsMainModel>1</IsMainModel>
  4723. <KeepParameterValues>False</KeepParameterValues>
  4724. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4725. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4726. </Description>
  4727. </Information>';
  4728. type R
  4729. ports
  4730. power in p;
  4731. end;
  4732. icon bg bottom
  4733. figures
  4734. text 'R' 560 328 color 0 18 bold;
  4735. end;
  4736. implementation eq
  4737. parameters
  4738. real global R_phase;
  4739. equations
  4740. p.e = R_phase * p.f;
  4741. implementation_end;
  4742. R2 824 264
  4743. description '<Information>
  4744. <Description>
  4745. <Version>4.2</Version>
  4746. <IsMainModel>1</IsMainModel>
  4747. <KeepParameterValues>False</KeepParameterValues>
  4748. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4749. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4750. </Description>
  4751. </Information>';
  4752. type R
  4753. ports
  4754. power in p;
  4755. end;
  4756. icon bg bottom
  4757. figures
  4758. text 'R' 824 264 color 0 18 bold;
  4759. end;
  4760. implementation eq
  4761. parameters
  4762. real r = 1.0e-3;
  4763. equations
  4764. p.e = r * p.f;
  4765. implementation_end;
  4766. RotorAngle 656 216
  4767. description '<Description><Version>4.0</Version>
  4768. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  4769. <IsMainModel>1</IsMainModel>
  4770. <KeepParameterValues>False</KeepParameterValues>
  4771. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  4772. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  4773. </Description>';
  4774. type Submodel
  4775. ports
  4776. signal out output_b;
  4777. signal out output_a;
  4778. signal in omega {rad/s} ;
  4779. signal out output_d;
  4780. end;
  4781. icon bg
  4782. figures
  4783. rectangle 616 200 696 232 color 0 fill 15132390;
  4784. text 'name' 656 216 color 0 'Clear Sans' 16;
  4785. end;
  4786. implementation eq
  4787. parameters
  4788. real global fluxLinkage;
  4789. real global detentTorque;
  4790. variables
  4791. real global p;
  4792. real angle {rad};
  4793. equations
  4794. angle = int(omega);
  4795. output_a = -p * fluxLinkage * sin(p * angle);
  4796. output_b = p * fluxLinkage * sin(p * angle - pi / 2);
  4797. output_d = detentTorque * sin(2 * p * angle);
  4798. implementation_end;
  4799. Se 752 272
  4800. description '<Information>
  4801. <Description>
  4802. <Version>4.2</Version>
  4803. <IsMainModel>1</IsMainModel>
  4804. <KeepParameterValues>False</KeepParameterValues>
  4805. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  4806. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  4807. </Description>
  4808. </Information>';
  4809. type MSe
  4810. ports
  4811. power out p;
  4812. signal in effort;
  4813. restrictions
  4814. causality fixed out p;
  4815. end;
  4816. icon bg bottom
  4817. figures
  4818. text 'MSe' 752 272 color 0 18 bold;
  4819. end;
  4820. implementation eq
  4821. variables
  4822. real flow;
  4823. equations
  4824. p.e = effort;
  4825. flow = p.f;
  4826. implementation_end;
  4827. end;
  4828. connections
  4829. angle -> phase_control\angle;
  4830. I2\p <= OneJunction4\p;
  4831. MGY_a\p2 => OneJunction4\p;
  4832. MGY_b\p2 => OneJunction4\p;
  4833. MSe_b\p => OneJunction3\p;
  4834. OneJunction1\p => p;
  4835. OneJunction2\p <= MSe_a\p;
  4836. OneJunction2\p => I\p;
  4837. OneJunction2\p => MGY_a\p1;
  4838. OneJunction2\p => R\p;
  4839. OneJunction3\p => I1\p;
  4840. OneJunction3\p => MGY_b\p1;
  4841. OneJunction3\p => R1\p;
  4842. OneJunction4\flow -> RotorAngle\omega;
  4843. OneJunction4\p => OneJunction1\p;
  4844. OneJunction4\p => R2\p;
  4845. phase_control\a -> MSe_a\effort;
  4846. phase_control\b -> MSe_b\effort;
  4847. RotorAngle\output_a -> MGY_a\r;
  4848. RotorAngle\output_b -> MGY_b\r;
  4849. RotorAngle\output_d -> Se\effort;
  4850. Se\p => OneJunction4\p;
  4851. end;
  4852. implementation_end;
  4853. ZeroJunction1 360 200
  4854. description '<Information>
  4855. <Description>
  4856. <Version>4.2</Version>
  4857. <IsMainModel>1</IsMainModel>
  4858. <KeepParameterValues>False</KeepParameterValues>
  4859. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  4860. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  4861. </Description>
  4862. </Information>';
  4863. knot ZeroJunction
  4864. ports
  4865. rotation knot duplicatable none p [1];
  4866. signal knot out effort [1];
  4867. restrictions
  4868. causality constraint one_in p;
  4869. end;
  4870. icon bg
  4871. figures
  4872. text '0' 360 200 color 0 18 bold;
  4873. end;
  4874. implementation eq
  4875. equations
  4876. sum (direct (p.f)) = 0;
  4877. equal (collect (p.e));
  4878. effort = first (p.e);
  4879. implementation_end;
  4880. end;
  4881. connections
  4882. angle -> stepper_model\angle;
  4883. C\p <= OneJunction8\p;
  4884. C1\p <= OneJunction7\p;
  4885. OneJunction5\p => C4\p;
  4886. OneJunction5\p => PowerMux\input_rot2;
  4887. OneJunction5\p => R4\p;
  4888. OneJunction7\p => PowerMux\input_pos3;
  4889. OneJunction7\p => R5\p;
  4890. OneJunction8\p => R\p;
  4891. PowerMux\output => output;
  4892. stepper_model\p => ZeroJunction1\p;
  4893. ZeroJunction1\p => OneJunction8\p;
  4894. ZeroJunction1\p => PowerMux\input;
  4895. end;
  4896. implementation_end;
  4897. Joint_dynD 88 488
  4898. description '<Description>
  4899. <Version>4.8</Version>
  4900. <IsMainModel>1</IsMainModel>
  4901. </Description>';
  4902. type Submodel
  4903. ports
  4904. power out output [6,1];
  4905. end;
  4906. implementation bg
  4907. submodels
  4908. C1 191.8 216.2
  4909. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4910. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  4911. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  4912. </Description>';
  4913. type 'C-3'
  4914. ports
  4915. power in p [3,1];
  4916. signal out state [3,1];
  4917. restrictions
  4918. causality preferred out p;
  4919. end;
  4920. icon bg top
  4921. figures
  4922. text 'C' 191.8 216.2 color 0 18 bold;
  4923. end;
  4924. implementation eq
  4925. parameters
  4926. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  4927. equations
  4928. state = int(p.f);
  4929. p.e = inverse(c) *state;
  4930. implementation_end;
  4931. C4 191.8 232.2
  4932. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4933. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  4934. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  4935. </Description>';
  4936. type 'C-2'
  4937. ports
  4938. power in p [2,1];
  4939. signal out state [2,1];
  4940. restrictions
  4941. causality preferred out p;
  4942. end;
  4943. icon bg bottom
  4944. figures
  4945. text 'C' 191.8 232.2 color 0 18 bold;
  4946. end;
  4947. implementation eq
  4948. parameters
  4949. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  4950. equations
  4951. state = int(p.f);
  4952. p.e = inverse(c) *state;
  4953. implementation_end;
  4954. plug output 396 216;
  4955. OneJunction5 239.8 232.2
  4956. description '<Information>
  4957. <Description>
  4958. <Version>4.2</Version>
  4959. <IsMainModel>1</IsMainModel>
  4960. <KeepParameterValues>False</KeepParameterValues>
  4961. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4962. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4963. </Description>
  4964. </Information>';
  4965. knot OneJunction
  4966. ports
  4967. power knot duplicatable none p [2,1];
  4968. signal knot out flow [2,1];
  4969. restrictions
  4970. causality constraint one_out p;
  4971. end;
  4972. icon bg
  4973. figures
  4974. text '1' 239.8 232.2 color 0 18 bold;
  4975. end;
  4976. implementation eq
  4977. equations
  4978. sum (direct (p.e)) = 0;
  4979. equal (collect (p.f));
  4980. flow = first (p.f);
  4981. implementation_end;
  4982. OneJunction7 239.8 216.2
  4983. description '<Information>
  4984. <Description>
  4985. <Version>4.2</Version>
  4986. <IsMainModel>1</IsMainModel>
  4987. <KeepParameterValues>False</KeepParameterValues>
  4988. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4989. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4990. </Description>
  4991. </Information>';
  4992. knot OneJunction
  4993. ports
  4994. power knot duplicatable none p [3,1];
  4995. signal knot out flow [3,1];
  4996. restrictions
  4997. causality constraint one_out p;
  4998. end;
  4999. icon bg
  5000. figures
  5001. text '1' 239.8 216.2 color 0 18 bold;
  5002. end;
  5003. implementation eq
  5004. equations
  5005. sum (direct (p.e)) = 0;
  5006. equal (collect (p.f));
  5007. flow = first (p.f);
  5008. implementation_end;
  5009. OneJunction8 288 200
  5010. description '<Information>
  5011. <Description>
  5012. <Version>4.2</Version>
  5013. <IsMainModel>1</IsMainModel>
  5014. <KeepParameterValues>False</KeepParameterValues>
  5015. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5016. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5017. </Description>
  5018. </Information>';
  5019. knot OneJunction
  5020. ports
  5021. power knot duplicatable none p [1];
  5022. signal knot out flow [1];
  5023. restrictions
  5024. causality constraint one_out p;
  5025. end;
  5026. icon bg
  5027. figures
  5028. text '1' 288 200 color 0 18 bold;
  5029. end;
  5030. implementation eq
  5031. equations
  5032. sum (direct (p.e)) = 0;
  5033. equal (collect (p.f));
  5034. flow = first (p.f);
  5035. implementation_end;
  5036. PowerMux 330 216
  5037. specifications active 'rot_x'
  5038. specification 'rot_x'
  5039. description '<Information>
  5040. <Description>
  5041. <Version>4.8</Version>
  5042. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5043. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  5044. <IsMainModel>1</IsMainModel>
  5045. <KeepParameterValues>False</KeepParameterValues>
  5046. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5047. </Description>
  5048. </Information>';
  5049. type 'PowerMux-Rotation'
  5050. ports
  5051. power in input;
  5052. power out output [6,1];
  5053. power in input_rot2 [2,1];
  5054. power in input_pos3 [3,1];
  5055. restrictions
  5056. causality constraint not_equal input output;
  5057. causality constraint not_equal input_rot2 output;
  5058. causality constraint not_equal input_pos3 output;
  5059. end;
  5060. icon bg bottom
  5061. figures
  5062. line 328 192 328 240 color 0 width 2;
  5063. rectangle 324 192 336 240 color -1;
  5064. text '1' 333 210 color 8421504 8;
  5065. terminals
  5066. input 328 200 fixed;
  5067. output 328 216 fixed;
  5068. input_rot2 328 232 fixed;
  5069. input_pos3 328 216 fixed;
  5070. end;
  5071. implementation eq
  5072. equations
  5073. output.e[1] = input.e;
  5074. output.e[2:3] = input_rot2.e;
  5075. output.e[4:6] = input_pos3.e;
  5076. output.f[1] = input.f;
  5077. output.f[2:3] = input_rot2.f;
  5078. output.f[4:6] = input_pos3.f;implementation_end;
  5079. specification_end;
  5080. specification 'rot_y'
  5081. description '<Description>
  5082. <Version>4.1</Version>
  5083. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  5084. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  5085. <IsMainModel>1</IsMainModel>
  5086. <KeepParameterValues>False</KeepParameterValues>
  5087. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5088. </Description>';
  5089. type PowerMux
  5090. ports
  5091. power in input;
  5092. power out output [6,1];
  5093. power in input_rot2 [2,1];
  5094. power in input_pos3 [3,1];
  5095. restrictions
  5096. causality constraint not_equal input output;
  5097. causality constraint not_equal input_rot2 output;
  5098. causality constraint not_equal input_pos3 output;
  5099. end;
  5100. icon bg bottom
  5101. figures
  5102. line 242 274 290 274 color 0 width 2;
  5103. rectangle 242 266 290 278 color -1;
  5104. text '1' 260 269 color 8421504 8;
  5105. terminals
  5106. input 250 274 fixed;
  5107. output 266 274 fixed;
  5108. input_rot2 282 274 fixed;
  5109. input_pos3 266 274 fixed;
  5110. end;
  5111. implementation eq
  5112. equations
  5113. output.e[1] = input_rot2.e[1];
  5114. output.e[2] = input.e;
  5115. output.e[3] = input_rot2.e[2];
  5116. output.e[4:6] = input_pos3.e;
  5117. output.f[1] = input_rot2.f[1];
  5118. output.f[2] = input.f;
  5119. output.f[3] = input_rot2.f[2];
  5120. output.f[4:6] = input_pos3.f;implementation_end;
  5121. specification_end;
  5122. specification 'rot_z'
  5123. description '<Information>
  5124. <Description>
  5125. <Version>4.8</Version>
  5126. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5127. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  5128. <IsMainModel>1</IsMainModel>
  5129. <KeepParameterValues>False</KeepParameterValues>
  5130. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5131. </Description>
  5132. </Information>';
  5133. type PowerMux
  5134. ports
  5135. power in input;
  5136. power out output [6,1];
  5137. power in input_rot2 [2,1];
  5138. power in input_pos3 [3,1];
  5139. restrictions
  5140. causality constraint not_equal input output;
  5141. causality constraint not_equal input_rot2 output;
  5142. causality constraint not_equal input_pos3 output;
  5143. end;
  5144. icon bg bottom
  5145. figures
  5146. line 242 274 290 274 color 0 width 2;
  5147. rectangle 242 266 290 278 color -1;
  5148. text '1' 260 269 color 8421504 8;
  5149. terminals
  5150. input 250 274 fixed;
  5151. output 266 274 fixed;
  5152. input_rot2 282 274 fixed;
  5153. input_pos3 266 274 fixed;
  5154. end;
  5155. implementation eq
  5156. equations
  5157. output.e[3] = input.e;
  5158. output.e[1:2] = input_rot2.e;
  5159. output.e[4:6] = input_pos3.e;
  5160. output.f[3] = input.f;
  5161. output.f[1:2] = input_rot2.f;
  5162. output.f[4:6] = input_pos3.f;implementation_end;
  5163. specification_end;
  5164. end;
  5165. R 288 152
  5166. description '<Information>
  5167. <Description>
  5168. <Version>4.2</Version>
  5169. <IsMainModel>1</IsMainModel>
  5170. <KeepParameterValues>False</KeepParameterValues>
  5171. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  5172. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  5173. </Description>
  5174. </Information>';
  5175. type R
  5176. ports
  5177. power in p;
  5178. end;
  5179. icon bg top
  5180. figures
  5181. text 'R' 288 152 color 0 18 bold;
  5182. end;
  5183. implementation eq
  5184. parameters
  5185. real r = 0.0001;
  5186. equations
  5187. p.e = r * p.f;
  5188. implementation_end;
  5189. R4 239.8 288.2
  5190. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5191. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  5192. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  5193. </Description>';
  5194. type 'R-2'
  5195. ports
  5196. power in p [2,1];
  5197. end;
  5198. icon bg bottom
  5199. figures
  5200. text 'R' 239.8 288.2 color 0 18 bold;
  5201. end;
  5202. implementation eq
  5203. parameters
  5204. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  5205. equations
  5206. p.e = r * p.f;
  5207. implementation_end;
  5208. R5 239.8 168.2
  5209. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5210. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  5211. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  5212. </Description>';
  5213. type 'R-3'
  5214. ports
  5215. power in p [3,1];
  5216. end;
  5217. icon bg top
  5218. figures
  5219. text 'R' 239.8 168.2 color 0 18 bold;
  5220. end;
  5221. implementation eq
  5222. parameters
  5223. 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};
  5224. equations
  5225. p.e = r * p.f;
  5226. implementation_end;
  5227. end;
  5228. connections
  5229. C1\p <= OneJunction7\p;
  5230. OneJunction5\p => C4\p;
  5231. OneJunction5\p => PowerMux\input_rot2;
  5232. OneJunction5\p => R4\p;
  5233. OneJunction7\p => PowerMux\input_pos3;
  5234. OneJunction7\p => R5\p;
  5235. OneJunction8\p => PowerMux\input;
  5236. PowerMux\output => output;
  5237. R\p <= OneJunction8\p;
  5238. end;
  5239. implementation_end;
  5240. Joint_dynE 88 168
  5241. description '<Description>
  5242. <Version>4.8</Version>
  5243. <IsMainModel>1</IsMainModel>
  5244. </Description>';
  5245. type Submodel
  5246. ports
  5247. power out output [6,1];
  5248. end;
  5249. implementation bg
  5250. submodels
  5251. C1 191.8 216.2
  5252. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5253. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  5254. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  5255. </Description>';
  5256. type 'C-3'
  5257. ports
  5258. power in p [3,1];
  5259. signal out state [3,1];
  5260. restrictions
  5261. causality preferred out p;
  5262. end;
  5263. icon bg top
  5264. figures
  5265. text 'C' 191.8 216.2 color 0 18 bold;
  5266. end;
  5267. implementation eq
  5268. parameters
  5269. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  5270. equations
  5271. state = int(p.f);
  5272. p.e = inverse(c) *state;
  5273. implementation_end;
  5274. C4 191.8 232.2
  5275. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5276. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  5277. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  5278. </Description>';
  5279. type 'C-2'
  5280. ports
  5281. power in p [2,1];
  5282. signal out state [2,1];
  5283. restrictions
  5284. causality preferred out p;
  5285. end;
  5286. icon bg bottom
  5287. figures
  5288. text 'C' 191.8 232.2 color 0 18 bold;
  5289. end;
  5290. implementation eq
  5291. parameters
  5292. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  5293. equations
  5294. state = int(p.f);
  5295. p.e = inverse(c) *state;
  5296. implementation_end;
  5297. plug output 396 216;
  5298. OneJunction5 239.8 232.2
  5299. description '<Information>
  5300. <Description>
  5301. <Version>4.2</Version>
  5302. <IsMainModel>1</IsMainModel>
  5303. <KeepParameterValues>False</KeepParameterValues>
  5304. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5305. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5306. </Description>
  5307. </Information>';
  5308. knot OneJunction
  5309. ports
  5310. power knot duplicatable none p [2,1];
  5311. signal knot out flow [2,1];
  5312. restrictions
  5313. causality constraint one_out p;
  5314. end;
  5315. icon bg
  5316. figures
  5317. text '1' 239.8 232.2 color 0 18 bold;
  5318. end;
  5319. implementation eq
  5320. equations
  5321. sum (direct (p.e)) = 0;
  5322. equal (collect (p.f));
  5323. flow = first (p.f);
  5324. implementation_end;
  5325. OneJunction7 239.8 216.2
  5326. description '<Information>
  5327. <Description>
  5328. <Version>4.2</Version>
  5329. <IsMainModel>1</IsMainModel>
  5330. <KeepParameterValues>False</KeepParameterValues>
  5331. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5332. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5333. </Description>
  5334. </Information>';
  5335. knot OneJunction
  5336. ports
  5337. power knot duplicatable none p [3,1];
  5338. signal knot out flow [3,1];
  5339. restrictions
  5340. causality constraint one_out p;
  5341. end;
  5342. icon bg
  5343. figures
  5344. text '1' 239.8 216.2 color 0 18 bold;
  5345. end;
  5346. implementation eq
  5347. equations
  5348. sum (direct (p.e)) = 0;
  5349. equal (collect (p.f));
  5350. flow = first (p.f);
  5351. implementation_end;
  5352. OneJunction8 288 200
  5353. description '<Information>
  5354. <Description>
  5355. <Version>4.2</Version>
  5356. <IsMainModel>1</IsMainModel>
  5357. <KeepParameterValues>False</KeepParameterValues>
  5358. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5359. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5360. </Description>
  5361. </Information>';
  5362. knot OneJunction
  5363. ports
  5364. power knot duplicatable none p [1];
  5365. signal knot out flow [1];
  5366. restrictions
  5367. causality constraint one_out p;
  5368. end;
  5369. icon bg
  5370. figures
  5371. text '1' 288 200 color 0 18 bold;
  5372. end;
  5373. implementation eq
  5374. equations
  5375. sum (direct (p.e)) = 0;
  5376. equal (collect (p.f));
  5377. flow = first (p.f);
  5378. implementation_end;
  5379. PowerMux 330 216
  5380. specifications active 'rot_x'
  5381. specification 'rot_x'
  5382. description '<Information>
  5383. <Description>
  5384. <Version>4.8</Version>
  5385. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5386. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  5387. <IsMainModel>1</IsMainModel>
  5388. <KeepParameterValues>False</KeepParameterValues>
  5389. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5390. </Description>
  5391. </Information>';
  5392. type 'PowerMux-Rotation'
  5393. ports
  5394. power in input;
  5395. power out output [6,1];
  5396. power in input_rot2 [2,1];
  5397. power in input_pos3 [3,1];
  5398. restrictions
  5399. causality constraint not_equal input output;
  5400. causality constraint not_equal input_rot2 output;
  5401. causality constraint not_equal input_pos3 output;
  5402. end;
  5403. icon bg bottom
  5404. figures
  5405. line 328 192 328 240 color 0 width 2;
  5406. rectangle 324 192 336 240 color -1;
  5407. text '1' 333 210 color 8421504 8;
  5408. terminals
  5409. input 328 200 fixed;
  5410. output 328 216 fixed;
  5411. input_rot2 328 232 fixed;
  5412. input_pos3 328 216 fixed;
  5413. end;
  5414. implementation eq
  5415. equations
  5416. output.e[1] = input.e;
  5417. output.e[2:3] = input_rot2.e;
  5418. output.e[4:6] = input_pos3.e;
  5419. output.f[1] = input.f;
  5420. output.f[2:3] = input_rot2.f;
  5421. output.f[4:6] = input_pos3.f;implementation_end;
  5422. specification_end;
  5423. specification 'rot_y'
  5424. description '<Description>
  5425. <Version>4.1</Version>
  5426. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  5427. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  5428. <IsMainModel>1</IsMainModel>
  5429. <KeepParameterValues>False</KeepParameterValues>
  5430. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5431. </Description>';
  5432. type PowerMux
  5433. ports
  5434. power in input;
  5435. power out output [6,1];
  5436. power in input_rot2 [2,1];
  5437. power in input_pos3 [3,1];
  5438. restrictions
  5439. causality constraint not_equal input output;
  5440. causality constraint not_equal input_rot2 output;
  5441. causality constraint not_equal input_pos3 output;
  5442. end;
  5443. icon bg bottom
  5444. figures
  5445. line 242 274 290 274 color 0 width 2;
  5446. rectangle 242 266 290 278 color -1;
  5447. text '1' 260 269 color 8421504 8;
  5448. terminals
  5449. input 250 274 fixed;
  5450. output 266 274 fixed;
  5451. input_rot2 282 274 fixed;
  5452. input_pos3 266 274 fixed;
  5453. end;
  5454. implementation eq
  5455. equations
  5456. output.e[1] = input_rot2.e[1];
  5457. output.e[2] = input.e;
  5458. output.e[3] = input_rot2.e[2];
  5459. output.e[4:6] = input_pos3.e;
  5460. output.f[1] = input_rot2.f[1];
  5461. output.f[2] = input.f;
  5462. output.f[3] = input_rot2.f[2];
  5463. output.f[4:6] = input_pos3.f;implementation_end;
  5464. specification_end;
  5465. specification 'rot_z'
  5466. description '<Information>
  5467. <Description>
  5468. <Version>4.8</Version>
  5469. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5470. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  5471. <IsMainModel>1</IsMainModel>
  5472. <KeepParameterValues>False</KeepParameterValues>
  5473. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5474. </Description>
  5475. </Information>';
  5476. type PowerMux
  5477. ports
  5478. power in input;
  5479. power out output [6,1];
  5480. power in input_rot2 [2,1];
  5481. power in input_pos3 [3,1];
  5482. restrictions
  5483. causality constraint not_equal input output;
  5484. causality constraint not_equal input_rot2 output;
  5485. causality constraint not_equal input_pos3 output;
  5486. end;
  5487. icon bg bottom
  5488. figures
  5489. line 242 274 290 274 color 0 width 2;
  5490. rectangle 242 266 290 278 color -1;
  5491. text '1' 260 269 color 8421504 8;
  5492. terminals
  5493. input 250 274 fixed;
  5494. output 266 274 fixed;
  5495. input_rot2 282 274 fixed;
  5496. input_pos3 266 274 fixed;
  5497. end;
  5498. implementation eq
  5499. equations
  5500. output.e[3] = input.e;
  5501. output.e[1:2] = input_rot2.e;
  5502. output.e[4:6] = input_pos3.e;
  5503. output.f[3] = input.f;
  5504. output.f[1:2] = input_rot2.f;
  5505. output.f[4:6] = input_pos3.f;implementation_end;
  5506. specification_end;
  5507. end;
  5508. R 288 152
  5509. description '<Information>
  5510. <Description>
  5511. <Version>4.2</Version>
  5512. <IsMainModel>1</IsMainModel>
  5513. <KeepParameterValues>False</KeepParameterValues>
  5514. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  5515. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  5516. </Description>
  5517. </Information>';
  5518. type R
  5519. ports
  5520. power in p;
  5521. end;
  5522. icon bg top
  5523. figures
  5524. text 'R' 288 152 color 0 18 bold;
  5525. end;
  5526. implementation eq
  5527. parameters
  5528. real r = 0.0001;
  5529. equations
  5530. p.e = r * p.f;
  5531. implementation_end;
  5532. R4 239.8 288.2
  5533. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5534. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  5535. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  5536. </Description>';
  5537. type 'R-2'
  5538. ports
  5539. power in p [2,1];
  5540. end;
  5541. icon bg bottom
  5542. figures
  5543. text 'R' 239.8 288.2 color 0 18 bold;
  5544. end;
  5545. implementation eq
  5546. parameters
  5547. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  5548. equations
  5549. p.e = r * p.f;
  5550. implementation_end;
  5551. R5 239.8 168.2
  5552. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5553. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  5554. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  5555. </Description>';
  5556. type 'R-3'
  5557. ports
  5558. power in p [3,1];
  5559. end;
  5560. icon bg top
  5561. figures
  5562. text 'R' 239.8 168.2 color 0 18 bold;
  5563. end;
  5564. implementation eq
  5565. parameters
  5566. 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};
  5567. equations
  5568. p.e = r * p.f;
  5569. implementation_end;
  5570. end;
  5571. connections
  5572. C1\p <= OneJunction7\p;
  5573. OneJunction5\p => C4\p;
  5574. OneJunction5\p => PowerMux\input_rot2;
  5575. OneJunction5\p => R4\p;
  5576. OneJunction7\p => PowerMux\input_pos3;
  5577. OneJunction7\p => R5\p;
  5578. OneJunction8\p => PowerMux\input;
  5579. PowerMux\output => output;
  5580. R\p <= OneJunction8\p;
  5581. end;
  5582. implementation_end;
  5583. Joint_dynF 720 48
  5584. description '<Description>
  5585. <Version>4.8</Version>
  5586. <IsMainModel>1</IsMainModel>
  5587. </Description>';
  5588. type Submodel
  5589. ports
  5590. power out output [6,1];
  5591. end;
  5592. implementation bg
  5593. submodels
  5594. C 264 200
  5595. description '<Information>
  5596. <Description>
  5597. <Version>4.2</Version>
  5598. <IsMainModel>1</IsMainModel>
  5599. <KeepParameterValues>False</KeepParameterValues>
  5600. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  5601. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  5602. </Description>
  5603. </Information>';
  5604. type C
  5605. ports
  5606. power in p;
  5607. signal out state;
  5608. restrictions
  5609. causality preferred out p;
  5610. end;
  5611. icon bg bottom
  5612. figures
  5613. text 'C' 264 200 color 0 18 bold;
  5614. end;
  5615. implementation eq
  5616. parameters
  5617. real c = 0.001;
  5618. equations
  5619. state = int(p.f);
  5620. p.e = state / c;
  5621. implementation_end;
  5622. C1 191.8 216.2
  5623. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5624. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  5625. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  5626. </Description>';
  5627. type 'C-3'
  5628. ports
  5629. power in p [3,1];
  5630. signal out state [3,1];
  5631. restrictions
  5632. causality preferred out p;
  5633. end;
  5634. icon bg top
  5635. figures
  5636. text 'C' 191.8 216.2 color 0 18 bold;
  5637. end;
  5638. implementation eq
  5639. parameters
  5640. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  5641. equations
  5642. state = int(p.f);
  5643. p.e = inverse(c) *state;
  5644. implementation_end;
  5645. C4 191.8 232.2
  5646. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5647. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  5648. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  5649. </Description>';
  5650. type 'C-2'
  5651. ports
  5652. power in p [2,1];
  5653. signal out state [2,1];
  5654. restrictions
  5655. causality preferred out p;
  5656. end;
  5657. icon bg bottom
  5658. figures
  5659. text 'C' 191.8 232.2 color 0 18 bold;
  5660. end;
  5661. implementation eq
  5662. parameters
  5663. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  5664. equations
  5665. state = int(p.f);
  5666. p.e = inverse(c) *state;
  5667. implementation_end;
  5668. plug output 396 216;
  5669. OneJunction 328 200
  5670. description '<Information>
  5671. <Description>
  5672. <Version>4.2</Version>
  5673. <IsMainModel>1</IsMainModel>
  5674. <KeepParameterValues>False</KeepParameterValues>
  5675. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5676. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5677. </Description>
  5678. </Information>';
  5679. knot OneJunction
  5680. ports
  5681. power knot duplicatable none p [1];
  5682. signal knot out flow [1];
  5683. restrictions
  5684. causality constraint one_out p;
  5685. end;
  5686. icon bg
  5687. figures
  5688. text '1' 328 200 color 0 18 bold;
  5689. end;
  5690. implementation eq
  5691. equations
  5692. sum (direct (p.e)) = 0;
  5693. equal (collect (p.f));
  5694. flow = first (p.f);
  5695. implementation_end;
  5696. OneJunction5 239.8 232.2
  5697. description '<Information>
  5698. <Description>
  5699. <Version>4.2</Version>
  5700. <IsMainModel>1</IsMainModel>
  5701. <KeepParameterValues>False</KeepParameterValues>
  5702. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5703. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5704. </Description>
  5705. </Information>';
  5706. knot OneJunction
  5707. ports
  5708. power knot duplicatable none p [2,1];
  5709. signal knot out flow [2,1];
  5710. restrictions
  5711. causality constraint one_out p;
  5712. end;
  5713. icon bg
  5714. figures
  5715. text '1' 239.8 232.2 color 0 18 bold;
  5716. end;
  5717. implementation eq
  5718. equations
  5719. sum (direct (p.e)) = 0;
  5720. equal (collect (p.f));
  5721. flow = first (p.f);
  5722. implementation_end;
  5723. OneJunction7 239.8 216.2
  5724. description '<Information>
  5725. <Description>
  5726. <Version>4.2</Version>
  5727. <IsMainModel>1</IsMainModel>
  5728. <KeepParameterValues>False</KeepParameterValues>
  5729. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5730. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5731. </Description>
  5732. </Information>';
  5733. knot OneJunction
  5734. ports
  5735. power knot duplicatable none p [3,1];
  5736. signal knot out flow [3,1];
  5737. restrictions
  5738. causality constraint one_out p;
  5739. end;
  5740. icon bg
  5741. figures
  5742. text '1' 239.8 216.2 color 0 18 bold;
  5743. end;
  5744. implementation eq
  5745. equations
  5746. sum (direct (p.e)) = 0;
  5747. equal (collect (p.f));
  5748. flow = first (p.f);
  5749. implementation_end;
  5750. OneJunction8 296 200
  5751. description '<Information>
  5752. <Description>
  5753. <Version>4.2</Version>
  5754. <IsMainModel>1</IsMainModel>
  5755. <KeepParameterValues>False</KeepParameterValues>
  5756. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5757. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5758. </Description>
  5759. </Information>';
  5760. knot OneJunction
  5761. ports
  5762. power knot duplicatable none p [1];
  5763. signal knot out flow [1];
  5764. restrictions
  5765. causality constraint one_out p;
  5766. end;
  5767. icon bg
  5768. figures
  5769. text '1' 296 200 color 0 18 bold;
  5770. end;
  5771. implementation eq
  5772. equations
  5773. sum (direct (p.e)) = 0;
  5774. equal (collect (p.f));
  5775. flow = first (p.f);
  5776. implementation_end;
  5777. PowerMux 362 216
  5778. specifications active 'rot_z'
  5779. specification 'rot_x'
  5780. description '<Information>
  5781. <Description>
  5782. <Version>4.8</Version>
  5783. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5784. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  5785. <IsMainModel>1</IsMainModel>
  5786. <KeepParameterValues>False</KeepParameterValues>
  5787. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5788. </Description>
  5789. </Information>';
  5790. type 'PowerMux-Rotation'
  5791. ports
  5792. power in input;
  5793. power out output [6,1];
  5794. power in input_rot2 [2,1];
  5795. power in input_pos3 [3,1];
  5796. restrictions
  5797. causality constraint not_equal input output;
  5798. causality constraint not_equal input_rot2 output;
  5799. causality constraint not_equal input_pos3 output;
  5800. end;
  5801. icon bg bottom
  5802. figures
  5803. line 360 192 360 240 color 0 width 2;
  5804. rectangle 356 192 368 240 color -1;
  5805. text '1' 365 210 color 8421504 8;
  5806. terminals
  5807. input 360 200 fixed;
  5808. output 360 216 fixed;
  5809. input_rot2 360 232 fixed;
  5810. input_pos3 360 216 fixed;
  5811. end;
  5812. implementation eq
  5813. equations
  5814. output.e[1] = input.e;
  5815. output.e[2:3] = input_rot2.e;
  5816. output.e[4:6] = input_pos3.e;
  5817. output.f[1] = input.f;
  5818. output.f[2:3] = input_rot2.f;
  5819. output.f[4:6] = input_pos3.f;implementation_end;
  5820. specification_end;
  5821. specification 'rot_y'
  5822. description '<Description>
  5823. <Version>4.1</Version>
  5824. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  5825. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  5826. <IsMainModel>1</IsMainModel>
  5827. <KeepParameterValues>False</KeepParameterValues>
  5828. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5829. </Description>';
  5830. type PowerMux
  5831. ports
  5832. power in input;
  5833. power out output [6,1];
  5834. power in input_rot2 [2,1];
  5835. power in input_pos3 [3,1];
  5836. restrictions
  5837. causality constraint not_equal input output;
  5838. causality constraint not_equal input_rot2 output;
  5839. causality constraint not_equal input_pos3 output;
  5840. end;
  5841. icon bg bottom
  5842. figures
  5843. line 242 274 290 274 color 0 width 2;
  5844. rectangle 242 266 290 278 color -1;
  5845. text '1' 260 269 color 8421504 8;
  5846. terminals
  5847. input 250 274 fixed;
  5848. output 266 274 fixed;
  5849. input_rot2 282 274 fixed;
  5850. input_pos3 266 274 fixed;
  5851. end;
  5852. implementation eq
  5853. equations
  5854. output.e[1] = input_rot2.e[1];
  5855. output.e[2] = input.e;
  5856. output.e[3] = input_rot2.e[2];
  5857. output.e[4:6] = input_pos3.e;
  5858. output.f[1] = input_rot2.f[1];
  5859. output.f[2] = input.f;
  5860. output.f[3] = input_rot2.f[2];
  5861. output.f[4:6] = input_pos3.f;implementation_end;
  5862. specification_end;
  5863. specification 'rot_z'
  5864. description '<Information>
  5865. <Description>
  5866. <Version>4.8</Version>
  5867. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5868. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  5869. <IsMainModel>1</IsMainModel>
  5870. <KeepParameterValues>False</KeepParameterValues>
  5871. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5872. </Description>
  5873. </Information>';
  5874. type PowerMux
  5875. ports
  5876. power in input;
  5877. power out output [6,1];
  5878. power in input_rot2 [2,1];
  5879. power in input_pos3 [3,1];
  5880. restrictions
  5881. causality constraint not_equal input output;
  5882. causality constraint not_equal input_rot2 output;
  5883. causality constraint not_equal input_pos3 output;
  5884. end;
  5885. icon bg bottom
  5886. figures
  5887. line 360 192 360 240 color 0 width 2;
  5888. rectangle 356 192 368 240 color -1;
  5889. text '1' 365 210 color 8421504 8;
  5890. terminals
  5891. input 360 200 fixed;
  5892. output 360 216 fixed;
  5893. input_rot2 360 232 fixed;
  5894. input_pos3 360 216 fixed;
  5895. end;
  5896. implementation eq
  5897. equations
  5898. output.e[3] = input.e;
  5899. output.e[1:2] = input_rot2.e;
  5900. output.e[4:6] = input_pos3.e;
  5901. output.f[3] = input.f;
  5902. output.f[1:2] = input_rot2.f;
  5903. output.f[4:6] = input_pos3.f;implementation_end;
  5904. specification_end;
  5905. end;
  5906. R 296 120
  5907. description '<Information>
  5908. <Description>
  5909. <Version>4.2</Version>
  5910. <IsMainModel>1</IsMainModel>
  5911. <KeepParameterValues>False</KeepParameterValues>
  5912. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  5913. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  5914. </Description>
  5915. </Information>';
  5916. type R
  5917. ports
  5918. power in p;
  5919. end;
  5920. icon bg top
  5921. figures
  5922. text 'R' 296 120 color 0 18 bold;
  5923. end;
  5924. implementation eq
  5925. parameters
  5926. real r = 1000;
  5927. equations
  5928. p.e = r * p.f;
  5929. implementation_end;
  5930. R4 239.8 288.2
  5931. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5932. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  5933. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  5934. </Description>';
  5935. type 'R-2'
  5936. ports
  5937. power in p [2,1];
  5938. end;
  5939. icon bg bottom
  5940. figures
  5941. text 'R' 239.8 288.2 color 0 18 bold;
  5942. end;
  5943. implementation eq
  5944. parameters
  5945. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  5946. equations
  5947. p.e = r * p.f;
  5948. implementation_end;
  5949. R5 239.8 168.2
  5950. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5951. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  5952. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  5953. </Description>';
  5954. type 'R-3'
  5955. ports
  5956. power in p [3,1];
  5957. end;
  5958. icon bg top
  5959. figures
  5960. text 'R' 239.8 168.2 color 0 18 bold;
  5961. end;
  5962. implementation eq
  5963. parameters
  5964. 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};
  5965. equations
  5966. p.e = r * p.f;
  5967. implementation_end;
  5968. end;
  5969. connections
  5970. C\p <= OneJunction8\p;
  5971. C1\p <= OneJunction7\p;
  5972. OneJunction\p => PowerMux\input;
  5973. OneJunction5\p => C4\p;
  5974. OneJunction5\p => PowerMux\input_rot2;
  5975. OneJunction5\p => R4\p;
  5976. OneJunction7\p => PowerMux\input_pos3;
  5977. OneJunction7\p => R5\p;
  5978. OneJunction8\p => OneJunction\p;
  5979. PowerMux\output => output;
  5980. R\p <= OneJunction8\p;
  5981. end;
  5982. implementation_end;
  5983. Link1 632 128
  5984. description '<Information>
  5985. <Description>
  5986. <Version>4.8</Version>
  5987. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  5988. <IsMainModel>1</IsMainModel>
  5989. <KeepParameterValues>False</KeepParameterValues>
  5990. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  5991. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  5992. </Description>
  5993. </Information>';
  5994. type 'Submodel-Equation'
  5995. ports
  5996. signal in Hin [4,4];
  5997. signal out Hout [4,4];
  5998. power in Pin [6,1];
  5999. power out Pout [6,1];
  6000. restrictions
  6001. causality constraint not_equal Pin Pout;
  6002. end;
  6003. icon bg bottom
  6004. figures
  6005. rectangle 600 104 664 152 color 0 fill 8454041;
  6006. text 'Link' 632 128 color 0 'Clear Sans' 16;
  6007. terminals
  6008. Hin 600 144 fixed;
  6009. Hout 664 144 fixed;
  6010. Pin 664 112 fixed;
  6011. Pout 600 112 fixed;
  6012. end;
  6013. implementation eq
  6014. parameters
  6015. real offset[6]= [0;0;0;0;0.025;0]; //coordinates of joint_1
  6016. variables
  6017. real Hab[4,4];
  6018. real AdHab[6,6];
  6019. real R[3,3];
  6020. real omega[3];
  6021. initialequations
  6022. omega = offset[1:3];
  6023. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  6024. Hab = homogeneous(R,offset[4:6]);
  6025. AdHab = Adjoint(Hab);
  6026. equations
  6027. Hout = Hin * Hab;
  6028. Pout.e = transpose(AdHab) * Pin.e;
  6029. Pin.f = AdHab * Pout.f;
  6030. implementation_end;
  6031. Link10 800 128
  6032. description '<Information>
  6033. <Description>
  6034. <Version>4.8</Version>
  6035. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  6036. <IsMainModel>1</IsMainModel>
  6037. <KeepParameterValues>False</KeepParameterValues>
  6038. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  6039. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6040. </Description>
  6041. </Information>';
  6042. type 'Submodel-Equation'
  6043. ports
  6044. signal in Hin [4,4];
  6045. signal out Hout [4,4];
  6046. power in Pin [6,1];
  6047. power out Pout [6,1];
  6048. restrictions
  6049. causality constraint not_equal Pin Pout;
  6050. end;
  6051. icon bg bottom
  6052. figures
  6053. rectangle 768 104 832 152 color 0 fill 8454041;
  6054. text 'Link' 800 128 color 0 'Clear Sans' 16;
  6055. terminals
  6056. Hin 768 144 fixed;
  6057. Hout 832 144 fixed;
  6058. Pin 832 112 fixed;
  6059. Pout 768 112 fixed;
  6060. end;
  6061. implementation eq
  6062. parameters
  6063. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  6064. variables
  6065. real Hab[4,4];
  6066. real AdHab[6,6];
  6067. real R[3,3];
  6068. real omega[3];
  6069. initialequations
  6070. omega = offset[1:3];
  6071. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  6072. Hab = homogeneous(R,offset[4:6]);
  6073. AdHab = Adjoint(Hab);
  6074. equations
  6075. Hout = Hin * Hab;
  6076. Pout.e = transpose(AdHab) * Pin.e;
  6077. Pin.f = AdHab * Pout.f;
  6078. implementation_end;
  6079. Link2 384 128
  6080. description '<Information>
  6081. <Description>
  6082. <Version>4.8</Version>
  6083. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  6084. <IsMainModel>1</IsMainModel>
  6085. <KeepParameterValues>False</KeepParameterValues>
  6086. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  6087. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6088. </Description>
  6089. </Information>';
  6090. type 'Submodel-Equation'
  6091. ports
  6092. signal in Hin [4,4];
  6093. signal out Hout [4,4];
  6094. power in Pin [6,1];
  6095. power out Pout [6,1];
  6096. restrictions
  6097. causality constraint not_equal Pin Pout;
  6098. end;
  6099. icon bg bottom
  6100. figures
  6101. rectangle 352 104 416 152 color 0 fill 8454041;
  6102. text 'Link' 384 128 color 0 'Clear Sans' 16;
  6103. terminals
  6104. Hin 352 144 fixed;
  6105. Hout 416 144 fixed;
  6106. Pin 416 112 fixed;
  6107. Pout 352 112 fixed;
  6108. end;
  6109. implementation eq
  6110. parameters
  6111. real offset[6]= [0;0;0;0;0.025;0]; //coordinates of joint_1
  6112. variables
  6113. real Hab[4,4];
  6114. real AdHab[6,6];
  6115. real R[3,3];
  6116. real omega[3];
  6117. initialequations
  6118. omega = offset[1:3];
  6119. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  6120. Hab = homogeneous(R,offset[4:6]);
  6121. AdHab = Adjoint(Hab);
  6122. equations
  6123. Hout = Hin * Hab;
  6124. Pout.e = transpose(AdHab) * Pin.e;
  6125. Pin.f = AdHab * Pout.f;
  6126. implementation_end;
  6127. Link3 560 424
  6128. description '<Information>
  6129. <Description>
  6130. <Version>4.8</Version>
  6131. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  6132. <IsMainModel>1</IsMainModel>
  6133. <KeepParameterValues>False</KeepParameterValues>
  6134. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  6135. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6136. </Description>
  6137. </Information>';
  6138. type 'Submodel-Equation'
  6139. ports
  6140. signal in Hin [4,4];
  6141. signal out Hout [4,4];
  6142. power in Pin [6,1];
  6143. power out Pout [6,1];
  6144. restrictions
  6145. causality constraint not_equal Pin Pout;
  6146. end;
  6147. icon bg bottom
  6148. figures
  6149. rectangle 536 392 584 456 color 0 fill 8454041;
  6150. text 'Link' 560 424 color 0 'Clear Sans' 16;
  6151. terminals
  6152. Hin 576 392 fixed;
  6153. Hout 576 456 fixed;
  6154. Pin 544 456 fixed;
  6155. Pout 544 392 fixed;
  6156. end;
  6157. implementation eq
  6158. parameters
  6159. real offset[6]= [0;0;0;0;0;-0.0325]; //coordinates of joint_1
  6160. variables
  6161. real Hab[4,4];
  6162. real AdHab[6,6];
  6163. real R[3,3];
  6164. real omega[3];
  6165. initialequations
  6166. omega = offset[1:3];
  6167. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  6168. Hab = homogeneous(R,offset[4:6]);
  6169. AdHab = Adjoint(Hab);
  6170. equations
  6171. Hout = Hin * Hab;
  6172. Pout.e = transpose(AdHab) * Pin.e;
  6173. Pin.f = AdHab * Pout.f;
  6174. implementation_end;
  6175. Link4 200 256
  6176. description '<Information>
  6177. <Description>
  6178. <Version>4.8</Version>
  6179. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  6180. <IsMainModel>1</IsMainModel>
  6181. <KeepParameterValues>False</KeepParameterValues>
  6182. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  6183. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6184. </Description>
  6185. </Information>';
  6186. type 'Submodel-Equation'
  6187. ports
  6188. signal in Hin [4,4];
  6189. signal out Hout [4,4];
  6190. power in Pin [6,1];
  6191. power out Pout [6,1];
  6192. restrictions
  6193. causality constraint not_equal Pin Pout;
  6194. end;
  6195. icon bg bottom
  6196. figures
  6197. rectangle 176 224 224 288 color 0 fill 8454041;
  6198. text 'Link' 200 256 color 0 'Clear Sans' 16;
  6199. terminals
  6200. Hin 216 288 fixed;
  6201. Hout 216 224 fixed;
  6202. Pin 184 224 fixed;
  6203. Pout 184 288 fixed;
  6204. end;
  6205. implementation eq
  6206. parameters
  6207. real offset[6]= [0;0;0;0;0;0.0325]; //coordinates of joint_1
  6208. variables
  6209. real Hab[4,4];
  6210. real AdHab[6,6];
  6211. real R[3,3];
  6212. real omega[3];
  6213. initialequations
  6214. omega = offset[1:3];
  6215. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  6216. Hab = homogeneous(R,offset[4:6]);
  6217. AdHab = Adjoint(Hab);
  6218. equations
  6219. Hout = Hin * Hab;
  6220. Pout.e = transpose(AdHab) * Pin.e;
  6221. Pin.f = AdHab * Pout.f;
  6222. implementation_end;
  6223. Link5 408 632
  6224. description '<Information>
  6225. <Description>
  6226. <Version>4.8</Version>
  6227. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  6228. <IsMainModel>1</IsMainModel>
  6229. <KeepParameterValues>False</KeepParameterValues>
  6230. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  6231. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6232. </Description>
  6233. </Information>';
  6234. type 'Submodel-Equation'
  6235. ports
  6236. signal in Hin [4,4];
  6237. signal out Hout [4,4];
  6238. power in Pin [6,1];
  6239. power out Pout [6,1];
  6240. restrictions
  6241. causality constraint not_equal Pin Pout;
  6242. end;
  6243. icon bg bottom
  6244. figures
  6245. rectangle 376 608 440 656 color 0 fill 8454041;
  6246. text 'Link' 408 632 color 0 'Clear Sans' 16;
  6247. terminals
  6248. Hin 440 616 fixed;
  6249. Hout 376 616 fixed;
  6250. Pin 376 648 fixed;
  6251. Pout 440 648 fixed;
  6252. end;
  6253. implementation eq
  6254. parameters
  6255. real offset[6]= [0;0;0;0;-0.0125;0]; //coordinates of joint_1
  6256. variables
  6257. real Hab[4,4];
  6258. real AdHab[6,6];
  6259. real R[3,3];
  6260. real omega[3];
  6261. initialequations
  6262. omega = offset[1:3];
  6263. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  6264. Hab = homogeneous(R,offset[4:6]);
  6265. AdHab = Adjoint(Hab);
  6266. equations
  6267. Hout = Hin * Hab;
  6268. Pout.e = transpose(AdHab) * Pin.e;
  6269. Pin.f = AdHab * Pout.f;
  6270. implementation_end;
  6271. Link6 560 280
  6272. description '<Information>
  6273. <Description>
  6274. <Version>4.8</Version>
  6275. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  6276. <IsMainModel>1</IsMainModel>
  6277. <KeepParameterValues>False</KeepParameterValues>
  6278. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  6279. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6280. </Description>
  6281. </Information>';
  6282. type 'Submodel-Equation'
  6283. ports
  6284. signal in Hin [4,4];
  6285. signal out Hout [4,4];
  6286. power in Pin [6,1];
  6287. power out Pout [6,1];
  6288. restrictions
  6289. causality constraint not_equal Pin Pout;
  6290. end;
  6291. icon bg bottom
  6292. figures
  6293. rectangle 536 248 584 312 color 0 fill 8454041;
  6294. text 'Link' 560 280 color 0 'Clear Sans' 16;
  6295. terminals
  6296. Hin 576 248 fixed;
  6297. Hout 576 312 fixed;
  6298. Pin 544 312 fixed;
  6299. Pout 544 248 fixed;
  6300. end;
  6301. implementation eq
  6302. parameters
  6303. real offset[6]= [0;0;0;0;0;-0.0325]; //coordinates of joint_1
  6304. variables
  6305. real Hab[4,4];
  6306. real AdHab[6,6];
  6307. real R[3,3];
  6308. real omega[3];
  6309. initialequations
  6310. omega = offset[1:3];
  6311. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  6312. Hab = homogeneous(R,offset[4:6]);
  6313. AdHab = Adjoint(Hab);
  6314. equations
  6315. Hout = Hin * Hab;
  6316. Pout.e = transpose(AdHab) * Pin.e;
  6317. Pin.f = AdHab * Pout.f;
  6318. implementation_end;
  6319. Link7 272 632
  6320. description '<Information>
  6321. <Description>
  6322. <Version>4.8</Version>
  6323. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  6324. <IsMainModel>1</IsMainModel>
  6325. <KeepParameterValues>False</KeepParameterValues>
  6326. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  6327. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6328. </Description>
  6329. </Information>';
  6330. type 'Submodel-Equation'
  6331. ports
  6332. signal in Hin [4,4];
  6333. signal out Hout [4,4];
  6334. power in Pin [6,1];
  6335. power out Pout [6,1];
  6336. restrictions
  6337. causality constraint not_equal Pin Pout;
  6338. end;
  6339. icon bg bottom
  6340. figures
  6341. rectangle 240 608 304 656 color 0 fill 8454041;
  6342. text 'Link' 272 632 color 0 'Clear Sans' 16;
  6343. terminals
  6344. Hin 304 616 fixed;
  6345. Hout 240 616 fixed;
  6346. Pin 240 648 fixed;
  6347. Pout 304 648 fixed;
  6348. end;
  6349. implementation eq
  6350. parameters
  6351. real offset[6]= [0;0;0;0;-0.0125;0]; //coordinates of joint_1
  6352. variables
  6353. real Hab[4,4];
  6354. real AdHab[6,6];
  6355. real R[3,3];
  6356. real omega[3];
  6357. initialequations
  6358. omega = offset[1:3];
  6359. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  6360. Hab = homogeneous(R,offset[4:6]);
  6361. AdHab = Adjoint(Hab);
  6362. equations
  6363. Hout = Hin * Hab;
  6364. Pout.e = transpose(AdHab) * Pin.e;
  6365. Pin.f = AdHab * Pout.f;
  6366. implementation_end;
  6367. Link8 904 128
  6368. description '<Information>
  6369. <Description>
  6370. <Version>4.8</Version>
  6371. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  6372. <IsMainModel>1</IsMainModel>
  6373. <KeepParameterValues>False</KeepParameterValues>
  6374. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  6375. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6376. </Description>
  6377. </Information>';
  6378. type 'Submodel-Equation'
  6379. ports
  6380. signal in Hin [4,4];
  6381. signal out Hout [4,4];
  6382. power in Pin [6,1];
  6383. power out Pout [6,1];
  6384. restrictions
  6385. causality constraint not_equal Pin Pout;
  6386. end;
  6387. icon bg bottom
  6388. figures
  6389. rectangle 872 104 936 152 color 0 fill 8454041;
  6390. text 'Link' 904 128 color 0 'Clear Sans' 16;
  6391. terminals
  6392. Hin 872 144 fixed;
  6393. Hout 936 144 fixed;
  6394. Pin 936 112 fixed;
  6395. Pout 872 112 fixed;
  6396. end;
  6397. implementation eq
  6398. parameters
  6399. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  6400. variables
  6401. real Hab[4,4];
  6402. real AdHab[6,6];
  6403. real R[3,3];
  6404. real omega[3];
  6405. initialequations
  6406. omega = offset[1:3];
  6407. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  6408. Hab = homogeneous(R,offset[4:6]);
  6409. AdHab = Adjoint(Hab);
  6410. equations
  6411. Hout = Hin * Hab;
  6412. Pout.e = transpose(AdHab) * Pin.e;
  6413. Pin.f = AdHab * Pout.f;
  6414. implementation_end;
  6415. Link9 200 400
  6416. description '<Information>
  6417. <Description>
  6418. <Version>4.8</Version>
  6419. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  6420. <IsMainModel>1</IsMainModel>
  6421. <KeepParameterValues>False</KeepParameterValues>
  6422. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  6423. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6424. </Description>
  6425. </Information>';
  6426. type 'Submodel-Equation'
  6427. ports
  6428. signal in Hin [4,4];
  6429. signal out Hout [4,4];
  6430. power in Pin [6,1];
  6431. power out Pout [6,1];
  6432. restrictions
  6433. causality constraint not_equal Pin Pout;
  6434. end;
  6435. icon bg bottom
  6436. figures
  6437. rectangle 176 368 224 432 color 0 fill 8454041;
  6438. text 'Link' 200 400 color 0 'Clear Sans' 16;
  6439. terminals
  6440. Hin 216 432 fixed;
  6441. Hout 216 368 fixed;
  6442. Pin 184 368 fixed;
  6443. Pout 184 432 fixed;
  6444. end;
  6445. implementation eq
  6446. parameters
  6447. real offset[6]= [0;0;0;0;0;0.0325]; //coordinates of joint_1
  6448. variables
  6449. real Hab[4,4];
  6450. real AdHab[6,6];
  6451. real R[3,3];
  6452. real omega[3];
  6453. initialequations
  6454. omega = offset[1:3];
  6455. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  6456. Hab = homogeneous(R,offset[4:6]);
  6457. AdHab = Adjoint(Hab);
  6458. equations
  6459. Hout = Hin * Hab;
  6460. Pout.e = transpose(AdHab) * Pin.e;
  6461. Pin.f = AdHab * Pout.f;
  6462. implementation_end;
  6463. Negate1 704 696
  6464. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  6465. <LibraryPath>Signal\Block Diagram\Negate.emx</LibraryPath>
  6466. <TimeStamp>2007-9-26 12:14:11</TimeStamp>
  6467. </Description>';
  6468. type Negate
  6469. ports
  6470. signal in input;
  6471. signal out output;
  6472. end;
  6473. icon bg bottom
  6474. figures
  6475. rectangle 688 680 720 712 color 0 fill 15132390;
  6476. text '-1' 704 696 color 16711680 16 bold;
  6477. end;
  6478. implementation eq
  6479. equations
  6480. output = - input;
  6481. implementation_end;
  6482. Negate2 624 784
  6483. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  6484. <LibraryPath>Signal\Block Diagram\Negate.emx</LibraryPath>
  6485. <TimeStamp>2007-9-26 12:14:11</TimeStamp>
  6486. </Description>';
  6487. type Negate
  6488. ports
  6489. signal in input;
  6490. signal out output;
  6491. end;
  6492. icon bg bottom
  6493. figures
  6494. rectangle 608 768 640 800 color 0 fill 15132390;
  6495. text '-1' 624 784 color 16711680 16 bold;
  6496. end;
  6497. implementation eq
  6498. equations
  6499. output = - input;
  6500. implementation_end;
  6501. OneJunction1 328 648
  6502. description '<Information>
  6503. <Description>
  6504. <Version>4.2</Version>
  6505. <IsMainModel>1</IsMainModel>
  6506. <KeepParameterValues>False</KeepParameterValues>
  6507. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  6508. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  6509. </Description>
  6510. </Information>';
  6511. knot OneJunction
  6512. ports
  6513. power knot duplicatable none p [6,1];
  6514. signal knot out flow [6,1];
  6515. restrictions
  6516. causality constraint one_out p;
  6517. end;
  6518. icon bg
  6519. figures
  6520. text '1' 328 648 color 0 18 bold;
  6521. end;
  6522. implementation eq
  6523. equations
  6524. sum (direct (p.e)) = 0;
  6525. equal (collect (p.f));
  6526. flow = first (p.f);
  6527. implementation_end;
  6528. OneJunction2 544 368
  6529. description '<Information>
  6530. <Description>
  6531. <Version>4.2</Version>
  6532. <IsMainModel>1</IsMainModel>
  6533. <KeepParameterValues>False</KeepParameterValues>
  6534. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  6535. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  6536. </Description>
  6537. </Information>';
  6538. knot OneJunction
  6539. ports
  6540. power knot duplicatable none p [6,1];
  6541. signal knot out flow [6,1];
  6542. restrictions
  6543. causality constraint one_out p;
  6544. end;
  6545. icon bg
  6546. figures
  6547. text '1' 544 368 color 0 18 bold;
  6548. end;
  6549. implementation eq
  6550. equations
  6551. sum (direct (p.e)) = 0;
  6552. equal (collect (p.f));
  6553. flow = first (p.f);
  6554. implementation_end;
  6555. OneJunction3 544 112
  6556. description '<Information>
  6557. <Description>
  6558. <Version>4.2</Version>
  6559. <IsMainModel>1</IsMainModel>
  6560. <KeepParameterValues>False</KeepParameterValues>
  6561. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  6562. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  6563. </Description>
  6564. </Information>';
  6565. knot OneJunction
  6566. ports
  6567. power knot duplicatable none p [6,1];
  6568. signal knot out flow [6,1];
  6569. restrictions
  6570. causality constraint one_out p;
  6571. end;
  6572. icon bg
  6573. figures
  6574. text '1' 544 112 color 0 18 bold;
  6575. end;
  6576. implementation eq
  6577. equations
  6578. sum (direct (p.e)) = 0;
  6579. equal (collect (p.f));
  6580. flow = first (p.f);
  6581. implementation_end;
  6582. OneJunction4 184 344
  6583. description '<Information>
  6584. <Description>
  6585. <Version>4.2</Version>
  6586. <IsMainModel>1</IsMainModel>
  6587. <KeepParameterValues>False</KeepParameterValues>
  6588. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  6589. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  6590. </Description>
  6591. </Information>';
  6592. knot OneJunction
  6593. ports
  6594. power knot duplicatable none p [6,1];
  6595. signal knot out flow [6,1];
  6596. restrictions
  6597. causality constraint one_out p;
  6598. end;
  6599. icon bg
  6600. figures
  6601. text '1' 184 344 color 0 18 bold;
  6602. end;
  6603. implementation eq
  6604. equations
  6605. sum (direct (p.e)) = 0;
  6606. equal (collect (p.f));
  6607. flow = first (p.f);
  6608. implementation_end;
  6609. OneJunction5 600 648
  6610. description '<Information>
  6611. <Description>
  6612. <Version>4.2</Version>
  6613. <IsMainModel>1</IsMainModel>
  6614. <KeepParameterValues>False</KeepParameterValues>
  6615. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  6616. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  6617. </Description>
  6618. </Information>';
  6619. knot OneJunction
  6620. ports
  6621. power knot duplicatable none p [6,1];
  6622. signal knot out flow [6,1];
  6623. restrictions
  6624. causality constraint one_out p;
  6625. end;
  6626. icon bg
  6627. figures
  6628. text '1' 600 648 color 0 18 bold;
  6629. end;
  6630. implementation eq
  6631. equations
  6632. sum (direct (p.e)) = 0;
  6633. equal (collect (p.f));
  6634. flow = first (p.f);
  6635. implementation_end;
  6636. rectanglepath 1024 784
  6637. description '<Information>
  6638. <Description>
  6639. <Version>4.8</Version>
  6640. <LibraryPath>setpoint\rectanglepath.emx</LibraryPath>
  6641. <IsMainModel>1</IsMainModel>
  6642. <KeepParameterValues>False</KeepParameterValues>
  6643. <TimeStamp>2020-7-10 12:30:38</TimeStamp>
  6644. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6645. </Description>
  6646. </Information>';
  6647. type 'Submodel-Equation'
  6648. ports
  6649. signal out output [2,1];
  6650. end;
  6651. icon bg
  6652. figures
  6653. rectangle 968 768 1080 800 color 0 fill 15132390;
  6654. text 'name' 1024 784 color 0 'Clear Sans' 16;
  6655. end;
  6656. implementation eq
  6657. /*
  6658. This will generate coordinates for the box that has to be drawn
  6659. */
  6660. parameters
  6661. real w = 0.07 {m} ;
  6662. real h = 0.05 {m};
  6663. real t = 2.0 {s};
  6664. real origin[2] = [0.01;0.03] {m};
  6665. variables
  6666. real v {m/s};
  6667. real t_w {s};
  6668. real t_h {s};
  6669. real period {s};
  6670. boolean y;
  6671. initialequations
  6672. v = (2*w + 2*h)/t;
  6673. t_w = w / v;
  6674. t_h = h / v;
  6675. code
  6676. y = frequencyevent (t,0);
  6677. period = time + floor(time / t) * t;
  6678. if period < t_w or time < 4 then
  6679. output = origin;
  6680. else
  6681. if period < t_w + t_h then
  6682. output = origin + [w;0];
  6683. else
  6684. if period < 2 * t_w + t_h then
  6685. output = origin + [w;h];
  6686. else
  6687. output = origin + [0;h];
  6688. end;
  6689. end;
  6690. end;
  6691. //output[1] = v*(ramp(period+t_h) - ramp(period + t_w+t_h) - ramp(period + t_w + t_h + t_h)) + origin[1];
  6692. //output[2] = v*(ramp(period) - ramp(period + t_h) - ramp(period + t_h + t_w) + ramp(period + 2 * t_h + t_w))+ origin[2];
  6693. implementation_end;
  6694. Splitter1 360 616
  6695. description '<Description><Version>4.0</Version>
  6696. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6697. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6698. <IsMainModel>1</IsMainModel>
  6699. <KeepParameterValues>False</KeepParameterValues>
  6700. </Description>';
  6701. knot Splitter
  6702. ports
  6703. signal knot duplicatable out output [4,4];
  6704. signal knot in input [4,4];
  6705. end;
  6706. icon bg ellipse
  6707. figures
  6708. ellipse 356.8 612.8 363.2 619.2 color -1 fill 0;
  6709. ellipse 355.7 611.7 364.3 620.3 color -1;
  6710. terminals
  6711. input 360 616 fixed;
  6712. end;
  6713. implementation eq
  6714. equations
  6715. collect (output) = input;
  6716. implementation_end;
  6717. Splitter10 960 144
  6718. description '<Description><Version>4.0</Version>
  6719. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6720. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6721. <IsMainModel>1</IsMainModel>
  6722. <KeepParameterValues>False</KeepParameterValues>
  6723. </Description>';
  6724. knot Splitter
  6725. ports
  6726. signal knot duplicatable out output [4,4];
  6727. signal knot in input [4,4];
  6728. end;
  6729. icon bg ellipse
  6730. figures
  6731. ellipse 956.8 140.8 963.2 147.2 color -1 fill 0;
  6732. ellipse 955.7 139.7 964.3 148.3 color -1;
  6733. terminals
  6734. input 960 144 fixed;
  6735. end;
  6736. implementation eq
  6737. equations
  6738. collect (output) = input;
  6739. implementation_end;
  6740. Splitter2 576 336
  6741. description '<Description><Version>4.0</Version>
  6742. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6743. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6744. <IsMainModel>1</IsMainModel>
  6745. <KeepParameterValues>False</KeepParameterValues>
  6746. </Description>';
  6747. knot Splitter
  6748. ports
  6749. signal knot duplicatable out output [4,4];
  6750. signal knot in input [4,4];
  6751. end;
  6752. icon bg ellipse
  6753. figures
  6754. ellipse 572.8 332.8 579.2 339.2 color -1 fill 0;
  6755. ellipse 571.7 331.7 580.3 340.3 color -1;
  6756. terminals
  6757. input 576 336 fixed;
  6758. end;
  6759. implementation eq
  6760. equations
  6761. collect (output) = input;
  6762. implementation_end;
  6763. Splitter3 216 312
  6764. description '<Description><Version>4.0</Version>
  6765. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6766. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6767. <IsMainModel>1</IsMainModel>
  6768. <KeepParameterValues>False</KeepParameterValues>
  6769. </Description>';
  6770. knot Splitter
  6771. ports
  6772. signal knot duplicatable out output [4,4];
  6773. signal knot in input [4,4];
  6774. end;
  6775. icon bg ellipse
  6776. figures
  6777. ellipse 212.8 308.8 219.2 315.2 color -1 fill 0;
  6778. ellipse 211.7 307.7 220.3 316.3 color -1;
  6779. terminals
  6780. input 216 312 fixed;
  6781. end;
  6782. implementation eq
  6783. equations
  6784. collect (output) = input;
  6785. implementation_end;
  6786. Splitter4 576 144
  6787. description '<Description><Version>4.0</Version>
  6788. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6789. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6790. <IsMainModel>1</IsMainModel>
  6791. <KeepParameterValues>False</KeepParameterValues>
  6792. </Description>';
  6793. knot Splitter
  6794. ports
  6795. signal knot duplicatable out output [4,4];
  6796. signal knot in input [4,4];
  6797. end;
  6798. icon bg ellipse
  6799. figures
  6800. ellipse 572.8 140.8 579.2 147.2 color -1 fill 0;
  6801. ellipse 571.7 139.7 580.3 148.3 color -1;
  6802. terminals
  6803. input 576 144 fixed;
  6804. end;
  6805. implementation eq
  6806. equations
  6807. collect (output) = input;
  6808. implementation_end;
  6809. Splitter7 216 448
  6810. description '<Description><Version>4.0</Version>
  6811. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6812. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6813. <IsMainModel>1</IsMainModel>
  6814. <KeepParameterValues>False</KeepParameterValues>
  6815. </Description>';
  6816. knot Splitter
  6817. ports
  6818. signal knot duplicatable out output [4,4];
  6819. signal knot in input [4,4];
  6820. end;
  6821. icon bg ellipse
  6822. figures
  6823. ellipse 212.8 444.8 219.2 451.2 color -1 fill 0;
  6824. ellipse 211.7 443.7 220.3 452.3 color -1;
  6825. terminals
  6826. input 216 448 fixed;
  6827. end;
  6828. implementation eq
  6829. equations
  6830. collect (output) = input;
  6831. implementation_end;
  6832. Splitter8 576 464
  6833. description '<Description><Version>4.0</Version>
  6834. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6835. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6836. <IsMainModel>1</IsMainModel>
  6837. <KeepParameterValues>False</KeepParameterValues>
  6838. </Description>';
  6839. knot Splitter
  6840. ports
  6841. signal knot duplicatable out output [4,4];
  6842. signal knot in input [4,4];
  6843. end;
  6844. icon bg ellipse
  6845. figures
  6846. ellipse 572.8 460.8 579.2 467.2 color -1 fill 0;
  6847. ellipse 571.7 459.7 580.3 468.3 color -1;
  6848. terminals
  6849. input 576 464 fixed;
  6850. end;
  6851. implementation eq
  6852. equations
  6853. collect (output) = input;
  6854. implementation_end;
  6855. Splitter9 848 144
  6856. description '<Description><Version>4.0</Version>
  6857. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6858. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6859. <IsMainModel>1</IsMainModel>
  6860. <KeepParameterValues>False</KeepParameterValues>
  6861. </Description>';
  6862. knot Splitter
  6863. ports
  6864. signal knot duplicatable out output [4,4];
  6865. signal knot in input [4,4];
  6866. end;
  6867. icon bg ellipse
  6868. figures
  6869. ellipse 844.8 140.8 851.2 147.2 color -1 fill 0;
  6870. ellipse 843.7 139.7 852.3 148.3 color -1;
  6871. terminals
  6872. input 848 144 fixed;
  6873. end;
  6874. implementation eq
  6875. equations
  6876. collect (output) = input;
  6877. implementation_end;
  6878. stepper_control 704 592
  6879. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Z:\home\wouter\Documents\studie\ma\mahd\implementation\library\Motor\stepper_control.emx</LibraryPath><TimeStamp>2020-7-23 13:09:57</TimeStamp></Description><Attributes><GlobalRelations>parameters
  6880. real max_acceleration = 250 {rad/s2};
  6881. real max_velocity = 25 {rad/s};
  6882. real initial_velocity = 0 {rad/s};
  6883. real initial_angle = -1.57 {rad};</GlobalRelations></Attributes></Information>';
  6884. type Submodel
  6885. ports
  6886. signal in setpoint {rad} ;
  6887. signal out output {rad} ;
  6888. end;
  6889. icon bg bottom
  6890. figures
  6891. rectangle 648 576 760 608 color 0 fill 15132390;
  6892. text 'name' 704 592 color 0 'Clear Sans' 16;
  6893. end;
  6894. implementation bg
  6895. submodels
  6896. Acceleration_int 648 336
  6897. description '<Information>
  6898. <Description>
  6899. <Version>4.3</Version>
  6900. <IsMainModel>1</IsMainModel>
  6901. <KeepParameterValues>False</KeepParameterValues>
  6902. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  6903. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  6904. </Description>
  6905. </Information>';
  6906. type Integrate
  6907. ports
  6908. signal in input;
  6909. signal out output;
  6910. end;
  6911. icon bg bottom
  6912. figures
  6913. rectangle 632 320 664 352 color 0 fill 15132390;
  6914. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  6915. end;
  6916. implementation eq
  6917. parameters
  6918. real global initial_velocity; // initial value
  6919. equations
  6920. output = int (input, initial_velocity);
  6921. implementation_end;
  6922. Acceleration_limit 568 336
  6923. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  6924. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  6925. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  6926. </Description>';
  6927. type 'SignalLimiter-Limit'
  6928. ports
  6929. signal in input;
  6930. signal out output;
  6931. end;
  6932. icon bg bottom
  6933. figures
  6934. group
  6935. rectangle 552 320 584 352 color 0 fill 15132390;
  6936. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  6937. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  6938. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  6939. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  6940. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  6941. end;
  6942. end;
  6943. implementation eq
  6944. parameters
  6945. real global max_acceleration {rad/s2};
  6946. equations
  6947. output = limit (input, -max_acceleration, max_acceleration);
  6948. implementation_end;
  6949. plug setpoint 136 336;
  6950. plug output 791 336;
  6951. PlusMinus1 240 336
  6952. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  6953. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  6954. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  6955. </Description>';
  6956. knot PlusMinus
  6957. ports
  6958. signal knot duplicatable in plus [1];
  6959. signal knot duplicatable in minus [1];
  6960. signal knot out output [1];
  6961. end;
  6962. icon bg ellipse
  6963. figures
  6964. ellipse 232 328 248 344 color 0 fill 16777215;
  6965. end;
  6966. implementation eq
  6967. equations
  6968. output = sum (collect (plus)) - sum (collect (minus));
  6969. implementation_end;
  6970. PlusMinus2 432 336
  6971. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  6972. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  6973. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  6974. </Description>';
  6975. knot PlusMinus
  6976. ports
  6977. signal knot duplicatable in plus [1];
  6978. signal knot duplicatable in minus [1];
  6979. signal knot out output [1];
  6980. end;
  6981. icon bg ellipse
  6982. figures
  6983. ellipse 424 328 440 344 color 0 fill 16777215;
  6984. end;
  6985. implementation eq
  6986. equations
  6987. output = sum (collect (plus)) - sum (collect (minus));
  6988. implementation_end;
  6989. Position_control 296 336
  6990. description '<Description>
  6991. <Version>4.0</Version>
  6992. <IsMainModel>1</IsMainModel>
  6993. <KeepParameterValues>False</KeepParameterValues>
  6994. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  6995. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  6996. </Description>';
  6997. type PD
  6998. ports
  6999. signal in error;
  7000. signal out output;
  7001. end;
  7002. icon bg bottom
  7003. figures
  7004. rectangle 280 320 312 352 color 0 fill 15132390;
  7005. text 'PD' 296.5 336.1 color 16711680 18 bold;
  7006. end;
  7007. implementation eq
  7008. parameters
  7009. real kp = 4 {}; // Proportional gain
  7010. real tauD = 100 {s}; // Derivative time constant: tauD > 0
  7011. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  7012. variables
  7013. real state, rate;
  7014. equations
  7015. rate = (kp * error - output) / (beta * tauD);
  7016. state = int (rate);
  7017. output = state + kp * error / beta;
  7018. implementation_end;
  7019. Splitter3 688 336
  7020. description '<Description><Version>4.0</Version>
  7021. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  7022. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  7023. <IsMainModel>1</IsMainModel>
  7024. <KeepParameterValues>False</KeepParameterValues>
  7025. </Description>';
  7026. knot Splitter
  7027. ports
  7028. signal knot duplicatable out output [1];
  7029. signal knot in input [1];
  7030. end;
  7031. icon bg ellipse
  7032. figures
  7033. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  7034. ellipse 683.7 331.7 692.3 340.3 color -1;
  7035. terminals
  7036. input 688 336 fixed;
  7037. end;
  7038. implementation eq
  7039. equations
  7040. collect (output) = input;
  7041. implementation_end;
  7042. Splitter4 752 336
  7043. description '<Description><Version>4.0</Version>
  7044. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  7045. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  7046. <IsMainModel>1</IsMainModel>
  7047. <KeepParameterValues>False</KeepParameterValues>
  7048. </Description>';
  7049. knot Splitter
  7050. ports
  7051. signal knot duplicatable out output [1];
  7052. signal knot in input [1];
  7053. end;
  7054. icon bg ellipse
  7055. figures
  7056. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  7057. ellipse 747.7 331.7 756.3 340.3 color -1;
  7058. terminals
  7059. input 752 336 fixed;
  7060. end;
  7061. implementation eq
  7062. equations
  7063. collect (output) = input;
  7064. implementation_end;
  7065. Velocity_control 480 336
  7066. description '<Description>
  7067. <Version>4.0</Version>
  7068. <IsMainModel>1</IsMainModel>
  7069. <KeepParameterValues>False</KeepParameterValues>
  7070. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  7071. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  7072. </Description>';
  7073. type PD
  7074. ports
  7075. signal in error;
  7076. signal out output;
  7077. end;
  7078. icon bg bottom
  7079. figures
  7080. rectangle 464 320 496 352 color 0 fill 15132390;
  7081. text 'PD' 480.5 336.1 color 16711680 18 bold;
  7082. end;
  7083. implementation eq
  7084. parameters
  7085. real kp = 12 {}; // Proportional gain
  7086. real tauD = 10 {s}; // Derivative time constant: tauD > 0
  7087. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  7088. variables
  7089. real state, rate;
  7090. equations
  7091. rate = (kp * error - output) / (beta * tauD);
  7092. state = int (rate);
  7093. output = state + kp * error / beta;
  7094. implementation_end;
  7095. Velocity_int 720 336
  7096. description '<Information>
  7097. <Description>
  7098. <Version>4.3</Version>
  7099. <IsMainModel>1</IsMainModel>
  7100. <KeepParameterValues>False</KeepParameterValues>
  7101. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  7102. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  7103. </Description>
  7104. </Information>';
  7105. type Integrate
  7106. ports
  7107. signal in input;
  7108. signal out output;
  7109. end;
  7110. icon bg bottom
  7111. figures
  7112. rectangle 704 320 736 352 color 0 fill 15132390;
  7113. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  7114. end;
  7115. implementation eq
  7116. parameters
  7117. real global initial_angle; // initial value
  7118. equations
  7119. output = int (input, initial_angle);
  7120. implementation_end;
  7121. Velocity_limit 376 336
  7122. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7123. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  7124. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  7125. </Description>';
  7126. type 'SignalLimiter-Limit'
  7127. ports
  7128. signal in input;
  7129. signal out output;
  7130. end;
  7131. icon bg bottom
  7132. figures
  7133. group
  7134. rectangle 360 320 392 352 color 0 fill 15132390;
  7135. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  7136. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  7137. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  7138. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  7139. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  7140. end;
  7141. end;
  7142. implementation eq
  7143. parameters
  7144. real global max_velocity {rad/s};
  7145. equations
  7146. output = limit (input, -max_velocity, max_velocity);
  7147. implementation_end;
  7148. end;
  7149. connections
  7150. Acceleration_int\output -> Splitter3\input;
  7151. Acceleration_limit\output -> Acceleration_int\input;
  7152. PlusMinus1\output -> Position_control\error;
  7153. PlusMinus2\output -> Velocity_control\error;
  7154. Position_control\output -> Velocity_limit\input;
  7155. setpoint -> PlusMinus1\plus;
  7156. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  7157. Splitter3\output -> Velocity_int\input;
  7158. Splitter4\output -> output;
  7159. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  7160. Velocity_control\output -> Acceleration_limit\input;
  7161. Velocity_int\output -> Splitter4\input;
  7162. Velocity_limit\output -> PlusMinus2\plus;
  7163. end;
  7164. implementation_end;
  7165. stepper_control1 512 784
  7166. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Motor\stepper_control.emx</LibraryPath><TimeStamp>2020-7-22 15:25:26</TimeStamp></Description><Attributes><GlobalRelations>parameters
  7167. real max_acceleration = 250 {rad/s2};
  7168. real max_velocity = 25 {rad/s};
  7169. real initial_velocity = 0 {rad/s};
  7170. real initial_angle = 0 {rad};
  7171. </GlobalRelations></Attributes></Information>';
  7172. type Submodel
  7173. ports
  7174. signal in setpoint {rad} ;
  7175. signal out output {rad} ;
  7176. end;
  7177. implementation bg
  7178. submodels
  7179. Acceleration_int 648 336
  7180. description '<Information>
  7181. <Description>
  7182. <Version>4.3</Version>
  7183. <IsMainModel>1</IsMainModel>
  7184. <KeepParameterValues>False</KeepParameterValues>
  7185. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  7186. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  7187. </Description>
  7188. </Information>';
  7189. type Integrate
  7190. ports
  7191. signal in input;
  7192. signal out output;
  7193. end;
  7194. icon bg bottom
  7195. figures
  7196. rectangle 632 320 664 352 color 0 fill 15132390;
  7197. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  7198. end;
  7199. implementation eq
  7200. parameters
  7201. real global initial_velocity; // initial value
  7202. equations
  7203. output = int (input, initial_velocity);
  7204. implementation_end;
  7205. Acceleration_limit 568 336
  7206. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7207. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  7208. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  7209. </Description>';
  7210. type 'SignalLimiter-Limit'
  7211. ports
  7212. signal in input;
  7213. signal out output;
  7214. end;
  7215. icon bg bottom
  7216. figures
  7217. group
  7218. rectangle 552 320 584 352 color 0 fill 15132390;
  7219. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  7220. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  7221. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  7222. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  7223. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  7224. end;
  7225. end;
  7226. implementation eq
  7227. parameters
  7228. real global max_acceleration {rad/s2};
  7229. equations
  7230. output = limit (input, -max_acceleration, max_acceleration);
  7231. implementation_end;
  7232. plug setpoint 136 336;
  7233. plug output 791 336;
  7234. PlusMinus1 240 336
  7235. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7236. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  7237. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  7238. </Description>';
  7239. knot PlusMinus
  7240. ports
  7241. signal knot duplicatable in plus [1];
  7242. signal knot duplicatable in minus [1];
  7243. signal knot out output [1];
  7244. end;
  7245. icon bg ellipse
  7246. figures
  7247. ellipse 232 328 248 344 color 0 fill 16777215;
  7248. end;
  7249. implementation eq
  7250. equations
  7251. output = sum (collect (plus)) - sum (collect (minus));
  7252. implementation_end;
  7253. PlusMinus2 432 336
  7254. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7255. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  7256. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  7257. </Description>';
  7258. knot PlusMinus
  7259. ports
  7260. signal knot duplicatable in plus [1];
  7261. signal knot duplicatable in minus [1];
  7262. signal knot out output [1];
  7263. end;
  7264. icon bg ellipse
  7265. figures
  7266. ellipse 424 328 440 344 color 0 fill 16777215;
  7267. end;
  7268. implementation eq
  7269. equations
  7270. output = sum (collect (plus)) - sum (collect (minus));
  7271. implementation_end;
  7272. Position_control 296 336
  7273. description '<Description>
  7274. <Version>4.0</Version>
  7275. <IsMainModel>1</IsMainModel>
  7276. <KeepParameterValues>False</KeepParameterValues>
  7277. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  7278. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  7279. </Description>';
  7280. type PD
  7281. ports
  7282. signal in error;
  7283. signal out output;
  7284. end;
  7285. icon bg bottom
  7286. figures
  7287. rectangle 280 320 312 352 color 0 fill 15132390;
  7288. text 'PD' 296.5 336.1 color 16711680 18 bold;
  7289. end;
  7290. implementation eq
  7291. parameters
  7292. real kp = 4 {}; // Proportional gain
  7293. real tauD = 100 {s}; // Derivative time constant: tauD > 0
  7294. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  7295. variables
  7296. real state, rate;
  7297. equations
  7298. rate = (kp * error - output) / (beta * tauD);
  7299. state = int (rate);
  7300. output = state + kp * error / beta;
  7301. implementation_end;
  7302. Splitter3 688 336
  7303. description '<Description><Version>4.0</Version>
  7304. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  7305. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  7306. <IsMainModel>1</IsMainModel>
  7307. <KeepParameterValues>False</KeepParameterValues>
  7308. </Description>';
  7309. knot Splitter
  7310. ports
  7311. signal knot duplicatable out output [1];
  7312. signal knot in input [1];
  7313. end;
  7314. icon bg ellipse
  7315. figures
  7316. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  7317. ellipse 683.7 331.7 692.3 340.3 color -1;
  7318. terminals
  7319. input 688 336 fixed;
  7320. end;
  7321. implementation eq
  7322. equations
  7323. collect (output) = input;
  7324. implementation_end;
  7325. Splitter4 752 336
  7326. description '<Description><Version>4.0</Version>
  7327. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  7328. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  7329. <IsMainModel>1</IsMainModel>
  7330. <KeepParameterValues>False</KeepParameterValues>
  7331. </Description>';
  7332. knot Splitter
  7333. ports
  7334. signal knot duplicatable out output [1];
  7335. signal knot in input [1];
  7336. end;
  7337. icon bg ellipse
  7338. figures
  7339. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  7340. ellipse 747.7 331.7 756.3 340.3 color -1;
  7341. terminals
  7342. input 752 336 fixed;
  7343. end;
  7344. implementation eq
  7345. equations
  7346. collect (output) = input;
  7347. implementation_end;
  7348. Velocity_control 480 336
  7349. description '<Description>
  7350. <Version>4.0</Version>
  7351. <IsMainModel>1</IsMainModel>
  7352. <KeepParameterValues>False</KeepParameterValues>
  7353. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  7354. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  7355. </Description>';
  7356. type PD
  7357. ports
  7358. signal in error;
  7359. signal out output;
  7360. end;
  7361. icon bg bottom
  7362. figures
  7363. rectangle 464 320 496 352 color 0 fill 15132390;
  7364. text 'PD' 480.5 336.1 color 16711680 18 bold;
  7365. end;
  7366. implementation eq
  7367. parameters
  7368. real kp = 12 {}; // Proportional gain
  7369. real tauD = 10 {s}; // Derivative time constant: tauD > 0
  7370. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  7371. variables
  7372. real state, rate;
  7373. equations
  7374. rate = (kp * error - output) / (beta * tauD);
  7375. state = int (rate);
  7376. output = state + kp * error / beta;
  7377. implementation_end;
  7378. Velocity_int 720 336
  7379. description '<Information>
  7380. <Description>
  7381. <Version>4.3</Version>
  7382. <IsMainModel>1</IsMainModel>
  7383. <KeepParameterValues>False</KeepParameterValues>
  7384. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  7385. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  7386. </Description>
  7387. </Information>';
  7388. type Integrate
  7389. ports
  7390. signal in input;
  7391. signal out output;
  7392. end;
  7393. icon bg bottom
  7394. figures
  7395. rectangle 704 320 736 352 color 0 fill 15132390;
  7396. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  7397. end;
  7398. implementation eq
  7399. parameters
  7400. real global initial_angle; // initial value
  7401. equations
  7402. output = int (input, initial_angle);
  7403. implementation_end;
  7404. Velocity_limit 376 336
  7405. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7406. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  7407. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  7408. </Description>';
  7409. type 'SignalLimiter-Limit'
  7410. ports
  7411. signal in input;
  7412. signal out output;
  7413. end;
  7414. icon bg bottom
  7415. figures
  7416. group
  7417. rectangle 360 320 392 352 color 0 fill 15132390;
  7418. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  7419. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  7420. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  7421. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  7422. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  7423. end;
  7424. end;
  7425. implementation eq
  7426. parameters
  7427. real global max_velocity {rad/s};
  7428. equations
  7429. output = limit (input, -max_velocity, max_velocity);
  7430. implementation_end;
  7431. end;
  7432. connections
  7433. Acceleration_int\output -> Splitter3\input;
  7434. Acceleration_limit\output -> Acceleration_int\input;
  7435. PlusMinus1\output -> Position_control\error;
  7436. PlusMinus2\output -> Velocity_control\error;
  7437. Position_control\output -> Velocity_limit\input;
  7438. setpoint -> PlusMinus1\plus;
  7439. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  7440. Splitter3\output -> Velocity_int\input;
  7441. Splitter4\output -> output;
  7442. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  7443. Velocity_control\output -> Acceleration_limit\input;
  7444. Velocity_int\output -> Splitter4\input;
  7445. Velocity_limit\output -> PlusMinus2\plus;
  7446. end;
  7447. implementation_end;
  7448. Zero 808 536
  7449. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7450. <LibraryPath>Signal\Sources\Zero.emx</LibraryPath>
  7451. <TimeStamp>2007-9-27 15:54:36</TimeStamp>
  7452. </Description>
  7453. ';
  7454. type Zero
  7455. ports
  7456. signal out output;
  7457. end;
  7458. icon bg bottom
  7459. figures
  7460. rectangle 792.1 520 823.9 552 color 0 fill 15132390;
  7461. text '0' 808 536 color 16711680 18 bold;
  7462. end;
  7463. implementation eq
  7464. equations
  7465. output = 0;implementation_end;
  7466. end;
  7467. connections
  7468. COM_body3\p => OneJunction4\p;
  7469. COM_body4\p => OneJunction3\p;
  7470. COM_body5\p => Link8\Pin;
  7471. Ground1\output -> JointC\Hin 632 616;
  7472. Ground1\p <= OneJunction5\p;
  7473. inverse_kinematics\angle1 -> Negate1\input;
  7474. inverse_kinematics\angle2 -> Negate2\input;
  7475. inverse_kinematics\input <- rectanglepath\output;
  7476. Joint_dynB\output => JointB\Pdiff;
  7477. Joint_dynC\output => JointC\Pdiff;
  7478. Joint_dynD\output => JointD\Pdiff;
  7479. Joint_dynE\output => JointE\Pdiff;
  7480. Joint_dynF\output => JointF\Pdiff;
  7481. JointA\Pdiff <= Joint_dynA\output;
  7482. JointA\Pout => Link3\Pin;
  7483. JointB\Hin <- Splitter4\output;
  7484. JointB\Hout -> Link6\Hin;
  7485. JointB\Pin <= Link6\Pout;
  7486. JointB\Pout => OneJunction3\p;
  7487. JointC\Hout -> Link5\Hin;
  7488. JointC\Pin <= Link5\Pout;
  7489. JointD\Hin <- Link7\Hout 216 616;
  7490. JointD\Hout -> Splitter7\input;
  7491. JointD\Pin <= Link9\Pout;
  7492. JointD\Pout => Link7\Pin 184 648;
  7493. JointE\Pout => Link4\Pin;
  7494. JointF\Hout -> Link10\Hin;
  7495. JointF\Pout => Link1\Pin;
  7496. Link1\Hout -> JointF\Hin;
  7497. Link10\Hout -> Splitter9\input;
  7498. Link10\Pout => JointF\Pin;
  7499. Link2\Hin <- JointE\Hout;
  7500. Link2\Hout -> Splitter4\input;
  7501. Link2\Pin <= OneJunction3\p;
  7502. Link2\Pout => JointE\Pin 184 112;
  7503. Link3\Hout -> Splitter8\input;
  7504. Link4\Hout -> JointE\Hin;
  7505. Link5\Hout -> Splitter1\input;
  7506. Link5\Pin <= OneJunction1\p;
  7507. Link6\Hout -> Splitter2\input;
  7508. Link6\Pin <= OneJunction2\p;
  7509. Link8\Hout -> Splitter10\input;
  7510. Link8\Pout => Link10\Pin;
  7511. Link9\Hout -> Splitter3\input;
  7512. Link9\Pin <= OneJunction4\p;
  7513. Negate1\output -> stepper_control\setpoint;
  7514. Negate2\output -> stepper_control1\setpoint;
  7515. OneJunction1\p <= COM_body2\p;
  7516. OneJunction1\p <= Link7\Pout;
  7517. OneJunction2\p <= COM_body1\p;
  7518. OneJunction2\p <= Link3\Pout;
  7519. OneJunction3\p <= Link1\Pout;
  7520. OneJunction4\p <= Link4\Pout;
  7521. OneJunction5\p <= JointC\Pout;
  7522. OneJunction5\p => JointA\Pin;
  7523. Splitter1\output -> Body2\input;
  7524. Splitter1\output -> COM_body2\Hin;
  7525. Splitter1\output -> Link7\Hin;
  7526. Splitter10\output -> Body6\input;
  7527. Splitter10\output -> COM_body5\Hin;
  7528. Splitter2\output -> COM_body1\Hin;
  7529. Splitter2\output -> Link3\Hin;
  7530. Splitter3\output -> COM_body3\Hin;
  7531. Splitter3\output -> Link4\Hin;
  7532. Splitter4\output -> Body4\input;
  7533. Splitter4\output -> COM_body4\Hin;
  7534. Splitter4\output -> Link1\Hin;
  7535. Splitter7\output -> Body3\input;
  7536. Splitter7\output -> Link9\Hin;
  7537. Splitter8\output -> Body1\input;
  7538. Splitter8\output -> JointA\Hin;
  7539. Splitter9\output -> Body5\input;
  7540. Splitter9\output -> Link8\Hin;
  7541. stepper_control\output -> Joint_dynA\angle;
  7542. stepper_control1\output -> Joint_dynC\angle;
  7543. end;
  7544. implementation_end;
  7545. ]]>
  7546. </Sidops>
  7547. </Model>
  7548. <Experiments>
  7549. <DefaultExperiment><![CDATA[Experiment 1]]>
  7550. </DefaultExperiment>
  7551. <Experiment>
  7552. <Name>Experiment 1</Name>
  7553. <CreatedBy></CreatedBy>
  7554. <Info></Info>
  7555. <ExpData>
  7556. <VersionNumber>4.8</VersionNumber>
  7557. <ModelProperties>
  7558. </ModelProperties>
  7559. <Variables>
  7560. <Constants>
  7561. </Constants>
  7562. <Parameters>
  7563. </Parameters>
  7564. <Initials>
  7565. <Variable>
  7566. <Name>COM_body1\InertialTensor\state_initial</Name>
  7567. <Rows>6</Rows>
  7568. <Columns>1</Columns>
  7569. <Value>0 0 0 0 0 0</Value>
  7570. </Variable>
  7571. <Variable>
  7572. <Name>COM_body2\InertialTensor\state_initial</Name>
  7573. <Rows>6</Rows>
  7574. <Columns>1</Columns>
  7575. <Value>0 0 0 0 0 0</Value>
  7576. </Variable>
  7577. <Variable>
  7578. <Name>COM_body3\InertialTensor\state_initial</Name>
  7579. <Rows>6</Rows>
  7580. <Columns>1</Columns>
  7581. <Value>0 0 0 0 0 0</Value>
  7582. </Variable>
  7583. <Variable>
  7584. <Name>COM_body4\InertialTensor\state_initial</Name>
  7585. <Rows>6</Rows>
  7586. <Columns>1</Columns>
  7587. <Value>0 0 0 0 0 0</Value>
  7588. </Variable>
  7589. <Variable>
  7590. <Name>COM_body5\InertialTensor\state_initial</Name>
  7591. <Rows>6</Rows>
  7592. <Columns>1</Columns>
  7593. <Value>0 0 0 0 0 0</Value>
  7594. </Variable>
  7595. <Variable>
  7596. <Name>JointA\Hmatrix\p_initial</Name>
  7597. <Rows>3</Rows>
  7598. <Columns>1</Columns>
  7599. <Value>0 0 0</Value>
  7600. </Variable>
  7601. <Variable>
  7602. <Name>JointB\Hmatrix\p_initial</Name>
  7603. <Rows>3</Rows>
  7604. <Columns>1</Columns>
  7605. <Value>0 0 0</Value>
  7606. </Variable>
  7607. <Variable>
  7608. <Name>JointC\Hmatrix\p_initial</Name>
  7609. <Rows>3</Rows>
  7610. <Columns>1</Columns>
  7611. <Value>0 0 0</Value>
  7612. </Variable>
  7613. <Variable>
  7614. <Name>JointD\Hmatrix\p_initial</Name>
  7615. <Rows>3</Rows>
  7616. <Columns>1</Columns>
  7617. <Value>0 0 0</Value>
  7618. </Variable>
  7619. <Variable>
  7620. <Name>JointE\Hmatrix\p_initial</Name>
  7621. <Rows>3</Rows>
  7622. <Columns>1</Columns>
  7623. <Value>0 0 0</Value>
  7624. </Variable>
  7625. <Variable>
  7626. <Name>JointF\Hmatrix\p_initial</Name>
  7627. <Rows>3</Rows>
  7628. <Columns>1</Columns>
  7629. <Value>0 0 0</Value>
  7630. </Variable>
  7631. <Variable>
  7632. <Name>Joint_dynA\C1\state_initial</Name>
  7633. <Rows>3</Rows>
  7634. <Columns>1</Columns>
  7635. <Value>0 0 0</Value>
  7636. </Variable>
  7637. <Variable>
  7638. <Name>Joint_dynA\C4\state_initial</Name>
  7639. <Rows>2</Rows>
  7640. <Columns>1</Columns>
  7641. <Value>0 0</Value>
  7642. </Variable>
  7643. <Variable>
  7644. <Name>Joint_dynA\C\state_initial</Name>
  7645. <Value>0</Value>
  7646. </Variable>
  7647. <Variable>
  7648. <Name>Joint_dynA\stepper_model\I1\state_initial</Name>
  7649. <Value>0</Value>
  7650. </Variable>
  7651. <Variable>
  7652. <Name>Joint_dynA\stepper_model\I2\state_initial</Name>
  7653. <Value>0</Value>
  7654. </Variable>
  7655. <Variable>
  7656. <Name>Joint_dynA\stepper_model\I\state_initial</Name>
  7657. <Value>0</Value>
  7658. </Variable>
  7659. <Variable>
  7660. <Name>Joint_dynB\C1\state_initial</Name>
  7661. <Rows>3</Rows>
  7662. <Columns>1</Columns>
  7663. <Value>0 0 0</Value>
  7664. </Variable>
  7665. <Variable>
  7666. <Name>Joint_dynB\C4\state_initial</Name>
  7667. <Rows>2</Rows>
  7668. <Columns>1</Columns>
  7669. <Value>0 0</Value>
  7670. </Variable>
  7671. <Variable>
  7672. <Name>Joint_dynC\C1\state_initial</Name>
  7673. <Rows>3</Rows>
  7674. <Columns>1</Columns>
  7675. <Value>0 0 0</Value>
  7676. </Variable>
  7677. <Variable>
  7678. <Name>Joint_dynC\C4\state_initial</Name>
  7679. <Rows>2</Rows>
  7680. <Columns>1</Columns>
  7681. <Value>0 0</Value>
  7682. </Variable>
  7683. <Variable>
  7684. <Name>Joint_dynC\C\state_initial</Name>
  7685. <Value>0</Value>
  7686. </Variable>
  7687. <Variable>
  7688. <Name>Joint_dynC\stepper_model\I1\state_initial</Name>
  7689. <Value>0</Value>
  7690. </Variable>
  7691. <Variable>
  7692. <Name>Joint_dynC\stepper_model\I2\state_initial</Name>
  7693. <Value>0</Value>
  7694. </Variable>
  7695. <Variable>
  7696. <Name>Joint_dynC\stepper_model\I\state_initial</Name>
  7697. <Value>0</Value>
  7698. </Variable>
  7699. <Variable>
  7700. <Name>Joint_dynC\stepper_model\RotorAngle\angle_initial</Name>
  7701. <Unit>rad</Unit>
  7702. <Value>0</Value>
  7703. </Variable>
  7704. <Variable>
  7705. <Name>Joint_dynD\C1\state_initial</Name>
  7706. <Rows>3</Rows>
  7707. <Columns>1</Columns>
  7708. <Value>0 0 0</Value>
  7709. </Variable>
  7710. <Variable>
  7711. <Name>Joint_dynD\C4\state_initial</Name>
  7712. <Rows>2</Rows>
  7713. <Columns>1</Columns>
  7714. <Value>0 0</Value>
  7715. </Variable>
  7716. <Variable>
  7717. <Name>Joint_dynE\C1\state_initial</Name>
  7718. <Rows>3</Rows>
  7719. <Columns>1</Columns>
  7720. <Value>0 0 0</Value>
  7721. </Variable>
  7722. <Variable>
  7723. <Name>Joint_dynE\C4\state_initial</Name>
  7724. <Rows>2</Rows>
  7725. <Columns>1</Columns>
  7726. <Value>0 0</Value>
  7727. </Variable>
  7728. <Variable>
  7729. <Name>Joint_dynF\C1\state_initial</Name>
  7730. <Rows>3</Rows>
  7731. <Columns>1</Columns>
  7732. <Value>0 0 0</Value>
  7733. </Variable>
  7734. <Variable>
  7735. <Name>Joint_dynF\C4\state_initial</Name>
  7736. <Rows>2</Rows>
  7737. <Columns>1</Columns>
  7738. <Value>0 0</Value>
  7739. </Variable>
  7740. <Variable>
  7741. <Name>Joint_dynF\C\state_initial</Name>
  7742. <Value>0</Value>
  7743. </Variable>
  7744. <Variable>
  7745. <Name>stepper_control1\Position_control\state_initial</Name>
  7746. <Value>0</Value>
  7747. </Variable>
  7748. <Variable>
  7749. <Name>stepper_control1\Velocity_control\state_initial</Name>
  7750. <Value>0</Value>
  7751. </Variable>
  7752. <Variable>
  7753. <Name>stepper_control\Position_control\state_initial</Name>
  7754. <Value>0</Value>
  7755. </Variable>
  7756. <Variable>
  7757. <Name>stepper_control\Velocity_control\state_initial</Name>
  7758. <Value>0</Value>
  7759. </Variable>
  7760. </Initials>
  7761. </Variables>
  7762. <PlotSpecs>
  7763. <VarNames>
  7764. <VarName>time</VarName>
  7765. <VarName>Body1\position[1]</VarName>
  7766. <VarName>Body1\position[2]</VarName>
  7767. <VarName>Body1\position[3]</VarName>
  7768. <VarName>Body1\R[1,3]</VarName>
  7769. <VarName>Body1\R[2,3]</VarName>
  7770. <VarName>Body1\R[3,3]</VarName>
  7771. <VarName>Body1\R[1,2]</VarName>
  7772. <VarName>Body1\R[2,2]</VarName>
  7773. <VarName>Body1\R[3,2]</VarName>
  7774. <VarName>Body1\dimension[1]</VarName>
  7775. <VarName>Body1\dimension[2]</VarName>
  7776. <VarName>Body1\dimension[3]</VarName>
  7777. <VarName>Body2\dimension[1]</VarName>
  7778. <VarName>Body2\dimension[2]</VarName>
  7779. <VarName>Body2\dimension[3]</VarName>
  7780. <VarName>Body2\position[1]</VarName>
  7781. <VarName>Body2\position[2]</VarName>
  7782. <VarName>Body2\position[3]</VarName>
  7783. <VarName>Body2\R[1,3]</VarName>
  7784. <VarName>Body2\R[2,3]</VarName>
  7785. <VarName>Body2\R[3,3]</VarName>
  7786. <VarName>Body2\R[1,2]</VarName>
  7787. <VarName>Body2\R[2,2]</VarName>
  7788. <VarName>Body2\R[3,2]</VarName>
  7789. <VarName>Body3\dimension[1]</VarName>
  7790. <VarName>Body3\dimension[2]</VarName>
  7791. <VarName>Body3\dimension[3]</VarName>
  7792. <VarName>Body3\position[1]</VarName>
  7793. <VarName>Body3\position[2]</VarName>
  7794. <VarName>Body3\position[3]</VarName>
  7795. <VarName>Body3\R[1,3]</VarName>
  7796. <VarName>Body3\R[2,3]</VarName>
  7797. <VarName>Body3\R[3,3]</VarName>
  7798. <VarName>Body3\R[1,2]</VarName>
  7799. <VarName>Body3\R[2,2]</VarName>
  7800. <VarName>Body3\R[3,2]</VarName>
  7801. <VarName>Body4\dimension[1]</VarName>
  7802. <VarName>Body4\dimension[2]</VarName>
  7803. <VarName>Body4\dimension[3]</VarName>
  7804. <VarName>Body4\R[1,3]</VarName>
  7805. <VarName>Body4\R[2,3]</VarName>
  7806. <VarName>Body4\R[3,3]</VarName>
  7807. <VarName>Body4\R[1,2]</VarName>
  7808. <VarName>Body4\R[2,2]</VarName>
  7809. <VarName>Body4\R[3,2]</VarName>
  7810. <VarName>Body4\position[1]</VarName>
  7811. <VarName>Body4\position[2]</VarName>
  7812. <VarName>Body4\position[3]</VarName>
  7813. <VarName>Body5\dimension[1]</VarName>
  7814. <VarName>Body5\dimension[2]</VarName>
  7815. <VarName>Body5\dimension[3]</VarName>
  7816. <VarName>Body5\position[1]</VarName>
  7817. <VarName>Body5\position[2]</VarName>
  7818. <VarName>Body5\position[3]</VarName>
  7819. <VarName>Body5\R[1,3]</VarName>
  7820. <VarName>Body5\R[2,3]</VarName>
  7821. <VarName>Body5\R[3,3]</VarName>
  7822. <VarName>Body5\R[1,2]</VarName>
  7823. <VarName>Body5\R[2,2]</VarName>
  7824. <VarName>Body5\R[3,2]</VarName>
  7825. <VarName>stepper_control\setpoint</VarName>
  7826. <VarName>Joint_dynA\stepper_model\angle</VarName>
  7827. <VarName>Joint_dynA\stepper_model\RotorAngle\angle</VarName>
  7828. <VarName>stepper_control1\setpoint</VarName>
  7829. <VarName>Joint_dynC\angle</VarName>
  7830. <VarName>Joint_dynC\stepper_model\RotorAngle\angle</VarName>
  7831. <VarName>Body6\position[3]</VarName>
  7832. <VarName>Body6\position[2]</VarName>
  7833. <VarName>rectanglepath\output[2]</VarName>
  7834. <VarName>rectanglepath\output[1]</VarName>
  7835. </VarNames>
  7836. <Plots>
  7837. <Plot>
  7838. <PlotType>GraphPlot</PlotType>
  7839. <BasePlot>
  7840. <PlotId>1</PlotId>
  7841. <UseWindowsBGColor>false</UseWindowsBGColor>
  7842. <BGColor>16777215</BGColor>
  7843. <PlotIsVisible>true</PlotIsVisible>
  7844. </BasePlot>
  7845. <Grid>
  7846. <DrawGrid>true</DrawGrid>
  7847. <GridColor>15780518</GridColor>
  7848. <GridBorderLineColor>12624260</GridBorderLineColor>
  7849. <GridZeroLineColor>0</GridZeroLineColor>
  7850. <XTicks>10</XTicks>
  7851. <YTicks>10</YTicks>
  7852. <ZTicks>10</ZTicks>
  7853. <Use3DLook>false</Use3DLook>
  7854. </Grid>
  7855. <PlotBGColor>16777215</PlotBGColor>
  7856. <ShowPlotTitle>true</ShowPlotTitle>
  7857. <TitlePosition>1</TitlePosition>
  7858. <PlotTitle>StepperA</PlotTitle>
  7859. <ShowXValues>true</ShowXValues>
  7860. <Fonts>
  7861. <TitleFont>
  7862. <Name>Arial</Name>
  7863. <Height>12</Height>
  7864. <PitchFamily>34</PitchFamily>
  7865. <Weight>400</Weight>
  7866. <Italic>0</Italic>
  7867. <UnderLine>0</UnderLine>
  7868. <StrikeOut>0</StrikeOut>
  7869. <Color>0</Color>
  7870. </TitleFont>
  7871. <LabelFont>
  7872. <Name>Arial</Name>
  7873. <Height>12</Height>
  7874. <PitchFamily>34</PitchFamily>
  7875. <Weight>400</Weight>
  7876. <Italic>0</Italic>
  7877. <UnderLine>0</UnderLine>
  7878. <StrikeOut>0</StrikeOut>
  7879. <Color>0</Color>
  7880. </LabelFont>
  7881. <ValuesFont>
  7882. <Name>Arial</Name>
  7883. <Height>10</Height>
  7884. <PitchFamily>34</PitchFamily>
  7885. <Weight>400</Weight>
  7886. <Italic>0</Italic>
  7887. <UnderLine>0</UnderLine>
  7888. <StrikeOut>0</StrikeOut>
  7889. <Color>0</Color>
  7890. </ValuesFont>
  7891. <LegendFont>
  7892. <Name>Arial</Name>
  7893. <Height>12</Height>
  7894. <PitchFamily>34</PitchFamily>
  7895. <Weight>400</Weight>
  7896. <Italic>0</Italic>
  7897. <UnderLine>0</UnderLine>
  7898. <StrikeOut>0</StrikeOut>
  7899. <Color>0</Color>
  7900. </LegendFont>
  7901. </Fonts>
  7902. <SharedXAxis>true</SharedXAxis>
  7903. <SharedYAxis>true</SharedYAxis>
  7904. <SharedZAxis>false</SharedZAxis>
  7905. <XAxes>
  7906. <Axis>
  7907. <Minimum>0.0</Minimum>
  7908. <Maximum>50.0</Maximum>
  7909. <Linear>true</Linear>
  7910. <Scaling>3</Scaling>
  7911. <Label>time</Label>
  7912. </Axis>
  7913. </XAxes>
  7914. <YAxes>
  7915. <Axis>
  7916. <Minimum>-2.3</Minimum>
  7917. <Maximum>-1.2999999999999998</Maximum>
  7918. <Linear>true</Linear>
  7919. <Scaling>2</Scaling>
  7920. <Label>setpoint</Label>
  7921. </Axis>
  7922. <Axis>
  7923. <Minimum>-4.08637499341765</Minimum>
  7924. <Maximum>0.0</Maximum>
  7925. <Linear>true</Linear>
  7926. <Scaling>2</Scaling>
  7927. <Label>angle</Label>
  7928. </Axis>
  7929. <Axis>
  7930. <Minimum>-4.08637499341765</Minimum>
  7931. <Maximum>0.0</Maximum>
  7932. <Linear>true</Linear>
  7933. <Scaling>2</Scaling>
  7934. <Label>angle</Label>
  7935. </Axis>
  7936. </YAxes>
  7937. <ZAxes>
  7938. </ZAxes>
  7939. <Curves>
  7940. <Curve>
  7941. <LineColor>3355111</LineColor>
  7942. <LineStyle>1</LineStyle>
  7943. <TickColor>3355111</TickColor>
  7944. <TickStyle>0</TickStyle>
  7945. <CurveVisible>true</CurveVisible>
  7946. <PixelThresshold>1</PixelThresshold>
  7947. <LineThickness>1</LineThickness>
  7948. <LineOrder>1</LineOrder>
  7949. <ShowYValues>true</ShowYValues>
  7950. <XCurveData>
  7951. <ShowUnit>true</ShowUnit>
  7952. <VarName>time</VarName>
  7953. </XCurveData>
  7954. <YCurveData>
  7955. <ShowUnit>true</ShowUnit>
  7956. <VarName>stepper_control\setpoint</VarName>
  7957. </YCurveData>
  7958. </Curve>
  7959. <Curve>
  7960. <LineColor>6076255</LineColor>
  7961. <LineStyle>1</LineStyle>
  7962. <TickColor>6076255</TickColor>
  7963. <TickStyle>0</TickStyle>
  7964. <CurveVisible>true</CurveVisible>
  7965. <PixelThresshold>1</PixelThresshold>
  7966. <LineThickness>1</LineThickness>
  7967. <LineOrder>1</LineOrder>
  7968. <ShowYValues>true</ShowYValues>
  7969. <XCurveData>
  7970. <ShowUnit>true</ShowUnit>
  7971. <VarName>time</VarName>
  7972. </XCurveData>
  7973. <YCurveData>
  7974. <ShowUnit>true</ShowUnit>
  7975. <VarName>Joint_dynA\stepper_model\angle</VarName>
  7976. </YCurveData>
  7977. </Curve>
  7978. <Curve>
  7979. <LineColor>12553035</LineColor>
  7980. <LineStyle>1</LineStyle>
  7981. <TickColor>12553035</TickColor>
  7982. <TickStyle>0</TickStyle>
  7983. <CurveVisible>true</CurveVisible>
  7984. <PixelThresshold>1</PixelThresshold>
  7985. <LineThickness>1</LineThickness>
  7986. <LineOrder>1</LineOrder>
  7987. <ShowYValues>true</ShowYValues>
  7988. <XCurveData>
  7989. <ShowUnit>true</ShowUnit>
  7990. <VarName>time</VarName>
  7991. </XCurveData>
  7992. <YCurveData>
  7993. <ShowUnit>true</ShowUnit>
  7994. <VarName>Joint_dynA\stepper_model\RotorAngle\angle</VarName>
  7995. </YCurveData>
  7996. </Curve>
  7997. </Curves>
  7998. <Legenda>
  7999. <ShowLegenda>true</ShowLegenda>
  8000. <BorderPenColor>0</BorderPenColor>
  8001. <BackgroundColor>16777215</BackgroundColor>
  8002. </Legenda>
  8003. </Plot>
  8004. <Plot>
  8005. <PlotType>D3DPlot</PlotType>
  8006. <BasePlot>
  8007. <PlotId>2</PlotId>
  8008. <UseWindowsBGColor>false</UseWindowsBGColor>
  8009. <BGColor>16777215</BGColor>
  8010. <PlotIsVisible>true</PlotIsVisible>
  8011. </BasePlot>
  8012. <PlotTitle>3D Animation</PlotTitle>
  8013. <RenderQuality>137</RenderQuality>
  8014. <ShowGrid>true</ShowGrid>
  8015. <ShowFPS>false</ShowFPS>
  8016. <BackgroundColor>4294967295</BackgroundColor>
  8017. <SceneBackgroundImage>Gradients\BlueWhite.png</SceneBackgroundImage>
  8018. <ApplyTextureBackground>true</ApplyTextureBackground>
  8019. <FrameScale>1.0</FrameScale>
  8020. <FrameThickness>1.0</FrameThickness>
  8021. <MainFrame>
  8022. <Frame>
  8023. <ScaleValue>
  8024. <X>
  8025. <Value>1</Value>
  8026. </X>
  8027. <Y>
  8028. <Value>1</Value>
  8029. </Y>
  8030. <Z>
  8031. <Value>1</Value>
  8032. </Z>
  8033. </ScaleValue>
  8034. <ShowReferenceFrame>true</ShowReferenceFrame>
  8035. <Name>Reference Frame</Name>
  8036. <Position>
  8037. </Position>
  8038. <Orientation>
  8039. <Angles>
  8040. </Angles>
  8041. <OrientationType>Bryant</OrientationType>
  8042. </Orientation>
  8043. <LockX>false</LockX>
  8044. <LockY>false</LockY>
  8045. <LockZ>false</LockZ>
  8046. <LockXPitch>false</LockXPitch>
  8047. <LockYYaw>false</LockYYaw>
  8048. <LockZRoll>false</LockZRoll>
  8049. <Childs>
  8050. <Frame>
  8051. <ScaleValue>
  8052. <X>
  8053. <Value>1</Value>
  8054. </X>
  8055. <Y>
  8056. <Value>1</Value>
  8057. </Y>
  8058. <Z>
  8059. <Value>1</Value>
  8060. </Z>
  8061. </ScaleValue>
  8062. <ShowReferenceFrame>false</ShowReferenceFrame>
  8063. <Name>Default Lights and Cameras</Name>
  8064. <Position>
  8065. </Position>
  8066. <Orientation>
  8067. <Angles>
  8068. </Angles>
  8069. <OrientationType>Bryant</OrientationType>
  8070. </Orientation>
  8071. <LockX>false</LockX>
  8072. <LockY>false</LockY>
  8073. <LockZ>false</LockZ>
  8074. <LockXPitch>false</LockXPitch>
  8075. <LockYYaw>false</LockYYaw>
  8076. <LockZRoll>false</LockZRoll>
  8077. <Childs>
  8078. <Light>
  8079. <ShowReferenceFrame>false</ShowReferenceFrame>
  8080. <Name>Ambient</Name>
  8081. <Position>
  8082. </Position>
  8083. <Orientation>
  8084. <ZAxis>
  8085. <Z>
  8086. <Value>1</Value>
  8087. </Z>
  8088. </ZAxis>
  8089. <YAxis>
  8090. <Y>
  8091. <Value>1</Value>
  8092. </Y>
  8093. </YAxis>
  8094. <OrientationType>Direct3D</OrientationType>
  8095. </Orientation>
  8096. <LockX>false</LockX>
  8097. <LockY>false</LockY>
  8098. <LockZ>false</LockZ>
  8099. <LockXPitch>false</LockXPitch>
  8100. <LockYYaw>false</LockYYaw>
  8101. <LockZRoll>false</LockZRoll>
  8102. <Childs>
  8103. </Childs>
  8104. <LightType>0</LightType>
  8105. <LightColor>
  8106. <Color>
  8107. <X>
  8108. <Value>0.3</Value>
  8109. </X>
  8110. <Y>
  8111. <Value>0.3</Value>
  8112. </Y>
  8113. <Z>
  8114. <Value>0.3</Value>
  8115. </Z>
  8116. </Color>
  8117. <Offset>
  8118. </Offset>
  8119. <Multipliers>
  8120. <X>
  8121. <Value>1</Value>
  8122. </X>
  8123. <Y>
  8124. <Value>1</Value>
  8125. </Y>
  8126. <Z>
  8127. <Value>1</Value>
  8128. </Z>
  8129. </Multipliers>
  8130. <Direct3DColorRange>true</Direct3DColorRange>
  8131. </LightColor>
  8132. <AmbientLight>
  8133. <Color>
  8134. <X>
  8135. <Value>0.3</Value>
  8136. </X>
  8137. <Y>
  8138. <Value>0.3</Value>
  8139. </Y>
  8140. <Z>
  8141. <Value>0.3</Value>
  8142. </Z>
  8143. </Color>
  8144. <Offset>
  8145. </Offset>
  8146. <Multipliers>
  8147. <X>
  8148. <Value>1</Value>
  8149. </X>
  8150. <Y>
  8151. <Value>1</Value>
  8152. </Y>
  8153. <Z>
  8154. <Value>1</Value>
  8155. </Z>
  8156. </Multipliers>
  8157. <Direct3DColorRange>true</Direct3DColorRange>
  8158. </AmbientLight>
  8159. <AmbientOn>true</AmbientOn>
  8160. <DiffuseOn>false</DiffuseOn>
  8161. <SpecularOn>false</SpecularOn>
  8162. </Light>
  8163. <Light>
  8164. <ShowReferenceFrame>false</ShowReferenceFrame>
  8165. <Name>Parallel</Name>
  8166. <Position>
  8167. <X>
  8168. <Value>-3</Value>
  8169. </X>
  8170. <Y>
  8171. <Value>5</Value>
  8172. </Y>
  8173. <Z>
  8174. <Value>3</Value>
  8175. </Z>
  8176. </Position>
  8177. <Orientation>
  8178. <ZAxis>
  8179. <X>
  8180. <Value>0.457495710997814</Value>
  8181. </X>
  8182. <Y>
  8183. <Value>-0.762492851663023</Value>
  8184. </Y>
  8185. <Z>
  8186. <Value>-0.457495710997814</Value>
  8187. </Z>
  8188. </ZAxis>
  8189. <YAxis>
  8190. <X>
  8191. <Value>0.235379601434674</Value>
  8192. </X>
  8193. <Y>
  8194. <Value>-0.392299335724456</Value>
  8195. </Y>
  8196. <Z>
  8197. <Value>0.889211827642101</Value>
  8198. </Z>
  8199. </YAxis>
  8200. <OrientationType>Direct3D</OrientationType>
  8201. </Orientation>
  8202. <LockX>false</LockX>
  8203. <LockY>false</LockY>
  8204. <LockZ>false</LockZ>
  8205. <LockXPitch>false</LockXPitch>
  8206. <LockYYaw>false</LockYYaw>
  8207. <LockZRoll>false</LockZRoll>
  8208. <Childs>
  8209. </Childs>
  8210. <LightType>3</LightType>
  8211. <LightColor>
  8212. <Color>
  8213. <X>
  8214. <Value>0.5</Value>
  8215. </X>
  8216. <Y>
  8217. <Value>0.5</Value>
  8218. </Y>
  8219. <Z>
  8220. <Value>0.5</Value>
  8221. </Z>
  8222. </Color>
  8223. <Offset>
  8224. </Offset>
  8225. <Multipliers>
  8226. <X>
  8227. <Value>1</Value>
  8228. </X>
  8229. <Y>
  8230. <Value>1</Value>
  8231. </Y>
  8232. <Z>
  8233. <Value>1</Value>
  8234. </Z>
  8235. </Multipliers>
  8236. <Direct3DColorRange>true</Direct3DColorRange>
  8237. </LightColor>
  8238. <Attenuation>
  8239. <Constant>
  8240. <Value>1.0</Value>
  8241. </Constant>
  8242. <Linear>
  8243. <Value>0.0</Value>
  8244. </Linear>
  8245. <Quadratic>
  8246. <Value>0.0</Value>
  8247. </Quadratic>
  8248. </Attenuation>
  8249. <DiffuseLight>
  8250. <Color>
  8251. <X>
  8252. <Value>0.5</Value>
  8253. </X>
  8254. <Y>
  8255. <Value>0.5</Value>
  8256. </Y>
  8257. <Z>
  8258. <Value>0.5</Value>
  8259. </Z>
  8260. </Color>
  8261. <Offset>
  8262. </Offset>
  8263. <Multipliers>
  8264. <X>
  8265. <Value>1</Value>
  8266. </X>
  8267. <Y>
  8268. <Value>1</Value>
  8269. </Y>
  8270. <Z>
  8271. <Value>1</Value>
  8272. </Z>
  8273. </Multipliers>
  8274. <Direct3DColorRange>true</Direct3DColorRange>
  8275. </DiffuseLight>
  8276. <SpecularLight>
  8277. <Color>
  8278. <X>
  8279. <Value>0.5</Value>
  8280. </X>
  8281. <Y>
  8282. <Value>0.5</Value>
  8283. </Y>
  8284. <Z>
  8285. <Value>0.5</Value>
  8286. </Z>
  8287. </Color>
  8288. <Offset>
  8289. </Offset>
  8290. <Multipliers>
  8291. <X>
  8292. <Value>1</Value>
  8293. </X>
  8294. <Y>
  8295. <Value>1</Value>
  8296. </Y>
  8297. <Z>
  8298. <Value>1</Value>
  8299. </Z>
  8300. </Multipliers>
  8301. <Direct3DColorRange>true</Direct3DColorRange>
  8302. </SpecularLight>
  8303. <AmbientOn>false</AmbientOn>
  8304. <DiffuseOn>true</DiffuseOn>
  8305. <SpecularOn>true</SpecularOn>
  8306. </Light>
  8307. <Light>
  8308. <ShowReferenceFrame>false</ShowReferenceFrame>
  8309. <Name>Spot Light 1</Name>
  8310. <Position>
  8311. <X>
  8312. <Value>-3</Value>
  8313. </X>
  8314. <Y>
  8315. <Value>-5</Value>
  8316. </Y>
  8317. <Z>
  8318. <Value>1</Value>
  8319. </Z>
  8320. </Position>
  8321. <Orientation>
  8322. <ZAxis>
  8323. <X>
  8324. <Value>0.50709255283711</Value>
  8325. </X>
  8326. <Y>
  8327. <Value>0.845154254728517</Value>
  8328. </Y>
  8329. <Z>
  8330. <Value>-0.169030850945703</Value>
  8331. </Z>
  8332. </ZAxis>
  8333. <YAxis>
  8334. <X>
  8335. <Value>0.0869656553478673</Value>
  8336. </X>
  8337. <Y>
  8338. <Value>0.144942758913112</Value>
  8339. </Y>
  8340. <Z>
  8341. <Value>0.985610760609162</Value>
  8342. </Z>
  8343. </YAxis>
  8344. <OrientationType>Direct3D</OrientationType>
  8345. </Orientation>
  8346. <LockX>false</LockX>
  8347. <LockY>false</LockY>
  8348. <LockZ>false</LockZ>
  8349. <LockXPitch>false</LockXPitch>
  8350. <LockYYaw>false</LockYYaw>
  8351. <LockZRoll>false</LockZRoll>
  8352. <Childs>
  8353. </Childs>
  8354. <LightType>2</LightType>
  8355. <LightColor>
  8356. <Color>
  8357. <X>
  8358. <Value>0.5</Value>
  8359. </X>
  8360. <Y>
  8361. <Value>0.5</Value>
  8362. </Y>
  8363. <Z>
  8364. <Value>0.5</Value>
  8365. </Z>
  8366. </Color>
  8367. <Offset>
  8368. </Offset>
  8369. <Multipliers>
  8370. <X>
  8371. <Value>1</Value>
  8372. </X>
  8373. <Y>
  8374. <Value>1</Value>
  8375. </Y>
  8376. <Z>
  8377. <Value>1</Value>
  8378. </Z>
  8379. </Multipliers>
  8380. <Direct3DColorRange>true</Direct3DColorRange>
  8381. </LightColor>
  8382. <Attenuation>
  8383. <Constant>
  8384. <Value>1.0</Value>
  8385. </Constant>
  8386. <Linear>
  8387. <Value>0.05</Value>
  8388. </Linear>
  8389. <Quadratic>
  8390. <Value>0.05</Value>
  8391. </Quadratic>
  8392. </Attenuation>
  8393. <Umbra>
  8394. <Value>1.0471975511965976</Value>
  8395. </Umbra>
  8396. <Penumbra>
  8397. <Value>1.0471975511965976</Value>
  8398. </Penumbra>
  8399. <SpotExponent>0.0</SpotExponent>
  8400. <DiffuseLight>
  8401. <Color>
  8402. <X>
  8403. <Value>0.5</Value>
  8404. </X>
  8405. <Y>
  8406. <Value>0.5</Value>
  8407. </Y>
  8408. <Z>
  8409. <Value>0.5</Value>
  8410. </Z>
  8411. </Color>
  8412. <Offset>
  8413. </Offset>
  8414. <Multipliers>
  8415. <X>
  8416. <Value>1</Value>
  8417. </X>
  8418. <Y>
  8419. <Value>1</Value>
  8420. </Y>
  8421. <Z>
  8422. <Value>1</Value>
  8423. </Z>
  8424. </Multipliers>
  8425. <Direct3DColorRange>true</Direct3DColorRange>
  8426. </DiffuseLight>
  8427. <SpecularLight>
  8428. <Color>
  8429. <X>
  8430. <Value>0.5</Value>
  8431. </X>
  8432. <Y>
  8433. <Value>0.5</Value>
  8434. </Y>
  8435. <Z>
  8436. <Value>0.5</Value>
  8437. </Z>
  8438. </Color>
  8439. <Offset>
  8440. </Offset>
  8441. <Multipliers>
  8442. <X>
  8443. <Value>1</Value>
  8444. </X>
  8445. <Y>
  8446. <Value>1</Value>
  8447. </Y>
  8448. <Z>
  8449. <Value>1</Value>
  8450. </Z>
  8451. </Multipliers>
  8452. <Direct3DColorRange>true</Direct3DColorRange>
  8453. </SpecularLight>
  8454. <AmbientOn>false</AmbientOn>
  8455. <DiffuseOn>true</DiffuseOn>
  8456. <SpecularOn>true</SpecularOn>
  8457. </Light>
  8458. <Light>
  8459. <ShowReferenceFrame>false</ShowReferenceFrame>
  8460. <Name>Spot Light 2</Name>
  8461. <Position>
  8462. <X>
  8463. <Value>2</Value>
  8464. </X>
  8465. <Y>
  8466. <Value>-3</Value>
  8467. </Y>
  8468. <Z>
  8469. <Value>-1</Value>
  8470. </Z>
  8471. </Position>
  8472. <Orientation>
  8473. <ZAxis>
  8474. <X>
  8475. <Value>-0.534522483824849</Value>
  8476. </X>
  8477. <Y>
  8478. <Value>0.801783725737273</Value>
  8479. </Y>
  8480. <Z>
  8481. <Value>0.267261241912424</Value>
  8482. </Z>
  8483. </ZAxis>
  8484. <YAxis>
  8485. <X>
  8486. <Value>0.14824986333222</Value>
  8487. </X>
  8488. <Y>
  8489. <Value>-0.22237479499833</Value>
  8490. </Y>
  8491. <Z>
  8492. <Value>0.963624111659432</Value>
  8493. </Z>
  8494. </YAxis>
  8495. <OrientationType>Direct3D</OrientationType>
  8496. </Orientation>
  8497. <LockX>false</LockX>
  8498. <LockY>false</LockY>
  8499. <LockZ>false</LockZ>
  8500. <LockXPitch>false</LockXPitch>
  8501. <LockYYaw>false</LockYYaw>
  8502. <LockZRoll>false</LockZRoll>
  8503. <Childs>
  8504. </Childs>
  8505. <LightType>2</LightType>
  8506. <LightColor>
  8507. <Color>
  8508. <X>
  8509. <Value>1</Value>
  8510. </X>
  8511. <Y>
  8512. <Value>1</Value>
  8513. </Y>
  8514. <Z>
  8515. <Value>1</Value>
  8516. </Z>
  8517. </Color>
  8518. <Offset>
  8519. </Offset>
  8520. <Multipliers>
  8521. <X>
  8522. <Value>1</Value>
  8523. </X>
  8524. <Y>
  8525. <Value>1</Value>
  8526. </Y>
  8527. <Z>
  8528. <Value>1</Value>
  8529. </Z>
  8530. </Multipliers>
  8531. <Direct3DColorRange>true</Direct3DColorRange>
  8532. </LightColor>
  8533. <Attenuation>
  8534. <Constant>
  8535. <Value>1.0</Value>
  8536. </Constant>
  8537. <Linear>
  8538. <Value>0.05</Value>
  8539. </Linear>
  8540. <Quadratic>
  8541. <Value>0.05</Value>
  8542. </Quadratic>
  8543. </Attenuation>
  8544. <Umbra>
  8545. <Value>1.5707963267948966</Value>
  8546. </Umbra>
  8547. <Penumbra>
  8548. <Value>1.5707963267948966</Value>
  8549. </Penumbra>
  8550. <SpotExponent>0.0</SpotExponent>
  8551. <DiffuseLight>
  8552. <Color>
  8553. <X>
  8554. <Value>1</Value>
  8555. </X>
  8556. <Y>
  8557. <Value>1</Value>
  8558. </Y>
  8559. <Z>
  8560. <Value>1</Value>
  8561. </Z>
  8562. </Color>
  8563. <Offset>
  8564. </Offset>
  8565. <Multipliers>
  8566. <X>
  8567. <Value>1</Value>
  8568. </X>
  8569. <Y>
  8570. <Value>1</Value>
  8571. </Y>
  8572. <Z>
  8573. <Value>1</Value>
  8574. </Z>
  8575. </Multipliers>
  8576. <Direct3DColorRange>true</Direct3DColorRange>
  8577. </DiffuseLight>
  8578. <SpecularLight>
  8579. <Color>
  8580. <X>
  8581. <Value>0.5</Value>
  8582. </X>
  8583. <Y>
  8584. <Value>0.5</Value>
  8585. </Y>
  8586. <Z>
  8587. <Value>0.5</Value>
  8588. </Z>
  8589. </Color>
  8590. <Offset>
  8591. </Offset>
  8592. <Multipliers>
  8593. <X>
  8594. <Value>1</Value>
  8595. </X>
  8596. <Y>
  8597. <Value>1</Value>
  8598. </Y>
  8599. <Z>
  8600. <Value>1</Value>
  8601. </Z>
  8602. </Multipliers>
  8603. <Direct3DColorRange>true</Direct3DColorRange>
  8604. </SpecularLight>
  8605. <AmbientOn>false</AmbientOn>
  8606. <DiffuseOn>true</DiffuseOn>
  8607. <SpecularOn>true</SpecularOn>
  8608. </Light>
  8609. <Camera>
  8610. <ShowReferenceFrame>false</ShowReferenceFrame>
  8611. <Name>Camera Looking at Origin</Name>
  8612. <Position>
  8613. <X>
  8614. <Value>0.145719696848087</Value>
  8615. </X>
  8616. <Y>
  8617. <Value>0.00771906321726964</Value>
  8618. </Y>
  8619. <Z>
  8620. <Value>0.116837947253578</Value>
  8621. </Z>
  8622. </Position>
  8623. <Orientation>
  8624. <ZAxis>
  8625. <X>
  8626. <Value>-0.883129107704613</Value>
  8627. </X>
  8628. <Y>
  8629. <Value>-0.046561942628002</Value>
  8630. </Y>
  8631. <Z>
  8632. <Value>-0.46681362943209</Value>
  8633. </Z>
  8634. </ZAxis>
  8635. <YAxis>
  8636. <X>
  8637. <Value>-0.46616615439618</Value>
  8638. </X>
  8639. <Y>
  8640. <Value>-0.0245780617428944</Value>
  8641. </Y>
  8642. <Z>
  8643. <Value>0.884355717670463</Value>
  8644. </Z>
  8645. </YAxis>
  8646. <OrientationType>Direct3D</OrientationType>
  8647. </Orientation>
  8648. <LockX>false</LockX>
  8649. <LockY>false</LockY>
  8650. <LockZ>false</LockZ>
  8651. <LockXPitch>false</LockXPitch>
  8652. <LockYYaw>false</LockYYaw>
  8653. <LockZRoll>false</LockZRoll>
  8654. <Childs>
  8655. </Childs>
  8656. <FrontPlane>0.01</FrontPlane>
  8657. <BackPlane>100.0</BackPlane>
  8658. <AutoFrontBack>true</AutoFrontBack>
  8659. <Field>0.003926990816987242</Field>
  8660. <Fieldy>45.0</Fieldy>
  8661. <PlaneLeft>-10.0</PlaneLeft>
  8662. <PlaneRight>10.0</PlaneRight>
  8663. <PlaneTop>10.0</PlaneTop>
  8664. <PlaneBottom>-10.0</PlaneBottom>
  8665. <UseLookatPosition>true</UseLookatPosition>
  8666. <LookatPosition>
  8667. <X>
  8668. <Value>-0.000627364166602552</Value>
  8669. </X>
  8670. <Y>
  8671. <Value>3.08669776184333e-006</Value>
  8672. </Y>
  8673. <Z>
  8674. <Value>0.0394802856014185</Value>
  8675. </Z>
  8676. </LookatPosition>
  8677. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  8678. <LookUpVector>
  8679. <Z>
  8680. <Value>1</Value>
  8681. </Z>
  8682. </LookUpVector>
  8683. <RightHand>true</RightHand>
  8684. <Perspective>true</Perspective>
  8685. <IsSelectedCamera>true</IsSelectedCamera>
  8686. </Camera>
  8687. <Camera>
  8688. <ShowReferenceFrame>false</ShowReferenceFrame>
  8689. <Name>Front(XY)-Camera</Name>
  8690. <Position>
  8691. <Z>
  8692. <Value>10</Value>
  8693. </Z>
  8694. </Position>
  8695. <Orientation>
  8696. <ZAxis>
  8697. <Z>
  8698. <Value>-1</Value>
  8699. </Z>
  8700. </ZAxis>
  8701. <YAxis>
  8702. <Y>
  8703. <Value>1</Value>
  8704. </Y>
  8705. </YAxis>
  8706. <OrientationType>Direct3D</OrientationType>
  8707. </Orientation>
  8708. <LockX>false</LockX>
  8709. <LockY>false</LockY>
  8710. <LockZ>false</LockZ>
  8711. <LockXPitch>false</LockXPitch>
  8712. <LockYYaw>false</LockYYaw>
  8713. <LockZRoll>false</LockZRoll>
  8714. <Childs>
  8715. </Childs>
  8716. <FrontPlane>0.01</FrontPlane>
  8717. <BackPlane>100.0</BackPlane>
  8718. <AutoFrontBack>true</AutoFrontBack>
  8719. <Field>9.999999999999998</Field>
  8720. <Fieldy>45.0</Fieldy>
  8721. <PlaneLeft>-9.999999999999998</PlaneLeft>
  8722. <PlaneRight>9.999999999999998</PlaneRight>
  8723. <PlaneTop>9.999999999999998</PlaneTop>
  8724. <PlaneBottom>-9.999999999999998</PlaneBottom>
  8725. <UseLookatPosition>true</UseLookatPosition>
  8726. <LookatPosition>
  8727. </LookatPosition>
  8728. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  8729. <LookUpVector>
  8730. <Y>
  8731. <Value>1</Value>
  8732. </Y>
  8733. </LookUpVector>
  8734. <RightHand>true</RightHand>
  8735. <Perspective>false</Perspective>
  8736. <IsSelectedCamera>false</IsSelectedCamera>
  8737. </Camera>
  8738. <Camera>
  8739. <ShowReferenceFrame>false</ShowReferenceFrame>
  8740. <Name>Side(YZ)-Camera</Name>
  8741. <Position>
  8742. <X>
  8743. <Value>10</Value>
  8744. </X>
  8745. </Position>
  8746. <Orientation>
  8747. <ZAxis>
  8748. <X>
  8749. <Value>-1</Value>
  8750. </X>
  8751. </ZAxis>
  8752. <YAxis>
  8753. <Z>
  8754. <Value>1</Value>
  8755. </Z>
  8756. </YAxis>
  8757. <OrientationType>Direct3D</OrientationType>
  8758. </Orientation>
  8759. <LockX>false</LockX>
  8760. <LockY>false</LockY>
  8761. <LockZ>false</LockZ>
  8762. <LockXPitch>false</LockXPitch>
  8763. <LockYYaw>false</LockYYaw>
  8764. <LockZRoll>false</LockZRoll>
  8765. <Childs>
  8766. </Childs>
  8767. <FrontPlane>0.01</FrontPlane>
  8768. <BackPlane>100.0</BackPlane>
  8769. <AutoFrontBack>true</AutoFrontBack>
  8770. <Field>9.999999999999998</Field>
  8771. <Fieldy>45.0</Fieldy>
  8772. <PlaneLeft>-9.999999999999998</PlaneLeft>
  8773. <PlaneRight>9.999999999999998</PlaneRight>
  8774. <PlaneTop>9.999999999999998</PlaneTop>
  8775. <PlaneBottom>-9.999999999999998</PlaneBottom>
  8776. <UseLookatPosition>true</UseLookatPosition>
  8777. <LookatPosition>
  8778. </LookatPosition>
  8779. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  8780. <LookUpVector>
  8781. <Z>
  8782. <Value>1</Value>
  8783. </Z>
  8784. </LookUpVector>
  8785. <RightHand>true</RightHand>
  8786. <Perspective>false</Perspective>
  8787. <IsSelectedCamera>false</IsSelectedCamera>
  8788. </Camera>
  8789. <Camera>
  8790. <ShowReferenceFrame>false</ShowReferenceFrame>
  8791. <Name>Top(XZ)-Camera</Name>
  8792. <Position>
  8793. <Y>
  8794. <Value>10</Value>
  8795. </Y>
  8796. </Position>
  8797. <Orientation>
  8798. <ZAxis>
  8799. <Y>
  8800. <Value>-1</Value>
  8801. </Y>
  8802. </ZAxis>
  8803. <YAxis>
  8804. <X>
  8805. <Value>1</Value>
  8806. </X>
  8807. </YAxis>
  8808. <OrientationType>Direct3D</OrientationType>
  8809. </Orientation>
  8810. <LockX>false</LockX>
  8811. <LockY>false</LockY>
  8812. <LockZ>false</LockZ>
  8813. <LockXPitch>false</LockXPitch>
  8814. <LockYYaw>false</LockYYaw>
  8815. <LockZRoll>false</LockZRoll>
  8816. <Childs>
  8817. </Childs>
  8818. <FrontPlane>0.01</FrontPlane>
  8819. <BackPlane>100.0</BackPlane>
  8820. <AutoFrontBack>true</AutoFrontBack>
  8821. <Field>9.999999999999998</Field>
  8822. <Fieldy>45.0</Fieldy>
  8823. <PlaneLeft>-9.999999999999998</PlaneLeft>
  8824. <PlaneRight>9.999999999999998</PlaneRight>
  8825. <PlaneTop>9.999999999999998</PlaneTop>
  8826. <PlaneBottom>-9.999999999999998</PlaneBottom>
  8827. <UseLookatPosition>true</UseLookatPosition>
  8828. <LookatPosition>
  8829. </LookatPosition>
  8830. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  8831. <LookUpVector>
  8832. <X>
  8833. <Value>1</Value>
  8834. </X>
  8835. </LookUpVector>
  8836. <RightHand>true</RightHand>
  8837. <Perspective>false</Perspective>
  8838. <IsSelectedCamera>false</IsSelectedCamera>
  8839. </Camera>
  8840. </Childs>
  8841. </Frame>
  8842. <Frame>
  8843. <ScaleValue>
  8844. <X>
  8845. <Value>1</Value>
  8846. </X>
  8847. <Y>
  8848. <Value>1</Value>
  8849. </Y>
  8850. <Z>
  8851. <Value>1</Value>
  8852. </Z>
  8853. </ScaleValue>
  8854. <ShowReferenceFrame>false</ShowReferenceFrame>
  8855. <Name>Scenery</Name>
  8856. <Position>
  8857. </Position>
  8858. <Orientation>
  8859. <Angles>
  8860. </Angles>
  8861. <OrientationType>Bryant</OrientationType>
  8862. </Orientation>
  8863. <LockX>false</LockX>
  8864. <LockY>false</LockY>
  8865. <LockZ>false</LockZ>
  8866. <LockXPitch>false</LockXPitch>
  8867. <LockYYaw>false</LockYYaw>
  8868. <LockZRoll>false</LockZRoll>
  8869. <Childs>
  8870. <Cube>
  8871. <Center>Bottom</Center>
  8872. <RibLength>1.0</RibLength>
  8873. <ShowInnerSide>true</ShowInnerSide>
  8874. <Accuracy>4</Accuracy>
  8875. <ScaleValue>
  8876. <X>
  8877. <VariableName>Body1\dimension[1]</VariableName>
  8878. <Value>0.005</Value>
  8879. </X>
  8880. <Y>
  8881. <VariableName>Body1\dimension[2]</VariableName>
  8882. <Value>0.01</Value>
  8883. </Y>
  8884. <Z>
  8885. <VariableName>Body1\dimension[3]</VariableName>
  8886. <Value>0.065</Value>
  8887. </Z>
  8888. </ScaleValue>
  8889. <OverrideColor>true</OverrideColor>
  8890. <MeshColor>
  8891. <X>
  8892. <Value>0</Value>
  8893. </X>
  8894. <Y>
  8895. <Value>0.501960784313725</Value>
  8896. </Y>
  8897. <Z>
  8898. <Value>0.501960784313725</Value>
  8899. </Z>
  8900. </MeshColor>
  8901. <Alpha>1.0</Alpha>
  8902. <MeshColorMultipliers>
  8903. <X>
  8904. <Value>1</Value>
  8905. </X>
  8906. <Y>
  8907. <Value>1</Value>
  8908. </Y>
  8909. <Z>
  8910. <Value>1</Value>
  8911. </Z>
  8912. </MeshColorMultipliers>
  8913. <MeshColorOffsets>
  8914. </MeshColorOffsets>
  8915. <Direct3DColorRange>true</Direct3DColorRange>
  8916. <SpecularColor>
  8917. <X>
  8918. <Value>0.5</Value>
  8919. </X>
  8920. <Y>
  8921. <Value>0.5</Value>
  8922. </Y>
  8923. <Z>
  8924. <Value>0.5</Value>
  8925. </Z>
  8926. </SpecularColor>
  8927. <EmissiveColor>
  8928. </EmissiveColor>
  8929. <ShininessPower>
  8930. <Value>15</Value>
  8931. </ShininessPower>
  8932. <OverrideQuality>false</OverrideQuality>
  8933. <ShowReferenceFrame>false</ShowReferenceFrame>
  8934. <Name>Block</Name>
  8935. <Position>
  8936. <X>
  8937. <VariableName>Body1\position[1]</VariableName>
  8938. <Value>0.0</Value>
  8939. </X>
  8940. <Y>
  8941. <VariableName>Body1\position[2]</VariableName>
  8942. <Value>-1.0544452114340241e-4</Value>
  8943. </Y>
  8944. <Z>
  8945. <VariableName>Body1\position[3]</VariableName>
  8946. <Value>-3.650733400542561e-5</Value>
  8947. </Z>
  8948. </Position>
  8949. <Orientation>
  8950. <ZAxis>
  8951. <X>
  8952. <VariableName>Body1\R[1,3]</VariableName>
  8953. <Value>0.0</Value>
  8954. </X>
  8955. <Y>
  8956. <VariableName>Body1\R[2,3]</VariableName>
  8957. <Value>0.5179032193456982</Value>
  8958. </Y>
  8959. <Z>
  8960. <VariableName>Body1\R[3,3]</VariableName>
  8961. <Value>0.8554392178240144</Value>
  8962. </Z>
  8963. </ZAxis>
  8964. <YAxis>
  8965. <X>
  8966. <VariableName>Body1\R[1,2]</VariableName>
  8967. <Value>0.0</Value>
  8968. </X>
  8969. <Y>
  8970. <VariableName>Body1\R[2,2]</VariableName>
  8971. <Value>0.8554392178240144</Value>
  8972. </Y>
  8973. <Z>
  8974. <VariableName>Body1\R[3,2]</VariableName>
  8975. <Value>-0.5179032193456982</Value>
  8976. </Z>
  8977. </YAxis>
  8978. <OrientationType>Matrix</OrientationType>
  8979. </Orientation>
  8980. <LockX>false</LockX>
  8981. <LockY>false</LockY>
  8982. <LockZ>false</LockZ>
  8983. <LockXPitch>false</LockXPitch>
  8984. <LockYYaw>false</LockYYaw>
  8985. <LockZRoll>false</LockZRoll>
  8986. <Childs>
  8987. </Childs>
  8988. </Cube>
  8989. <Cube>
  8990. <Center>Center</Center>
  8991. <RibLength>1.0</RibLength>
  8992. <ShowInnerSide>true</ShowInnerSide>
  8993. <Accuracy>4</Accuracy>
  8994. <ScaleValue>
  8995. <X>
  8996. <VariableName>Body2\dimension[1]</VariableName>
  8997. <Value>0.005</Value>
  8998. </X>
  8999. <Y>
  9000. <VariableName>Body2\dimension[2]</VariableName>
  9001. <Value>0.025</Value>
  9002. </Y>
  9003. <Z>
  9004. <VariableName>Body2\dimension[3]</VariableName>
  9005. <Value>0.01</Value>
  9006. </Z>
  9007. </ScaleValue>
  9008. <OverrideColor>true</OverrideColor>
  9009. <MeshColor>
  9010. <X>
  9011. <Value>1</Value>
  9012. </X>
  9013. <Y>
  9014. <Value>0.501960784313725</Value>
  9015. </Y>
  9016. <Z>
  9017. <Value>0</Value>
  9018. </Z>
  9019. </MeshColor>
  9020. <Alpha>1.0</Alpha>
  9021. <MeshColorMultipliers>
  9022. <X>
  9023. <Value>1</Value>
  9024. </X>
  9025. <Y>
  9026. <Value>1</Value>
  9027. </Y>
  9028. <Z>
  9029. <Value>1</Value>
  9030. </Z>
  9031. </MeshColorMultipliers>
  9032. <MeshColorOffsets>
  9033. </MeshColorOffsets>
  9034. <Direct3DColorRange>true</Direct3DColorRange>
  9035. <SpecularColor>
  9036. <X>
  9037. <Value>0.5</Value>
  9038. </X>
  9039. <Y>
  9040. <Value>0.5</Value>
  9041. </Y>
  9042. <Z>
  9043. <Value>0.5</Value>
  9044. </Z>
  9045. </SpecularColor>
  9046. <EmissiveColor>
  9047. </EmissiveColor>
  9048. <ShininessPower>
  9049. <Value>15</Value>
  9050. </ShininessPower>
  9051. <OverrideQuality>false</OverrideQuality>
  9052. <ShowReferenceFrame>false</ShowReferenceFrame>
  9053. <Name>Block</Name>
  9054. <Position>
  9055. <X>
  9056. <VariableName>Body2\position[1]</VariableName>
  9057. <Value>0.0</Value>
  9058. </X>
  9059. <Y>
  9060. <VariableName>Body2\position[2]</VariableName>
  9061. <Value>-0.010891116074686562</Value>
  9062. </Y>
  9063. <Z>
  9064. <VariableName>Body2\position[3]</VariableName>
  9065. <Value>-0.006056910383998224</Value>
  9066. </Z>
  9067. </Position>
  9068. <Orientation>
  9069. <ZAxis>
  9070. <X>
  9071. <VariableName>Body2\R[1,3]</VariableName>
  9072. <Value>0.0</Value>
  9073. </X>
  9074. <Y>
  9075. <VariableName>Body2\R[2,3]</VariableName>
  9076. <Value>-0.4874093624920096</Value>
  9077. </Y>
  9078. <Z>
  9079. <VariableName>Body2\R[3,3]</VariableName>
  9080. <Value>0.8731735871836326</Value>
  9081. </Z>
  9082. </ZAxis>
  9083. <YAxis>
  9084. <X>
  9085. <VariableName>Body2\R[1,2]</VariableName>
  9086. <Value>0.0</Value>
  9087. </X>
  9088. <Y>
  9089. <VariableName>Body2\R[2,2]</VariableName>
  9090. <Value>0.8731735871836326</Value>
  9091. </Y>
  9092. <Z>
  9093. <VariableName>Body2\R[3,2]</VariableName>
  9094. <Value>0.4874093624920096</Value>
  9095. </Z>
  9096. </YAxis>
  9097. <OrientationType>Matrix</OrientationType>
  9098. </Orientation>
  9099. <LockX>false</LockX>
  9100. <LockY>false</LockY>
  9101. <LockZ>false</LockZ>
  9102. <LockXPitch>false</LockXPitch>
  9103. <LockYYaw>false</LockYYaw>
  9104. <LockZRoll>false</LockZRoll>
  9105. <Childs>
  9106. </Childs>
  9107. </Cube>
  9108. <Cube>
  9109. <Center>Bottom</Center>
  9110. <RibLength>1.0</RibLength>
  9111. <ShowInnerSide>true</ShowInnerSide>
  9112. <Accuracy>4</Accuracy>
  9113. <ScaleValue>
  9114. <X>
  9115. <VariableName>Body3\dimension[1]</VariableName>
  9116. <Value>0.005</Value>
  9117. </X>
  9118. <Y>
  9119. <VariableName>Body3\dimension[2]</VariableName>
  9120. <Value>0.01</Value>
  9121. </Y>
  9122. <Z>
  9123. <VariableName>Body3\dimension[3]</VariableName>
  9124. <Value>0.065</Value>
  9125. </Z>
  9126. </ScaleValue>
  9127. <OverrideColor>true</OverrideColor>
  9128. <MeshColor>
  9129. <X>
  9130. <Value>0.501960784313725</Value>
  9131. </X>
  9132. <Y>
  9133. <Value>0.501960784313725</Value>
  9134. </Y>
  9135. <Z>
  9136. <Value>1</Value>
  9137. </Z>
  9138. </MeshColor>
  9139. <Alpha>1.0</Alpha>
  9140. <MeshColorMultipliers>
  9141. <X>
  9142. <Value>1</Value>
  9143. </X>
  9144. <Y>
  9145. <Value>1</Value>
  9146. </Y>
  9147. <Z>
  9148. <Value>1</Value>
  9149. </Z>
  9150. </MeshColorMultipliers>
  9151. <MeshColorOffsets>
  9152. </MeshColorOffsets>
  9153. <Direct3DColorRange>true</Direct3DColorRange>
  9154. <SpecularColor>
  9155. <X>
  9156. <Value>0.5</Value>
  9157. </X>
  9158. <Y>
  9159. <Value>0.5</Value>
  9160. </Y>
  9161. <Z>
  9162. <Value>0.5</Value>
  9163. </Z>
  9164. </SpecularColor>
  9165. <EmissiveColor>
  9166. </EmissiveColor>
  9167. <ShininessPower>
  9168. <Value>15</Value>
  9169. </ShininessPower>
  9170. <OverrideQuality>false</OverrideQuality>
  9171. <ShowReferenceFrame>false</ShowReferenceFrame>
  9172. <Name>Block</Name>
  9173. <Position>
  9174. <X>
  9175. <VariableName>Body3\position[1]</VariableName>
  9176. <Value>0.0</Value>
  9177. </X>
  9178. <Y>
  9179. <VariableName>Body3\position[2]</VariableName>
  9180. <Value>-0.02178223215904808</Value>
  9181. </Y>
  9182. <Z>
  9183. <VariableName>Body3\position[3]</VariableName>
  9184. <Value>-0.012112104568558652</Value>
  9185. </Z>
  9186. </Position>
  9187. <Orientation>
  9188. <ZAxis>
  9189. <X>
  9190. <VariableName>Body3\R[1,3]</VariableName>
  9191. <Value>0.0</Value>
  9192. </X>
  9193. <Y>
  9194. <VariableName>Body3\R[2,3]</VariableName>
  9195. <Value>0.5107213704282335</Value>
  9196. </Y>
  9197. <Z>
  9198. <VariableName>Body3\R[3,3]</VariableName>
  9199. <Value>0.8597462891969393</Value>
  9200. </Z>
  9201. </ZAxis>
  9202. <YAxis>
  9203. <X>
  9204. <VariableName>Body3\R[1,2]</VariableName>
  9205. <Value>0.0</Value>
  9206. </X>
  9207. <Y>
  9208. <VariableName>Body3\R[2,2]</VariableName>
  9209. <Value>0.8597462891969393</Value>
  9210. </Y>
  9211. <Z>
  9212. <VariableName>Body3\R[3,2]</VariableName>
  9213. <Value>-0.5107213704282335</Value>
  9214. </Z>
  9215. </YAxis>
  9216. <OrientationType>Matrix</OrientationType>
  9217. </Orientation>
  9218. <LockX>false</LockX>
  9219. <LockY>false</LockY>
  9220. <LockZ>false</LockZ>
  9221. <LockXPitch>false</LockXPitch>
  9222. <LockYYaw>false</LockYYaw>
  9223. <LockZRoll>false</LockZRoll>
  9224. <Childs>
  9225. </Childs>
  9226. </Cube>
  9227. <Cube>
  9228. <Center>Center</Center>
  9229. <RibLength>1.0</RibLength>
  9230. <ShowInnerSide>true</ShowInnerSide>
  9231. <Accuracy>4</Accuracy>
  9232. <ScaleValue>
  9233. <X>
  9234. <VariableName>Body4\dimension[1]</VariableName>
  9235. <Value>0.005</Value>
  9236. </X>
  9237. <Y>
  9238. <VariableName>Body4\dimension[2]</VariableName>
  9239. <Value>0.05</Value>
  9240. </Y>
  9241. <Z>
  9242. <VariableName>Body4\dimension[3]</VariableName>
  9243. <Value>0.01</Value>
  9244. </Z>
  9245. </ScaleValue>
  9246. <OverrideColor>true</OverrideColor>
  9247. <MeshColor>
  9248. <X>
  9249. <Value>0.501960784313725</Value>
  9250. </X>
  9251. <Y>
  9252. <Value>0</Value>
  9253. </Y>
  9254. <Z>
  9255. <Value>0</Value>
  9256. </Z>
  9257. </MeshColor>
  9258. <Alpha>1.0</Alpha>
  9259. <MeshColorMultipliers>
  9260. <X>
  9261. <Value>1</Value>
  9262. </X>
  9263. <Y>
  9264. <Value>1</Value>
  9265. </Y>
  9266. <Z>
  9267. <Value>1</Value>
  9268. </Z>
  9269. </MeshColorMultipliers>
  9270. <MeshColorOffsets>
  9271. </MeshColorOffsets>
  9272. <Direct3DColorRange>true</Direct3DColorRange>
  9273. <SpecularColor>
  9274. <X>
  9275. <Value>0.5</Value>
  9276. </X>
  9277. <Y>
  9278. <Value>0.5</Value>
  9279. </Y>
  9280. <Z>
  9281. <Value>0.5</Value>
  9282. </Z>
  9283. </SpecularColor>
  9284. <EmissiveColor>
  9285. </EmissiveColor>
  9286. <ShininessPower>
  9287. <Value>15</Value>
  9288. </ShininessPower>
  9289. <OverrideQuality>false</OverrideQuality>
  9290. <ShowReferenceFrame>false</ShowReferenceFrame>
  9291. <Name>Block</Name>
  9292. <Position>
  9293. <X>
  9294. <VariableName>Body4\position[1]</VariableName>
  9295. <Value>0.0</Value>
  9296. </X>
  9297. <Y>
  9298. <VariableName>Body4\position[2]</VariableName>
  9299. <Value>0.0335347846656958</Value>
  9300. </Y>
  9301. <Z>
  9302. <VariableName>Body4\position[3]</VariableName>
  9303. <Value>0.0555071396541279</Value>
  9304. </Z>
  9305. </Position>
  9306. <Orientation>
  9307. <ZAxis>
  9308. <X>
  9309. <VariableName>Body4\R[1,3]</VariableName>
  9310. <Value>0.0</Value>
  9311. </X>
  9312. <Y>
  9313. <VariableName>Body4\R[2,3]</VariableName>
  9314. <Value>-0.46775115900174147</Value>
  9315. </Y>
  9316. <Z>
  9317. <VariableName>Body4\R[3,3]</VariableName>
  9318. <Value>0.8838602000613716</Value>
  9319. </Z>
  9320. </ZAxis>
  9321. <YAxis>
  9322. <X>
  9323. <VariableName>Body4\R[1,2]</VariableName>
  9324. <Value>0.0</Value>
  9325. </X>
  9326. <Y>
  9327. <VariableName>Body4\R[2,2]</VariableName>
  9328. <Value>0.8838602000613716</Value>
  9329. </Y>
  9330. <Z>
  9331. <VariableName>Body4\R[3,2]</VariableName>
  9332. <Value>0.46775115900174147</Value>
  9333. </Z>
  9334. </YAxis>
  9335. <OrientationType>Matrix</OrientationType>
  9336. </Orientation>
  9337. <LockX>false</LockX>
  9338. <LockY>false</LockY>
  9339. <LockZ>false</LockZ>
  9340. <LockXPitch>false</LockXPitch>
  9341. <LockYYaw>false</LockYYaw>
  9342. <LockZRoll>false</LockZRoll>
  9343. <Childs>
  9344. </Childs>
  9345. </Cube>
  9346. <Cube>
  9347. <Center>Center</Center>
  9348. <RibLength>1.0</RibLength>
  9349. <ShowInnerSide>true</ShowInnerSide>
  9350. <Accuracy>4</Accuracy>
  9351. <ScaleValue>
  9352. <X>
  9353. <VariableName>Body5\dimension[1]</VariableName>
  9354. <Value>0.005</Value>
  9355. </X>
  9356. <Y>
  9357. <VariableName>Body5\dimension[2]</VariableName>
  9358. <Value>0.025</Value>
  9359. </Y>
  9360. <Z>
  9361. <VariableName>Body5\dimension[3]</VariableName>
  9362. <Value>0.01</Value>
  9363. </Z>
  9364. </ScaleValue>
  9365. <OverrideColor>true</OverrideColor>
  9366. <MeshColor>
  9367. <X>
  9368. <Value>0.501960784313725</Value>
  9369. </X>
  9370. <Y>
  9371. <Value>0</Value>
  9372. </Y>
  9373. <Z>
  9374. <Value>0</Value>
  9375. </Z>
  9376. </MeshColor>
  9377. <Alpha>1.0</Alpha>
  9378. <MeshColorMultipliers>
  9379. <X>
  9380. <Value>1</Value>
  9381. </X>
  9382. <Y>
  9383. <Value>1</Value>
  9384. </Y>
  9385. <Z>
  9386. <Value>1</Value>
  9387. </Z>
  9388. </MeshColorMultipliers>
  9389. <MeshColorOffsets>
  9390. </MeshColorOffsets>
  9391. <Direct3DColorRange>true</Direct3DColorRange>
  9392. <SpecularColor>
  9393. <X>
  9394. <Value>0.5</Value>
  9395. </X>
  9396. <Y>
  9397. <Value>0.5</Value>
  9398. </Y>
  9399. <Z>
  9400. <Value>0.5</Value>
  9401. </Z>
  9402. </SpecularColor>
  9403. <EmissiveColor>
  9404. </EmissiveColor>
  9405. <ShininessPower>
  9406. <Value>15</Value>
  9407. </ShininessPower>
  9408. <OverrideQuality>false</OverrideQuality>
  9409. <ShowReferenceFrame>false</ShowReferenceFrame>
  9410. <Name>Block</Name>
  9411. <Position>
  9412. <X>
  9413. <VariableName>Body5\position[1]</VariableName>
  9414. <Value>0.0</Value>
  9415. </X>
  9416. <Y>
  9417. <VariableName>Body5\position[2]</VariableName>
  9418. <Value>0.06667959735242092</Value>
  9419. </Y>
  9420. <Z>
  9421. <VariableName>Body5\position[3]</VariableName>
  9422. <Value>0.0730331226976036</Value>
  9423. </Z>
  9424. </Position>
  9425. <Orientation>
  9426. <ZAxis>
  9427. <X>
  9428. <VariableName>Body5\R[1,3]</VariableName>
  9429. <Value>0.0</Value>
  9430. </X>
  9431. <Y>
  9432. <VariableName>Body5\R[2,3]</VariableName>
  9433. <Value>-0.46775087171205454</Value>
  9434. </Y>
  9435. <Z>
  9436. <VariableName>Body5\R[3,3]</VariableName>
  9437. <Value>0.8838603520990255</Value>
  9438. </Z>
  9439. </ZAxis>
  9440. <YAxis>
  9441. <X>
  9442. <VariableName>Body5\R[1,2]</VariableName>
  9443. <Value>0.0</Value>
  9444. </X>
  9445. <Y>
  9446. <VariableName>Body5\R[2,2]</VariableName>
  9447. <Value>0.8838603520990255</Value>
  9448. </Y>
  9449. <Z>
  9450. <VariableName>Body5\R[3,2]</VariableName>
  9451. <Value>0.46775087171205454</Value>
  9452. </Z>
  9453. </YAxis>
  9454. <OrientationType>Matrix</OrientationType>
  9455. </Orientation>
  9456. <LockX>false</LockX>
  9457. <LockY>false</LockY>
  9458. <LockZ>false</LockZ>
  9459. <LockXPitch>false</LockXPitch>
  9460. <LockYYaw>false</LockYYaw>
  9461. <LockZRoll>false</LockZRoll>
  9462. <Childs>
  9463. </Childs>
  9464. </Cube>
  9465. </Childs>
  9466. </Frame>
  9467. </Childs>
  9468. </Frame>
  9469. </MainFrame>
  9470. </Plot>
  9471. <Plot>
  9472. <PlotType>GraphPlot</PlotType>
  9473. <BasePlot>
  9474. <PlotId>3</PlotId>
  9475. <UseWindowsBGColor>false</UseWindowsBGColor>
  9476. <BGColor>16777215</BGColor>
  9477. <PlotIsVisible>true</PlotIsVisible>
  9478. </BasePlot>
  9479. <Grid>
  9480. <DrawGrid>true</DrawGrid>
  9481. <GridColor>15780518</GridColor>
  9482. <GridBorderLineColor>12624260</GridBorderLineColor>
  9483. <GridZeroLineColor>0</GridZeroLineColor>
  9484. <XTicks>10</XTicks>
  9485. <YTicks>10</YTicks>
  9486. <ZTicks>10</ZTicks>
  9487. <Use3DLook>false</Use3DLook>
  9488. </Grid>
  9489. <PlotBGColor>16777215</PlotBGColor>
  9490. <ShowPlotTitle>true</ShowPlotTitle>
  9491. <TitlePosition>1</TitlePosition>
  9492. <PlotTitle>StepperD</PlotTitle>
  9493. <ShowXValues>true</ShowXValues>
  9494. <Fonts>
  9495. <TitleFont>
  9496. <Name>Arial</Name>
  9497. <Height>12</Height>
  9498. <PitchFamily>34</PitchFamily>
  9499. <Weight>400</Weight>
  9500. <Italic>0</Italic>
  9501. <UnderLine>0</UnderLine>
  9502. <StrikeOut>0</StrikeOut>
  9503. <Color>0</Color>
  9504. </TitleFont>
  9505. <LabelFont>
  9506. <Name>Arial</Name>
  9507. <Height>12</Height>
  9508. <PitchFamily>34</PitchFamily>
  9509. <Weight>400</Weight>
  9510. <Italic>0</Italic>
  9511. <UnderLine>0</UnderLine>
  9512. <StrikeOut>0</StrikeOut>
  9513. <Color>0</Color>
  9514. </LabelFont>
  9515. <ValuesFont>
  9516. <Name>Arial</Name>
  9517. <Height>10</Height>
  9518. <PitchFamily>34</PitchFamily>
  9519. <Weight>400</Weight>
  9520. <Italic>0</Italic>
  9521. <UnderLine>0</UnderLine>
  9522. <StrikeOut>0</StrikeOut>
  9523. <Color>0</Color>
  9524. </ValuesFont>
  9525. <LegendFont>
  9526. <Name>Arial</Name>
  9527. <Height>12</Height>
  9528. <PitchFamily>34</PitchFamily>
  9529. <Weight>400</Weight>
  9530. <Italic>0</Italic>
  9531. <UnderLine>0</UnderLine>
  9532. <StrikeOut>0</StrikeOut>
  9533. <Color>0</Color>
  9534. </LegendFont>
  9535. </Fonts>
  9536. <SharedXAxis>true</SharedXAxis>
  9537. <SharedYAxis>true</SharedYAxis>
  9538. <SharedZAxis>false</SharedZAxis>
  9539. <XAxes>
  9540. <Axis>
  9541. <Minimum>0.0</Minimum>
  9542. <Maximum>50.0</Maximum>
  9543. <Linear>true</Linear>
  9544. <Scaling>3</Scaling>
  9545. <Label>time</Label>
  9546. </Axis>
  9547. </XAxes>
  9548. <YAxes>
  9549. <Axis>
  9550. <Minimum>-1.0</Minimum>
  9551. <Maximum>1.0</Maximum>
  9552. <Linear>true</Linear>
  9553. <Scaling>2</Scaling>
  9554. <Label>setpoint</Label>
  9555. </Axis>
  9556. <Axis>
  9557. <Minimum>-1.0</Minimum>
  9558. <Maximum>1.0</Maximum>
  9559. <Linear>true</Linear>
  9560. <Scaling>2</Scaling>
  9561. <Label>angle</Label>
  9562. </Axis>
  9563. <Axis>
  9564. <Minimum>-1.0</Minimum>
  9565. <Maximum>1.0</Maximum>
  9566. <Linear>true</Linear>
  9567. <Scaling>2</Scaling>
  9568. <Label>angle</Label>
  9569. </Axis>
  9570. </YAxes>
  9571. <ZAxes>
  9572. </ZAxes>
  9573. <Curves>
  9574. <Curve>
  9575. <LineColor>3355111</LineColor>
  9576. <LineStyle>1</LineStyle>
  9577. <TickColor>3355111</TickColor>
  9578. <TickStyle>0</TickStyle>
  9579. <CurveVisible>true</CurveVisible>
  9580. <PixelThresshold>1</PixelThresshold>
  9581. <LineThickness>1</LineThickness>
  9582. <LineOrder>1</LineOrder>
  9583. <ShowYValues>true</ShowYValues>
  9584. <XCurveData>
  9585. <ShowUnit>true</ShowUnit>
  9586. <VarName>time</VarName>
  9587. </XCurveData>
  9588. <YCurveData>
  9589. <ShowUnit>true</ShowUnit>
  9590. <VarName>stepper_control1\setpoint</VarName>
  9591. </YCurveData>
  9592. </Curve>
  9593. <Curve>
  9594. <LineColor>6076255</LineColor>
  9595. <LineStyle>1</LineStyle>
  9596. <TickColor>6076255</TickColor>
  9597. <TickStyle>0</TickStyle>
  9598. <CurveVisible>true</CurveVisible>
  9599. <PixelThresshold>1</PixelThresshold>
  9600. <LineThickness>1</LineThickness>
  9601. <LineOrder>1</LineOrder>
  9602. <ShowYValues>true</ShowYValues>
  9603. <XCurveData>
  9604. <ShowUnit>true</ShowUnit>
  9605. <VarName>time</VarName>
  9606. </XCurveData>
  9607. <YCurveData>
  9608. <ShowUnit>true</ShowUnit>
  9609. <VarName>Joint_dynC\angle</VarName>
  9610. </YCurveData>
  9611. </Curve>
  9612. <Curve>
  9613. <LineColor>12553035</LineColor>
  9614. <LineStyle>1</LineStyle>
  9615. <TickColor>12553035</TickColor>
  9616. <TickStyle>0</TickStyle>
  9617. <CurveVisible>true</CurveVisible>
  9618. <PixelThresshold>1</PixelThresshold>
  9619. <LineThickness>1</LineThickness>
  9620. <LineOrder>1</LineOrder>
  9621. <ShowYValues>true</ShowYValues>
  9622. <XCurveData>
  9623. <ShowUnit>true</ShowUnit>
  9624. <VarName>time</VarName>
  9625. </XCurveData>
  9626. <YCurveData>
  9627. <ShowUnit>true</ShowUnit>
  9628. <VarName>Joint_dynC\stepper_model\RotorAngle\angle</VarName>
  9629. </YCurveData>
  9630. </Curve>
  9631. </Curves>
  9632. <Legenda>
  9633. <ShowLegenda>true</ShowLegenda>
  9634. <BorderPenColor>0</BorderPenColor>
  9635. <BackgroundColor>16777215</BackgroundColor>
  9636. </Legenda>
  9637. </Plot>
  9638. <Plot>
  9639. <PlotType>GraphPlot</PlotType>
  9640. <BasePlot>
  9641. <PlotId>4</PlotId>
  9642. <UseWindowsBGColor>false</UseWindowsBGColor>
  9643. <BGColor>16777215</BGColor>
  9644. <PlotIsVisible>true</PlotIsVisible>
  9645. </BasePlot>
  9646. <Grid>
  9647. <DrawGrid>true</DrawGrid>
  9648. <GridColor>15780518</GridColor>
  9649. <GridBorderLineColor>12624260</GridBorderLineColor>
  9650. <GridZeroLineColor>0</GridZeroLineColor>
  9651. <XTicks>10</XTicks>
  9652. <YTicks>10</YTicks>
  9653. <ZTicks>10</ZTicks>
  9654. <Use3DLook>false</Use3DLook>
  9655. </Grid>
  9656. <PlotBGColor>16777215</PlotBGColor>
  9657. <ShowPlotTitle>true</ShowPlotTitle>
  9658. <TitlePosition>1</TitlePosition>
  9659. <PlotTitle>Plot</PlotTitle>
  9660. <ShowXValues>true</ShowXValues>
  9661. <Fonts>
  9662. <TitleFont>
  9663. <Name>Arial</Name>
  9664. <Height>12</Height>
  9665. <PitchFamily>34</PitchFamily>
  9666. <Weight>400</Weight>
  9667. <Italic>0</Italic>
  9668. <UnderLine>0</UnderLine>
  9669. <StrikeOut>0</StrikeOut>
  9670. <Color>0</Color>
  9671. </TitleFont>
  9672. <LabelFont>
  9673. <Name>Arial</Name>
  9674. <Height>12</Height>
  9675. <PitchFamily>34</PitchFamily>
  9676. <Weight>400</Weight>
  9677. <Italic>0</Italic>
  9678. <UnderLine>0</UnderLine>
  9679. <StrikeOut>0</StrikeOut>
  9680. <Color>0</Color>
  9681. </LabelFont>
  9682. <ValuesFont>
  9683. <Name>Arial</Name>
  9684. <Height>10</Height>
  9685. <PitchFamily>34</PitchFamily>
  9686. <Weight>400</Weight>
  9687. <Italic>0</Italic>
  9688. <UnderLine>0</UnderLine>
  9689. <StrikeOut>0</StrikeOut>
  9690. <Color>0</Color>
  9691. </ValuesFont>
  9692. <LegendFont>
  9693. <Name>Arial</Name>
  9694. <Height>12</Height>
  9695. <PitchFamily>34</PitchFamily>
  9696. <Weight>400</Weight>
  9697. <Italic>0</Italic>
  9698. <UnderLine>0</UnderLine>
  9699. <StrikeOut>0</StrikeOut>
  9700. <Color>0</Color>
  9701. </LegendFont>
  9702. </Fonts>
  9703. <SharedXAxis>true</SharedXAxis>
  9704. <SharedYAxis>true</SharedYAxis>
  9705. <SharedZAxis>false</SharedZAxis>
  9706. <XAxes>
  9707. <Axis>
  9708. <Minimum>-0.025000001857932178</Minimum>
  9709. <Maximum>0.0831680151788676</Maximum>
  9710. <Linear>true</Linear>
  9711. <Scaling>3</Scaling>
  9712. <Label>position[2]</Label>
  9713. </Axis>
  9714. </XAxes>
  9715. <YAxes>
  9716. <Axis>
  9717. <Minimum>-0.020000000000000004</Minimum>
  9718. <Maximum>0.08</Maximum>
  9719. <Linear>true</Linear>
  9720. <Scaling>2</Scaling>
  9721. <Label>Body1</Label>
  9722. </Axis>
  9723. <Axis>
  9724. <Minimum>-0.06</Minimum>
  9725. <Maximum>0.14</Maximum>
  9726. <Linear>true</Linear>
  9727. <Scaling>2</Scaling>
  9728. <Label>Body2</Label>
  9729. </Axis>
  9730. <Axis>
  9731. <Minimum>-0.06</Minimum>
  9732. <Maximum>0.14</Maximum>
  9733. <Linear>true</Linear>
  9734. <Scaling>2</Scaling>
  9735. <Label>body3</Label>
  9736. </Axis>
  9737. <Axis>
  9738. <Minimum>-0.06</Minimum>
  9739. <Maximum>0.14</Maximum>
  9740. <Linear>true</Linear>
  9741. <Scaling>2</Scaling>
  9742. <Label>Body4</Label>
  9743. </Axis>
  9744. <Axis>
  9745. <Minimum>-0.06</Minimum>
  9746. <Maximum>0.14</Maximum>
  9747. <Linear>true</Linear>
  9748. <Scaling>2</Scaling>
  9749. <Label>Body5</Label>
  9750. </Axis>
  9751. <Axis>
  9752. <Minimum>-0.06</Minimum>
  9753. <Maximum>0.14</Maximum>
  9754. <Linear>true</Linear>
  9755. <Scaling>2</Scaling>
  9756. <Label>Body6</Label>
  9757. </Axis>
  9758. <Axis>
  9759. <Minimum>-0.06</Minimum>
  9760. <Maximum>0.14</Maximum>
  9761. <Linear>true</Linear>
  9762. <Scaling>2</Scaling>
  9763. <Label>path</Label>
  9764. </Axis>
  9765. </YAxes>
  9766. <ZAxes>
  9767. </ZAxes>
  9768. <Curves>
  9769. <Curve>
  9770. <LineColor>3355111</LineColor>
  9771. <LineStyle>1</LineStyle>
  9772. <TickColor>3355111</TickColor>
  9773. <TickStyle>0</TickStyle>
  9774. <CurveVisible>true</CurveVisible>
  9775. <PixelThresshold>1</PixelThresshold>
  9776. <LineThickness>1</LineThickness>
  9777. <LineOrder>1</LineOrder>
  9778. <ShowYValues>true</ShowYValues>
  9779. <XCurveData>
  9780. <ShowUnit>true</ShowUnit>
  9781. <VarName>Body1\position[2]</VarName>
  9782. </XCurveData>
  9783. <YCurveData>
  9784. <ShowUnit>true</ShowUnit>
  9785. <VarName>Body1\position[3]</VarName>
  9786. </YCurveData>
  9787. </Curve>
  9788. <Curve>
  9789. <LineColor>6076255</LineColor>
  9790. <LineStyle>1</LineStyle>
  9791. <TickColor>6076255</TickColor>
  9792. <TickStyle>0</TickStyle>
  9793. <CurveVisible>true</CurveVisible>
  9794. <PixelThresshold>1</PixelThresshold>
  9795. <LineThickness>1</LineThickness>
  9796. <LineOrder>1</LineOrder>
  9797. <ShowYValues>true</ShowYValues>
  9798. <XCurveData>
  9799. <ShowUnit>true</ShowUnit>
  9800. <VarName>Body2\position[2]</VarName>
  9801. </XCurveData>
  9802. <YCurveData>
  9803. <ShowUnit>true</ShowUnit>
  9804. <VarName>Body2\position[3]</VarName>
  9805. </YCurveData>
  9806. </Curve>
  9807. <Curve>
  9808. <LineColor>12553035</LineColor>
  9809. <LineStyle>1</LineStyle>
  9810. <TickColor>12553035</TickColor>
  9811. <TickStyle>0</TickStyle>
  9812. <CurveVisible>true</CurveVisible>
  9813. <PixelThresshold>1</PixelThresshold>
  9814. <LineThickness>1</LineThickness>
  9815. <LineOrder>1</LineOrder>
  9816. <ShowYValues>true</ShowYValues>
  9817. <XCurveData>
  9818. <ShowUnit>true</ShowUnit>
  9819. <VarName>Body3\position[2]</VarName>
  9820. </XCurveData>
  9821. <YCurveData>
  9822. <ShowUnit>true</ShowUnit>
  9823. <VarName>Body3\position[3]</VarName>
  9824. </YCurveData>
  9825. </Curve>
  9826. <Curve>
  9827. <LineColor>15086320</LineColor>
  9828. <LineStyle>1</LineStyle>
  9829. <TickColor>15086320</TickColor>
  9830. <TickStyle>0</TickStyle>
  9831. <CurveVisible>true</CurveVisible>
  9832. <PixelThresshold>1</PixelThresshold>
  9833. <LineThickness>1</LineThickness>
  9834. <LineOrder>1</LineOrder>
  9835. <ShowYValues>true</ShowYValues>
  9836. <XCurveData>
  9837. <ShowUnit>true</ShowUnit>
  9838. <VarName>Body4\position[2]</VarName>
  9839. </XCurveData>
  9840. <YCurveData>
  9841. <ShowUnit>true</ShowUnit>
  9842. <VarName>Body4\position[3]</VarName>
  9843. </YCurveData>
  9844. </Curve>
  9845. <Curve>
  9846. <LineColor>15790150</LineColor>
  9847. <LineStyle>1</LineStyle>
  9848. <TickColor>15790150</TickColor>
  9849. <TickStyle>0</TickStyle>
  9850. <CurveVisible>true</CurveVisible>
  9851. <PixelThresshold>1</PixelThresshold>
  9852. <LineThickness>1</LineThickness>
  9853. <LineOrder>1</LineOrder>
  9854. <ShowYValues>true</ShowYValues>
  9855. <XCurveData>
  9856. <ShowUnit>true</ShowUnit>
  9857. <VarName>Body5\position[2]</VarName>
  9858. </XCurveData>
  9859. <YCurveData>
  9860. <ShowUnit>true</ShowUnit>
  9861. <VarName>Body5\position[3]</VarName>
  9862. </YCurveData>
  9863. </Curve>
  9864. <Curve>
  9865. <LineColor>1696255</LineColor>
  9866. <LineStyle>1</LineStyle>
  9867. <TickColor>1696255</TickColor>
  9868. <TickStyle>0</TickStyle>
  9869. <CurveVisible>true</CurveVisible>
  9870. <PixelThresshold>1</PixelThresshold>
  9871. <LineThickness>1</LineThickness>
  9872. <LineOrder>1</LineOrder>
  9873. <ShowYValues>true</ShowYValues>
  9874. <XCurveData>
  9875. <ShowUnit>true</ShowUnit>
  9876. <VarName>Body6\position[2]</VarName>
  9877. </XCurveData>
  9878. <YCurveData>
  9879. <ShowUnit>true</ShowUnit>
  9880. <VarName>Body6\position[3]</VarName>
  9881. </YCurveData>
  9882. </Curve>
  9883. <Curve>
  9884. <LineColor>4089775</LineColor>
  9885. <LineStyle>1</LineStyle>
  9886. <TickColor>4089775</TickColor>
  9887. <TickStyle>0</TickStyle>
  9888. <CurveVisible>true</CurveVisible>
  9889. <PixelThresshold>1</PixelThresshold>
  9890. <LineThickness>1</LineThickness>
  9891. <LineOrder>1</LineOrder>
  9892. <ShowYValues>true</ShowYValues>
  9893. <XCurveData>
  9894. <ShowUnit>true</ShowUnit>
  9895. <VarName>rectanglepath\output[1]</VarName>
  9896. </XCurveData>
  9897. <YCurveData>
  9898. <ShowUnit>true</ShowUnit>
  9899. <VarName>rectanglepath\output[2]</VarName>
  9900. </YCurveData>
  9901. </Curve>
  9902. </Curves>
  9903. <Legenda>
  9904. <ShowLegenda>true</ShowLegenda>
  9905. <BorderPenColor>0</BorderPenColor>
  9906. <BackgroundColor>16777215</BackgroundColor>
  9907. </Legenda>
  9908. </Plot>
  9909. </Plots>
  9910. <PlotPanels>
  9911. <PlotPanel>
  9912. <PlotPanelId>1</PlotPanelId>
  9913. <PlotPanelVisible>true</PlotPanelVisible>
  9914. <Name>Window 1</Name>
  9915. <Tiling>0</Tiling>
  9916. <PlotIds>
  9917. <PlotId>1</PlotId>
  9918. <PlotId>3</PlotId>
  9919. </PlotIds>
  9920. <ToggleState>Base</ToggleState>
  9921. </PlotPanel>
  9922. <PlotPanel>
  9923. <PlotPanelId>2</PlotPanelId>
  9924. <PlotPanelVisible>true</PlotPanelVisible>
  9925. <Name>Window 2</Name>
  9926. <Tiling>0</Tiling>
  9927. <PlotIds>
  9928. <PlotId>2</PlotId>
  9929. </PlotIds>
  9930. <ToggleState>Base</ToggleState>
  9931. </PlotPanel>
  9932. <PlotPanel>
  9933. <PlotPanelId>3</PlotPanelId>
  9934. <PlotPanelVisible>true</PlotPanelVisible>
  9935. <Name>Window 3</Name>
  9936. <Tiling>0</Tiling>
  9937. <PlotIds>
  9938. <PlotId>4</PlotId>
  9939. </PlotIds>
  9940. <ToggleState>Base</ToggleState>
  9941. </PlotPanel>
  9942. </PlotPanels>
  9943. <WindowRectangles virtualDesktopWidth="5760" virtualDesktopHeight="1080">
  9944. <WindowRectangle monitor="2" left="1920" top="0" right="3840" bottom="1080" plotpanelid="2">
  9945. 0.135417 0.109259 0.885417 0.809259
  9946. </WindowRectangle>
  9947. <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="1">
  9948. 0.132292 0.142593 0.930729 0.903704
  9949. </WindowRectangle>
  9950. <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="3">
  9951. 0 0.0259259 1 1
  9952. </WindowRectangle>
  9953. </WindowRectangles>
  9954. </PlotSpecs>
  9955. <RunSpecs>
  9956. <SimulatorSettings>
  9957. <StartTime>0.0</StartTime>
  9958. <FinishTime>50.0</FinishTime>
  9959. <AllowPassFinishTime>false</AllowPassFinishTime>
  9960. <Warp>false</Warp>
  9961. <FPGonio>false</FPGonio>
  9962. <UseOutputAfterEach>false</UseOutputAfterEach>
  9963. <OutputAfterEach>0.1</OutputAfterEach>
  9964. <EventEpsilon>1.0e-6</EventEpsilon>
  9965. <AlgebraicTolerance>1.0e-7</AlgebraicTolerance>
  9966. <SteadyStateAnalysis>false</SteadyStateAnalysis>
  9967. <UpdateHoldInstructions>true</UpdateHoldInstructions>
  9968. </SimulatorSettings>
  9969. <IntegrationMethods>
  9970. <IntegrationMethod>
  9971. <Name>Euler</Name>
  9972. <StepSize>0.01</StepSize>
  9973. <AutoStepSize>false</AutoStepSize>
  9974. </IntegrationMethod>
  9975. <IntegrationMethod>
  9976. <Name>BackwardEuler</Name>
  9977. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  9978. <RelativeTolerance>1.0e-5</RelativeTolerance>
  9979. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  9980. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  9981. <StepSize>0.01</StepSize>
  9982. <Alpha>1.0</Alpha>
  9983. </IntegrationMethod>
  9984. <IntegrationMethod>
  9985. <Name>AdamsBashforth</Name>
  9986. <StepSize>0.01</StepSize>
  9987. <AutoStepSize>false</AutoStepSize>
  9988. </IntegrationMethod>
  9989. <IntegrationMethod>
  9990. <Name>RungeKutta2</Name>
  9991. <StepSize>0.01</StepSize>
  9992. <AutoStepSize>false</AutoStepSize>
  9993. </IntegrationMethod>
  9994. <IntegrationMethod>
  9995. <Name>RungeKutta4</Name>
  9996. <StepSize>0.01</StepSize>
  9997. <AutoStepSize>false</AutoStepSize>
  9998. </IntegrationMethod>
  9999. <IntegrationMethod>
  10000. <Name>RungeKutta8</Name>
  10001. <UseInitialStepSize>false</UseInitialStepSize>
  10002. <InitialStepSize>0.0</InitialStepSize>
  10003. <UseMaximumStepSize>false</UseMaximumStepSize>
  10004. <MaximumStepSize>0.0</MaximumStepSize>
  10005. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  10006. <RelativeTolerance>1.0e-6</RelativeTolerance>
  10007. <SafetyFactor>0.9</SafetyFactor>
  10008. <Factor1>0.33</Factor1>
  10009. <Factor2>6.0</Factor2>
  10010. <Beta>0.0</Beta>
  10011. <UseMaxNrSteps>false</UseMaxNrSteps>
  10012. <MaxNrSteps>100000</MaxNrSteps>
  10013. <UseStiffDetection>false</UseStiffDetection>
  10014. <MaxNrStiffnessSteps>1000</MaxNrStiffnessSteps>
  10015. </IntegrationMethod>
  10016. <IntegrationMethod>
  10017. <Name>RungeKuttaFehlberg</Name>
  10018. <UseInitialStepSize>false</UseInitialStepSize>
  10019. <InitialStepSize>0.0</InitialStepSize>
  10020. <UseMaximumStepSize>false</UseMaximumStepSize>
  10021. <MaximumStepSize>0.0</MaximumStepSize>
  10022. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  10023. <RelativeTolerance>1.0e-6</RelativeTolerance>
  10024. </IntegrationMethod>
  10025. <IntegrationMethod>
  10026. <Name>VodeAdams</Name>
  10027. <UseInitialStepSize>false</UseInitialStepSize>
  10028. <InitialStepSize>0.0</InitialStepSize>
  10029. <UseMaximumStepSize>false</UseMaximumStepSize>
  10030. <MaximumStepSize>0.0</MaximumStepSize>
  10031. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  10032. <RelativeTolerance>1.0e-6</RelativeTolerance>
  10033. <VodeUseBDF>true</VodeUseBDF>
  10034. <VodeUseNewton>true</VodeUseNewton>
  10035. </IntegrationMethod>
  10036. <IntegrationMethod>
  10037. <Name>BDFMethod</Name>
  10038. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  10039. <RelativeTolerance>1.0e-5</RelativeTolerance>
  10040. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  10041. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  10042. <UseInitialStepSize>false</UseInitialStepSize>
  10043. <InitialStepSize>0.0</InitialStepSize>
  10044. <UseMaximumStepSize>false</UseMaximumStepSize>
  10045. <MaximumStepSize>0.0</MaximumStepSize>
  10046. </IntegrationMethod>
  10047. <IntegrationMethod>
  10048. <Name>MeBDFiMethod</Name>
  10049. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  10050. <RelativeTolerance>1.0e-6</RelativeTolerance>
  10051. <AlgebraicAbsoluteTolerance>1.0e-6</AlgebraicAbsoluteTolerance>
  10052. <AlgebraicRelativeTolerance>1.0e-6</AlgebraicRelativeTolerance>
  10053. <UseInitialStepSize>false</UseInitialStepSize>
  10054. <InitialStepSize>0.0</InitialStepSize>
  10055. <UseMaximumStepSize>false</UseMaximumStepSize>
  10056. <MaximumStepSize>0.0</MaximumStepSize>
  10057. </IntegrationMethod>
  10058. <SelectedIntegrationMethod>9</SelectedIntegrationMethod>
  10059. </IntegrationMethods>
  10060. </RunSpecs>
  10061. <MultipleRun>
  10062. <NrSteps>10</NrSteps>
  10063. <CopyFromStates>false</CopyFromStates>
  10064. <JoinParameterVariation>true</JoinParameterVariation>
  10065. <ClearAfterRun>true</ClearAfterRun>
  10066. <RedrawAfterRun>false</RedrawAfterRun>
  10067. <DrawDuringSimulation>true</DrawDuringSimulation>
  10068. <ActionBeforeOptimization>0</ActionBeforeOptimization>
  10069. <CompareValue>0.0</CompareValue>
  10070. <UseCompareValue>true</UseCompareValue>
  10071. <MultipleRunType>MultipleRun</MultipleRunType>
  10072. <Minimize>true</Minimize>
  10073. <OptimizationVariable></OptimizationVariable>
  10074. <ResulVarUsage>UseEndValue</ResulVarUsage>
  10075. <Tolerance>0.001</Tolerance>
  10076. <OptimizationMethod>BroydonFletcherGoldfarbShanno</OptimizationMethod>
  10077. <MultipleRunVariables>
  10078. </MultipleRunVariables>
  10079. </MultipleRun>
  10080. <ExportData>
  10081. <WriteAsText>true</WriteAsText>
  10082. <ReadAsText>true</ReadAsText>
  10083. <WriteHeader>true</WriteHeader>
  10084. <ReadHeader>true</ReadHeader>
  10085. <ReadFilename></ReadFilename>
  10086. <WriteFilename></WriteFilename>
  10087. <DoWrite>false</DoWrite>
  10088. <ExportVariables>
  10089. <ExportVariable>
  10090. <VariableName>time</VariableName>
  10091. </ExportVariable>
  10092. </ExportVariables>
  10093. <ImportVariables>
  10094. </ImportVariables>
  10095. </ExportData>
  10096. <BreakPoints>
  10097. </BreakPoints>
  10098. <AnimationPlayback>
  10099. <PlaybackSpeed>1.0</PlaybackSpeed>
  10100. </AnimationPlayback>
  10101. </ExpData>
  10102. </Experiment>
  10103. </Experiments>
  10104. </Document>