Skip to content

Commit 03994ff

Browse files
committed
update robot test
1 parent 41a0547 commit 03994ff

1 file changed

Lines changed: 12 additions & 33 deletions

File tree

test/test_robot.jl

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -235,50 +235,29 @@ u = m.axis2.controller.PI.ctr_output.u
235235
ssys = multibody(oneaxis)
236236

237237
op = Dict([
238-
oneaxis.axis.motor.Rd4.i => 0
239-
# D(oneaxis.axis.flange.phi) => 0
240-
# D(D(oneaxis.axis.flange.phi)) => 0
241-
# D(D(oneaxis.load.phi)) => 0
242-
# D(oneaxis.axis.gear.gear.phi_b) => 0
243-
# oneaxis.axis.controller.PI.T => 0.01
244-
# oneaxis.axis.controller.PI.gainPI.k => 1
245-
# oneaxis.axis.controller.P.k => 10
246-
# oneaxis.load.J => 1.3*15
247-
# oneaxis.load.phi => 0
238+
ssys.axis.motor.Rd4.i => 0
248239
])
249-
# matrices_S, simplified_sys = Blocks.get_sensitivity(oneaxis, :axis₊controller_e; op)
250-
251-
252-
# using ControlSystemsBase
253-
# S = ss(matrices_S...) |> minreal
254-
# @test isstable(S)
255-
# bodeplot(S)
256-
257-
258-
# ssys = structural_simplify(oneaxis)
259-
# cm = oneaxis
260-
# prob = ODEProblem(ssys, [
261-
# cm.axis.flange.phi => 0
262-
# D(cm.axis.flange.phi) => 0
263-
# ], (0.0, 5.0))
264-
265240

266241
prob = ODEProblem(ssys, op, (0.0, 3),)
267242
sol = solve(prob, Tsit5());
268243
if doplot()
269244
plot(sol, layout=length(unknowns(ssys)), size=(1900, 1200))
270-
plot!(sol, idxs=oneaxis.pathPlanning.controlBus.axisControlBus1.angle_ref)
245+
plot!(sol, idxs=ssys.pathPlanning.controlBus.axisControlBus1.angle_ref)
271246
display(current())
272247
end
273248
@test SciMLBase.successful_retcode(sol)
274-
# @test sol(10, idxs=oneaxis.axis.controller.PI.err_input.u) ≈ 0 atol=1e-8
249+
# @test sol(10, idxs=ssys.axis.controller.PI.err_input.u) ≈ 0 atol=1e-8
250+
251+
tv = 0:0.1:3.0
252+
control_error = sol(tv, idxs=ssys.pathPlanning.controlBus.axisControlBus1.angle_ref-ssys.load.phi)
275253

276-
tv = 0:0.1:10.0
277-
control_error = sol(tv, idxs=oneaxis.pathPlanning.controlBus.axisControlBus1.angle_ref-oneaxis.load.phi)
254+
# plot(sol, idxs=ssys.pathPlanning.controlBus.axisControlBus1.angle_ref)
255+
# plot!(sol, idxs=ssys.load.phi)
256+
# plot!(sol, idxs=idxs=ssys.pathPlanning.controlBus.axisControlBus1.angle_ref-ssys.load.phi)
278257

279-
@test sol(tv[1], idxs=oneaxis.pathPlanning.controlBus.axisControlBus1.angle_ref) deg2rad(0) atol=1e-8
280-
@test sol(tv[end], idxs=oneaxis.pathPlanning.controlBus.axisControlBus1.angle_ref) deg2rad(120)
281-
@test maximum(abs, control_error) < 1e-3
258+
@test sol(tv[1], idxs=ssys.pathPlanning.controlBus.axisControlBus1.angle_ref) deg2rad(0) atol=1e-8
259+
@test sol(tv[end], idxs=ssys.pathPlanning.controlBus.axisControlBus1.angle_ref) deg2rad(120)
260+
@test maximum(abs, control_error) < 2e-3
282261
end
283262

284263

0 commit comments

Comments
 (0)