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

14372 line
416KB

  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-24 16:11:50</TimeStamp>
  12. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  13. </Description>
  14. </Information>';
  15. type 'Mainmodel-v2'
  16. end;
  17. implementation bg
  18. submodels
  19. Body1 472 336
  20. description '<Description><Version>4.0</Version>
  21. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  22. <IsMainModel>1</IsMainModel>
  23. <KeepParameterValues>False</KeepParameterValues>
  24. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  25. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  26. </Description>';
  27. type 'Submodel-Equation'
  28. ports
  29. signal in input [4,4];
  30. end;
  31. implementation eq
  32. parameters
  33. real dimension[3] = [0.0048;0.009;0.065] {m};
  34. variables
  35. real position[3];
  36. real rotation[3];
  37. real R[3,3];
  38. equations
  39. position = input[1:3,4];
  40. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  41. //[input[3,2];input[1,3];input[2,1]];
  42. R = input[1:3,1:3];implementation_end;
  43. Body2 360 560
  44. description '<Description><Version>4.0</Version>
  45. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  46. <IsMainModel>1</IsMainModel>
  47. <KeepParameterValues>False</KeepParameterValues>
  48. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  49. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  50. </Description>';
  51. type 'Submodel-Equation'
  52. ports
  53. signal in input [4,4];
  54. end;
  55. implementation eq
  56. parameters
  57. real dimension[3] = [0.005;0.025;0.01] {m};
  58. variables
  59. real position[3];
  60. real rotation[3];
  61. real R[3,3];
  62. equations
  63. position = input[1:3,4];
  64. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  65. //[input[3,2];input[1,3];input[2,1]];
  66. R = input[1:3,1:3];implementation_end;
  67. Body3 104 312
  68. description '<Description><Version>4.0</Version>
  69. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  70. <IsMainModel>1</IsMainModel>
  71. <KeepParameterValues>False</KeepParameterValues>
  72. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  73. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  74. </Description>';
  75. type 'Submodel-Equation'
  76. ports
  77. signal in input [4,4];
  78. end;
  79. implementation eq
  80. parameters
  81. real dimension[3] = [0.0045;0.01;0.065] {m};
  82. variables
  83. real position[3];
  84. real rotation[3];
  85. real R[3,3];
  86. equations
  87. position = input[1:3,4];
  88. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  89. //[input[3,2];input[1,3];input[2,1]];
  90. R = input[1:3,1:3];implementation_end;
  91. Body4 480 64
  92. description '<Description><Version>4.0</Version>
  93. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  94. <IsMainModel>1</IsMainModel>
  95. <KeepParameterValues>False</KeepParameterValues>
  96. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  97. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  98. </Description>';
  99. type 'Submodel-Equation'
  100. ports
  101. signal in input [4,4];
  102. end;
  103. implementation eq
  104. parameters
  105. real dimension[3] = [0.005;0.05;0.01] {m};
  106. variables
  107. real position[3];
  108. real rotation[3];
  109. real R[3,3];
  110. equations
  111. position = input[1:3,4];
  112. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  113. //[input[3,2];input[1,3];input[2,1]];
  114. R = input[1:3,1:3];implementation_end;
  115. Body5 992 48
  116. description '<Description><Version>4.0</Version>
  117. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  118. <IsMainModel>1</IsMainModel>
  119. <KeepParameterValues>False</KeepParameterValues>
  120. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  121. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  122. </Description>';
  123. type 'Submodel-Equation'
  124. ports
  125. signal in input [4,4];
  126. end;
  127. implementation eq
  128. parameters
  129. real dimension[3] = [0.005;0.025;0.01] {m};
  130. variables
  131. real position[3];
  132. real rotation[3];
  133. real R[3,3];
  134. equations
  135. position = input[1:3,4];
  136. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  137. //[input[3,2];input[1,3];input[2,1]];
  138. R = input[1:3,1:3];implementation_end;
  139. Body6 1416 184
  140. description '<Description><Version>4.0</Version>
  141. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  142. <IsMainModel>1</IsMainModel>
  143. <KeepParameterValues>False</KeepParameterValues>
  144. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  145. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  146. </Description>';
  147. type 'Submodel-Equation'
  148. ports
  149. signal in input [4,4];
  150. end;
  151. implementation eq
  152. parameters
  153. real dimension[3] = [0.005;0.025;0.01] {m};
  154. variables
  155. real position[3];
  156. real rotation[3];
  157. real R[3,3];
  158. equations
  159. position = input[1:3,4];
  160. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  161. //[input[3,2];input[1,3];input[2,1]];
  162. R = input[1:3,1:3];implementation_end;
  163. COM_body1 624 352
  164. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  165. real I [3,1] = [1.6399999999999998e-6; 4.7e-8; 1.61e-6] {N.m.s};
  166. real m = 0.00455 {kg};</GlobalRelations></Attributes></Information>';
  167. type Submodel
  168. ports
  169. signal in Hin [4,4];
  170. signal out Hout [4,4];
  171. power out p [6,1];
  172. end;
  173. icon bg bottom
  174. figures
  175. rectangle 608 320 640 384 color 0 fill 139;
  176. text 'COM' 624 352 color 0 'Clear Sans' 16;
  177. terminals
  178. Hin 608 336 fixed;
  179. p 608 368 fixed;
  180. end;
  181. implementation bg
  182. submodels
  183. AdHi0 544 400
  184. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  185. type MTF
  186. ports
  187. power in p1 [6,1];
  188. power out p2 [6,1];
  189. signal in H [4,4];
  190. restrictions
  191. causality constraint not_equal p1 p2;
  192. end;
  193. icon bg left
  194. figures
  195. text 'MTF' 544 400 color 0 18 bold;
  196. end;
  197. implementation eq
  198. variables
  199. real onlyRotH[4,4];
  200. code
  201. //Only rotations with respect to the inertial system matter!
  202. onlyRotH = H;
  203. onlyRotH[1,4] = 0;
  204. onlyRotH[2,4] = 0;
  205. onlyRotH[3,4] = 0;
  206. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  207. p1.f = Adjoint(onlyRotH) * p2.f;
  208. implementation_end;
  209. EJS 616 336
  210. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  211. type MGY
  212. ports
  213. power in p1 [6,1];
  214. end;
  215. icon bg top
  216. figures
  217. text 'MGY' 616 336 color 0 18 bold;
  218. end;
  219. implementation eq
  220. //EJS / Gyroscopic effects
  221. parameters
  222. real global I[3];
  223. real global m;
  224. variables
  225. real II[6,6]; //Inertial tensor
  226. real Q[6,6];
  227. real QI[6,6];
  228. real Ia[6];
  229. initialequations
  230. Ia[1:3] = I;
  231. Ia[4:6] = m;
  232. II = diag(Ia);
  233. equations
  234. Q = transpose(adjoint(p1.f));
  235. QI = Q*II;
  236. p1.e = QI*p1.f;implementation_end;
  237. Gravity 624 400
  238. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  239. type Se
  240. ports
  241. power out p [6,1];
  242. restrictions
  243. causality fixed out p;
  244. end;
  245. icon bg bottom
  246. figures
  247. text 'Se' 624 400 color 0 18 bold;
  248. end;
  249. implementation eq
  250. parameters
  251. real global m;
  252. variables
  253. real effort[6];
  254. equations
  255. effort = [0;0;0;0;0;-g_n*m];
  256. p.e = effort;
  257. implementation_end;
  258. InertialTensor 544 272
  259. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  260. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  261. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  262. </Description>';
  263. type 'I-3'
  264. ports
  265. power in p [6,1];
  266. signal out state [6,1];
  267. restrictions
  268. causality preferred in p;
  269. end;
  270. icon bg bottom
  271. figures
  272. text 'I' 544 272 color 0 18 bold;
  273. end;
  274. implementation eq
  275. parameters
  276. real global I[3];
  277. real global m;
  278. variables
  279. real II[6,6]; //Inertial tensor
  280. real Ia[6];
  281. initialequations
  282. Ia[1:3] = I;
  283. Ia[4:6] = m;
  284. II = diag(Ia);
  285. equations
  286. state = int(p.e); //state = generalized momentum
  287. p.f = inverse(II)*state;
  288. implementation_end;
  289. plug Hin 433.4 496;
  290. plug Hout 691.2 496;
  291. plug p 439.4 336;
  292. Splitter1 544 496
  293. description '<Description><Version>4.0</Version>
  294. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  295. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  296. <IsMainModel>1</IsMainModel>
  297. <KeepParameterValues>False</KeepParameterValues>
  298. </Description>';
  299. knot Splitter
  300. ports
  301. signal knot duplicatable out output [4,4];
  302. signal knot in input [4,4];
  303. end;
  304. icon bg ellipse
  305. figures
  306. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  307. ellipse 539.7 491.7 548.3 500.3 color -1;
  308. terminals
  309. input 544 496 fixed;
  310. end;
  311. implementation eq
  312. equations
  313. collect (output) = input;
  314. implementation_end;
  315. Ta0j 544 336
  316. description '<Description>
  317. <Version>4.0</Version>
  318. <IsMainModel>1</IsMainModel>
  319. <KeepParameterValues>False</KeepParameterValues>
  320. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  321. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  322. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  323. <Description></Description>
  324. </Description>';
  325. knot OneJunction
  326. ports
  327. power knot duplicatable none p [6,1];
  328. signal knot out flow [6,1];
  329. restrictions
  330. causality constraint one_out p;
  331. end;
  332. icon bg bottom
  333. figures
  334. text '1' 544 336 color 0 18 bold;
  335. end;
  336. implementation eq
  337. equations
  338. sum (direct (p.e)) = 0;
  339. equal (collect (p.f));
  340. flow = first (p.f);
  341. implementation_end;
  342. ZeroJunction1 504 336
  343. description '<Information>
  344. <Description>
  345. <Version>4.2</Version>
  346. <IsMainModel>1</IsMainModel>
  347. <KeepParameterValues>False</KeepParameterValues>
  348. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  349. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  350. </Description>
  351. </Information>';
  352. knot ZeroJunction
  353. ports
  354. power knot duplicatable none p [6,1];
  355. signal knot out effort [6,1];
  356. restrictions
  357. causality constraint one_in p;
  358. end;
  359. icon bg
  360. figures
  361. text '0' 504 336 color 0 18 bold;
  362. end;
  363. implementation eq
  364. equations
  365. sum (direct (p.f)) = 0;
  366. equal (collect (p.e));
  367. effort = first (p.e);
  368. implementation_end;
  369. end;
  370. connections
  371. AdHi0\p2 => Ta0j\p;
  372. Gravity\p => AdHi0\p1;
  373. Hin -> Splitter1\input;
  374. Splitter1\output -> AdHi0\H;
  375. Splitter1\output -> Hout;
  376. Ta0j\p => EJS\p1;
  377. Ta0j\p => InertialTensor\p;
  378. ZeroJunction1\p => p;
  379. ZeroJunction1\p => Ta0j\p;
  380. end;
  381. implementation_end;
  382. COM_body2 344 704
  383. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  384. real density = 1400 {kg/m3};
  385. real dimension[3] = [0.005;0.025;0.01] {m};
  386. variables
  387. real I[3,1] {N.m.s};
  388. real m {kg};
  389. initialequations
  390. m = dimension[1] * dimension[2] * dimension[3] * density;
  391. I[1] = m/12 * ( dimension[2]^2 + dimension[3]^2);
  392. I[2] = m/12 * ( dimension[1]^2 + dimension[3]^2);
  393. I[3] = m/12 * ( dimension[1]^2 + dimension[2]^2);</GlobalRelations></Attributes></Information>';
  394. type Submodel
  395. ports
  396. signal in Hin [4,4];
  397. signal out Hout [4,4];
  398. power out p [6,1];
  399. end;
  400. icon bg bottom
  401. figures
  402. rectangle 312 688 376 720 color 0 fill 139;
  403. text 'COM' 344 704 color 0 'Clear Sans' 16;
  404. terminals
  405. Hin 360 688 fixed;
  406. p 328 688 fixed;
  407. end;
  408. implementation bg
  409. submodels
  410. AdHi0 544 400
  411. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  412. type MTF
  413. ports
  414. power in p1 [6,1];
  415. power out p2 [6,1];
  416. signal in H [4,4];
  417. restrictions
  418. causality constraint not_equal p1 p2;
  419. end;
  420. icon bg left
  421. figures
  422. text 'MTF' 544 400 color 0 18 bold;
  423. end;
  424. implementation eq
  425. variables
  426. real onlyRotH[4,4];
  427. code
  428. //Only rotations with respect to the inertial system matter!
  429. onlyRotH = H;
  430. onlyRotH[1,4] = 0;
  431. onlyRotH[2,4] = 0;
  432. onlyRotH[3,4] = 0;
  433. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  434. p1.f = Adjoint(onlyRotH) * p2.f;
  435. implementation_end;
  436. EJS 624 336
  437. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  438. type MGY
  439. ports
  440. power in p1 [6,1];
  441. end;
  442. icon bg top
  443. figures
  444. text 'MGY' 624 336 color 0 18 bold;
  445. end;
  446. implementation eq
  447. //EJS / Gyroscopic effects
  448. variables
  449. real global I[3];
  450. real global m;
  451. real II[6,6]; //Inertial tensor
  452. real Q[6,6];
  453. real QI[6,6];
  454. real Ia[6];
  455. initialequations
  456. Ia[1:3] = I;
  457. Ia[4:6] = m;
  458. II = diag(Ia);
  459. equations
  460. Q = transpose(adjoint(p1.f));
  461. QI = Q*II;
  462. p1.e = QI*p1.f;implementation_end;
  463. Gravity 624 400
  464. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  465. type Se
  466. ports
  467. power out p [6,1];
  468. restrictions
  469. causality fixed out p;
  470. end;
  471. icon bg bottom
  472. figures
  473. text 'Se' 624 400 color 0 18 bold;
  474. end;
  475. implementation eq
  476. variables
  477. real global m;
  478. real effort[6];
  479. equations
  480. effort = [0;0;0;0;0;-g_n*m];
  481. p.e = effort;
  482. implementation_end;
  483. InertialTensor 544 256
  484. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  485. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  486. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  487. </Description>';
  488. type 'I-3'
  489. ports
  490. power in p [6,1];
  491. signal out state [6,1];
  492. restrictions
  493. causality preferred in p;
  494. end;
  495. icon bg bottom
  496. figures
  497. text 'I' 544 256 color 0 18 bold;
  498. end;
  499. implementation eq
  500. variables
  501. real global I[3];
  502. real global m;
  503. real II[6,6]; //Inertial tensor
  504. real Ia[6];
  505. initialequations
  506. Ia[1:3] = I;
  507. Ia[4:6] = m;
  508. II = diag(Ia);
  509. equations
  510. state = int(p.e); //state = generalized momentum
  511. p.f = inverse(II)*state;
  512. implementation_end;
  513. plug Hin 433.4 496;
  514. plug Hout 691.2 496;
  515. plug p 439.4 336;
  516. Splitter1 544 496
  517. description '<Description><Version>4.0</Version>
  518. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  519. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  520. <IsMainModel>1</IsMainModel>
  521. <KeepParameterValues>False</KeepParameterValues>
  522. </Description>';
  523. knot Splitter
  524. ports
  525. signal knot duplicatable out output [4,4];
  526. signal knot in input [4,4];
  527. end;
  528. icon bg ellipse
  529. figures
  530. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  531. ellipse 539.7 491.7 548.3 500.3 color -1;
  532. terminals
  533. input 544 496 fixed;
  534. end;
  535. implementation eq
  536. equations
  537. collect (output) = input;
  538. implementation_end;
  539. Ta0j 544 336
  540. description '<Description>
  541. <Version>4.0</Version>
  542. <IsMainModel>1</IsMainModel>
  543. <KeepParameterValues>False</KeepParameterValues>
  544. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  545. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  546. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  547. <Description></Description>
  548. </Description>';
  549. knot OneJunction
  550. ports
  551. power knot duplicatable none p [6,1];
  552. signal knot out flow [6,1];
  553. restrictions
  554. causality constraint one_out p;
  555. end;
  556. icon bg bottom
  557. figures
  558. text '1' 544 336 color 0 18 bold;
  559. end;
  560. implementation eq
  561. equations
  562. sum (direct (p.e)) = 0;
  563. equal (collect (p.f));
  564. flow = first (p.f);
  565. implementation_end;
  566. ZeroJunction1 504 336
  567. description '<Information>
  568. <Description>
  569. <Version>4.2</Version>
  570. <IsMainModel>1</IsMainModel>
  571. <KeepParameterValues>False</KeepParameterValues>
  572. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  573. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  574. </Description>
  575. </Information>';
  576. knot ZeroJunction
  577. ports
  578. power knot duplicatable none p [6,1];
  579. signal knot out effort [6,1];
  580. restrictions
  581. causality constraint one_in p;
  582. end;
  583. icon bg
  584. figures
  585. text '0' 504 336 color 0 18 bold;
  586. end;
  587. implementation eq
  588. equations
  589. sum (direct (p.f)) = 0;
  590. equal (collect (p.e));
  591. effort = first (p.e);
  592. implementation_end;
  593. end;
  594. connections
  595. AdHi0\p2 => Ta0j\p;
  596. Gravity\p => AdHi0\p1;
  597. Hin -> Splitter1\input;
  598. Splitter1\output -> AdHi0\H;
  599. Splitter1\output -> Hout;
  600. Ta0j\p => EJS\p1;
  601. Ta0j\p => InertialTensor\p;
  602. ZeroJunction1\p => p;
  603. ZeroJunction1\p => Ta0j\p;
  604. end;
  605. implementation_end;
  606. COM_body3 272 328
  607. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  608. real I [3,1] = [1.6399999999999998e-6; 4.7e-8; 1.61e-6] {N.m.s};
  609. real m = 0.00455 {kg};</GlobalRelations></Attributes></Information>';
  610. type Submodel
  611. ports
  612. signal in Hin [4,4];
  613. signal out Hout [4,4];
  614. power out p [6,1];
  615. end;
  616. icon bg bottom
  617. figures
  618. rectangle 256 296 288 360 color 0 fill 139;
  619. text 'COM' 272 328 color 0 'Clear Sans' 16;
  620. terminals
  621. Hin 256 312 fixed;
  622. p 256 344 fixed;
  623. end;
  624. implementation bg
  625. submodels
  626. AdHi0 544 400
  627. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  628. type MTF
  629. ports
  630. power in p1 [6,1];
  631. power out p2 [6,1];
  632. signal in H [4,4];
  633. restrictions
  634. causality constraint not_equal p1 p2;
  635. end;
  636. icon bg left
  637. figures
  638. text 'MTF' 544 400 color 0 18 bold;
  639. end;
  640. implementation eq
  641. variables
  642. real onlyRotH[4,4];
  643. code
  644. //Only rotations with respect to the inertial system matter!
  645. onlyRotH = H;
  646. onlyRotH[1,4] = 0;
  647. onlyRotH[2,4] = 0;
  648. onlyRotH[3,4] = 0;
  649. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  650. p1.f = Adjoint(onlyRotH) * p2.f;
  651. implementation_end;
  652. EJS 616 336
  653. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  654. type MGY
  655. ports
  656. power in p1 [6,1];
  657. end;
  658. icon bg top
  659. figures
  660. text 'MGY' 616 336 color 0 18 bold;
  661. end;
  662. implementation eq
  663. //EJS / Gyroscopic effects
  664. parameters
  665. real global I[3];
  666. real global m;
  667. variables
  668. real II[6,6]; //Inertial tensor
  669. real Q[6,6];
  670. real QI[6,6];
  671. real Ia[6];
  672. initialequations
  673. Ia[1:3] = I;
  674. Ia[4:6] = m;
  675. II = diag(Ia);
  676. equations
  677. Q = transpose(adjoint(p1.f));
  678. QI = Q*II;
  679. p1.e = QI*p1.f;implementation_end;
  680. Gravity 624 400
  681. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  682. type Se
  683. ports
  684. power out p [6,1];
  685. restrictions
  686. causality fixed out p;
  687. end;
  688. icon bg bottom
  689. figures
  690. text 'Se' 624 400 color 0 18 bold;
  691. end;
  692. implementation eq
  693. parameters
  694. real global m;
  695. variables
  696. real effort[6];
  697. equations
  698. effort = [0;0;0;0;0;-g_n*m];
  699. p.e = effort;
  700. implementation_end;
  701. InertialTensor 544 272
  702. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  703. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  704. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  705. </Description>';
  706. type 'I-3'
  707. ports
  708. power in p [6,1];
  709. signal out state [6,1];
  710. restrictions
  711. causality preferred in p;
  712. end;
  713. icon bg bottom
  714. figures
  715. text 'I' 544 272 color 0 18 bold;
  716. end;
  717. implementation eq
  718. parameters
  719. real global I[3];
  720. real global m;
  721. variables
  722. real II[6,6]; //Inertial tensor
  723. real Ia[6];
  724. initialequations
  725. Ia[1:3] = I;
  726. Ia[4:6] = m;
  727. II = diag(Ia);
  728. equations
  729. state = int(p.e); //state = generalized momentum
  730. p.f = inverse(II)*state;
  731. implementation_end;
  732. plug Hin 433.4 496;
  733. plug Hout 691.2 496;
  734. plug p 439.4 336;
  735. Splitter1 544 496
  736. description '<Description><Version>4.0</Version>
  737. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  738. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  739. <IsMainModel>1</IsMainModel>
  740. <KeepParameterValues>False</KeepParameterValues>
  741. </Description>';
  742. knot Splitter
  743. ports
  744. signal knot duplicatable out output [4,4];
  745. signal knot in input [4,4];
  746. end;
  747. icon bg ellipse
  748. figures
  749. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  750. ellipse 539.7 491.7 548.3 500.3 color -1;
  751. terminals
  752. input 544 496 fixed;
  753. end;
  754. implementation eq
  755. equations
  756. collect (output) = input;
  757. implementation_end;
  758. Ta0j 544 336
  759. description '<Description>
  760. <Version>4.0</Version>
  761. <IsMainModel>1</IsMainModel>
  762. <KeepParameterValues>False</KeepParameterValues>
  763. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  764. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  765. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  766. <Description></Description>
  767. </Description>';
  768. knot OneJunction
  769. ports
  770. power knot duplicatable none p [6,1];
  771. signal knot out flow [6,1];
  772. restrictions
  773. causality constraint one_out p;
  774. end;
  775. icon bg bottom
  776. figures
  777. text '1' 544 336 color 0 18 bold;
  778. end;
  779. implementation eq
  780. equations
  781. sum (direct (p.e)) = 0;
  782. equal (collect (p.f));
  783. flow = first (p.f);
  784. implementation_end;
  785. ZeroJunction1 504 336
  786. description '<Information>
  787. <Description>
  788. <Version>4.2</Version>
  789. <IsMainModel>1</IsMainModel>
  790. <KeepParameterValues>False</KeepParameterValues>
  791. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  792. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  793. </Description>
  794. </Information>';
  795. knot ZeroJunction
  796. ports
  797. power knot duplicatable none p [6,1];
  798. signal knot out effort [6,1];
  799. restrictions
  800. causality constraint one_in p;
  801. end;
  802. icon bg
  803. figures
  804. text '0' 504 336 color 0 18 bold;
  805. end;
  806. implementation eq
  807. equations
  808. sum (direct (p.f)) = 0;
  809. equal (collect (p.e));
  810. effort = first (p.e);
  811. implementation_end;
  812. end;
  813. connections
  814. AdHi0\p2 => Ta0j\p;
  815. Gravity\p => AdHi0\p1;
  816. Hin -> Splitter1\input;
  817. Splitter1\output -> AdHi0\H;
  818. Splitter1\output -> Hout;
  819. Ta0j\p => EJS\p1;
  820. Ta0j\p => InertialTensor\p;
  821. ZeroJunction1\p => p;
  822. ZeroJunction1\p => Ta0j\p;
  823. end;
  824. implementation_end;
  825. COM_body4 712 48
  826. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  827. real density = 1400 {kg/m3};
  828. real dimension[3] = [0.005;0.075;0.01] {m};
  829. real servoweight = 5 {g};
  830. variables
  831. real I[3,1] {N.m.s};
  832. real m {kg};
  833. real mass;
  834. initialequations
  835. mass = dimension[1] * dimension[2] * dimension[3] * density;
  836. I[1] = mass/12 * ( dimension[2]^2 + dimension[3]^2);
  837. I[2] = mass/12 * ( dimension[1]^2 + dimension[3]^2);
  838. I[3] = mass/12 * ( dimension[1]^2 + dimension[2]^2);
  839. m = mass + servoweight;</GlobalRelations></Attributes></Information>';
  840. type Submodel
  841. ports
  842. signal in Hin [4,4];
  843. signal out Hout [4,4];
  844. power out p [6,1];
  845. end;
  846. icon bg bottom
  847. figures
  848. rectangle 680 32 744 64 color 0 fill 139;
  849. text 'COM' 712 48 color 0 'Clear Sans' 16;
  850. terminals
  851. Hin 728 64 fixed;
  852. p 696 64 fixed;
  853. end;
  854. implementation bg
  855. submodels
  856. AdHi0 544 400
  857. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  858. type MTF
  859. ports
  860. power in p1 [6,1];
  861. power out p2 [6,1];
  862. signal in H [4,4];
  863. restrictions
  864. causality constraint not_equal p1 p2;
  865. end;
  866. icon bg left
  867. figures
  868. text 'MTF' 544 400 color 0 18 bold;
  869. end;
  870. implementation eq
  871. variables
  872. real onlyRotH[4,4];
  873. code
  874. //Only rotations with respect to the inertial system matter!
  875. onlyRotH = H;
  876. onlyRotH[1,4] = 0;
  877. onlyRotH[2,4] = 0;
  878. onlyRotH[3,4] = 0;
  879. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  880. p1.f = Adjoint(onlyRotH) * p2.f;
  881. implementation_end;
  882. EJS 624 336
  883. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  884. type MGY
  885. ports
  886. power in p1 [6,1];
  887. end;
  888. icon bg top
  889. figures
  890. text 'MGY' 624 336 color 0 18 bold;
  891. end;
  892. implementation eq
  893. //EJS / Gyroscopic effects
  894. variables
  895. real global I[3];
  896. real global m;
  897. real II[6,6]; //Inertial tensor
  898. real Q[6,6];
  899. real QI[6,6];
  900. real Ia[6];
  901. initialequations
  902. Ia[1:3] = I;
  903. Ia[4:6] = m;
  904. II = diag(Ia);
  905. equations
  906. Q = transpose(adjoint(p1.f));
  907. QI = Q*II;
  908. p1.e = QI*p1.f;implementation_end;
  909. Gravity 624 400
  910. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  911. type Se
  912. ports
  913. power out p [6,1];
  914. restrictions
  915. causality fixed out p;
  916. end;
  917. icon bg bottom
  918. figures
  919. text 'Se' 624 400 color 0 18 bold;
  920. end;
  921. implementation eq
  922. variables
  923. real global m;
  924. real effort[6];
  925. equations
  926. effort = [0;0;0;0;0;-g_n*m];
  927. p.e = effort;
  928. implementation_end;
  929. InertialTensor 544 256
  930. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  931. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  932. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  933. </Description>';
  934. type 'I-3'
  935. ports
  936. power in p [6,1];
  937. signal out state [6,1];
  938. restrictions
  939. causality preferred in p;
  940. end;
  941. icon bg bottom
  942. figures
  943. text 'I' 544 256 color 0 18 bold;
  944. end;
  945. implementation eq
  946. variables
  947. real global I[3];
  948. real global m;
  949. real II[6,6]; //Inertial tensor
  950. real Ia[6];
  951. initialequations
  952. Ia[1:3] = I;
  953. Ia[4:6] = m;
  954. II = diag(Ia);
  955. equations
  956. state = int(p.e); //state = generalized momentum
  957. p.f = inverse(II)*state;
  958. implementation_end;
  959. plug Hin 433.4 496;
  960. plug Hout 691.2 496;
  961. plug p 439.4 336;
  962. Splitter1 544 496
  963. description '<Description><Version>4.0</Version>
  964. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  965. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  966. <IsMainModel>1</IsMainModel>
  967. <KeepParameterValues>False</KeepParameterValues>
  968. </Description>';
  969. knot Splitter
  970. ports
  971. signal knot duplicatable out output [4,4];
  972. signal knot in input [4,4];
  973. end;
  974. icon bg ellipse
  975. figures
  976. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  977. ellipse 539.7 491.7 548.3 500.3 color -1;
  978. terminals
  979. input 544 496 fixed;
  980. end;
  981. implementation eq
  982. equations
  983. collect (output) = input;
  984. implementation_end;
  985. Ta0j 544 336
  986. description '<Description>
  987. <Version>4.0</Version>
  988. <IsMainModel>1</IsMainModel>
  989. <KeepParameterValues>False</KeepParameterValues>
  990. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  991. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  992. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  993. <Description></Description>
  994. </Description>';
  995. knot OneJunction
  996. ports
  997. power knot duplicatable none p [6,1];
  998. signal knot out flow [6,1];
  999. restrictions
  1000. causality constraint one_out p;
  1001. end;
  1002. icon bg bottom
  1003. figures
  1004. text '1' 544 336 color 0 18 bold;
  1005. end;
  1006. implementation eq
  1007. equations
  1008. sum (direct (p.e)) = 0;
  1009. equal (collect (p.f));
  1010. flow = first (p.f);
  1011. implementation_end;
  1012. ZeroJunction1 504 336
  1013. description '<Information>
  1014. <Description>
  1015. <Version>4.2</Version>
  1016. <IsMainModel>1</IsMainModel>
  1017. <KeepParameterValues>False</KeepParameterValues>
  1018. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1019. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  1020. </Description>
  1021. </Information>';
  1022. knot ZeroJunction
  1023. ports
  1024. power knot duplicatable none p [6,1];
  1025. signal knot out effort [6,1];
  1026. restrictions
  1027. causality constraint one_in p;
  1028. end;
  1029. icon bg
  1030. figures
  1031. text '0' 504 336 color 0 18 bold;
  1032. end;
  1033. implementation eq
  1034. equations
  1035. sum (direct (p.f)) = 0;
  1036. equal (collect (p.e));
  1037. effort = first (p.e);
  1038. implementation_end;
  1039. end;
  1040. connections
  1041. AdHi0\p2 => Ta0j\p;
  1042. Gravity\p => AdHi0\p1;
  1043. Hin -> Splitter1\input;
  1044. Splitter1\output -> AdHi0\H;
  1045. Splitter1\output -> Hout;
  1046. Ta0j\p => EJS\p1;
  1047. Ta0j\p => InertialTensor\p;
  1048. ZeroJunction1\p => p;
  1049. ZeroJunction1\p => Ta0j\p;
  1050. end;
  1051. implementation_end;
  1052. COM_body5 1472 128
  1053. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Bond Graph\MR\center_of_mass_v2.emx</LibraryPath><TimeStamp>2020-7-21 12:24:38</TimeStamp></Description><Attributes><GlobalRelations>parameters
  1054. real I [3,1] = [0.018;0.159;0.159] {mN.m.s};
  1055. real m = 0.015 {kg};</GlobalRelations></Attributes></Information>';
  1056. type Submodel
  1057. ports
  1058. signal in Hin [4,4];
  1059. signal out Hout [4,4];
  1060. power out p [6,1];
  1061. end;
  1062. icon bg bottom
  1063. figures
  1064. rectangle 1456 96 1488 160 color 0 fill 139;
  1065. text 'COM' 1472 128 color 0 'Clear Sans' 16;
  1066. terminals
  1067. Hin 1456 144 fixed;
  1068. p 1456 112 fixed;
  1069. end;
  1070. implementation bg
  1071. submodels
  1072. AdHi0 544 400
  1073. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:3</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  1074. type MTF
  1075. ports
  1076. power in p1 [6,1];
  1077. power out p2 [6,1];
  1078. signal in H [4,4];
  1079. restrictions
  1080. causality constraint not_equal p1 p2;
  1081. end;
  1082. icon bg left
  1083. figures
  1084. text 'MTF' 544 400 color 0 18 bold;
  1085. end;
  1086. implementation eq
  1087. variables
  1088. real onlyRotH[4,4];
  1089. code
  1090. //Only rotations with respect to the inertial system matter!
  1091. onlyRotH = H;
  1092. onlyRotH[1,4] = 0;
  1093. onlyRotH[2,4] = 0;
  1094. onlyRotH[3,4] = 0;
  1095. p2.e = transpose(Adjoint(onlyRotH)) * p1.e;
  1096. p1.f = Adjoint(onlyRotH) * p2.f;
  1097. implementation_end;
  1098. EJS 616 336
  1099. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-10-31 11:43:6</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  1100. type MGY
  1101. ports
  1102. power in p1 [6,1];
  1103. end;
  1104. icon bg top
  1105. figures
  1106. text 'MGY' 616 336 color 0 18 bold;
  1107. end;
  1108. implementation eq
  1109. //EJS / Gyroscopic effects
  1110. parameters
  1111. real global I[3];
  1112. real global m;
  1113. variables
  1114. real II[6,6]; //Inertial tensor
  1115. real Q[6,6];
  1116. real QI[6,6];
  1117. real Ia[6];
  1118. initialequations
  1119. Ia[1:3] = I;
  1120. Ia[4:6] = m;
  1121. II = diag(Ia);
  1122. equations
  1123. Q = transpose(adjoint(p1.f));
  1124. QI = Q*II;
  1125. p1.e = QI*p1.f;implementation_end;
  1126. Gravity 624 400
  1127. description '<Information><Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><LibraryPath></LibraryPath><TimeStamp>2007-9-25 12:3:26</TimeStamp><AllowLibraryUpdate>True</AllowLibraryUpdate></Description></Information>';
  1128. type Se
  1129. ports
  1130. power out p [6,1];
  1131. restrictions
  1132. causality fixed out p;
  1133. end;
  1134. icon bg bottom
  1135. figures
  1136. text 'Se' 624 400 color 0 18 bold;
  1137. end;
  1138. implementation eq
  1139. parameters
  1140. real global m;
  1141. variables
  1142. real effort[6];
  1143. equations
  1144. effort = [0;0;0;0;0;-g_n*m];
  1145. p.e = effort;
  1146. implementation_end;
  1147. InertialTensor 544 272
  1148. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1149. <LibraryPath>Bond Graph\3D\I-3.emx</LibraryPath>
  1150. <TimeStamp>2007-9-25 12:12:14</TimeStamp>
  1151. </Description>';
  1152. type 'I-3'
  1153. ports
  1154. power in p [6,1];
  1155. signal out state [6,1];
  1156. restrictions
  1157. causality preferred in p;
  1158. end;
  1159. icon bg bottom
  1160. figures
  1161. text 'I' 544 272 color 0 18 bold;
  1162. end;
  1163. implementation eq
  1164. parameters
  1165. real global I[3];
  1166. real global m;
  1167. variables
  1168. real II[6,6]; //Inertial tensor
  1169. real Ia[6];
  1170. initialequations
  1171. Ia[1:3] = I;
  1172. Ia[4:6] = m;
  1173. II = diag(Ia);
  1174. equations
  1175. state = int(p.e); //state = generalized momentum
  1176. p.f = inverse(II)*state;
  1177. implementation_end;
  1178. plug Hin 433.4 496;
  1179. plug Hout 691.2 496;
  1180. plug p 439.4 336;
  1181. Splitter1 544 496
  1182. description '<Description><Version>4.0</Version>
  1183. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1184. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1185. <IsMainModel>1</IsMainModel>
  1186. <KeepParameterValues>False</KeepParameterValues>
  1187. </Description>';
  1188. knot Splitter
  1189. ports
  1190. signal knot duplicatable out output [4,4];
  1191. signal knot in input [4,4];
  1192. end;
  1193. icon bg ellipse
  1194. figures
  1195. ellipse 540.8 492.8 547.2 499.2 color -1 fill 0;
  1196. ellipse 539.7 491.7 548.3 500.3 color -1;
  1197. terminals
  1198. input 544 496 fixed;
  1199. end;
  1200. implementation eq
  1201. equations
  1202. collect (output) = input;
  1203. implementation_end;
  1204. Ta0j 544 336
  1205. description '<Description>
  1206. <Version>4.0</Version>
  1207. <IsMainModel>1</IsMainModel>
  1208. <KeepParameterValues>False</KeepParameterValues>
  1209. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1210. <TimeStamp>2007-9-27 9:51:18</TimeStamp>
  1211. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1212. <Description></Description>
  1213. </Description>';
  1214. knot OneJunction
  1215. ports
  1216. power knot duplicatable none p [6,1];
  1217. signal knot out flow [6,1];
  1218. restrictions
  1219. causality constraint one_out p;
  1220. end;
  1221. icon bg bottom
  1222. figures
  1223. text '1' 544 336 color 0 18 bold;
  1224. end;
  1225. implementation eq
  1226. equations
  1227. sum (direct (p.e)) = 0;
  1228. equal (collect (p.f));
  1229. flow = first (p.f);
  1230. implementation_end;
  1231. ZeroJunction1 504 336
  1232. description '<Information>
  1233. <Description>
  1234. <Version>4.2</Version>
  1235. <IsMainModel>1</IsMainModel>
  1236. <KeepParameterValues>False</KeepParameterValues>
  1237. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1238. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  1239. </Description>
  1240. </Information>';
  1241. knot ZeroJunction
  1242. ports
  1243. power knot duplicatable none p [6,1];
  1244. signal knot out effort [6,1];
  1245. restrictions
  1246. causality constraint one_in p;
  1247. end;
  1248. icon bg
  1249. figures
  1250. text '0' 504 336 color 0 18 bold;
  1251. end;
  1252. implementation eq
  1253. equations
  1254. sum (direct (p.f)) = 0;
  1255. equal (collect (p.e));
  1256. effort = first (p.e);
  1257. implementation_end;
  1258. end;
  1259. connections
  1260. AdHi0\p2 => Ta0j\p;
  1261. Gravity\p => AdHi0\p1;
  1262. Hin -> Splitter1\input;
  1263. Splitter1\output -> AdHi0\H;
  1264. Splitter1\output -> Hout;
  1265. Ta0j\p => EJS\p1;
  1266. Ta0j\p => InertialTensor\p;
  1267. ZeroJunction1\p => p;
  1268. ZeroJunction1\p => Ta0j\p;
  1269. end;
  1270. implementation_end;
  1271. Ground1 620 687.5
  1272. description '<Information>
  1273. <Description>
  1274. <Version>4.8</Version>
  1275. <IsMainModel>1</IsMainModel>
  1276. <LibraryPath>Bond Graph\MR\Ground.emx</LibraryPath>
  1277. <TimeStamp>2020-7-23 09:30:51</TimeStamp>
  1278. </Description>
  1279. </Information>';
  1280. type Submodel
  1281. ports
  1282. power in p [6,1];
  1283. signal out output [4,4];
  1284. end;
  1285. icon bg bottom
  1286. figures
  1287. line 584 680 600 696 color 0 fill 15132390;
  1288. line 592 680 608 696 color 0 fill 15132390;
  1289. line 576 680 592 696 color 0 fill 15132390;
  1290. line 616 696 600 680 color 0 fill 15132390;
  1291. line 624 696 608 680 color 0 fill 15132390;
  1292. line 632 696 616 680 color 0 fill 15132390;
  1293. line 648 696 632 680 color 0 fill 15132390;
  1294. line 640 696 624 680 color 0 fill 15132390;
  1295. line 656 696 640 680 color 0 fill 15132390;
  1296. line 664 696 648 680 color 0 fill 15132390;
  1297. line 576 680 664 680 color 0 fill 15132390 width 2;
  1298. line 656 680 664 688 color 0 fill 15132390;
  1299. line 576 688 584 696 color 0 fill 15132390;
  1300. terminals
  1301. p 600 680 fixed;
  1302. output 632 680 fixed;
  1303. end;
  1304. implementation bg
  1305. submodels
  1306. plug p 240 88;
  1307. plug output 240 120;
  1308. OneJunction2 192 88
  1309. description '<Information>
  1310. <Description>
  1311. <Version>4.2</Version>
  1312. <IsMainModel>1</IsMainModel>
  1313. <KeepParameterValues>False</KeepParameterValues>
  1314. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  1315. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  1316. </Description>
  1317. </Information>';
  1318. knot OneJunction
  1319. ports
  1320. power knot duplicatable none p [6,1];
  1321. signal knot out flow [6,1];
  1322. restrictions
  1323. causality constraint one_out p;
  1324. end;
  1325. icon bg
  1326. figures
  1327. text '1' 192 88 color 0 18 bold;
  1328. end;
  1329. implementation eq
  1330. equations
  1331. sum (direct (p.e)) = 0;
  1332. equal (collect (p.f));
  1333. flow = first (p.f);
  1334. implementation_end;
  1335. Sf2 136 88
  1336. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1337. <LibraryPath>Bond Graph\2D\Sf-2.emx</LibraryPath>
  1338. <TimeStamp>2007-9-25 12:7:5</TimeStamp>
  1339. </Description>';
  1340. type 'Sf-2'
  1341. ports
  1342. power out p [6,1];
  1343. restrictions
  1344. causality fixed in p;
  1345. end;
  1346. icon bg bottom
  1347. figures
  1348. text 'Sf' 136 88 color 0 18 bold;
  1349. end;
  1350. implementation eq
  1351. parameters
  1352. real flow[6,1] = 0;
  1353. variables
  1354. real effort [6];
  1355. equations
  1356. p.f = flow;
  1357. effort = p.e;
  1358. implementation_end;
  1359. Zero 144 120
  1360. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  1361. <LibraryPath>Signal\Sources\Zero.emx</LibraryPath>
  1362. <TimeStamp>2007-9-27 15:54:36</TimeStamp>
  1363. </Description>
  1364. ';
  1365. type Zero
  1366. ports
  1367. signal out output [4,4];
  1368. end;
  1369. icon bg bottom
  1370. figures
  1371. rectangle 128.1 104 159.9 136 color 0 fill 15132390;
  1372. text '0' 144 120 color 16711680 18 bold;
  1373. end;
  1374. implementation eq
  1375. equations
  1376. output = eye(4);implementation_end;
  1377. end;
  1378. connections
  1379. p => OneJunction2\p;
  1380. Sf2\p => OneJunction2\p;
  1381. Zero\output -> output;
  1382. end;
  1383. implementation_end;
  1384. inverse_kinematics 712 768
  1385. description '<Information>
  1386. <Description>
  1387. <Version>4.8</Version>
  1388. <LibraryPath>SCARA\inverse_kinematics_v1.emx</LibraryPath>
  1389. <IsMainModel>1</IsMainModel>
  1390. <KeepParameterValues>False</KeepParameterValues>
  1391. <TimeStamp>2020-7-10 12:26:18</TimeStamp>
  1392. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  1393. </Description>
  1394. </Information>';
  1395. type 'Submodel-Equation'
  1396. ports
  1397. signal in input [2,1] {m} ;
  1398. signal out angle1 {rad} ;
  1399. signal out angle2 {rad} ;
  1400. signal out a {rad} ;
  1401. signal out b {rad} ;
  1402. signal out c {rad} ;
  1403. signal out phi {rad} ;
  1404. end;
  1405. implementation eq
  1406. parameters
  1407. real A_length = 0.065 {m}; // length of first arm
  1408. real B_length = 0.05 {m}; // length of second arm
  1409. real to_rad = 1 {rad};
  1410. variables
  1411. real x {m}, y {m};
  1412. real C_length {m}; // length to x and y.
  1413. equations
  1414. x = input[1];
  1415. y = input[2];
  1416. phi = atan2(y, x);
  1417. C_length = sqrt(x^2 + y^2);
  1418. a = arccos ((B_length^2 + C_length^2 - A_length^2) / (2 * B_length * C_length));
  1419. b = arccos ((A_length^2 + C_length^2 - B_length^2) / (2 * A_length * C_length));
  1420. c = arccos ((A_length^2 + B_length^2 - C_length^2) / (2 * A_length * B_length));
  1421. angle1 = b + phi;
  1422. angle2 = angle1 - pi * to_rad + c;
  1423. implementation_end;
  1424. JointA 560 512
  1425. description '<Information>
  1426. <Description>
  1427. <Version>4.8</Version>
  1428. <IsMainModel>1</IsMainModel>
  1429. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1430. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1431. </Description>
  1432. </Information>';
  1433. type 'Submodel-v3'
  1434. ports
  1435. power in Pin [6,1];
  1436. power in Pdiff [6,1];
  1437. signal in Hin [4,4];
  1438. signal out Hout [4,4];
  1439. signal out Hdiff [4,4];
  1440. power out Pout [6,1];
  1441. end;
  1442. icon bg bottom
  1443. figures
  1444. rectangle 528 488 592 536 color 0 fill 14745599;
  1445. text 'Joint' 560 512 color 0 'Clear Sans' 16;
  1446. terminals
  1447. Pin 544 536 fixed;
  1448. Hin 576 488 fixed;
  1449. Hout 576 536 fixed;
  1450. Pout 544 488 fixed;
  1451. end;
  1452. implementation bg
  1453. submodels
  1454. AdHji 424 424
  1455. description '<Description>
  1456. <Version>4.0</Version>
  1457. <IsMainModel>1</IsMainModel>
  1458. <KeepParameterValues>False</KeepParameterValues>
  1459. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1460. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1461. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1462. </Description>';
  1463. type MTF
  1464. ports
  1465. power out p1 [6,1];
  1466. power in p2 [6,1];
  1467. signal in H [4,4];
  1468. restrictions
  1469. causality constraint not_equal p1 p2;
  1470. end;
  1471. icon bg bottom
  1472. figures
  1473. text 'MTF' 424 424 color 0 18 bold;
  1474. end;
  1475. implementation eq
  1476. equations
  1477. p2.e = transpose(Adjoint(H)) * p1.e;
  1478. p1.f = Adjoint(H) * p2.f;implementation_end;
  1479. FlowSensor2 184 311.9
  1480. description '<Information>
  1481. <Description>
  1482. <Version>4.2</Version>
  1483. <IsMainModel>1</IsMainModel>
  1484. <KeepParameterValues>False</KeepParameterValues>
  1485. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1486. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1487. </Description>
  1488. </Information>';
  1489. knot FlowSensor
  1490. ports
  1491. power knot in p1 [6,1];
  1492. power knot out p2 [6,1];
  1493. signal knot out flow [6,1];
  1494. restrictions
  1495. causality constraint not_equal p1 p2;
  1496. end;
  1497. icon bg ellipse
  1498. figures
  1499. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1500. text 'f' 184 311.2 color 0;
  1501. end;
  1502. implementation eq
  1503. equations
  1504. p2.f = p1.f;
  1505. p1.e = p2.e;
  1506. flow = p1.f;
  1507. implementation_end;
  1508. Hmatrix 256 312
  1509. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  1510. type 'Submodel-Equation'
  1511. ports
  1512. signal in flow [6,1];
  1513. signal out H [4,4];
  1514. end;
  1515. icon bg
  1516. figures
  1517. rectangle 224 296 288 328 color 0 fill 15132390;
  1518. text 'name' 256 312 color 0 'Clear Sans' 16;
  1519. end;
  1520. implementation eq
  1521. parameters
  1522. real init[4] = [1;0;0;0];
  1523. variables
  1524. real q[4]; //quaternions
  1525. real W[3,4]; //Quaternion Rates Matrix
  1526. real R[3,3]; //Rotation Matrix
  1527. real p[3]; //Position Vector
  1528. real dq[4];
  1529. real Wb[3,4];
  1530. equations
  1531. dq = transpose(Wb) * flow[1:3] ./ 2;
  1532. q = int(dq,init);
  1533. p = int(flow[4:6]);
  1534. W = [-q[2], q[1], -q[4], q[3];
  1535. -q[3], q[4], q[1], -q[2];
  1536. -q[4], -q[3], q[2], q[1]];
  1537. Wb = [ -q[2], q[1], q[4], -q[3];
  1538. -q[3], -q[4], q[1], q[2];
  1539. -q[4], q[3], -q[2], q[1]];
  1540. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  1541. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  1542. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  1543. H = homogeneous(R,p);
  1544. implementation_end;
  1545. MatrixMul 320 576
  1546. description '<Description>
  1547. <Version>4.0</Version>
  1548. <IsMainModel>1</IsMainModel>
  1549. <KeepParameterValues>False</KeepParameterValues>
  1550. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1551. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1552. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1553. </Description>';
  1554. type Gain
  1555. ports
  1556. signal in input1 [4,4];
  1557. signal out output [4,4];
  1558. signal in input2 [4,4];
  1559. end;
  1560. icon bg bottom
  1561. figures
  1562. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1563. text 'X' 320 576 color 16711680 16 bold;
  1564. end;
  1565. implementation eq
  1566. equations
  1567. output = input2*input1; implementation_end;
  1568. plug Pin 492.1 424;
  1569. plug Pdiff 184 225;
  1570. plug Hin 130.8 576;
  1571. plug Hout 478.4 576;
  1572. plug Hdiff 320 222;
  1573. plug Pout 134.7 424;
  1574. Splitter2 320 312
  1575. description '<Description><Version>4.0</Version>
  1576. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1577. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1578. <IsMainModel>1</IsMainModel>
  1579. <KeepParameterValues>False</KeepParameterValues>
  1580. </Description>';
  1581. knot Splitter
  1582. ports
  1583. signal knot duplicatable out output [4,4];
  1584. signal knot in input [4,4];
  1585. end;
  1586. icon bg ellipse
  1587. figures
  1588. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  1589. ellipse 315.7 307.7 324.3 316.3 color -1;
  1590. terminals
  1591. input 320 312 fixed;
  1592. end;
  1593. implementation eq
  1594. equations
  1595. collect (output) = input;
  1596. implementation_end;
  1597. Wbai 184 424
  1598. description '<Description>
  1599. <Version>4.0</Version>
  1600. <IsMainModel>1</IsMainModel>
  1601. <KeepParameterValues>False</KeepParameterValues>
  1602. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1603. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  1604. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1605. </Description>';
  1606. knot ZeroJunction
  1607. ports
  1608. power knot duplicatable none p [6,1];
  1609. signal knot out effort [6,1];
  1610. restrictions
  1611. causality constraint one_in p;
  1612. end;
  1613. icon bg bottom
  1614. figures
  1615. text '0' 184 424 color 0 18 bold;
  1616. end;
  1617. implementation eq
  1618. equations
  1619. sum (direct (p.f)) = 0;
  1620. equal (collect (p.e));
  1621. effort = first (p.e);
  1622. implementation_end;
  1623. end;
  1624. connections
  1625. FlowSensor2\flow -> Hmatrix\flow;
  1626. FlowSensor2\p2 => Wbai\p;
  1627. Hin -> MatrixMul\input2;
  1628. Hmatrix\H -> Splitter2\input;
  1629. MatrixMul\output -> Hout;
  1630. Pdiff => FlowSensor2\p1;
  1631. Pin => AdHji\p2;
  1632. Splitter2\output -> AdHji\H 424 312;
  1633. Splitter2\output -> Hdiff;
  1634. Splitter2\output -> MatrixMul\input1;
  1635. Wbai\p <= AdHji\p1;
  1636. Wbai\p => Pout;
  1637. end;
  1638. implementation_end;
  1639. JointB 560 192
  1640. description '<Information>
  1641. <Description>
  1642. <Version>4.8</Version>
  1643. <IsMainModel>1</IsMainModel>
  1644. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1645. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1646. </Description>
  1647. </Information>';
  1648. type 'Submodel-v3'
  1649. ports
  1650. power in Pin [6,1];
  1651. power in Pdiff [6,1];
  1652. signal in Hin [4,4];
  1653. signal out Hout [4,4];
  1654. signal out Hdiff [4,4];
  1655. power out Pout [6,1];
  1656. end;
  1657. icon bg bottom
  1658. figures
  1659. rectangle 528 168 592 216 color 0 fill 14745599;
  1660. text 'Joint' 560 192 color 0 'Clear Sans' 16;
  1661. terminals
  1662. Pin 544 216 fixed;
  1663. Hin 576 168 fixed;
  1664. Hout 576 216 fixed;
  1665. Pout 544 168 fixed;
  1666. end;
  1667. implementation bg
  1668. submodels
  1669. AdHji 424 424
  1670. description '<Description>
  1671. <Version>4.0</Version>
  1672. <IsMainModel>1</IsMainModel>
  1673. <KeepParameterValues>False</KeepParameterValues>
  1674. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1675. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1676. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1677. </Description>';
  1678. type MTF
  1679. ports
  1680. power out p1 [6,1];
  1681. power in p2 [6,1];
  1682. signal in H [4,4];
  1683. restrictions
  1684. causality constraint not_equal p1 p2;
  1685. end;
  1686. icon bg bottom
  1687. figures
  1688. text 'MTF' 424 424 color 0 18 bold;
  1689. end;
  1690. implementation eq
  1691. equations
  1692. p2.e = transpose(Adjoint(H)) * p1.e;
  1693. p1.f = Adjoint(H) * p2.f;implementation_end;
  1694. FlowSensor2 184 311.9
  1695. description '<Information>
  1696. <Description>
  1697. <Version>4.2</Version>
  1698. <IsMainModel>1</IsMainModel>
  1699. <KeepParameterValues>False</KeepParameterValues>
  1700. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1701. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1702. </Description>
  1703. </Information>';
  1704. knot FlowSensor
  1705. ports
  1706. power knot in p1 [6,1];
  1707. power knot out p2 [6,1];
  1708. signal knot out flow [6,1];
  1709. restrictions
  1710. causality constraint not_equal p1 p2;
  1711. end;
  1712. icon bg ellipse
  1713. figures
  1714. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1715. text 'f' 184 311.2 color 0;
  1716. end;
  1717. implementation eq
  1718. equations
  1719. p2.f = p1.f;
  1720. p1.e = p2.e;
  1721. flow = p1.f;
  1722. implementation_end;
  1723. Hmatrix 256 312
  1724. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  1725. type 'Submodel-Equation'
  1726. ports
  1727. signal in flow [6,1];
  1728. signal out H [4,4];
  1729. end;
  1730. icon bg
  1731. figures
  1732. rectangle 224 296 288 328 color 0 fill 15132390;
  1733. text 'name' 256 312 color 0 'Clear Sans' 16;
  1734. end;
  1735. implementation eq
  1736. parameters
  1737. real init[4] = [1;0;0;0];
  1738. variables
  1739. real q[4]; //quaternions
  1740. real W[3,4]; //Quaternion Rates Matrix
  1741. real R[3,3]; //Rotation Matrix
  1742. real p[3]; //Position Vector
  1743. real dq[4];
  1744. real Wb[3,4];
  1745. equations
  1746. dq = transpose(Wb) * flow[1:3] ./ 2;
  1747. q = int(dq,init);
  1748. p = int(flow[4:6]);
  1749. W = [-q[2], q[1], -q[4], q[3];
  1750. -q[3], q[4], q[1], -q[2];
  1751. -q[4], -q[3], q[2], q[1]];
  1752. Wb = [ -q[2], q[1], q[4], -q[3];
  1753. -q[3], -q[4], q[1], q[2];
  1754. -q[4], q[3], -q[2], q[1]];
  1755. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  1756. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  1757. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  1758. H = homogeneous(R,p);
  1759. implementation_end;
  1760. MatrixMul 320 576
  1761. description '<Description>
  1762. <Version>4.0</Version>
  1763. <IsMainModel>1</IsMainModel>
  1764. <KeepParameterValues>False</KeepParameterValues>
  1765. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1766. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1767. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1768. </Description>';
  1769. type Gain
  1770. ports
  1771. signal in input1 [4,4];
  1772. signal out output [4,4];
  1773. signal in input2 [4,4];
  1774. end;
  1775. icon bg bottom
  1776. figures
  1777. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1778. text 'X' 320 576 color 16711680 16 bold;
  1779. end;
  1780. implementation eq
  1781. equations
  1782. output = input2*input1; implementation_end;
  1783. plug Pin 492.1 424;
  1784. plug Pdiff 184 225;
  1785. plug Hin 130.8 576;
  1786. plug Hout 478.4 576;
  1787. plug Hdiff 320 222;
  1788. plug Pout 134.7 424;
  1789. Splitter2 320 312
  1790. description '<Description><Version>4.0</Version>
  1791. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  1792. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  1793. <IsMainModel>1</IsMainModel>
  1794. <KeepParameterValues>False</KeepParameterValues>
  1795. </Description>';
  1796. knot Splitter
  1797. ports
  1798. signal knot duplicatable out output [4,4];
  1799. signal knot in input [4,4];
  1800. end;
  1801. icon bg ellipse
  1802. figures
  1803. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  1804. ellipse 315.7 307.7 324.3 316.3 color -1;
  1805. terminals
  1806. input 320 312 fixed;
  1807. end;
  1808. implementation eq
  1809. equations
  1810. collect (output) = input;
  1811. implementation_end;
  1812. Wbai 184 424
  1813. description '<Description>
  1814. <Version>4.0</Version>
  1815. <IsMainModel>1</IsMainModel>
  1816. <KeepParameterValues>False</KeepParameterValues>
  1817. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  1818. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  1819. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1820. </Description>';
  1821. knot ZeroJunction
  1822. ports
  1823. power knot duplicatable none p [6,1];
  1824. signal knot out effort [6,1];
  1825. restrictions
  1826. causality constraint one_in p;
  1827. end;
  1828. icon bg bottom
  1829. figures
  1830. text '0' 184 424 color 0 18 bold;
  1831. end;
  1832. implementation eq
  1833. equations
  1834. sum (direct (p.f)) = 0;
  1835. equal (collect (p.e));
  1836. effort = first (p.e);
  1837. implementation_end;
  1838. end;
  1839. connections
  1840. FlowSensor2\flow -> Hmatrix\flow;
  1841. FlowSensor2\p2 => Wbai\p;
  1842. Hin -> MatrixMul\input2;
  1843. Hmatrix\H -> Splitter2\input;
  1844. MatrixMul\output -> Hout;
  1845. Pdiff => FlowSensor2\p1;
  1846. Pin => AdHji\p2;
  1847. Splitter2\output -> AdHji\H 424 312;
  1848. Splitter2\output -> Hdiff;
  1849. Splitter2\output -> MatrixMul\input1;
  1850. Wbai\p <= AdHji\p1;
  1851. Wbai\p => Pout;
  1852. end;
  1853. implementation_end;
  1854. JointC 512 632
  1855. description '<Information>
  1856. <Description>
  1857. <Version>4.8</Version>
  1858. <IsMainModel>1</IsMainModel>
  1859. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  1860. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  1861. </Description>
  1862. </Information>';
  1863. type 'Submodel-v3'
  1864. ports
  1865. power in Pin [6,1];
  1866. power in Pdiff [6,1];
  1867. signal in Hin [4,4];
  1868. signal out Hout [4,4];
  1869. signal out Hdiff [4,4];
  1870. power out Pout [6,1];
  1871. end;
  1872. icon bg bottom
  1873. figures
  1874. rectangle 488 600 536 664 color 0 fill 14745599;
  1875. text 'Joint' 512 632 color 0 'Clear Sans' 16;
  1876. terminals
  1877. Pin 488 648 fixed;
  1878. Hin 536 616 fixed;
  1879. Hout 488 616 fixed;
  1880. Pout 536 648 fixed;
  1881. end;
  1882. implementation bg
  1883. submodels
  1884. AdHji 424 424
  1885. description '<Description>
  1886. <Version>4.0</Version>
  1887. <IsMainModel>1</IsMainModel>
  1888. <KeepParameterValues>False</KeepParameterValues>
  1889. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  1890. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  1891. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1892. </Description>';
  1893. type MTF
  1894. ports
  1895. power out p1 [6,1];
  1896. power in p2 [6,1];
  1897. signal in H [4,4];
  1898. restrictions
  1899. causality constraint not_equal p1 p2;
  1900. end;
  1901. icon bg bottom
  1902. figures
  1903. text 'MTF' 424 424 color 0 18 bold;
  1904. end;
  1905. implementation eq
  1906. equations
  1907. p2.e = transpose(Adjoint(H)) * p1.e;
  1908. p1.f = Adjoint(H) * p2.f;implementation_end;
  1909. FlowSensor2 184 311.9
  1910. description '<Information>
  1911. <Description>
  1912. <Version>4.2</Version>
  1913. <IsMainModel>1</IsMainModel>
  1914. <KeepParameterValues>False</KeepParameterValues>
  1915. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  1916. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  1917. </Description>
  1918. </Information>';
  1919. knot FlowSensor
  1920. ports
  1921. power knot in p1 [6,1];
  1922. power knot out p2 [6,1];
  1923. signal knot out flow [6,1];
  1924. restrictions
  1925. causality constraint not_equal p1 p2;
  1926. end;
  1927. icon bg ellipse
  1928. figures
  1929. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  1930. text 'f' 184 311.2 color 0;
  1931. end;
  1932. implementation eq
  1933. equations
  1934. p2.f = p1.f;
  1935. p1.e = p2.e;
  1936. flow = p1.f;
  1937. implementation_end;
  1938. Hmatrix 256 312
  1939. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  1940. type 'Submodel-Equation'
  1941. ports
  1942. signal in flow [6,1];
  1943. signal out H [4,4];
  1944. end;
  1945. icon bg
  1946. figures
  1947. rectangle 224 296 288 328 color 0 fill 15132390;
  1948. text 'name' 256 312 color 0 'Clear Sans' 16;
  1949. end;
  1950. implementation eq
  1951. parameters
  1952. real init[4] = [1;0;0;0];
  1953. variables
  1954. real q[4]; //quaternions
  1955. real W[3,4]; //Quaternion Rates Matrix
  1956. real R[3,3]; //Rotation Matrix
  1957. real p[3]; //Position Vector
  1958. real dq[4];
  1959. real Wb[3,4];
  1960. equations
  1961. dq = transpose(Wb) * flow[1:3] ./ 2;
  1962. q = int(dq,init);
  1963. p = int(flow[4:6]);
  1964. W = [-q[2], q[1], -q[4], q[3];
  1965. -q[3], q[4], q[1], -q[2];
  1966. -q[4], -q[3], q[2], q[1]];
  1967. Wb = [ -q[2], q[1], q[4], -q[3];
  1968. -q[3], -q[4], q[1], q[2];
  1969. -q[4], q[3], -q[2], q[1]];
  1970. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  1971. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  1972. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  1973. H = homogeneous(R,p);
  1974. implementation_end;
  1975. MatrixMul 320 576
  1976. description '<Description>
  1977. <Version>4.0</Version>
  1978. <IsMainModel>1</IsMainModel>
  1979. <KeepParameterValues>False</KeepParameterValues>
  1980. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  1981. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  1982. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  1983. </Description>';
  1984. type Gain
  1985. ports
  1986. signal in input1 [4,4];
  1987. signal out output [4,4];
  1988. signal in input2 [4,4];
  1989. end;
  1990. icon bg bottom
  1991. figures
  1992. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  1993. text 'X' 320 576 color 16711680 16 bold;
  1994. end;
  1995. implementation eq
  1996. equations
  1997. output = input2*input1; implementation_end;
  1998. plug Pin 492.1 424;
  1999. plug Pdiff 184 225;
  2000. plug Hin 130.8 576;
  2001. plug Hout 478.4 576;
  2002. plug Hdiff 320 222;
  2003. plug Pout 134.7 424;
  2004. Splitter2 320 312
  2005. description '<Description><Version>4.0</Version>
  2006. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2007. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2008. <IsMainModel>1</IsMainModel>
  2009. <KeepParameterValues>False</KeepParameterValues>
  2010. </Description>';
  2011. knot Splitter
  2012. ports
  2013. signal knot duplicatable out output [4,4];
  2014. signal knot in input [4,4];
  2015. end;
  2016. icon bg ellipse
  2017. figures
  2018. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2019. ellipse 315.7 307.7 324.3 316.3 color -1;
  2020. terminals
  2021. input 320 312 fixed;
  2022. end;
  2023. implementation eq
  2024. equations
  2025. collect (output) = input;
  2026. implementation_end;
  2027. Wbai 184 424
  2028. description '<Description>
  2029. <Version>4.0</Version>
  2030. <IsMainModel>1</IsMainModel>
  2031. <KeepParameterValues>False</KeepParameterValues>
  2032. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2033. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2034. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2035. </Description>';
  2036. knot ZeroJunction
  2037. ports
  2038. power knot duplicatable none p [6,1];
  2039. signal knot out effort [6,1];
  2040. restrictions
  2041. causality constraint one_in p;
  2042. end;
  2043. icon bg bottom
  2044. figures
  2045. text '0' 184 424 color 0 18 bold;
  2046. end;
  2047. implementation eq
  2048. equations
  2049. sum (direct (p.f)) = 0;
  2050. equal (collect (p.e));
  2051. effort = first (p.e);
  2052. implementation_end;
  2053. end;
  2054. connections
  2055. FlowSensor2\flow -> Hmatrix\flow;
  2056. FlowSensor2\p2 => Wbai\p;
  2057. Hin -> MatrixMul\input2;
  2058. Hmatrix\H -> Splitter2\input;
  2059. MatrixMul\output -> Hout;
  2060. Pdiff => FlowSensor2\p1;
  2061. Pin => AdHji\p2;
  2062. Splitter2\output -> AdHji\H 424 312;
  2063. Splitter2\output -> Hdiff;
  2064. Splitter2\output -> MatrixMul\input1;
  2065. Wbai\p <= AdHji\p1;
  2066. Wbai\p => Pout;
  2067. end;
  2068. implementation_end;
  2069. JointD 200 488
  2070. description '<Information>
  2071. <Description>
  2072. <Version>4.8</Version>
  2073. <IsMainModel>1</IsMainModel>
  2074. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2075. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2076. </Description>
  2077. </Information>';
  2078. type 'Submodel-v3'
  2079. ports
  2080. power in Pin [6,1];
  2081. power in Pdiff [6,1];
  2082. signal in Hin [4,4];
  2083. signal out Hout [4,4];
  2084. signal out Hdiff [4,4];
  2085. power out Pout [6,1];
  2086. end;
  2087. icon bg bottom
  2088. figures
  2089. rectangle 168 464 232 512 color 0 fill 14745599;
  2090. text 'Joint' 200 488 color 0 'Clear Sans' 16;
  2091. terminals
  2092. Pin 184 464 fixed;
  2093. Hin 216 512 fixed;
  2094. Hout 216 464 fixed;
  2095. Pout 184 512 fixed;
  2096. end;
  2097. implementation bg
  2098. submodels
  2099. AdHji 424 424
  2100. description '<Description>
  2101. <Version>4.0</Version>
  2102. <IsMainModel>1</IsMainModel>
  2103. <KeepParameterValues>False</KeepParameterValues>
  2104. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2105. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2106. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2107. </Description>';
  2108. type MTF
  2109. ports
  2110. power out p1 [6,1];
  2111. power in p2 [6,1];
  2112. signal in H [4,4];
  2113. restrictions
  2114. causality constraint not_equal p1 p2;
  2115. end;
  2116. icon bg bottom
  2117. figures
  2118. text 'MTF' 424 424 color 0 18 bold;
  2119. end;
  2120. implementation eq
  2121. equations
  2122. p2.e = transpose(Adjoint(H)) * p1.e;
  2123. p1.f = Adjoint(H) * p2.f;implementation_end;
  2124. FlowSensor2 184 311.9
  2125. description '<Information>
  2126. <Description>
  2127. <Version>4.2</Version>
  2128. <IsMainModel>1</IsMainModel>
  2129. <KeepParameterValues>False</KeepParameterValues>
  2130. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2131. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2132. </Description>
  2133. </Information>';
  2134. knot FlowSensor
  2135. ports
  2136. power knot in p1 [6,1];
  2137. power knot out p2 [6,1];
  2138. signal knot out flow [6,1];
  2139. restrictions
  2140. causality constraint not_equal p1 p2;
  2141. end;
  2142. icon bg ellipse
  2143. figures
  2144. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2145. text 'f' 184 311.2 color 0;
  2146. end;
  2147. implementation eq
  2148. equations
  2149. p2.f = p1.f;
  2150. p1.e = p2.e;
  2151. flow = p1.f;
  2152. implementation_end;
  2153. Hmatrix 256 312
  2154. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  2155. type 'Submodel-Equation'
  2156. ports
  2157. signal in flow [6,1];
  2158. signal out H [4,4];
  2159. end;
  2160. icon bg
  2161. figures
  2162. rectangle 224 296 288 328 color 0 fill 15132390;
  2163. text 'name' 256 312 color 0 'Clear Sans' 16;
  2164. end;
  2165. implementation eq
  2166. parameters
  2167. real init[4] = [1;0;0;0];
  2168. variables
  2169. real q[4]; //quaternions
  2170. real W[3,4]; //Quaternion Rates Matrix
  2171. real R[3,3]; //Rotation Matrix
  2172. real p[3]; //Position Vector
  2173. real dq[4];
  2174. real Wb[3,4];
  2175. equations
  2176. dq = transpose(Wb) * flow[1:3] ./ 2;
  2177. q = int(dq,init);
  2178. p = int(flow[4:6]);
  2179. W = [-q[2], q[1], -q[4], q[3];
  2180. -q[3], q[4], q[1], -q[2];
  2181. -q[4], -q[3], q[2], q[1]];
  2182. Wb = [ -q[2], q[1], q[4], -q[3];
  2183. -q[3], -q[4], q[1], q[2];
  2184. -q[4], q[3], -q[2], q[1]];
  2185. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  2186. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  2187. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  2188. H = homogeneous(R,p);
  2189. implementation_end;
  2190. MatrixMul 320 576
  2191. description '<Description>
  2192. <Version>4.0</Version>
  2193. <IsMainModel>1</IsMainModel>
  2194. <KeepParameterValues>False</KeepParameterValues>
  2195. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2196. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2197. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2198. </Description>';
  2199. type Gain
  2200. ports
  2201. signal in input1 [4,4];
  2202. signal out output [4,4];
  2203. signal in input2 [4,4];
  2204. end;
  2205. icon bg bottom
  2206. figures
  2207. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2208. text 'X' 320 576 color 16711680 16 bold;
  2209. end;
  2210. implementation eq
  2211. equations
  2212. output = input2*input1; implementation_end;
  2213. plug Pin 492.1 424;
  2214. plug Pdiff 184 225;
  2215. plug Hin 130.8 576;
  2216. plug Hout 478.4 576;
  2217. plug Hdiff 320 222;
  2218. plug Pout 134.7 424;
  2219. Splitter2 320 312
  2220. description '<Description><Version>4.0</Version>
  2221. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2222. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2223. <IsMainModel>1</IsMainModel>
  2224. <KeepParameterValues>False</KeepParameterValues>
  2225. </Description>';
  2226. knot Splitter
  2227. ports
  2228. signal knot duplicatable out output [4,4];
  2229. signal knot in input [4,4];
  2230. end;
  2231. icon bg ellipse
  2232. figures
  2233. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2234. ellipse 315.7 307.7 324.3 316.3 color -1;
  2235. terminals
  2236. input 320 312 fixed;
  2237. end;
  2238. implementation eq
  2239. equations
  2240. collect (output) = input;
  2241. implementation_end;
  2242. Wbai 184 424
  2243. description '<Description>
  2244. <Version>4.0</Version>
  2245. <IsMainModel>1</IsMainModel>
  2246. <KeepParameterValues>False</KeepParameterValues>
  2247. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2248. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2249. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2250. </Description>';
  2251. knot ZeroJunction
  2252. ports
  2253. power knot duplicatable none p [6,1];
  2254. signal knot out effort [6,1];
  2255. restrictions
  2256. causality constraint one_in p;
  2257. end;
  2258. icon bg bottom
  2259. figures
  2260. text '0' 184 424 color 0 18 bold;
  2261. end;
  2262. implementation eq
  2263. equations
  2264. sum (direct (p.f)) = 0;
  2265. equal (collect (p.e));
  2266. effort = first (p.e);
  2267. implementation_end;
  2268. end;
  2269. connections
  2270. FlowSensor2\flow -> Hmatrix\flow;
  2271. FlowSensor2\p2 => Wbai\p;
  2272. Hin -> MatrixMul\input2;
  2273. Hmatrix\H -> Splitter2\input;
  2274. MatrixMul\output -> Hout;
  2275. Pdiff => FlowSensor2\p1;
  2276. Pin => AdHji\p2;
  2277. Splitter2\output -> AdHji\H 424 312;
  2278. Splitter2\output -> Hdiff;
  2279. Splitter2\output -> MatrixMul\input1;
  2280. Wbai\p <= AdHji\p1;
  2281. Wbai\p => Pout;
  2282. end;
  2283. implementation_end;
  2284. JointE 200 168
  2285. description '<Information>
  2286. <Description>
  2287. <Version>4.8</Version>
  2288. <IsMainModel>1</IsMainModel>
  2289. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2290. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2291. </Description>
  2292. </Information>';
  2293. type 'Submodel-v3'
  2294. ports
  2295. power in Pin [6,1];
  2296. power in Pdiff [6,1];
  2297. signal in Hin [4,4];
  2298. signal out Hout [4,4];
  2299. signal out Hdiff [4,4];
  2300. power out Pout [6,1];
  2301. end;
  2302. icon bg bottom
  2303. figures
  2304. rectangle 168 144 232 192 color 0 fill 14745599;
  2305. text 'Joint' 200 168 color 0 'Clear Sans' 16;
  2306. terminals
  2307. Pin 184 144 fixed;
  2308. Hin 216 192 fixed;
  2309. Hout 216 144 fixed;
  2310. Pout 184 192 fixed;
  2311. end;
  2312. implementation bg
  2313. submodels
  2314. AdHji 424 424
  2315. description '<Description>
  2316. <Version>4.0</Version>
  2317. <IsMainModel>1</IsMainModel>
  2318. <KeepParameterValues>False</KeepParameterValues>
  2319. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2320. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2321. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2322. </Description>';
  2323. type MTF
  2324. ports
  2325. power out p1 [6,1];
  2326. power in p2 [6,1];
  2327. signal in H [4,4];
  2328. restrictions
  2329. causality constraint not_equal p1 p2;
  2330. end;
  2331. icon bg bottom
  2332. figures
  2333. text 'MTF' 424 424 color 0 18 bold;
  2334. end;
  2335. implementation eq
  2336. equations
  2337. p2.e = transpose(Adjoint(H)) * p1.e;
  2338. p1.f = Adjoint(H) * p2.f;implementation_end;
  2339. FlowSensor2 184 311.9
  2340. description '<Information>
  2341. <Description>
  2342. <Version>4.2</Version>
  2343. <IsMainModel>1</IsMainModel>
  2344. <KeepParameterValues>False</KeepParameterValues>
  2345. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2346. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2347. </Description>
  2348. </Information>';
  2349. knot FlowSensor
  2350. ports
  2351. power knot in p1 [6,1];
  2352. power knot out p2 [6,1];
  2353. signal knot out flow [6,1];
  2354. restrictions
  2355. causality constraint not_equal p1 p2;
  2356. end;
  2357. icon bg ellipse
  2358. figures
  2359. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2360. text 'f' 184 311.2 color 0;
  2361. end;
  2362. implementation eq
  2363. equations
  2364. p2.f = p1.f;
  2365. p1.e = p2.e;
  2366. flow = p1.f;
  2367. implementation_end;
  2368. Hmatrix 256 312
  2369. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  2370. type 'Submodel-Equation'
  2371. ports
  2372. signal in flow [6,1];
  2373. signal out H [4,4];
  2374. end;
  2375. icon bg
  2376. figures
  2377. rectangle 224 296 288 328 color 0 fill 15132390;
  2378. text 'name' 256 312 color 0 'Clear Sans' 16;
  2379. end;
  2380. implementation eq
  2381. parameters
  2382. real init[4] = [1;0;0;0];
  2383. variables
  2384. real q[4]; //quaternions
  2385. real W[3,4]; //Quaternion Rates Matrix
  2386. real R[3,3]; //Rotation Matrix
  2387. real p[3]; //Position Vector
  2388. real dq[4];
  2389. real Wb[3,4];
  2390. equations
  2391. dq = transpose(Wb) * flow[1:3] ./ 2;
  2392. q = int(dq,init);
  2393. p = int(flow[4:6]);
  2394. W = [-q[2], q[1], -q[4], q[3];
  2395. -q[3], q[4], q[1], -q[2];
  2396. -q[4], -q[3], q[2], q[1]];
  2397. Wb = [ -q[2], q[1], q[4], -q[3];
  2398. -q[3], -q[4], q[1], q[2];
  2399. -q[4], q[3], -q[2], q[1]];
  2400. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  2401. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  2402. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  2403. H = homogeneous(R,p);
  2404. implementation_end;
  2405. MatrixMul 320 576
  2406. description '<Description>
  2407. <Version>4.0</Version>
  2408. <IsMainModel>1</IsMainModel>
  2409. <KeepParameterValues>False</KeepParameterValues>
  2410. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2411. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2412. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2413. </Description>';
  2414. type Gain
  2415. ports
  2416. signal in input1 [4,4];
  2417. signal out output [4,4];
  2418. signal in input2 [4,4];
  2419. end;
  2420. icon bg bottom
  2421. figures
  2422. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2423. text 'X' 320 576 color 16711680 16 bold;
  2424. end;
  2425. implementation eq
  2426. equations
  2427. output = input2*input1; implementation_end;
  2428. plug Pin 492.1 424;
  2429. plug Pdiff 184 225;
  2430. plug Hin 130.8 576;
  2431. plug Hout 478.4 576;
  2432. plug Hdiff 320 222;
  2433. plug Pout 134.7 424;
  2434. Splitter2 320 312
  2435. description '<Description><Version>4.0</Version>
  2436. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2437. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2438. <IsMainModel>1</IsMainModel>
  2439. <KeepParameterValues>False</KeepParameterValues>
  2440. </Description>';
  2441. knot Splitter
  2442. ports
  2443. signal knot duplicatable out output [4,4];
  2444. signal knot in input [4,4];
  2445. end;
  2446. icon bg ellipse
  2447. figures
  2448. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2449. ellipse 315.7 307.7 324.3 316.3 color -1;
  2450. terminals
  2451. input 320 312 fixed;
  2452. end;
  2453. implementation eq
  2454. equations
  2455. collect (output) = input;
  2456. implementation_end;
  2457. Wbai 184 424
  2458. description '<Description>
  2459. <Version>4.0</Version>
  2460. <IsMainModel>1</IsMainModel>
  2461. <KeepParameterValues>False</KeepParameterValues>
  2462. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2463. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2464. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2465. </Description>';
  2466. knot ZeroJunction
  2467. ports
  2468. power knot duplicatable none p [6,1];
  2469. signal knot out effort [6,1];
  2470. restrictions
  2471. causality constraint one_in p;
  2472. end;
  2473. icon bg bottom
  2474. figures
  2475. text '0' 184 424 color 0 18 bold;
  2476. end;
  2477. implementation eq
  2478. equations
  2479. sum (direct (p.f)) = 0;
  2480. equal (collect (p.e));
  2481. effort = first (p.e);
  2482. implementation_end;
  2483. end;
  2484. connections
  2485. FlowSensor2\flow -> Hmatrix\flow;
  2486. FlowSensor2\p2 => Wbai\p;
  2487. Hin -> MatrixMul\input2;
  2488. Hmatrix\H -> Splitter2\input;
  2489. MatrixMul\output -> Hout;
  2490. Pdiff => FlowSensor2\p1;
  2491. Pin => AdHji\p2;
  2492. Splitter2\output -> AdHji\H 424 312;
  2493. Splitter2\output -> Hdiff;
  2494. Splitter2\output -> MatrixMul\input1;
  2495. Wbai\p <= AdHji\p1;
  2496. Wbai\p => Pout;
  2497. end;
  2498. implementation_end;
  2499. JointF 864 128
  2500. description '<Information>
  2501. <Description>
  2502. <Version>4.8</Version>
  2503. <IsMainModel>1</IsMainModel>
  2504. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  2505. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  2506. </Description>
  2507. </Information>';
  2508. type 'Submodel-v3'
  2509. ports
  2510. power in Pin [6,1];
  2511. power in Pdiff [6,1];
  2512. signal in Hin [4,4];
  2513. signal out Hout [4,4];
  2514. signal out Hdiff [4,4];
  2515. power out Pout [6,1];
  2516. end;
  2517. icon bg bottom
  2518. figures
  2519. rectangle 840 96 888 160 color 0 fill 14745599;
  2520. text 'Joint' 864 128 color 0 'Clear Sans' 16;
  2521. terminals
  2522. Pin 888 112 fixed;
  2523. Hin 840 144 fixed;
  2524. Hout 888 144 fixed;
  2525. Pout 840 112 fixed;
  2526. end;
  2527. implementation bg
  2528. submodels
  2529. AdHji 424 424
  2530. description '<Description>
  2531. <Version>4.0</Version>
  2532. <IsMainModel>1</IsMainModel>
  2533. <KeepParameterValues>False</KeepParameterValues>
  2534. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  2535. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  2536. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2537. </Description>';
  2538. type MTF
  2539. ports
  2540. power out p1 [6,1];
  2541. power in p2 [6,1];
  2542. signal in H [4,4];
  2543. restrictions
  2544. causality constraint not_equal p1 p2;
  2545. end;
  2546. icon bg bottom
  2547. figures
  2548. text 'MTF' 424 424 color 0 18 bold;
  2549. end;
  2550. implementation eq
  2551. equations
  2552. p2.e = transpose(Adjoint(H)) * p1.e;
  2553. p1.f = Adjoint(H) * p2.f;implementation_end;
  2554. FlowSensor2 184 311.9
  2555. description '<Information>
  2556. <Description>
  2557. <Version>4.2</Version>
  2558. <IsMainModel>1</IsMainModel>
  2559. <KeepParameterValues>False</KeepParameterValues>
  2560. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  2561. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  2562. </Description>
  2563. </Information>';
  2564. knot FlowSensor
  2565. ports
  2566. power knot in p1 [6,1];
  2567. power knot out p2 [6,1];
  2568. signal knot out flow [6,1];
  2569. restrictions
  2570. causality constraint not_equal p1 p2;
  2571. end;
  2572. icon bg ellipse
  2573. figures
  2574. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  2575. text 'f' 184 311.2 color 0;
  2576. end;
  2577. implementation eq
  2578. equations
  2579. p2.f = p1.f;
  2580. p1.e = p2.e;
  2581. flow = p1.f;
  2582. implementation_end;
  2583. Hmatrix 256 312
  2584. description '<Information><Description><Version>4.0</Version><LibraryPath>Template\Submodel-Equation.emx</LibraryPath><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues><TimeStamp>2007-11-1 22:32:1</TimeStamp><AllowLibraryUpdate>False</AllowLibraryUpdate></Description></Information>';
  2585. type 'Submodel-Equation'
  2586. ports
  2587. signal in flow [6,1];
  2588. signal out H [4,4];
  2589. end;
  2590. icon bg
  2591. figures
  2592. rectangle 224 296 288 328 color 0 fill 15132390;
  2593. text 'name' 256 312 color 0 'Clear Sans' 16;
  2594. end;
  2595. implementation eq
  2596. parameters
  2597. real init[4] = [1;0;0;0];
  2598. variables
  2599. real q[4]; //quaternions
  2600. real W[3,4]; //Quaternion Rates Matrix
  2601. real R[3,3]; //Rotation Matrix
  2602. real p[3]; //Position Vector
  2603. real dq[4];
  2604. real Wb[3,4];
  2605. equations
  2606. dq = transpose(Wb) * flow[1:3] ./ 2;
  2607. q = int(dq,init);
  2608. p = int(flow[4:6]);
  2609. W = [-q[2], q[1], -q[4], q[3];
  2610. -q[3], q[4], q[1], -q[2];
  2611. -q[4], -q[3], q[2], q[1]];
  2612. Wb = [ -q[2], q[1], q[4], -q[3];
  2613. -q[3], -q[4], q[1], q[2];
  2614. -q[4], q[3], -q[2], q[1]];
  2615. R = [q[1]^2+q[2]^2-q[3]^2-q[4]^2, 2*(q[2]*q[3]+q[1]*q[4]), 2*(q[2]*q[4]-q[1]*q[3]);
  2616. 2*(q[2]*q[3]-q[1]*q[4]), q[1]^2-q[2]^2+q[3]^2-q[4]^2, 2*(q[3]*q[4]+q[1]*q[2]);
  2617. 2*(q[2]*q[4]+q[1]*q[3]), 2*(q[3]*q[4]-q[1]*q[2]), q[1]^2-q[2]^2-q[3]^2+q[4]^2];
  2618. H = homogeneous(R,p);
  2619. implementation_end;
  2620. MatrixMul 320 576
  2621. description '<Description>
  2622. <Version>4.0</Version>
  2623. <IsMainModel>1</IsMainModel>
  2624. <KeepParameterValues>False</KeepParameterValues>
  2625. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  2626. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  2627. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2628. </Description>';
  2629. type Gain
  2630. ports
  2631. signal in input1 [4,4];
  2632. signal out output [4,4];
  2633. signal in input2 [4,4];
  2634. end;
  2635. icon bg bottom
  2636. figures
  2637. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  2638. text 'X' 320 576 color 16711680 16 bold;
  2639. end;
  2640. implementation eq
  2641. equations
  2642. output = input2*input1; implementation_end;
  2643. plug Pin 492.1 424;
  2644. plug Pdiff 184 225;
  2645. plug Hin 130.8 576;
  2646. plug Hout 478.4 576;
  2647. plug Hdiff 320 222;
  2648. plug Pout 134.7 424;
  2649. Splitter2 320 312
  2650. description '<Description><Version>4.0</Version>
  2651. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  2652. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  2653. <IsMainModel>1</IsMainModel>
  2654. <KeepParameterValues>False</KeepParameterValues>
  2655. </Description>';
  2656. knot Splitter
  2657. ports
  2658. signal knot duplicatable out output [4,4];
  2659. signal knot in input [4,4];
  2660. end;
  2661. icon bg ellipse
  2662. figures
  2663. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  2664. ellipse 315.7 307.7 324.3 316.3 color -1;
  2665. terminals
  2666. input 320 312 fixed;
  2667. end;
  2668. implementation eq
  2669. equations
  2670. collect (output) = input;
  2671. implementation_end;
  2672. Wbai 184 424
  2673. description '<Description>
  2674. <Version>4.0</Version>
  2675. <IsMainModel>1</IsMainModel>
  2676. <KeepParameterValues>False</KeepParameterValues>
  2677. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  2678. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  2679. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2680. </Description>';
  2681. knot ZeroJunction
  2682. ports
  2683. power knot duplicatable none p [6,1];
  2684. signal knot out effort [6,1];
  2685. restrictions
  2686. causality constraint one_in p;
  2687. end;
  2688. icon bg bottom
  2689. figures
  2690. text '0' 184 424 color 0 18 bold;
  2691. end;
  2692. implementation eq
  2693. equations
  2694. sum (direct (p.f)) = 0;
  2695. equal (collect (p.e));
  2696. effort = first (p.e);
  2697. implementation_end;
  2698. end;
  2699. connections
  2700. FlowSensor2\flow -> Hmatrix\flow;
  2701. FlowSensor2\p2 => Wbai\p;
  2702. Hin -> MatrixMul\input2;
  2703. Hmatrix\H -> Splitter2\input;
  2704. MatrixMul\output -> Hout;
  2705. Pdiff => FlowSensor2\p1;
  2706. Pin => AdHji\p2;
  2707. Splitter2\output -> AdHji\H 424 312;
  2708. Splitter2\output -> Hdiff;
  2709. Splitter2\output -> MatrixMul\input1;
  2710. Wbai\p <= AdHji\p1;
  2711. Wbai\p => Pout;
  2712. end;
  2713. implementation_end;
  2714. Joint_dynA 712 512
  2715. description '<Description>
  2716. <Version>4.8</Version>
  2717. <IsMainModel>1</IsMainModel>
  2718. </Description>';
  2719. type Submodel
  2720. ports
  2721. power out output [6,1];
  2722. signal in angle {rad} ;
  2723. end;
  2724. implementation bg
  2725. submodels
  2726. C 264 200
  2727. description '<Information>
  2728. <Description>
  2729. <Version>4.2</Version>
  2730. <IsMainModel>1</IsMainModel>
  2731. <KeepParameterValues>False</KeepParameterValues>
  2732. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  2733. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  2734. </Description>
  2735. </Information>';
  2736. type C
  2737. ports
  2738. power in p;
  2739. signal out state;
  2740. restrictions
  2741. causality preferred out p;
  2742. end;
  2743. icon bg bottom
  2744. figures
  2745. text 'C' 264 200 color 0 18 bold;
  2746. end;
  2747. implementation eq
  2748. parameters
  2749. real c = 0.001;
  2750. equations
  2751. state = int(p.f);
  2752. p.e = state / c;
  2753. implementation_end;
  2754. C1 191.8 216.2
  2755. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2756. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  2757. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  2758. </Description>';
  2759. type 'C-3'
  2760. ports
  2761. power in p [3,1];
  2762. signal out state [3,1];
  2763. restrictions
  2764. causality preferred out p;
  2765. end;
  2766. icon bg top
  2767. figures
  2768. text 'C' 191.8 216.2 color 0 18 bold;
  2769. end;
  2770. implementation eq
  2771. parameters
  2772. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  2773. equations
  2774. state = int(p.f);
  2775. p.e = inverse(c) *state;
  2776. implementation_end;
  2777. C4 191.8 232.2
  2778. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  2779. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  2780. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  2781. </Description>';
  2782. type 'C-2'
  2783. ports
  2784. power in p [2,1];
  2785. signal out state [2,1];
  2786. restrictions
  2787. causality preferred out p;
  2788. end;
  2789. icon bg bottom
  2790. figures
  2791. text 'C' 191.8 232.2 color 0 18 bold;
  2792. end;
  2793. implementation eq
  2794. parameters
  2795. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  2796. equations
  2797. state = int(p.f);
  2798. p.e = inverse(c) *state;
  2799. implementation_end;
  2800. plug output 468 216;
  2801. plug angle 224 80;
  2802. OneJunction5 239.8 232.2
  2803. description '<Information>
  2804. <Description>
  2805. <Version>4.2</Version>
  2806. <IsMainModel>1</IsMainModel>
  2807. <KeepParameterValues>False</KeepParameterValues>
  2808. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2809. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2810. </Description>
  2811. </Information>';
  2812. knot OneJunction
  2813. ports
  2814. power knot duplicatable none p [2,1];
  2815. signal knot out flow [2,1];
  2816. restrictions
  2817. causality constraint one_out p;
  2818. end;
  2819. icon bg
  2820. figures
  2821. text '1' 239.8 232.2 color 0 18 bold;
  2822. end;
  2823. implementation eq
  2824. equations
  2825. sum (direct (p.e)) = 0;
  2826. equal (collect (p.f));
  2827. flow = first (p.f);
  2828. implementation_end;
  2829. OneJunction7 239.8 216.2
  2830. description '<Information>
  2831. <Description>
  2832. <Version>4.2</Version>
  2833. <IsMainModel>1</IsMainModel>
  2834. <KeepParameterValues>False</KeepParameterValues>
  2835. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2836. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2837. </Description>
  2838. </Information>';
  2839. knot OneJunction
  2840. ports
  2841. power knot duplicatable none p [3,1];
  2842. signal knot out flow [3,1];
  2843. restrictions
  2844. causality constraint one_out p;
  2845. end;
  2846. icon bg
  2847. figures
  2848. text '1' 239.8 216.2 color 0 18 bold;
  2849. end;
  2850. implementation eq
  2851. equations
  2852. sum (direct (p.e)) = 0;
  2853. equal (collect (p.f));
  2854. flow = first (p.f);
  2855. implementation_end;
  2856. OneJunction8 312 200
  2857. description '<Information>
  2858. <Description>
  2859. <Version>4.2</Version>
  2860. <IsMainModel>1</IsMainModel>
  2861. <KeepParameterValues>False</KeepParameterValues>
  2862. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  2863. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  2864. </Description>
  2865. </Information>';
  2866. knot OneJunction
  2867. ports
  2868. rotation knot duplicatable none p [1];
  2869. signal knot out flow [1];
  2870. restrictions
  2871. causality constraint one_out p;
  2872. end;
  2873. icon bg
  2874. figures
  2875. text '1' 312 200 color 0 18 bold;
  2876. end;
  2877. implementation eq
  2878. equations
  2879. sum (direct (p.e)) = 0;
  2880. equal (collect (p.f));
  2881. flow = first (p.f);
  2882. implementation_end;
  2883. PowerMux 402 216
  2884. specifications active 'rot_x'
  2885. specification 'rot_x'
  2886. description '<Information>
  2887. <Description>
  2888. <Version>4.8</Version>
  2889. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  2890. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  2891. <IsMainModel>1</IsMainModel>
  2892. <KeepParameterValues>False</KeepParameterValues>
  2893. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2894. </Description>
  2895. </Information>';
  2896. type 'PowerMux-Rotation'
  2897. ports
  2898. power in input;
  2899. power out output [6,1];
  2900. power in input_rot2 [2,1];
  2901. power in input_pos3 [3,1];
  2902. restrictions
  2903. causality constraint not_equal input output;
  2904. causality constraint not_equal input_rot2 output;
  2905. causality constraint not_equal input_pos3 output;
  2906. end;
  2907. icon bg bottom
  2908. figures
  2909. line 400 192 400 240 color 0 width 2;
  2910. rectangle 396 192 408 240 color -1;
  2911. text '1' 405 210 color 8421504 8;
  2912. terminals
  2913. input 400 200 fixed;
  2914. output 400 216 fixed;
  2915. input_rot2 400 232 fixed;
  2916. input_pos3 400 216 fixed;
  2917. end;
  2918. implementation eq
  2919. equations
  2920. output.e[1] = input.e;
  2921. output.e[2:3] = input_rot2.e;
  2922. output.e[4:6] = input_pos3.e;
  2923. output.f[1] = input.f;
  2924. output.f[2:3] = input_rot2.f;
  2925. output.f[4:6] = input_pos3.f;implementation_end;
  2926. specification_end;
  2927. specification 'rot_y'
  2928. description '<Description>
  2929. <Version>4.1</Version>
  2930. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  2931. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  2932. <IsMainModel>1</IsMainModel>
  2933. <KeepParameterValues>False</KeepParameterValues>
  2934. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2935. </Description>';
  2936. type PowerMux
  2937. ports
  2938. power in input;
  2939. power out output [6,1];
  2940. power in input_rot2 [2,1];
  2941. power in input_pos3 [3,1];
  2942. restrictions
  2943. causality constraint not_equal input output;
  2944. causality constraint not_equal input_rot2 output;
  2945. causality constraint not_equal input_pos3 output;
  2946. end;
  2947. icon bg bottom
  2948. figures
  2949. line 242 274 290 274 color 0 width 2;
  2950. rectangle 242 266 290 278 color -1;
  2951. text '1' 260 269 color 8421504 8;
  2952. terminals
  2953. input 250 274 fixed;
  2954. output 266 274 fixed;
  2955. input_rot2 282 274 fixed;
  2956. input_pos3 266 274 fixed;
  2957. end;
  2958. implementation eq
  2959. equations
  2960. output.e[1] = input_rot2.e[1];
  2961. output.e[2] = input.e;
  2962. output.e[3] = input_rot2.e[2];
  2963. output.e[4:6] = input_pos3.e;
  2964. output.f[1] = input_rot2.f[1];
  2965. output.f[2] = input.f;
  2966. output.f[3] = input_rot2.f[2];
  2967. output.f[4:6] = input_pos3.f;implementation_end;
  2968. specification_end;
  2969. specification 'rot_z'
  2970. description '<Information>
  2971. <Description>
  2972. <Version>4.8</Version>
  2973. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  2974. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  2975. <IsMainModel>1</IsMainModel>
  2976. <KeepParameterValues>False</KeepParameterValues>
  2977. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  2978. </Description>
  2979. </Information>';
  2980. type PowerMux
  2981. ports
  2982. power in input;
  2983. power out output [6,1];
  2984. power in input_rot2 [2,1];
  2985. power in input_pos3 [3,1];
  2986. restrictions
  2987. causality constraint not_equal input output;
  2988. causality constraint not_equal input_rot2 output;
  2989. causality constraint not_equal input_pos3 output;
  2990. end;
  2991. icon bg bottom
  2992. figures
  2993. line 242 274 290 274 color 0 width 2;
  2994. rectangle 242 266 290 278 color -1;
  2995. text '1' 260 269 color 8421504 8;
  2996. terminals
  2997. input 250 274 fixed;
  2998. output 266 274 fixed;
  2999. input_rot2 282 274 fixed;
  3000. input_pos3 266 274 fixed;
  3001. end;
  3002. implementation eq
  3003. equations
  3004. output.e[3] = input.e;
  3005. output.e[1:2] = input_rot2.e;
  3006. output.e[4:6] = input_pos3.e;
  3007. output.f[3] = input.f;
  3008. output.f[1:2] = input_rot2.f;
  3009. output.f[4:6] = input_pos3.f;implementation_end;
  3010. specification_end;
  3011. end;
  3012. R 312 152
  3013. description '<Information>
  3014. <Description>
  3015. <Version>4.2</Version>
  3016. <IsMainModel>1</IsMainModel>
  3017. <KeepParameterValues>False</KeepParameterValues>
  3018. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3019. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3020. </Description>
  3021. </Information>';
  3022. type R
  3023. ports
  3024. power in p;
  3025. end;
  3026. icon bg bottom
  3027. figures
  3028. text 'R' 312 152 color 0 18 bold;
  3029. end;
  3030. implementation eq
  3031. parameters
  3032. real r = 100;
  3033. equations
  3034. p.e = r * p.f;
  3035. implementation_end;
  3036. R4 239.8 288.2
  3037. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3038. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  3039. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  3040. </Description>';
  3041. type 'R-2'
  3042. ports
  3043. power in p [2,1];
  3044. end;
  3045. icon bg bottom
  3046. figures
  3047. text 'R' 239.8 288.2 color 0 18 bold;
  3048. end;
  3049. implementation eq
  3050. parameters
  3051. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  3052. equations
  3053. p.e = r * p.f;
  3054. implementation_end;
  3055. R5 239.8 168.2
  3056. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3057. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  3058. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  3059. </Description>';
  3060. type 'R-3'
  3061. ports
  3062. power in p [3,1];
  3063. end;
  3064. icon bg top
  3065. figures
  3066. text 'R' 239.8 168.2 color 0 18 bold;
  3067. end;
  3068. implementation eq
  3069. parameters
  3070. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  3071. equations
  3072. p.e = r * p.f;
  3073. implementation_end;
  3074. stepper_model 360 80
  3075. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Motor\stepper_model.emx</LibraryPath><TimeStamp>2020-7-23 10:54:47</TimeStamp></Description><Attributes><GlobalRelations>parameters
  3076. real I_phase = 3.4 {mH};
  3077. real R_phase = 2.9 {ohm};
  3078. real u_max = 3.4 {V};
  3079. real RotorInertia = 5.6e-6 {kg.m2};
  3080. real StepperMass = 0.29 {kg};
  3081. real angle_step = 1.8 {deg};
  3082. real n_phase = 2 {none};
  3083. real fluxLinkage = 0.0022 {Wb};
  3084. real detentTorque = 0.01 {N.m};
  3085. variables
  3086. real omega;
  3087. real p; // rotor division
  3088. initialequations
  3089. p = 2 * pi / (2 * n_phase * angle_step);
  3090. omega = 200;</GlobalRelations></Attributes></Information>';
  3091. type Submodel
  3092. ports
  3093. signal in angle;
  3094. rotation out p;
  3095. end;
  3096. implementation bg
  3097. submodels
  3098. I 560 104
  3099. description '<Information>
  3100. <Description>
  3101. <Version>4.2</Version>
  3102. <IsMainModel>1</IsMainModel>
  3103. <KeepParameterValues>False</KeepParameterValues>
  3104. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3105. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3106. </Description>
  3107. </Information>';
  3108. type I
  3109. ports
  3110. power in p;
  3111. signal out state;
  3112. restrictions
  3113. causality preferred in p;
  3114. end;
  3115. icon bg bottom
  3116. figures
  3117. text 'I' 560 104 color 0 18 bold;
  3118. end;
  3119. implementation eq
  3120. parameters
  3121. real global I_phase;
  3122. equations
  3123. state = int(p.e);
  3124. p.f = state / I_phase;
  3125. implementation_end;
  3126. I1 608 328
  3127. description '<Information>
  3128. <Description>
  3129. <Version>4.2</Version>
  3130. <IsMainModel>1</IsMainModel>
  3131. <KeepParameterValues>False</KeepParameterValues>
  3132. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3133. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3134. </Description>
  3135. </Information>';
  3136. type I
  3137. ports
  3138. power in p;
  3139. signal out state;
  3140. restrictions
  3141. causality preferred in p;
  3142. end;
  3143. icon bg bottom
  3144. figures
  3145. text 'I' 608 328 color 0 18 bold;
  3146. end;
  3147. implementation eq
  3148. parameters
  3149. real global I_phase;
  3150. equations
  3151. state = int(p.e);
  3152. p.f = state / I_phase;
  3153. implementation_end;
  3154. I2 752 160
  3155. description '<Information>
  3156. <Description>
  3157. <Version>4.2</Version>
  3158. <IsMainModel>1</IsMainModel>
  3159. <KeepParameterValues>False</KeepParameterValues>
  3160. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  3161. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  3162. </Description>
  3163. </Information>';
  3164. type I
  3165. ports
  3166. power in p;
  3167. signal out state;
  3168. restrictions
  3169. causality preferred in p;
  3170. end;
  3171. icon bg bottom
  3172. figures
  3173. text 'I' 752 160 color 0 18 bold;
  3174. end;
  3175. implementation eq
  3176. parameters
  3177. real global RotorInertia;
  3178. equations
  3179. state = int(p.e);
  3180. p.f = state / (RotorInertia);
  3181. implementation_end;
  3182. MGY_a 656 160
  3183. description '<Information>
  3184. <Description>
  3185. <Version>4.2</Version>
  3186. <IsMainModel>1</IsMainModel>
  3187. <KeepParameterValues>False</KeepParameterValues>
  3188. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  3189. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  3190. </Description>
  3191. </Information>';
  3192. type MGY
  3193. ports
  3194. power in p1;
  3195. power out p2;
  3196. signal in r;
  3197. restrictions
  3198. causality constraint equal p1 p2;
  3199. end;
  3200. icon bg bottom
  3201. figures
  3202. text 'MGY' 656 160 color 0 18 bold;
  3203. end;
  3204. implementation eq
  3205. equations
  3206. p1.e = r * p2.f;
  3207. p2.e = r * p1.f;
  3208. implementation_end;
  3209. MGY_b 656 272
  3210. description '<Information>
  3211. <Description>
  3212. <Version>4.2</Version>
  3213. <IsMainModel>1</IsMainModel>
  3214. <KeepParameterValues>False</KeepParameterValues>
  3215. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  3216. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  3217. </Description>
  3218. </Information>';
  3219. type MGY
  3220. ports
  3221. power in p1;
  3222. power out p2;
  3223. signal in r;
  3224. restrictions
  3225. causality constraint equal p1 p2;
  3226. end;
  3227. icon bg bottom
  3228. figures
  3229. text 'MGY' 656 272 color 0 18 bold;
  3230. end;
  3231. implementation eq
  3232. equations
  3233. p1.e = r * p2.f;
  3234. p2.e = r * p1.f;
  3235. implementation_end;
  3236. MSe_a 512 160
  3237. description '<Information>
  3238. <Description>
  3239. <Version>4.2</Version>
  3240. <IsMainModel>1</IsMainModel>
  3241. <KeepParameterValues>False</KeepParameterValues>
  3242. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3243. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3244. </Description>
  3245. </Information>';
  3246. type MSe
  3247. ports
  3248. electric out p;
  3249. signal in effort;
  3250. restrictions
  3251. causality fixed out p;
  3252. end;
  3253. icon bg bottom
  3254. figures
  3255. text 'MSe' 512 160 color 0 18 bold;
  3256. end;
  3257. implementation eq
  3258. variables
  3259. real flow;
  3260. equations
  3261. p.e = effort;
  3262. flow = p.f;
  3263. implementation_end;
  3264. MSe_b 512 272
  3265. description '<Information>
  3266. <Description>
  3267. <Version>4.2</Version>
  3268. <IsMainModel>1</IsMainModel>
  3269. <KeepParameterValues>False</KeepParameterValues>
  3270. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3271. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3272. </Description>
  3273. </Information>';
  3274. type MSe
  3275. ports
  3276. electric out p;
  3277. signal in effort;
  3278. restrictions
  3279. causality fixed out p;
  3280. end;
  3281. icon bg bottom
  3282. figures
  3283. text 'MSe' 512 272 color 0 18 bold;
  3284. end;
  3285. implementation eq
  3286. variables
  3287. real flow;
  3288. equations
  3289. p.e = effort;
  3290. flow = p.f;
  3291. implementation_end;
  3292. plug angle 200 216;
  3293. plug p 1472 216;
  3294. OneJunction1 840 216
  3295. description '<Information>
  3296. <Description>
  3297. <Version>4.2</Version>
  3298. <IsMainModel>1</IsMainModel>
  3299. <KeepParameterValues>False</KeepParameterValues>
  3300. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3301. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3302. </Description>
  3303. </Information>';
  3304. knot OneJunction
  3305. ports
  3306. rotation knot duplicatable none p [1];
  3307. signal knot out flow [1];
  3308. restrictions
  3309. causality constraint one_out p;
  3310. end;
  3311. icon bg
  3312. figures
  3313. text '1' 840 216 color 0 18 bold;
  3314. end;
  3315. implementation eq
  3316. equations
  3317. sum (direct (p.e)) = 0;
  3318. equal (collect (p.f));
  3319. flow = first (p.f);
  3320. implementation_end;
  3321. OneJunction2 584 160
  3322. description '<Information>
  3323. <Description>
  3324. <Version>4.2</Version>
  3325. <IsMainModel>1</IsMainModel>
  3326. <KeepParameterValues>False</KeepParameterValues>
  3327. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3328. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3329. </Description>
  3330. </Information>';
  3331. knot OneJunction
  3332. ports
  3333. electric knot duplicatable none p [1];
  3334. signal knot out flow [1];
  3335. restrictions
  3336. causality constraint one_out p;
  3337. end;
  3338. icon bg
  3339. figures
  3340. text '1' 584 160 color 0 18 bold;
  3341. end;
  3342. implementation eq
  3343. equations
  3344. sum (direct (p.e)) = 0;
  3345. equal (collect (p.f));
  3346. flow = first (p.f);
  3347. implementation_end;
  3348. OneJunction3 584 272
  3349. description '<Information>
  3350. <Description>
  3351. <Version>4.2</Version>
  3352. <IsMainModel>1</IsMainModel>
  3353. <KeepParameterValues>False</KeepParameterValues>
  3354. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3355. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3356. </Description>
  3357. </Information>';
  3358. knot OneJunction
  3359. ports
  3360. electric knot duplicatable none p [1];
  3361. signal knot out flow [1];
  3362. restrictions
  3363. causality constraint one_out p;
  3364. end;
  3365. icon bg
  3366. figures
  3367. text '1' 584 272 color 0 18 bold;
  3368. end;
  3369. implementation eq
  3370. equations
  3371. sum (direct (p.e)) = 0;
  3372. equal (collect (p.f));
  3373. flow = first (p.f);
  3374. implementation_end;
  3375. OneJunction4 752 216
  3376. description '<Information>
  3377. <Description>
  3378. <Version>4.2</Version>
  3379. <IsMainModel>1</IsMainModel>
  3380. <KeepParameterValues>False</KeepParameterValues>
  3381. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3382. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3383. </Description>
  3384. </Information>';
  3385. knot OneJunction
  3386. ports
  3387. rotation knot duplicatable none p [1];
  3388. signal knot out flow [1];
  3389. restrictions
  3390. causality constraint one_out p;
  3391. end;
  3392. icon bg
  3393. figures
  3394. text '1' 752 216 color 0 18 bold;
  3395. end;
  3396. implementation eq
  3397. equations
  3398. sum (direct (p.e)) = 0;
  3399. equal (collect (p.f));
  3400. flow = first (p.f);
  3401. implementation_end;
  3402. phase_control 512 216
  3403. description '<Description><Version>4.0</Version>
  3404. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  3405. <IsMainModel>1</IsMainModel>
  3406. <KeepParameterValues>False</KeepParameterValues>
  3407. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  3408. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  3409. </Description>';
  3410. type Submodel
  3411. ports
  3412. signal in angle;
  3413. signal out a;
  3414. signal out b;
  3415. end;
  3416. icon bg
  3417. figures
  3418. rectangle 472 200 552 232 color 0 fill 15132390;
  3419. text 'name' 512 216 color 0 'Clear Sans' 16;
  3420. end;
  3421. implementation eq
  3422. parameters
  3423. real global u_max {V};
  3424. variables
  3425. real global p;
  3426. boolean hidden eventa, eventb;
  3427. equations
  3428. a = u_max * (cos (p*angle));
  3429. eventa = event(a);
  3430. b = u_max * -(sin (p*angle));
  3431. eventb = event(b);
  3432. implementation_end;
  3433. R 608 104
  3434. description '<Information>
  3435. <Description>
  3436. <Version>4.2</Version>
  3437. <IsMainModel>1</IsMainModel>
  3438. <KeepParameterValues>False</KeepParameterValues>
  3439. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3440. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3441. </Description>
  3442. </Information>';
  3443. type R
  3444. ports
  3445. power in p;
  3446. end;
  3447. icon bg bottom
  3448. figures
  3449. text 'R' 608 104 color 0 18 bold;
  3450. end;
  3451. implementation eq
  3452. parameters
  3453. real global R_phase;
  3454. equations
  3455. p.e = R_phase * p.f;
  3456. implementation_end;
  3457. R1 560 328
  3458. description '<Information>
  3459. <Description>
  3460. <Version>4.2</Version>
  3461. <IsMainModel>1</IsMainModel>
  3462. <KeepParameterValues>False</KeepParameterValues>
  3463. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3464. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3465. </Description>
  3466. </Information>';
  3467. type R
  3468. ports
  3469. power in p;
  3470. end;
  3471. icon bg bottom
  3472. figures
  3473. text 'R' 560 328 color 0 18 bold;
  3474. end;
  3475. implementation eq
  3476. parameters
  3477. real global R_phase;
  3478. equations
  3479. p.e = R_phase * p.f;
  3480. implementation_end;
  3481. R2 824 264
  3482. description '<Information>
  3483. <Description>
  3484. <Version>4.2</Version>
  3485. <IsMainModel>1</IsMainModel>
  3486. <KeepParameterValues>False</KeepParameterValues>
  3487. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3488. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3489. </Description>
  3490. </Information>';
  3491. type R
  3492. ports
  3493. power in p;
  3494. end;
  3495. icon bg bottom
  3496. figures
  3497. text 'R' 824 264 color 0 18 bold;
  3498. end;
  3499. implementation eq
  3500. parameters
  3501. real r = 1.0e-3;
  3502. equations
  3503. p.e = r * p.f;
  3504. implementation_end;
  3505. RotorAngle 656 216
  3506. description '<Description><Version>4.0</Version>
  3507. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  3508. <IsMainModel>1</IsMainModel>
  3509. <KeepParameterValues>False</KeepParameterValues>
  3510. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  3511. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  3512. </Description>';
  3513. type Submodel
  3514. ports
  3515. signal out output_b;
  3516. signal out output_a;
  3517. signal in omega {rad/s} ;
  3518. signal out output_d;
  3519. end;
  3520. icon bg
  3521. figures
  3522. rectangle 616 200 696 232 color 0 fill 15132390;
  3523. text 'name' 656 216 color 0 'Clear Sans' 16;
  3524. end;
  3525. implementation eq
  3526. parameters
  3527. real global fluxLinkage;
  3528. real global detentTorque;
  3529. variables
  3530. real global p;
  3531. real angle {rad};
  3532. equations
  3533. angle = int(omega,1.570796);
  3534. output_a = -p * fluxLinkage * sin(p * angle);
  3535. output_b = p * fluxLinkage * sin(p * angle - pi / 2);
  3536. output_d = detentTorque * sin(2 * p * angle);
  3537. implementation_end;
  3538. Se 752 272
  3539. description '<Information>
  3540. <Description>
  3541. <Version>4.2</Version>
  3542. <IsMainModel>1</IsMainModel>
  3543. <KeepParameterValues>False</KeepParameterValues>
  3544. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  3545. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  3546. </Description>
  3547. </Information>';
  3548. type MSe
  3549. ports
  3550. power out p;
  3551. signal in effort;
  3552. restrictions
  3553. causality fixed out p;
  3554. end;
  3555. icon bg bottom
  3556. figures
  3557. text 'MSe' 752 272 color 0 18 bold;
  3558. end;
  3559. implementation eq
  3560. variables
  3561. real flow;
  3562. equations
  3563. p.e = effort;
  3564. flow = p.f;
  3565. implementation_end;
  3566. end;
  3567. connections
  3568. angle -> phase_control\angle;
  3569. I2\p <= OneJunction4\p;
  3570. MGY_a\p2 => OneJunction4\p;
  3571. MGY_b\p2 => OneJunction4\p;
  3572. MSe_b\p => OneJunction3\p;
  3573. OneJunction1\p => p;
  3574. OneJunction2\p <= MSe_a\p;
  3575. OneJunction2\p => I\p;
  3576. OneJunction2\p => MGY_a\p1;
  3577. OneJunction2\p => R\p;
  3578. OneJunction3\p => I1\p;
  3579. OneJunction3\p => MGY_b\p1;
  3580. OneJunction3\p => R1\p;
  3581. OneJunction4\flow -> RotorAngle\omega;
  3582. OneJunction4\p => OneJunction1\p;
  3583. OneJunction4\p => R2\p;
  3584. phase_control\a -> MSe_a\effort;
  3585. phase_control\b -> MSe_b\effort;
  3586. RotorAngle\output_a -> MGY_a\r;
  3587. RotorAngle\output_b -> MGY_b\r;
  3588. RotorAngle\output_d -> Se\effort;
  3589. Se\p => OneJunction4\p;
  3590. end;
  3591. implementation_end;
  3592. ZeroJunction1 360 200
  3593. description '<Information>
  3594. <Description>
  3595. <Version>4.2</Version>
  3596. <IsMainModel>1</IsMainModel>
  3597. <KeepParameterValues>False</KeepParameterValues>
  3598. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  3599. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  3600. </Description>
  3601. </Information>';
  3602. knot ZeroJunction
  3603. ports
  3604. rotation knot duplicatable none p [1];
  3605. signal knot out effort [1];
  3606. restrictions
  3607. causality constraint one_in p;
  3608. end;
  3609. icon bg
  3610. figures
  3611. text '0' 360 200 color 0 18 bold;
  3612. end;
  3613. implementation eq
  3614. equations
  3615. sum (direct (p.f)) = 0;
  3616. equal (collect (p.e));
  3617. effort = first (p.e);
  3618. implementation_end;
  3619. end;
  3620. connections
  3621. angle -> stepper_model\angle;
  3622. C\p <= OneJunction8\p;
  3623. C1\p <= OneJunction7\p;
  3624. OneJunction5\p => C4\p;
  3625. OneJunction5\p => PowerMux\input_rot2;
  3626. OneJunction5\p => R4\p;
  3627. OneJunction7\p => PowerMux\input_pos3;
  3628. OneJunction7\p => R5\p;
  3629. OneJunction8\p => R\p;
  3630. OneJunction8\p => ZeroJunction1\p;
  3631. PowerMux\input <= ZeroJunction1\p;
  3632. PowerMux\output => output;
  3633. ZeroJunction1\p <= stepper_model\p;
  3634. end;
  3635. implementation_end;
  3636. Joint_dynB 456 192
  3637. description '<Description>
  3638. <Version>4.8</Version>
  3639. <IsMainModel>1</IsMainModel>
  3640. </Description>';
  3641. type Submodel
  3642. ports
  3643. power out output [6,1];
  3644. end;
  3645. icon bg
  3646. figures
  3647. rectangle 416 176 496 208 color 0 fill 15132390;
  3648. text 'name' 456 192 color 0 'Clear Sans' 16;
  3649. end;
  3650. implementation bg
  3651. submodels
  3652. C1 191.8 216.2
  3653. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3654. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  3655. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  3656. </Description>';
  3657. type 'C-3'
  3658. ports
  3659. power in p [3,1];
  3660. signal out state [3,1];
  3661. restrictions
  3662. causality preferred out p;
  3663. end;
  3664. icon bg top
  3665. figures
  3666. text 'C' 191.8 216.2 color 0 18 bold;
  3667. end;
  3668. implementation eq
  3669. parameters
  3670. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  3671. equations
  3672. state = int(p.f);
  3673. p.e = inverse(c) *state;
  3674. implementation_end;
  3675. C4 191.8 232.2
  3676. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3677. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  3678. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  3679. </Description>';
  3680. type 'C-2'
  3681. ports
  3682. power in p [2,1];
  3683. signal out state [2,1];
  3684. restrictions
  3685. causality preferred out p;
  3686. end;
  3687. icon bg bottom
  3688. figures
  3689. text 'C' 191.8 232.2 color 0 18 bold;
  3690. end;
  3691. implementation eq
  3692. parameters
  3693. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  3694. equations
  3695. state = int(p.f);
  3696. p.e = inverse(c) *state;
  3697. implementation_end;
  3698. plug output 396 216;
  3699. OneJunction5 239.8 232.2
  3700. description '<Information>
  3701. <Description>
  3702. <Version>4.2</Version>
  3703. <IsMainModel>1</IsMainModel>
  3704. <KeepParameterValues>False</KeepParameterValues>
  3705. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3706. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3707. </Description>
  3708. </Information>';
  3709. knot OneJunction
  3710. ports
  3711. power knot duplicatable none p [2,1];
  3712. signal knot out flow [2,1];
  3713. restrictions
  3714. causality constraint one_out p;
  3715. end;
  3716. icon bg
  3717. figures
  3718. text '1' 239.8 232.2 color 0 18 bold;
  3719. end;
  3720. implementation eq
  3721. equations
  3722. sum (direct (p.e)) = 0;
  3723. equal (collect (p.f));
  3724. flow = first (p.f);
  3725. implementation_end;
  3726. OneJunction7 239.8 216.2
  3727. description '<Information>
  3728. <Description>
  3729. <Version>4.2</Version>
  3730. <IsMainModel>1</IsMainModel>
  3731. <KeepParameterValues>False</KeepParameterValues>
  3732. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3733. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3734. </Description>
  3735. </Information>';
  3736. knot OneJunction
  3737. ports
  3738. power knot duplicatable none p [3,1];
  3739. signal knot out flow [3,1];
  3740. restrictions
  3741. causality constraint one_out p;
  3742. end;
  3743. icon bg
  3744. figures
  3745. text '1' 239.8 216.2 color 0 18 bold;
  3746. end;
  3747. implementation eq
  3748. equations
  3749. sum (direct (p.e)) = 0;
  3750. equal (collect (p.f));
  3751. flow = first (p.f);
  3752. implementation_end;
  3753. OneJunction8 288 200
  3754. description '<Information>
  3755. <Description>
  3756. <Version>4.2</Version>
  3757. <IsMainModel>1</IsMainModel>
  3758. <KeepParameterValues>False</KeepParameterValues>
  3759. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  3760. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  3761. </Description>
  3762. </Information>';
  3763. knot OneJunction
  3764. ports
  3765. power knot duplicatable none p [1];
  3766. signal knot out flow [1];
  3767. restrictions
  3768. causality constraint one_out p;
  3769. end;
  3770. icon bg
  3771. figures
  3772. text '1' 288 200 color 0 18 bold;
  3773. end;
  3774. implementation eq
  3775. equations
  3776. sum (direct (p.e)) = 0;
  3777. equal (collect (p.f));
  3778. flow = first (p.f);
  3779. implementation_end;
  3780. PowerMux 330 216
  3781. specifications active 'rot_x'
  3782. specification 'rot_x'
  3783. description '<Information>
  3784. <Description>
  3785. <Version>4.8</Version>
  3786. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  3787. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  3788. <IsMainModel>1</IsMainModel>
  3789. <KeepParameterValues>False</KeepParameterValues>
  3790. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3791. </Description>
  3792. </Information>';
  3793. type 'PowerMux-Rotation'
  3794. ports
  3795. power in input;
  3796. power out output [6,1];
  3797. power in input_rot2 [2,1];
  3798. power in input_pos3 [3,1];
  3799. restrictions
  3800. causality constraint not_equal input output;
  3801. causality constraint not_equal input_rot2 output;
  3802. causality constraint not_equal input_pos3 output;
  3803. end;
  3804. icon bg bottom
  3805. figures
  3806. line 328 192 328 240 color 0 width 2;
  3807. rectangle 324 192 336 240 color -1;
  3808. text '1' 333 210 color 8421504 8;
  3809. terminals
  3810. input 328 200 fixed;
  3811. output 328 216 fixed;
  3812. input_rot2 328 232 fixed;
  3813. input_pos3 328 216 fixed;
  3814. end;
  3815. implementation eq
  3816. equations
  3817. output.e[1] = input.e;
  3818. output.e[2:3] = input_rot2.e;
  3819. output.e[4:6] = input_pos3.e;
  3820. output.f[1] = input.f;
  3821. output.f[2:3] = input_rot2.f;
  3822. output.f[4:6] = input_pos3.f;implementation_end;
  3823. specification_end;
  3824. specification 'rot_y'
  3825. description '<Description>
  3826. <Version>4.1</Version>
  3827. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  3828. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  3829. <IsMainModel>1</IsMainModel>
  3830. <KeepParameterValues>False</KeepParameterValues>
  3831. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3832. </Description>';
  3833. type PowerMux
  3834. ports
  3835. power in input;
  3836. power out output [6,1];
  3837. power in input_rot2 [2,1];
  3838. power in input_pos3 [3,1];
  3839. restrictions
  3840. causality constraint not_equal input output;
  3841. causality constraint not_equal input_rot2 output;
  3842. causality constraint not_equal input_pos3 output;
  3843. end;
  3844. icon bg bottom
  3845. figures
  3846. line 242 274 290 274 color 0 width 2;
  3847. rectangle 242 266 290 278 color -1;
  3848. text '1' 260 269 color 8421504 8;
  3849. terminals
  3850. input 250 274 fixed;
  3851. output 266 274 fixed;
  3852. input_rot2 282 274 fixed;
  3853. input_pos3 266 274 fixed;
  3854. end;
  3855. implementation eq
  3856. equations
  3857. output.e[1] = input_rot2.e[1];
  3858. output.e[2] = input.e;
  3859. output.e[3] = input_rot2.e[2];
  3860. output.e[4:6] = input_pos3.e;
  3861. output.f[1] = input_rot2.f[1];
  3862. output.f[2] = input.f;
  3863. output.f[3] = input_rot2.f[2];
  3864. output.f[4:6] = input_pos3.f;implementation_end;
  3865. specification_end;
  3866. specification 'rot_z'
  3867. description '<Information>
  3868. <Description>
  3869. <Version>4.8</Version>
  3870. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  3871. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  3872. <IsMainModel>1</IsMainModel>
  3873. <KeepParameterValues>False</KeepParameterValues>
  3874. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  3875. </Description>
  3876. </Information>';
  3877. type PowerMux
  3878. ports
  3879. power in input;
  3880. power out output [6,1];
  3881. power in input_rot2 [2,1];
  3882. power in input_pos3 [3,1];
  3883. restrictions
  3884. causality constraint not_equal input output;
  3885. causality constraint not_equal input_rot2 output;
  3886. causality constraint not_equal input_pos3 output;
  3887. end;
  3888. icon bg bottom
  3889. figures
  3890. line 242 274 290 274 color 0 width 2;
  3891. rectangle 242 266 290 278 color -1;
  3892. text '1' 260 269 color 8421504 8;
  3893. terminals
  3894. input 250 274 fixed;
  3895. output 266 274 fixed;
  3896. input_rot2 282 274 fixed;
  3897. input_pos3 266 274 fixed;
  3898. end;
  3899. implementation eq
  3900. equations
  3901. output.e[3] = input.e;
  3902. output.e[1:2] = input_rot2.e;
  3903. output.e[4:6] = input_pos3.e;
  3904. output.f[3] = input.f;
  3905. output.f[1:2] = input_rot2.f;
  3906. output.f[4:6] = input_pos3.f;implementation_end;
  3907. specification_end;
  3908. end;
  3909. R 288 152
  3910. description '<Information>
  3911. <Description>
  3912. <Version>4.2</Version>
  3913. <IsMainModel>1</IsMainModel>
  3914. <KeepParameterValues>False</KeepParameterValues>
  3915. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  3916. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  3917. </Description>
  3918. </Information>';
  3919. type R
  3920. ports
  3921. power in p;
  3922. end;
  3923. icon bg top
  3924. figures
  3925. text 'R' 288 152 color 0 18 bold;
  3926. end;
  3927. implementation eq
  3928. parameters
  3929. real r = 0.0001;
  3930. equations
  3931. p.e = r * p.f;
  3932. implementation_end;
  3933. R4 239.8 288.2
  3934. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3935. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  3936. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  3937. </Description>';
  3938. type 'R-2'
  3939. ports
  3940. power in p [2,1];
  3941. end;
  3942. icon bg bottom
  3943. figures
  3944. text 'R' 239.8 288.2 color 0 18 bold;
  3945. end;
  3946. implementation eq
  3947. parameters
  3948. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  3949. equations
  3950. p.e = r * p.f;
  3951. implementation_end;
  3952. R5 239.8 168.2
  3953. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  3954. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  3955. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  3956. </Description>';
  3957. type 'R-3'
  3958. ports
  3959. power in p [3,1];
  3960. end;
  3961. icon bg top
  3962. figures
  3963. text 'R' 239.8 168.2 color 0 18 bold;
  3964. end;
  3965. implementation eq
  3966. parameters
  3967. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  3968. equations
  3969. p.e = r * p.f;
  3970. implementation_end;
  3971. end;
  3972. connections
  3973. C1\p <= OneJunction7\p;
  3974. OneJunction5\p => C4\p;
  3975. OneJunction5\p => PowerMux\input_rot2;
  3976. OneJunction5\p => R4\p;
  3977. OneJunction7\p => PowerMux\input_pos3;
  3978. OneJunction7\p => R5\p;
  3979. OneJunction8\p => PowerMux\input;
  3980. PowerMux\output => output;
  3981. R\p <= OneJunction8\p;
  3982. end;
  3983. implementation_end;
  3984. Joint_dynC 512 712
  3985. description '<Description>
  3986. <Version>4.8</Version>
  3987. <IsMainModel>1</IsMainModel>
  3988. </Description>';
  3989. type Submodel
  3990. ports
  3991. power out output [6,1];
  3992. signal in angle {rad} ;
  3993. end;
  3994. icon bg
  3995. figures
  3996. rectangle 472 696 552 728 color 0 fill 15132390;
  3997. text 'name' 512 712 color 0 'Clear Sans' 16;
  3998. end;
  3999. implementation bg
  4000. submodels
  4001. C 264 200
  4002. description '<Information>
  4003. <Description>
  4004. <Version>4.2</Version>
  4005. <IsMainModel>1</IsMainModel>
  4006. <KeepParameterValues>False</KeepParameterValues>
  4007. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  4008. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  4009. </Description>
  4010. </Information>';
  4011. type C
  4012. ports
  4013. power in p;
  4014. signal out state;
  4015. restrictions
  4016. causality preferred out p;
  4017. end;
  4018. icon bg bottom
  4019. figures
  4020. text 'C' 264 200 color 0 18 bold;
  4021. end;
  4022. implementation eq
  4023. parameters
  4024. real c = 0.001;
  4025. equations
  4026. state = int(p.f);
  4027. p.e = state / c;
  4028. implementation_end;
  4029. C1 191.8 216.2
  4030. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4031. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  4032. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  4033. </Description>';
  4034. type 'C-3'
  4035. ports
  4036. power in p [3,1];
  4037. signal out state [3,1];
  4038. restrictions
  4039. causality preferred out p;
  4040. end;
  4041. icon bg top
  4042. figures
  4043. text 'C' 191.8 216.2 color 0 18 bold;
  4044. end;
  4045. implementation eq
  4046. parameters
  4047. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  4048. equations
  4049. state = int(p.f);
  4050. p.e = inverse(c) *state;
  4051. implementation_end;
  4052. C4 191.8 232.2
  4053. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4054. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  4055. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  4056. </Description>';
  4057. type 'C-2'
  4058. ports
  4059. power in p [2,1];
  4060. signal out state [2,1];
  4061. restrictions
  4062. causality preferred out p;
  4063. end;
  4064. icon bg bottom
  4065. figures
  4066. text 'C' 191.8 232.2 color 0 18 bold;
  4067. end;
  4068. implementation eq
  4069. parameters
  4070. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  4071. equations
  4072. state = int(p.f);
  4073. p.e = inverse(c) *state;
  4074. implementation_end;
  4075. plug output 468 216;
  4076. plug angle 224 80;
  4077. OneJunction5 239.8 232.2
  4078. description '<Information>
  4079. <Description>
  4080. <Version>4.2</Version>
  4081. <IsMainModel>1</IsMainModel>
  4082. <KeepParameterValues>False</KeepParameterValues>
  4083. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4084. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4085. </Description>
  4086. </Information>';
  4087. knot OneJunction
  4088. ports
  4089. power knot duplicatable none p [2,1];
  4090. signal knot out flow [2,1];
  4091. restrictions
  4092. causality constraint one_out p;
  4093. end;
  4094. icon bg
  4095. figures
  4096. text '1' 239.8 232.2 color 0 18 bold;
  4097. end;
  4098. implementation eq
  4099. equations
  4100. sum (direct (p.e)) = 0;
  4101. equal (collect (p.f));
  4102. flow = first (p.f);
  4103. implementation_end;
  4104. OneJunction7 239.8 216.2
  4105. description '<Information>
  4106. <Description>
  4107. <Version>4.2</Version>
  4108. <IsMainModel>1</IsMainModel>
  4109. <KeepParameterValues>False</KeepParameterValues>
  4110. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4111. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4112. </Description>
  4113. </Information>';
  4114. knot OneJunction
  4115. ports
  4116. power knot duplicatable none p [3,1];
  4117. signal knot out flow [3,1];
  4118. restrictions
  4119. causality constraint one_out p;
  4120. end;
  4121. icon bg
  4122. figures
  4123. text '1' 239.8 216.2 color 0 18 bold;
  4124. end;
  4125. implementation eq
  4126. equations
  4127. sum (direct (p.e)) = 0;
  4128. equal (collect (p.f));
  4129. flow = first (p.f);
  4130. implementation_end;
  4131. OneJunction8 312 200
  4132. description '<Information>
  4133. <Description>
  4134. <Version>4.2</Version>
  4135. <IsMainModel>1</IsMainModel>
  4136. <KeepParameterValues>False</KeepParameterValues>
  4137. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4138. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4139. </Description>
  4140. </Information>';
  4141. knot OneJunction
  4142. ports
  4143. rotation knot duplicatable none p [1];
  4144. signal knot out flow [1];
  4145. restrictions
  4146. causality constraint one_out p;
  4147. end;
  4148. icon bg
  4149. figures
  4150. text '1' 312 200 color 0 18 bold;
  4151. end;
  4152. implementation eq
  4153. equations
  4154. sum (direct (p.e)) = 0;
  4155. equal (collect (p.f));
  4156. flow = first (p.f);
  4157. implementation_end;
  4158. PowerMux 402 216
  4159. specifications active 'rot_x'
  4160. specification 'rot_x'
  4161. description '<Information>
  4162. <Description>
  4163. <Version>4.8</Version>
  4164. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  4165. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  4166. <IsMainModel>1</IsMainModel>
  4167. <KeepParameterValues>False</KeepParameterValues>
  4168. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4169. </Description>
  4170. </Information>';
  4171. type 'PowerMux-Rotation'
  4172. ports
  4173. power in input;
  4174. power out output [6,1];
  4175. power in input_rot2 [2,1];
  4176. power in input_pos3 [3,1];
  4177. restrictions
  4178. causality constraint not_equal input output;
  4179. causality constraint not_equal input_rot2 output;
  4180. causality constraint not_equal input_pos3 output;
  4181. end;
  4182. icon bg bottom
  4183. figures
  4184. line 400 192 400 240 color 0 width 2;
  4185. rectangle 396 192 408 240 color -1;
  4186. text '1' 405 210 color 8421504 8;
  4187. terminals
  4188. input 400 200 fixed;
  4189. output 400 216 fixed;
  4190. input_rot2 400 232 fixed;
  4191. input_pos3 400 216 fixed;
  4192. end;
  4193. implementation eq
  4194. equations
  4195. output.e[1] = input.e;
  4196. output.e[2:3] = input_rot2.e;
  4197. output.e[4:6] = input_pos3.e;
  4198. output.f[1] = input.f;
  4199. output.f[2:3] = input_rot2.f;
  4200. output.f[4:6] = input_pos3.f;implementation_end;
  4201. specification_end;
  4202. specification 'rot_y'
  4203. description '<Description>
  4204. <Version>4.1</Version>
  4205. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  4206. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  4207. <IsMainModel>1</IsMainModel>
  4208. <KeepParameterValues>False</KeepParameterValues>
  4209. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4210. </Description>';
  4211. type PowerMux
  4212. ports
  4213. power in input;
  4214. power out output [6,1];
  4215. power in input_rot2 [2,1];
  4216. power in input_pos3 [3,1];
  4217. restrictions
  4218. causality constraint not_equal input output;
  4219. causality constraint not_equal input_rot2 output;
  4220. causality constraint not_equal input_pos3 output;
  4221. end;
  4222. icon bg bottom
  4223. figures
  4224. line 242 274 290 274 color 0 width 2;
  4225. rectangle 242 266 290 278 color -1;
  4226. text '1' 260 269 color 8421504 8;
  4227. terminals
  4228. input 250 274 fixed;
  4229. output 266 274 fixed;
  4230. input_rot2 282 274 fixed;
  4231. input_pos3 266 274 fixed;
  4232. end;
  4233. implementation eq
  4234. equations
  4235. output.e[1] = input_rot2.e[1];
  4236. output.e[2] = input.e;
  4237. output.e[3] = input_rot2.e[2];
  4238. output.e[4:6] = input_pos3.e;
  4239. output.f[1] = input_rot2.f[1];
  4240. output.f[2] = input.f;
  4241. output.f[3] = input_rot2.f[2];
  4242. output.f[4:6] = input_pos3.f;implementation_end;
  4243. specification_end;
  4244. specification 'rot_z'
  4245. description '<Information>
  4246. <Description>
  4247. <Version>4.8</Version>
  4248. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  4249. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  4250. <IsMainModel>1</IsMainModel>
  4251. <KeepParameterValues>False</KeepParameterValues>
  4252. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  4253. </Description>
  4254. </Information>';
  4255. type PowerMux
  4256. ports
  4257. power in input;
  4258. power out output [6,1];
  4259. power in input_rot2 [2,1];
  4260. power in input_pos3 [3,1];
  4261. restrictions
  4262. causality constraint not_equal input output;
  4263. causality constraint not_equal input_rot2 output;
  4264. causality constraint not_equal input_pos3 output;
  4265. end;
  4266. icon bg bottom
  4267. figures
  4268. line 242 274 290 274 color 0 width 2;
  4269. rectangle 242 266 290 278 color -1;
  4270. text '1' 260 269 color 8421504 8;
  4271. terminals
  4272. input 250 274 fixed;
  4273. output 266 274 fixed;
  4274. input_rot2 282 274 fixed;
  4275. input_pos3 266 274 fixed;
  4276. end;
  4277. implementation eq
  4278. equations
  4279. output.e[3] = input.e;
  4280. output.e[1:2] = input_rot2.e;
  4281. output.e[4:6] = input_pos3.e;
  4282. output.f[3] = input.f;
  4283. output.f[1:2] = input_rot2.f;
  4284. output.f[4:6] = input_pos3.f;implementation_end;
  4285. specification_end;
  4286. end;
  4287. R 312 152
  4288. description '<Information>
  4289. <Description>
  4290. <Version>4.2</Version>
  4291. <IsMainModel>1</IsMainModel>
  4292. <KeepParameterValues>False</KeepParameterValues>
  4293. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4294. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4295. </Description>
  4296. </Information>';
  4297. type R
  4298. ports
  4299. power in p;
  4300. end;
  4301. icon bg bottom
  4302. figures
  4303. text 'R' 312 152 color 0 18 bold;
  4304. end;
  4305. implementation eq
  4306. parameters
  4307. real r = 100;
  4308. equations
  4309. p.e = r * p.f;
  4310. implementation_end;
  4311. R4 239.8 288.2
  4312. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4313. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  4314. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  4315. </Description>';
  4316. type 'R-2'
  4317. ports
  4318. power in p [2,1];
  4319. end;
  4320. icon bg bottom
  4321. figures
  4322. text 'R' 239.8 288.2 color 0 18 bold;
  4323. end;
  4324. implementation eq
  4325. parameters
  4326. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  4327. equations
  4328. p.e = r * p.f;
  4329. implementation_end;
  4330. R5 239.8 168.2
  4331. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4332. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  4333. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  4334. </Description>';
  4335. type 'R-3'
  4336. ports
  4337. power in p [3,1];
  4338. end;
  4339. icon bg top
  4340. figures
  4341. text 'R' 239.8 168.2 color 0 18 bold;
  4342. end;
  4343. implementation eq
  4344. parameters
  4345. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  4346. equations
  4347. p.e = r * p.f;
  4348. implementation_end;
  4349. stepper_model 360 80
  4350. description '<Information><Description><Version>4.8</Version><IsMainModel>1</IsMainModel><LibraryPath>Motor\stepper_model.emx</LibraryPath><TimeStamp>2020-7-23 10:54:47</TimeStamp></Description><Attributes><GlobalRelations>parameters
  4351. real I_phase = 3.4 {mH};
  4352. real R_phase = 2.9 {ohm};
  4353. real u_max = 3.4 {V};
  4354. real RotorInertia = 5.6e-6 {kg.m2};
  4355. real StepperMass = 0.29 {kg};
  4356. real angle_step = 1.8 {deg};
  4357. real n_phase = 2 {none};
  4358. real fluxLinkage = 0.0022 {Wb};
  4359. real detentTorque = 0.01 {N.m};
  4360. variables
  4361. real omega;
  4362. real p; // rotor division
  4363. initialequations
  4364. p = 2 * pi / (2 * n_phase * angle_step);
  4365. omega = 200;</GlobalRelations></Attributes></Information>';
  4366. type Submodel
  4367. ports
  4368. signal in angle;
  4369. rotation out p;
  4370. end;
  4371. implementation bg
  4372. submodels
  4373. I 560 104
  4374. description '<Information>
  4375. <Description>
  4376. <Version>4.2</Version>
  4377. <IsMainModel>1</IsMainModel>
  4378. <KeepParameterValues>False</KeepParameterValues>
  4379. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  4380. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  4381. </Description>
  4382. </Information>';
  4383. type I
  4384. ports
  4385. power in p;
  4386. signal out state;
  4387. restrictions
  4388. causality preferred in p;
  4389. end;
  4390. icon bg bottom
  4391. figures
  4392. text 'I' 560 104 color 0 18 bold;
  4393. end;
  4394. implementation eq
  4395. parameters
  4396. real global I_phase;
  4397. equations
  4398. state = int(p.e);
  4399. p.f = state / I_phase;
  4400. implementation_end;
  4401. I1 608 328
  4402. description '<Information>
  4403. <Description>
  4404. <Version>4.2</Version>
  4405. <IsMainModel>1</IsMainModel>
  4406. <KeepParameterValues>False</KeepParameterValues>
  4407. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  4408. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  4409. </Description>
  4410. </Information>';
  4411. type I
  4412. ports
  4413. power in p;
  4414. signal out state;
  4415. restrictions
  4416. causality preferred in p;
  4417. end;
  4418. icon bg bottom
  4419. figures
  4420. text 'I' 608 328 color 0 18 bold;
  4421. end;
  4422. implementation eq
  4423. parameters
  4424. real global I_phase;
  4425. equations
  4426. state = int(p.e);
  4427. p.f = state / I_phase;
  4428. implementation_end;
  4429. I2 752 160
  4430. description '<Information>
  4431. <Description>
  4432. <Version>4.2</Version>
  4433. <IsMainModel>1</IsMainModel>
  4434. <KeepParameterValues>False</KeepParameterValues>
  4435. <LibraryPath>Bond Graph\I.emx</LibraryPath>
  4436. <TimeStamp>2011-11-29 15:55:55</TimeStamp>
  4437. </Description>
  4438. </Information>';
  4439. type I
  4440. ports
  4441. power in p;
  4442. signal out state;
  4443. restrictions
  4444. causality preferred in p;
  4445. end;
  4446. icon bg bottom
  4447. figures
  4448. text 'I' 752 160 color 0 18 bold;
  4449. end;
  4450. implementation eq
  4451. parameters
  4452. real global RotorInertia;
  4453. equations
  4454. state = int(p.e);
  4455. p.f = state / (RotorInertia);
  4456. implementation_end;
  4457. MGY_a 656 160
  4458. description '<Information>
  4459. <Description>
  4460. <Version>4.2</Version>
  4461. <IsMainModel>1</IsMainModel>
  4462. <KeepParameterValues>False</KeepParameterValues>
  4463. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  4464. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  4465. </Description>
  4466. </Information>';
  4467. type MGY
  4468. ports
  4469. power in p1;
  4470. power out p2;
  4471. signal in r;
  4472. restrictions
  4473. causality constraint equal p1 p2;
  4474. end;
  4475. icon bg bottom
  4476. figures
  4477. text 'MGY' 656 160 color 0 18 bold;
  4478. end;
  4479. implementation eq
  4480. equations
  4481. p1.e = r * p2.f;
  4482. p2.e = r * p1.f;
  4483. implementation_end;
  4484. MGY_b 656 272
  4485. description '<Information>
  4486. <Description>
  4487. <Version>4.2</Version>
  4488. <IsMainModel>1</IsMainModel>
  4489. <KeepParameterValues>False</KeepParameterValues>
  4490. <LibraryPath>Bond Graph\MGY.emx</LibraryPath>
  4491. <TimeStamp>2011-11-29 16:03:53</TimeStamp>
  4492. </Description>
  4493. </Information>';
  4494. type MGY
  4495. ports
  4496. power in p1;
  4497. power out p2;
  4498. signal in r;
  4499. restrictions
  4500. causality constraint equal p1 p2;
  4501. end;
  4502. icon bg bottom
  4503. figures
  4504. text 'MGY' 656 272 color 0 18 bold;
  4505. end;
  4506. implementation eq
  4507. equations
  4508. p1.e = r * p2.f;
  4509. p2.e = r * p1.f;
  4510. implementation_end;
  4511. MSe_a 512 160
  4512. description '<Information>
  4513. <Description>
  4514. <Version>4.2</Version>
  4515. <IsMainModel>1</IsMainModel>
  4516. <KeepParameterValues>False</KeepParameterValues>
  4517. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  4518. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  4519. </Description>
  4520. </Information>';
  4521. type MSe
  4522. ports
  4523. electric out p;
  4524. signal in effort;
  4525. restrictions
  4526. causality fixed out p;
  4527. end;
  4528. icon bg bottom
  4529. figures
  4530. text 'MSe' 512 160 color 0 18 bold;
  4531. end;
  4532. implementation eq
  4533. variables
  4534. real flow;
  4535. equations
  4536. p.e = effort;
  4537. flow = p.f;
  4538. implementation_end;
  4539. MSe_b 512 272
  4540. description '<Information>
  4541. <Description>
  4542. <Version>4.2</Version>
  4543. <IsMainModel>1</IsMainModel>
  4544. <KeepParameterValues>False</KeepParameterValues>
  4545. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  4546. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  4547. </Description>
  4548. </Information>';
  4549. type MSe
  4550. ports
  4551. electric out p;
  4552. signal in effort;
  4553. restrictions
  4554. causality fixed out p;
  4555. end;
  4556. icon bg bottom
  4557. figures
  4558. text 'MSe' 512 272 color 0 18 bold;
  4559. end;
  4560. implementation eq
  4561. variables
  4562. real flow;
  4563. equations
  4564. p.e = effort;
  4565. flow = p.f;
  4566. implementation_end;
  4567. plug angle 200 216;
  4568. plug p 1472 216;
  4569. OneJunction1 840 216
  4570. description '<Information>
  4571. <Description>
  4572. <Version>4.2</Version>
  4573. <IsMainModel>1</IsMainModel>
  4574. <KeepParameterValues>False</KeepParameterValues>
  4575. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4576. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4577. </Description>
  4578. </Information>';
  4579. knot OneJunction
  4580. ports
  4581. rotation knot duplicatable none p [1];
  4582. signal knot out flow [1];
  4583. restrictions
  4584. causality constraint one_out p;
  4585. end;
  4586. icon bg
  4587. figures
  4588. text '1' 840 216 color 0 18 bold;
  4589. end;
  4590. implementation eq
  4591. equations
  4592. sum (direct (p.e)) = 0;
  4593. equal (collect (p.f));
  4594. flow = first (p.f);
  4595. implementation_end;
  4596. OneJunction2 584 160
  4597. description '<Information>
  4598. <Description>
  4599. <Version>4.2</Version>
  4600. <IsMainModel>1</IsMainModel>
  4601. <KeepParameterValues>False</KeepParameterValues>
  4602. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4603. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4604. </Description>
  4605. </Information>';
  4606. knot OneJunction
  4607. ports
  4608. electric knot duplicatable none p [1];
  4609. signal knot out flow [1];
  4610. restrictions
  4611. causality constraint one_out p;
  4612. end;
  4613. icon bg
  4614. figures
  4615. text '1' 584 160 color 0 18 bold;
  4616. end;
  4617. implementation eq
  4618. equations
  4619. sum (direct (p.e)) = 0;
  4620. equal (collect (p.f));
  4621. flow = first (p.f);
  4622. implementation_end;
  4623. OneJunction3 584 272
  4624. description '<Information>
  4625. <Description>
  4626. <Version>4.2</Version>
  4627. <IsMainModel>1</IsMainModel>
  4628. <KeepParameterValues>False</KeepParameterValues>
  4629. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4630. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4631. </Description>
  4632. </Information>';
  4633. knot OneJunction
  4634. ports
  4635. electric knot duplicatable none p [1];
  4636. signal knot out flow [1];
  4637. restrictions
  4638. causality constraint one_out p;
  4639. end;
  4640. icon bg
  4641. figures
  4642. text '1' 584 272 color 0 18 bold;
  4643. end;
  4644. implementation eq
  4645. equations
  4646. sum (direct (p.e)) = 0;
  4647. equal (collect (p.f));
  4648. flow = first (p.f);
  4649. implementation_end;
  4650. OneJunction4 752 216
  4651. description '<Information>
  4652. <Description>
  4653. <Version>4.2</Version>
  4654. <IsMainModel>1</IsMainModel>
  4655. <KeepParameterValues>False</KeepParameterValues>
  4656. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4657. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4658. </Description>
  4659. </Information>';
  4660. knot OneJunction
  4661. ports
  4662. rotation knot duplicatable none p [1];
  4663. signal knot out flow [1];
  4664. restrictions
  4665. causality constraint one_out p;
  4666. end;
  4667. icon bg
  4668. figures
  4669. text '1' 752 216 color 0 18 bold;
  4670. end;
  4671. implementation eq
  4672. equations
  4673. sum (direct (p.e)) = 0;
  4674. equal (collect (p.f));
  4675. flow = first (p.f);
  4676. implementation_end;
  4677. phase_control 512 216
  4678. description '<Description><Version>4.0</Version>
  4679. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  4680. <IsMainModel>1</IsMainModel>
  4681. <KeepParameterValues>False</KeepParameterValues>
  4682. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  4683. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  4684. </Description>';
  4685. type Submodel
  4686. ports
  4687. signal in angle;
  4688. signal out a;
  4689. signal out b;
  4690. end;
  4691. icon bg
  4692. figures
  4693. rectangle 472 200 552 232 color 0 fill 15132390;
  4694. text 'name' 512 216 color 0 'Clear Sans' 16;
  4695. end;
  4696. implementation eq
  4697. parameters
  4698. real global u_max {V};
  4699. variables
  4700. real global p;
  4701. boolean hidden eventa, eventb;
  4702. equations
  4703. a = u_max * (cos (p*angle));
  4704. eventa = event(a);
  4705. b = u_max * -(sin (p*angle));
  4706. eventb = event(b);
  4707. implementation_end;
  4708. R 608 104
  4709. description '<Information>
  4710. <Description>
  4711. <Version>4.2</Version>
  4712. <IsMainModel>1</IsMainModel>
  4713. <KeepParameterValues>False</KeepParameterValues>
  4714. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4715. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4716. </Description>
  4717. </Information>';
  4718. type R
  4719. ports
  4720. power in p;
  4721. end;
  4722. icon bg bottom
  4723. figures
  4724. text 'R' 608 104 color 0 18 bold;
  4725. end;
  4726. implementation eq
  4727. parameters
  4728. real global R_phase;
  4729. equations
  4730. p.e = R_phase * p.f;
  4731. implementation_end;
  4732. R1 560 328
  4733. description '<Information>
  4734. <Description>
  4735. <Version>4.2</Version>
  4736. <IsMainModel>1</IsMainModel>
  4737. <KeepParameterValues>False</KeepParameterValues>
  4738. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4739. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4740. </Description>
  4741. </Information>';
  4742. type R
  4743. ports
  4744. power in p;
  4745. end;
  4746. icon bg bottom
  4747. figures
  4748. text 'R' 560 328 color 0 18 bold;
  4749. end;
  4750. implementation eq
  4751. parameters
  4752. real global R_phase;
  4753. equations
  4754. p.e = R_phase * p.f;
  4755. implementation_end;
  4756. R2 824 264
  4757. description '<Information>
  4758. <Description>
  4759. <Version>4.2</Version>
  4760. <IsMainModel>1</IsMainModel>
  4761. <KeepParameterValues>False</KeepParameterValues>
  4762. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  4763. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  4764. </Description>
  4765. </Information>';
  4766. type R
  4767. ports
  4768. power in p;
  4769. end;
  4770. icon bg bottom
  4771. figures
  4772. text 'R' 824 264 color 0 18 bold;
  4773. end;
  4774. implementation eq
  4775. parameters
  4776. real r = 1.0e-3;
  4777. equations
  4778. p.e = r * p.f;
  4779. implementation_end;
  4780. RotorAngle 656 216
  4781. description '<Description><Version>4.0</Version>
  4782. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  4783. <IsMainModel>1</IsMainModel>
  4784. <KeepParameterValues>False</KeepParameterValues>
  4785. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  4786. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  4787. </Description>';
  4788. type Submodel
  4789. ports
  4790. signal out output_b;
  4791. signal out output_a;
  4792. signal in omega {rad/s} ;
  4793. signal out output_d;
  4794. end;
  4795. icon bg
  4796. figures
  4797. rectangle 616 200 696 232 color 0 fill 15132390;
  4798. text 'name' 656 216 color 0 'Clear Sans' 16;
  4799. end;
  4800. implementation eq
  4801. parameters
  4802. real global fluxLinkage;
  4803. real global detentTorque;
  4804. variables
  4805. real global p;
  4806. real angle {rad};
  4807. equations
  4808. angle = int(omega);
  4809. output_a = -p * fluxLinkage * sin(p * angle);
  4810. output_b = p * fluxLinkage * sin(p * angle - pi / 2);
  4811. output_d = detentTorque * sin(2 * p * angle);
  4812. implementation_end;
  4813. Se 752 272
  4814. description '<Information>
  4815. <Description>
  4816. <Version>4.2</Version>
  4817. <IsMainModel>1</IsMainModel>
  4818. <KeepParameterValues>False</KeepParameterValues>
  4819. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  4820. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  4821. </Description>
  4822. </Information>';
  4823. type MSe
  4824. ports
  4825. power out p;
  4826. signal in effort;
  4827. restrictions
  4828. causality fixed out p;
  4829. end;
  4830. icon bg bottom
  4831. figures
  4832. text 'MSe' 752 272 color 0 18 bold;
  4833. end;
  4834. implementation eq
  4835. variables
  4836. real flow;
  4837. equations
  4838. p.e = effort;
  4839. flow = p.f;
  4840. implementation_end;
  4841. end;
  4842. connections
  4843. angle -> phase_control\angle;
  4844. I2\p <= OneJunction4\p;
  4845. MGY_a\p2 => OneJunction4\p;
  4846. MGY_b\p2 => OneJunction4\p;
  4847. MSe_b\p => OneJunction3\p;
  4848. OneJunction1\p => p;
  4849. OneJunction2\p <= MSe_a\p;
  4850. OneJunction2\p => I\p;
  4851. OneJunction2\p => MGY_a\p1;
  4852. OneJunction2\p => R\p;
  4853. OneJunction3\p => I1\p;
  4854. OneJunction3\p => MGY_b\p1;
  4855. OneJunction3\p => R1\p;
  4856. OneJunction4\flow -> RotorAngle\omega;
  4857. OneJunction4\p => OneJunction1\p;
  4858. OneJunction4\p => R2\p;
  4859. phase_control\a -> MSe_a\effort;
  4860. phase_control\b -> MSe_b\effort;
  4861. RotorAngle\output_a -> MGY_a\r;
  4862. RotorAngle\output_b -> MGY_b\r;
  4863. RotorAngle\output_d -> Se\effort;
  4864. Se\p => OneJunction4\p;
  4865. end;
  4866. implementation_end;
  4867. ZeroJunction1 360 200
  4868. description '<Information>
  4869. <Description>
  4870. <Version>4.2</Version>
  4871. <IsMainModel>1</IsMainModel>
  4872. <KeepParameterValues>False</KeepParameterValues>
  4873. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  4874. <TimeStamp>2011-11-29 16:45:16</TimeStamp>
  4875. </Description>
  4876. </Information>';
  4877. knot ZeroJunction
  4878. ports
  4879. rotation knot duplicatable none p [1];
  4880. signal knot out effort [1];
  4881. restrictions
  4882. causality constraint one_in p;
  4883. end;
  4884. icon bg
  4885. figures
  4886. text '0' 360 200 color 0 18 bold;
  4887. end;
  4888. implementation eq
  4889. equations
  4890. sum (direct (p.f)) = 0;
  4891. equal (collect (p.e));
  4892. effort = first (p.e);
  4893. implementation_end;
  4894. end;
  4895. connections
  4896. angle -> stepper_model\angle;
  4897. C\p <= OneJunction8\p;
  4898. C1\p <= OneJunction7\p;
  4899. OneJunction5\p => C4\p;
  4900. OneJunction5\p => PowerMux\input_rot2;
  4901. OneJunction5\p => R4\p;
  4902. OneJunction7\p => PowerMux\input_pos3;
  4903. OneJunction7\p => R5\p;
  4904. OneJunction8\p => R\p;
  4905. OneJunction8\p => ZeroJunction1\p;
  4906. PowerMux\output => output;
  4907. stepper_model\p => ZeroJunction1\p;
  4908. ZeroJunction1\p => PowerMux\input;
  4909. end;
  4910. implementation_end;
  4911. Joint_dynD 88 488
  4912. description '<Description>
  4913. <Version>4.8</Version>
  4914. <IsMainModel>1</IsMainModel>
  4915. </Description>';
  4916. type Submodel
  4917. ports
  4918. power out output [6,1];
  4919. end;
  4920. icon bg
  4921. figures
  4922. rectangle 48 472 128 504 color 0 fill 15132390;
  4923. text 'name' 88 488 color 0 'Clear Sans' 16;
  4924. end;
  4925. implementation bg
  4926. submodels
  4927. C1 191.8 216.2
  4928. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4929. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  4930. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  4931. </Description>';
  4932. type 'C-3'
  4933. ports
  4934. power in p [3,1];
  4935. signal out state [3,1];
  4936. restrictions
  4937. causality preferred out p;
  4938. end;
  4939. icon bg top
  4940. figures
  4941. text 'C' 191.8 216.2 color 0 18 bold;
  4942. end;
  4943. implementation eq
  4944. parameters
  4945. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  4946. equations
  4947. state = int(p.f);
  4948. p.e = inverse(c) *state;
  4949. implementation_end;
  4950. C4 191.8 232.2
  4951. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  4952. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  4953. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  4954. </Description>';
  4955. type 'C-2'
  4956. ports
  4957. power in p [2,1];
  4958. signal out state [2,1];
  4959. restrictions
  4960. causality preferred out p;
  4961. end;
  4962. icon bg bottom
  4963. figures
  4964. text 'C' 191.8 232.2 color 0 18 bold;
  4965. end;
  4966. implementation eq
  4967. parameters
  4968. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  4969. equations
  4970. state = int(p.f);
  4971. p.e = inverse(c) *state;
  4972. implementation_end;
  4973. plug output 396 216;
  4974. OneJunction5 239.8 232.2
  4975. description '<Information>
  4976. <Description>
  4977. <Version>4.2</Version>
  4978. <IsMainModel>1</IsMainModel>
  4979. <KeepParameterValues>False</KeepParameterValues>
  4980. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  4981. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  4982. </Description>
  4983. </Information>';
  4984. knot OneJunction
  4985. ports
  4986. power knot duplicatable none p [2,1];
  4987. signal knot out flow [2,1];
  4988. restrictions
  4989. causality constraint one_out p;
  4990. end;
  4991. icon bg
  4992. figures
  4993. text '1' 239.8 232.2 color 0 18 bold;
  4994. end;
  4995. implementation eq
  4996. equations
  4997. sum (direct (p.e)) = 0;
  4998. equal (collect (p.f));
  4999. flow = first (p.f);
  5000. implementation_end;
  5001. OneJunction7 239.8 216.2
  5002. description '<Information>
  5003. <Description>
  5004. <Version>4.2</Version>
  5005. <IsMainModel>1</IsMainModel>
  5006. <KeepParameterValues>False</KeepParameterValues>
  5007. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5008. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5009. </Description>
  5010. </Information>';
  5011. knot OneJunction
  5012. ports
  5013. power knot duplicatable none p [3,1];
  5014. signal knot out flow [3,1];
  5015. restrictions
  5016. causality constraint one_out p;
  5017. end;
  5018. icon bg
  5019. figures
  5020. text '1' 239.8 216.2 color 0 18 bold;
  5021. end;
  5022. implementation eq
  5023. equations
  5024. sum (direct (p.e)) = 0;
  5025. equal (collect (p.f));
  5026. flow = first (p.f);
  5027. implementation_end;
  5028. OneJunction8 288 200
  5029. description '<Information>
  5030. <Description>
  5031. <Version>4.2</Version>
  5032. <IsMainModel>1</IsMainModel>
  5033. <KeepParameterValues>False</KeepParameterValues>
  5034. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5035. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5036. </Description>
  5037. </Information>';
  5038. knot OneJunction
  5039. ports
  5040. power knot duplicatable none p [1];
  5041. signal knot out flow [1];
  5042. restrictions
  5043. causality constraint one_out p;
  5044. end;
  5045. icon bg
  5046. figures
  5047. text '1' 288 200 color 0 18 bold;
  5048. end;
  5049. implementation eq
  5050. equations
  5051. sum (direct (p.e)) = 0;
  5052. equal (collect (p.f));
  5053. flow = first (p.f);
  5054. implementation_end;
  5055. PowerMux 330 216
  5056. specifications active 'rot_x'
  5057. specification 'rot_x'
  5058. description '<Information>
  5059. <Description>
  5060. <Version>4.8</Version>
  5061. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5062. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  5063. <IsMainModel>1</IsMainModel>
  5064. <KeepParameterValues>False</KeepParameterValues>
  5065. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5066. </Description>
  5067. </Information>';
  5068. type 'PowerMux-Rotation'
  5069. ports
  5070. power in input;
  5071. power out output [6,1];
  5072. power in input_rot2 [2,1];
  5073. power in input_pos3 [3,1];
  5074. restrictions
  5075. causality constraint not_equal input output;
  5076. causality constraint not_equal input_rot2 output;
  5077. causality constraint not_equal input_pos3 output;
  5078. end;
  5079. icon bg bottom
  5080. figures
  5081. line 328 192 328 240 color 0 width 2;
  5082. rectangle 324 192 336 240 color -1;
  5083. text '1' 333 210 color 8421504 8;
  5084. terminals
  5085. input 328 200 fixed;
  5086. output 328 216 fixed;
  5087. input_rot2 328 232 fixed;
  5088. input_pos3 328 216 fixed;
  5089. end;
  5090. implementation eq
  5091. equations
  5092. output.e[1] = input.e;
  5093. output.e[2:3] = input_rot2.e;
  5094. output.e[4:6] = input_pos3.e;
  5095. output.f[1] = input.f;
  5096. output.f[2:3] = input_rot2.f;
  5097. output.f[4:6] = input_pos3.f;implementation_end;
  5098. specification_end;
  5099. specification 'rot_y'
  5100. description '<Description>
  5101. <Version>4.1</Version>
  5102. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  5103. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  5104. <IsMainModel>1</IsMainModel>
  5105. <KeepParameterValues>False</KeepParameterValues>
  5106. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5107. </Description>';
  5108. type PowerMux
  5109. ports
  5110. power in input;
  5111. power out output [6,1];
  5112. power in input_rot2 [2,1];
  5113. power in input_pos3 [3,1];
  5114. restrictions
  5115. causality constraint not_equal input output;
  5116. causality constraint not_equal input_rot2 output;
  5117. causality constraint not_equal input_pos3 output;
  5118. end;
  5119. icon bg bottom
  5120. figures
  5121. line 242 274 290 274 color 0 width 2;
  5122. rectangle 242 266 290 278 color -1;
  5123. text '1' 260 269 color 8421504 8;
  5124. terminals
  5125. input 250 274 fixed;
  5126. output 266 274 fixed;
  5127. input_rot2 282 274 fixed;
  5128. input_pos3 266 274 fixed;
  5129. end;
  5130. implementation eq
  5131. equations
  5132. output.e[1] = input_rot2.e[1];
  5133. output.e[2] = input.e;
  5134. output.e[3] = input_rot2.e[2];
  5135. output.e[4:6] = input_pos3.e;
  5136. output.f[1] = input_rot2.f[1];
  5137. output.f[2] = input.f;
  5138. output.f[3] = input_rot2.f[2];
  5139. output.f[4:6] = input_pos3.f;implementation_end;
  5140. specification_end;
  5141. specification 'rot_z'
  5142. description '<Information>
  5143. <Description>
  5144. <Version>4.8</Version>
  5145. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5146. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  5147. <IsMainModel>1</IsMainModel>
  5148. <KeepParameterValues>False</KeepParameterValues>
  5149. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5150. </Description>
  5151. </Information>';
  5152. type PowerMux
  5153. ports
  5154. power in input;
  5155. power out output [6,1];
  5156. power in input_rot2 [2,1];
  5157. power in input_pos3 [3,1];
  5158. restrictions
  5159. causality constraint not_equal input output;
  5160. causality constraint not_equal input_rot2 output;
  5161. causality constraint not_equal input_pos3 output;
  5162. end;
  5163. icon bg bottom
  5164. figures
  5165. line 242 274 290 274 color 0 width 2;
  5166. rectangle 242 266 290 278 color -1;
  5167. text '1' 260 269 color 8421504 8;
  5168. terminals
  5169. input 250 274 fixed;
  5170. output 266 274 fixed;
  5171. input_rot2 282 274 fixed;
  5172. input_pos3 266 274 fixed;
  5173. end;
  5174. implementation eq
  5175. equations
  5176. output.e[3] = input.e;
  5177. output.e[1:2] = input_rot2.e;
  5178. output.e[4:6] = input_pos3.e;
  5179. output.f[3] = input.f;
  5180. output.f[1:2] = input_rot2.f;
  5181. output.f[4:6] = input_pos3.f;implementation_end;
  5182. specification_end;
  5183. end;
  5184. R 288 152
  5185. description '<Information>
  5186. <Description>
  5187. <Version>4.2</Version>
  5188. <IsMainModel>1</IsMainModel>
  5189. <KeepParameterValues>False</KeepParameterValues>
  5190. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  5191. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  5192. </Description>
  5193. </Information>';
  5194. type R
  5195. ports
  5196. power in p;
  5197. end;
  5198. icon bg top
  5199. figures
  5200. text 'R' 288 152 color 0 18 bold;
  5201. end;
  5202. implementation eq
  5203. parameters
  5204. real r = 0.0001;
  5205. equations
  5206. p.e = r * p.f;
  5207. implementation_end;
  5208. R4 239.8 288.2
  5209. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5210. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  5211. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  5212. </Description>';
  5213. type 'R-2'
  5214. ports
  5215. power in p [2,1];
  5216. end;
  5217. icon bg bottom
  5218. figures
  5219. text 'R' 239.8 288.2 color 0 18 bold;
  5220. end;
  5221. implementation eq
  5222. parameters
  5223. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  5224. equations
  5225. p.e = r * p.f;
  5226. implementation_end;
  5227. R5 239.8 168.2
  5228. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5229. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  5230. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  5231. </Description>';
  5232. type 'R-3'
  5233. ports
  5234. power in p [3,1];
  5235. end;
  5236. icon bg top
  5237. figures
  5238. text 'R' 239.8 168.2 color 0 18 bold;
  5239. end;
  5240. implementation eq
  5241. parameters
  5242. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  5243. equations
  5244. p.e = r * p.f;
  5245. implementation_end;
  5246. end;
  5247. connections
  5248. C1\p <= OneJunction7\p;
  5249. OneJunction5\p => C4\p;
  5250. OneJunction5\p => PowerMux\input_rot2;
  5251. OneJunction5\p => R4\p;
  5252. OneJunction7\p => PowerMux\input_pos3;
  5253. OneJunction7\p => R5\p;
  5254. OneJunction8\p => PowerMux\input;
  5255. PowerMux\output => output;
  5256. R\p <= OneJunction8\p;
  5257. end;
  5258. implementation_end;
  5259. Joint_dynE 88 168
  5260. description '<Description>
  5261. <Version>4.8</Version>
  5262. <IsMainModel>1</IsMainModel>
  5263. </Description>';
  5264. type Submodel
  5265. ports
  5266. power out output [6,1];
  5267. end;
  5268. icon bg
  5269. figures
  5270. rectangle 48 152 128 184 color 0 fill 15132390;
  5271. text 'name' 88 168 color 0 'Clear Sans' 16;
  5272. end;
  5273. implementation bg
  5274. submodels
  5275. C1 191.8 216.2
  5276. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5277. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  5278. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  5279. </Description>';
  5280. type 'C-3'
  5281. ports
  5282. power in p [3,1];
  5283. signal out state [3,1];
  5284. restrictions
  5285. causality preferred out p;
  5286. end;
  5287. icon bg top
  5288. figures
  5289. text 'C' 191.8 216.2 color 0 18 bold;
  5290. end;
  5291. implementation eq
  5292. parameters
  5293. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  5294. equations
  5295. state = int(p.f);
  5296. p.e = inverse(c) *state;
  5297. implementation_end;
  5298. C4 191.8 232.2
  5299. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5300. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  5301. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  5302. </Description>';
  5303. type 'C-2'
  5304. ports
  5305. power in p [2,1];
  5306. signal out state [2,1];
  5307. restrictions
  5308. causality preferred out p;
  5309. end;
  5310. icon bg bottom
  5311. figures
  5312. text 'C' 191.8 232.2 color 0 18 bold;
  5313. end;
  5314. implementation eq
  5315. parameters
  5316. real c[2,2] = [0.1, 0.0; 0.0, 0.1] {mN.m/rad};
  5317. equations
  5318. state = int(p.f);
  5319. p.e = inverse(c) *state;
  5320. implementation_end;
  5321. plug output 396 216;
  5322. OneJunction5 239.8 232.2
  5323. description '<Information>
  5324. <Description>
  5325. <Version>4.2</Version>
  5326. <IsMainModel>1</IsMainModel>
  5327. <KeepParameterValues>False</KeepParameterValues>
  5328. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5329. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5330. </Description>
  5331. </Information>';
  5332. knot OneJunction
  5333. ports
  5334. power knot duplicatable none p [2,1];
  5335. signal knot out flow [2,1];
  5336. restrictions
  5337. causality constraint one_out p;
  5338. end;
  5339. icon bg
  5340. figures
  5341. text '1' 239.8 232.2 color 0 18 bold;
  5342. end;
  5343. implementation eq
  5344. equations
  5345. sum (direct (p.e)) = 0;
  5346. equal (collect (p.f));
  5347. flow = first (p.f);
  5348. implementation_end;
  5349. OneJunction7 239.8 216.2
  5350. description '<Information>
  5351. <Description>
  5352. <Version>4.2</Version>
  5353. <IsMainModel>1</IsMainModel>
  5354. <KeepParameterValues>False</KeepParameterValues>
  5355. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5356. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5357. </Description>
  5358. </Information>';
  5359. knot OneJunction
  5360. ports
  5361. power knot duplicatable none p [3,1];
  5362. signal knot out flow [3,1];
  5363. restrictions
  5364. causality constraint one_out p;
  5365. end;
  5366. icon bg
  5367. figures
  5368. text '1' 239.8 216.2 color 0 18 bold;
  5369. end;
  5370. implementation eq
  5371. equations
  5372. sum (direct (p.e)) = 0;
  5373. equal (collect (p.f));
  5374. flow = first (p.f);
  5375. implementation_end;
  5376. OneJunction8 288 200
  5377. description '<Information>
  5378. <Description>
  5379. <Version>4.2</Version>
  5380. <IsMainModel>1</IsMainModel>
  5381. <KeepParameterValues>False</KeepParameterValues>
  5382. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5383. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5384. </Description>
  5385. </Information>';
  5386. knot OneJunction
  5387. ports
  5388. power knot duplicatable none p [1];
  5389. signal knot out flow [1];
  5390. restrictions
  5391. causality constraint one_out p;
  5392. end;
  5393. icon bg
  5394. figures
  5395. text '1' 288 200 color 0 18 bold;
  5396. end;
  5397. implementation eq
  5398. equations
  5399. sum (direct (p.e)) = 0;
  5400. equal (collect (p.f));
  5401. flow = first (p.f);
  5402. implementation_end;
  5403. PowerMux 330 216
  5404. specifications active 'rot_x'
  5405. specification 'rot_x'
  5406. description '<Information>
  5407. <Description>
  5408. <Version>4.8</Version>
  5409. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5410. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  5411. <IsMainModel>1</IsMainModel>
  5412. <KeepParameterValues>False</KeepParameterValues>
  5413. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5414. </Description>
  5415. </Information>';
  5416. type 'PowerMux-Rotation'
  5417. ports
  5418. power in input;
  5419. power out output [6,1];
  5420. power in input_rot2 [2,1];
  5421. power in input_pos3 [3,1];
  5422. restrictions
  5423. causality constraint not_equal input output;
  5424. causality constraint not_equal input_rot2 output;
  5425. causality constraint not_equal input_pos3 output;
  5426. end;
  5427. icon bg bottom
  5428. figures
  5429. line 328 192 328 240 color 0 width 2;
  5430. rectangle 324 192 336 240 color -1;
  5431. text '1' 333 210 color 8421504 8;
  5432. terminals
  5433. input 328 200 fixed;
  5434. output 328 216 fixed;
  5435. input_rot2 328 232 fixed;
  5436. input_pos3 328 216 fixed;
  5437. end;
  5438. implementation eq
  5439. equations
  5440. output.e[1] = input.e;
  5441. output.e[2:3] = input_rot2.e;
  5442. output.e[4:6] = input_pos3.e;
  5443. output.f[1] = input.f;
  5444. output.f[2:3] = input_rot2.f;
  5445. output.f[4:6] = input_pos3.f;implementation_end;
  5446. specification_end;
  5447. specification 'rot_y'
  5448. description '<Description>
  5449. <Version>4.1</Version>
  5450. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  5451. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  5452. <IsMainModel>1</IsMainModel>
  5453. <KeepParameterValues>False</KeepParameterValues>
  5454. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5455. </Description>';
  5456. type PowerMux
  5457. ports
  5458. power in input;
  5459. power out output [6,1];
  5460. power in input_rot2 [2,1];
  5461. power in input_pos3 [3,1];
  5462. restrictions
  5463. causality constraint not_equal input output;
  5464. causality constraint not_equal input_rot2 output;
  5465. causality constraint not_equal input_pos3 output;
  5466. end;
  5467. icon bg bottom
  5468. figures
  5469. line 242 274 290 274 color 0 width 2;
  5470. rectangle 242 266 290 278 color -1;
  5471. text '1' 260 269 color 8421504 8;
  5472. terminals
  5473. input 250 274 fixed;
  5474. output 266 274 fixed;
  5475. input_rot2 282 274 fixed;
  5476. input_pos3 266 274 fixed;
  5477. end;
  5478. implementation eq
  5479. equations
  5480. output.e[1] = input_rot2.e[1];
  5481. output.e[2] = input.e;
  5482. output.e[3] = input_rot2.e[2];
  5483. output.e[4:6] = input_pos3.e;
  5484. output.f[1] = input_rot2.f[1];
  5485. output.f[2] = input.f;
  5486. output.f[3] = input_rot2.f[2];
  5487. output.f[4:6] = input_pos3.f;implementation_end;
  5488. specification_end;
  5489. specification 'rot_z'
  5490. description '<Information>
  5491. <Description>
  5492. <Version>4.8</Version>
  5493. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5494. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  5495. <IsMainModel>1</IsMainModel>
  5496. <KeepParameterValues>False</KeepParameterValues>
  5497. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5498. </Description>
  5499. </Information>';
  5500. type PowerMux
  5501. ports
  5502. power in input;
  5503. power out output [6,1];
  5504. power in input_rot2 [2,1];
  5505. power in input_pos3 [3,1];
  5506. restrictions
  5507. causality constraint not_equal input output;
  5508. causality constraint not_equal input_rot2 output;
  5509. causality constraint not_equal input_pos3 output;
  5510. end;
  5511. icon bg bottom
  5512. figures
  5513. line 242 274 290 274 color 0 width 2;
  5514. rectangle 242 266 290 278 color -1;
  5515. text '1' 260 269 color 8421504 8;
  5516. terminals
  5517. input 250 274 fixed;
  5518. output 266 274 fixed;
  5519. input_rot2 282 274 fixed;
  5520. input_pos3 266 274 fixed;
  5521. end;
  5522. implementation eq
  5523. equations
  5524. output.e[3] = input.e;
  5525. output.e[1:2] = input_rot2.e;
  5526. output.e[4:6] = input_pos3.e;
  5527. output.f[3] = input.f;
  5528. output.f[1:2] = input_rot2.f;
  5529. output.f[4:6] = input_pos3.f;implementation_end;
  5530. specification_end;
  5531. end;
  5532. R 288 152
  5533. description '<Information>
  5534. <Description>
  5535. <Version>4.2</Version>
  5536. <IsMainModel>1</IsMainModel>
  5537. <KeepParameterValues>False</KeepParameterValues>
  5538. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  5539. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  5540. </Description>
  5541. </Information>';
  5542. type R
  5543. ports
  5544. power in p;
  5545. end;
  5546. icon bg top
  5547. figures
  5548. text 'R' 288 152 color 0 18 bold;
  5549. end;
  5550. implementation eq
  5551. parameters
  5552. real r = 0.0001;
  5553. equations
  5554. p.e = r * p.f;
  5555. implementation_end;
  5556. R4 239.8 288.2
  5557. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5558. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  5559. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  5560. </Description>';
  5561. type 'R-2'
  5562. ports
  5563. power in p [2,1];
  5564. end;
  5565. icon bg bottom
  5566. figures
  5567. text 'R' 239.8 288.2 color 0 18 bold;
  5568. end;
  5569. implementation eq
  5570. parameters
  5571. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  5572. equations
  5573. p.e = r * p.f;
  5574. implementation_end;
  5575. R5 239.8 168.2
  5576. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5577. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  5578. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  5579. </Description>';
  5580. type 'R-3'
  5581. ports
  5582. power in p [3,1];
  5583. end;
  5584. icon bg top
  5585. figures
  5586. text 'R' 239.8 168.2 color 0 18 bold;
  5587. end;
  5588. implementation eq
  5589. parameters
  5590. real r[3,3] = [1.0, 0.0, 0.0; 0.0, 1.0, 0.0; 0.0, 0.0, 1.0] {kN.s/m};
  5591. equations
  5592. p.e = r * p.f;
  5593. implementation_end;
  5594. end;
  5595. connections
  5596. C1\p <= OneJunction7\p;
  5597. OneJunction5\p => C4\p;
  5598. OneJunction5\p => PowerMux\input_rot2;
  5599. OneJunction5\p => R4\p;
  5600. OneJunction7\p => PowerMux\input_pos3;
  5601. OneJunction7\p => R5\p;
  5602. OneJunction8\p => PowerMux\input;
  5603. PowerMux\output => output;
  5604. R\p <= OneJunction8\p;
  5605. end;
  5606. implementation_end;
  5607. Joint_dynF 864 48
  5608. description '<Description>
  5609. <Version>4.8</Version>
  5610. <IsMainModel>1</IsMainModel>
  5611. </Description>';
  5612. type Submodel
  5613. ports
  5614. power out output [6,1];
  5615. end;
  5616. icon bg
  5617. figures
  5618. rectangle 824 32 904 64 color 0 fill 15132390;
  5619. text 'name' 864 48 color 0 'Clear Sans' 16;
  5620. end;
  5621. implementation bg
  5622. submodels
  5623. C 264 168
  5624. description '<Information>
  5625. <Description>
  5626. <Version>4.2</Version>
  5627. <IsMainModel>1</IsMainModel>
  5628. <KeepParameterValues>False</KeepParameterValues>
  5629. <LibraryPath>Bond Graph\C.emx</LibraryPath>
  5630. <TimeStamp>2011-11-29 15:58:35</TimeStamp>
  5631. </Description>
  5632. </Information>';
  5633. type C
  5634. ports
  5635. power in p;
  5636. signal out state;
  5637. restrictions
  5638. causality preferred out p;
  5639. end;
  5640. icon bg bottom
  5641. figures
  5642. text 'C' 264 168 color 0 18 bold;
  5643. end;
  5644. implementation eq
  5645. parameters
  5646. real c = 0.1;
  5647. equations
  5648. state = int(p.f);
  5649. p.e = state / c;
  5650. implementation_end;
  5651. C1 191.8 216.2
  5652. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5653. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  5654. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  5655. </Description>';
  5656. type 'C-3'
  5657. ports
  5658. power in p [3,1];
  5659. signal out state [3,1];
  5660. restrictions
  5661. causality preferred out p;
  5662. end;
  5663. icon bg top
  5664. figures
  5665. text 'C' 191.8 216.2 color 0 18 bold;
  5666. end;
  5667. implementation eq
  5668. parameters
  5669. real c[3,3] = [0.1, 0.0, 0.0; 0.0, 0.1, 0.0; 0.0, 0.0, 0.1] {mN/m};
  5670. equations
  5671. state = int(p.f);
  5672. p.e = inverse(c) *state;
  5673. implementation_end;
  5674. C4 191.8 232.2
  5675. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5676. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  5677. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  5678. </Description>';
  5679. type 'C-2'
  5680. ports
  5681. power in p [2,1];
  5682. signal out state [2,1];
  5683. restrictions
  5684. causality preferred out p;
  5685. end;
  5686. icon bg bottom
  5687. figures
  5688. text 'C' 191.8 232.2 color 0 18 bold;
  5689. end;
  5690. implementation eq
  5691. parameters
  5692. real c[2,2] = [1, 0.0; 0.0, 1] {uN.m/rad};
  5693. equations
  5694. state = int(p.f);
  5695. p.e = inverse(c) *state;
  5696. implementation_end;
  5697. plug output 396 216;
  5698. OneJunction5 239.8 232.2
  5699. description '<Information>
  5700. <Description>
  5701. <Version>4.2</Version>
  5702. <IsMainModel>1</IsMainModel>
  5703. <KeepParameterValues>False</KeepParameterValues>
  5704. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5705. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5706. </Description>
  5707. </Information>';
  5708. knot OneJunction
  5709. ports
  5710. power knot duplicatable none p [2,1];
  5711. signal knot out flow [2,1];
  5712. restrictions
  5713. causality constraint one_out p;
  5714. end;
  5715. icon bg
  5716. figures
  5717. text '1' 239.8 232.2 color 0 18 bold;
  5718. end;
  5719. implementation eq
  5720. equations
  5721. sum (direct (p.e)) = 0;
  5722. equal (collect (p.f));
  5723. flow = first (p.f);
  5724. implementation_end;
  5725. OneJunction7 239.8 216.2
  5726. description '<Information>
  5727. <Description>
  5728. <Version>4.2</Version>
  5729. <IsMainModel>1</IsMainModel>
  5730. <KeepParameterValues>False</KeepParameterValues>
  5731. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5732. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5733. </Description>
  5734. </Information>';
  5735. knot OneJunction
  5736. ports
  5737. power knot duplicatable none p [3,1];
  5738. signal knot out flow [3,1];
  5739. restrictions
  5740. causality constraint one_out p;
  5741. end;
  5742. icon bg
  5743. figures
  5744. text '1' 239.8 216.2 color 0 18 bold;
  5745. end;
  5746. implementation eq
  5747. equations
  5748. sum (direct (p.e)) = 0;
  5749. equal (collect (p.f));
  5750. flow = first (p.f);
  5751. implementation_end;
  5752. OneJunction8 288 200
  5753. description '<Information>
  5754. <Description>
  5755. <Version>4.2</Version>
  5756. <IsMainModel>1</IsMainModel>
  5757. <KeepParameterValues>False</KeepParameterValues>
  5758. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  5759. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  5760. </Description>
  5761. </Information>';
  5762. knot OneJunction
  5763. ports
  5764. power knot duplicatable none p [1];
  5765. signal knot out flow [1];
  5766. restrictions
  5767. causality constraint one_out p;
  5768. end;
  5769. icon bg
  5770. figures
  5771. text '1' 288 200 color 0 18 bold;
  5772. end;
  5773. implementation eq
  5774. equations
  5775. sum (direct (p.e)) = 0;
  5776. equal (collect (p.f));
  5777. flow = first (p.f);
  5778. implementation_end;
  5779. PowerMux 330 216
  5780. specifications active 'rot_z'
  5781. specification 'rot_x'
  5782. description '<Information>
  5783. <Description>
  5784. <Version>4.8</Version>
  5785. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5786. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  5787. <IsMainModel>1</IsMainModel>
  5788. <KeepParameterValues>False</KeepParameterValues>
  5789. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5790. </Description>
  5791. </Information>';
  5792. type 'PowerMux-Rotation'
  5793. ports
  5794. power in input;
  5795. power out output [6,1];
  5796. power in input_rot2 [2,1];
  5797. power in input_pos3 [3,1];
  5798. restrictions
  5799. causality constraint not_equal input output;
  5800. causality constraint not_equal input_rot2 output;
  5801. causality constraint not_equal input_pos3 output;
  5802. end;
  5803. icon bg bottom
  5804. figures
  5805. line 328 192 328 240 color 0 width 2;
  5806. rectangle 324 192 336 240 color -1;
  5807. text '1' 333 210 color 8421504 8;
  5808. terminals
  5809. input 328 200 fixed;
  5810. output 328 216 fixed;
  5811. input_rot2 328 232 fixed;
  5812. input_pos3 328 216 fixed;
  5813. end;
  5814. implementation eq
  5815. equations
  5816. output.e[1] = input.e;
  5817. output.e[2:3] = input_rot2.e;
  5818. output.e[4:6] = input_pos3.e;
  5819. output.f[1] = input.f;
  5820. output.f[2:3] = input_rot2.f;
  5821. output.f[4:6] = input_pos3.f;implementation_end;
  5822. specification_end;
  5823. specification 'rot_y'
  5824. description '<Description>
  5825. <Version>4.1</Version>
  5826. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  5827. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  5828. <IsMainModel>1</IsMainModel>
  5829. <KeepParameterValues>False</KeepParameterValues>
  5830. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5831. </Description>';
  5832. type PowerMux
  5833. ports
  5834. power in input;
  5835. power out output [6,1];
  5836. power in input_rot2 [2,1];
  5837. power in input_pos3 [3,1];
  5838. restrictions
  5839. causality constraint not_equal input output;
  5840. causality constraint not_equal input_rot2 output;
  5841. causality constraint not_equal input_pos3 output;
  5842. end;
  5843. icon bg bottom
  5844. figures
  5845. line 242 274 290 274 color 0 width 2;
  5846. rectangle 242 266 290 278 color -1;
  5847. text '1' 260 269 color 8421504 8;
  5848. terminals
  5849. input 250 274 fixed;
  5850. output 266 274 fixed;
  5851. input_rot2 282 274 fixed;
  5852. input_pos3 266 274 fixed;
  5853. end;
  5854. implementation eq
  5855. equations
  5856. output.e[1] = input_rot2.e[1];
  5857. output.e[2] = input.e;
  5858. output.e[3] = input_rot2.e[2];
  5859. output.e[4:6] = input_pos3.e;
  5860. output.f[1] = input_rot2.f[1];
  5861. output.f[2] = input.f;
  5862. output.f[3] = input_rot2.f[2];
  5863. output.f[4:6] = input_pos3.f;implementation_end;
  5864. specification_end;
  5865. specification 'rot_z'
  5866. description '<Information>
  5867. <Description>
  5868. <Version>4.8</Version>
  5869. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  5870. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  5871. <IsMainModel>1</IsMainModel>
  5872. <KeepParameterValues>False</KeepParameterValues>
  5873. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  5874. </Description>
  5875. </Information>';
  5876. type PowerMux
  5877. ports
  5878. power in input;
  5879. power out output [6,1];
  5880. power in input_rot2 [2,1];
  5881. power in input_pos3 [3,1];
  5882. restrictions
  5883. causality constraint not_equal input output;
  5884. causality constraint not_equal input_rot2 output;
  5885. causality constraint not_equal input_pos3 output;
  5886. end;
  5887. icon bg bottom
  5888. figures
  5889. line 328 192 328 240 color 0 width 2;
  5890. rectangle 324 192 336 240 color -1;
  5891. text '1' 333 210 color 8421504 8;
  5892. terminals
  5893. input 328 200 fixed;
  5894. output 328 216 fixed;
  5895. input_rot2 328 232 fixed;
  5896. input_pos3 328 216 fixed;
  5897. end;
  5898. implementation eq
  5899. equations
  5900. output.e[3] = input.e;
  5901. output.e[1:2] = input_rot2.e;
  5902. output.e[4:6] = input_pos3.e;
  5903. output.f[3] = input.f;
  5904. output.f[1:2] = input_rot2.f;
  5905. output.f[4:6] = input_pos3.f;implementation_end;
  5906. specification_end;
  5907. end;
  5908. R 288 152
  5909. description '<Information>
  5910. <Description>
  5911. <Version>4.2</Version>
  5912. <IsMainModel>1</IsMainModel>
  5913. <KeepParameterValues>False</KeepParameterValues>
  5914. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  5915. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  5916. </Description>
  5917. </Information>';
  5918. type R
  5919. ports
  5920. power in p;
  5921. end;
  5922. icon bg top
  5923. figures
  5924. text 'R' 288 152 color 0 18 bold;
  5925. end;
  5926. implementation eq
  5927. parameters
  5928. real r = 0.01;
  5929. equations
  5930. p.e = r * p.f;
  5931. implementation_end;
  5932. R4 239.8 288.2
  5933. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5934. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  5935. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  5936. </Description>';
  5937. type 'R-2'
  5938. ports
  5939. power in p [2,1];
  5940. end;
  5941. icon bg bottom
  5942. figures
  5943. text 'R' 239.8 288.2 color 0 18 bold;
  5944. end;
  5945. implementation eq
  5946. parameters
  5947. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  5948. equations
  5949. p.e = r * p.f;
  5950. implementation_end;
  5951. R5 239.8 168.2
  5952. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  5953. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  5954. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  5955. </Description>';
  5956. type 'R-3'
  5957. ports
  5958. power in p [3,1];
  5959. end;
  5960. icon bg top
  5961. figures
  5962. text 'R' 239.8 168.2 color 0 18 bold;
  5963. end;
  5964. implementation eq
  5965. parameters
  5966. 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};
  5967. equations
  5968. p.e = r * p.f;
  5969. implementation_end;
  5970. end;
  5971. connections
  5972. C\p <= OneJunction8\p;
  5973. C1\p <= OneJunction7\p;
  5974. OneJunction5\p => C4\p;
  5975. OneJunction5\p => PowerMux\input_rot2;
  5976. OneJunction5\p => R4\p;
  5977. OneJunction7\p => PowerMux\input_pos3;
  5978. OneJunction7\p => R5\p;
  5979. OneJunction8\p => PowerMux\input;
  5980. PowerMux\output => output;
  5981. R\p <= OneJunction8\p;
  5982. end;
  5983. implementation_end;
  5984. LiftingArm 824 240
  5985. description '<Description>
  5986. <Version>4.8</Version>
  5987. <IsMainModel>1</IsMainModel>
  5988. </Description>';
  5989. type Submodel
  5990. ports
  5991. signal in Hin [4,4];
  5992. power in Pin [6,1];
  5993. power out Pout [6,1];
  5994. end;
  5995. icon bg bottom
  5996. figures
  5997. rectangle 752 208 896 272 color 0 fill 15132390;
  5998. text 'name' 792 232 color 0 'Clear Sans' 16;
  5999. terminals
  6000. Hin 752 256 fixed;
  6001. Pin 896 224 fixed;
  6002. Pout 752 224 fixed;
  6003. end;
  6004. implementation bg
  6005. submodels
  6006. Body_Lift1 376 336
  6007. description '<Description><Version>4.0</Version>
  6008. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  6009. <IsMainModel>1</IsMainModel>
  6010. <KeepParameterValues>False</KeepParameterValues>
  6011. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  6012. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6013. </Description>';
  6014. type 'Submodel-Equation'
  6015. ports
  6016. signal in input [4,4];
  6017. end;
  6018. implementation eq
  6019. parameters
  6020. real dimension[3] = [0.02;0.02;0.02] {m};
  6021. variables
  6022. real position[3];
  6023. real rotation[3];
  6024. real R[3,3];
  6025. equations
  6026. position = input[1:3,4];
  6027. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  6028. //[input[3,2];input[1,3];input[2,1]];
  6029. R = input[1:3,1:3];implementation_end;
  6030. Body_Lift2 680 336
  6031. description '<Description><Version>4.0</Version>
  6032. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  6033. <IsMainModel>1</IsMainModel>
  6034. <KeepParameterValues>False</KeepParameterValues>
  6035. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  6036. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6037. </Description>';
  6038. type 'Submodel-Equation'
  6039. ports
  6040. signal in input [4,4];
  6041. end;
  6042. implementation eq
  6043. parameters
  6044. real dimension[3] = [0.01;0.003;0.002] {m};
  6045. variables
  6046. real position[3];
  6047. real rotation[3];
  6048. real R[3,3];
  6049. equations
  6050. position = input[1:3,4];
  6051. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  6052. //[input[3,2];input[1,3];input[2,1]];
  6053. R = input[1:3,1:3];implementation_end;
  6054. Body_Lift3 1104 336
  6055. description '<Description><Version>4.0</Version>
  6056. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  6057. <IsMainModel>1</IsMainModel>
  6058. <KeepParameterValues>False</KeepParameterValues>
  6059. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  6060. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6061. </Description>';
  6062. type 'Submodel-Equation'
  6063. ports
  6064. signal in input [4,4];
  6065. end;
  6066. implementation eq
  6067. parameters
  6068. real dimension[3] = [0.003;0.025;0.001] {m};
  6069. variables
  6070. real position[3];
  6071. real rotation[3];
  6072. real R[3,3];
  6073. equations
  6074. position = input[1:3,4];
  6075. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  6076. //[input[3,2];input[1,3];input[2,1]];
  6077. R = input[1:3,1:3];implementation_end;
  6078. Body_Lift4 1416 336
  6079. description '<Description><Version>4.0</Version>
  6080. <LibraryPath>Template\Submodel-Equation.emx</LibraryPath>
  6081. <IsMainModel>1</IsMainModel>
  6082. <KeepParameterValues>False</KeepParameterValues>
  6083. <TimeStamp>2007-11-1 22:32:1</TimeStamp>
  6084. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  6085. </Description>';
  6086. type 'Submodel-Equation'
  6087. ports
  6088. signal in input [4,4];
  6089. end;
  6090. implementation eq
  6091. parameters
  6092. real dimension[3] = [0.0159;0.003;0.002] {m};
  6093. variables
  6094. real position[3];
  6095. real rotation[3];
  6096. real R[3,3];
  6097. equations
  6098. position = input[1:3,4];
  6099. rotation = dll('EulerAngles.dll','EulXYZsFromHMatrix',input);
  6100. //[input[3,2];input[1,3];input[2,1]];
  6101. R = input[1:3,1:3];implementation_end;
  6102. Joint 488 240
  6103. description '<Information>
  6104. <Description>
  6105. <Version>4.8</Version>
  6106. <IsMainModel>1</IsMainModel>
  6107. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  6108. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  6109. </Description>
  6110. </Information>';
  6111. type 'Submodel-v3'
  6112. ports
  6113. power in Pin [6,1];
  6114. power in Pdiff [6,1];
  6115. signal in Hin [4,4];
  6116. signal out Hout [4,4];
  6117. signal out Hdiff [4,4];
  6118. power out Pout [6,1];
  6119. end;
  6120. icon bg bottom
  6121. figures
  6122. rectangle 464 208 512 272 color 0 fill 14745599;
  6123. text 'Joint' 488 240 color 0 'Clear Sans' 16;
  6124. terminals
  6125. Pin 512 224 fixed;
  6126. Hin 464 256 fixed;
  6127. Hout 512 256 fixed;
  6128. Pout 464 224 fixed;
  6129. end;
  6130. implementation bg
  6131. submodels
  6132. AdHji 424 424
  6133. description '<Description>
  6134. <Version>4.0</Version>
  6135. <IsMainModel>1</IsMainModel>
  6136. <KeepParameterValues>False</KeepParameterValues>
  6137. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  6138. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  6139. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6140. </Description>';
  6141. type MTF
  6142. ports
  6143. power out p1 [6,1];
  6144. power in p2 [6,1];
  6145. signal in H [4,4];
  6146. restrictions
  6147. causality constraint not_equal p1 p2;
  6148. end;
  6149. icon bg bottom
  6150. figures
  6151. text 'MTF' 424 424 color 0 18 bold;
  6152. end;
  6153. implementation eq
  6154. equations
  6155. p2.e = transpose(Adjoint(H)) * p1.e;
  6156. p1.f = Adjoint(H) * p2.f;implementation_end;
  6157. FlowSensor2 184 311.9
  6158. description '<Information>
  6159. <Description>
  6160. <Version>4.2</Version>
  6161. <IsMainModel>1</IsMainModel>
  6162. <KeepParameterValues>False</KeepParameterValues>
  6163. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  6164. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  6165. </Description>
  6166. </Information>';
  6167. knot FlowSensor
  6168. ports
  6169. power knot in p1 [6,1];
  6170. power knot out p2 [6,1];
  6171. signal knot out flow [6,1];
  6172. restrictions
  6173. causality constraint not_equal p1 p2;
  6174. end;
  6175. icon bg ellipse
  6176. figures
  6177. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  6178. text 'f' 184 311.2 color 0;
  6179. end;
  6180. implementation eq
  6181. equations
  6182. p2.f = p1.f;
  6183. p1.e = p2.e;
  6184. flow = p1.f;
  6185. implementation_end;
  6186. Hmatrix 256 312
  6187. 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>';
  6188. type 'Submodel-Equation'
  6189. ports
  6190. signal in flow [6,1];
  6191. signal out H [4,4];
  6192. end;
  6193. icon bg
  6194. figures
  6195. rectangle 224 296 288 328 color 0 fill 15132390;
  6196. text 'name' 256 312 color 0 'Clear Sans' 16;
  6197. end;
  6198. implementation eq
  6199. parameters
  6200. real init[4] = [1;0;0;0];
  6201. variables
  6202. real q[4]; //quaternions
  6203. real W[3,4]; //Quaternion Rates Matrix
  6204. real R[3,3]; //Rotation Matrix
  6205. real p[3]; //Position Vector
  6206. real dq[4];
  6207. real Wb[3,4];
  6208. equations
  6209. dq = transpose(Wb) * flow[1:3] ./ 2;
  6210. q = int(dq,init);
  6211. p = int(flow[4:6]);
  6212. W = [-q[2], q[1], -q[4], q[3];
  6213. -q[3], q[4], q[1], -q[2];
  6214. -q[4], -q[3], q[2], q[1]];
  6215. Wb = [ -q[2], q[1], q[4], -q[3];
  6216. -q[3], -q[4], q[1], q[2];
  6217. -q[4], q[3], -q[2], q[1]];
  6218. 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]);
  6219. 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]);
  6220. 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];
  6221. H = homogeneous(R,p);
  6222. implementation_end;
  6223. MatrixMul 320 576
  6224. description '<Description>
  6225. <Version>4.0</Version>
  6226. <IsMainModel>1</IsMainModel>
  6227. <KeepParameterValues>False</KeepParameterValues>
  6228. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  6229. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  6230. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6231. </Description>';
  6232. type Gain
  6233. ports
  6234. signal in input1 [4,4];
  6235. signal out output [4,4];
  6236. signal in input2 [4,4];
  6237. end;
  6238. icon bg bottom
  6239. figures
  6240. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  6241. text 'X' 320 576 color 16711680 16 bold;
  6242. end;
  6243. implementation eq
  6244. equations
  6245. output = input2*input1; implementation_end;
  6246. plug Pin 492.1 424;
  6247. plug Pdiff 184 225;
  6248. plug Hin 130.8 576;
  6249. plug Hout 478.4 576;
  6250. plug Hdiff 320 222;
  6251. plug Pout 134.7 424;
  6252. Splitter2 320 312
  6253. description '<Description><Version>4.0</Version>
  6254. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6255. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6256. <IsMainModel>1</IsMainModel>
  6257. <KeepParameterValues>False</KeepParameterValues>
  6258. </Description>';
  6259. knot Splitter
  6260. ports
  6261. signal knot duplicatable out output [4,4];
  6262. signal knot in input [4,4];
  6263. end;
  6264. icon bg ellipse
  6265. figures
  6266. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  6267. ellipse 315.7 307.7 324.3 316.3 color -1;
  6268. terminals
  6269. input 320 312 fixed;
  6270. end;
  6271. implementation eq
  6272. equations
  6273. collect (output) = input;
  6274. implementation_end;
  6275. Wbai 184 424
  6276. description '<Description>
  6277. <Version>4.0</Version>
  6278. <IsMainModel>1</IsMainModel>
  6279. <KeepParameterValues>False</KeepParameterValues>
  6280. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  6281. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  6282. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6283. </Description>';
  6284. knot ZeroJunction
  6285. ports
  6286. power knot duplicatable none p [6,1];
  6287. signal knot out effort [6,1];
  6288. restrictions
  6289. causality constraint one_in p;
  6290. end;
  6291. icon bg bottom
  6292. figures
  6293. text '0' 184 424 color 0 18 bold;
  6294. end;
  6295. implementation eq
  6296. equations
  6297. sum (direct (p.f)) = 0;
  6298. equal (collect (p.e));
  6299. effort = first (p.e);
  6300. implementation_end;
  6301. end;
  6302. connections
  6303. FlowSensor2\flow -> Hmatrix\flow;
  6304. FlowSensor2\p2 => Wbai\p;
  6305. Hin -> MatrixMul\input2;
  6306. Hmatrix\H -> Splitter2\input;
  6307. MatrixMul\output -> Hout;
  6308. Pdiff => FlowSensor2\p1;
  6309. Pin => AdHji\p2;
  6310. Splitter2\output -> AdHji\H 424 312;
  6311. Splitter2\output -> Hdiff;
  6312. Splitter2\output -> MatrixMul\input1;
  6313. Wbai\p <= AdHji\p1;
  6314. Wbai\p => Pout;
  6315. end;
  6316. implementation_end;
  6317. Joint1 952 240
  6318. description '<Information>
  6319. <Description>
  6320. <Version>4.8</Version>
  6321. <IsMainModel>1</IsMainModel>
  6322. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  6323. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  6324. </Description>
  6325. </Information>';
  6326. type 'Submodel-v3'
  6327. ports
  6328. power in Pin [6,1];
  6329. power in Pdiff [6,1];
  6330. signal in Hin [4,4];
  6331. signal out Hout [4,4];
  6332. signal out Hdiff [4,4];
  6333. power out Pout [6,1];
  6334. end;
  6335. icon bg bottom
  6336. figures
  6337. rectangle 928 208 976 272 color 0 fill 14745599;
  6338. text 'Joint' 952 240 color 0 'Clear Sans' 16;
  6339. terminals
  6340. Pin 976 224 fixed;
  6341. Hin 928 256 fixed;
  6342. Hout 976 256 fixed;
  6343. Pout 928 224 fixed;
  6344. end;
  6345. implementation bg
  6346. submodels
  6347. AdHji 424 424
  6348. description '<Description>
  6349. <Version>4.0</Version>
  6350. <IsMainModel>1</IsMainModel>
  6351. <KeepParameterValues>False</KeepParameterValues>
  6352. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  6353. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  6354. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6355. </Description>';
  6356. type MTF
  6357. ports
  6358. power out p1 [6,1];
  6359. power in p2 [6,1];
  6360. signal in H [4,4];
  6361. restrictions
  6362. causality constraint not_equal p1 p2;
  6363. end;
  6364. icon bg bottom
  6365. figures
  6366. text 'MTF' 424 424 color 0 18 bold;
  6367. end;
  6368. implementation eq
  6369. equations
  6370. p2.e = transpose(Adjoint(H)) * p1.e;
  6371. p1.f = Adjoint(H) * p2.f;implementation_end;
  6372. FlowSensor2 184 311.9
  6373. description '<Information>
  6374. <Description>
  6375. <Version>4.2</Version>
  6376. <IsMainModel>1</IsMainModel>
  6377. <KeepParameterValues>False</KeepParameterValues>
  6378. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  6379. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  6380. </Description>
  6381. </Information>';
  6382. knot FlowSensor
  6383. ports
  6384. power knot in p1 [6,1];
  6385. power knot out p2 [6,1];
  6386. signal knot out flow [6,1];
  6387. restrictions
  6388. causality constraint not_equal p1 p2;
  6389. end;
  6390. icon bg ellipse
  6391. figures
  6392. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  6393. text 'f' 184 311.2 color 0;
  6394. end;
  6395. implementation eq
  6396. equations
  6397. p2.f = p1.f;
  6398. p1.e = p2.e;
  6399. flow = p1.f;
  6400. implementation_end;
  6401. Hmatrix 256 312
  6402. 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>';
  6403. type 'Submodel-Equation'
  6404. ports
  6405. signal in flow [6,1];
  6406. signal out H [4,4];
  6407. end;
  6408. icon bg
  6409. figures
  6410. rectangle 224 296 288 328 color 0 fill 15132390;
  6411. text 'name' 256 312 color 0 'Clear Sans' 16;
  6412. end;
  6413. implementation eq
  6414. parameters
  6415. real init[4] = [1;0;0;0];
  6416. variables
  6417. real q[4]; //quaternions
  6418. real W[3,4]; //Quaternion Rates Matrix
  6419. real R[3,3]; //Rotation Matrix
  6420. real p[3]; //Position Vector
  6421. real dq[4];
  6422. real Wb[3,4];
  6423. equations
  6424. dq = transpose(Wb) * flow[1:3] ./ 2;
  6425. q = int(dq,init);
  6426. p = int(flow[4:6]);
  6427. W = [-q[2], q[1], -q[4], q[3];
  6428. -q[3], q[4], q[1], -q[2];
  6429. -q[4], -q[3], q[2], q[1]];
  6430. Wb = [ -q[2], q[1], q[4], -q[3];
  6431. -q[3], -q[4], q[1], q[2];
  6432. -q[4], q[3], -q[2], q[1]];
  6433. 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]);
  6434. 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]);
  6435. 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];
  6436. H = homogeneous(R,p);
  6437. implementation_end;
  6438. MatrixMul 320 576
  6439. description '<Description>
  6440. <Version>4.0</Version>
  6441. <IsMainModel>1</IsMainModel>
  6442. <KeepParameterValues>False</KeepParameterValues>
  6443. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  6444. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  6445. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6446. </Description>';
  6447. type Gain
  6448. ports
  6449. signal in input1 [4,4];
  6450. signal out output [4,4];
  6451. signal in input2 [4,4];
  6452. end;
  6453. icon bg bottom
  6454. figures
  6455. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  6456. text 'X' 320 576 color 16711680 16 bold;
  6457. end;
  6458. implementation eq
  6459. equations
  6460. output = input2*input1; implementation_end;
  6461. plug Pin 492.1 424;
  6462. plug Pdiff 184 225;
  6463. plug Hin 130.8 576;
  6464. plug Hout 478.4 576;
  6465. plug Hdiff 320 222;
  6466. plug Pout 134.7 424;
  6467. Splitter2 320 312
  6468. description '<Description><Version>4.0</Version>
  6469. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6470. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6471. <IsMainModel>1</IsMainModel>
  6472. <KeepParameterValues>False</KeepParameterValues>
  6473. </Description>';
  6474. knot Splitter
  6475. ports
  6476. signal knot duplicatable out output [4,4];
  6477. signal knot in input [4,4];
  6478. end;
  6479. icon bg ellipse
  6480. figures
  6481. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  6482. ellipse 315.7 307.7 324.3 316.3 color -1;
  6483. terminals
  6484. input 320 312 fixed;
  6485. end;
  6486. implementation eq
  6487. equations
  6488. collect (output) = input;
  6489. implementation_end;
  6490. Wbai 184 424
  6491. description '<Description>
  6492. <Version>4.0</Version>
  6493. <IsMainModel>1</IsMainModel>
  6494. <KeepParameterValues>False</KeepParameterValues>
  6495. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  6496. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  6497. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6498. </Description>';
  6499. knot ZeroJunction
  6500. ports
  6501. power knot duplicatable none p [6,1];
  6502. signal knot out effort [6,1];
  6503. restrictions
  6504. causality constraint one_in p;
  6505. end;
  6506. icon bg bottom
  6507. figures
  6508. text '0' 184 424 color 0 18 bold;
  6509. end;
  6510. implementation eq
  6511. equations
  6512. sum (direct (p.f)) = 0;
  6513. equal (collect (p.e));
  6514. effort = first (p.e);
  6515. implementation_end;
  6516. end;
  6517. connections
  6518. FlowSensor2\flow -> Hmatrix\flow;
  6519. FlowSensor2\p2 => Wbai\p;
  6520. Hin -> MatrixMul\input2;
  6521. Hmatrix\H -> Splitter2\input;
  6522. MatrixMul\output -> Hout;
  6523. Pdiff => FlowSensor2\p1;
  6524. Pin => AdHji\p2;
  6525. Splitter2\output -> AdHji\H 424 312;
  6526. Splitter2\output -> Hdiff;
  6527. Splitter2\output -> MatrixMul\input1;
  6528. Wbai\p <= AdHji\p1;
  6529. Wbai\p => Pout;
  6530. end;
  6531. implementation_end;
  6532. Joint2 1256 240
  6533. description '<Information>
  6534. <Description>
  6535. <Version>4.8</Version>
  6536. <IsMainModel>1</IsMainModel>
  6537. <LibraryPath>Bond Graph\MR\joint-v3.emx</LibraryPath>
  6538. <TimeStamp>2020-7-21 12:08:53</TimeStamp>
  6539. </Description>
  6540. </Information>';
  6541. type 'Submodel-v3'
  6542. ports
  6543. power in Pin [6,1];
  6544. power in Pdiff [6,1];
  6545. signal in Hin [4,4];
  6546. signal out Hout [4,4];
  6547. signal out Hdiff [4,4];
  6548. power out Pout [6,1];
  6549. end;
  6550. icon bg bottom
  6551. figures
  6552. rectangle 1232 208 1280 272 color 0 fill 14745599;
  6553. text 'Joint' 1256 240 color 0 'Clear Sans' 16;
  6554. terminals
  6555. Pin 1280 224 fixed;
  6556. Hin 1232 256 fixed;
  6557. Hout 1280 256 fixed;
  6558. Pout 1232 224 fixed;
  6559. end;
  6560. implementation bg
  6561. submodels
  6562. AdHji 424 424
  6563. description '<Description>
  6564. <Version>4.0</Version>
  6565. <IsMainModel>1</IsMainModel>
  6566. <KeepParameterValues>False</KeepParameterValues>
  6567. <LibraryPath>Bond Graph\MTF.emx</LibraryPath>
  6568. <TimeStamp>2007-9-25 12:3:3</TimeStamp>
  6569. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6570. </Description>';
  6571. type MTF
  6572. ports
  6573. power out p1 [6,1];
  6574. power in p2 [6,1];
  6575. signal in H [4,4];
  6576. restrictions
  6577. causality constraint not_equal p1 p2;
  6578. end;
  6579. icon bg bottom
  6580. figures
  6581. text 'MTF' 424 424 color 0 18 bold;
  6582. end;
  6583. implementation eq
  6584. equations
  6585. p2.e = transpose(Adjoint(H)) * p1.e;
  6586. p1.f = Adjoint(H) * p2.f;implementation_end;
  6587. FlowSensor2 184 311.9
  6588. description '<Information>
  6589. <Description>
  6590. <Version>4.2</Version>
  6591. <IsMainModel>1</IsMainModel>
  6592. <KeepParameterValues>False</KeepParameterValues>
  6593. <LibraryPath>Bond Graph\FlowSensor.emx</LibraryPath>
  6594. <TimeStamp>2011-11-29 15:50:53</TimeStamp>
  6595. </Description>
  6596. </Information>';
  6597. knot FlowSensor
  6598. ports
  6599. power knot in p1 [6,1];
  6600. power knot out p2 [6,1];
  6601. signal knot out flow [6,1];
  6602. restrictions
  6603. causality constraint not_equal p1 p2;
  6604. end;
  6605. icon bg ellipse
  6606. figures
  6607. ellipse 177.1 304.8 190.9 319.1 color 0 fill 16777215;
  6608. text 'f' 184 311.2 color 0;
  6609. end;
  6610. implementation eq
  6611. equations
  6612. p2.f = p1.f;
  6613. p1.e = p2.e;
  6614. flow = p1.f;
  6615. implementation_end;
  6616. Hmatrix 256 312
  6617. 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>';
  6618. type 'Submodel-Equation'
  6619. ports
  6620. signal in flow [6,1];
  6621. signal out H [4,4];
  6622. end;
  6623. icon bg
  6624. figures
  6625. rectangle 224 296 288 328 color 0 fill 15132390;
  6626. text 'name' 256 312 color 0 'Clear Sans' 16;
  6627. end;
  6628. implementation eq
  6629. parameters
  6630. real init[4] = [1;0;0;0];
  6631. variables
  6632. real q[4]; //quaternions
  6633. real W[3,4]; //Quaternion Rates Matrix
  6634. real R[3,3]; //Rotation Matrix
  6635. real p[3]; //Position Vector
  6636. real dq[4];
  6637. real Wb[3,4];
  6638. equations
  6639. dq = transpose(Wb) * flow[1:3] ./ 2;
  6640. q = int(dq,init);
  6641. p = int(flow[4:6]);
  6642. W = [-q[2], q[1], -q[4], q[3];
  6643. -q[3], q[4], q[1], -q[2];
  6644. -q[4], -q[3], q[2], q[1]];
  6645. Wb = [ -q[2], q[1], q[4], -q[3];
  6646. -q[3], -q[4], q[1], q[2];
  6647. -q[4], q[3], -q[2], q[1]];
  6648. 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]);
  6649. 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]);
  6650. 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];
  6651. H = homogeneous(R,p);
  6652. implementation_end;
  6653. MatrixMul 320 576
  6654. description '<Description>
  6655. <Version>4.0</Version>
  6656. <IsMainModel>1</IsMainModel>
  6657. <KeepParameterValues>False</KeepParameterValues>
  6658. <LibraryPath>Signal\Block Diagram\Gain.emx</LibraryPath>
  6659. <TimeStamp>2007-9-26 12:15:12</TimeStamp>
  6660. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6661. </Description>';
  6662. type Gain
  6663. ports
  6664. signal in input1 [4,4];
  6665. signal out output [4,4];
  6666. signal in input2 [4,4];
  6667. end;
  6668. icon bg bottom
  6669. figures
  6670. rectangle 304.1 560 335.9 592 color 0 fill 15132390;
  6671. text 'X' 320 576 color 16711680 16 bold;
  6672. end;
  6673. implementation eq
  6674. equations
  6675. output = input2*input1; implementation_end;
  6676. plug Pin 492.1 424;
  6677. plug Pdiff 184 225;
  6678. plug Hin 130.8 576;
  6679. plug Hout 478.4 576;
  6680. plug Hdiff 320 222;
  6681. plug Pout 134.7 424;
  6682. Splitter2 320 312
  6683. description '<Description><Version>4.0</Version>
  6684. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  6685. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  6686. <IsMainModel>1</IsMainModel>
  6687. <KeepParameterValues>False</KeepParameterValues>
  6688. </Description>';
  6689. knot Splitter
  6690. ports
  6691. signal knot duplicatable out output [4,4];
  6692. signal knot in input [4,4];
  6693. end;
  6694. icon bg ellipse
  6695. figures
  6696. ellipse 316.8 308.8 323.2 315.2 color -1 fill 0;
  6697. ellipse 315.7 307.7 324.3 316.3 color -1;
  6698. terminals
  6699. input 320 312 fixed;
  6700. end;
  6701. implementation eq
  6702. equations
  6703. collect (output) = input;
  6704. implementation_end;
  6705. Wbai 184 424
  6706. description '<Description>
  6707. <Version>4.0</Version>
  6708. <IsMainModel>1</IsMainModel>
  6709. <KeepParameterValues>False</KeepParameterValues>
  6710. <LibraryPath>Bond Graph\ZeroJunction.emx</LibraryPath>
  6711. <TimeStamp>2007-9-27 9:51:43</TimeStamp>
  6712. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6713. </Description>';
  6714. knot ZeroJunction
  6715. ports
  6716. power knot duplicatable none p [6,1];
  6717. signal knot out effort [6,1];
  6718. restrictions
  6719. causality constraint one_in p;
  6720. end;
  6721. icon bg bottom
  6722. figures
  6723. text '0' 184 424 color 0 18 bold;
  6724. end;
  6725. implementation eq
  6726. equations
  6727. sum (direct (p.f)) = 0;
  6728. equal (collect (p.e));
  6729. effort = first (p.e);
  6730. implementation_end;
  6731. end;
  6732. connections
  6733. FlowSensor2\flow -> Hmatrix\flow;
  6734. FlowSensor2\p2 => Wbai\p;
  6735. Hin -> MatrixMul\input2;
  6736. Hmatrix\H -> Splitter2\input;
  6737. MatrixMul\output -> Hout;
  6738. Pdiff => FlowSensor2\p1;
  6739. Pin => AdHji\p2;
  6740. Splitter2\output -> AdHji\H 424 312;
  6741. Splitter2\output -> Hdiff;
  6742. Splitter2\output -> MatrixMul\input1;
  6743. Wbai\p <= AdHji\p1;
  6744. Wbai\p => Pout;
  6745. end;
  6746. implementation_end;
  6747. Joint_dynF1 488 136
  6748. description '<Description>
  6749. <Version>4.8</Version>
  6750. <IsMainModel>1</IsMainModel>
  6751. </Description>';
  6752. type Submodel
  6753. ports
  6754. power out output [6,1];
  6755. end;
  6756. icon bg
  6757. figures
  6758. rectangle 448 120 528 152 color 0 fill 15132390;
  6759. text 'name' 488 136 color 0 'Clear Sans' 16;
  6760. end;
  6761. implementation bg
  6762. submodels
  6763. C1 191.8 216.2
  6764. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  6765. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  6766. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  6767. </Description>';
  6768. type 'C-3'
  6769. ports
  6770. power in p [3,1];
  6771. signal out state [3,1];
  6772. restrictions
  6773. causality preferred out p;
  6774. end;
  6775. icon bg top
  6776. figures
  6777. text 'C' 191.8 216.2 color 0 18 bold;
  6778. end;
  6779. implementation eq
  6780. parameters
  6781. real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {mN/m};
  6782. equations
  6783. state = int(p.f);
  6784. p.e = inverse(c) *state;
  6785. implementation_end;
  6786. C4 191.8 232.2
  6787. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  6788. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  6789. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  6790. </Description>';
  6791. type 'C-2'
  6792. ports
  6793. power in p [2,1];
  6794. signal out state [2,1];
  6795. restrictions
  6796. causality preferred out p;
  6797. end;
  6798. icon bg bottom
  6799. figures
  6800. text 'C' 191.8 232.2 color 0 18 bold;
  6801. end;
  6802. implementation eq
  6803. parameters
  6804. real c[2,2] = [1, 0.0; 0.0, 1] {mN.m/rad};
  6805. equations
  6806. state = int(p.f);
  6807. p.e = inverse(c) *state;
  6808. implementation_end;
  6809. MSe 288 304
  6810. description '<Information>
  6811. <Description>
  6812. <Version>4.2</Version>
  6813. <IsMainModel>1</IsMainModel>
  6814. <KeepParameterValues>False</KeepParameterValues>
  6815. <LibraryPath>Bond Graph\MSe.emx</LibraryPath>
  6816. <TimeStamp>2011-11-29 16:12:33</TimeStamp>
  6817. </Description>
  6818. </Information>';
  6819. type MSe
  6820. ports
  6821. power out p;
  6822. signal in effort;
  6823. restrictions
  6824. causality fixed out p;
  6825. end;
  6826. icon bg bottom
  6827. figures
  6828. text 'MSe' 288 304 color 0 18 bold;
  6829. end;
  6830. implementation eq
  6831. variables
  6832. real flow;
  6833. equations
  6834. p.e = effort;
  6835. flow = p.f;
  6836. implementation_end;
  6837. plug output 396 216;
  6838. OneJunction5 239.8 232.2
  6839. description '<Information>
  6840. <Description>
  6841. <Version>4.2</Version>
  6842. <IsMainModel>1</IsMainModel>
  6843. <KeepParameterValues>False</KeepParameterValues>
  6844. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  6845. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  6846. </Description>
  6847. </Information>';
  6848. knot OneJunction
  6849. ports
  6850. power knot duplicatable none p [2,1];
  6851. signal knot out flow [2,1];
  6852. restrictions
  6853. causality constraint one_out p;
  6854. end;
  6855. icon bg
  6856. figures
  6857. text '1' 239.8 232.2 color 0 18 bold;
  6858. end;
  6859. implementation eq
  6860. equations
  6861. sum (direct (p.e)) = 0;
  6862. equal (collect (p.f));
  6863. flow = first (p.f);
  6864. implementation_end;
  6865. OneJunction7 239.8 216.2
  6866. description '<Information>
  6867. <Description>
  6868. <Version>4.2</Version>
  6869. <IsMainModel>1</IsMainModel>
  6870. <KeepParameterValues>False</KeepParameterValues>
  6871. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  6872. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  6873. </Description>
  6874. </Information>';
  6875. knot OneJunction
  6876. ports
  6877. power knot duplicatable none p [3,1];
  6878. signal knot out flow [3,1];
  6879. restrictions
  6880. causality constraint one_out p;
  6881. end;
  6882. icon bg
  6883. figures
  6884. text '1' 239.8 216.2 color 0 18 bold;
  6885. end;
  6886. implementation eq
  6887. equations
  6888. sum (direct (p.e)) = 0;
  6889. equal (collect (p.f));
  6890. flow = first (p.f);
  6891. implementation_end;
  6892. OneJunction8 288 200
  6893. description '<Information>
  6894. <Description>
  6895. <Version>4.2</Version>
  6896. <IsMainModel>1</IsMainModel>
  6897. <KeepParameterValues>False</KeepParameterValues>
  6898. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  6899. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  6900. </Description>
  6901. </Information>';
  6902. knot OneJunction
  6903. ports
  6904. power knot duplicatable none p [1];
  6905. signal knot out flow [1];
  6906. restrictions
  6907. causality constraint one_out p;
  6908. end;
  6909. icon bg
  6910. figures
  6911. text '1' 288 200 color 0 18 bold;
  6912. end;
  6913. implementation eq
  6914. equations
  6915. sum (direct (p.e)) = 0;
  6916. equal (collect (p.f));
  6917. flow = first (p.f);
  6918. implementation_end;
  6919. PowerMux 330 216
  6920. specifications active 'rot_z'
  6921. specification 'rot_x'
  6922. description '<Information>
  6923. <Description>
  6924. <Version>4.8</Version>
  6925. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  6926. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  6927. <IsMainModel>1</IsMainModel>
  6928. <KeepParameterValues>False</KeepParameterValues>
  6929. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6930. </Description>
  6931. </Information>';
  6932. type 'PowerMux-Rotation'
  6933. ports
  6934. power in input;
  6935. power out output [6,1];
  6936. power in input_rot2 [2,1];
  6937. power in input_pos3 [3,1];
  6938. restrictions
  6939. causality constraint not_equal input output;
  6940. causality constraint not_equal input_rot2 output;
  6941. causality constraint not_equal input_pos3 output;
  6942. end;
  6943. icon bg bottom
  6944. figures
  6945. line 328 192 328 240 color 0 width 2;
  6946. rectangle 324 192 336 240 color -1;
  6947. text '1' 333 210 color 8421504 8;
  6948. terminals
  6949. input 328 200 fixed;
  6950. output 328 216 fixed;
  6951. input_rot2 328 232 fixed;
  6952. input_pos3 328 216 fixed;
  6953. end;
  6954. implementation eq
  6955. equations
  6956. output.e[1] = input.e;
  6957. output.e[2:3] = input_rot2.e;
  6958. output.e[4:6] = input_pos3.e;
  6959. output.f[1] = input.f;
  6960. output.f[2:3] = input_rot2.f;
  6961. output.f[4:6] = input_pos3.f;implementation_end;
  6962. specification_end;
  6963. specification 'rot_y'
  6964. description '<Description>
  6965. <Version>4.1</Version>
  6966. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  6967. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  6968. <IsMainModel>1</IsMainModel>
  6969. <KeepParameterValues>False</KeepParameterValues>
  6970. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  6971. </Description>';
  6972. type PowerMux
  6973. ports
  6974. power in input;
  6975. power out output [6,1];
  6976. power in input_rot2 [2,1];
  6977. power in input_pos3 [3,1];
  6978. restrictions
  6979. causality constraint not_equal input output;
  6980. causality constraint not_equal input_rot2 output;
  6981. causality constraint not_equal input_pos3 output;
  6982. end;
  6983. icon bg bottom
  6984. figures
  6985. line 328 192 328 240 color 0 width 2;
  6986. rectangle 324 192 336 240 color -1;
  6987. text '1' 333 210 color 8421504 8;
  6988. terminals
  6989. input 328 200 fixed;
  6990. output 328 216 fixed;
  6991. input_rot2 328 232 fixed;
  6992. input_pos3 328 216 fixed;
  6993. end;
  6994. implementation eq
  6995. equations
  6996. output.e[1] = input_rot2.e[1];
  6997. output.e[2] = input.e;
  6998. output.e[3] = input_rot2.e[2];
  6999. output.e[4:6] = input_pos3.e;
  7000. output.f[1] = input_rot2.f[1];
  7001. output.f[2] = input.f;
  7002. output.f[3] = input_rot2.f[2];
  7003. output.f[4:6] = input_pos3.f;implementation_end;
  7004. specification_end;
  7005. specification 'rot_z'
  7006. description '<Information>
  7007. <Description>
  7008. <Version>4.8</Version>
  7009. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  7010. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  7011. <IsMainModel>1</IsMainModel>
  7012. <KeepParameterValues>False</KeepParameterValues>
  7013. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7014. </Description>
  7015. </Information>';
  7016. type PowerMux
  7017. ports
  7018. power in input;
  7019. power out output [6,1];
  7020. power in input_rot2 [2,1];
  7021. power in input_pos3 [3,1];
  7022. restrictions
  7023. causality constraint not_equal input output;
  7024. causality constraint not_equal input_rot2 output;
  7025. causality constraint not_equal input_pos3 output;
  7026. end;
  7027. icon bg bottom
  7028. figures
  7029. line 328 192 328 240 color 0 width 2;
  7030. rectangle 324 192 336 240 color -1;
  7031. text '1' 333 210 color 8421504 8;
  7032. terminals
  7033. input 328 200 fixed;
  7034. output 328 216 fixed;
  7035. input_rot2 328 232 fixed;
  7036. input_pos3 328 216 fixed;
  7037. end;
  7038. implementation eq
  7039. equations
  7040. output.e[3] = input.e;
  7041. output.e[1:2] = input_rot2.e;
  7042. output.e[4:6] = input_pos3.e;
  7043. output.f[3] = input.f;
  7044. output.f[1:2] = input_rot2.f;
  7045. output.f[4:6] = input_pos3.f;implementation_end;
  7046. specification_end;
  7047. end;
  7048. R 288 112
  7049. description '<Information>
  7050. <Description>
  7051. <Version>4.2</Version>
  7052. <IsMainModel>1</IsMainModel>
  7053. <KeepParameterValues>False</KeepParameterValues>
  7054. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  7055. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  7056. </Description>
  7057. </Information>';
  7058. type R
  7059. ports
  7060. power in p;
  7061. end;
  7062. icon bg top
  7063. figures
  7064. text 'R' 288 112 color 0 18 bold;
  7065. end;
  7066. implementation eq
  7067. parameters
  7068. real r = 0.0001;
  7069. equations
  7070. p.e = r * p.f;
  7071. implementation_end;
  7072. R4 239.8 288.2
  7073. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7074. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  7075. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  7076. </Description>';
  7077. type 'R-2'
  7078. ports
  7079. power in p [2,1];
  7080. end;
  7081. icon bg bottom
  7082. figures
  7083. text 'R' 239.8 288.2 color 0 18 bold;
  7084. end;
  7085. implementation eq
  7086. parameters
  7087. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  7088. equations
  7089. p.e = r * p.f;
  7090. implementation_end;
  7091. R5 239.8 168.2
  7092. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7093. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  7094. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  7095. </Description>';
  7096. type 'R-3'
  7097. ports
  7098. power in p [3,1];
  7099. end;
  7100. icon bg top
  7101. figures
  7102. text 'R' 239.8 168.2 color 0 18 bold;
  7103. end;
  7104. implementation eq
  7105. parameters
  7106. 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};
  7107. equations
  7108. p.e = r * p.f;
  7109. implementation_end;
  7110. Square 288 392
  7111. description '<Description>
  7112. <Version>4.0</Version>
  7113. <IsMainModel>1</IsMainModel>
  7114. <KeepParameterValues>False</KeepParameterValues>
  7115. <LibraryPath>Signal\Sources\WaveGenerator-Square.emx</LibraryPath>
  7116. <TimeStamp>2009-3-5 16:05:33</TimeStamp>
  7117. </Description>';
  7118. type 'WaveGenerator-Square'
  7119. ports
  7120. signal out output;
  7121. end;
  7122. icon bg bottom
  7123. figures
  7124. rectangle 272.1 376 303.9 408 color 0 fill 15132390;
  7125. line 276.1 379.9 275.9 406.2 color 0 fill 0;
  7126. line 273.9 404.1 299.9 404.1 color 0 fill 0;
  7127. line 276.1 404.1 280 404.1 280 392 color 16711680 fill 0;
  7128. line 288 392 280 392 288 392 color 16711680 fill 0;
  7129. line 288 404.1 288 392 288 404.1 color 16711680 fill 0;
  7130. line 296 392 296 404.1 296 392 color 16711680 fill 0;
  7131. line 299.9 392.1 295.7 392.1 color 16711680 fill 0;
  7132. line 288 404.1 296 404.1 color 16711680 fill 0;
  7133. end;
  7134. implementation eq
  7135. parameters
  7136. real amplitude = 0.0; // amplitude of the wave
  7137. real omega = 3.1415926535898 {rad/s}; // angular frequency of the wave
  7138. variables
  7139. real hidden s, half;
  7140. boolean hidden change;
  7141. equations
  7142. "calculate at least 2 points per period
  7143. (just after the change in sign)"
  7144. half = pi / omega;
  7145. change = frequencyevent (half, 1e-14);
  7146. "calculate the square wave"
  7147. s = sign (sin (omega * time));
  7148. output = if( s == 0 ) then
  7149. amplitude
  7150. else
  7151. (amplitude / 2) * (s + 1)
  7152. end;
  7153. implementation_end;
  7154. end;
  7155. connections
  7156. C1\p <= OneJunction7\p;
  7157. OneJunction5\p => C4\p;
  7158. OneJunction5\p => PowerMux\input_rot2;
  7159. OneJunction5\p => R4\p;
  7160. OneJunction7\p => PowerMux\input_pos3;
  7161. OneJunction7\p => R5\p;
  7162. OneJunction8\p <= MSe\p;
  7163. OneJunction8\p => PowerMux\input;
  7164. PowerMux\output => output;
  7165. R\p <= OneJunction8\p;
  7166. Square\output -> MSe\effort;
  7167. end;
  7168. implementation_end;
  7169. Joint_dynF2 952 136
  7170. description '<Description>
  7171. <Version>4.8</Version>
  7172. <IsMainModel>1</IsMainModel>
  7173. </Description>';
  7174. type Submodel
  7175. ports
  7176. power out output [6,1];
  7177. end;
  7178. icon bg
  7179. figures
  7180. rectangle 912 120 992 152 color 0 fill 15132390;
  7181. text 'name' 952 136 color 0 'Clear Sans' 16;
  7182. end;
  7183. implementation bg
  7184. submodels
  7185. C1 191.8 216.2
  7186. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7187. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  7188. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  7189. </Description>';
  7190. type 'C-3'
  7191. ports
  7192. power in p [3,1];
  7193. signal out state [3,1];
  7194. restrictions
  7195. causality preferred out p;
  7196. end;
  7197. icon bg top
  7198. figures
  7199. text 'C' 191.8 216.2 color 0 18 bold;
  7200. end;
  7201. implementation eq
  7202. parameters
  7203. real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {mN/m};
  7204. equations
  7205. state = int(p.f);
  7206. p.e = inverse(c) *state;
  7207. implementation_end;
  7208. C4 191.8 232.2
  7209. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7210. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  7211. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  7212. </Description>';
  7213. type 'C-2'
  7214. ports
  7215. power in p [2,1];
  7216. signal out state [2,1];
  7217. restrictions
  7218. causality preferred out p;
  7219. end;
  7220. icon bg bottom
  7221. figures
  7222. text 'C' 191.8 232.2 color 0 18 bold;
  7223. end;
  7224. implementation eq
  7225. parameters
  7226. real c[2,2] = [1, 0.0; 0.0, 1] {mN.m/rad};
  7227. equations
  7228. state = int(p.f);
  7229. p.e = inverse(c) *state;
  7230. implementation_end;
  7231. plug output 396 216;
  7232. OneJunction5 239.8 232.2
  7233. description '<Information>
  7234. <Description>
  7235. <Version>4.2</Version>
  7236. <IsMainModel>1</IsMainModel>
  7237. <KeepParameterValues>False</KeepParameterValues>
  7238. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7239. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7240. </Description>
  7241. </Information>';
  7242. knot OneJunction
  7243. ports
  7244. power knot duplicatable none p [2,1];
  7245. signal knot out flow [2,1];
  7246. restrictions
  7247. causality constraint one_out p;
  7248. end;
  7249. icon bg
  7250. figures
  7251. text '1' 239.8 232.2 color 0 18 bold;
  7252. end;
  7253. implementation eq
  7254. equations
  7255. sum (direct (p.e)) = 0;
  7256. equal (collect (p.f));
  7257. flow = first (p.f);
  7258. implementation_end;
  7259. OneJunction7 239.8 216.2
  7260. description '<Information>
  7261. <Description>
  7262. <Version>4.2</Version>
  7263. <IsMainModel>1</IsMainModel>
  7264. <KeepParameterValues>False</KeepParameterValues>
  7265. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7266. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7267. </Description>
  7268. </Information>';
  7269. knot OneJunction
  7270. ports
  7271. power knot duplicatable none p [3,1];
  7272. signal knot out flow [3,1];
  7273. restrictions
  7274. causality constraint one_out p;
  7275. end;
  7276. icon bg
  7277. figures
  7278. text '1' 239.8 216.2 color 0 18 bold;
  7279. end;
  7280. implementation eq
  7281. equations
  7282. sum (direct (p.e)) = 0;
  7283. equal (collect (p.f));
  7284. flow = first (p.f);
  7285. implementation_end;
  7286. OneJunction8 288 200
  7287. description '<Information>
  7288. <Description>
  7289. <Version>4.2</Version>
  7290. <IsMainModel>1</IsMainModel>
  7291. <KeepParameterValues>False</KeepParameterValues>
  7292. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7293. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7294. </Description>
  7295. </Information>';
  7296. knot OneJunction
  7297. ports
  7298. power knot duplicatable none p [1];
  7299. signal knot out flow [1];
  7300. restrictions
  7301. causality constraint one_out p;
  7302. end;
  7303. icon bg
  7304. figures
  7305. text '1' 288 200 color 0 18 bold;
  7306. end;
  7307. implementation eq
  7308. equations
  7309. sum (direct (p.e)) = 0;
  7310. equal (collect (p.f));
  7311. flow = first (p.f);
  7312. implementation_end;
  7313. PowerMux 330 216
  7314. specifications active 'rot_z'
  7315. specification 'rot_x'
  7316. description '<Information>
  7317. <Description>
  7318. <Version>4.8</Version>
  7319. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  7320. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  7321. <IsMainModel>1</IsMainModel>
  7322. <KeepParameterValues>False</KeepParameterValues>
  7323. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7324. </Description>
  7325. </Information>';
  7326. type 'PowerMux-Rotation'
  7327. ports
  7328. power in input;
  7329. power out output [6,1];
  7330. power in input_rot2 [2,1];
  7331. power in input_pos3 [3,1];
  7332. restrictions
  7333. causality constraint not_equal input output;
  7334. causality constraint not_equal input_rot2 output;
  7335. causality constraint not_equal input_pos3 output;
  7336. end;
  7337. icon bg bottom
  7338. figures
  7339. line 328 192 328 240 color 0 width 2;
  7340. rectangle 324 192 336 240 color -1;
  7341. text '1' 333 210 color 8421504 8;
  7342. terminals
  7343. input 328 200 fixed;
  7344. output 328 216 fixed;
  7345. input_rot2 328 232 fixed;
  7346. input_pos3 328 216 fixed;
  7347. end;
  7348. implementation eq
  7349. equations
  7350. output.e[1] = input.e;
  7351. output.e[2:3] = input_rot2.e;
  7352. output.e[4:6] = input_pos3.e;
  7353. output.f[1] = input.f;
  7354. output.f[2:3] = input_rot2.f;
  7355. output.f[4:6] = input_pos3.f;implementation_end;
  7356. specification_end;
  7357. specification 'rot_y'
  7358. description '<Description>
  7359. <Version>4.1</Version>
  7360. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  7361. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  7362. <IsMainModel>1</IsMainModel>
  7363. <KeepParameterValues>False</KeepParameterValues>
  7364. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7365. </Description>';
  7366. type PowerMux
  7367. ports
  7368. power in input;
  7369. power out output [6,1];
  7370. power in input_rot2 [2,1];
  7371. power in input_pos3 [3,1];
  7372. restrictions
  7373. causality constraint not_equal input output;
  7374. causality constraint not_equal input_rot2 output;
  7375. causality constraint not_equal input_pos3 output;
  7376. end;
  7377. icon bg bottom
  7378. figures
  7379. line 242 274 290 274 color 0 width 2;
  7380. rectangle 242 266 290 278 color -1;
  7381. text '1' 260 269 color 8421504 8;
  7382. terminals
  7383. input 250 274 fixed;
  7384. output 266 274 fixed;
  7385. input_rot2 282 274 fixed;
  7386. input_pos3 266 274 fixed;
  7387. end;
  7388. implementation eq
  7389. equations
  7390. output.e[1] = input_rot2.e[1];
  7391. output.e[2] = input.e;
  7392. output.e[3] = input_rot2.e[2];
  7393. output.e[4:6] = input_pos3.e;
  7394. output.f[1] = input_rot2.f[1];
  7395. output.f[2] = input.f;
  7396. output.f[3] = input_rot2.f[2];
  7397. output.f[4:6] = input_pos3.f;implementation_end;
  7398. specification_end;
  7399. specification 'rot_z'
  7400. description '<Information>
  7401. <Description>
  7402. <Version>4.8</Version>
  7403. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  7404. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  7405. <IsMainModel>1</IsMainModel>
  7406. <KeepParameterValues>False</KeepParameterValues>
  7407. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7408. </Description>
  7409. </Information>';
  7410. type PowerMux
  7411. ports
  7412. power in input;
  7413. power out output [6,1];
  7414. power in input_rot2 [2,1];
  7415. power in input_pos3 [3,1];
  7416. restrictions
  7417. causality constraint not_equal input output;
  7418. causality constraint not_equal input_rot2 output;
  7419. causality constraint not_equal input_pos3 output;
  7420. end;
  7421. icon bg bottom
  7422. figures
  7423. line 328 192 328 240 color 0 width 2;
  7424. rectangle 324 192 336 240 color -1;
  7425. text '1' 333 210 color 8421504 8;
  7426. terminals
  7427. input 328 200 fixed;
  7428. output 328 216 fixed;
  7429. input_rot2 328 232 fixed;
  7430. input_pos3 328 216 fixed;
  7431. end;
  7432. implementation eq
  7433. equations
  7434. output.e[3] = input.e;
  7435. output.e[1:2] = input_rot2.e;
  7436. output.e[4:6] = input_pos3.e;
  7437. output.f[3] = input.f;
  7438. output.f[1:2] = input_rot2.f;
  7439. output.f[4:6] = input_pos3.f;implementation_end;
  7440. specification_end;
  7441. end;
  7442. R 288 152
  7443. description '<Information>
  7444. <Description>
  7445. <Version>4.2</Version>
  7446. <IsMainModel>1</IsMainModel>
  7447. <KeepParameterValues>False</KeepParameterValues>
  7448. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  7449. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  7450. </Description>
  7451. </Information>';
  7452. type R
  7453. ports
  7454. power in p;
  7455. end;
  7456. icon bg top
  7457. figures
  7458. text 'R' 288 152 color 0 18 bold;
  7459. end;
  7460. implementation eq
  7461. parameters
  7462. real r = 0.0001;
  7463. equations
  7464. p.e = r * p.f;
  7465. implementation_end;
  7466. R4 239.8 288.2
  7467. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7468. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  7469. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  7470. </Description>';
  7471. type 'R-2'
  7472. ports
  7473. power in p [2,1];
  7474. end;
  7475. icon bg bottom
  7476. figures
  7477. text 'R' 239.8 288.2 color 0 18 bold;
  7478. end;
  7479. implementation eq
  7480. parameters
  7481. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  7482. equations
  7483. p.e = r * p.f;
  7484. implementation_end;
  7485. R5 239.8 168.2
  7486. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7487. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  7488. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  7489. </Description>';
  7490. type 'R-3'
  7491. ports
  7492. power in p [3,1];
  7493. end;
  7494. icon bg top
  7495. figures
  7496. text 'R' 239.8 168.2 color 0 18 bold;
  7497. end;
  7498. implementation eq
  7499. parameters
  7500. 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};
  7501. equations
  7502. p.e = r * p.f;
  7503. implementation_end;
  7504. end;
  7505. connections
  7506. C1\p <= OneJunction7\p;
  7507. OneJunction5\p => C4\p;
  7508. OneJunction5\p => PowerMux\input_rot2;
  7509. OneJunction5\p => R4\p;
  7510. OneJunction7\p => PowerMux\input_pos3;
  7511. OneJunction7\p => R5\p;
  7512. OneJunction8\p => PowerMux\input;
  7513. PowerMux\output => output;
  7514. R\p <= OneJunction8\p;
  7515. end;
  7516. implementation_end;
  7517. Joint_dynF3 1256 136
  7518. description '<Description>
  7519. <Version>4.8</Version>
  7520. <IsMainModel>1</IsMainModel>
  7521. </Description>';
  7522. type Submodel
  7523. ports
  7524. power out output [6,1];
  7525. end;
  7526. icon bg
  7527. figures
  7528. rectangle 1216 120 1296 152 color 0 fill 15132390;
  7529. text 'name' 1256 136 color 0 'Clear Sans' 16;
  7530. end;
  7531. implementation bg
  7532. submodels
  7533. C1 191.8 216.2
  7534. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7535. <LibraryPath>Bond Graph\3D\C-3.emx</LibraryPath>
  7536. <TimeStamp>2007-9-25 12:12:8</TimeStamp>
  7537. </Description>';
  7538. type 'C-3'
  7539. ports
  7540. power in p [3,1];
  7541. signal out state [3,1];
  7542. restrictions
  7543. causality preferred out p;
  7544. end;
  7545. icon bg top
  7546. figures
  7547. text 'C' 191.8 216.2 color 0 18 bold;
  7548. end;
  7549. implementation eq
  7550. parameters
  7551. real c[3,3] = [1, 0.0, 0.0; 0.0, 1, 0.0; 0.0, 0.0, 1] {mN/m};
  7552. equations
  7553. state = int(p.f);
  7554. p.e = inverse(c) *state;
  7555. implementation_end;
  7556. C4 191.8 232.2
  7557. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7558. <LibraryPath>Bond Graph\2D\C-2.emx</LibraryPath>
  7559. <TimeStamp>2007-9-25 12:7:27</TimeStamp>
  7560. </Description>';
  7561. type 'C-2'
  7562. ports
  7563. power in p [2,1];
  7564. signal out state [2,1];
  7565. restrictions
  7566. causality preferred out p;
  7567. end;
  7568. icon bg bottom
  7569. figures
  7570. text 'C' 191.8 232.2 color 0 18 bold;
  7571. end;
  7572. implementation eq
  7573. parameters
  7574. real c[2,2] = [1, 0.0; 0.0, 1] {mN.m/rad};
  7575. equations
  7576. state = int(p.f);
  7577. p.e = inverse(c) *state;
  7578. implementation_end;
  7579. plug output 396 216;
  7580. OneJunction5 239.8 232.2
  7581. description '<Information>
  7582. <Description>
  7583. <Version>4.2</Version>
  7584. <IsMainModel>1</IsMainModel>
  7585. <KeepParameterValues>False</KeepParameterValues>
  7586. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7587. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7588. </Description>
  7589. </Information>';
  7590. knot OneJunction
  7591. ports
  7592. power knot duplicatable none p [2,1];
  7593. signal knot out flow [2,1];
  7594. restrictions
  7595. causality constraint one_out p;
  7596. end;
  7597. icon bg
  7598. figures
  7599. text '1' 239.8 232.2 color 0 18 bold;
  7600. end;
  7601. implementation eq
  7602. equations
  7603. sum (direct (p.e)) = 0;
  7604. equal (collect (p.f));
  7605. flow = first (p.f);
  7606. implementation_end;
  7607. OneJunction7 239.8 216.2
  7608. description '<Information>
  7609. <Description>
  7610. <Version>4.2</Version>
  7611. <IsMainModel>1</IsMainModel>
  7612. <KeepParameterValues>False</KeepParameterValues>
  7613. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7614. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7615. </Description>
  7616. </Information>';
  7617. knot OneJunction
  7618. ports
  7619. power knot duplicatable none p [3,1];
  7620. signal knot out flow [3,1];
  7621. restrictions
  7622. causality constraint one_out p;
  7623. end;
  7624. icon bg
  7625. figures
  7626. text '1' 239.8 216.2 color 0 18 bold;
  7627. end;
  7628. implementation eq
  7629. equations
  7630. sum (direct (p.e)) = 0;
  7631. equal (collect (p.f));
  7632. flow = first (p.f);
  7633. implementation_end;
  7634. OneJunction8 288 200
  7635. description '<Information>
  7636. <Description>
  7637. <Version>4.2</Version>
  7638. <IsMainModel>1</IsMainModel>
  7639. <KeepParameterValues>False</KeepParameterValues>
  7640. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  7641. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  7642. </Description>
  7643. </Information>';
  7644. knot OneJunction
  7645. ports
  7646. power knot duplicatable none p [1];
  7647. signal knot out flow [1];
  7648. restrictions
  7649. causality constraint one_out p;
  7650. end;
  7651. icon bg
  7652. figures
  7653. text '1' 288 200 color 0 18 bold;
  7654. end;
  7655. implementation eq
  7656. equations
  7657. sum (direct (p.e)) = 0;
  7658. equal (collect (p.f));
  7659. flow = first (p.f);
  7660. implementation_end;
  7661. PowerMux 330 216
  7662. specifications active 'rot_z'
  7663. specification 'rot_x'
  7664. description '<Information>
  7665. <Description>
  7666. <Version>4.8</Version>
  7667. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  7668. <TimeStamp>2020-7-20 14:35:23</TimeStamp>
  7669. <IsMainModel>1</IsMainModel>
  7670. <KeepParameterValues>False</KeepParameterValues>
  7671. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7672. </Description>
  7673. </Information>';
  7674. type 'PowerMux-Rotation'
  7675. ports
  7676. power in input;
  7677. power out output [6,1];
  7678. power in input_rot2 [2,1];
  7679. power in input_pos3 [3,1];
  7680. restrictions
  7681. causality constraint not_equal input output;
  7682. causality constraint not_equal input_rot2 output;
  7683. causality constraint not_equal input_pos3 output;
  7684. end;
  7685. icon bg bottom
  7686. figures
  7687. line 328 192 328 240 color 0 width 2;
  7688. rectangle 324 192 336 240 color -1;
  7689. text '1' 333 210 color 8421504 8;
  7690. terminals
  7691. input 328 200 fixed;
  7692. output 328 216 fixed;
  7693. input_rot2 328 232 fixed;
  7694. input_pos3 328 216 fixed;
  7695. end;
  7696. implementation eq
  7697. equations
  7698. output.e[1] = input.e;
  7699. output.e[2:3] = input_rot2.e;
  7700. output.e[4:6] = input_pos3.e;
  7701. output.f[1] = input.f;
  7702. output.f[2:3] = input_rot2.f;
  7703. output.f[4:6] = input_pos3.f;implementation_end;
  7704. specification_end;
  7705. specification 'rot_y'
  7706. description '<Description>
  7707. <Version>4.1</Version>
  7708. <LibraryPath>Bond Graph\PowerMux.emx</LibraryPath>
  7709. <TimeStamp>2011-3-4 15:12:50</TimeStamp>
  7710. <IsMainModel>1</IsMainModel>
  7711. <KeepParameterValues>False</KeepParameterValues>
  7712. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7713. </Description>';
  7714. type PowerMux
  7715. ports
  7716. power in input;
  7717. power out output [6,1];
  7718. power in input_rot2 [2,1];
  7719. power in input_pos3 [3,1];
  7720. restrictions
  7721. causality constraint not_equal input output;
  7722. causality constraint not_equal input_rot2 output;
  7723. causality constraint not_equal input_pos3 output;
  7724. end;
  7725. icon bg bottom
  7726. figures
  7727. line 242 274 290 274 color 0 width 2;
  7728. rectangle 242 266 290 278 color -1;
  7729. text '1' 260 269 color 8421504 8;
  7730. terminals
  7731. input 250 274 fixed;
  7732. output 266 274 fixed;
  7733. input_rot2 282 274 fixed;
  7734. input_pos3 266 274 fixed;
  7735. end;
  7736. implementation eq
  7737. equations
  7738. output.e[1] = input_rot2.e[1];
  7739. output.e[2] = input.e;
  7740. output.e[3] = input_rot2.e[2];
  7741. output.e[4:6] = input_pos3.e;
  7742. output.f[1] = input_rot2.f[1];
  7743. output.f[2] = input.f;
  7744. output.f[3] = input_rot2.f[2];
  7745. output.f[4:6] = input_pos3.f;implementation_end;
  7746. specification_end;
  7747. specification 'rot_z'
  7748. description '<Information>
  7749. <Description>
  7750. <Version>4.8</Version>
  7751. <LibraryPath>Bond Graph\MR\PowerMux-Rotation.emx</LibraryPath>
  7752. <TimeStamp>2020-7-21 12:05:13</TimeStamp>
  7753. <IsMainModel>1</IsMainModel>
  7754. <KeepParameterValues>False</KeepParameterValues>
  7755. <AllowLibraryUpdate>True</AllowLibraryUpdate>
  7756. </Description>
  7757. </Information>';
  7758. type PowerMux
  7759. ports
  7760. power in input;
  7761. power out output [6,1];
  7762. power in input_rot2 [2,1];
  7763. power in input_pos3 [3,1];
  7764. restrictions
  7765. causality constraint not_equal input output;
  7766. causality constraint not_equal input_rot2 output;
  7767. causality constraint not_equal input_pos3 output;
  7768. end;
  7769. icon bg bottom
  7770. figures
  7771. line 328 192 328 240 color 0 width 2;
  7772. rectangle 324 192 336 240 color -1;
  7773. text '1' 333 210 color 8421504 8;
  7774. terminals
  7775. input 328 200 fixed;
  7776. output 328 216 fixed;
  7777. input_rot2 328 232 fixed;
  7778. input_pos3 328 216 fixed;
  7779. end;
  7780. implementation eq
  7781. equations
  7782. output.e[3] = input.e;
  7783. output.e[1:2] = input_rot2.e;
  7784. output.e[4:6] = input_pos3.e;
  7785. output.f[3] = input.f;
  7786. output.f[1:2] = input_rot2.f;
  7787. output.f[4:6] = input_pos3.f;implementation_end;
  7788. specification_end;
  7789. end;
  7790. R 288 152
  7791. description '<Information>
  7792. <Description>
  7793. <Version>4.2</Version>
  7794. <IsMainModel>1</IsMainModel>
  7795. <KeepParameterValues>False</KeepParameterValues>
  7796. <LibraryPath>Bond Graph\R.emx</LibraryPath>
  7797. <TimeStamp>2011-11-29 16:35:37</TimeStamp>
  7798. </Description>
  7799. </Information>';
  7800. type R
  7801. ports
  7802. power in p;
  7803. end;
  7804. icon bg top
  7805. figures
  7806. text 'R' 288 152 color 0 18 bold;
  7807. end;
  7808. implementation eq
  7809. parameters
  7810. real r = 0.0001;
  7811. equations
  7812. p.e = r * p.f;
  7813. implementation_end;
  7814. R4 239.8 288.2
  7815. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7816. <LibraryPath>Bond Graph\2D\R-2.emx</LibraryPath>
  7817. <TimeStamp>2007-9-25 12:6:54</TimeStamp>
  7818. </Description>';
  7819. type 'R-2'
  7820. ports
  7821. power in p [2,1];
  7822. end;
  7823. icon bg bottom
  7824. figures
  7825. text 'R' 239.8 288.2 color 0 18 bold;
  7826. end;
  7827. implementation eq
  7828. parameters
  7829. real r[2,2] = [1.0, 0.0; 0.0, 1.0] {kN.m.s/rad};
  7830. equations
  7831. p.e = r * p.f;
  7832. implementation_end;
  7833. R5 239.8 168.2
  7834. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  7835. <LibraryPath>Bond Graph\3D\R-3.emx</LibraryPath>
  7836. <TimeStamp>2007-9-25 12:11:54</TimeStamp>
  7837. </Description>';
  7838. type 'R-3'
  7839. ports
  7840. power in p [3,1];
  7841. end;
  7842. icon bg top
  7843. figures
  7844. text 'R' 239.8 168.2 color 0 18 bold;
  7845. end;
  7846. implementation eq
  7847. parameters
  7848. 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};
  7849. equations
  7850. p.e = r * p.f;
  7851. implementation_end;
  7852. end;
  7853. connections
  7854. C1\p <= OneJunction7\p;
  7855. OneJunction5\p => C4\p;
  7856. OneJunction5\p => PowerMux\input_rot2;
  7857. OneJunction5\p => R4\p;
  7858. OneJunction7\p => PowerMux\input_pos3;
  7859. OneJunction7\p => R5\p;
  7860. OneJunction8\p => PowerMux\input;
  7861. PowerMux\output => output;
  7862. R\p <= OneJunction8\p;
  7863. end;
  7864. implementation_end;
  7865. Link1 800 240
  7866. description '<Information>
  7867. <Description>
  7868. <Version>4.8</Version>
  7869. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  7870. <IsMainModel>1</IsMainModel>
  7871. <KeepParameterValues>False</KeepParameterValues>
  7872. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  7873. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  7874. </Description>
  7875. </Information>';
  7876. type 'Submodel-Equation'
  7877. ports
  7878. signal in Hin [4,4];
  7879. signal out Hout [4,4];
  7880. power in Pin [6,1];
  7881. power out Pout [6,1];
  7882. restrictions
  7883. causality constraint not_equal Pin Pout;
  7884. end;
  7885. icon bg bottom
  7886. figures
  7887. rectangle 768 216 832 264 color 0 fill 8454041;
  7888. text 'Link' 800 240 color 0 'Clear Sans' 16;
  7889. terminals
  7890. Hin 768 256 fixed;
  7891. Hout 832 256 fixed;
  7892. Pin 832 224 fixed;
  7893. Pout 768 224 fixed;
  7894. end;
  7895. implementation eq
  7896. parameters
  7897. real offset[6]= [0;0;0;0.005;0;0]; //coordinates of joint_1
  7898. variables
  7899. real Hab[4,4];
  7900. real AdHab[6,6];
  7901. real R[3,3];
  7902. real omega[3];
  7903. initialequations
  7904. omega = offset[1:3];
  7905. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  7906. Hab = homogeneous(R,offset[4:6]);
  7907. AdHab = Adjoint(Hab);
  7908. equations
  7909. Hout = Hin * Hab;
  7910. Pout.e = transpose(AdHab) * Pin.e;
  7911. Pin.f = AdHab * Pout.f;
  7912. implementation_end;
  7913. Link12 304 240
  7914. description '<Information>
  7915. <Description>
  7916. <Version>4.8</Version>
  7917. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  7918. <IsMainModel>1</IsMainModel>
  7919. <KeepParameterValues>False</KeepParameterValues>
  7920. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  7921. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  7922. </Description>
  7923. </Information>';
  7924. type 'Submodel-Equation'
  7925. ports
  7926. signal in Hin [4,4];
  7927. signal out Hout [4,4];
  7928. power in Pin [6,1];
  7929. power out Pout [6,1];
  7930. restrictions
  7931. causality constraint not_equal Pin Pout;
  7932. end;
  7933. icon bg bottom
  7934. figures
  7935. rectangle 272 216 336 264 color 0 fill 8454041;
  7936. text 'Link' 304 240 color 0 'Clear Sans' 16;
  7937. terminals
  7938. Hin 272 256 fixed;
  7939. Hout 336 256 fixed;
  7940. Pin 336 224 fixed;
  7941. Pout 272 224 fixed;
  7942. end;
  7943. implementation eq
  7944. parameters
  7945. real offset[6]= [0;0;0;0.0059;0;0]; //coordinates of joint_1
  7946. variables
  7947. real Hab[4,4];
  7948. real AdHab[6,6];
  7949. real R[3,3];
  7950. real omega[3];
  7951. initialequations
  7952. omega = offset[1:3];
  7953. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  7954. Hab = homogeneous(R,offset[4:6]);
  7955. AdHab = Adjoint(Hab);
  7956. equations
  7957. Hout = Hin * Hab;
  7958. Pout.e = transpose(AdHab) * Pin.e;
  7959. Pin.f = AdHab * Pout.f;implementation_end;
  7960. Link13 592 240
  7961. description '<Information>
  7962. <Description>
  7963. <Version>4.8</Version>
  7964. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  7965. <IsMainModel>1</IsMainModel>
  7966. <KeepParameterValues>False</KeepParameterValues>
  7967. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  7968. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  7969. </Description>
  7970. </Information>';
  7971. type 'Submodel-Equation'
  7972. ports
  7973. signal in Hin [4,4];
  7974. signal out Hout [4,4];
  7975. power in Pin [6,1];
  7976. power out Pout [6,1];
  7977. restrictions
  7978. causality constraint not_equal Pin Pout;
  7979. end;
  7980. icon bg bottom
  7981. figures
  7982. rectangle 560 216 624 264 color 0 fill 8454041;
  7983. text 'Link' 592 240 color 0 'Clear Sans' 16;
  7984. terminals
  7985. Hin 560 256 fixed;
  7986. Hout 624 256 fixed;
  7987. Pin 624 224 fixed;
  7988. Pout 560 224 fixed;
  7989. end;
  7990. implementation eq
  7991. parameters
  7992. real offset[6]= [0;0;0;0.005;0;0]; //coordinates of joint_1
  7993. variables
  7994. real Hab[4,4];
  7995. real AdHab[6,6];
  7996. real R[3,3];
  7997. real omega[3];
  7998. initialequations
  7999. omega = offset[1:3];
  8000. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8001. Hab = homogeneous(R,offset[4:6]);
  8002. AdHab = Adjoint(Hab);
  8003. equations
  8004. Hout = Hin * Hab;
  8005. Pout.e = transpose(AdHab) * Pin.e;
  8006. Pin.f = AdHab * Pout.f;
  8007. implementation_end;
  8008. Link14 1048 240
  8009. description '<Information>
  8010. <Description>
  8011. <Version>4.8</Version>
  8012. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8013. <IsMainModel>1</IsMainModel>
  8014. <KeepParameterValues>False</KeepParameterValues>
  8015. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8016. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8017. </Description>
  8018. </Information>';
  8019. type 'Submodel-Equation'
  8020. ports
  8021. signal in Hin [4,4];
  8022. signal out Hout [4,4];
  8023. power in Pin [6,1];
  8024. power out Pout [6,1];
  8025. restrictions
  8026. causality constraint not_equal Pin Pout;
  8027. end;
  8028. icon bg bottom
  8029. figures
  8030. rectangle 1016 216 1080 264 color 0 fill 8454041;
  8031. text 'Link' 1048 240 color 0 'Clear Sans' 16;
  8032. terminals
  8033. Hin 1016 256 fixed;
  8034. Hout 1080 256 fixed;
  8035. Pin 1080 224 fixed;
  8036. Pout 1016 224 fixed;
  8037. end;
  8038. implementation eq
  8039. parameters
  8040. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  8041. variables
  8042. real Hab[4,4];
  8043. real AdHab[6,6];
  8044. real R[3,3];
  8045. real omega[3];
  8046. initialequations
  8047. omega = offset[1:3];
  8048. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8049. Hab = homogeneous(R,offset[4:6]);
  8050. AdHab = Adjoint(Hab);
  8051. equations
  8052. Hout = Hin * Hab;
  8053. Pout.e = transpose(AdHab) * Pin.e;
  8054. Pin.f = AdHab * Pout.f;
  8055. implementation_end;
  8056. Link15 1360 240
  8057. description '<Information>
  8058. <Description>
  8059. <Version>4.8</Version>
  8060. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8061. <IsMainModel>1</IsMainModel>
  8062. <KeepParameterValues>False</KeepParameterValues>
  8063. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8064. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8065. </Description>
  8066. </Information>';
  8067. type 'Submodel-Equation'
  8068. ports
  8069. signal in Hin [4,4];
  8070. signal out Hout [4,4];
  8071. power in Pin [6,1];
  8072. power out Pout [6,1];
  8073. restrictions
  8074. causality constraint not_equal Pin Pout;
  8075. end;
  8076. icon bg bottom
  8077. figures
  8078. rectangle 1328 216 1392 264 color 0 fill 8454041;
  8079. text 'Link' 1360 240 color 0 'Clear Sans' 16;
  8080. terminals
  8081. Hin 1328 256 fixed;
  8082. Hout 1392 256 fixed;
  8083. Pin 1392 224 fixed;
  8084. Pout 1328 224 fixed;
  8085. end;
  8086. implementation eq
  8087. parameters
  8088. real offset[6]= [0;0;0;-0.00795;0;0]; //coordinates of joint_1
  8089. variables
  8090. real Hab[4,4];
  8091. real AdHab[6,6];
  8092. real R[3,3];
  8093. real omega[3];
  8094. initialequations
  8095. omega = offset[1:3];
  8096. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8097. Hab = homogeneous(R,offset[4:6]);
  8098. AdHab = Adjoint(Hab);
  8099. equations
  8100. Hout = Hin * Hab;
  8101. Pout.e = transpose(AdHab) * Pin.e;
  8102. Pin.f = AdHab * Pout.f;
  8103. implementation_end;
  8104. Link2 1168 240
  8105. description '<Information>
  8106. <Description>
  8107. <Version>4.8</Version>
  8108. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8109. <IsMainModel>1</IsMainModel>
  8110. <KeepParameterValues>False</KeepParameterValues>
  8111. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8112. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8113. </Description>
  8114. </Information>';
  8115. type 'Submodel-Equation'
  8116. ports
  8117. signal in Hin [4,4];
  8118. signal out Hout [4,4];
  8119. power in Pin [6,1];
  8120. power out Pout [6,1];
  8121. restrictions
  8122. causality constraint not_equal Pin Pout;
  8123. end;
  8124. icon bg bottom
  8125. figures
  8126. rectangle 1136 216 1200 264 color 0 fill 8454041;
  8127. text 'Link' 1168 240 color 0 'Clear Sans' 16;
  8128. terminals
  8129. Hin 1136 256 fixed;
  8130. Hout 1200 256 fixed;
  8131. Pin 1200 224 fixed;
  8132. Pout 1136 224 fixed;
  8133. end;
  8134. implementation eq
  8135. parameters
  8136. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  8137. variables
  8138. real Hab[4,4];
  8139. real AdHab[6,6];
  8140. real R[3,3];
  8141. real omega[3];
  8142. initialequations
  8143. omega = offset[1:3];
  8144. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8145. Hab = homogeneous(R,offset[4:6]);
  8146. AdHab = Adjoint(Hab);
  8147. equations
  8148. Hout = Hin * Hab;
  8149. Pout.e = transpose(AdHab) * Pin.e;
  8150. Pin.f = AdHab * Pout.f;
  8151. implementation_end;
  8152. Link3 1472 240
  8153. description '<Information>
  8154. <Description>
  8155. <Version>4.8</Version>
  8156. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8157. <IsMainModel>1</IsMainModel>
  8158. <KeepParameterValues>False</KeepParameterValues>
  8159. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8160. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8161. </Description>
  8162. </Information>';
  8163. type 'Submodel-Equation'
  8164. ports
  8165. signal in Hin [4,4];
  8166. signal out Hout [4,4];
  8167. power in Pin [6,1];
  8168. power out Pout [6,1];
  8169. restrictions
  8170. causality constraint not_equal Pin Pout;
  8171. end;
  8172. icon bg bottom
  8173. figures
  8174. rectangle 1440 216 1504 264 color 0 fill 8454041;
  8175. text 'Link' 1472 240 color 0 'Clear Sans' 16;
  8176. terminals
  8177. Hin 1440 256 fixed;
  8178. Hout 1504 256 fixed;
  8179. Pin 1504 224 fixed;
  8180. Pout 1440 224 fixed;
  8181. end;
  8182. implementation eq
  8183. parameters
  8184. real offset[6]= [0;0;0;-0.00795;0;0]; //coordinates of joint_1
  8185. variables
  8186. real Hab[4,4];
  8187. real AdHab[6,6];
  8188. real R[3,3];
  8189. real omega[3];
  8190. initialequations
  8191. omega = offset[1:3];
  8192. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8193. Hab = homogeneous(R,offset[4:6]);
  8194. AdHab = Adjoint(Hab);
  8195. equations
  8196. Hout = Hin * Hab;
  8197. Pout.e = transpose(AdHab) * Pin.e;
  8198. Pin.f = AdHab * Pout.f;
  8199. implementation_end;
  8200. plug Hin 224 256;
  8201. plug Pin 1584 224;
  8202. plug Pout 192 224;
  8203. Splitter1 680 256
  8204. description '<Description><Version>4.0</Version>
  8205. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  8206. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  8207. <IsMainModel>1</IsMainModel>
  8208. <KeepParameterValues>False</KeepParameterValues>
  8209. </Description>';
  8210. knot Splitter
  8211. ports
  8212. signal knot duplicatable out output [4,4];
  8213. signal knot in input [4,4];
  8214. end;
  8215. icon bg ellipse
  8216. figures
  8217. ellipse 676.8 252.8 683.2 259.2 color -1 fill 0;
  8218. ellipse 675.7 251.7 684.3 260.3 color -1;
  8219. terminals
  8220. input 680 256 fixed;
  8221. end;
  8222. implementation eq
  8223. equations
  8224. collect (output) = input;
  8225. implementation_end;
  8226. Splitter2 376 256
  8227. description '<Description><Version>4.0</Version>
  8228. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  8229. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  8230. <IsMainModel>1</IsMainModel>
  8231. <KeepParameterValues>False</KeepParameterValues>
  8232. </Description>';
  8233. knot Splitter
  8234. ports
  8235. signal knot duplicatable out output [4,4];
  8236. signal knot in input [4,4];
  8237. end;
  8238. icon bg ellipse
  8239. figures
  8240. ellipse 372.8 252.8 379.2 259.2 color -1 fill 0;
  8241. ellipse 371.7 251.7 380.3 260.3 color -1;
  8242. terminals
  8243. input 376 256 fixed;
  8244. end;
  8245. implementation eq
  8246. equations
  8247. collect (output) = input;
  8248. implementation_end;
  8249. Splitter3 1104 256
  8250. description '<Description><Version>4.0</Version>
  8251. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  8252. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  8253. <IsMainModel>1</IsMainModel>
  8254. <KeepParameterValues>False</KeepParameterValues>
  8255. </Description>';
  8256. knot Splitter
  8257. ports
  8258. signal knot duplicatable out output [4,4];
  8259. signal knot in input [4,4];
  8260. end;
  8261. icon bg ellipse
  8262. figures
  8263. ellipse 1100.8 252.8 1107.2 259.2 color -1 fill 0;
  8264. ellipse 1099.7 251.7 1108.3 260.3 color -1;
  8265. terminals
  8266. input 1104 256 fixed;
  8267. end;
  8268. implementation eq
  8269. equations
  8270. collect (output) = input;
  8271. implementation_end;
  8272. Splitter4 1416 256
  8273. description '<Description><Version>4.0</Version>
  8274. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  8275. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  8276. <IsMainModel>1</IsMainModel>
  8277. <KeepParameterValues>False</KeepParameterValues>
  8278. </Description>';
  8279. knot Splitter
  8280. ports
  8281. signal knot duplicatable out output [4,4];
  8282. signal knot in input [4,4];
  8283. end;
  8284. icon bg ellipse
  8285. figures
  8286. ellipse 1412.8 252.8 1419.2 259.2 color -1 fill 0;
  8287. ellipse 1411.7 251.7 1420.3 260.3 color -1;
  8288. terminals
  8289. input 1416 256 fixed;
  8290. end;
  8291. implementation eq
  8292. equations
  8293. collect (output) = input;
  8294. implementation_end;
  8295. end;
  8296. connections
  8297. Hin -> Link12\Hin;
  8298. Joint_dynF1\output => Joint\Pdiff;
  8299. Joint_dynF2\output => Joint1\Pdiff;
  8300. Joint_dynF3\output => Joint2\Pdiff;
  8301. Joint\Hout -> Link13\Hin;
  8302. Joint\Pin <= Link13\Pout;
  8303. Joint1\Hout -> Link14\Hin;
  8304. Joint1\Pin <= Link14\Pout;
  8305. Joint2\Hout -> Link15\Hin;
  8306. Joint2\Pin <= Link15\Pout;
  8307. Link1\Hout -> Joint1\Hin;
  8308. Link1\Pin <= Joint1\Pout;
  8309. Link12\Hout -> Splitter2\input;
  8310. Link12\Pin <= Joint\Pout;
  8311. Link12\Pout => Pout;
  8312. Link13\Hout -> Splitter1\input;
  8313. Link13\Pin <= Link1\Pout;
  8314. Link14\Hout -> Splitter3\input;
  8315. Link14\Pin <= Link2\Pout;
  8316. Link15\Hout -> Splitter4\input;
  8317. Link15\Pin <= Link3\Pout;
  8318. Link2\Hout -> Joint2\Hin;
  8319. Link2\Pin <= Joint2\Pout;
  8320. Link3\Pin <= Pin;
  8321. Splitter1\output -> Body_Lift2\input;
  8322. Splitter1\output -> Link1\Hin;
  8323. Splitter2\output -> Body_Lift1\input;
  8324. Splitter2\output -> Joint\Hin;
  8325. Splitter3\output -> Body_Lift3\input;
  8326. Splitter3\output -> Link2\Hin;
  8327. Splitter4\output -> Body_Lift4\input;
  8328. Splitter4\output -> Link3\Hin;
  8329. end;
  8330. implementation_end;
  8331. Link1 632 128
  8332. description '<Information>
  8333. <Description>
  8334. <Version>4.8</Version>
  8335. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8336. <IsMainModel>1</IsMainModel>
  8337. <KeepParameterValues>False</KeepParameterValues>
  8338. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8339. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8340. </Description>
  8341. </Information>';
  8342. type 'Submodel-Equation'
  8343. ports
  8344. signal in Hin [4,4];
  8345. signal out Hout [4,4];
  8346. power in Pin [6,1];
  8347. power out Pout [6,1];
  8348. restrictions
  8349. causality constraint not_equal Pin Pout;
  8350. end;
  8351. icon bg bottom
  8352. figures
  8353. rectangle 600 104 664 152 color 0 fill 8454041;
  8354. text 'Link' 632 128 color 0 'Clear Sans' 16;
  8355. terminals
  8356. Hin 600 144 fixed;
  8357. Hout 664 144 fixed;
  8358. Pin 664 112 fixed;
  8359. Pout 600 112 fixed;
  8360. end;
  8361. implementation eq
  8362. parameters
  8363. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  8364. variables
  8365. real Hab[4,4];
  8366. real AdHab[6,6];
  8367. real R[3,3];
  8368. real omega[3];
  8369. initialequations
  8370. omega = offset[1:3];
  8371. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8372. Hab = homogeneous(R,offset[4:6]);
  8373. AdHab = Adjoint(Hab);
  8374. equations
  8375. Hout = Hin * Hab;
  8376. Pout.e = transpose(AdHab) * Pin.e;
  8377. Pin.f = AdHab * Pout.f;
  8378. implementation_end;
  8379. Link10 944 128
  8380. description '<Information>
  8381. <Description>
  8382. <Version>4.8</Version>
  8383. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8384. <IsMainModel>1</IsMainModel>
  8385. <KeepParameterValues>False</KeepParameterValues>
  8386. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8387. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8388. </Description>
  8389. </Information>';
  8390. type 'Submodel-Equation'
  8391. ports
  8392. signal in Hin [4,4];
  8393. signal out Hout [4,4];
  8394. power in Pin [6,1];
  8395. power out Pout [6,1];
  8396. restrictions
  8397. causality constraint not_equal Pin Pout;
  8398. end;
  8399. icon bg bottom
  8400. figures
  8401. rectangle 912 104 976 152 color 0 fill 8454041;
  8402. text 'Link' 944 128 color 0 'Clear Sans' 16;
  8403. terminals
  8404. Hin 912 144 fixed;
  8405. Hout 976 144 fixed;
  8406. Pin 976 112 fixed;
  8407. Pout 912 112 fixed;
  8408. end;
  8409. implementation eq
  8410. parameters
  8411. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  8412. variables
  8413. real Hab[4,4];
  8414. real AdHab[6,6];
  8415. real R[3,3];
  8416. real omega[3];
  8417. initialequations
  8418. omega = offset[1:3];
  8419. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8420. Hab = homogeneous(R,offset[4:6]);
  8421. AdHab = Adjoint(Hab);
  8422. equations
  8423. Hout = Hin * Hab;
  8424. Pout.e = transpose(AdHab) * Pin.e;
  8425. Pin.f = AdHab * Pout.f;
  8426. implementation_end;
  8427. Link11 784 128
  8428. description '<Information>
  8429. <Description>
  8430. <Version>4.8</Version>
  8431. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8432. <IsMainModel>1</IsMainModel>
  8433. <KeepParameterValues>False</KeepParameterValues>
  8434. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8435. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8436. </Description>
  8437. </Information>';
  8438. type 'Submodel-Equation'
  8439. ports
  8440. signal in Hin [4,4];
  8441. signal out Hout [4,4];
  8442. power in Pin [6,1];
  8443. power out Pout [6,1];
  8444. restrictions
  8445. causality constraint not_equal Pin Pout;
  8446. end;
  8447. icon bg bottom
  8448. figures
  8449. rectangle 752 104 816 152 color 0 fill 8454041;
  8450. text 'Link' 784 128 color 0 'Clear Sans' 16;
  8451. terminals
  8452. Hin 752 144 fixed;
  8453. Hout 816 144 fixed;
  8454. Pin 816 112 fixed;
  8455. Pout 752 112 fixed;
  8456. end;
  8457. implementation eq
  8458. parameters
  8459. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  8460. variables
  8461. real Hab[4,4];
  8462. real AdHab[6,6];
  8463. real R[3,3];
  8464. real omega[3];
  8465. initialequations
  8466. omega = offset[1:3];
  8467. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8468. Hab = homogeneous(R,offset[4:6]);
  8469. AdHab = Adjoint(Hab);
  8470. equations
  8471. Hout = Hin * Hab;
  8472. Pout.e = transpose(AdHab) * Pin.e;
  8473. Pin.f = AdHab * Pout.f;
  8474. implementation_end;
  8475. Link2 384 128
  8476. description '<Information>
  8477. <Description>
  8478. <Version>4.8</Version>
  8479. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8480. <IsMainModel>1</IsMainModel>
  8481. <KeepParameterValues>False</KeepParameterValues>
  8482. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8483. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8484. </Description>
  8485. </Information>';
  8486. type 'Submodel-Equation'
  8487. ports
  8488. signal in Hin [4,4];
  8489. signal out Hout [4,4];
  8490. power in Pin [6,1];
  8491. power out Pout [6,1];
  8492. restrictions
  8493. causality constraint not_equal Pin Pout;
  8494. end;
  8495. icon bg bottom
  8496. figures
  8497. rectangle 352 104 416 152 color 0 fill 8454041;
  8498. text 'Link' 384 128 color 0 'Clear Sans' 16;
  8499. terminals
  8500. Hin 352 144 fixed;
  8501. Hout 416 144 fixed;
  8502. Pin 416 112 fixed;
  8503. Pout 352 112 fixed;
  8504. end;
  8505. implementation eq
  8506. parameters
  8507. real offset[6]= [0;0;0;0;0.025;0]; //coordinates of joint_1
  8508. variables
  8509. real Hab[4,4];
  8510. real AdHab[6,6];
  8511. real R[3,3];
  8512. real omega[3];
  8513. initialequations
  8514. omega = offset[1:3];
  8515. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8516. Hab = homogeneous(R,offset[4:6]);
  8517. AdHab = Adjoint(Hab);
  8518. equations
  8519. Hout = Hin * Hab;
  8520. Pout.e = transpose(AdHab) * Pin.e;
  8521. Pin.f = AdHab * Pout.f;
  8522. implementation_end;
  8523. Link3 560 424
  8524. description '<Information>
  8525. <Description>
  8526. <Version>4.8</Version>
  8527. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8528. <IsMainModel>1</IsMainModel>
  8529. <KeepParameterValues>False</KeepParameterValues>
  8530. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8531. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8532. </Description>
  8533. </Information>';
  8534. type 'Submodel-Equation'
  8535. ports
  8536. signal in Hin [4,4];
  8537. signal out Hout [4,4];
  8538. power in Pin [6,1];
  8539. power out Pout [6,1];
  8540. restrictions
  8541. causality constraint not_equal Pin Pout;
  8542. end;
  8543. icon bg bottom
  8544. figures
  8545. rectangle 536 392 584 456 color 0 fill 8454041;
  8546. text 'Link' 560 424 color 0 'Clear Sans' 16;
  8547. terminals
  8548. Hin 576 392 fixed;
  8549. Hout 576 456 fixed;
  8550. Pin 544 456 fixed;
  8551. Pout 544 392 fixed;
  8552. end;
  8553. implementation eq
  8554. parameters
  8555. real offset[6]= [0;0;0;0;0;-0.0325]; //coordinates of joint_1
  8556. variables
  8557. real Hab[4,4];
  8558. real AdHab[6,6];
  8559. real R[3,3];
  8560. real omega[3];
  8561. initialequations
  8562. omega = offset[1:3];
  8563. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8564. Hab = homogeneous(R,offset[4:6]);
  8565. AdHab = Adjoint(Hab);
  8566. equations
  8567. Hout = Hin * Hab;
  8568. Pout.e = transpose(AdHab) * Pin.e;
  8569. Pin.f = AdHab * Pout.f;
  8570. implementation_end;
  8571. Link4 200 256
  8572. description '<Information>
  8573. <Description>
  8574. <Version>4.8</Version>
  8575. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8576. <IsMainModel>1</IsMainModel>
  8577. <KeepParameterValues>False</KeepParameterValues>
  8578. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8579. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8580. </Description>
  8581. </Information>';
  8582. type 'Submodel-Equation'
  8583. ports
  8584. signal in Hin [4,4];
  8585. signal out Hout [4,4];
  8586. power in Pin [6,1];
  8587. power out Pout [6,1];
  8588. restrictions
  8589. causality constraint not_equal Pin Pout;
  8590. end;
  8591. icon bg bottom
  8592. figures
  8593. rectangle 176 224 224 288 color 0 fill 8454041;
  8594. text 'Link' 200 256 color 0 'Clear Sans' 16;
  8595. terminals
  8596. Hin 216 288 fixed;
  8597. Hout 216 224 fixed;
  8598. Pin 184 224 fixed;
  8599. Pout 184 288 fixed;
  8600. end;
  8601. implementation eq
  8602. parameters
  8603. real offset[6]= [0;0;0;0;0;0.0325]; //coordinates of joint_1
  8604. variables
  8605. real Hab[4,4];
  8606. real AdHab[6,6];
  8607. real R[3,3];
  8608. real omega[3];
  8609. initialequations
  8610. omega = offset[1:3];
  8611. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8612. Hab = homogeneous(R,offset[4:6]);
  8613. AdHab = Adjoint(Hab);
  8614. equations
  8615. Hout = Hin * Hab;
  8616. Pout.e = transpose(AdHab) * Pin.e;
  8617. Pin.f = AdHab * Pout.f;
  8618. implementation_end;
  8619. Link5 408 632
  8620. description '<Information>
  8621. <Description>
  8622. <Version>4.8</Version>
  8623. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8624. <IsMainModel>1</IsMainModel>
  8625. <KeepParameterValues>False</KeepParameterValues>
  8626. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8627. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8628. </Description>
  8629. </Information>';
  8630. type 'Submodel-Equation'
  8631. ports
  8632. signal in Hin [4,4];
  8633. signal out Hout [4,4];
  8634. power in Pin [6,1];
  8635. power out Pout [6,1];
  8636. restrictions
  8637. causality constraint not_equal Pin Pout;
  8638. end;
  8639. icon bg bottom
  8640. figures
  8641. rectangle 376 608 440 656 color 0 fill 8454041;
  8642. text 'Link' 408 632 color 0 'Clear Sans' 16;
  8643. terminals
  8644. Hin 440 616 fixed;
  8645. Hout 376 616 fixed;
  8646. Pin 376 648 fixed;
  8647. Pout 440 648 fixed;
  8648. end;
  8649. implementation eq
  8650. parameters
  8651. real offset[6]= [0;0;0;0;-0.0125;0]; //coordinates of joint_1
  8652. variables
  8653. real Hab[4,4];
  8654. real AdHab[6,6];
  8655. real R[3,3];
  8656. real omega[3];
  8657. initialequations
  8658. omega = offset[1:3];
  8659. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8660. Hab = homogeneous(R,offset[4:6]);
  8661. AdHab = Adjoint(Hab);
  8662. equations
  8663. Hout = Hin * Hab;
  8664. Pout.e = transpose(AdHab) * Pin.e;
  8665. Pin.f = AdHab * Pout.f;
  8666. implementation_end;
  8667. Link6 560 280
  8668. description '<Information>
  8669. <Description>
  8670. <Version>4.8</Version>
  8671. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8672. <IsMainModel>1</IsMainModel>
  8673. <KeepParameterValues>False</KeepParameterValues>
  8674. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8675. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8676. </Description>
  8677. </Information>';
  8678. type 'Submodel-Equation'
  8679. ports
  8680. signal in Hin [4,4];
  8681. signal out Hout [4,4];
  8682. power in Pin [6,1];
  8683. power out Pout [6,1];
  8684. restrictions
  8685. causality constraint not_equal Pin Pout;
  8686. end;
  8687. icon bg bottom
  8688. figures
  8689. rectangle 536 248 584 312 color 0 fill 8454041;
  8690. text 'Link' 560 280 color 0 'Clear Sans' 16;
  8691. terminals
  8692. Hin 576 248 fixed;
  8693. Hout 576 312 fixed;
  8694. Pin 544 312 fixed;
  8695. Pout 544 248 fixed;
  8696. end;
  8697. implementation eq
  8698. parameters
  8699. real offset[6]= [0;0;0;0;0;-0.0325]; //coordinates of joint_1
  8700. variables
  8701. real Hab[4,4];
  8702. real AdHab[6,6];
  8703. real R[3,3];
  8704. real omega[3];
  8705. initialequations
  8706. omega = offset[1:3];
  8707. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8708. Hab = homogeneous(R,offset[4:6]);
  8709. AdHab = Adjoint(Hab);
  8710. equations
  8711. Hout = Hin * Hab;
  8712. Pout.e = transpose(AdHab) * Pin.e;
  8713. Pin.f = AdHab * Pout.f;
  8714. implementation_end;
  8715. Link7 272 632
  8716. description '<Information>
  8717. <Description>
  8718. <Version>4.8</Version>
  8719. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8720. <IsMainModel>1</IsMainModel>
  8721. <KeepParameterValues>False</KeepParameterValues>
  8722. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8723. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8724. </Description>
  8725. </Information>';
  8726. type 'Submodel-Equation'
  8727. ports
  8728. signal in Hin [4,4];
  8729. signal out Hout [4,4];
  8730. power in Pin [6,1];
  8731. power out Pout [6,1];
  8732. restrictions
  8733. causality constraint not_equal Pin Pout;
  8734. end;
  8735. icon bg bottom
  8736. figures
  8737. rectangle 240 608 304 656 color 0 fill 8454041;
  8738. text 'Link' 272 632 color 0 'Clear Sans' 16;
  8739. terminals
  8740. Hin 304 616 fixed;
  8741. Hout 240 616 fixed;
  8742. Pin 240 648 fixed;
  8743. Pout 304 648 fixed;
  8744. end;
  8745. implementation eq
  8746. parameters
  8747. real offset[6]= [0;0;0;0;-0.0125;0]; //coordinates of joint_1
  8748. variables
  8749. real Hab[4,4];
  8750. real AdHab[6,6];
  8751. real R[3,3];
  8752. real omega[3];
  8753. initialequations
  8754. omega = offset[1:3];
  8755. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8756. Hab = homogeneous(R,offset[4:6]);
  8757. AdHab = Adjoint(Hab);
  8758. equations
  8759. Hout = Hin * Hab;
  8760. Pout.e = transpose(AdHab) * Pin.e;
  8761. Pin.f = AdHab * Pout.f;
  8762. implementation_end;
  8763. Link8 1360 128
  8764. description '<Information>
  8765. <Description>
  8766. <Version>4.8</Version>
  8767. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8768. <IsMainModel>1</IsMainModel>
  8769. <KeepParameterValues>False</KeepParameterValues>
  8770. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8771. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8772. </Description>
  8773. </Information>';
  8774. type 'Submodel-Equation'
  8775. ports
  8776. signal in Hin [4,4];
  8777. signal out Hout [4,4];
  8778. power in Pin [6,1];
  8779. power out Pout [6,1];
  8780. restrictions
  8781. causality constraint not_equal Pin Pout;
  8782. end;
  8783. icon bg bottom
  8784. figures
  8785. rectangle 1328 104 1392 152 color 0 fill 8454041;
  8786. text 'Link' 1360 128 color 0 'Clear Sans' 16;
  8787. terminals
  8788. Hin 1328 144 fixed;
  8789. Hout 1392 144 fixed;
  8790. Pin 1392 112 fixed;
  8791. Pout 1328 112 fixed;
  8792. end;
  8793. implementation eq
  8794. parameters
  8795. real offset[6]= [0;0;0;0;0.0125;0]; //coordinates of joint_1
  8796. variables
  8797. real Hab[4,4];
  8798. real AdHab[6,6];
  8799. real R[3,3];
  8800. real omega[3];
  8801. initialequations
  8802. omega = offset[1:3];
  8803. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8804. Hab = homogeneous(R,offset[4:6]);
  8805. AdHab = Adjoint(Hab);
  8806. equations
  8807. Hout = Hin * Hab;
  8808. Pout.e = transpose(AdHab) * Pin.e;
  8809. Pin.f = AdHab * Pout.f;
  8810. implementation_end;
  8811. Link9 200 400
  8812. description '<Information>
  8813. <Description>
  8814. <Version>4.8</Version>
  8815. <LibraryPath>Bond Graph\MR\link-v3.emx</LibraryPath>
  8816. <IsMainModel>1</IsMainModel>
  8817. <KeepParameterValues>False</KeepParameterValues>
  8818. <TimeStamp>2020-7-21 11:14:41</TimeStamp>
  8819. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  8820. </Description>
  8821. </Information>';
  8822. type 'Submodel-Equation'
  8823. ports
  8824. signal in Hin [4,4];
  8825. signal out Hout [4,4];
  8826. power in Pin [6,1];
  8827. power out Pout [6,1];
  8828. restrictions
  8829. causality constraint not_equal Pin Pout;
  8830. end;
  8831. icon bg bottom
  8832. figures
  8833. rectangle 176 368 224 432 color 0 fill 8454041;
  8834. text 'Link' 200 400 color 0 'Clear Sans' 16;
  8835. terminals
  8836. Hin 216 432 fixed;
  8837. Hout 216 368 fixed;
  8838. Pin 184 368 fixed;
  8839. Pout 184 432 fixed;
  8840. end;
  8841. implementation eq
  8842. parameters
  8843. real offset[6]= [0;0;0;0;0;0.0325]; //coordinates of joint_1
  8844. variables
  8845. real Hab[4,4];
  8846. real AdHab[6,6];
  8847. real R[3,3];
  8848. real omega[3];
  8849. initialequations
  8850. omega = offset[1:3];
  8851. R = dll('EulerAngles.dll','RotationMatrixFromEulXYZs',omega);
  8852. Hab = homogeneous(R,offset[4:6]);
  8853. AdHab = Adjoint(Hab);
  8854. equations
  8855. Hout = Hin * Hab;
  8856. Pout.e = transpose(AdHab) * Pin.e;
  8857. Pin.f = AdHab * Pout.f;
  8858. implementation_end;
  8859. Negate2 608 768
  8860. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  8861. <LibraryPath>Signal\Block Diagram\Negate.emx</LibraryPath>
  8862. <TimeStamp>2007-9-26 12:14:11</TimeStamp>
  8863. </Description>';
  8864. type Negate
  8865. ports
  8866. signal in input;
  8867. signal out output;
  8868. end;
  8869. icon bg bottom
  8870. figures
  8871. rectangle 592 752 624 784 color 0 fill 15132390;
  8872. text '-1' 608 768 color 16711680 16 bold;
  8873. end;
  8874. implementation eq
  8875. equations
  8876. output = - input;
  8877. implementation_end;
  8878. OneJunction1 328 648
  8879. description '<Information>
  8880. <Description>
  8881. <Version>4.2</Version>
  8882. <IsMainModel>1</IsMainModel>
  8883. <KeepParameterValues>False</KeepParameterValues>
  8884. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  8885. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  8886. </Description>
  8887. </Information>';
  8888. knot OneJunction
  8889. ports
  8890. power knot duplicatable none p [6,1];
  8891. signal knot out flow [6,1];
  8892. restrictions
  8893. causality constraint one_out p;
  8894. end;
  8895. icon bg
  8896. figures
  8897. text '1' 328 648 color 0 18 bold;
  8898. end;
  8899. implementation eq
  8900. equations
  8901. sum (direct (p.e)) = 0;
  8902. equal (collect (p.f));
  8903. flow = first (p.f);
  8904. implementation_end;
  8905. OneJunction2 544 368
  8906. description '<Information>
  8907. <Description>
  8908. <Version>4.2</Version>
  8909. <IsMainModel>1</IsMainModel>
  8910. <KeepParameterValues>False</KeepParameterValues>
  8911. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  8912. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  8913. </Description>
  8914. </Information>';
  8915. knot OneJunction
  8916. ports
  8917. power knot duplicatable none p [6,1];
  8918. signal knot out flow [6,1];
  8919. restrictions
  8920. causality constraint one_out p;
  8921. end;
  8922. icon bg
  8923. figures
  8924. text '1' 544 368 color 0 18 bold;
  8925. end;
  8926. implementation eq
  8927. equations
  8928. sum (direct (p.e)) = 0;
  8929. equal (collect (p.f));
  8930. flow = first (p.f);
  8931. implementation_end;
  8932. OneJunction3 544 112
  8933. description '<Information>
  8934. <Description>
  8935. <Version>4.2</Version>
  8936. <IsMainModel>1</IsMainModel>
  8937. <KeepParameterValues>False</KeepParameterValues>
  8938. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  8939. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  8940. </Description>
  8941. </Information>';
  8942. knot OneJunction
  8943. ports
  8944. power knot duplicatable none p [6,1];
  8945. signal knot out flow [6,1];
  8946. restrictions
  8947. causality constraint one_out p;
  8948. end;
  8949. icon bg
  8950. figures
  8951. text '1' 544 112 color 0 18 bold;
  8952. end;
  8953. implementation eq
  8954. equations
  8955. sum (direct (p.e)) = 0;
  8956. equal (collect (p.f));
  8957. flow = first (p.f);
  8958. implementation_end;
  8959. OneJunction4 184 344
  8960. description '<Information>
  8961. <Description>
  8962. <Version>4.2</Version>
  8963. <IsMainModel>1</IsMainModel>
  8964. <KeepParameterValues>False</KeepParameterValues>
  8965. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  8966. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  8967. </Description>
  8968. </Information>';
  8969. knot OneJunction
  8970. ports
  8971. power knot duplicatable none p [6,1];
  8972. signal knot out flow [6,1];
  8973. restrictions
  8974. causality constraint one_out p;
  8975. end;
  8976. icon bg
  8977. figures
  8978. text '1' 184 344 color 0 18 bold;
  8979. end;
  8980. implementation eq
  8981. equations
  8982. sum (direct (p.e)) = 0;
  8983. equal (collect (p.f));
  8984. flow = first (p.f);
  8985. implementation_end;
  8986. OneJunction5 600 648
  8987. description '<Information>
  8988. <Description>
  8989. <Version>4.2</Version>
  8990. <IsMainModel>1</IsMainModel>
  8991. <KeepParameterValues>False</KeepParameterValues>
  8992. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  8993. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  8994. </Description>
  8995. </Information>';
  8996. knot OneJunction
  8997. ports
  8998. power knot duplicatable none p [6,1];
  8999. signal knot out flow [6,1];
  9000. restrictions
  9001. causality constraint one_out p;
  9002. end;
  9003. icon bg
  9004. figures
  9005. text '1' 600 648 color 0 18 bold;
  9006. end;
  9007. implementation eq
  9008. equations
  9009. sum (direct (p.e)) = 0;
  9010. equal (collect (p.f));
  9011. flow = first (p.f);
  9012. implementation_end;
  9013. OneJunction6 696 112
  9014. description '<Information>
  9015. <Description>
  9016. <Version>4.2</Version>
  9017. <IsMainModel>1</IsMainModel>
  9018. <KeepParameterValues>False</KeepParameterValues>
  9019. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  9020. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  9021. </Description>
  9022. </Information>';
  9023. knot OneJunction
  9024. ports
  9025. power knot duplicatable none p [6,1];
  9026. signal knot out flow [6,1];
  9027. restrictions
  9028. causality constraint one_out p;
  9029. end;
  9030. icon bg
  9031. figures
  9032. text '1' 696 112 color 0 18 bold;
  9033. end;
  9034. implementation eq
  9035. equations
  9036. sum (direct (p.e)) = 0;
  9037. equal (collect (p.f));
  9038. flow = first (p.f);
  9039. implementation_end;
  9040. OneJunction7 1264 112
  9041. description '<Information>
  9042. <Description>
  9043. <Version>4.2</Version>
  9044. <IsMainModel>1</IsMainModel>
  9045. <KeepParameterValues>False</KeepParameterValues>
  9046. <LibraryPath>Bond Graph\OneJunction.emx</LibraryPath>
  9047. <TimeStamp>2011-11-29 16:17:51</TimeStamp>
  9048. </Description>
  9049. </Information>';
  9050. knot OneJunction
  9051. ports
  9052. power knot duplicatable none p [6,1];
  9053. signal knot out flow [6,1];
  9054. restrictions
  9055. causality constraint one_out p;
  9056. end;
  9057. icon bg
  9058. figures
  9059. text '1' 1264 112 color 0 18 bold;
  9060. end;
  9061. implementation eq
  9062. equations
  9063. sum (direct (p.e)) = 0;
  9064. equal (collect (p.f));
  9065. flow = first (p.f);
  9066. implementation_end;
  9067. rectanglepath 856 768
  9068. description '<Information>
  9069. <Description>
  9070. <Version>4.8</Version>
  9071. <LibraryPath>setpoint\rectanglepath.emx</LibraryPath>
  9072. <IsMainModel>1</IsMainModel>
  9073. <KeepParameterValues>False</KeepParameterValues>
  9074. <TimeStamp>2020-7-10 12:30:38</TimeStamp>
  9075. <AllowLibraryUpdate>False</AllowLibraryUpdate>
  9076. </Description>
  9077. </Information>';
  9078. type 'Submodel-Equation'
  9079. ports
  9080. signal out output [2,1];
  9081. end;
  9082. icon bg
  9083. figures
  9084. rectangle 800 752 912 784 color 0 fill 15132390;
  9085. text 'name' 856 768 color 0 'Clear Sans' 16;
  9086. end;
  9087. implementation eq
  9088. /*
  9089. This will generate coordinates for the box that has to be drawn
  9090. */
  9091. parameters
  9092. real w = 0.07 {m} ;
  9093. real h = 0.05 {m};
  9094. real t = 1 {s};
  9095. real origin[2] = [0.01;0.03] {m};
  9096. variables
  9097. real v {m/s};
  9098. real t_w {s};
  9099. real t_h {s};
  9100. real period {s};
  9101. boolean y;
  9102. initialequations
  9103. v = (2*w + 2*h)/t;
  9104. t_w = w / v;
  9105. t_h = h / v;
  9106. code
  9107. y = frequencyevent (t,0);
  9108. period = t - (time - floor(time / t) * t);
  9109. if period < t_w or time < t then
  9110. output = origin;
  9111. else
  9112. if period < t_w + t_h then
  9113. output = origin + [w;0];
  9114. else
  9115. if period < 2 * t_w + t_h then
  9116. output = origin + [w;h];
  9117. else
  9118. output = origin + [0;h];
  9119. end;
  9120. end;
  9121. end;
  9122. //output[1] = v*(ramp(period+t_h) - ramp(period + t_w+t_h) - ramp(period + t_w + t_h + t_h)) + origin[1];
  9123. //output[2] = v*(ramp(period) - ramp(period + t_h) - ramp(period + t_h + t_w) + ramp(period + 2 * t_h + t_w))+ origin[2];
  9124. implementation_end;
  9125. Splitter1 360 616
  9126. description '<Description><Version>4.0</Version>
  9127. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9128. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9129. <IsMainModel>1</IsMainModel>
  9130. <KeepParameterValues>False</KeepParameterValues>
  9131. </Description>';
  9132. knot Splitter
  9133. ports
  9134. signal knot duplicatable out output [4,4];
  9135. signal knot in input [4,4];
  9136. end;
  9137. icon bg ellipse
  9138. figures
  9139. ellipse 356.8 612.8 363.2 619.2 color -1 fill 0;
  9140. ellipse 355.7 611.7 364.3 620.3 color -1;
  9141. terminals
  9142. input 360 616 fixed;
  9143. end;
  9144. implementation eq
  9145. equations
  9146. collect (output) = input;
  9147. implementation_end;
  9148. Splitter10 1416 144
  9149. description '<Description><Version>4.0</Version>
  9150. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9151. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9152. <IsMainModel>1</IsMainModel>
  9153. <KeepParameterValues>False</KeepParameterValues>
  9154. </Description>';
  9155. knot Splitter
  9156. ports
  9157. signal knot duplicatable out output [4,4];
  9158. signal knot in input [4,4];
  9159. end;
  9160. icon bg ellipse
  9161. figures
  9162. ellipse 1412.8 140.8 1419.2 147.2 color -1 fill 0;
  9163. ellipse 1411.7 139.7 1420.3 148.3 color -1;
  9164. terminals
  9165. input 1416 144 fixed;
  9166. end;
  9167. implementation eq
  9168. equations
  9169. collect (output) = input;
  9170. implementation_end;
  9171. Splitter11 480 144
  9172. description '<Description><Version>4.0</Version>
  9173. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9174. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9175. <IsMainModel>1</IsMainModel>
  9176. <KeepParameterValues>False</KeepParameterValues>
  9177. </Description>';
  9178. knot Splitter
  9179. ports
  9180. signal knot duplicatable out output [4,4];
  9181. signal knot in input [4,4];
  9182. end;
  9183. icon bg ellipse
  9184. figures
  9185. ellipse 476.8 140.8 483.2 147.2 color -1 fill 0;
  9186. ellipse 475.7 139.7 484.3 148.3 color -1;
  9187. terminals
  9188. input 480 144 fixed;
  9189. end;
  9190. implementation eq
  9191. equations
  9192. collect (output) = input;
  9193. implementation_end;
  9194. Splitter2 576 336
  9195. description '<Description><Version>4.0</Version>
  9196. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9197. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9198. <IsMainModel>1</IsMainModel>
  9199. <KeepParameterValues>False</KeepParameterValues>
  9200. </Description>';
  9201. knot Splitter
  9202. ports
  9203. signal knot duplicatable out output [4,4];
  9204. signal knot in input [4,4];
  9205. end;
  9206. icon bg ellipse
  9207. figures
  9208. ellipse 572.8 332.8 579.2 339.2 color -1 fill 0;
  9209. ellipse 571.7 331.7 580.3 340.3 color -1;
  9210. terminals
  9211. input 576 336 fixed;
  9212. end;
  9213. implementation eq
  9214. equations
  9215. collect (output) = input;
  9216. implementation_end;
  9217. Splitter3 216 312
  9218. description '<Description><Version>4.0</Version>
  9219. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9220. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9221. <IsMainModel>1</IsMainModel>
  9222. <KeepParameterValues>False</KeepParameterValues>
  9223. </Description>';
  9224. knot Splitter
  9225. ports
  9226. signal knot duplicatable out output [4,4];
  9227. signal knot in input [4,4];
  9228. end;
  9229. icon bg ellipse
  9230. figures
  9231. ellipse 212.8 308.8 219.2 315.2 color -1 fill 0;
  9232. ellipse 211.7 307.7 220.3 316.3 color -1;
  9233. terminals
  9234. input 216 312 fixed;
  9235. end;
  9236. implementation eq
  9237. equations
  9238. collect (output) = input;
  9239. implementation_end;
  9240. Splitter4 576 144
  9241. description '<Description><Version>4.0</Version>
  9242. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9243. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9244. <IsMainModel>1</IsMainModel>
  9245. <KeepParameterValues>False</KeepParameterValues>
  9246. </Description>';
  9247. knot Splitter
  9248. ports
  9249. signal knot duplicatable out output [4,4];
  9250. signal knot in input [4,4];
  9251. end;
  9252. icon bg ellipse
  9253. figures
  9254. ellipse 572.8 140.8 579.2 147.2 color -1 fill 0;
  9255. ellipse 571.7 139.7 580.3 148.3 color -1;
  9256. terminals
  9257. input 576 144 fixed;
  9258. end;
  9259. implementation eq
  9260. equations
  9261. collect (output) = input;
  9262. implementation_end;
  9263. Splitter6 728 144
  9264. description '<Description><Version>4.0</Version>
  9265. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9266. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9267. <IsMainModel>1</IsMainModel>
  9268. <KeepParameterValues>False</KeepParameterValues>
  9269. </Description>';
  9270. knot Splitter
  9271. ports
  9272. signal knot duplicatable out output [4,4];
  9273. signal knot in input [4,4];
  9274. end;
  9275. icon bg ellipse
  9276. figures
  9277. ellipse 724.8 140.8 731.2 147.2 color -1 fill 0;
  9278. ellipse 723.7 139.7 732.3 148.3 color -1;
  9279. terminals
  9280. input 728 144 fixed;
  9281. end;
  9282. implementation eq
  9283. equations
  9284. collect (output) = input;
  9285. implementation_end;
  9286. Splitter8 576 472
  9287. description '<Description><Version>4.0</Version>
  9288. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9289. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9290. <IsMainModel>1</IsMainModel>
  9291. <KeepParameterValues>False</KeepParameterValues>
  9292. </Description>';
  9293. knot Splitter
  9294. ports
  9295. signal knot duplicatable out output [4,4];
  9296. signal knot in input [4,4];
  9297. end;
  9298. icon bg ellipse
  9299. figures
  9300. ellipse 572.8 468.8 579.2 475.2 color -1 fill 0;
  9301. ellipse 571.7 467.7 580.3 476.3 color -1;
  9302. terminals
  9303. input 576 472 fixed;
  9304. end;
  9305. implementation eq
  9306. equations
  9307. collect (output) = input;
  9308. implementation_end;
  9309. Splitter9 992 144
  9310. description '<Description><Version>4.0</Version>
  9311. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9312. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9313. <IsMainModel>1</IsMainModel>
  9314. <KeepParameterValues>False</KeepParameterValues>
  9315. </Description>';
  9316. knot Splitter
  9317. ports
  9318. signal knot duplicatable out output [4,4];
  9319. signal knot in input [4,4];
  9320. end;
  9321. icon bg ellipse
  9322. figures
  9323. ellipse 988.8 140.8 995.2 147.2 color -1 fill 0;
  9324. ellipse 987.7 139.7 996.3 148.3 color -1;
  9325. terminals
  9326. input 992 144 fixed;
  9327. end;
  9328. implementation eq
  9329. equations
  9330. collect (output) = input;
  9331. implementation_end;
  9332. stepper_control 712 592
  9333. specifications active 'P_only'
  9334. specification 'default'
  9335. 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
  9336. real max_acceleration = 250 {rad/s2};
  9337. real max_velocity = 25 {rad/s};
  9338. real initial_velocity = 0 {rad/s};
  9339. real initial_angle = -1.570796 {rad};</GlobalRelations></Attributes></Information>';
  9340. type Submodel
  9341. ports
  9342. signal in setpoint {rad} ;
  9343. signal out output {rad} ;
  9344. end;
  9345. icon bg bottom
  9346. figures
  9347. rectangle 648 576 760 608 color 0 fill 15132390;
  9348. text 'name' 704 592 color 0 'Clear Sans' 16;
  9349. end;
  9350. implementation bg
  9351. submodels
  9352. Acceleration_int 648 336
  9353. description '<Information>
  9354. <Description>
  9355. <Version>4.3</Version>
  9356. <IsMainModel>1</IsMainModel>
  9357. <KeepParameterValues>False</KeepParameterValues>
  9358. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  9359. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  9360. </Description>
  9361. </Information>';
  9362. type Integrate
  9363. ports
  9364. signal in input;
  9365. signal out output;
  9366. end;
  9367. icon bg bottom
  9368. figures
  9369. rectangle 632 320 664 352 color 0 fill 15132390;
  9370. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  9371. end;
  9372. implementation eq
  9373. parameters
  9374. real global initial_velocity; // initial value
  9375. equations
  9376. output = int (input, initial_velocity);
  9377. implementation_end;
  9378. Acceleration_limit 568 336
  9379. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9380. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  9381. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  9382. </Description>';
  9383. type 'SignalLimiter-Limit'
  9384. ports
  9385. signal in input;
  9386. signal out output;
  9387. end;
  9388. icon bg bottom
  9389. figures
  9390. group
  9391. rectangle 552 320 584 352 color 0 fill 15132390;
  9392. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  9393. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  9394. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  9395. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  9396. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  9397. end;
  9398. end;
  9399. implementation eq
  9400. parameters
  9401. real global max_acceleration {rad/s2};
  9402. equations
  9403. output = limit (input, -max_acceleration, max_acceleration);
  9404. implementation_end;
  9405. plug setpoint 136 336;
  9406. plug output 791 336;
  9407. PlusMinus1 240 336
  9408. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9409. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  9410. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  9411. </Description>';
  9412. knot PlusMinus
  9413. ports
  9414. signal knot duplicatable in plus [1];
  9415. signal knot duplicatable in minus [1];
  9416. signal knot out output [1];
  9417. end;
  9418. icon bg ellipse
  9419. figures
  9420. ellipse 232 328 248 344 color 0 fill 16777215;
  9421. end;
  9422. implementation eq
  9423. equations
  9424. output = sum (collect (plus)) - sum (collect (minus));
  9425. implementation_end;
  9426. PlusMinus2 432 336
  9427. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9428. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  9429. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  9430. </Description>';
  9431. knot PlusMinus
  9432. ports
  9433. signal knot duplicatable in plus [1];
  9434. signal knot duplicatable in minus [1];
  9435. signal knot out output [1];
  9436. end;
  9437. icon bg ellipse
  9438. figures
  9439. ellipse 424 328 440 344 color 0 fill 16777215;
  9440. end;
  9441. implementation eq
  9442. equations
  9443. output = sum (collect (plus)) - sum (collect (minus));
  9444. implementation_end;
  9445. Position_control 296 336
  9446. description '<Description>
  9447. <Version>4.0</Version>
  9448. <IsMainModel>1</IsMainModel>
  9449. <KeepParameterValues>False</KeepParameterValues>
  9450. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  9451. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  9452. </Description>';
  9453. type PD
  9454. ports
  9455. signal in error;
  9456. signal out output;
  9457. end;
  9458. icon bg bottom
  9459. figures
  9460. rectangle 280 320 312 352 color 0 fill 15132390;
  9461. text 'PD' 296.5 336.1 color 16711680 18 bold;
  9462. end;
  9463. implementation eq
  9464. parameters
  9465. real kp = 4 {}; // Proportional gain
  9466. real tauD = 100 {s}; // Derivative time constant: tauD > 0
  9467. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  9468. variables
  9469. real state, rate;
  9470. equations
  9471. rate = (kp * error - output) / (beta * tauD);
  9472. state = int (rate);
  9473. output = state + kp * error / beta;
  9474. implementation_end;
  9475. Splitter3 688 336
  9476. description '<Description><Version>4.0</Version>
  9477. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9478. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9479. <IsMainModel>1</IsMainModel>
  9480. <KeepParameterValues>False</KeepParameterValues>
  9481. </Description>';
  9482. knot Splitter
  9483. ports
  9484. signal knot duplicatable out output [1];
  9485. signal knot in input [1];
  9486. end;
  9487. icon bg ellipse
  9488. figures
  9489. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  9490. ellipse 683.7 331.7 692.3 340.3 color -1;
  9491. terminals
  9492. input 688 336 fixed;
  9493. end;
  9494. implementation eq
  9495. equations
  9496. collect (output) = input;
  9497. implementation_end;
  9498. Splitter4 752 336
  9499. description '<Description><Version>4.0</Version>
  9500. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9501. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9502. <IsMainModel>1</IsMainModel>
  9503. <KeepParameterValues>False</KeepParameterValues>
  9504. </Description>';
  9505. knot Splitter
  9506. ports
  9507. signal knot duplicatable out output [1];
  9508. signal knot in input [1];
  9509. end;
  9510. icon bg ellipse
  9511. figures
  9512. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  9513. ellipse 747.7 331.7 756.3 340.3 color -1;
  9514. terminals
  9515. input 752 336 fixed;
  9516. end;
  9517. implementation eq
  9518. equations
  9519. collect (output) = input;
  9520. implementation_end;
  9521. Velocity_control 480 336
  9522. description '<Description>
  9523. <Version>4.0</Version>
  9524. <IsMainModel>1</IsMainModel>
  9525. <KeepParameterValues>False</KeepParameterValues>
  9526. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  9527. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  9528. </Description>';
  9529. type PD
  9530. ports
  9531. signal in error;
  9532. signal out output;
  9533. end;
  9534. icon bg bottom
  9535. figures
  9536. rectangle 464 320 496 352 color 0 fill 15132390;
  9537. text 'PD' 480.5 336.1 color 16711680 18 bold;
  9538. end;
  9539. implementation eq
  9540. parameters
  9541. real kp = 12 {}; // Proportional gain
  9542. real tauD = 10 {s}; // Derivative time constant: tauD > 0
  9543. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  9544. variables
  9545. real state, rate;
  9546. equations
  9547. rate = (kp * error - output) / (beta * tauD);
  9548. state = int (rate);
  9549. output = state + kp * error / beta;
  9550. implementation_end;
  9551. Velocity_int 720 336
  9552. description '<Information>
  9553. <Description>
  9554. <Version>4.3</Version>
  9555. <IsMainModel>1</IsMainModel>
  9556. <KeepParameterValues>False</KeepParameterValues>
  9557. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  9558. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  9559. </Description>
  9560. </Information>';
  9561. type Integrate
  9562. ports
  9563. signal in input;
  9564. signal out output;
  9565. end;
  9566. icon bg bottom
  9567. figures
  9568. rectangle 704 320 736 352 color 0 fill 15132390;
  9569. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  9570. end;
  9571. implementation eq
  9572. parameters
  9573. real global initial_angle; // initial value
  9574. equations
  9575. output = int (input, initial_angle);
  9576. implementation_end;
  9577. Velocity_limit 376 336
  9578. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9579. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  9580. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  9581. </Description>';
  9582. type 'SignalLimiter-Limit'
  9583. ports
  9584. signal in input;
  9585. signal out output;
  9586. end;
  9587. icon bg bottom
  9588. figures
  9589. group
  9590. rectangle 360 320 392 352 color 0 fill 15132390;
  9591. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  9592. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  9593. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  9594. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  9595. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  9596. end;
  9597. end;
  9598. implementation eq
  9599. parameters
  9600. real global max_velocity {rad/s};
  9601. equations
  9602. output = limit (input, -max_velocity, max_velocity);
  9603. implementation_end;
  9604. end;
  9605. connections
  9606. Acceleration_int\output -> Splitter3\input;
  9607. Acceleration_limit\output -> Acceleration_int\input;
  9608. PlusMinus1\output -> Position_control\error;
  9609. PlusMinus2\output -> Velocity_control\error;
  9610. Position_control\output -> Velocity_limit\input;
  9611. setpoint -> PlusMinus1\plus;
  9612. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  9613. Splitter3\output -> Velocity_int\input;
  9614. Splitter4\output -> output;
  9615. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  9616. Velocity_control\output -> Acceleration_limit\input;
  9617. Velocity_int\output -> Splitter4\input;
  9618. Velocity_limit\output -> PlusMinus2\plus;
  9619. end;
  9620. implementation_end;
  9621. specification_end;
  9622. specification 'P_only'
  9623. 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
  9624. real max_acceleration = 350 {rad/s2};
  9625. real max_velocity = 25 {rad/s};
  9626. real initial_velocity = 0 {rad/s};
  9627. real initial_angle = 1.570796 {rad};</GlobalRelations></Attributes></Information>';
  9628. type Submodel
  9629. ports
  9630. signal in setpoint {rad} ;
  9631. signal out output {rad} ;
  9632. end;
  9633. icon bg bottom
  9634. figures
  9635. rectangle 656 576 768 608 color 0 fill 15132390;
  9636. text 'name' 712 592 color 0 'Clear Sans' 16;
  9637. end;
  9638. implementation bg
  9639. submodels
  9640. Acceleration_int 648 336
  9641. description '<Information>
  9642. <Description>
  9643. <Version>4.3</Version>
  9644. <IsMainModel>1</IsMainModel>
  9645. <KeepParameterValues>False</KeepParameterValues>
  9646. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  9647. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  9648. </Description>
  9649. </Information>';
  9650. type Integrate
  9651. ports
  9652. signal in input;
  9653. signal out output;
  9654. end;
  9655. icon bg bottom
  9656. figures
  9657. rectangle 632 320 664 352 color 0 fill 15132390;
  9658. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  9659. end;
  9660. implementation eq
  9661. parameters
  9662. real global initial_velocity; // initial value
  9663. equations
  9664. output = int (input, initial_velocity);
  9665. implementation_end;
  9666. Acceleration_limit 568 336
  9667. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9668. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  9669. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  9670. </Description>';
  9671. type 'SignalLimiter-Limit'
  9672. ports
  9673. signal in input;
  9674. signal out output;
  9675. end;
  9676. icon bg bottom
  9677. figures
  9678. group
  9679. rectangle 552 320 584 352 color 0 fill 15132390;
  9680. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  9681. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  9682. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  9683. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  9684. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  9685. end;
  9686. end;
  9687. implementation eq
  9688. parameters
  9689. real global max_acceleration {rad/s2};
  9690. equations
  9691. output = limit (input, -max_acceleration, max_acceleration);
  9692. implementation_end;
  9693. plug setpoint 136 336;
  9694. plug output 791 336;
  9695. PlusMinus1 240 336
  9696. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9697. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  9698. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  9699. </Description>';
  9700. knot PlusMinus
  9701. ports
  9702. signal knot duplicatable in plus [1];
  9703. signal knot duplicatable in minus [1];
  9704. signal knot out output [1];
  9705. end;
  9706. icon bg ellipse
  9707. figures
  9708. ellipse 232 328 248 344 color 0 fill 16777215;
  9709. end;
  9710. implementation eq
  9711. equations
  9712. output = sum (collect (plus)) - sum (collect (minus));
  9713. implementation_end;
  9714. PlusMinus2 432 336
  9715. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9716. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  9717. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  9718. </Description>';
  9719. knot PlusMinus
  9720. ports
  9721. signal knot duplicatable in plus [1];
  9722. signal knot duplicatable in minus [1];
  9723. signal knot out output [1];
  9724. end;
  9725. icon bg ellipse
  9726. figures
  9727. ellipse 424 328 440 344 color 0 fill 16777215;
  9728. end;
  9729. implementation eq
  9730. equations
  9731. output = sum (collect (plus)) - sum (collect (minus));
  9732. implementation_end;
  9733. Position_control 296 336
  9734. description '<Description>
  9735. <Version>4.0</Version>
  9736. <IsMainModel>1</IsMainModel>
  9737. <KeepParameterValues>False</KeepParameterValues>
  9738. <LibraryPath>Signal\Control\PID Control\Continuous\P.emx</LibraryPath>
  9739. <TimeStamp>2008-1-17 10:48:8</TimeStamp>
  9740. </Description>';
  9741. type P
  9742. ports
  9743. signal in error;
  9744. signal out output;
  9745. end;
  9746. icon bg bottom
  9747. figures
  9748. rectangle 280 320 312 352 color 0 fill 15132390;
  9749. text 'P' 296.5 336.1 color 16711680 18 bold;
  9750. end;
  9751. implementation eq
  9752. parameters
  9753. real kp = 26.0 {}; // Proportional gain
  9754. equations
  9755. output = kp * error;
  9756. implementation_end;
  9757. Splitter3 688 336
  9758. description '<Description><Version>4.0</Version>
  9759. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9760. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9761. <IsMainModel>1</IsMainModel>
  9762. <KeepParameterValues>False</KeepParameterValues>
  9763. </Description>';
  9764. knot Splitter
  9765. ports
  9766. signal knot duplicatable out output [1];
  9767. signal knot in input [1];
  9768. end;
  9769. icon bg ellipse
  9770. figures
  9771. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  9772. ellipse 683.7 331.7 692.3 340.3 color -1;
  9773. terminals
  9774. input 688 336 fixed;
  9775. end;
  9776. implementation eq
  9777. equations
  9778. collect (output) = input;
  9779. implementation_end;
  9780. Splitter4 752 336
  9781. description '<Description><Version>4.0</Version>
  9782. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  9783. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  9784. <IsMainModel>1</IsMainModel>
  9785. <KeepParameterValues>False</KeepParameterValues>
  9786. </Description>';
  9787. knot Splitter
  9788. ports
  9789. signal knot duplicatable out output [1];
  9790. signal knot in input [1];
  9791. end;
  9792. icon bg ellipse
  9793. figures
  9794. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  9795. ellipse 747.7 331.7 756.3 340.3 color -1;
  9796. terminals
  9797. input 752 336 fixed;
  9798. end;
  9799. implementation eq
  9800. equations
  9801. collect (output) = input;
  9802. implementation_end;
  9803. Velocity_control 480 336
  9804. description '<Description>
  9805. <Version>4.0</Version>
  9806. <IsMainModel>1</IsMainModel>
  9807. <KeepParameterValues>False</KeepParameterValues>
  9808. <LibraryPath>Signal\Control\PID Control\Continuous\P.emx</LibraryPath>
  9809. <TimeStamp>2008-1-17 10:48:8</TimeStamp>
  9810. </Description>';
  9811. type P
  9812. ports
  9813. signal in error;
  9814. signal out output;
  9815. end;
  9816. icon bg bottom
  9817. figures
  9818. rectangle 464 320 496 352 color 0 fill 15132390;
  9819. text 'P' 480.5 336.1 color 16711680 18 bold;
  9820. end;
  9821. implementation eq
  9822. parameters
  9823. real kp = 66.0 {}; // Proportional gain
  9824. equations
  9825. output = kp * error;
  9826. implementation_end;
  9827. Velocity_int 720 336
  9828. description '<Information>
  9829. <Description>
  9830. <Version>4.3</Version>
  9831. <IsMainModel>1</IsMainModel>
  9832. <KeepParameterValues>False</KeepParameterValues>
  9833. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  9834. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  9835. </Description>
  9836. </Information>';
  9837. type Integrate
  9838. ports
  9839. signal in input;
  9840. signal out output;
  9841. end;
  9842. icon bg bottom
  9843. figures
  9844. rectangle 704 320 736 352 color 0 fill 15132390;
  9845. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  9846. end;
  9847. implementation eq
  9848. parameters
  9849. real global initial_angle; // initial value
  9850. equations
  9851. output = int (input, initial_angle);
  9852. implementation_end;
  9853. Velocity_limit 376 336
  9854. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9855. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  9856. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  9857. </Description>';
  9858. type 'SignalLimiter-Limit'
  9859. ports
  9860. signal in input;
  9861. signal out output;
  9862. end;
  9863. icon bg bottom
  9864. figures
  9865. group
  9866. rectangle 360 320 392 352 color 0 fill 15132390;
  9867. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  9868. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  9869. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  9870. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  9871. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  9872. end;
  9873. end;
  9874. implementation eq
  9875. parameters
  9876. real global max_velocity {rad/s};
  9877. equations
  9878. output = limit (input, -max_velocity, max_velocity);
  9879. implementation_end;
  9880. end;
  9881. connections
  9882. Acceleration_int\output -> Splitter3\input;
  9883. Acceleration_limit\output -> Acceleration_int\input;
  9884. PlusMinus1\output -> Position_control\error;
  9885. PlusMinus2\output -> Velocity_control\error;
  9886. Position_control\output -> Velocity_limit\input;
  9887. setpoint -> PlusMinus1\plus;
  9888. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  9889. Splitter3\output -> Velocity_int\input;
  9890. Splitter4\output -> output;
  9891. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  9892. Velocity_control\output -> Acceleration_limit\input;
  9893. Velocity_int\output -> Splitter4\input;
  9894. Velocity_limit\output -> PlusMinus2\plus;
  9895. end;
  9896. implementation_end;
  9897. specification_end;
  9898. end;
  9899. stepper_control1 512 768
  9900. specifications active 'P_only'
  9901. specification 'default'
  9902. 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
  9903. real max_acceleration = 250 {rad/s2};
  9904. real max_velocity = 25 {rad/s};
  9905. real initial_velocity = 0 {rad/s};
  9906. real initial_angle = -1.570796 {rad};</GlobalRelations></Attributes></Information>';
  9907. type Submodel
  9908. ports
  9909. signal in setpoint {rad} ;
  9910. signal out output {rad} ;
  9911. end;
  9912. icon bg bottom
  9913. figures
  9914. rectangle 648 576 760 608 color 0 fill 15132390;
  9915. text 'name' 704 592 color 0 'Clear Sans' 16;
  9916. end;
  9917. implementation bg
  9918. submodels
  9919. Acceleration_int 648 336
  9920. description '<Information>
  9921. <Description>
  9922. <Version>4.3</Version>
  9923. <IsMainModel>1</IsMainModel>
  9924. <KeepParameterValues>False</KeepParameterValues>
  9925. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  9926. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  9927. </Description>
  9928. </Information>';
  9929. type Integrate
  9930. ports
  9931. signal in input;
  9932. signal out output;
  9933. end;
  9934. icon bg bottom
  9935. figures
  9936. rectangle 632 320 664 352 color 0 fill 15132390;
  9937. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  9938. end;
  9939. implementation eq
  9940. parameters
  9941. real global initial_velocity; // initial value
  9942. equations
  9943. output = int (input, initial_velocity);
  9944. implementation_end;
  9945. Acceleration_limit 568 336
  9946. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9947. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  9948. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  9949. </Description>';
  9950. type 'SignalLimiter-Limit'
  9951. ports
  9952. signal in input;
  9953. signal out output;
  9954. end;
  9955. icon bg bottom
  9956. figures
  9957. group
  9958. rectangle 552 320 584 352 color 0 fill 15132390;
  9959. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  9960. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  9961. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  9962. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  9963. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  9964. end;
  9965. end;
  9966. implementation eq
  9967. parameters
  9968. real global max_acceleration {rad/s2};
  9969. equations
  9970. output = limit (input, -max_acceleration, max_acceleration);
  9971. implementation_end;
  9972. plug setpoint 136 336;
  9973. plug output 791 336;
  9974. PlusMinus1 240 336
  9975. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9976. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  9977. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  9978. </Description>';
  9979. knot PlusMinus
  9980. ports
  9981. signal knot duplicatable in plus [1];
  9982. signal knot duplicatable in minus [1];
  9983. signal knot out output [1];
  9984. end;
  9985. icon bg ellipse
  9986. figures
  9987. ellipse 232 328 248 344 color 0 fill 16777215;
  9988. end;
  9989. implementation eq
  9990. equations
  9991. output = sum (collect (plus)) - sum (collect (minus));
  9992. implementation_end;
  9993. PlusMinus2 432 336
  9994. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  9995. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  9996. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  9997. </Description>';
  9998. knot PlusMinus
  9999. ports
  10000. signal knot duplicatable in plus [1];
  10001. signal knot duplicatable in minus [1];
  10002. signal knot out output [1];
  10003. end;
  10004. icon bg ellipse
  10005. figures
  10006. ellipse 424 328 440 344 color 0 fill 16777215;
  10007. end;
  10008. implementation eq
  10009. equations
  10010. output = sum (collect (plus)) - sum (collect (minus));
  10011. implementation_end;
  10012. Position_control 296 336
  10013. description '<Description>
  10014. <Version>4.0</Version>
  10015. <IsMainModel>1</IsMainModel>
  10016. <KeepParameterValues>False</KeepParameterValues>
  10017. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  10018. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  10019. </Description>';
  10020. type PD
  10021. ports
  10022. signal in error;
  10023. signal out output;
  10024. end;
  10025. icon bg bottom
  10026. figures
  10027. rectangle 280 320 312 352 color 0 fill 15132390;
  10028. text 'PD' 296.5 336.1 color 16711680 18 bold;
  10029. end;
  10030. implementation eq
  10031. parameters
  10032. real kp = 4 {}; // Proportional gain
  10033. real tauD = 100 {s}; // Derivative time constant: tauD > 0
  10034. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  10035. variables
  10036. real state, rate;
  10037. equations
  10038. rate = (kp * error - output) / (beta * tauD);
  10039. state = int (rate);
  10040. output = state + kp * error / beta;
  10041. implementation_end;
  10042. Splitter3 688 336
  10043. description '<Description><Version>4.0</Version>
  10044. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10045. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10046. <IsMainModel>1</IsMainModel>
  10047. <KeepParameterValues>False</KeepParameterValues>
  10048. </Description>';
  10049. knot Splitter
  10050. ports
  10051. signal knot duplicatable out output [1];
  10052. signal knot in input [1];
  10053. end;
  10054. icon bg ellipse
  10055. figures
  10056. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  10057. ellipse 683.7 331.7 692.3 340.3 color -1;
  10058. terminals
  10059. input 688 336 fixed;
  10060. end;
  10061. implementation eq
  10062. equations
  10063. collect (output) = input;
  10064. implementation_end;
  10065. Splitter4 752 336
  10066. description '<Description><Version>4.0</Version>
  10067. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10068. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10069. <IsMainModel>1</IsMainModel>
  10070. <KeepParameterValues>False</KeepParameterValues>
  10071. </Description>';
  10072. knot Splitter
  10073. ports
  10074. signal knot duplicatable out output [1];
  10075. signal knot in input [1];
  10076. end;
  10077. icon bg ellipse
  10078. figures
  10079. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  10080. ellipse 747.7 331.7 756.3 340.3 color -1;
  10081. terminals
  10082. input 752 336 fixed;
  10083. end;
  10084. implementation eq
  10085. equations
  10086. collect (output) = input;
  10087. implementation_end;
  10088. Velocity_control 480 336
  10089. description '<Description>
  10090. <Version>4.0</Version>
  10091. <IsMainModel>1</IsMainModel>
  10092. <KeepParameterValues>False</KeepParameterValues>
  10093. <LibraryPath>Signal\Control\PID Control\Continuous\PD.emx</LibraryPath>
  10094. <TimeStamp>2008-1-17 10:49:7</TimeStamp>
  10095. </Description>';
  10096. type PD
  10097. ports
  10098. signal in error;
  10099. signal out output;
  10100. end;
  10101. icon bg bottom
  10102. figures
  10103. rectangle 464 320 496 352 color 0 fill 15132390;
  10104. text 'PD' 480.5 336.1 color 16711680 18 bold;
  10105. end;
  10106. implementation eq
  10107. parameters
  10108. real kp = 12 {}; // Proportional gain
  10109. real tauD = 10 {s}; // Derivative time constant: tauD > 0
  10110. real beta = 0.4 {}; // Tameness constant: 0 < beta << 1
  10111. variables
  10112. real state, rate;
  10113. equations
  10114. rate = (kp * error - output) / (beta * tauD);
  10115. state = int (rate);
  10116. output = state + kp * error / beta;
  10117. implementation_end;
  10118. Velocity_int 720 336
  10119. description '<Information>
  10120. <Description>
  10121. <Version>4.3</Version>
  10122. <IsMainModel>1</IsMainModel>
  10123. <KeepParameterValues>False</KeepParameterValues>
  10124. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  10125. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  10126. </Description>
  10127. </Information>';
  10128. type Integrate
  10129. ports
  10130. signal in input;
  10131. signal out output;
  10132. end;
  10133. icon bg bottom
  10134. figures
  10135. rectangle 704 320 736 352 color 0 fill 15132390;
  10136. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  10137. end;
  10138. implementation eq
  10139. parameters
  10140. real global initial_angle; // initial value
  10141. equations
  10142. output = int (input, initial_angle);
  10143. implementation_end;
  10144. Velocity_limit 376 336
  10145. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10146. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  10147. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  10148. </Description>';
  10149. type 'SignalLimiter-Limit'
  10150. ports
  10151. signal in input;
  10152. signal out output;
  10153. end;
  10154. icon bg bottom
  10155. figures
  10156. group
  10157. rectangle 360 320 392 352 color 0 fill 15132390;
  10158. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  10159. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  10160. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  10161. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  10162. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  10163. end;
  10164. end;
  10165. implementation eq
  10166. parameters
  10167. real global max_velocity {rad/s};
  10168. equations
  10169. output = limit (input, -max_velocity, max_velocity);
  10170. implementation_end;
  10171. end;
  10172. connections
  10173. Acceleration_int\output -> Splitter3\input;
  10174. Acceleration_limit\output -> Acceleration_int\input;
  10175. PlusMinus1\output -> Position_control\error;
  10176. PlusMinus2\output -> Velocity_control\error;
  10177. Position_control\output -> Velocity_limit\input;
  10178. setpoint -> PlusMinus1\plus;
  10179. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  10180. Splitter3\output -> Velocity_int\input;
  10181. Splitter4\output -> output;
  10182. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  10183. Velocity_control\output -> Acceleration_limit\input;
  10184. Velocity_int\output -> Splitter4\input;
  10185. Velocity_limit\output -> PlusMinus2\plus;
  10186. end;
  10187. implementation_end;
  10188. specification_end;
  10189. specification 'P_only'
  10190. 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
  10191. real max_acceleration = 350 {rad/s2};
  10192. real max_velocity = 25 {rad/s};
  10193. real initial_velocity = 0 {rad/s};
  10194. real initial_angle = 0 {rad};</GlobalRelations></Attributes></Information>';
  10195. type Submodel
  10196. ports
  10197. signal in setpoint {rad} ;
  10198. signal out output {rad} ;
  10199. end;
  10200. icon bg
  10201. figures
  10202. rectangle 456 752 568 784 color 0 fill 15132390;
  10203. text 'name' 512 768 color 0 'Clear Sans' 16;
  10204. end;
  10205. implementation bg
  10206. submodels
  10207. Acceleration_int 648 336
  10208. description '<Information>
  10209. <Description>
  10210. <Version>4.3</Version>
  10211. <IsMainModel>1</IsMainModel>
  10212. <KeepParameterValues>False</KeepParameterValues>
  10213. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  10214. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  10215. </Description>
  10216. </Information>';
  10217. type Integrate
  10218. ports
  10219. signal in input;
  10220. signal out output;
  10221. end;
  10222. icon bg bottom
  10223. figures
  10224. rectangle 632 320 664 352 color 0 fill 15132390;
  10225. text '∫' 648 336.3 color 16711680 'Lucida Sans' 21 italic;
  10226. end;
  10227. implementation eq
  10228. parameters
  10229. real global initial_velocity; // initial value
  10230. equations
  10231. output = int (input, initial_velocity);
  10232. implementation_end;
  10233. Acceleration_limit 568 336
  10234. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10235. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  10236. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  10237. </Description>';
  10238. type 'SignalLimiter-Limit'
  10239. ports
  10240. signal in input;
  10241. signal out output;
  10242. end;
  10243. icon bg bottom
  10244. figures
  10245. group
  10246. rectangle 552 320 584 352 color 0 fill 15132390;
  10247. line 567.9 324.5 567.9 349 color 0 fill 15132390;
  10248. line 555 336.2 580.7 336.2 color 0 fill 15132390;
  10249. spline 561.9 343.1 573.9 329.4 color 16711680 fill 15132390 width 2;
  10250. spline 573.3 330.2 581.9 329.8 color 16711680 fill 15132390 width 2;
  10251. spline 555 343.6 561.9 343.1 color 16711680 fill 15132390 width 2;
  10252. end;
  10253. end;
  10254. implementation eq
  10255. parameters
  10256. real global max_acceleration {rad/s2};
  10257. equations
  10258. output = limit (input, -max_acceleration, max_acceleration);
  10259. implementation_end;
  10260. plug setpoint 136 336;
  10261. plug output 791 336;
  10262. PlusMinus1 240 336
  10263. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10264. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  10265. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  10266. </Description>';
  10267. knot PlusMinus
  10268. ports
  10269. signal knot duplicatable in plus [1];
  10270. signal knot duplicatable in minus [1];
  10271. signal knot out output [1];
  10272. end;
  10273. icon bg ellipse
  10274. figures
  10275. ellipse 232 328 248 344 color 0 fill 16777215;
  10276. end;
  10277. implementation eq
  10278. equations
  10279. output = sum (collect (plus)) - sum (collect (minus));
  10280. implementation_end;
  10281. PlusMinus2 432 336
  10282. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10283. <LibraryPath>Signal\Block Diagram\PlusMinus.emx</LibraryPath>
  10284. <TimeStamp>2007-9-27 10:15:13</TimeStamp>
  10285. </Description>';
  10286. knot PlusMinus
  10287. ports
  10288. signal knot duplicatable in plus [1];
  10289. signal knot duplicatable in minus [1];
  10290. signal knot out output [1];
  10291. end;
  10292. icon bg ellipse
  10293. figures
  10294. ellipse 424 328 440 344 color 0 fill 16777215;
  10295. end;
  10296. implementation eq
  10297. equations
  10298. output = sum (collect (plus)) - sum (collect (minus));
  10299. implementation_end;
  10300. Position_control 296 336
  10301. description '<Description>
  10302. <Version>4.0</Version>
  10303. <IsMainModel>1</IsMainModel>
  10304. <KeepParameterValues>False</KeepParameterValues>
  10305. <LibraryPath>Signal\Control\PID Control\Continuous\P.emx</LibraryPath>
  10306. <TimeStamp>2008-1-17 10:48:8</TimeStamp>
  10307. </Description>';
  10308. type P
  10309. ports
  10310. signal in error;
  10311. signal out output;
  10312. end;
  10313. icon bg bottom
  10314. figures
  10315. rectangle 280 320 312 352 color 0 fill 15132390;
  10316. text 'P' 296.5 336.1 color 16711680 18 bold;
  10317. end;
  10318. implementation eq
  10319. parameters
  10320. real kp = 31.0 {}; // Proportional gain
  10321. equations
  10322. output = kp * error;
  10323. implementation_end;
  10324. Splitter3 688 336
  10325. description '<Description><Version>4.0</Version>
  10326. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10327. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10328. <IsMainModel>1</IsMainModel>
  10329. <KeepParameterValues>False</KeepParameterValues>
  10330. </Description>';
  10331. knot Splitter
  10332. ports
  10333. signal knot duplicatable out output [1];
  10334. signal knot in input [1];
  10335. end;
  10336. icon bg ellipse
  10337. figures
  10338. ellipse 684.8 332.8 691.2 339.2 color -1 fill 0;
  10339. ellipse 683.7 331.7 692.3 340.3 color -1;
  10340. terminals
  10341. input 688 336 fixed;
  10342. end;
  10343. implementation eq
  10344. equations
  10345. collect (output) = input;
  10346. implementation_end;
  10347. Splitter4 752 336
  10348. description '<Description><Version>4.0</Version>
  10349. <LibraryPath>Signal\Block Diagram\Splitter.emx</LibraryPath>
  10350. <TimeStamp>2008-01-17 11:28:29</TimeStamp>
  10351. <IsMainModel>1</IsMainModel>
  10352. <KeepParameterValues>False</KeepParameterValues>
  10353. </Description>';
  10354. knot Splitter
  10355. ports
  10356. signal knot duplicatable out output [1];
  10357. signal knot in input [1];
  10358. end;
  10359. icon bg ellipse
  10360. figures
  10361. ellipse 748.8 332.8 755.2 339.2 color -1 fill 0;
  10362. ellipse 747.7 331.7 756.3 340.3 color -1;
  10363. terminals
  10364. input 752 336 fixed;
  10365. end;
  10366. implementation eq
  10367. equations
  10368. collect (output) = input;
  10369. implementation_end;
  10370. Velocity_control 480 336
  10371. description '<Description>
  10372. <Version>4.0</Version>
  10373. <IsMainModel>1</IsMainModel>
  10374. <KeepParameterValues>False</KeepParameterValues>
  10375. <LibraryPath>Signal\Control\PID Control\Continuous\P.emx</LibraryPath>
  10376. <TimeStamp>2008-1-17 10:48:8</TimeStamp>
  10377. </Description>';
  10378. type P
  10379. ports
  10380. signal in error;
  10381. signal out output;
  10382. end;
  10383. icon bg bottom
  10384. figures
  10385. rectangle 464 320 496 352 color 0 fill 15132390;
  10386. text 'P' 480.5 336.1 color 16711680 18 bold;
  10387. end;
  10388. implementation eq
  10389. parameters
  10390. real kp = 69.0 {}; // Proportional gain
  10391. equations
  10392. output = kp * error;
  10393. implementation_end;
  10394. Velocity_int 720 336
  10395. description '<Information>
  10396. <Description>
  10397. <Version>4.3</Version>
  10398. <IsMainModel>1</IsMainModel>
  10399. <KeepParameterValues>False</KeepParameterValues>
  10400. <LibraryPath>Signal\Block Diagram\Integrate.emx</LibraryPath>
  10401. <TimeStamp>2013-3-8 14:47:42</TimeStamp>
  10402. </Description>
  10403. </Information>';
  10404. type Integrate
  10405. ports
  10406. signal in input;
  10407. signal out output;
  10408. end;
  10409. icon bg bottom
  10410. figures
  10411. rectangle 704 320 736 352 color 0 fill 15132390;
  10412. text '∫' 720 336.3 color 16711680 'Lucida Sans' 21 italic;
  10413. end;
  10414. implementation eq
  10415. parameters
  10416. real global initial_angle; // initial value
  10417. equations
  10418. output = int (input, initial_angle);
  10419. implementation_end;
  10420. Velocity_limit 376 336
  10421. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10422. <LibraryPath>Signal\Block Diagram Non-Linear\SignalLimiter-Limit.emx</LibraryPath>
  10423. <TimeStamp>2007-9-26 12:47:40</TimeStamp>
  10424. </Description>';
  10425. type 'SignalLimiter-Limit'
  10426. ports
  10427. signal in input;
  10428. signal out output;
  10429. end;
  10430. icon bg bottom
  10431. figures
  10432. group
  10433. rectangle 360 320 392 352 color 0 fill 15132390;
  10434. line 375.9 324.5 375.9 349 color 0 fill 15132390;
  10435. line 363 336.2 388.7 336.2 color 0 fill 15132390;
  10436. spline 369.9 343.1 381.9 329.4 color 16711680 fill 15132390 width 2;
  10437. spline 381.3 330.2 389.9 329.8 color 16711680 fill 15132390 width 2;
  10438. spline 363 343.6 369.9 343.1 color 16711680 fill 15132390 width 2;
  10439. end;
  10440. end;
  10441. implementation eq
  10442. parameters
  10443. real global max_velocity {rad/s};
  10444. equations
  10445. output = limit (input, -max_velocity, max_velocity);
  10446. implementation_end;
  10447. end;
  10448. connections
  10449. Acceleration_int\output -> Splitter3\input;
  10450. Acceleration_limit\output -> Acceleration_int\input;
  10451. PlusMinus1\output -> Position_control\error;
  10452. PlusMinus2\output -> Velocity_control\error;
  10453. Position_control\output -> Velocity_limit\input;
  10454. setpoint -> PlusMinus1\plus;
  10455. Splitter3\output -> PlusMinus2\minus 688 288 432 288;
  10456. Splitter3\output -> Velocity_int\input;
  10457. Splitter4\output -> output;
  10458. Splitter4\output -> PlusMinus1\minus 752 400 240 400;
  10459. Velocity_control\output -> Acceleration_limit\input;
  10460. Velocity_int\output -> Splitter4\input;
  10461. Velocity_limit\output -> PlusMinus2\plus;
  10462. end;
  10463. implementation_end;
  10464. specification_end;
  10465. end;
  10466. Zero 816 680
  10467. description '<Description><Version>4.0</Version><IsMainModel>1</IsMainModel><KeepParameterValues>False</KeepParameterValues>
  10468. <LibraryPath>Signal\Sources\Zero.emx</LibraryPath>
  10469. <TimeStamp>2007-9-27 15:54:36</TimeStamp>
  10470. </Description>
  10471. ';
  10472. type Zero
  10473. ports
  10474. signal out output;
  10475. end;
  10476. icon bg bottom
  10477. figures
  10478. rectangle 800.1 664 831.9 696 color 0 fill 15132390;
  10479. text '0' 816 680 color 16711680 18 bold;
  10480. end;
  10481. implementation eq
  10482. equations
  10483. output = 0;implementation_end;
  10484. end;
  10485. connections
  10486. Body1\input <- Splitter2\output;
  10487. Body3\input <- Splitter3\output;
  10488. COM_body3\p => OneJunction4\p;
  10489. COM_body4\p => OneJunction6\p;
  10490. COM_body5\p => Link8\Pin;
  10491. Ground1\output -> JointC\Hin 632 616;
  10492. Ground1\p <= OneJunction5\p;
  10493. inverse_kinematics\angle1 -> stepper_control\setpoint;
  10494. inverse_kinematics\angle2 -> Negate2\input;
  10495. inverse_kinematics\input <- rectanglepath\output;
  10496. Joint_dynB\output => JointB\Pdiff;
  10497. Joint_dynC\output => JointC\Pdiff;
  10498. Joint_dynD\output => JointD\Pdiff;
  10499. Joint_dynE\output => JointE\Pdiff;
  10500. Joint_dynF\output => JointF\Pdiff;
  10501. JointA\Pdiff <= Joint_dynA\output;
  10502. JointA\Pout => Link3\Pin;
  10503. JointB\Hin <- Splitter4\output;
  10504. JointB\Hout -> Link6\Hin;
  10505. JointB\Pin <= Link6\Pout;
  10506. JointB\Pout => OneJunction3\p;
  10507. JointC\Hout -> Link5\Hin;
  10508. JointC\Pin <= Link5\Pout;
  10509. JointD\Hin <- Link7\Hout 216 616;
  10510. JointD\Hout -> Link9\Hin;
  10511. JointD\Pin <= Link9\Pout;
  10512. JointD\Pout => Link7\Pin 184 648;
  10513. JointE\Pout => Link4\Pin;
  10514. JointF\Hout -> Link10\Hin;
  10515. JointF\Pout => Link11\Pin;
  10516. LiftingArm\Hin <- Splitter6\output 728 256;
  10517. LiftingArm\Pin <= OneJunction7\p 1264 224;
  10518. LiftingArm\Pout => OneJunction6\p 696 224;
  10519. Link1\Hout -> Splitter6\input;
  10520. Link10\Hout -> Splitter9\input;
  10521. Link10\Pout => JointF\Pin;
  10522. Link11\Hout -> JointF\Hin;
  10523. Link11\Pout => OneJunction6\p;
  10524. Link2\Hin <- JointE\Hout;
  10525. Link2\Hout -> Splitter11\input;
  10526. Link2\Pin <= OneJunction3\p;
  10527. Link2\Pout => JointE\Pin 184 112;
  10528. Link3\Hout -> Splitter8\input;
  10529. Link4\Hout -> JointE\Hin;
  10530. Link5\Hout -> Splitter1\input;
  10531. Link5\Pin <= OneJunction1\p;
  10532. Link6\Hout -> Splitter2\input;
  10533. Link6\Pin <= OneJunction2\p;
  10534. Link8\Hout -> Splitter10\input;
  10535. Link8\Pout => OneJunction7\p;
  10536. Link9\Hout -> Splitter3\input;
  10537. Link9\Pin <= OneJunction4\p;
  10538. Negate2\output -> stepper_control1\setpoint;
  10539. OneJunction1\p <= COM_body2\p;
  10540. OneJunction1\p <= Link7\Pout;
  10541. OneJunction2\p <= COM_body1\p;
  10542. OneJunction2\p <= Link3\Pout;
  10543. OneJunction3\p <= Link1\Pout;
  10544. OneJunction4\p <= Link4\Pout;
  10545. OneJunction5\p <= JointC\Pout;
  10546. OneJunction5\p => JointA\Pin;
  10547. OneJunction6\p => Link1\Pin;
  10548. OneJunction7\p => Link10\Pin;
  10549. Splitter1\output -> Body2\input;
  10550. Splitter1\output -> COM_body2\Hin;
  10551. Splitter1\output -> Link7\Hin;
  10552. Splitter10\output -> Body6\input;
  10553. Splitter10\output -> COM_body5\Hin;
  10554. Splitter11\output -> Body4\input;
  10555. Splitter11\output -> Splitter4\input;
  10556. Splitter2\output -> COM_body1\Hin;
  10557. Splitter2\output -> Link3\Hin;
  10558. Splitter3\output -> COM_body3\Hin;
  10559. Splitter3\output -> Link4\Hin;
  10560. Splitter4\output -> Link1\Hin;
  10561. Splitter6\output -> COM_body4\Hin;
  10562. Splitter6\output -> Link11\Hin;
  10563. Splitter8\output -> JointA\Hin;
  10564. Splitter9\output -> Body5\input;
  10565. Splitter9\output -> Link8\Hin;
  10566. stepper_control\output -> Joint_dynA\angle;
  10567. stepper_control1\output -> Joint_dynC\angle;
  10568. end;
  10569. implementation_end;
  10570. ]]>
  10571. </Sidops>
  10572. </Model>
  10573. <Experiments>
  10574. <DefaultExperiment><![CDATA[Experiment 1]]>
  10575. </DefaultExperiment>
  10576. <Experiment>
  10577. <Name>Experiment 1</Name>
  10578. <CreatedBy></CreatedBy>
  10579. <Info></Info>
  10580. <ExpData>
  10581. <VersionNumber>4.8</VersionNumber>
  10582. <ModelProperties>
  10583. <ModelProperty section="processing" entry="checkForStaticExpressions" value="1"/>
  10584. <ModelProperty section="processing" entry="debug_checkForStaticExpressions" value="1"/>
  10585. <ModelProperty section="processing" entry="checkForDuplicateExpressions" value="1"/>
  10586. <ModelProperty section="processing" entry="debug_checkForDuplicateExpressions" value="1"/>
  10587. <ModelProperty section="processing" entry="showresult" value="1"/>
  10588. <ModelProperty section="processing" entry="debug_showresult" value="1"/>
  10589. </ModelProperties>
  10590. <Variables>
  10591. <Constants>
  10592. </Constants>
  10593. <Parameters>
  10594. </Parameters>
  10595. <Initials>
  10596. <Variable>
  10597. <Name>COM_body1\InertialTensor\state_initial</Name>
  10598. <Rows>6</Rows>
  10599. <Columns>1</Columns>
  10600. <Value>0 0 0 0 0 0</Value>
  10601. </Variable>
  10602. <Variable>
  10603. <Name>COM_body2\InertialTensor\state_initial</Name>
  10604. <Rows>6</Rows>
  10605. <Columns>1</Columns>
  10606. <Value>0 0 0 0 0 0</Value>
  10607. </Variable>
  10608. <Variable>
  10609. <Name>COM_body3\InertialTensor\state_initial</Name>
  10610. <Rows>6</Rows>
  10611. <Columns>1</Columns>
  10612. <Value>0 0 0 0 0 0</Value>
  10613. </Variable>
  10614. <Variable>
  10615. <Name>COM_body4\InertialTensor\state_initial</Name>
  10616. <Rows>6</Rows>
  10617. <Columns>1</Columns>
  10618. <Value>0 0 0 0 0 0</Value>
  10619. </Variable>
  10620. <Variable>
  10621. <Name>COM_body5\InertialTensor\state_initial</Name>
  10622. <Rows>6</Rows>
  10623. <Columns>1</Columns>
  10624. <Value>0 0 0 0 0 0</Value>
  10625. </Variable>
  10626. <Variable>
  10627. <Name>JointA\Hmatrix\p_initial</Name>
  10628. <Rows>3</Rows>
  10629. <Columns>1</Columns>
  10630. <Value>0 0 0</Value>
  10631. </Variable>
  10632. <Variable>
  10633. <Name>JointB\Hmatrix\p_initial</Name>
  10634. <Rows>3</Rows>
  10635. <Columns>1</Columns>
  10636. <Value>0 0 0</Value>
  10637. </Variable>
  10638. <Variable>
  10639. <Name>JointC\Hmatrix\p_initial</Name>
  10640. <Rows>3</Rows>
  10641. <Columns>1</Columns>
  10642. <Value>0 0 0</Value>
  10643. </Variable>
  10644. <Variable>
  10645. <Name>JointD\Hmatrix\p_initial</Name>
  10646. <Rows>3</Rows>
  10647. <Columns>1</Columns>
  10648. <Value>0 0 0</Value>
  10649. </Variable>
  10650. <Variable>
  10651. <Name>JointE\Hmatrix\p_initial</Name>
  10652. <Rows>3</Rows>
  10653. <Columns>1</Columns>
  10654. <Value>0 0 0</Value>
  10655. </Variable>
  10656. <Variable>
  10657. <Name>JointF\Hmatrix\p_initial</Name>
  10658. <Rows>3</Rows>
  10659. <Columns>1</Columns>
  10660. <Value>0 0 0</Value>
  10661. </Variable>
  10662. <Variable>
  10663. <Name>Joint_dynA\C1\state_initial</Name>
  10664. <Rows>3</Rows>
  10665. <Columns>1</Columns>
  10666. <Value>0 0 0</Value>
  10667. </Variable>
  10668. <Variable>
  10669. <Name>Joint_dynA\C4\state_initial</Name>
  10670. <Rows>2</Rows>
  10671. <Columns>1</Columns>
  10672. <Value>0 0</Value>
  10673. </Variable>
  10674. <Variable>
  10675. <Name>Joint_dynA\C\state_initial</Name>
  10676. <Value>0</Value>
  10677. </Variable>
  10678. <Variable>
  10679. <Name>Joint_dynA\stepper_model\I1\state_initial</Name>
  10680. <Value>0</Value>
  10681. </Variable>
  10682. <Variable>
  10683. <Name>Joint_dynA\stepper_model\I2\state_initial</Name>
  10684. <Value>0</Value>
  10685. </Variable>
  10686. <Variable>
  10687. <Name>Joint_dynA\stepper_model\I\state_initial</Name>
  10688. <Value>0</Value>
  10689. </Variable>
  10690. <Variable>
  10691. <Name>Joint_dynB\C1\state_initial</Name>
  10692. <Rows>3</Rows>
  10693. <Columns>1</Columns>
  10694. <Value>0 0 0</Value>
  10695. </Variable>
  10696. <Variable>
  10697. <Name>Joint_dynB\C4\state_initial</Name>
  10698. <Rows>2</Rows>
  10699. <Columns>1</Columns>
  10700. <Value>0 0</Value>
  10701. </Variable>
  10702. <Variable>
  10703. <Name>Joint_dynC\C1\state_initial</Name>
  10704. <Rows>3</Rows>
  10705. <Columns>1</Columns>
  10706. <Value>0 0 0</Value>
  10707. </Variable>
  10708. <Variable>
  10709. <Name>Joint_dynC\C4\state_initial</Name>
  10710. <Rows>2</Rows>
  10711. <Columns>1</Columns>
  10712. <Value>0 0</Value>
  10713. </Variable>
  10714. <Variable>
  10715. <Name>Joint_dynC\C\state_initial</Name>
  10716. <Value>0</Value>
  10717. </Variable>
  10718. <Variable>
  10719. <Name>Joint_dynC\stepper_model\I1\state_initial</Name>
  10720. <Value>0</Value>
  10721. </Variable>
  10722. <Variable>
  10723. <Name>Joint_dynC\stepper_model\I2\state_initial</Name>
  10724. <Value>0</Value>
  10725. </Variable>
  10726. <Variable>
  10727. <Name>Joint_dynC\stepper_model\I\state_initial</Name>
  10728. <Value>0</Value>
  10729. </Variable>
  10730. <Variable>
  10731. <Name>Joint_dynC\stepper_model\RotorAngle\angle_initial</Name>
  10732. <Unit>rad</Unit>
  10733. <Value>0</Value>
  10734. </Variable>
  10735. <Variable>
  10736. <Name>Joint_dynD\C1\state_initial</Name>
  10737. <Rows>3</Rows>
  10738. <Columns>1</Columns>
  10739. <Value>0 0 0</Value>
  10740. </Variable>
  10741. <Variable>
  10742. <Name>Joint_dynD\C4\state_initial</Name>
  10743. <Rows>2</Rows>
  10744. <Columns>1</Columns>
  10745. <Value>0 0</Value>
  10746. </Variable>
  10747. <Variable>
  10748. <Name>Joint_dynE\C1\state_initial</Name>
  10749. <Rows>3</Rows>
  10750. <Columns>1</Columns>
  10751. <Value>0 0 0</Value>
  10752. </Variable>
  10753. <Variable>
  10754. <Name>Joint_dynE\C4\state_initial</Name>
  10755. <Rows>2</Rows>
  10756. <Columns>1</Columns>
  10757. <Value>0 0</Value>
  10758. </Variable>
  10759. <Variable>
  10760. <Name>Joint_dynF\C1\state_initial</Name>
  10761. <Rows>3</Rows>
  10762. <Columns>1</Columns>
  10763. <Value>0 0 0</Value>
  10764. </Variable>
  10765. <Variable>
  10766. <Name>Joint_dynF\C4\state_initial</Name>
  10767. <Rows>2</Rows>
  10768. <Columns>1</Columns>
  10769. <Value>0 0</Value>
  10770. </Variable>
  10771. <Variable>
  10772. <Name>Joint_dynF\C\state_initial</Name>
  10773. <Value>0</Value>
  10774. </Variable>
  10775. <Variable>
  10776. <Name>LiftingArm\Joint1\Hmatrix\p_initial</Name>
  10777. <Rows>3</Rows>
  10778. <Columns>1</Columns>
  10779. <Value>0 0 0</Value>
  10780. </Variable>
  10781. <Variable>
  10782. <Name>LiftingArm\Joint2\Hmatrix\p_initial</Name>
  10783. <Rows>3</Rows>
  10784. <Columns>1</Columns>
  10785. <Value>0 0 0</Value>
  10786. </Variable>
  10787. <Variable>
  10788. <Name>LiftingArm\Joint\Hmatrix\p_initial</Name>
  10789. <Rows>3</Rows>
  10790. <Columns>1</Columns>
  10791. <Value>0 0 0</Value>
  10792. </Variable>
  10793. <Variable>
  10794. <Name>LiftingArm\Joint_dynF1\C1\state_initial</Name>
  10795. <Rows>3</Rows>
  10796. <Columns>1</Columns>
  10797. <Value>0 0 0</Value>
  10798. </Variable>
  10799. <Variable>
  10800. <Name>LiftingArm\Joint_dynF1\C4\state_initial</Name>
  10801. <Rows>2</Rows>
  10802. <Columns>1</Columns>
  10803. <Value>0 0</Value>
  10804. </Variable>
  10805. <Variable>
  10806. <Name>LiftingArm\Joint_dynF2\C1\state_initial</Name>
  10807. <Rows>3</Rows>
  10808. <Columns>1</Columns>
  10809. <Value>0 0 0</Value>
  10810. </Variable>
  10811. <Variable>
  10812. <Name>LiftingArm\Joint_dynF2\C4\state_initial</Name>
  10813. <Rows>2</Rows>
  10814. <Columns>1</Columns>
  10815. <Value>0 0</Value>
  10816. </Variable>
  10817. <Variable>
  10818. <Name>LiftingArm\Joint_dynF3\C1\state_initial</Name>
  10819. <Rows>3</Rows>
  10820. <Columns>1</Columns>
  10821. <Value>0 0 0</Value>
  10822. </Variable>
  10823. <Variable>
  10824. <Name>LiftingArm\Joint_dynF3\C4\state_initial</Name>
  10825. <Rows>2</Rows>
  10826. <Columns>1</Columns>
  10827. <Value>0 0</Value>
  10828. </Variable>
  10829. <Variable>
  10830. <Name>COM_body4\ZeroJunction1\p1.e_initial</Name>
  10831. <Rows>6</Rows>
  10832. <Columns>1</Columns>
  10833. <Value>0 0 0 0 0 0</Value>
  10834. </Variable>
  10835. <Variable>
  10836. <Name>COM_body5\ZeroJunction1\p1.e_initial</Name>
  10837. <Rows>6</Rows>
  10838. <Columns>1</Columns>
  10839. <Value>0 0 0 0 0 0</Value>
  10840. </Variable>
  10841. <Variable>
  10842. <Name>LiftingArm\Joint\AdHji\p2.e_initial</Name>
  10843. <Rows>6</Rows>
  10844. <Columns>1</Columns>
  10845. <Value>0 0 0 0 0 0</Value>
  10846. </Variable>
  10847. </Initials>
  10848. </Variables>
  10849. <PlotSpecs>
  10850. <VarNames>
  10851. <VarName>time</VarName>
  10852. <VarName>Body2\dimension[1]</VarName>
  10853. <VarName>Body2\dimension[2]</VarName>
  10854. <VarName>Body2\dimension[3]</VarName>
  10855. <VarName>Body2\position[1]</VarName>
  10856. <VarName>Body2\position[2]</VarName>
  10857. <VarName>Body2\position[3]</VarName>
  10858. <VarName>Body2\R[1,3]</VarName>
  10859. <VarName>Body2\R[2,3]</VarName>
  10860. <VarName>Body2\R[3,3]</VarName>
  10861. <VarName>Body2\R[1,2]</VarName>
  10862. <VarName>Body2\R[2,2]</VarName>
  10863. <VarName>Body2\R[3,2]</VarName>
  10864. <VarName>Body3\dimension[1]</VarName>
  10865. <VarName>Body3\dimension[2]</VarName>
  10866. <VarName>Body3\dimension[3]</VarName>
  10867. <VarName>Body3\position[1]</VarName>
  10868. <VarName>Body3\position[2]</VarName>
  10869. <VarName>Body3\position[3]</VarName>
  10870. <VarName>Body3\R[1,3]</VarName>
  10871. <VarName>Body3\R[2,3]</VarName>
  10872. <VarName>Body3\R[3,3]</VarName>
  10873. <VarName>Body3\R[1,2]</VarName>
  10874. <VarName>Body3\R[2,2]</VarName>
  10875. <VarName>Body3\R[3,2]</VarName>
  10876. <VarName>Body4\dimension[1]</VarName>
  10877. <VarName>Body4\dimension[2]</VarName>
  10878. <VarName>Body4\dimension[3]</VarName>
  10879. <VarName>Body4\R[1,3]</VarName>
  10880. <VarName>Body4\R[2,3]</VarName>
  10881. <VarName>Body4\R[3,3]</VarName>
  10882. <VarName>Body4\R[1,2]</VarName>
  10883. <VarName>Body4\R[2,2]</VarName>
  10884. <VarName>Body4\R[3,2]</VarName>
  10885. <VarName>Body4\position[1]</VarName>
  10886. <VarName>Body4\position[2]</VarName>
  10887. <VarName>Body4\position[3]</VarName>
  10888. <VarName>Body5\dimension[1]</VarName>
  10889. <VarName>Body5\dimension[2]</VarName>
  10890. <VarName>Body5\dimension[3]</VarName>
  10891. <VarName>Body5\position[1]</VarName>
  10892. <VarName>Body5\position[2]</VarName>
  10893. <VarName>Body5\position[3]</VarName>
  10894. <VarName>Body5\R[1,3]</VarName>
  10895. <VarName>Body5\R[2,3]</VarName>
  10896. <VarName>Body5\R[3,3]</VarName>
  10897. <VarName>Body5\R[1,2]</VarName>
  10898. <VarName>Body5\R[2,2]</VarName>
  10899. <VarName>Body5\R[3,2]</VarName>
  10900. <VarName>Joint_dynA\stepper_model\RotorAngle\angle</VarName>
  10901. <VarName>Joint_dynC\stepper_model\RotorAngle\angle</VarName>
  10902. <VarName>Body6\position[3]</VarName>
  10903. <VarName>Body6\position[2]</VarName>
  10904. <VarName>rectanglepath\output[2]</VarName>
  10905. <VarName>rectanglepath\output[1]</VarName>
  10906. <VarName>stepper_control\Acceleration_int\input</VarName>
  10907. <VarName>stepper_control\Velocity_int\output</VarName>
  10908. <VarName>stepper_control\Velocity_int\input</VarName>
  10909. <VarName>stepper_control1\Acceleration_int\input</VarName>
  10910. <VarName>stepper_control1\Velocity_int\output</VarName>
  10911. <VarName>stepper_control1\Velocity_int\input</VarName>
  10912. <VarName>Body6\R[1,3]</VarName>
  10913. <VarName>Body6\R[2,3]</VarName>
  10914. <VarName>Body6\R[3,3]</VarName>
  10915. <VarName>Body6\R[1,2]</VarName>
  10916. <VarName>Body6\R[2,2]</VarName>
  10917. <VarName>Body6\R[3,2]</VarName>
  10918. <VarName>Body6\position[1]</VarName>
  10919. <VarName>Body1\position[1]</VarName>
  10920. <VarName>Body1\position[2]</VarName>
  10921. <VarName>Body1\R[1,3]</VarName>
  10922. <VarName>Body1\R[2,3]</VarName>
  10923. <VarName>Body1\R[3,3]</VarName>
  10924. <VarName>Body1\R[1,2]</VarName>
  10925. <VarName>Body1\R[2,2]</VarName>
  10926. <VarName>Body1\R[3,2]</VarName>
  10927. <VarName>Body1\dimension[1]</VarName>
  10928. <VarName>Body1\dimension[2]</VarName>
  10929. <VarName>Body1\dimension[3]</VarName>
  10930. <VarName>Body1\position[3]</VarName>
  10931. <VarName>LiftingArm\Body_Lift2\dimension[1]</VarName>
  10932. <VarName>LiftingArm\Body_Lift2\dimension[2]</VarName>
  10933. <VarName>LiftingArm\Body_Lift2\dimension[3]</VarName>
  10934. <VarName>LiftingArm\Body_Lift2\position[1]</VarName>
  10935. <VarName>LiftingArm\Body_Lift2\position[2]</VarName>
  10936. <VarName>LiftingArm\Body_Lift2\position[3]</VarName>
  10937. <VarName>LiftingArm\Body_Lift2\R[1,3]</VarName>
  10938. <VarName>LiftingArm\Body_Lift2\R[2,3]</VarName>
  10939. <VarName>LiftingArm\Body_Lift2\R[3,3]</VarName>
  10940. <VarName>LiftingArm\Body_Lift2\R[1,2]</VarName>
  10941. <VarName>LiftingArm\Body_Lift2\R[2,2]</VarName>
  10942. <VarName>LiftingArm\Body_Lift2\R[3,2]</VarName>
  10943. <VarName>LiftingArm\Body_Lift3\dimension[1]</VarName>
  10944. <VarName>LiftingArm\Body_Lift3\dimension[2]</VarName>
  10945. <VarName>LiftingArm\Body_Lift3\dimension[3]</VarName>
  10946. <VarName>LiftingArm\Body_Lift3\position[1]</VarName>
  10947. <VarName>LiftingArm\Body_Lift3\position[2]</VarName>
  10948. <VarName>LiftingArm\Body_Lift3\position[3]</VarName>
  10949. <VarName>LiftingArm\Body_Lift3\R[1,3]</VarName>
  10950. <VarName>LiftingArm\Body_Lift3\R[2,3]</VarName>
  10951. <VarName>LiftingArm\Body_Lift3\R[3,3]</VarName>
  10952. <VarName>LiftingArm\Body_Lift3\R[1,2]</VarName>
  10953. <VarName>LiftingArm\Body_Lift3\R[2,2]</VarName>
  10954. <VarName>LiftingArm\Body_Lift3\R[3,2]</VarName>
  10955. <VarName>LiftingArm\Body_Lift4\dimension[1]</VarName>
  10956. <VarName>LiftingArm\Body_Lift4\dimension[2]</VarName>
  10957. <VarName>LiftingArm\Body_Lift4\dimension[3]</VarName>
  10958. <VarName>LiftingArm\Body_Lift4\position[1]</VarName>
  10959. <VarName>LiftingArm\Body_Lift4\position[2]</VarName>
  10960. <VarName>LiftingArm\Body_Lift4\position[3]</VarName>
  10961. <VarName>LiftingArm\Body_Lift4\R[1,3]</VarName>
  10962. <VarName>LiftingArm\Body_Lift4\R[2,3]</VarName>
  10963. <VarName>LiftingArm\Body_Lift4\R[3,3]</VarName>
  10964. <VarName>LiftingArm\Body_Lift4\R[1,2]</VarName>
  10965. <VarName>LiftingArm\Body_Lift4\R[2,2]</VarName>
  10966. <VarName>LiftingArm\Body_Lift4\R[3,2]</VarName>
  10967. <VarName>stepper_control\setpoint</VarName>
  10968. <VarName>Joint_dynA\stepper_model\angle</VarName>
  10969. <VarName>stepper_control1\setpoint</VarName>
  10970. <VarName>Joint_dynC\angle</VarName>
  10971. <VarName>Body_Lift2\position[2]</VarName>
  10972. <VarName>Body_Lift2\position[3]</VarName>
  10973. </VarNames>
  10974. <Plots>
  10975. <Plot>
  10976. <PlotType>GraphPlot</PlotType>
  10977. <BasePlot>
  10978. <PlotId>1</PlotId>
  10979. <UseWindowsBGColor>false</UseWindowsBGColor>
  10980. <BGColor>16777215</BGColor>
  10981. <PlotIsVisible>true</PlotIsVisible>
  10982. </BasePlot>
  10983. <Grid>
  10984. <DrawGrid>true</DrawGrid>
  10985. <GridColor>15780518</GridColor>
  10986. <GridBorderLineColor>12624260</GridBorderLineColor>
  10987. <GridZeroLineColor>0</GridZeroLineColor>
  10988. <XTicks>10</XTicks>
  10989. <YTicks>10</YTicks>
  10990. <ZTicks>10</ZTicks>
  10991. <Use3DLook>false</Use3DLook>
  10992. </Grid>
  10993. <PlotBGColor>16777215</PlotBGColor>
  10994. <ShowPlotTitle>true</ShowPlotTitle>
  10995. <TitlePosition>1</TitlePosition>
  10996. <PlotTitle>Stepper Motor A</PlotTitle>
  10997. <ShowXValues>true</ShowXValues>
  10998. <Fonts>
  10999. <TitleFont>
  11000. <Name>Arial</Name>
  11001. <Height>12</Height>
  11002. <PitchFamily>34</PitchFamily>
  11003. <Weight>400</Weight>
  11004. <Italic>0</Italic>
  11005. <UnderLine>0</UnderLine>
  11006. <StrikeOut>0</StrikeOut>
  11007. <Color>0</Color>
  11008. </TitleFont>
  11009. <LabelFont>
  11010. <Name>Arial</Name>
  11011. <Height>12</Height>
  11012. <PitchFamily>34</PitchFamily>
  11013. <Weight>400</Weight>
  11014. <Italic>0</Italic>
  11015. <UnderLine>0</UnderLine>
  11016. <StrikeOut>0</StrikeOut>
  11017. <Color>0</Color>
  11018. </LabelFont>
  11019. <ValuesFont>
  11020. <Name>Arial</Name>
  11021. <Height>10</Height>
  11022. <PitchFamily>34</PitchFamily>
  11023. <Weight>400</Weight>
  11024. <Italic>0</Italic>
  11025. <UnderLine>0</UnderLine>
  11026. <StrikeOut>0</StrikeOut>
  11027. <Color>0</Color>
  11028. </ValuesFont>
  11029. <LegendFont>
  11030. <Name>Arial</Name>
  11031. <Height>12</Height>
  11032. <PitchFamily>34</PitchFamily>
  11033. <Weight>400</Weight>
  11034. <Italic>0</Italic>
  11035. <UnderLine>0</UnderLine>
  11036. <StrikeOut>0</StrikeOut>
  11037. <Color>0</Color>
  11038. </LegendFont>
  11039. </Fonts>
  11040. <SharedXAxis>true</SharedXAxis>
  11041. <SharedYAxis>true</SharedYAxis>
  11042. <SharedZAxis>false</SharedZAxis>
  11043. <XAxes>
  11044. <Axis>
  11045. <Minimum>0.0</Minimum>
  11046. <Maximum>6.0</Maximum>
  11047. <Linear>true</Linear>
  11048. <Scaling>3</Scaling>
  11049. <Label>time</Label>
  11050. </Axis>
  11051. </XAxes>
  11052. <YAxes>
  11053. <Axis>
  11054. <Minimum>0.6000000000000002</Minimum>
  11055. <Maximum>2.6000000000000005</Maximum>
  11056. <Linear>true</Linear>
  11057. <Scaling>2</Scaling>
  11058. <Label>Control Setpoint</Label>
  11059. </Axis>
  11060. <Axis>
  11061. <Minimum>-2.6</Minimum>
  11062. <Maximum>-0.6</Maximum>
  11063. <Linear>true</Linear>
  11064. <Scaling>2</Scaling>
  11065. <Label>Control Output</Label>
  11066. </Axis>
  11067. <Axis>
  11068. <Minimum>-2.6</Minimum>
  11069. <Maximum>-0.6</Maximum>
  11070. <Linear>true</Linear>
  11071. <Scaling>2</Scaling>
  11072. <Label>Axle Angle</Label>
  11073. </Axis>
  11074. </YAxes>
  11075. <ZAxes>
  11076. </ZAxes>
  11077. <Curves>
  11078. <Curve>
  11079. <LineColor>3355111</LineColor>
  11080. <LineStyle>1</LineStyle>
  11081. <TickColor>3355111</TickColor>
  11082. <TickStyle>0</TickStyle>
  11083. <CurveVisible>true</CurveVisible>
  11084. <PixelThresshold>1</PixelThresshold>
  11085. <LineThickness>1</LineThickness>
  11086. <LineOrder>1</LineOrder>
  11087. <ShowYValues>true</ShowYValues>
  11088. <XCurveData>
  11089. <ShowUnit>true</ShowUnit>
  11090. <VarName>time</VarName>
  11091. </XCurveData>
  11092. <YCurveData>
  11093. <ShowUnit>true</ShowUnit>
  11094. <VarName>stepper_control\setpoint</VarName>
  11095. </YCurveData>
  11096. </Curve>
  11097. <Curve>
  11098. <LineColor>6076255</LineColor>
  11099. <LineStyle>1</LineStyle>
  11100. <TickColor>6076255</TickColor>
  11101. <TickStyle>0</TickStyle>
  11102. <CurveVisible>true</CurveVisible>
  11103. <PixelThresshold>1</PixelThresshold>
  11104. <LineThickness>1</LineThickness>
  11105. <LineOrder>1</LineOrder>
  11106. <ShowYValues>true</ShowYValues>
  11107. <XCurveData>
  11108. <ShowUnit>true</ShowUnit>
  11109. <VarName>time</VarName>
  11110. </XCurveData>
  11111. <YCurveData>
  11112. <ShowUnit>true</ShowUnit>
  11113. <VarName>Joint_dynA\stepper_model\angle</VarName>
  11114. </YCurveData>
  11115. </Curve>
  11116. <Curve>
  11117. <LineColor>12553035</LineColor>
  11118. <LineStyle>1</LineStyle>
  11119. <TickColor>12553035</TickColor>
  11120. <TickStyle>0</TickStyle>
  11121. <CurveVisible>true</CurveVisible>
  11122. <PixelThresshold>1</PixelThresshold>
  11123. <LineThickness>1</LineThickness>
  11124. <LineOrder>1</LineOrder>
  11125. <ShowYValues>true</ShowYValues>
  11126. <XCurveData>
  11127. <ShowUnit>true</ShowUnit>
  11128. <VarName>time</VarName>
  11129. </XCurveData>
  11130. <YCurveData>
  11131. <ShowUnit>true</ShowUnit>
  11132. <VarName>Joint_dynA\stepper_model\RotorAngle\angle</VarName>
  11133. </YCurveData>
  11134. </Curve>
  11135. </Curves>
  11136. <Legenda>
  11137. <ShowLegenda>true</ShowLegenda>
  11138. <Position>
  11139. <X>0.12119013062409288</X>
  11140. <Y>0.8741610738255033</Y>
  11141. </Position>
  11142. <BorderPenColor>0</BorderPenColor>
  11143. <BackgroundColor>16777215</BackgroundColor>
  11144. </Legenda>
  11145. </Plot>
  11146. <Plot>
  11147. <PlotType>D3DPlot</PlotType>
  11148. <BasePlot>
  11149. <PlotId>2</PlotId>
  11150. <UseWindowsBGColor>false</UseWindowsBGColor>
  11151. <BGColor>16777215</BGColor>
  11152. <PlotIsVisible>true</PlotIsVisible>
  11153. </BasePlot>
  11154. <PlotTitle>3D Animation</PlotTitle>
  11155. <RenderQuality>137</RenderQuality>
  11156. <ShowGrid>true</ShowGrid>
  11157. <ShowFPS>false</ShowFPS>
  11158. <BackgroundColor>4294967295</BackgroundColor>
  11159. <SceneBackgroundImage>Gradients\BlueWhite.png</SceneBackgroundImage>
  11160. <ApplyTextureBackground>true</ApplyTextureBackground>
  11161. <FrameScale>1.0</FrameScale>
  11162. <FrameThickness>1.0</FrameThickness>
  11163. <MainFrame>
  11164. <Frame>
  11165. <ScaleValue>
  11166. <X>
  11167. <Value>1</Value>
  11168. </X>
  11169. <Y>
  11170. <Value>1</Value>
  11171. </Y>
  11172. <Z>
  11173. <Value>1</Value>
  11174. </Z>
  11175. </ScaleValue>
  11176. <ShowReferenceFrame>true</ShowReferenceFrame>
  11177. <Name>Reference Frame</Name>
  11178. <Position>
  11179. </Position>
  11180. <Orientation>
  11181. <Angles>
  11182. </Angles>
  11183. <OrientationType>Bryant</OrientationType>
  11184. </Orientation>
  11185. <LockX>false</LockX>
  11186. <LockY>false</LockY>
  11187. <LockZ>false</LockZ>
  11188. <LockXPitch>false</LockXPitch>
  11189. <LockYYaw>false</LockYYaw>
  11190. <LockZRoll>false</LockZRoll>
  11191. <Childs>
  11192. <Frame>
  11193. <ScaleValue>
  11194. <X>
  11195. <Value>1</Value>
  11196. </X>
  11197. <Y>
  11198. <Value>1</Value>
  11199. </Y>
  11200. <Z>
  11201. <Value>1</Value>
  11202. </Z>
  11203. </ScaleValue>
  11204. <ShowReferenceFrame>false</ShowReferenceFrame>
  11205. <Name>Default Lights and Cameras</Name>
  11206. <Position>
  11207. </Position>
  11208. <Orientation>
  11209. <Angles>
  11210. </Angles>
  11211. <OrientationType>Bryant</OrientationType>
  11212. </Orientation>
  11213. <LockX>false</LockX>
  11214. <LockY>false</LockY>
  11215. <LockZ>false</LockZ>
  11216. <LockXPitch>false</LockXPitch>
  11217. <LockYYaw>false</LockYYaw>
  11218. <LockZRoll>false</LockZRoll>
  11219. <Childs>
  11220. <Light>
  11221. <ShowReferenceFrame>false</ShowReferenceFrame>
  11222. <Name>Ambient</Name>
  11223. <Position>
  11224. </Position>
  11225. <Orientation>
  11226. <ZAxis>
  11227. <Z>
  11228. <Value>1</Value>
  11229. </Z>
  11230. </ZAxis>
  11231. <YAxis>
  11232. <Y>
  11233. <Value>1</Value>
  11234. </Y>
  11235. </YAxis>
  11236. <OrientationType>Direct3D</OrientationType>
  11237. </Orientation>
  11238. <LockX>false</LockX>
  11239. <LockY>false</LockY>
  11240. <LockZ>false</LockZ>
  11241. <LockXPitch>false</LockXPitch>
  11242. <LockYYaw>false</LockYYaw>
  11243. <LockZRoll>false</LockZRoll>
  11244. <Childs>
  11245. </Childs>
  11246. <LightType>0</LightType>
  11247. <LightColor>
  11248. <Color>
  11249. <X>
  11250. <Value>0.3</Value>
  11251. </X>
  11252. <Y>
  11253. <Value>0.3</Value>
  11254. </Y>
  11255. <Z>
  11256. <Value>0.3</Value>
  11257. </Z>
  11258. </Color>
  11259. <Offset>
  11260. </Offset>
  11261. <Multipliers>
  11262. <X>
  11263. <Value>1</Value>
  11264. </X>
  11265. <Y>
  11266. <Value>1</Value>
  11267. </Y>
  11268. <Z>
  11269. <Value>1</Value>
  11270. </Z>
  11271. </Multipliers>
  11272. <Direct3DColorRange>true</Direct3DColorRange>
  11273. </LightColor>
  11274. <AmbientLight>
  11275. <Color>
  11276. <X>
  11277. <Value>0.3</Value>
  11278. </X>
  11279. <Y>
  11280. <Value>0.3</Value>
  11281. </Y>
  11282. <Z>
  11283. <Value>0.3</Value>
  11284. </Z>
  11285. </Color>
  11286. <Offset>
  11287. </Offset>
  11288. <Multipliers>
  11289. <X>
  11290. <Value>1</Value>
  11291. </X>
  11292. <Y>
  11293. <Value>1</Value>
  11294. </Y>
  11295. <Z>
  11296. <Value>1</Value>
  11297. </Z>
  11298. </Multipliers>
  11299. <Direct3DColorRange>true</Direct3DColorRange>
  11300. </AmbientLight>
  11301. <AmbientOn>true</AmbientOn>
  11302. <DiffuseOn>false</DiffuseOn>
  11303. <SpecularOn>false</SpecularOn>
  11304. </Light>
  11305. <Light>
  11306. <ShowReferenceFrame>false</ShowReferenceFrame>
  11307. <Name>Parallel</Name>
  11308. <Position>
  11309. <X>
  11310. <Value>-3</Value>
  11311. </X>
  11312. <Y>
  11313. <Value>5</Value>
  11314. </Y>
  11315. <Z>
  11316. <Value>3</Value>
  11317. </Z>
  11318. </Position>
  11319. <Orientation>
  11320. <ZAxis>
  11321. <X>
  11322. <Value>0.457495710997814</Value>
  11323. </X>
  11324. <Y>
  11325. <Value>-0.762492851663023</Value>
  11326. </Y>
  11327. <Z>
  11328. <Value>-0.457495710997814</Value>
  11329. </Z>
  11330. </ZAxis>
  11331. <YAxis>
  11332. <X>
  11333. <Value>0.235379601434674</Value>
  11334. </X>
  11335. <Y>
  11336. <Value>-0.392299335724456</Value>
  11337. </Y>
  11338. <Z>
  11339. <Value>0.889211827642101</Value>
  11340. </Z>
  11341. </YAxis>
  11342. <OrientationType>Direct3D</OrientationType>
  11343. </Orientation>
  11344. <LockX>false</LockX>
  11345. <LockY>false</LockY>
  11346. <LockZ>false</LockZ>
  11347. <LockXPitch>false</LockXPitch>
  11348. <LockYYaw>false</LockYYaw>
  11349. <LockZRoll>false</LockZRoll>
  11350. <Childs>
  11351. </Childs>
  11352. <LightType>3</LightType>
  11353. <LightColor>
  11354. <Color>
  11355. <X>
  11356. <Value>0.5</Value>
  11357. </X>
  11358. <Y>
  11359. <Value>0.5</Value>
  11360. </Y>
  11361. <Z>
  11362. <Value>0.5</Value>
  11363. </Z>
  11364. </Color>
  11365. <Offset>
  11366. </Offset>
  11367. <Multipliers>
  11368. <X>
  11369. <Value>1</Value>
  11370. </X>
  11371. <Y>
  11372. <Value>1</Value>
  11373. </Y>
  11374. <Z>
  11375. <Value>1</Value>
  11376. </Z>
  11377. </Multipliers>
  11378. <Direct3DColorRange>true</Direct3DColorRange>
  11379. </LightColor>
  11380. <Attenuation>
  11381. <Constant>
  11382. <Value>1.0</Value>
  11383. </Constant>
  11384. <Linear>
  11385. <Value>0.0</Value>
  11386. </Linear>
  11387. <Quadratic>
  11388. <Value>0.0</Value>
  11389. </Quadratic>
  11390. </Attenuation>
  11391. <DiffuseLight>
  11392. <Color>
  11393. <X>
  11394. <Value>0.5</Value>
  11395. </X>
  11396. <Y>
  11397. <Value>0.5</Value>
  11398. </Y>
  11399. <Z>
  11400. <Value>0.5</Value>
  11401. </Z>
  11402. </Color>
  11403. <Offset>
  11404. </Offset>
  11405. <Multipliers>
  11406. <X>
  11407. <Value>1</Value>
  11408. </X>
  11409. <Y>
  11410. <Value>1</Value>
  11411. </Y>
  11412. <Z>
  11413. <Value>1</Value>
  11414. </Z>
  11415. </Multipliers>
  11416. <Direct3DColorRange>true</Direct3DColorRange>
  11417. </DiffuseLight>
  11418. <SpecularLight>
  11419. <Color>
  11420. <X>
  11421. <Value>0.5</Value>
  11422. </X>
  11423. <Y>
  11424. <Value>0.5</Value>
  11425. </Y>
  11426. <Z>
  11427. <Value>0.5</Value>
  11428. </Z>
  11429. </Color>
  11430. <Offset>
  11431. </Offset>
  11432. <Multipliers>
  11433. <X>
  11434. <Value>1</Value>
  11435. </X>
  11436. <Y>
  11437. <Value>1</Value>
  11438. </Y>
  11439. <Z>
  11440. <Value>1</Value>
  11441. </Z>
  11442. </Multipliers>
  11443. <Direct3DColorRange>true</Direct3DColorRange>
  11444. </SpecularLight>
  11445. <AmbientOn>false</AmbientOn>
  11446. <DiffuseOn>true</DiffuseOn>
  11447. <SpecularOn>true</SpecularOn>
  11448. </Light>
  11449. <Light>
  11450. <ShowReferenceFrame>false</ShowReferenceFrame>
  11451. <Name>Spot Light 1</Name>
  11452. <Position>
  11453. <X>
  11454. <Value>-3</Value>
  11455. </X>
  11456. <Y>
  11457. <Value>-5</Value>
  11458. </Y>
  11459. <Z>
  11460. <Value>1</Value>
  11461. </Z>
  11462. </Position>
  11463. <Orientation>
  11464. <ZAxis>
  11465. <X>
  11466. <Value>0.50709255283711</Value>
  11467. </X>
  11468. <Y>
  11469. <Value>0.845154254728517</Value>
  11470. </Y>
  11471. <Z>
  11472. <Value>-0.169030850945703</Value>
  11473. </Z>
  11474. </ZAxis>
  11475. <YAxis>
  11476. <X>
  11477. <Value>0.0869656553478673</Value>
  11478. </X>
  11479. <Y>
  11480. <Value>0.144942758913112</Value>
  11481. </Y>
  11482. <Z>
  11483. <Value>0.985610760609162</Value>
  11484. </Z>
  11485. </YAxis>
  11486. <OrientationType>Direct3D</OrientationType>
  11487. </Orientation>
  11488. <LockX>false</LockX>
  11489. <LockY>false</LockY>
  11490. <LockZ>false</LockZ>
  11491. <LockXPitch>false</LockXPitch>
  11492. <LockYYaw>false</LockYYaw>
  11493. <LockZRoll>false</LockZRoll>
  11494. <Childs>
  11495. </Childs>
  11496. <LightType>2</LightType>
  11497. <LightColor>
  11498. <Color>
  11499. <X>
  11500. <Value>0.5</Value>
  11501. </X>
  11502. <Y>
  11503. <Value>0.5</Value>
  11504. </Y>
  11505. <Z>
  11506. <Value>0.5</Value>
  11507. </Z>
  11508. </Color>
  11509. <Offset>
  11510. </Offset>
  11511. <Multipliers>
  11512. <X>
  11513. <Value>1</Value>
  11514. </X>
  11515. <Y>
  11516. <Value>1</Value>
  11517. </Y>
  11518. <Z>
  11519. <Value>1</Value>
  11520. </Z>
  11521. </Multipliers>
  11522. <Direct3DColorRange>true</Direct3DColorRange>
  11523. </LightColor>
  11524. <Attenuation>
  11525. <Constant>
  11526. <Value>1.0</Value>
  11527. </Constant>
  11528. <Linear>
  11529. <Value>0.05</Value>
  11530. </Linear>
  11531. <Quadratic>
  11532. <Value>0.05</Value>
  11533. </Quadratic>
  11534. </Attenuation>
  11535. <Umbra>
  11536. <Value>1.0471975511965976</Value>
  11537. </Umbra>
  11538. <Penumbra>
  11539. <Value>1.0471975511965976</Value>
  11540. </Penumbra>
  11541. <SpotExponent>0.0</SpotExponent>
  11542. <DiffuseLight>
  11543. <Color>
  11544. <X>
  11545. <Value>0.5</Value>
  11546. </X>
  11547. <Y>
  11548. <Value>0.5</Value>
  11549. </Y>
  11550. <Z>
  11551. <Value>0.5</Value>
  11552. </Z>
  11553. </Color>
  11554. <Offset>
  11555. </Offset>
  11556. <Multipliers>
  11557. <X>
  11558. <Value>1</Value>
  11559. </X>
  11560. <Y>
  11561. <Value>1</Value>
  11562. </Y>
  11563. <Z>
  11564. <Value>1</Value>
  11565. </Z>
  11566. </Multipliers>
  11567. <Direct3DColorRange>true</Direct3DColorRange>
  11568. </DiffuseLight>
  11569. <SpecularLight>
  11570. <Color>
  11571. <X>
  11572. <Value>0.5</Value>
  11573. </X>
  11574. <Y>
  11575. <Value>0.5</Value>
  11576. </Y>
  11577. <Z>
  11578. <Value>0.5</Value>
  11579. </Z>
  11580. </Color>
  11581. <Offset>
  11582. </Offset>
  11583. <Multipliers>
  11584. <X>
  11585. <Value>1</Value>
  11586. </X>
  11587. <Y>
  11588. <Value>1</Value>
  11589. </Y>
  11590. <Z>
  11591. <Value>1</Value>
  11592. </Z>
  11593. </Multipliers>
  11594. <Direct3DColorRange>true</Direct3DColorRange>
  11595. </SpecularLight>
  11596. <AmbientOn>false</AmbientOn>
  11597. <DiffuseOn>true</DiffuseOn>
  11598. <SpecularOn>true</SpecularOn>
  11599. </Light>
  11600. <Light>
  11601. <ShowReferenceFrame>false</ShowReferenceFrame>
  11602. <Name>Spot Light 2</Name>
  11603. <Position>
  11604. <X>
  11605. <Value>2</Value>
  11606. </X>
  11607. <Y>
  11608. <Value>-3</Value>
  11609. </Y>
  11610. <Z>
  11611. <Value>-1</Value>
  11612. </Z>
  11613. </Position>
  11614. <Orientation>
  11615. <ZAxis>
  11616. <X>
  11617. <Value>-0.534522483824849</Value>
  11618. </X>
  11619. <Y>
  11620. <Value>0.801783725737273</Value>
  11621. </Y>
  11622. <Z>
  11623. <Value>0.267261241912424</Value>
  11624. </Z>
  11625. </ZAxis>
  11626. <YAxis>
  11627. <X>
  11628. <Value>0.14824986333222</Value>
  11629. </X>
  11630. <Y>
  11631. <Value>-0.22237479499833</Value>
  11632. </Y>
  11633. <Z>
  11634. <Value>0.963624111659432</Value>
  11635. </Z>
  11636. </YAxis>
  11637. <OrientationType>Direct3D</OrientationType>
  11638. </Orientation>
  11639. <LockX>false</LockX>
  11640. <LockY>false</LockY>
  11641. <LockZ>false</LockZ>
  11642. <LockXPitch>false</LockXPitch>
  11643. <LockYYaw>false</LockYYaw>
  11644. <LockZRoll>false</LockZRoll>
  11645. <Childs>
  11646. </Childs>
  11647. <LightType>2</LightType>
  11648. <LightColor>
  11649. <Color>
  11650. <X>
  11651. <Value>1</Value>
  11652. </X>
  11653. <Y>
  11654. <Value>1</Value>
  11655. </Y>
  11656. <Z>
  11657. <Value>1</Value>
  11658. </Z>
  11659. </Color>
  11660. <Offset>
  11661. </Offset>
  11662. <Multipliers>
  11663. <X>
  11664. <Value>1</Value>
  11665. </X>
  11666. <Y>
  11667. <Value>1</Value>
  11668. </Y>
  11669. <Z>
  11670. <Value>1</Value>
  11671. </Z>
  11672. </Multipliers>
  11673. <Direct3DColorRange>true</Direct3DColorRange>
  11674. </LightColor>
  11675. <Attenuation>
  11676. <Constant>
  11677. <Value>1.0</Value>
  11678. </Constant>
  11679. <Linear>
  11680. <Value>0.05</Value>
  11681. </Linear>
  11682. <Quadratic>
  11683. <Value>0.05</Value>
  11684. </Quadratic>
  11685. </Attenuation>
  11686. <Umbra>
  11687. <Value>1.5707963267948966</Value>
  11688. </Umbra>
  11689. <Penumbra>
  11690. <Value>1.5707963267948966</Value>
  11691. </Penumbra>
  11692. <SpotExponent>0.0</SpotExponent>
  11693. <DiffuseLight>
  11694. <Color>
  11695. <X>
  11696. <Value>1</Value>
  11697. </X>
  11698. <Y>
  11699. <Value>1</Value>
  11700. </Y>
  11701. <Z>
  11702. <Value>1</Value>
  11703. </Z>
  11704. </Color>
  11705. <Offset>
  11706. </Offset>
  11707. <Multipliers>
  11708. <X>
  11709. <Value>1</Value>
  11710. </X>
  11711. <Y>
  11712. <Value>1</Value>
  11713. </Y>
  11714. <Z>
  11715. <Value>1</Value>
  11716. </Z>
  11717. </Multipliers>
  11718. <Direct3DColorRange>true</Direct3DColorRange>
  11719. </DiffuseLight>
  11720. <SpecularLight>
  11721. <Color>
  11722. <X>
  11723. <Value>0.5</Value>
  11724. </X>
  11725. <Y>
  11726. <Value>0.5</Value>
  11727. </Y>
  11728. <Z>
  11729. <Value>0.5</Value>
  11730. </Z>
  11731. </Color>
  11732. <Offset>
  11733. </Offset>
  11734. <Multipliers>
  11735. <X>
  11736. <Value>1</Value>
  11737. </X>
  11738. <Y>
  11739. <Value>1</Value>
  11740. </Y>
  11741. <Z>
  11742. <Value>1</Value>
  11743. </Z>
  11744. </Multipliers>
  11745. <Direct3DColorRange>true</Direct3DColorRange>
  11746. </SpecularLight>
  11747. <AmbientOn>false</AmbientOn>
  11748. <DiffuseOn>true</DiffuseOn>
  11749. <SpecularOn>true</SpecularOn>
  11750. </Light>
  11751. <Camera>
  11752. <ShowReferenceFrame>false</ShowReferenceFrame>
  11753. <Name>Camera Looking at Origin</Name>
  11754. <Position>
  11755. <X>
  11756. <Value>0.223787984479337</Value>
  11757. </X>
  11758. <Y>
  11759. <Value>0.0954804685656807</Value>
  11760. </Y>
  11761. <Z>
  11762. <Value>0.105305809287375</Value>
  11763. </Z>
  11764. </Position>
  11765. <Orientation>
  11766. <ZAxis>
  11767. <X>
  11768. <Value>-0.88839104703304</Value>
  11769. </X>
  11770. <Y>
  11771. <Value>-0.37796546340258</Value>
  11772. </Y>
  11773. <Z>
  11774. <Value>-0.260582915837574</Value>
  11775. </Z>
  11776. </ZAxis>
  11777. <YAxis>
  11778. <X>
  11779. <Value>-0.239783703536445</Value>
  11780. </X>
  11781. <Y>
  11782. <Value>-0.1020158396758</Value>
  11783. </Y>
  11784. <Z>
  11785. <Value>0.965451471578757</Value>
  11786. </Z>
  11787. </YAxis>
  11788. <OrientationType>Direct3D</OrientationType>
  11789. </Orientation>
  11790. <LockX>false</LockX>
  11791. <LockY>false</LockY>
  11792. <LockZ>false</LockZ>
  11793. <LockXPitch>false</LockXPitch>
  11794. <LockYYaw>false</LockYYaw>
  11795. <LockZRoll>false</LockZRoll>
  11796. <Childs>
  11797. </Childs>
  11798. <FrontPlane>0.01</FrontPlane>
  11799. <BackPlane>100.0</BackPlane>
  11800. <AutoFrontBack>true</AutoFrontBack>
  11801. <Field>0.003926990816987242</Field>
  11802. <Fieldy>45.0</Fieldy>
  11803. <PlaneLeft>-10.0</PlaneLeft>
  11804. <PlaneRight>10.0</PlaneRight>
  11805. <PlaneTop>10.0</PlaneTop>
  11806. <PlaneBottom>-10.0</PlaneBottom>
  11807. <UseLookatPosition>true</UseLookatPosition>
  11808. <LookatPosition>
  11809. <X>
  11810. <Value>-0.000627364166602552</Value>
  11811. </X>
  11812. <Y>
  11813. <Value>3.08669776184333e-006</Value>
  11814. </Y>
  11815. <Z>
  11816. <Value>0.0394802856014185</Value>
  11817. </Z>
  11818. </LookatPosition>
  11819. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  11820. <LookUpVector>
  11821. <Z>
  11822. <Value>1</Value>
  11823. </Z>
  11824. </LookUpVector>
  11825. <RightHand>true</RightHand>
  11826. <Perspective>true</Perspective>
  11827. <IsSelectedCamera>true</IsSelectedCamera>
  11828. </Camera>
  11829. <Camera>
  11830. <ShowReferenceFrame>false</ShowReferenceFrame>
  11831. <Name>Front(XY)-Camera</Name>
  11832. <Position>
  11833. <Z>
  11834. <Value>10</Value>
  11835. </Z>
  11836. </Position>
  11837. <Orientation>
  11838. <ZAxis>
  11839. <Z>
  11840. <Value>-1</Value>
  11841. </Z>
  11842. </ZAxis>
  11843. <YAxis>
  11844. <Y>
  11845. <Value>1</Value>
  11846. </Y>
  11847. </YAxis>
  11848. <OrientationType>Direct3D</OrientationType>
  11849. </Orientation>
  11850. <LockX>false</LockX>
  11851. <LockY>false</LockY>
  11852. <LockZ>false</LockZ>
  11853. <LockXPitch>false</LockXPitch>
  11854. <LockYYaw>false</LockYYaw>
  11855. <LockZRoll>false</LockZRoll>
  11856. <Childs>
  11857. </Childs>
  11858. <FrontPlane>0.01</FrontPlane>
  11859. <BackPlane>100.0</BackPlane>
  11860. <AutoFrontBack>true</AutoFrontBack>
  11861. <Field>9.999999999999998</Field>
  11862. <Fieldy>45.0</Fieldy>
  11863. <PlaneLeft>-9.999999999999998</PlaneLeft>
  11864. <PlaneRight>9.999999999999998</PlaneRight>
  11865. <PlaneTop>9.999999999999998</PlaneTop>
  11866. <PlaneBottom>-9.999999999999998</PlaneBottom>
  11867. <UseLookatPosition>true</UseLookatPosition>
  11868. <LookatPosition>
  11869. </LookatPosition>
  11870. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  11871. <LookUpVector>
  11872. <Y>
  11873. <Value>1</Value>
  11874. </Y>
  11875. </LookUpVector>
  11876. <RightHand>true</RightHand>
  11877. <Perspective>false</Perspective>
  11878. <IsSelectedCamera>false</IsSelectedCamera>
  11879. </Camera>
  11880. <Camera>
  11881. <ShowReferenceFrame>false</ShowReferenceFrame>
  11882. <Name>Side(YZ)-Camera</Name>
  11883. <Position>
  11884. <X>
  11885. <Value>10</Value>
  11886. </X>
  11887. </Position>
  11888. <Orientation>
  11889. <ZAxis>
  11890. <X>
  11891. <Value>-1</Value>
  11892. </X>
  11893. </ZAxis>
  11894. <YAxis>
  11895. <Z>
  11896. <Value>1</Value>
  11897. </Z>
  11898. </YAxis>
  11899. <OrientationType>Direct3D</OrientationType>
  11900. </Orientation>
  11901. <LockX>false</LockX>
  11902. <LockY>false</LockY>
  11903. <LockZ>false</LockZ>
  11904. <LockXPitch>false</LockXPitch>
  11905. <LockYYaw>false</LockYYaw>
  11906. <LockZRoll>false</LockZRoll>
  11907. <Childs>
  11908. </Childs>
  11909. <FrontPlane>0.01</FrontPlane>
  11910. <BackPlane>100.0</BackPlane>
  11911. <AutoFrontBack>true</AutoFrontBack>
  11912. <Field>9.999999999999998</Field>
  11913. <Fieldy>45.0</Fieldy>
  11914. <PlaneLeft>-9.999999999999998</PlaneLeft>
  11915. <PlaneRight>9.999999999999998</PlaneRight>
  11916. <PlaneTop>9.999999999999998</PlaneTop>
  11917. <PlaneBottom>-9.999999999999998</PlaneBottom>
  11918. <UseLookatPosition>true</UseLookatPosition>
  11919. <LookatPosition>
  11920. </LookatPosition>
  11921. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  11922. <LookUpVector>
  11923. <Z>
  11924. <Value>1</Value>
  11925. </Z>
  11926. </LookUpVector>
  11927. <RightHand>true</RightHand>
  11928. <Perspective>false</Perspective>
  11929. <IsSelectedCamera>false</IsSelectedCamera>
  11930. </Camera>
  11931. <Camera>
  11932. <ShowReferenceFrame>false</ShowReferenceFrame>
  11933. <Name>Top(XZ)-Camera</Name>
  11934. <Position>
  11935. <Y>
  11936. <Value>10</Value>
  11937. </Y>
  11938. </Position>
  11939. <Orientation>
  11940. <ZAxis>
  11941. <Y>
  11942. <Value>-1</Value>
  11943. </Y>
  11944. </ZAxis>
  11945. <YAxis>
  11946. <X>
  11947. <Value>1</Value>
  11948. </X>
  11949. </YAxis>
  11950. <OrientationType>Direct3D</OrientationType>
  11951. </Orientation>
  11952. <LockX>false</LockX>
  11953. <LockY>false</LockY>
  11954. <LockZ>false</LockZ>
  11955. <LockXPitch>false</LockXPitch>
  11956. <LockYYaw>false</LockYYaw>
  11957. <LockZRoll>false</LockZRoll>
  11958. <Childs>
  11959. </Childs>
  11960. <FrontPlane>0.01</FrontPlane>
  11961. <BackPlane>100.0</BackPlane>
  11962. <AutoFrontBack>true</AutoFrontBack>
  11963. <Field>9.999999999999998</Field>
  11964. <Fieldy>45.0</Fieldy>
  11965. <PlaneLeft>-9.999999999999998</PlaneLeft>
  11966. <PlaneRight>9.999999999999998</PlaneRight>
  11967. <PlaneTop>9.999999999999998</PlaneTop>
  11968. <PlaneBottom>-9.999999999999998</PlaneBottom>
  11969. <UseLookatPosition>true</UseLookatPosition>
  11970. <LookatPosition>
  11971. </LookatPosition>
  11972. <UseAlwaysLookUp>true</UseAlwaysLookUp>
  11973. <LookUpVector>
  11974. <X>
  11975. <Value>1</Value>
  11976. </X>
  11977. </LookUpVector>
  11978. <RightHand>true</RightHand>
  11979. <Perspective>false</Perspective>
  11980. <IsSelectedCamera>false</IsSelectedCamera>
  11981. </Camera>
  11982. </Childs>
  11983. </Frame>
  11984. <Frame>
  11985. <ScaleValue>
  11986. <X>
  11987. <Value>1</Value>
  11988. </X>
  11989. <Y>
  11990. <Value>1</Value>
  11991. </Y>
  11992. <Z>
  11993. <Value>1</Value>
  11994. </Z>
  11995. </ScaleValue>
  11996. <ShowReferenceFrame>false</ShowReferenceFrame>
  11997. <Name>Cylinder</Name>
  11998. <Position>
  11999. </Position>
  12000. <Orientation>
  12001. <Angles>
  12002. </Angles>
  12003. <OrientationType>Bryant</OrientationType>
  12004. </Orientation>
  12005. <LockX>false</LockX>
  12006. <LockY>false</LockY>
  12007. <LockZ>false</LockZ>
  12008. <LockXPitch>false</LockXPitch>
  12009. <LockYYaw>false</LockYYaw>
  12010. <LockZRoll>false</LockZRoll>
  12011. <Childs>
  12012. <Cube>
  12013. <Center>Center</Center>
  12014. <RibLength>1.0</RibLength>
  12015. <ShowInnerSide>true</ShowInnerSide>
  12016. <Accuracy>4</Accuracy>
  12017. <ScaleValue>
  12018. <X>
  12019. <VariableName>Body1\dimension[1]</VariableName>
  12020. <Value>0.0048</Value>
  12021. </X>
  12022. <Y>
  12023. <VariableName>Body1\dimension[2]</VariableName>
  12024. <Value>0.009</Value>
  12025. </Y>
  12026. <Z>
  12027. <VariableName>Body1\dimension[3]</VariableName>
  12028. <Value>0.065</Value>
  12029. </Z>
  12030. </ScaleValue>
  12031. <OverrideColor>true</OverrideColor>
  12032. <MeshColor>
  12033. <X>
  12034. <Value>0</Value>
  12035. </X>
  12036. <Y>
  12037. <Value>0.501960784313725</Value>
  12038. </Y>
  12039. <Z>
  12040. <Value>0.501960784313725</Value>
  12041. </Z>
  12042. </MeshColor>
  12043. <Alpha>1.0</Alpha>
  12044. <MeshColorMultipliers>
  12045. <X>
  12046. <Value>1</Value>
  12047. </X>
  12048. <Y>
  12049. <Value>1</Value>
  12050. </Y>
  12051. <Z>
  12052. <Value>1</Value>
  12053. </Z>
  12054. </MeshColorMultipliers>
  12055. <MeshColorOffsets>
  12056. </MeshColorOffsets>
  12057. <Direct3DColorRange>true</Direct3DColorRange>
  12058. <SpecularColor>
  12059. <X>
  12060. <Value>0.5</Value>
  12061. </X>
  12062. <Y>
  12063. <Value>0.5</Value>
  12064. </Y>
  12065. <Z>
  12066. <Value>0.5</Value>
  12067. </Z>
  12068. </SpecularColor>
  12069. <EmissiveColor>
  12070. </EmissiveColor>
  12071. <ShininessPower>
  12072. <Value>15</Value>
  12073. </ShininessPower>
  12074. <OverrideQuality>false</OverrideQuality>
  12075. <ShowReferenceFrame>false</ShowReferenceFrame>
  12076. <Name>Block</Name>
  12077. <Position>
  12078. <X>
  12079. <VariableName>Body1\position[1]</VariableName>
  12080. <Value>-4.192318903545271e-13</Value>
  12081. </X>
  12082. <Y>
  12083. <VariableName>Body1\position[2]</VariableName>
  12084. <Value>-0.01794560018514256</Value>
  12085. </Y>
  12086. <Z>
  12087. <VariableName>Body1\position[3]</VariableName>
  12088. <Value>0.02587531783732037</Value>
  12089. </Z>
  12090. </Position>
  12091. <Orientation>
  12092. <ZAxis>
  12093. <X>
  12094. <VariableName>Body1\R[1,3]</VariableName>
  12095. <Value>1.8808915239954715e-11</Value>
  12096. </X>
  12097. <Y>
  12098. <VariableName>Body1\R[2,3]</VariableName>
  12099. <Value>-0.5026328576019784</Value>
  12100. </Y>
  12101. <Z>
  12102. <VariableName>Body1\R[3,3]</VariableName>
  12103. <Value>0.8644999771306355</Value>
  12104. </Z>
  12105. </ZAxis>
  12106. <YAxis>
  12107. <X>
  12108. <VariableName>Body1\R[1,2]</VariableName>
  12109. <Value>-6.441531859206288e-11</Value>
  12110. </X>
  12111. <Y>
  12112. <VariableName>Body1\R[2,2]</VariableName>
  12113. <Value>0.8644999771306355</Value>
  12114. </Y>
  12115. <Z>
  12116. <VariableName>Body1\R[3,2]</VariableName>
  12117. <Value>0.5026328576019784</Value>
  12118. </Z>
  12119. </YAxis>
  12120. <OrientationType>Matrix</OrientationType>
  12121. </Orientation>
  12122. <LockX>false</LockX>
  12123. <LockY>false</LockY>
  12124. <LockZ>false</LockZ>
  12125. <LockXPitch>false</LockXPitch>
  12126. <LockYYaw>false</LockYYaw>
  12127. <LockZRoll>false</LockZRoll>
  12128. <Childs>
  12129. </Childs>
  12130. </Cube>
  12131. <Cube>
  12132. <Center>Center</Center>
  12133. <RibLength>1.0</RibLength>
  12134. <ShowInnerSide>true</ShowInnerSide>
  12135. <Accuracy>4</Accuracy>
  12136. <ScaleValue>
  12137. <X>
  12138. <VariableName>Body2\dimension[1]</VariableName>
  12139. <Value>0.005</Value>
  12140. </X>
  12141. <Y>
  12142. <VariableName>Body2\dimension[2]</VariableName>
  12143. <Value>0.025</Value>
  12144. </Y>
  12145. <Z>
  12146. <VariableName>Body2\dimension[3]</VariableName>
  12147. <Value>0.01</Value>
  12148. </Z>
  12149. </ScaleValue>
  12150. <OverrideColor>true</OverrideColor>
  12151. <MeshColor>
  12152. <X>
  12153. <Value>1</Value>
  12154. </X>
  12155. <Y>
  12156. <Value>0.501960784313725</Value>
  12157. </Y>
  12158. <Z>
  12159. <Value>0</Value>
  12160. </Z>
  12161. </MeshColor>
  12162. <Alpha>1.0</Alpha>
  12163. <MeshColorMultipliers>
  12164. <X>
  12165. <Value>1</Value>
  12166. </X>
  12167. <Y>
  12168. <Value>1</Value>
  12169. </Y>
  12170. <Z>
  12171. <Value>1</Value>
  12172. </Z>
  12173. </MeshColorMultipliers>
  12174. <MeshColorOffsets>
  12175. </MeshColorOffsets>
  12176. <Direct3DColorRange>true</Direct3DColorRange>
  12177. <SpecularColor>
  12178. <X>
  12179. <Value>0.5</Value>
  12180. </X>
  12181. <Y>
  12182. <Value>0.5</Value>
  12183. </Y>
  12184. <Z>
  12185. <Value>0.5</Value>
  12186. </Z>
  12187. </SpecularColor>
  12188. <EmissiveColor>
  12189. </EmissiveColor>
  12190. <ShininessPower>
  12191. <Value>15</Value>
  12192. </ShininessPower>
  12193. <OverrideQuality>false</OverrideQuality>
  12194. <ShowReferenceFrame>false</ShowReferenceFrame>
  12195. <Name>Block</Name>
  12196. <Position>
  12197. <X>
  12198. <VariableName>Body2\position[1]</VariableName>
  12199. <Value>3.9961335365673003e-13</Value>
  12200. </X>
  12201. <Y>
  12202. <VariableName>Body2\position[2]</VariableName>
  12203. <Value>-0.010668707667296126</Value>
  12204. </Y>
  12205. <Z>
  12206. <VariableName>Body2\position[3]</VariableName>
  12207. <Value>0.006619337182379103</Value>
  12208. </Z>
  12209. </Position>
  12210. <Orientation>
  12211. <ZAxis>
  12212. <X>
  12213. <VariableName>Body2\R[1,3]</VariableName>
  12214. <Value>1.4843149326684468e-11</Value>
  12215. </X>
  12216. <Y>
  12217. <VariableName>Body2\R[2,3]</VariableName>
  12218. <Value>0.525080867694379</Value>
  12219. </Y>
  12220. <Z>
  12221. <VariableName>Body2\R[3,3]</VariableName>
  12222. <Value>0.8510523382150583</Value>
  12223. </Z>
  12224. </ZAxis>
  12225. <YAxis>
  12226. <X>
  12227. <VariableName>Body2\R[1,2]</VariableName>
  12228. <Value>6.025411718535906e-12</Value>
  12229. </X>
  12230. <Y>
  12231. <VariableName>Body2\R[2,2]</VariableName>
  12232. <Value>0.8510523382150583</Value>
  12233. </Y>
  12234. <Z>
  12235. <VariableName>Body2\R[3,2]</VariableName>
  12236. <Value>-0.525080867694379</Value>
  12237. </Z>
  12238. </YAxis>
  12239. <OrientationType>Matrix</OrientationType>
  12240. </Orientation>
  12241. <LockX>false</LockX>
  12242. <LockY>false</LockY>
  12243. <LockZ>false</LockZ>
  12244. <LockXPitch>false</LockXPitch>
  12245. <LockYYaw>false</LockYYaw>
  12246. <LockZRoll>false</LockZRoll>
  12247. <Childs>
  12248. </Childs>
  12249. </Cube>
  12250. <Cube>
  12251. <Center>Center</Center>
  12252. <RibLength>1.0</RibLength>
  12253. <ShowInnerSide>true</ShowInnerSide>
  12254. <Accuracy>4</Accuracy>
  12255. <ScaleValue>
  12256. <X>
  12257. <VariableName>Body3\dimension[1]</VariableName>
  12258. <Value>0.0045</Value>
  12259. </X>
  12260. <Y>
  12261. <VariableName>Body3\dimension[2]</VariableName>
  12262. <Value>0.01</Value>
  12263. </Y>
  12264. <Z>
  12265. <VariableName>Body3\dimension[3]</VariableName>
  12266. <Value>0.065</Value>
  12267. </Z>
  12268. </ScaleValue>
  12269. <OverrideColor>true</OverrideColor>
  12270. <MeshColor>
  12271. <X>
  12272. <Value>0.501960784313725</Value>
  12273. </X>
  12274. <Y>
  12275. <Value>0.501960784313725</Value>
  12276. </Y>
  12277. <Z>
  12278. <Value>1</Value>
  12279. </Z>
  12280. </MeshColor>
  12281. <Alpha>1.0</Alpha>
  12282. <MeshColorMultipliers>
  12283. <X>
  12284. <Value>1</Value>
  12285. </X>
  12286. <Y>
  12287. <Value>1</Value>
  12288. </Y>
  12289. <Z>
  12290. <Value>1</Value>
  12291. </Z>
  12292. </MeshColorMultipliers>
  12293. <MeshColorOffsets>
  12294. </MeshColorOffsets>
  12295. <Direct3DColorRange>true</Direct3DColorRange>
  12296. <SpecularColor>
  12297. <X>
  12298. <Value>0.5</Value>
  12299. </X>
  12300. <Y>
  12301. <Value>0.5</Value>
  12302. </Y>
  12303. <Z>
  12304. <Value>0.5</Value>
  12305. </Z>
  12306. </SpecularColor>
  12307. <EmissiveColor>
  12308. </EmissiveColor>
  12309. <ShininessPower>
  12310. <Value>15</Value>
  12311. </ShininessPower>
  12312. <OverrideQuality>false</OverrideQuality>
  12313. <ShowReferenceFrame>false</ShowReferenceFrame>
  12314. <Name>Block</Name>
  12315. <Position>
  12316. <X>
  12317. <VariableName>Body3\position[1]</VariableName>
  12318. <Value>8.37962015923301e-13</Value>
  12319. </X>
  12320. <Y>
  12321. <VariableName>Body3\position[2]</VariableName>
  12322. <Value>-0.03735447750060467</Value>
  12323. </Y>
  12324. <Z>
  12325. <VariableName>Body3\position[3]</VariableName>
  12326. <Value>0.041486728665558394</Value>
  12327. </Z>
  12328. </Position>
  12329. <Orientation>
  12330. <ZAxis>
  12331. <X>
  12332. <VariableName>Body3\R[1,3]</VariableName>
  12333. <Value>1.3203517771817197e-12</Value>
  12334. </X>
  12335. <Y>
  12336. <VariableName>Body3\R[2,3]</VariableName>
  12337. <Value>-0.493262820072999</Value>
  12338. </Y>
  12339. <Z>
  12340. <VariableName>Body3\R[3,3]</VariableName>
  12341. <Value>0.8698803310419384</Value>
  12342. </Z>
  12343. </ZAxis>
  12344. <YAxis>
  12345. <X>
  12346. <VariableName>Body3\R[1,2]</VariableName>
  12347. <Value>1.3861294680230433e-10</Value>
  12348. </X>
  12349. <Y>
  12350. <VariableName>Body3\R[2,2]</VariableName>
  12351. <Value>0.8698803310419384</Value>
  12352. </Y>
  12353. <Z>
  12354. <VariableName>Body3\R[3,2]</VariableName>
  12355. <Value>0.493262820072999</Value>
  12356. </Z>
  12357. </YAxis>
  12358. <OrientationType>Matrix</OrientationType>
  12359. </Orientation>
  12360. <LockX>false</LockX>
  12361. <LockY>false</LockY>
  12362. <LockZ>false</LockZ>
  12363. <LockXPitch>false</LockXPitch>
  12364. <LockYYaw>false</LockYYaw>
  12365. <LockZRoll>false</LockZRoll>
  12366. <Childs>
  12367. </Childs>
  12368. </Cube>
  12369. <Cube>
  12370. <Center>Center</Center>
  12371. <RibLength>1.0</RibLength>
  12372. <ShowInnerSide>true</ShowInnerSide>
  12373. <Accuracy>4</Accuracy>
  12374. <ScaleValue>
  12375. <X>
  12376. <VariableName>Body4\dimension[1]</VariableName>
  12377. <Value>0.005</Value>
  12378. </X>
  12379. <Y>
  12380. <VariableName>Body4\dimension[2]</VariableName>
  12381. <Value>0.05</Value>
  12382. </Y>
  12383. <Z>
  12384. <VariableName>Body4\dimension[3]</VariableName>
  12385. <Value>0.01</Value>
  12386. </Z>
  12387. </ScaleValue>
  12388. <OverrideColor>true</OverrideColor>
  12389. <MeshColor>
  12390. <X>
  12391. <Value>0.501960784313725</Value>
  12392. </X>
  12393. <Y>
  12394. <Value>0</Value>
  12395. </Y>
  12396. <Z>
  12397. <Value>0</Value>
  12398. </Z>
  12399. </MeshColor>
  12400. <Alpha>1.0</Alpha>
  12401. <MeshColorMultipliers>
  12402. <X>
  12403. <Value>1</Value>
  12404. </X>
  12405. <Y>
  12406. <Value>1</Value>
  12407. </Y>
  12408. <Z>
  12409. <Value>1</Value>
  12410. </Z>
  12411. </MeshColorMultipliers>
  12412. <MeshColorOffsets>
  12413. </MeshColorOffsets>
  12414. <Direct3DColorRange>true</Direct3DColorRange>
  12415. <SpecularColor>
  12416. <X>
  12417. <Value>0.5</Value>
  12418. </X>
  12419. <Y>
  12420. <Value>0.5</Value>
  12421. </Y>
  12422. <Z>
  12423. <Value>0.5</Value>
  12424. </Z>
  12425. </SpecularColor>
  12426. <EmissiveColor>
  12427. </EmissiveColor>
  12428. <ShininessPower>
  12429. <Value>15</Value>
  12430. </ShininessPower>
  12431. <OverrideQuality>false</OverrideQuality>
  12432. <ShowReferenceFrame>false</ShowReferenceFrame>
  12433. <Name>Block</Name>
  12434. <Position>
  12435. <X>
  12436. <VariableName>Body4\position[1]</VariableName>
  12437. <Value>2.287910135372518e-12</Value>
  12438. </X>
  12439. <Y>
  12440. <VariableName>Body4\position[2]</VariableName>
  12441. <Value>-0.03421787608812493</Value>
  12442. </Y>
  12443. <Z>
  12444. <VariableName>Body4\position[3]</VariableName>
  12445. <Value>0.05382727747127006</Value>
  12446. </Z>
  12447. </Position>
  12448. <Orientation>
  12449. <ZAxis>
  12450. <X>
  12451. <VariableName>Body4\R[1,3]</VariableName>
  12452. <Value>-4.592834816856213e-11</Value>
  12453. </X>
  12454. <Y>
  12455. <VariableName>Body4\R[2,3]</VariableName>
  12456. <Value>0.639676262061669</Value>
  12457. </Y>
  12458. <Z>
  12459. <VariableName>Body4\R[3,3]</VariableName>
  12460. <Value>0.7686444430000199</Value>
  12461. </Z>
  12462. </ZAxis>
  12463. <YAxis>
  12464. <X>
  12465. <VariableName>Body4\R[1,2]</VariableName>
  12466. <Value>3.8196097794433654e-11</Value>
  12467. </X>
  12468. <Y>
  12469. <VariableName>Body4\R[2,2]</VariableName>
  12470. <Value>0.7686444430000199</Value>
  12471. </Y>
  12472. <Z>
  12473. <VariableName>Body4\R[3,2]</VariableName>
  12474. <Value>-0.639676262061669</Value>
  12475. </Z>
  12476. </YAxis>
  12477. <OrientationType>Matrix</OrientationType>
  12478. </Orientation>
  12479. <LockX>false</LockX>
  12480. <LockY>false</LockY>
  12481. <LockZ>false</LockZ>
  12482. <LockXPitch>false</LockXPitch>
  12483. <LockYYaw>false</LockYYaw>
  12484. <LockZRoll>false</LockZRoll>
  12485. <Childs>
  12486. </Childs>
  12487. </Cube>
  12488. <Cube>
  12489. <Center>Center</Center>
  12490. <RibLength>1.0</RibLength>
  12491. <ShowInnerSide>true</ShowInnerSide>
  12492. <Accuracy>4</Accuracy>
  12493. <ScaleValue>
  12494. <X>
  12495. <VariableName>Body5\dimension[1]</VariableName>
  12496. <Value>0.005</Value>
  12497. </X>
  12498. <Y>
  12499. <VariableName>Body5\dimension[2]</VariableName>
  12500. <Value>0.025</Value>
  12501. </Y>
  12502. <Z>
  12503. <VariableName>Body5\dimension[3]</VariableName>
  12504. <Value>0.01</Value>
  12505. </Z>
  12506. </ScaleValue>
  12507. <OverrideColor>true</OverrideColor>
  12508. <MeshColor>
  12509. <X>
  12510. <Value>0.501960784313725</Value>
  12511. </X>
  12512. <Y>
  12513. <Value>0</Value>
  12514. </Y>
  12515. <Z>
  12516. <Value>0</Value>
  12517. </Z>
  12518. </MeshColor>
  12519. <Alpha>1.0</Alpha>
  12520. <MeshColorMultipliers>
  12521. <X>
  12522. <Value>1</Value>
  12523. </X>
  12524. <Y>
  12525. <Value>1</Value>
  12526. </Y>
  12527. <Z>
  12528. <Value>1</Value>
  12529. </Z>
  12530. </MeshColorMultipliers>
  12531. <MeshColorOffsets>
  12532. </MeshColorOffsets>
  12533. <Direct3DColorRange>true</Direct3DColorRange>
  12534. <SpecularColor>
  12535. <X>
  12536. <Value>0.5</Value>
  12537. </X>
  12538. <Y>
  12539. <Value>0.5</Value>
  12540. </Y>
  12541. <Z>
  12542. <Value>0.5</Value>
  12543. </Z>
  12544. </SpecularColor>
  12545. <EmissiveColor>
  12546. </EmissiveColor>
  12547. <ShininessPower>
  12548. <Value>15</Value>
  12549. </ShininessPower>
  12550. <OverrideQuality>false</OverrideQuality>
  12551. <ShowReferenceFrame>false</ShowReferenceFrame>
  12552. <Name>Block</Name>
  12553. <Position>
  12554. <X>
  12555. <VariableName>Body5\position[1]</VariableName>
  12556. <Value>-1.059715378988415e-9</Value>
  12557. </X>
  12558. <Y>
  12559. <VariableName>Body5\position[2]</VariableName>
  12560. <Value>-0.0054321911761190805</Value>
  12561. </Y>
  12562. <Z>
  12563. <VariableName>Body5\position[3]</VariableName>
  12564. <Value>0.029862793849851747</Value>
  12565. </Z>
  12566. </Position>
  12567. <Orientation>
  12568. <ZAxis>
  12569. <X>
  12570. <VariableName>Body5\R[1,3]</VariableName>
  12571. <Value>-6.900190287113113e-10</Value>
  12572. </X>
  12573. <Y>
  12574. <VariableName>Body5\R[2,3]</VariableName>
  12575. <Value>0.6396762644345244</Value>
  12576. </Y>
  12577. <Z>
  12578. <VariableName>Body5\R[3,3]</VariableName>
  12579. <Value>0.7686444410252977</Value>
  12580. </Z>
  12581. </ZAxis>
  12582. <YAxis>
  12583. <X>
  12584. <VariableName>Body5\R[1,2]</VariableName>
  12585. <Value>-1.526597654298108e-7</Value>
  12586. </X>
  12587. <Y>
  12588. <VariableName>Body5\R[2,2]</VariableName>
  12589. <Value>0.7686444410252886</Value>
  12590. </Y>
  12591. <Z>
  12592. <VariableName>Body5\R[3,2]</VariableName>
  12593. <Value>-0.6396762644345171</Value>
  12594. </Z>
  12595. </YAxis>
  12596. <OrientationType>Matrix</OrientationType>
  12597. </Orientation>
  12598. <LockX>false</LockX>
  12599. <LockY>false</LockY>
  12600. <LockZ>false</LockZ>
  12601. <LockXPitch>false</LockXPitch>
  12602. <LockYYaw>false</LockYYaw>
  12603. <LockZRoll>false</LockZRoll>
  12604. <Childs>
  12605. </Childs>
  12606. </Cube>
  12607. <Frame>
  12608. <ScaleValue>
  12609. <X>
  12610. <Value>1</Value>
  12611. </X>
  12612. <Y>
  12613. <Value>1</Value>
  12614. </Y>
  12615. <Z>
  12616. <Value>1</Value>
  12617. </Z>
  12618. </ScaleValue>
  12619. <ShowReferenceFrame>false</ShowReferenceFrame>
  12620. <Name>Reference Frame</Name>
  12621. <Position>
  12622. <X>
  12623. <VariableName>Body6\position[1]</VariableName>
  12624. <Value>-2.965264415716501e-9</Value>
  12625. </X>
  12626. <Y>
  12627. <VariableName>Body6\position[2]</VariableName>
  12628. <Value>0.004162279705310155</Value>
  12629. </Y>
  12630. <Z>
  12631. <VariableName>Body6\position[3]</VariableName>
  12632. <Value>0.021878145857768656</Value>
  12633. </Z>
  12634. </Position>
  12635. <Orientation>
  12636. <ZAxis>
  12637. <X>
  12638. <VariableName>Body6\R[1,3]</VariableName>
  12639. <Value>-6.900190287113113e-10</Value>
  12640. </X>
  12641. <Y>
  12642. <VariableName>Body6\R[2,3]</VariableName>
  12643. <Value>0.6396762644345244</Value>
  12644. </Y>
  12645. <Z>
  12646. <VariableName>Body6\R[3,3]</VariableName>
  12647. <Value>0.7686444410252977</Value>
  12648. </Z>
  12649. </ZAxis>
  12650. <YAxis>
  12651. <X>
  12652. <VariableName>Body6\R[1,2]</VariableName>
  12653. <Value>-1.526597654298108e-7</Value>
  12654. </X>
  12655. <Y>
  12656. <VariableName>Body6\R[2,2]</VariableName>
  12657. <Value>0.7686444410252886</Value>
  12658. </Y>
  12659. <Z>
  12660. <VariableName>Body6\R[3,2]</VariableName>
  12661. <Value>-0.6396762644345171</Value>
  12662. </Z>
  12663. </YAxis>
  12664. <OrientationType>Matrix</OrientationType>
  12665. </Orientation>
  12666. <LockX>false</LockX>
  12667. <LockY>false</LockY>
  12668. <LockZ>false</LockZ>
  12669. <LockXPitch>false</LockXPitch>
  12670. <LockYYaw>false</LockYYaw>
  12671. <LockZRoll>false</LockZRoll>
  12672. <Childs>
  12673. <Frame>
  12674. <ScaleValue>
  12675. <X>
  12676. <Value>1</Value>
  12677. </X>
  12678. <Y>
  12679. <Value>1</Value>
  12680. </Y>
  12681. <Z>
  12682. <Value>1</Value>
  12683. </Z>
  12684. </ScaleValue>
  12685. <ShowReferenceFrame>false</ShowReferenceFrame>
  12686. <Name>Reference Frame</Name>
  12687. <Position>
  12688. </Position>
  12689. <Orientation>
  12690. <Angles>
  12691. <Y>
  12692. <Value>1.5707963267949</Value>
  12693. </Y>
  12694. </Angles>
  12695. <OrientationType>Bryant</OrientationType>
  12696. </Orientation>
  12697. <LockX>false</LockX>
  12698. <LockY>false</LockY>
  12699. <LockZ>false</LockZ>
  12700. <LockXPitch>false</LockXPitch>
  12701. <LockYYaw>false</LockYYaw>
  12702. <LockZRoll>false</LockZRoll>
  12703. <Childs>
  12704. <Cylinder>
  12705. <CircleElements>16</CircleElements>
  12706. <LowerRadius>0.0073</LowerRadius>
  12707. <UpperRadius>0.0073</UpperRadius>
  12708. <Height>0.1</Height>
  12709. <Closed>true</Closed>
  12710. <LowerClosed>true</LowerClosed>
  12711. <UpperClosed>true</UpperClosed>
  12712. <CenterInOrigin>true</CenterInOrigin>
  12713. <ShowInnerSide>false</ShowInnerSide>
  12714. <ShowOuterSide>true</ShowOuterSide>
  12715. <ScaleValue>
  12716. <X>
  12717. <Value>1</Value>
  12718. </X>
  12719. <Y>
  12720. <Value>1</Value>
  12721. </Y>
  12722. <Z>
  12723. <Value>1</Value>
  12724. </Z>
  12725. </ScaleValue>
  12726. <OverrideColor>true</OverrideColor>
  12727. <MeshColor>
  12728. <X>
  12729. <Value>0.752941176470588</Value>
  12730. </X>
  12731. <Y>
  12732. <Value>0.752941176470588</Value>
  12733. </Y>
  12734. <Z>
  12735. <Value>0.752941176470588</Value>
  12736. </Z>
  12737. </MeshColor>
  12738. <Alpha>1.0</Alpha>
  12739. <MeshColorMultipliers>
  12740. <X>
  12741. <Value>1</Value>
  12742. </X>
  12743. <Y>
  12744. <Value>1</Value>
  12745. </Y>
  12746. <Z>
  12747. <Value>1</Value>
  12748. </Z>
  12749. </MeshColorMultipliers>
  12750. <MeshColorOffsets>
  12751. </MeshColorOffsets>
  12752. <Direct3DColorRange>true</Direct3DColorRange>
  12753. <SpecularColor>
  12754. <X>
  12755. <Value>0.5</Value>
  12756. </X>
  12757. <Y>
  12758. <Value>0.5</Value>
  12759. </Y>
  12760. <Z>
  12761. <Value>0.5</Value>
  12762. </Z>
  12763. </SpecularColor>
  12764. <EmissiveColor>
  12765. </EmissiveColor>
  12766. <ShininessPower>
  12767. <Value>15</Value>
  12768. </ShininessPower>
  12769. <OverrideQuality>false</OverrideQuality>
  12770. <ShowReferenceFrame>false</ShowReferenceFrame>
  12771. <Name>Cylinder</Name>
  12772. <Position>
  12773. <Z>
  12774. <Value>0.015</Value>
  12775. </Z>
  12776. </Position>
  12777. <Orientation>
  12778. <Angles>
  12779. </Angles>
  12780. <OrientationType>Bryant</OrientationType>
  12781. </Orientation>
  12782. <LockX>false</LockX>
  12783. <LockY>false</LockY>
  12784. <LockZ>false</LockZ>
  12785. <LockXPitch>false</LockXPitch>
  12786. <LockYYaw>false</LockYYaw>
  12787. <LockZRoll>false</LockZRoll>
  12788. <Childs>
  12789. </Childs>
  12790. </Cylinder>
  12791. <Cylinder>
  12792. <CircleElements>16</CircleElements>
  12793. <LowerRadius>0.007</LowerRadius>
  12794. <UpperRadius>0.007</UpperRadius>
  12795. <Height>0.11</Height>
  12796. <Closed>true</Closed>
  12797. <LowerClosed>true</LowerClosed>
  12798. <UpperClosed>true</UpperClosed>
  12799. <CenterInOrigin>true</CenterInOrigin>
  12800. <ShowInnerSide>false</ShowInnerSide>
  12801. <ShowOuterSide>true</ShowOuterSide>
  12802. <ScaleValue>
  12803. <X>
  12804. <Value>1</Value>
  12805. </X>
  12806. <Y>
  12807. <Value>1</Value>
  12808. </Y>
  12809. <Z>
  12810. <Value>1</Value>
  12811. </Z>
  12812. </ScaleValue>
  12813. <OverrideColor>true</OverrideColor>
  12814. <MeshColor>
  12815. <X>
  12816. <Value>0</Value>
  12817. </X>
  12818. <Y>
  12819. <Value>0</Value>
  12820. </Y>
  12821. <Z>
  12822. <Value>0.627450980392157</Value>
  12823. </Z>
  12824. </MeshColor>
  12825. <Alpha>1.0</Alpha>
  12826. <MeshColorMultipliers>
  12827. <X>
  12828. <Value>1</Value>
  12829. </X>
  12830. <Y>
  12831. <Value>1</Value>
  12832. </Y>
  12833. <Z>
  12834. <Value>1</Value>
  12835. </Z>
  12836. </MeshColorMultipliers>
  12837. <MeshColorOffsets>
  12838. </MeshColorOffsets>
  12839. <Direct3DColorRange>true</Direct3DColorRange>
  12840. <SpecularColor>
  12841. <X>
  12842. <Value>0.5</Value>
  12843. </X>
  12844. <Y>
  12845. <Value>0.5</Value>
  12846. </Y>
  12847. <Z>
  12848. <Value>0.5</Value>
  12849. </Z>
  12850. </SpecularColor>
  12851. <EmissiveColor>
  12852. </EmissiveColor>
  12853. <ShininessPower>
  12854. <Value>15</Value>
  12855. </ShininessPower>
  12856. <OverrideQuality>false</OverrideQuality>
  12857. <ShowReferenceFrame>false</ShowReferenceFrame>
  12858. <Name>Reference Frame</Name>
  12859. <Position>
  12860. <Z>
  12861. <Value>0.013</Value>
  12862. </Z>
  12863. </Position>
  12864. <Orientation>
  12865. <Angles>
  12866. </Angles>
  12867. <OrientationType>Bryant</OrientationType>
  12868. </Orientation>
  12869. <LockX>false</LockX>
  12870. <LockY>false</LockY>
  12871. <LockZ>false</LockZ>
  12872. <LockXPitch>false</LockXPitch>
  12873. <LockYYaw>false</LockYYaw>
  12874. <LockZRoll>false</LockZRoll>
  12875. <Childs>
  12876. </Childs>
  12877. </Cylinder>
  12878. <Cylinder>
  12879. <CircleElements>16</CircleElements>
  12880. <LowerRadius>0.001</LowerRadius>
  12881. <UpperRadius>0.007</UpperRadius>
  12882. <Height>0.02</Height>
  12883. <Closed>true</Closed>
  12884. <LowerClosed>true</LowerClosed>
  12885. <UpperClosed>true</UpperClosed>
  12886. <CenterInOrigin>true</CenterInOrigin>
  12887. <ShowInnerSide>false</ShowInnerSide>
  12888. <ShowOuterSide>true</ShowOuterSide>
  12889. <ScaleValue>
  12890. <X>
  12891. <Value>1</Value>
  12892. </X>
  12893. <Y>
  12894. <Value>1</Value>
  12895. </Y>
  12896. <Z>
  12897. <Value>1</Value>
  12898. </Z>
  12899. </ScaleValue>
  12900. <OverrideColor>true</OverrideColor>
  12901. <MeshColor>
  12902. <X>
  12903. <Value>0</Value>
  12904. </X>
  12905. <Y>
  12906. <Value>0</Value>
  12907. </Y>
  12908. <Z>
  12909. <Value>1</Value>
  12910. </Z>
  12911. </MeshColor>
  12912. <Alpha>1.0</Alpha>
  12913. <MeshColorMultipliers>
  12914. <X>
  12915. <Value>1</Value>
  12916. </X>
  12917. <Y>
  12918. <Value>1</Value>
  12919. </Y>
  12920. <Z>
  12921. <Value>1</Value>
  12922. </Z>
  12923. </MeshColorMultipliers>
  12924. <MeshColorOffsets>
  12925. </MeshColorOffsets>
  12926. <Direct3DColorRange>true</Direct3DColorRange>
  12927. <SpecularColor>
  12928. <X>
  12929. <Value>0.5</Value>
  12930. </X>
  12931. <Y>
  12932. <Value>0.5</Value>
  12933. </Y>
  12934. <Z>
  12935. <Value>0.5</Value>
  12936. </Z>
  12937. </SpecularColor>
  12938. <EmissiveColor>
  12939. </EmissiveColor>
  12940. <ShininessPower>
  12941. <Value>15</Value>
  12942. </ShininessPower>
  12943. <OverrideQuality>false</OverrideQuality>
  12944. <ShowReferenceFrame>false</ShowReferenceFrame>
  12945. <Name>Cylinder</Name>
  12946. <Position>
  12947. <Z>
  12948. <Value>-0.05</Value>
  12949. </Z>
  12950. </Position>
  12951. <Orientation>
  12952. <Angles>
  12953. </Angles>
  12954. <OrientationType>Bryant</OrientationType>
  12955. </Orientation>
  12956. <LockX>false</LockX>
  12957. <LockY>false</LockY>
  12958. <LockZ>false</LockZ>
  12959. <LockXPitch>false</LockXPitch>
  12960. <LockYYaw>false</LockYYaw>
  12961. <LockZRoll>false</LockZRoll>
  12962. <Childs>
  12963. </Childs>
  12964. </Cylinder>
  12965. </Childs>
  12966. </Frame>
  12967. </Childs>
  12968. </Frame>
  12969. <Cube>
  12970. <Center>Center</Center>
  12971. <RibLength>1.0</RibLength>
  12972. <ShowInnerSide>true</ShowInnerSide>
  12973. <Accuracy>4</Accuracy>
  12974. <ScaleValue>
  12975. <X>
  12976. <VariableName>LiftingArm\Body_Lift2\dimension[1]</VariableName>
  12977. <Value>0.01</Value>
  12978. </X>
  12979. <Y>
  12980. <VariableName>LiftingArm\Body_Lift2\dimension[2]</VariableName>
  12981. <Value>0.003</Value>
  12982. </Y>
  12983. <Z>
  12984. <VariableName>LiftingArm\Body_Lift2\dimension[3]</VariableName>
  12985. <Value>0.002</Value>
  12986. </Z>
  12987. </ScaleValue>
  12988. <OverrideColor>true</OverrideColor>
  12989. <MeshColor>
  12990. <X>
  12991. <Value>1</Value>
  12992. </X>
  12993. <Y>
  12994. <Value>1</Value>
  12995. </Y>
  12996. <Z>
  12997. <Value>1</Value>
  12998. </Z>
  12999. </MeshColor>
  13000. <Alpha>1.0</Alpha>
  13001. <MeshColorMultipliers>
  13002. <X>
  13003. <Value>1</Value>
  13004. </X>
  13005. <Y>
  13006. <Value>1</Value>
  13007. </Y>
  13008. <Z>
  13009. <Value>1</Value>
  13010. </Z>
  13011. </MeshColorMultipliers>
  13012. <MeshColorOffsets>
  13013. </MeshColorOffsets>
  13014. <Direct3DColorRange>true</Direct3DColorRange>
  13015. <SpecularColor>
  13016. <X>
  13017. <Value>0.5</Value>
  13018. </X>
  13019. <Y>
  13020. <Value>0.5</Value>
  13021. </Y>
  13022. <Z>
  13023. <Value>0.5</Value>
  13024. </Z>
  13025. </SpecularColor>
  13026. <EmissiveColor>
  13027. </EmissiveColor>
  13028. <ShininessPower>
  13029. <Value>15</Value>
  13030. </ShininessPower>
  13031. <OverrideQuality>false</OverrideQuality>
  13032. <ShowReferenceFrame>false</ShowReferenceFrame>
  13033. <Name>Block</Name>
  13034. <Position>
  13035. <X>
  13036. <VariableName>LiftingArm\Body_Lift2\position[1]</VariableName>
  13037. <Value>0.010884341933766452</Value>
  13038. </X>
  13039. <Y>
  13040. <VariableName>LiftingArm\Body_Lift2\position[2]</VariableName>
  13041. <Value>-0.02469354731052049</Value>
  13042. </Y>
  13043. <Z>
  13044. <VariableName>LiftingArm\Body_Lift2\position[3]</VariableName>
  13045. <Value>0.045832181943591406</Value>
  13046. </Z>
  13047. </Position>
  13048. <Orientation>
  13049. <ZAxis>
  13050. <X>
  13051. <VariableName>LiftingArm\Body_Lift2\R[1,3]</VariableName>
  13052. <Value>3.5494701038080086e-7</Value>
  13053. </X>
  13054. <Y>
  13055. <VariableName>LiftingArm\Body_Lift2\R[2,3]</VariableName>
  13056. <Value>0.639676572691222</Value>
  13057. </Y>
  13058. <Z>
  13059. <VariableName>LiftingArm\Body_Lift2\R[3,3]</VariableName>
  13060. <Value>0.7686441844897325</Value>
  13061. </Z>
  13062. </ZAxis>
  13063. <YAxis>
  13064. <X>
  13065. <VariableName>LiftingArm\Body_Lift2\R[1,2]</VariableName>
  13066. <Value>0.009434918925523509</Value>
  13067. </X>
  13068. <Y>
  13069. <VariableName>LiftingArm\Body_Lift2\R[2,2]</VariableName>
  13070. <Value>0.7686099701193403</Value>
  13071. </Y>
  13072. <Z>
  13073. <VariableName>LiftingArm\Body_Lift2\R[3,2]</VariableName>
  13074. <Value>-0.6396481033646668</Value>
  13075. </Z>
  13076. </YAxis>
  13077. <OrientationType>Matrix</OrientationType>
  13078. </Orientation>
  13079. <LockX>false</LockX>
  13080. <LockY>false</LockY>
  13081. <LockZ>false</LockZ>
  13082. <LockXPitch>false</LockXPitch>
  13083. <LockYYaw>false</LockYYaw>
  13084. <LockZRoll>false</LockZRoll>
  13085. <Childs>
  13086. </Childs>
  13087. </Cube>
  13088. <Cube>
  13089. <Center>Center</Center>
  13090. <RibLength>1.0</RibLength>
  13091. <ShowInnerSide>true</ShowInnerSide>
  13092. <Accuracy>4</Accuracy>
  13093. <ScaleValue>
  13094. <X>
  13095. <VariableName>LiftingArm\Body_Lift3\dimension[1]</VariableName>
  13096. <Value>0.003</Value>
  13097. </X>
  13098. <Y>
  13099. <VariableName>LiftingArm\Body_Lift3\dimension[2]</VariableName>
  13100. <Value>0.025</Value>
  13101. </Y>
  13102. <Z>
  13103. <VariableName>LiftingArm\Body_Lift3\dimension[3]</VariableName>
  13104. <Value>0.001</Value>
  13105. </Z>
  13106. </ScaleValue>
  13107. <OverrideColor>true</OverrideColor>
  13108. <MeshColor>
  13109. <X>
  13110. <Value>1</Value>
  13111. </X>
  13112. <Y>
  13113. <Value>1</Value>
  13114. </Y>
  13115. <Z>
  13116. <Value>1</Value>
  13117. </Z>
  13118. </MeshColor>
  13119. <Alpha>1.0</Alpha>
  13120. <MeshColorMultipliers>
  13121. <X>
  13122. <Value>1</Value>
  13123. </X>
  13124. <Y>
  13125. <Value>1</Value>
  13126. </Y>
  13127. <Z>
  13128. <Value>1</Value>
  13129. </Z>
  13130. </MeshColorMultipliers>
  13131. <MeshColorOffsets>
  13132. </MeshColorOffsets>
  13133. <Direct3DColorRange>true</Direct3DColorRange>
  13134. <SpecularColor>
  13135. <X>
  13136. <Value>0.5</Value>
  13137. </X>
  13138. <Y>
  13139. <Value>0.5</Value>
  13140. </Y>
  13141. <Z>
  13142. <Value>0.5</Value>
  13143. </Z>
  13144. </SpecularColor>
  13145. <EmissiveColor>
  13146. </EmissiveColor>
  13147. <ShininessPower>
  13148. <Value>15</Value>
  13149. </ShininessPower>
  13150. <OverrideQuality>false</OverrideQuality>
  13151. <ShowReferenceFrame>false</ShowReferenceFrame>
  13152. <Name>Block</Name>
  13153. <Position>
  13154. <X>
  13155. <VariableName>LiftingArm\Body_Lift3\position[1]</VariableName>
  13156. <Value>0.015877282608288686</Value>
  13157. </X>
  13158. <Y>
  13159. <VariableName>LiftingArm\Body_Lift3\position[2]</VariableName>
  13160. <Value>-0.015169225940552214</Value>
  13161. </Y>
  13162. <Z>
  13163. <VariableName>LiftingArm\Body_Lift3\position[3]</VariableName>
  13164. <Value>0.03783707830340231</Value>
  13165. </Z>
  13166. </Position>
  13167. <Orientation>
  13168. <ZAxis>
  13169. <X>
  13170. <VariableName>LiftingArm\Body_Lift3\R[1,3]</VariableName>
  13171. <Value>1.765807711687116e-7</Value>
  13172. </X>
  13173. <Y>
  13174. <VariableName>LiftingArm\Body_Lift3\R[2,3]</VariableName>
  13175. <Value>0.6396768859853879</Value>
  13176. </Y>
  13177. <Z>
  13178. <VariableName>LiftingArm\Body_Lift3\R[3,3]</VariableName>
  13179. <Value>0.7686439237618458</Value>
  13180. </Z>
  13181. </ZAxis>
  13182. <YAxis>
  13183. <X>
  13184. <VariableName>LiftingArm\Body_Lift3\R[1,2]</VariableName>
  13185. <Value>2.064718926187933e-5</Value>
  13186. </X>
  13187. <Y>
  13188. <VariableName>LiftingArm\Body_Lift3\R[2,2]</VariableName>
  13189. <Value>0.7686439235956867</Value>
  13190. </Y>
  13191. <Z>
  13192. <VariableName>LiftingArm\Body_Lift3\R[3,2]</VariableName>
  13193. <Value>-0.639676885851851</Value>
  13194. </Z>
  13195. </YAxis>
  13196. <OrientationType>Matrix</OrientationType>
  13197. </Orientation>
  13198. <LockX>false</LockX>
  13199. <LockY>false</LockY>
  13200. <LockZ>false</LockZ>
  13201. <LockXPitch>false</LockXPitch>
  13202. <LockYYaw>false</LockYYaw>
  13203. <LockZRoll>false</LockZRoll>
  13204. <Childs>
  13205. </Childs>
  13206. </Cube>
  13207. <Cube>
  13208. <Center>Center</Center>
  13209. <RibLength>1.0</RibLength>
  13210. <ShowInnerSide>true</ShowInnerSide>
  13211. <Accuracy>4</Accuracy>
  13212. <ScaleValue>
  13213. <X>
  13214. <VariableName>LiftingArm\Body_Lift4\dimension[1]</VariableName>
  13215. <Value>0.0159</Value>
  13216. </X>
  13217. <Y>
  13218. <VariableName>LiftingArm\Body_Lift4\dimension[2]</VariableName>
  13219. <Value>0.003</Value>
  13220. </Y>
  13221. <Z>
  13222. <VariableName>LiftingArm\Body_Lift4\dimension[3]</VariableName>
  13223. <Value>0.002</Value>
  13224. </Z>
  13225. </ScaleValue>
  13226. <OverrideColor>true</OverrideColor>
  13227. <MeshColor>
  13228. <X>
  13229. <Value>1</Value>
  13230. </X>
  13231. <Y>
  13232. <Value>1</Value>
  13233. </Y>
  13234. <Z>
  13235. <Value>1</Value>
  13236. </Z>
  13237. </MeshColor>
  13238. <Alpha>1.0</Alpha>
  13239. <MeshColorMultipliers>
  13240. <X>
  13241. <Value>1</Value>
  13242. </X>
  13243. <Y>
  13244. <Value>1</Value>
  13245. </Y>
  13246. <Z>
  13247. <Value>1</Value>
  13248. </Z>
  13249. </MeshColorMultipliers>
  13250. <MeshColorOffsets>
  13251. </MeshColorOffsets>
  13252. <Direct3DColorRange>true</Direct3DColorRange>
  13253. <SpecularColor>
  13254. <X>
  13255. <Value>0.5</Value>
  13256. </X>
  13257. <Y>
  13258. <Value>0.5</Value>
  13259. </Y>
  13260. <Z>
  13261. <Value>0.5</Value>
  13262. </Z>
  13263. </SpecularColor>
  13264. <EmissiveColor>
  13265. </EmissiveColor>
  13266. <ShininessPower>
  13267. <Value>15</Value>
  13268. </ShininessPower>
  13269. <OverrideQuality>false</OverrideQuality>
  13270. <ShowReferenceFrame>false</ShowReferenceFrame>
  13271. <Name>Block</Name>
  13272. <Position>
  13273. <X>
  13274. <VariableName>LiftingArm\Body_Lift4\position[1]</VariableName>
  13275. <Value>0.007938757231490916</Value>
  13276. </X>
  13277. <Y>
  13278. <VariableName>LiftingArm\Body_Lift4\position[2]</VariableName>
  13279. <Value>-0.005608695269323513</Value>
  13280. </Y>
  13281. <Z>
  13282. <VariableName>LiftingArm\Body_Lift4\position[3]</VariableName>
  13283. <Value>0.02981184307274159</Value>
  13284. </Z>
  13285. </Position>
  13286. <Orientation>
  13287. <ZAxis>
  13288. <X>
  13289. <VariableName>LiftingArm\Body_Lift4\R[1,3]</VariableName>
  13290. <Value>-1.0363837672010732e-9</Value>
  13291. </X>
  13292. <Y>
  13293. <VariableName>LiftingArm\Body_Lift4\R[2,3]</VariableName>
  13294. <Value>0.6396761815866475</Value>
  13295. </Y>
  13296. <Z>
  13297. <VariableName>LiftingArm\Body_Lift4\R[3,3]</VariableName>
  13298. <Value>0.76864450997241</Value>
  13299. </Z>
  13300. </ZAxis>
  13301. <YAxis>
  13302. <X>
  13303. <VariableName>LiftingArm\Body_Lift4\R[1,2]</VariableName>
  13304. <Value>-1.530724086042814e-7</Value>
  13305. </X>
  13306. <Y>
  13307. <VariableName>LiftingArm\Body_Lift4\R[2,2]</VariableName>
  13308. <Value>0.7686445099724009</Value>
  13309. </Y>
  13310. <Z>
  13311. <VariableName>LiftingArm\Body_Lift4\R[3,2]</VariableName>
  13312. <Value>-0.6396761815866402</Value>
  13313. </Z>
  13314. </YAxis>
  13315. <OrientationType>Matrix</OrientationType>
  13316. </Orientation>
  13317. <LockX>false</LockX>
  13318. <LockY>false</LockY>
  13319. <LockZ>false</LockZ>
  13320. <LockXPitch>false</LockXPitch>
  13321. <LockYYaw>false</LockYYaw>
  13322. <LockZRoll>false</LockZRoll>
  13323. <Childs>
  13324. </Childs>
  13325. </Cube>
  13326. </Childs>
  13327. </Frame>
  13328. </Childs>
  13329. </Frame>
  13330. </MainFrame>
  13331. </Plot>
  13332. <Plot>
  13333. <PlotType>GraphPlot</PlotType>
  13334. <BasePlot>
  13335. <PlotId>3</PlotId>
  13336. <UseWindowsBGColor>false</UseWindowsBGColor>
  13337. <BGColor>16777215</BGColor>
  13338. <PlotIsVisible>true</PlotIsVisible>
  13339. </BasePlot>
  13340. <Grid>
  13341. <DrawGrid>true</DrawGrid>
  13342. <GridColor>15780518</GridColor>
  13343. <GridBorderLineColor>12624260</GridBorderLineColor>
  13344. <GridZeroLineColor>0</GridZeroLineColor>
  13345. <XTicks>10</XTicks>
  13346. <YTicks>10</YTicks>
  13347. <ZTicks>10</ZTicks>
  13348. <Use3DLook>false</Use3DLook>
  13349. </Grid>
  13350. <PlotBGColor>16777215</PlotBGColor>
  13351. <ShowPlotTitle>true</ShowPlotTitle>
  13352. <TitlePosition>1</TitlePosition>
  13353. <PlotTitle>Stepper Motor D</PlotTitle>
  13354. <ShowXValues>true</ShowXValues>
  13355. <Fonts>
  13356. <TitleFont>
  13357. <Name>Arial</Name>
  13358. <Height>12</Height>
  13359. <PitchFamily>34</PitchFamily>
  13360. <Weight>400</Weight>
  13361. <Italic>0</Italic>
  13362. <UnderLine>0</UnderLine>
  13363. <StrikeOut>0</StrikeOut>
  13364. <Color>0</Color>
  13365. </TitleFont>
  13366. <LabelFont>
  13367. <Name>Arial</Name>
  13368. <Height>12</Height>
  13369. <PitchFamily>34</PitchFamily>
  13370. <Weight>400</Weight>
  13371. <Italic>0</Italic>
  13372. <UnderLine>0</UnderLine>
  13373. <StrikeOut>0</StrikeOut>
  13374. <Color>0</Color>
  13375. </LabelFont>
  13376. <ValuesFont>
  13377. <Name>Arial</Name>
  13378. <Height>10</Height>
  13379. <PitchFamily>34</PitchFamily>
  13380. <Weight>400</Weight>
  13381. <Italic>0</Italic>
  13382. <UnderLine>0</UnderLine>
  13383. <StrikeOut>0</StrikeOut>
  13384. <Color>0</Color>
  13385. </ValuesFont>
  13386. <LegendFont>
  13387. <Name>Arial</Name>
  13388. <Height>12</Height>
  13389. <PitchFamily>34</PitchFamily>
  13390. <Weight>400</Weight>
  13391. <Italic>0</Italic>
  13392. <UnderLine>0</UnderLine>
  13393. <StrikeOut>0</StrikeOut>
  13394. <Color>0</Color>
  13395. </LegendFont>
  13396. </Fonts>
  13397. <SharedXAxis>true</SharedXAxis>
  13398. <SharedYAxis>true</SharedYAxis>
  13399. <SharedZAxis>false</SharedZAxis>
  13400. <XAxes>
  13401. <Axis>
  13402. <Minimum>0.0</Minimum>
  13403. <Maximum>6.0</Maximum>
  13404. <Linear>true</Linear>
  13405. <Scaling>3</Scaling>
  13406. <Label>time</Label>
  13407. </Axis>
  13408. </XAxes>
  13409. <YAxes>
  13410. <Axis>
  13411. <Minimum>-1.0</Minimum>
  13412. <Maximum>1.0</Maximum>
  13413. <Linear>true</Linear>
  13414. <Scaling>2</Scaling>
  13415. <Label>Control Setpoint</Label>
  13416. </Axis>
  13417. <Axis>
  13418. <Minimum>-1.0</Minimum>
  13419. <Maximum>1.0</Maximum>
  13420. <Linear>true</Linear>
  13421. <Scaling>2</Scaling>
  13422. <Label>Control Output</Label>
  13423. </Axis>
  13424. <Axis>
  13425. <Minimum>-1.0</Minimum>
  13426. <Maximum>1.0</Maximum>
  13427. <Linear>true</Linear>
  13428. <Scaling>2</Scaling>
  13429. <Label>Axle Angle</Label>
  13430. </Axis>
  13431. </YAxes>
  13432. <ZAxes>
  13433. </ZAxes>
  13434. <Curves>
  13435. <Curve>
  13436. <LineColor>3355111</LineColor>
  13437. <LineStyle>1</LineStyle>
  13438. <TickColor>3355111</TickColor>
  13439. <TickStyle>0</TickStyle>
  13440. <CurveVisible>true</CurveVisible>
  13441. <PixelThresshold>1</PixelThresshold>
  13442. <LineThickness>1</LineThickness>
  13443. <LineOrder>1</LineOrder>
  13444. <ShowYValues>true</ShowYValues>
  13445. <XCurveData>
  13446. <ShowUnit>true</ShowUnit>
  13447. <VarName>time</VarName>
  13448. </XCurveData>
  13449. <YCurveData>
  13450. <ShowUnit>true</ShowUnit>
  13451. <VarName>stepper_control1\setpoint</VarName>
  13452. </YCurveData>
  13453. </Curve>
  13454. <Curve>
  13455. <LineColor>6076255</LineColor>
  13456. <LineStyle>1</LineStyle>
  13457. <TickColor>6076255</TickColor>
  13458. <TickStyle>0</TickStyle>
  13459. <CurveVisible>true</CurveVisible>
  13460. <PixelThresshold>1</PixelThresshold>
  13461. <LineThickness>1</LineThickness>
  13462. <LineOrder>1</LineOrder>
  13463. <ShowYValues>true</ShowYValues>
  13464. <XCurveData>
  13465. <ShowUnit>true</ShowUnit>
  13466. <VarName>time</VarName>
  13467. </XCurveData>
  13468. <YCurveData>
  13469. <ShowUnit>true</ShowUnit>
  13470. <VarName>Joint_dynC\angle</VarName>
  13471. </YCurveData>
  13472. </Curve>
  13473. <Curve>
  13474. <LineColor>12553035</LineColor>
  13475. <LineStyle>1</LineStyle>
  13476. <TickColor>12553035</TickColor>
  13477. <TickStyle>0</TickStyle>
  13478. <CurveVisible>true</CurveVisible>
  13479. <PixelThresshold>1</PixelThresshold>
  13480. <LineThickness>1</LineThickness>
  13481. <LineOrder>1</LineOrder>
  13482. <ShowYValues>true</ShowYValues>
  13483. <XCurveData>
  13484. <ShowUnit>true</ShowUnit>
  13485. <VarName>time</VarName>
  13486. </XCurveData>
  13487. <YCurveData>
  13488. <ShowUnit>true</ShowUnit>
  13489. <VarName>Joint_dynC\stepper_model\RotorAngle\angle</VarName>
  13490. </YCurveData>
  13491. </Curve>
  13492. </Curves>
  13493. <Legenda>
  13494. <ShowLegenda>true</ShowLegenda>
  13495. <Position>
  13496. <X>0.11683599419448476</X>
  13497. <Y>0.8741610738255033</Y>
  13498. </Position>
  13499. <BorderPenColor>0</BorderPenColor>
  13500. <BackgroundColor>16777215</BackgroundColor>
  13501. </Legenda>
  13502. </Plot>
  13503. <Plot>
  13504. <PlotType>GraphPlot</PlotType>
  13505. <BasePlot>
  13506. <PlotId>4</PlotId>
  13507. <UseWindowsBGColor>false</UseWindowsBGColor>
  13508. <BGColor>16777215</BGColor>
  13509. <PlotIsVisible>true</PlotIsVisible>
  13510. </BasePlot>
  13511. <Grid>
  13512. <DrawGrid>true</DrawGrid>
  13513. <GridColor>15780518</GridColor>
  13514. <GridBorderLineColor>12624260</GridBorderLineColor>
  13515. <GridZeroLineColor>0</GridZeroLineColor>
  13516. <XTicks>10</XTicks>
  13517. <YTicks>10</YTicks>
  13518. <ZTicks>10</ZTicks>
  13519. <Use3DLook>false</Use3DLook>
  13520. </Grid>
  13521. <PlotBGColor>16777215</PlotBGColor>
  13522. <ShowPlotTitle>true</ShowPlotTitle>
  13523. <TitlePosition>1</TitlePosition>
  13524. <PlotTitle>Plot</PlotTitle>
  13525. <ShowXValues>true</ShowXValues>
  13526. <Fonts>
  13527. <TitleFont>
  13528. <Name>Arial</Name>
  13529. <Height>12</Height>
  13530. <PitchFamily>34</PitchFamily>
  13531. <Weight>400</Weight>
  13532. <Italic>0</Italic>
  13533. <UnderLine>0</UnderLine>
  13534. <StrikeOut>0</StrikeOut>
  13535. <Color>0</Color>
  13536. </TitleFont>
  13537. <LabelFont>
  13538. <Name>Arial</Name>
  13539. <Height>12</Height>
  13540. <PitchFamily>34</PitchFamily>
  13541. <Weight>400</Weight>
  13542. <Italic>0</Italic>
  13543. <UnderLine>0</UnderLine>
  13544. <StrikeOut>0</StrikeOut>
  13545. <Color>0</Color>
  13546. </LabelFont>
  13547. <ValuesFont>
  13548. <Name>Arial</Name>
  13549. <Height>10</Height>
  13550. <PitchFamily>34</PitchFamily>
  13551. <Weight>400</Weight>
  13552. <Italic>0</Italic>
  13553. <UnderLine>0</UnderLine>
  13554. <StrikeOut>0</StrikeOut>
  13555. <Color>0</Color>
  13556. </ValuesFont>
  13557. <LegendFont>
  13558. <Name>Arial</Name>
  13559. <Height>12</Height>
  13560. <PitchFamily>34</PitchFamily>
  13561. <Weight>400</Weight>
  13562. <Italic>0</Italic>
  13563. <UnderLine>0</UnderLine>
  13564. <StrikeOut>0</StrikeOut>
  13565. <Color>0</Color>
  13566. </LegendFont>
  13567. </Fonts>
  13568. <SharedXAxis>true</SharedXAxis>
  13569. <SharedYAxis>true</SharedYAxis>
  13570. <SharedZAxis>false</SharedZAxis>
  13571. <XAxes>
  13572. <Axis>
  13573. <Minimum>-0.04237372378417744</Minimum>
  13574. <Maximum>0.08650812025464483</Maximum>
  13575. <Linear>true</Linear>
  13576. <Scaling>3</Scaling>
  13577. <Label>position[2]</Label>
  13578. </Axis>
  13579. </XAxes>
  13580. <YAxes>
  13581. <Axis>
  13582. <Minimum>-0.06</Minimum>
  13583. <Maximum>0.14</Maximum>
  13584. <Linear>true</Linear>
  13585. <Scaling>2</Scaling>
  13586. <Label>Body1</Label>
  13587. </Axis>
  13588. <Axis>
  13589. <Minimum>-0.06</Minimum>
  13590. <Maximum>0.14</Maximum>
  13591. <Linear>true</Linear>
  13592. <Scaling>2</Scaling>
  13593. <Label>Body2</Label>
  13594. </Axis>
  13595. <Axis>
  13596. <Minimum>-0.06</Minimum>
  13597. <Maximum>0.14</Maximum>
  13598. <Linear>true</Linear>
  13599. <Scaling>2</Scaling>
  13600. <Label>body3</Label>
  13601. </Axis>
  13602. <Axis>
  13603. <Minimum>-0.06</Minimum>
  13604. <Maximum>0.14</Maximum>
  13605. <Linear>true</Linear>
  13606. <Scaling>2</Scaling>
  13607. <Label>Body4</Label>
  13608. </Axis>
  13609. <Axis>
  13610. <Minimum>-0.06</Minimum>
  13611. <Maximum>0.14</Maximum>
  13612. <Linear>true</Linear>
  13613. <Scaling>2</Scaling>
  13614. <Label>Body5</Label>
  13615. </Axis>
  13616. <Axis>
  13617. <Minimum>-0.06</Minimum>
  13618. <Maximum>0.14</Maximum>
  13619. <Linear>true</Linear>
  13620. <Scaling>2</Scaling>
  13621. <Label>Body6</Label>
  13622. </Axis>
  13623. <Axis>
  13624. <Minimum>-0.06</Minimum>
  13625. <Maximum>0.14</Maximum>
  13626. <Linear>true</Linear>
  13627. <Scaling>2</Scaling>
  13628. <Label>path</Label>
  13629. </Axis>
  13630. </YAxes>
  13631. <ZAxes>
  13632. </ZAxes>
  13633. <Curves>
  13634. <Curve>
  13635. <LineColor>3355111</LineColor>
  13636. <LineStyle>1</LineStyle>
  13637. <TickColor>3355111</TickColor>
  13638. <TickStyle>0</TickStyle>
  13639. <CurveVisible>true</CurveVisible>
  13640. <PixelThresshold>1</PixelThresshold>
  13641. <LineThickness>1</LineThickness>
  13642. <LineOrder>1</LineOrder>
  13643. <ShowYValues>true</ShowYValues>
  13644. <XCurveData>
  13645. <ShowUnit>true</ShowUnit>
  13646. <VarName>Body_Lift2\position[2]</VarName>
  13647. </XCurveData>
  13648. <YCurveData>
  13649. <ShowUnit>true</ShowUnit>
  13650. <VarName>Body_Lift2\position[3]</VarName>
  13651. </YCurveData>
  13652. </Curve>
  13653. <Curve>
  13654. <LineColor>6076255</LineColor>
  13655. <LineStyle>1</LineStyle>
  13656. <TickColor>6076255</TickColor>
  13657. <TickStyle>0</TickStyle>
  13658. <CurveVisible>true</CurveVisible>
  13659. <PixelThresshold>1</PixelThresshold>
  13660. <LineThickness>1</LineThickness>
  13661. <LineOrder>1</LineOrder>
  13662. <ShowYValues>true</ShowYValues>
  13663. <XCurveData>
  13664. <ShowUnit>true</ShowUnit>
  13665. <VarName>Body2\position[2]</VarName>
  13666. </XCurveData>
  13667. <YCurveData>
  13668. <ShowUnit>true</ShowUnit>
  13669. <VarName>Body2\position[3]</VarName>
  13670. </YCurveData>
  13671. </Curve>
  13672. <Curve>
  13673. <LineColor>12553035</LineColor>
  13674. <LineStyle>1</LineStyle>
  13675. <TickColor>12553035</TickColor>
  13676. <TickStyle>0</TickStyle>
  13677. <CurveVisible>true</CurveVisible>
  13678. <PixelThresshold>1</PixelThresshold>
  13679. <LineThickness>1</LineThickness>
  13680. <LineOrder>1</LineOrder>
  13681. <ShowYValues>true</ShowYValues>
  13682. <XCurveData>
  13683. <ShowUnit>true</ShowUnit>
  13684. <VarName>Body3\position[2]</VarName>
  13685. </XCurveData>
  13686. <YCurveData>
  13687. <ShowUnit>true</ShowUnit>
  13688. <VarName>Body3\position[3]</VarName>
  13689. </YCurveData>
  13690. </Curve>
  13691. <Curve>
  13692. <LineColor>15086320</LineColor>
  13693. <LineStyle>1</LineStyle>
  13694. <TickColor>15086320</TickColor>
  13695. <TickStyle>0</TickStyle>
  13696. <CurveVisible>true</CurveVisible>
  13697. <PixelThresshold>1</PixelThresshold>
  13698. <LineThickness>1</LineThickness>
  13699. <LineOrder>1</LineOrder>
  13700. <ShowYValues>true</ShowYValues>
  13701. <XCurveData>
  13702. <ShowUnit>true</ShowUnit>
  13703. <VarName>Body4\position[2]</VarName>
  13704. </XCurveData>
  13705. <YCurveData>
  13706. <ShowUnit>true</ShowUnit>
  13707. <VarName>Body4\position[3]</VarName>
  13708. </YCurveData>
  13709. </Curve>
  13710. <Curve>
  13711. <LineColor>15790150</LineColor>
  13712. <LineStyle>1</LineStyle>
  13713. <TickColor>15790150</TickColor>
  13714. <TickStyle>0</TickStyle>
  13715. <CurveVisible>true</CurveVisible>
  13716. <PixelThresshold>1</PixelThresshold>
  13717. <LineThickness>1</LineThickness>
  13718. <LineOrder>1</LineOrder>
  13719. <ShowYValues>true</ShowYValues>
  13720. <XCurveData>
  13721. <ShowUnit>true</ShowUnit>
  13722. <VarName>Body5\position[2]</VarName>
  13723. </XCurveData>
  13724. <YCurveData>
  13725. <ShowUnit>true</ShowUnit>
  13726. <VarName>Body5\position[3]</VarName>
  13727. </YCurveData>
  13728. </Curve>
  13729. <Curve>
  13730. <LineColor>1696255</LineColor>
  13731. <LineStyle>1</LineStyle>
  13732. <TickColor>1696255</TickColor>
  13733. <TickStyle>0</TickStyle>
  13734. <CurveVisible>true</CurveVisible>
  13735. <PixelThresshold>1</PixelThresshold>
  13736. <LineThickness>1</LineThickness>
  13737. <LineOrder>1</LineOrder>
  13738. <ShowYValues>true</ShowYValues>
  13739. <XCurveData>
  13740. <ShowUnit>true</ShowUnit>
  13741. <VarName>Body6\position[2]</VarName>
  13742. </XCurveData>
  13743. <YCurveData>
  13744. <ShowUnit>true</ShowUnit>
  13745. <VarName>Body6\position[3]</VarName>
  13746. </YCurveData>
  13747. </Curve>
  13748. <Curve>
  13749. <LineColor>4089775</LineColor>
  13750. <LineStyle>1</LineStyle>
  13751. <TickColor>4089775</TickColor>
  13752. <TickStyle>0</TickStyle>
  13753. <CurveVisible>true</CurveVisible>
  13754. <PixelThresshold>1</PixelThresshold>
  13755. <LineThickness>1</LineThickness>
  13756. <LineOrder>1</LineOrder>
  13757. <ShowYValues>true</ShowYValues>
  13758. <XCurveData>
  13759. <ShowUnit>true</ShowUnit>
  13760. <VarName>rectanglepath\output[1]</VarName>
  13761. </XCurveData>
  13762. <YCurveData>
  13763. <ShowUnit>true</ShowUnit>
  13764. <VarName>rectanglepath\output[2]</VarName>
  13765. </YCurveData>
  13766. </Curve>
  13767. </Curves>
  13768. <Legenda>
  13769. <ShowLegenda>true</ShowLegenda>
  13770. <BorderPenColor>0</BorderPenColor>
  13771. <BackgroundColor>16777215</BackgroundColor>
  13772. </Legenda>
  13773. </Plot>
  13774. <Plot>
  13775. <PlotType>GraphPlot</PlotType>
  13776. <BasePlot>
  13777. <PlotId>5</PlotId>
  13778. <UseWindowsBGColor>false</UseWindowsBGColor>
  13779. <BGColor>16777215</BGColor>
  13780. <PlotIsVisible>true</PlotIsVisible>
  13781. </BasePlot>
  13782. <Grid>
  13783. <DrawGrid>true</DrawGrid>
  13784. <GridColor>15780518</GridColor>
  13785. <GridBorderLineColor>12624260</GridBorderLineColor>
  13786. <GridZeroLineColor>0</GridZeroLineColor>
  13787. <XTicks>10</XTicks>
  13788. <YTicks>10</YTicks>
  13789. <ZTicks>10</ZTicks>
  13790. <Use3DLook>false</Use3DLook>
  13791. </Grid>
  13792. <PlotBGColor>16777215</PlotBGColor>
  13793. <ShowPlotTitle>true</ShowPlotTitle>
  13794. <TitlePosition>1</TitlePosition>
  13795. <PlotTitle>Stepper Control A</PlotTitle>
  13796. <ShowXValues>true</ShowXValues>
  13797. <Fonts>
  13798. <TitleFont>
  13799. <Name>Arial</Name>
  13800. <Height>12</Height>
  13801. <PitchFamily>34</PitchFamily>
  13802. <Weight>400</Weight>
  13803. <Italic>0</Italic>
  13804. <UnderLine>0</UnderLine>
  13805. <StrikeOut>0</StrikeOut>
  13806. <Color>0</Color>
  13807. </TitleFont>
  13808. <LabelFont>
  13809. <Name>Arial</Name>
  13810. <Height>12</Height>
  13811. <PitchFamily>34</PitchFamily>
  13812. <Weight>400</Weight>
  13813. <Italic>0</Italic>
  13814. <UnderLine>0</UnderLine>
  13815. <StrikeOut>0</StrikeOut>
  13816. <Color>0</Color>
  13817. </LabelFont>
  13818. <ValuesFont>
  13819. <Name>Arial</Name>
  13820. <Height>10</Height>
  13821. <PitchFamily>34</PitchFamily>
  13822. <Weight>400</Weight>
  13823. <Italic>0</Italic>
  13824. <UnderLine>0</UnderLine>
  13825. <StrikeOut>0</StrikeOut>
  13826. <Color>0</Color>
  13827. </ValuesFont>
  13828. <LegendFont>
  13829. <Name>Arial</Name>
  13830. <Height>12</Height>
  13831. <PitchFamily>34</PitchFamily>
  13832. <Weight>400</Weight>
  13833. <Italic>0</Italic>
  13834. <UnderLine>0</UnderLine>
  13835. <StrikeOut>0</StrikeOut>
  13836. <Color>0</Color>
  13837. </LegendFont>
  13838. </Fonts>
  13839. <SharedXAxis>true</SharedXAxis>
  13840. <SharedYAxis>true</SharedYAxis>
  13841. <SharedZAxis>false</SharedZAxis>
  13842. <XAxes>
  13843. <Axis>
  13844. <Minimum>0.0</Minimum>
  13845. <Maximum>6.0</Maximum>
  13846. <Linear>true</Linear>
  13847. <Scaling>3</Scaling>
  13848. <Label>time</Label>
  13849. </Axis>
  13850. </XAxes>
  13851. <YAxes>
  13852. <Axis>
  13853. <Minimum>-500.0</Minimum>
  13854. <Maximum>500.0</Maximum>
  13855. <Linear>true</Linear>
  13856. <Scaling>1</Scaling>
  13857. <Label>Acceleration</Label>
  13858. </Axis>
  13859. <Axis>
  13860. <Minimum>0.0</Minimum>
  13861. <Maximum>0.730288609349958</Maximum>
  13862. <Linear>true</Linear>
  13863. <Scaling>1</Scaling>
  13864. <Label>Angle</Label>
  13865. </Axis>
  13866. <Axis>
  13867. <Minimum>0.0</Minimum>
  13868. <Maximum>0.730288609349958</Maximum>
  13869. <Linear>true</Linear>
  13870. <Scaling>1</Scaling>
  13871. <Label>Velocity</Label>
  13872. </Axis>
  13873. </YAxes>
  13874. <ZAxes>
  13875. </ZAxes>
  13876. <Curves>
  13877. <Curve>
  13878. <LineColor>6076255</LineColor>
  13879. <LineStyle>1</LineStyle>
  13880. <TickColor>6076255</TickColor>
  13881. <TickStyle>0</TickStyle>
  13882. <CurveVisible>true</CurveVisible>
  13883. <PixelThresshold>1</PixelThresshold>
  13884. <LineThickness>1</LineThickness>
  13885. <LineOrder>1</LineOrder>
  13886. <ShowYValues>true</ShowYValues>
  13887. <XCurveData>
  13888. <ShowUnit>true</ShowUnit>
  13889. <VarName>time</VarName>
  13890. </XCurveData>
  13891. <YCurveData>
  13892. <ShowUnit>true</ShowUnit>
  13893. <VarName>stepper_control\Acceleration_int\input</VarName>
  13894. </YCurveData>
  13895. </Curve>
  13896. <Curve>
  13897. <LineColor>12553035</LineColor>
  13898. <LineStyle>1</LineStyle>
  13899. <TickColor>12553035</TickColor>
  13900. <TickStyle>0</TickStyle>
  13901. <CurveVisible>true</CurveVisible>
  13902. <PixelThresshold>1</PixelThresshold>
  13903. <LineThickness>1</LineThickness>
  13904. <LineOrder>1</LineOrder>
  13905. <ShowYValues>true</ShowYValues>
  13906. <XCurveData>
  13907. <ShowUnit>true</ShowUnit>
  13908. <VarName>time</VarName>
  13909. </XCurveData>
  13910. <YCurveData>
  13911. <ShowUnit>true</ShowUnit>
  13912. <VarName>stepper_control\Velocity_int\output</VarName>
  13913. </YCurveData>
  13914. </Curve>
  13915. <Curve>
  13916. <LineColor>15086320</LineColor>
  13917. <LineStyle>1</LineStyle>
  13918. <TickColor>15086320</TickColor>
  13919. <TickStyle>0</TickStyle>
  13920. <CurveVisible>true</CurveVisible>
  13921. <PixelThresshold>1</PixelThresshold>
  13922. <LineThickness>1</LineThickness>
  13923. <LineOrder>1</LineOrder>
  13924. <ShowYValues>true</ShowYValues>
  13925. <XCurveData>
  13926. <ShowUnit>true</ShowUnit>
  13927. <VarName>time</VarName>
  13928. </XCurveData>
  13929. <YCurveData>
  13930. <ShowUnit>true</ShowUnit>
  13931. <VarName>stepper_control\Velocity_int\input</VarName>
  13932. </YCurveData>
  13933. </Curve>
  13934. </Curves>
  13935. <Legenda>
  13936. <ShowLegenda>true</ShowLegenda>
  13937. <Position>
  13938. <X>0.07602339181286549</X>
  13939. <Y>0.877104377104377</Y>
  13940. </Position>
  13941. <BorderPenColor>0</BorderPenColor>
  13942. <BackgroundColor>16777215</BackgroundColor>
  13943. </Legenda>
  13944. </Plot>
  13945. <Plot>
  13946. <PlotType>GraphPlot</PlotType>
  13947. <BasePlot>
  13948. <PlotId>6</PlotId>
  13949. <UseWindowsBGColor>false</UseWindowsBGColor>
  13950. <BGColor>16777215</BGColor>
  13951. <PlotIsVisible>true</PlotIsVisible>
  13952. </BasePlot>
  13953. <Grid>
  13954. <DrawGrid>true</DrawGrid>
  13955. <GridColor>15780518</GridColor>
  13956. <GridBorderLineColor>12624260</GridBorderLineColor>
  13957. <GridZeroLineColor>0</GridZeroLineColor>
  13958. <XTicks>10</XTicks>
  13959. <YTicks>10</YTicks>
  13960. <ZTicks>10</ZTicks>
  13961. <Use3DLook>false</Use3DLook>
  13962. </Grid>
  13963. <PlotBGColor>16777215</PlotBGColor>
  13964. <ShowPlotTitle>true</ShowPlotTitle>
  13965. <TitlePosition>1</TitlePosition>
  13966. <PlotTitle>Stepper Control D</PlotTitle>
  13967. <ShowXValues>true</ShowXValues>
  13968. <Fonts>
  13969. <TitleFont>
  13970. <Name>Arial</Name>
  13971. <Height>12</Height>
  13972. <PitchFamily>34</PitchFamily>
  13973. <Weight>400</Weight>
  13974. <Italic>0</Italic>
  13975. <UnderLine>0</UnderLine>
  13976. <StrikeOut>0</StrikeOut>
  13977. <Color>0</Color>
  13978. </TitleFont>
  13979. <LabelFont>
  13980. <Name>Arial</Name>
  13981. <Height>12</Height>
  13982. <PitchFamily>34</PitchFamily>
  13983. <Weight>400</Weight>
  13984. <Italic>0</Italic>
  13985. <UnderLine>0</UnderLine>
  13986. <StrikeOut>0</StrikeOut>
  13987. <Color>0</Color>
  13988. </LabelFont>
  13989. <ValuesFont>
  13990. <Name>Arial</Name>
  13991. <Height>10</Height>
  13992. <PitchFamily>34</PitchFamily>
  13993. <Weight>400</Weight>
  13994. <Italic>0</Italic>
  13995. <UnderLine>0</UnderLine>
  13996. <StrikeOut>0</StrikeOut>
  13997. <Color>0</Color>
  13998. </ValuesFont>
  13999. <LegendFont>
  14000. <Name>Arial</Name>
  14001. <Height>12</Height>
  14002. <PitchFamily>34</PitchFamily>
  14003. <Weight>400</Weight>
  14004. <Italic>0</Italic>
  14005. <UnderLine>0</UnderLine>
  14006. <StrikeOut>0</StrikeOut>
  14007. <Color>0</Color>
  14008. </LegendFont>
  14009. </Fonts>
  14010. <SharedXAxis>true</SharedXAxis>
  14011. <SharedYAxis>true</SharedYAxis>
  14012. <SharedZAxis>false</SharedZAxis>
  14013. <XAxes>
  14014. <Axis>
  14015. <Minimum>0.0</Minimum>
  14016. <Maximum>6.0</Maximum>
  14017. <Linear>true</Linear>
  14018. <Scaling>3</Scaling>
  14019. <Label>time</Label>
  14020. </Axis>
  14021. </XAxes>
  14022. <YAxes>
  14023. <Axis>
  14024. <Minimum>-500.0</Minimum>
  14025. <Maximum>500.0</Maximum>
  14026. <Linear>true</Linear>
  14027. <Scaling>1</Scaling>
  14028. <Label>Acceleration</Label>
  14029. </Axis>
  14030. <Axis>
  14031. <Minimum>0.0</Minimum>
  14032. <Maximum>39.669708688195</Maximum>
  14033. <Linear>true</Linear>
  14034. <Scaling>1</Scaling>
  14035. <Label>Angle</Label>
  14036. </Axis>
  14037. <Axis>
  14038. <Minimum>0.0</Minimum>
  14039. <Maximum>39.669708688195</Maximum>
  14040. <Linear>true</Linear>
  14041. <Scaling>1</Scaling>
  14042. <Label>Velocity</Label>
  14043. </Axis>
  14044. </YAxes>
  14045. <ZAxes>
  14046. </ZAxes>
  14047. <Curves>
  14048. <Curve>
  14049. <LineColor>3355111</LineColor>
  14050. <LineStyle>1</LineStyle>
  14051. <TickColor>3355111</TickColor>
  14052. <TickStyle>0</TickStyle>
  14053. <CurveVisible>true</CurveVisible>
  14054. <PixelThresshold>1</PixelThresshold>
  14055. <LineThickness>1</LineThickness>
  14056. <LineOrder>1</LineOrder>
  14057. <ShowYValues>true</ShowYValues>
  14058. <XCurveData>
  14059. <ShowUnit>true</ShowUnit>
  14060. <VarName>time</VarName>
  14061. </XCurveData>
  14062. <YCurveData>
  14063. <ShowUnit>true</ShowUnit>
  14064. <VarName>stepper_control1\Acceleration_int\input</VarName>
  14065. </YCurveData>
  14066. </Curve>
  14067. <Curve>
  14068. <LineColor>6076255</LineColor>
  14069. <LineStyle>1</LineStyle>
  14070. <TickColor>6076255</TickColor>
  14071. <TickStyle>0</TickStyle>
  14072. <CurveVisible>true</CurveVisible>
  14073. <PixelThresshold>1</PixelThresshold>
  14074. <LineThickness>1</LineThickness>
  14075. <LineOrder>1</LineOrder>
  14076. <ShowYValues>true</ShowYValues>
  14077. <XCurveData>
  14078. <ShowUnit>true</ShowUnit>
  14079. <VarName>time</VarName>
  14080. </XCurveData>
  14081. <YCurveData>
  14082. <ShowUnit>true</ShowUnit>
  14083. <VarName>stepper_control1\Velocity_int\output</VarName>
  14084. </YCurveData>
  14085. </Curve>
  14086. <Curve>
  14087. <LineColor>12553035</LineColor>
  14088. <LineStyle>1</LineStyle>
  14089. <TickColor>12553035</TickColor>
  14090. <TickStyle>0</TickStyle>
  14091. <CurveVisible>true</CurveVisible>
  14092. <PixelThresshold>1</PixelThresshold>
  14093. <LineThickness>1</LineThickness>
  14094. <LineOrder>1</LineOrder>
  14095. <ShowYValues>true</ShowYValues>
  14096. <XCurveData>
  14097. <ShowUnit>true</ShowUnit>
  14098. <VarName>time</VarName>
  14099. </XCurveData>
  14100. <YCurveData>
  14101. <ShowUnit>true</ShowUnit>
  14102. <VarName>stepper_control1\Velocity_int\input</VarName>
  14103. </YCurveData>
  14104. </Curve>
  14105. </Curves>
  14106. <Legenda>
  14107. <ShowLegenda>true</ShowLegenda>
  14108. <Position>
  14109. <X>0.07602339181286549</X>
  14110. <Y>0.877104377104377</Y>
  14111. </Position>
  14112. <BorderPenColor>0</BorderPenColor>
  14113. <BackgroundColor>16777215</BackgroundColor>
  14114. </Legenda>
  14115. </Plot>
  14116. </Plots>
  14117. <PlotPanels>
  14118. <PlotPanel>
  14119. <PlotPanelId>1</PlotPanelId>
  14120. <PlotPanelVisible>true</PlotPanelVisible>
  14121. <Name>Window 1</Name>
  14122. <Tiling>0</Tiling>
  14123. <PlotIds>
  14124. <PlotId>1</PlotId>
  14125. <PlotId>3</PlotId>
  14126. <PlotId>5</PlotId>
  14127. <PlotId>6</PlotId>
  14128. </PlotIds>
  14129. <ToggleState>Base</ToggleState>
  14130. </PlotPanel>
  14131. <PlotPanel>
  14132. <PlotPanelId>2</PlotPanelId>
  14133. <PlotPanelVisible>true</PlotPanelVisible>
  14134. <Name>Window 2</Name>
  14135. <Tiling>0</Tiling>
  14136. <PlotIds>
  14137. <PlotId>2</PlotId>
  14138. </PlotIds>
  14139. <ToggleState>Base</ToggleState>
  14140. </PlotPanel>
  14141. <PlotPanel>
  14142. <PlotPanelId>3</PlotPanelId>
  14143. <PlotPanelVisible>true</PlotPanelVisible>
  14144. <Name>Window 3</Name>
  14145. <Tiling>0</Tiling>
  14146. <PlotIds>
  14147. <PlotId>4</PlotId>
  14148. </PlotIds>
  14149. <ToggleState>Base</ToggleState>
  14150. </PlotPanel>
  14151. </PlotPanels>
  14152. <WindowRectangles virtualDesktopWidth="5760" virtualDesktopHeight="1080">
  14153. <WindowRectangle monitor="2" left="1920" top="0" right="3840" bottom="1080" plotpanelid="2">
  14154. 0.0203125 0.075 0.770312 0.799074
  14155. </WindowRectangle>
  14156. <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="1">
  14157. 0.114583 0.0472222 0.922917 0.859259
  14158. </WindowRectangle>
  14159. <WindowRectangle monitor="1" left="-1920" top="0" right="0" bottom="1080" plotpanelid="3">
  14160. 0.0328125 0.172222 0.782292 0.897222
  14161. </WindowRectangle>
  14162. </WindowRectangles>
  14163. </PlotSpecs>
  14164. <RunSpecs>
  14165. <SimulatorSettings>
  14166. <StartTime>0.0</StartTime>
  14167. <FinishTime>6.0</FinishTime>
  14168. <AllowPassFinishTime>false</AllowPassFinishTime>
  14169. <Warp>false</Warp>
  14170. <FPGonio>false</FPGonio>
  14171. <UseOutputAfterEach>false</UseOutputAfterEach>
  14172. <OutputAfterEach>0.1</OutputAfterEach>
  14173. <EventEpsilon>1.0e-6</EventEpsilon>
  14174. <AlgebraicTolerance>1.0e-7</AlgebraicTolerance>
  14175. <SteadyStateAnalysis>false</SteadyStateAnalysis>
  14176. <UpdateHoldInstructions>true</UpdateHoldInstructions>
  14177. </SimulatorSettings>
  14178. <IntegrationMethods>
  14179. <IntegrationMethod>
  14180. <Name>Euler</Name>
  14181. <StepSize>0.01</StepSize>
  14182. <AutoStepSize>false</AutoStepSize>
  14183. </IntegrationMethod>
  14184. <IntegrationMethod>
  14185. <Name>BackwardEuler</Name>
  14186. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  14187. <RelativeTolerance>1.0e-5</RelativeTolerance>
  14188. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  14189. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  14190. <StepSize>0.01</StepSize>
  14191. <Alpha>1.0</Alpha>
  14192. </IntegrationMethod>
  14193. <IntegrationMethod>
  14194. <Name>AdamsBashforth</Name>
  14195. <StepSize>1.0e-4</StepSize>
  14196. <AutoStepSize>false</AutoStepSize>
  14197. </IntegrationMethod>
  14198. <IntegrationMethod>
  14199. <Name>RungeKutta2</Name>
  14200. <StepSize>0.01</StepSize>
  14201. <AutoStepSize>false</AutoStepSize>
  14202. </IntegrationMethod>
  14203. <IntegrationMethod>
  14204. <Name>RungeKutta4</Name>
  14205. <StepSize>0.01</StepSize>
  14206. <AutoStepSize>false</AutoStepSize>
  14207. </IntegrationMethod>
  14208. <IntegrationMethod>
  14209. <Name>RungeKutta8</Name>
  14210. <UseInitialStepSize>false</UseInitialStepSize>
  14211. <InitialStepSize>0.0</InitialStepSize>
  14212. <UseMaximumStepSize>false</UseMaximumStepSize>
  14213. <MaximumStepSize>0.0</MaximumStepSize>
  14214. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  14215. <RelativeTolerance>1.0e-6</RelativeTolerance>
  14216. <SafetyFactor>0.9</SafetyFactor>
  14217. <Factor1>0.33</Factor1>
  14218. <Factor2>6.0</Factor2>
  14219. <Beta>0.0</Beta>
  14220. <UseMaxNrSteps>false</UseMaxNrSteps>
  14221. <MaxNrSteps>100000</MaxNrSteps>
  14222. <UseStiffDetection>false</UseStiffDetection>
  14223. <MaxNrStiffnessSteps>1000</MaxNrStiffnessSteps>
  14224. </IntegrationMethod>
  14225. <IntegrationMethod>
  14226. <Name>RungeKuttaFehlberg</Name>
  14227. <UseInitialStepSize>false</UseInitialStepSize>
  14228. <InitialStepSize>0.0</InitialStepSize>
  14229. <UseMaximumStepSize>false</UseMaximumStepSize>
  14230. <MaximumStepSize>0.0</MaximumStepSize>
  14231. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  14232. <RelativeTolerance>1.0e-6</RelativeTolerance>
  14233. </IntegrationMethod>
  14234. <IntegrationMethod>
  14235. <Name>VodeAdams</Name>
  14236. <UseInitialStepSize>false</UseInitialStepSize>
  14237. <InitialStepSize>0.0</InitialStepSize>
  14238. <UseMaximumStepSize>false</UseMaximumStepSize>
  14239. <MaximumStepSize>0.0</MaximumStepSize>
  14240. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  14241. <RelativeTolerance>1.0e-6</RelativeTolerance>
  14242. <VodeUseBDF>true</VodeUseBDF>
  14243. <VodeUseNewton>true</VodeUseNewton>
  14244. </IntegrationMethod>
  14245. <IntegrationMethod>
  14246. <Name>BDFMethod</Name>
  14247. <AbsoluteTolerance>1.0e-5</AbsoluteTolerance>
  14248. <RelativeTolerance>1.0e-5</RelativeTolerance>
  14249. <AlgebraicAbsoluteTolerance>1.0e-5</AlgebraicAbsoluteTolerance>
  14250. <AlgebraicRelativeTolerance>1.0e-5</AlgebraicRelativeTolerance>
  14251. <UseInitialStepSize>false</UseInitialStepSize>
  14252. <InitialStepSize>0.0</InitialStepSize>
  14253. <UseMaximumStepSize>false</UseMaximumStepSize>
  14254. <MaximumStepSize>0.0</MaximumStepSize>
  14255. </IntegrationMethod>
  14256. <IntegrationMethod>
  14257. <Name>MeBDFiMethod</Name>
  14258. <AbsoluteTolerance>1.0e-6</AbsoluteTolerance>
  14259. <RelativeTolerance>1.0e-6</RelativeTolerance>
  14260. <AlgebraicAbsoluteTolerance>1.0e-6</AlgebraicAbsoluteTolerance>
  14261. <AlgebraicRelativeTolerance>1.0e-6</AlgebraicRelativeTolerance>
  14262. <UseInitialStepSize>false</UseInitialStepSize>
  14263. <InitialStepSize>0.0</InitialStepSize>
  14264. <UseMaximumStepSize>false</UseMaximumStepSize>
  14265. <MaximumStepSize>0.0</MaximumStepSize>
  14266. </IntegrationMethod>
  14267. <SelectedIntegrationMethod>7</SelectedIntegrationMethod>
  14268. </IntegrationMethods>
  14269. </RunSpecs>
  14270. <MultipleRun>
  14271. <NrSteps>10</NrSteps>
  14272. <CopyFromStates>false</CopyFromStates>
  14273. <JoinParameterVariation>true</JoinParameterVariation>
  14274. <ClearAfterRun>true</ClearAfterRun>
  14275. <RedrawAfterRun>false</RedrawAfterRun>
  14276. <DrawDuringSimulation>true</DrawDuringSimulation>
  14277. <ActionBeforeOptimization>0</ActionBeforeOptimization>
  14278. <CompareValue>0.0</CompareValue>
  14279. <UseCompareValue>false</UseCompareValue>
  14280. <MultipleRunType>Optimization</MultipleRunType>
  14281. <Minimize>true</Minimize>
  14282. <OptimizationVariable>Joint_dynC\stepper_model\angle</OptimizationVariable>
  14283. <CompareVariable>stepper_control1\setpoint</CompareVariable>
  14284. <ResulVarUsage>UseIntegralAbsolute</ResulVarUsage>
  14285. <Tolerance>0.001</Tolerance>
  14286. <OptimizationMethod>DavidsonFletcherPowell</OptimizationMethod>
  14287. <MultipleRunVariables>
  14288. <MultipleRunVariable>
  14289. <Name>stepper_control1\Position_control\kp</Name>
  14290. <Minimum>13.0</Minimum>
  14291. <Maximum>39.0</Maximum>
  14292. <SweepMethod>Linear</SweepMethod>
  14293. <Distribution>Uniform</Distribution>
  14294. <Mean>26.0</Mean>
  14295. <Deviation>1.0</Deviation>
  14296. <TolerancePercentage>1.0</TolerancePercentage>
  14297. <Nominal>26.0</Nominal>
  14298. </MultipleRunVariable>
  14299. <MultipleRunVariable>
  14300. <Name>stepper_control1\Velocity_control\kp</Name>
  14301. <Minimum>33.0</Minimum>
  14302. <Maximum>99.0</Maximum>
  14303. <SweepMethod>Linear</SweepMethod>
  14304. <Distribution>Uniform</Distribution>
  14305. <Mean>66.0</Mean>
  14306. <Deviation>1.0</Deviation>
  14307. <TolerancePercentage>1.0</TolerancePercentage>
  14308. <Nominal>66.0</Nominal>
  14309. </MultipleRunVariable>
  14310. </MultipleRunVariables>
  14311. </MultipleRun>
  14312. <ExportData>
  14313. <WriteAsText>true</WriteAsText>
  14314. <ReadAsText>true</ReadAsText>
  14315. <WriteHeader>true</WriteHeader>
  14316. <ReadHeader>true</ReadHeader>
  14317. <ReadFilename></ReadFilename>
  14318. <WriteFilename></WriteFilename>
  14319. <DoWrite>false</DoWrite>
  14320. <ExportVariables>
  14321. </ExportVariables>
  14322. <ImportVariables>
  14323. </ImportVariables>
  14324. </ExportData>
  14325. <BreakPoints>
  14326. </BreakPoints>
  14327. <AnimationPlayback>
  14328. <PlaybackSpeed>1.0</PlaybackSpeed>
  14329. </AnimationPlayback>
  14330. </ExpData>
  14331. </Experiment>
  14332. </Experiments>
  14333. </Document>