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.

11472 lines
328KB

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