@@ -187,7 +187,7 @@ if VERSION >= v"1.8"
187
187
using ModelingToolkitStandardLibrary
188
188
using ModelingToolkitStandardLibrary. Blocks
189
189
using ModelingToolkitStandardLibrary. Mechanical. MultiBody2D
190
- using ModelingToolkitStandardLibrary. Mechanical. Translational
190
+ using ModelingToolkitStandardLibrary. Mechanical. TranslationalPosition
191
191
192
192
using ControlSystemsMTK
193
193
using ControlSystemsMTK. ControlSystemsBase: sminreal, minreal, poles
@@ -197,22 +197,20 @@ if VERSION >= v"1.8"
197
197
D = Differential (t)
198
198
199
199
@named link1 = Link (; m = 0.2 , l = 10 , I = 1 , g = - 9.807 )
200
- @named cart = Translational . Mass (; m = 1 , s = 0 )
200
+ @named cart = TranslationalPosition . Mass (; m = 1 , s = 0 )
201
201
@named fixed = Fixed ()
202
- @named force = Force ()
202
+ @named force = Force (use_support = false )
203
203
204
204
eqs = [connect (link1. TX1, cart. flange)
205
205
connect (cart. flange, force. flange)
206
206
connect (link1. TY1, fixed. flange)]
207
207
208
208
@named model = ODESystem (eqs, t, [], []; systems = [link1, cart, force, fixed])
209
209
def = ModelingToolkit. defaults (model)
210
- for s in states (model)
211
- def[s] = 0
212
- end
213
- def[link1. x1] = 10
214
- def[link1. fy1] = - def[link1. g] * def[link1. m]
210
+ def[cart. s] = 10
211
+ def[cart. v] = 0
215
212
def[link1. A] = - pi / 2
213
+ def[link1. dA] = 0
216
214
lin_outputs = [cart. s, cart. v, link1. A, link1. dA]
217
215
lin_inputs = [force. f. u]
218
216
@@ -235,11 +233,12 @@ if VERSION >= v"1.8"
235
233
236
234
dummyder = setdiff (states (sysss), states (model))
237
235
def = merge (def, Dict (x => 0.0 for x in dummyder))
236
+ def[link1. fy1] = - def[link1. g] * def[link1. m]
238
237
239
238
@test substitute (lsyss. A, def) ≈ lsys. A
240
239
# We cannot pivot symbolically, so the part where a linear solve is required
241
240
# is not reliable.
242
- @test substitute (lsyss. B, def)[1 : 6 , : ] ≈ lsys. B[1 : 6 , : ]
241
+ @test substitute (lsyss. B, def)[1 : 6 , 1 ] ≈ lsys. B[1 : 6 , 1 ]
243
242
@test substitute (lsyss. C, def) ≈ lsys. C
244
243
@test substitute (lsyss. D, def) ≈ lsys. D
245
244
end
0 commit comments