2
2
# using Plots
3
3
using ModelingToolkit, OrdinaryDiffEq, Test
4
4
using ModelingToolkit: t_nounits as t, D_nounits as D
5
- import Multibody. PlanarMechanics as Planar
5
+ import Multibody. PlanarMechanics as Pl
6
6
using JuliaSimCompiler
7
7
8
8
tspan = (0.0 , 3.0 )
@@ -12,7 +12,7 @@ g = -9.807
12
12
# https://github.com/dzimmer/PlanarMechanics/blob/743462f58858a808202be93b708391461cbe2523/PlanarMechanics/Examples/FreeBody.mo
13
13
m = 2
14
14
I = 1
15
- @named body = Planar . Body (; m, I)
15
+ @named body = Pl . Body (; m, I)
16
16
@named model = ODESystem (Equation[],
17
17
t,
18
18
[],
34
34
35
35
@testset " Pendulum" begin
36
36
# https://github.com/dzimmer/PlanarMechanics/blob/743462f58858a808202be93b708391461cbe2523/PlanarMechanics/Examples/Pendulum.mo
37
- @named ceiling = Planar . Fixed ()
38
- @named rod = Planar . FixedTranslation (r = [1.0 , 0.0 ])
39
- @named body = Planar . Body (m = 1 , I = 0.1 )
40
- @named revolute = Planar . Revolute ()
37
+ @named ceiling = Pl . Fixed ()
38
+ @named rod = Pl . FixedTranslation (r = [1.0 , 0.0 ])
39
+ @named body = Pl . Body (m = 1 , I = 0.1 )
40
+ @named revolute = Pl . Revolute ()
41
41
42
42
connections = [
43
43
connect (ceiling. frame, revolute. frame_a),
62
62
63
63
@testset " Prismatic" begin
64
64
# just testing instantiation
65
- @test_nowarn @named prismatic = Planar . Prismatic (x = 1.0 , y = 0.0 )
65
+ @test_nowarn @named prismatic = Pl . Prismatic (x = 1.0 , y = 0.0 )
66
66
end
67
67
68
68
@testset " AbsoluteAccCentrifugal" begin
73
73
resolve_in_frame = :world
74
74
75
75
# components
76
- @named body = Planar . Body (; m, I, gy = 0.0 )
77
- @named fixed_translation = Planar . FixedTranslation (; r = [10 , 0 ])
78
- @named fixed = Planar . Fixed ()
79
- @named revolute = Planar . Revolute ()# constant_ω = ω)
76
+ @named body = Pl . Body (; m, I, gy = 0.0 )
77
+ @named fixed_translation = Pl . FixedTranslation (; r = [10 , 0 ])
78
+ @named fixed = Pl . Fixed ()
79
+ @named revolute = Pl . Revolute ()# constant_ω = ω)
80
80
81
81
# sensors
82
- @named abs_v_sensor = Planar . AbsoluteVelocity (; resolve_in_frame)
82
+ @named abs_v_sensor = Pl . AbsoluteVelocity (; resolve_in_frame)
83
83
84
84
eqs = [
85
85
connect (fixed. frame, revolute. frame_a),
86
86
connect (revolute. frame_b, fixed_translation. frame_a),
87
87
connect (fixed_translation. frame_b, body. frame),
88
- # Planar .connect_sensor(body.frame, abs_v_sensor.frame_a)... # QUESTION: why?
88
+ # Pl .connect_sensor(body.frame, abs_v_sensor.frame_a)... # QUESTION: why?
89
89
connect (body. frame, abs_v_sensor. frame_a)
90
90
]
91
91
@@ -127,36 +127,36 @@ end
127
127
I = 1
128
128
resolve_in_frame = :world
129
129
130
- @named body1 = Planar . Body (; m, I)
131
- @named body2 = Planar . Body (; m, I)
132
- @named base = Planar . Fixed ()
130
+ @named body1 = Pl . Body (; m, I)
131
+ @named body2 = Pl . Body (; m, I)
132
+ @named base = Pl . Fixed ()
133
133
134
- @named abs_pos_sensor = Planar . AbsolutePosition (; resolve_in_frame)
135
- @named abs_v_sensor = Planar . AbsoluteVelocity (; resolve_in_frame)
136
- @named abs_a_sensor = Planar . AbsoluteAcceleration (; resolve_in_frame)
137
- @named rel_pos_sensor1 = Planar . RelativePosition (; resolve_in_frame)
138
- @named rel_pos_sensor2 = Planar . RelativePosition (; resolve_in_frame)
139
- @named rel_v_sensor1 = Planar . RelativeVelocity (; resolve_in_frame)
140
- @named rel_v_sensor2 = Planar . RelativeVelocity (; resolve_in_frame)
141
- @named rel_a_sensor1 = Planar . RelativeAcceleration (; resolve_in_frame)
142
- @named rel_a_sensor2 = Planar . RelativeAcceleration (; resolve_in_frame)
134
+ @named abs_pos_sensor = Pl . AbsolutePosition (; resolve_in_frame)
135
+ @named abs_v_sensor = Pl . AbsoluteVelocity (; resolve_in_frame)
136
+ @named abs_a_sensor = Pl . AbsoluteAcceleration (; resolve_in_frame)
137
+ @named rel_pos_sensor1 = Pl . RelativePosition (; resolve_in_frame)
138
+ @named rel_pos_sensor2 = Pl . RelativePosition (; resolve_in_frame)
139
+ @named rel_v_sensor1 = Pl . RelativeVelocity (; resolve_in_frame)
140
+ @named rel_v_sensor2 = Pl . RelativeVelocity (; resolve_in_frame)
141
+ @named rel_a_sensor1 = Pl . RelativeAcceleration (; resolve_in_frame)
142
+ @named rel_a_sensor2 = Pl . RelativeAcceleration (; resolve_in_frame)
143
143
144
144
connections = [
145
- Planar . connect_sensor (body1. frame, abs_pos_sensor. frame_a)... ,
146
- Planar . connect_sensor (body1. frame, abs_v_sensor. frame_a)... ,
147
- Planar . connect_sensor (body1. frame, abs_a_sensor. frame_a)... ,
148
- Planar . connect_sensor (body1. frame, rel_pos_sensor1. frame_a)... ,
149
- Planar . connect_sensor (base. frame, rel_pos_sensor1. frame_b)... ,
150
- Planar . connect_sensor (body1. frame, rel_pos_sensor2. frame_a)... ,
151
- Planar . connect_sensor (body2. frame, rel_pos_sensor2. frame_b)... ,
152
- Planar . connect_sensor (base. frame, rel_v_sensor1. frame_a)... ,
153
- Planar . connect_sensor (body1. frame, rel_v_sensor1. frame_b)... ,
154
- Planar . connect_sensor (body1. frame, rel_v_sensor2. frame_a)... ,
155
- Planar . connect_sensor (body2. frame, rel_v_sensor2. frame_b)... ,
156
- Planar . connect_sensor (body1. frame, rel_a_sensor1. frame_a)... ,
157
- Planar . connect_sensor (base. frame, rel_a_sensor1. frame_b)... ,
158
- Planar . connect_sensor (body1. frame, rel_a_sensor2. frame_a)... ,
159
- Planar . connect_sensor (body2. frame, rel_a_sensor2. frame_b)...
145
+ Pl . connect_sensor (body1. frame, abs_pos_sensor. frame_a)... ,
146
+ Pl . connect_sensor (body1. frame, abs_v_sensor. frame_a)... ,
147
+ Pl . connect_sensor (body1. frame, abs_a_sensor. frame_a)... ,
148
+ Pl . connect_sensor (body1. frame, rel_pos_sensor1. frame_a)... ,
149
+ Pl . connect_sensor (base. frame, rel_pos_sensor1. frame_b)... ,
150
+ Pl . connect_sensor (body1. frame, rel_pos_sensor2. frame_a)... ,
151
+ Pl . connect_sensor (body2. frame, rel_pos_sensor2. frame_b)... ,
152
+ Pl . connect_sensor (base. frame, rel_v_sensor1. frame_a)... ,
153
+ Pl . connect_sensor (body1. frame, rel_v_sensor1. frame_b)... ,
154
+ Pl . connect_sensor (body1. frame, rel_v_sensor2. frame_a)... ,
155
+ Pl . connect_sensor (body2. frame, rel_v_sensor2. frame_b)... ,
156
+ Pl . connect_sensor (body1. frame, rel_a_sensor1. frame_a)... ,
157
+ Pl . connect_sensor (base. frame, rel_a_sensor1. frame_b)... ,
158
+ Pl . connect_sensor (body1. frame, rel_a_sensor2. frame_a)... ,
159
+ Pl . connect_sensor (body2. frame, rel_a_sensor2. frame_b)...
160
160
]
161
161
162
162
# connections = [
@@ -237,19 +237,19 @@ end
237
237
238
238
@testset " Measure Demo" begin
239
239
# https://github.com/dzimmer/PlanarMechanics/blob/743462f58858a808202be93b708391461cbe2523/PlanarMechanics/Examples/MeasureDemo.mo
240
- @named body = Planar . Body (; m = 1 , I = 0.1 )
241
- @named fixed_translation = Planar . FixedTranslation (;)
242
- @named fixed = Planar . Fixed ()
243
- @named body1 = Planar . Body (; m = 0.4 , I = 0.02 )
244
- @named fixed_translation1 = Planar . FixedTranslation (; r = [0.4 , 0 ])
245
- @named abs_pos_sensor = Planar . AbsolutePosition (; resolve_in_frame = :world )
246
- @named rel_pos_sensor = Planar . RelativePosition (; resolve_in_frame = :world )
247
- @named revolute1 = Planar . Revolute ()
248
- @named abs_v_sensor = Planar . AbsoluteVelocity (; resolve_in_frame = :frame_a )
249
- @named rel_v_sensor = Planar . RelativeVelocity (; resolve_in_frame = :frame_b )
250
- @named abs_a_sensor = Planar . AbsoluteAcceleration (; resolve_in_frame = :world )
251
- @named rel_a_sensor = Planar . RelativeAcceleration (; resolve_in_frame = :frame_b )
252
- @named revolute2 = Planar . Revolute ()
240
+ @named body = Pl . Body (; m = 1 , I = 0.1 )
241
+ @named fixed_translation = Pl . FixedTranslation (;)
242
+ @named fixed = Pl . Fixed ()
243
+ @named body1 = Pl . Body (; m = 0.4 , I = 0.02 )
244
+ @named fixed_translation1 = Pl . FixedTranslation (; r = [0.4 , 0 ])
245
+ @named abs_pos_sensor = Pl . AbsolutePosition (; resolve_in_frame = :world )
246
+ @named rel_pos_sensor = Pl . RelativePosition (; resolve_in_frame = :world )
247
+ @named revolute1 = Pl . Revolute ()
248
+ @named abs_v_sensor = Pl . AbsoluteVelocity (; resolve_in_frame = :frame_a )
249
+ @named rel_v_sensor = Pl . RelativeVelocity (; resolve_in_frame = :frame_b )
250
+ @named abs_a_sensor = Pl . AbsoluteAcceleration (; resolve_in_frame = :world )
251
+ @named rel_a_sensor = Pl . RelativeAcceleration (; resolve_in_frame = :frame_b )
252
+ @named revolute2 = Pl . Revolute ()
253
253
254
254
connections = [
255
255
connect (fixed_translation. frame_b, body. frame),
@@ -259,13 +259,13 @@ end
259
259
# connect(abs_a_sensor.frame_resolve, abs_a_sensor.frame_a),
260
260
connect (revolute2. frame_b, fixed_translation1. frame_a),
261
261
connect (revolute2. frame_a, fixed_translation. frame_b),
262
- # Planar .connect_sensor(fixed_translation.frame_b, rel_a_sensor.frame_a)...,
262
+ # Pl .connect_sensor(fixed_translation.frame_b, rel_a_sensor.frame_a)...,
263
263
# connect(fixed_translation.frame_b, rel_v_sensor.frame_a),
264
264
# connect(fixed_translation.frame_b, rel_v_sensor.frame_a),
265
265
# connect(rel_a_sensor.frame_b, body1.frame_a),
266
266
# connect(rel_v_sensor.frame_b, body1.frame_a),
267
267
# connect(rel_v_sensor.frame_b, body1.frame_a),
268
- Planar . connect_sensor (body1. frame, abs_a_sensor. frame_a)... # Planar .connect_sensor(body1.frame, abs_v_sensor.frame_a)..., # Planar .connect_sensor(body1.frame, abs_pos_sensor.frame_a)...,
268
+ Pl . connect_sensor (body1. frame, abs_a_sensor. frame_a)... # Pl .connect_sensor(body1.frame, abs_v_sensor.frame_a)..., # Pl .connect_sensor(body1.frame, abs_pos_sensor.frame_a)...,
269
269
]
270
270
271
271
@named model = ODESystem (connections,
293
293
294
294
@testset " SpringDamper" begin
295
295
# https://github.com/dzimmer/PlanarMechanics/blob/master/PlanarMechanics/Examples/SpringDamperDemo.mo
296
- @named spring_damper = Planar . SpringDamper (;
296
+ @named spring_damper = Pl . SpringDamper (;
297
297
s_relx0 = 0 ,
298
298
d_y = 1 ,
299
299
s_rely0 = 0 ,
302
302
c_x = 5 ,
303
303
d_x = 1 ,
304
304
c_phi = 0 )
305
- @named body = Planar . Body (; I = 0.1 , m = 0.5 , rx = 1 , ry = 1 , color= [0 ,1 ,0 ,1 ])
306
- @named fixed = Planar . Fixed ()
307
- @named fixed_translation = Planar . FixedTranslation (; r = [- 1 , 0 ])
305
+ @named body = Pl . Body (; I = 0.1 , m = 0.5 , rx = 1 , ry = 1 , color= [0 ,1 ,0 ,1 ])
306
+ @named fixed = Pl . Fixed ()
307
+ @named fixed_translation = Pl . FixedTranslation (; r = [- 1 , 0 ])
308
308
309
309
connections = [
310
310
connect (fixed. frame, fixed_translation. frame_a),
@@ -330,11 +330,11 @@ end
330
330
331
331
@testset " Spring and damper demo" begin
332
332
# https://github.com/dzimmer/PlanarMechanics/blob/743462f58858a808202be93b708391461cbe2523/PlanarMechanics/Examples/SpringDemo.mo
333
- @named body = Planar . Body (; m = 0.5 , I = 0.1 )
334
- @named fixed = Planar . Fixed ()
335
- @named spring = Planar . Spring (; c_y = 10 , s_rely0 = - 0.5 , c_x = 1 , c_phi = 1e5 )
336
- @named damper = Planar . Damper (d = 1 )
337
- @named prismatic = Planar . Prismatic (; x = 0 , y = 1 )
333
+ @named body = Pl . Body (; m = 0.5 , I = 0.1 )
334
+ @named fixed = Pl . Fixed ()
335
+ @named spring = Pl . Spring (; c_y = 10 , s_rely0 = - 0.5 , c_x = 1 , c_phi = 1e5 )
336
+ @named damper = Pl . Damper (d = 1 )
337
+ @named prismatic = Pl . Prismatic (; x = 0 , y = 1 )
338
338
339
339
connections = [
340
340
connect (fixed. frame, spring. frame_a),
0 commit comments