You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi guys, after I try the code below, I got an error:
Code:
functionsolveMPC(l,w,n,m,T,z0,zT,zmin,zmax,umax,dt)
mpc =Model(solver=IpoptSolver(print_level=0))
@defVar(mpc, zmin[i] <= z[i=1:n,t=1:T+1] <= zmax[i])
@defVar(mpc, -umax[i] <= u[i=1:m,t=1:T] <= umax[i])
@setObjective(mpc, Min,
sum{(z[1,T]-zT[1])^2+(z[2,T]-zT[2])^2+10*(z[3,T]-zT[3])^2+(z[4,T]-zT[4])^2+(z[5,T]-zT[5])^2+(z[6,T]-zT[6])^2+(z[7,T]-zT[7])^2,t=T-7:T})
@NLexpression(mpc, af[i=1:T] ,atan((z[5,i]+l*z[6,i])/z[4,i])-u[1,i] )
@NLexpression(mpc, ar[i=1:T] ,atan((z[5,i]-l*z[6,i])/z[4,i]) )
@NLexpression(mpc , Ffy[i=1:T] , Caf*af[i])
@NLexpression(mpc , Fry[i=1:T] , Car*ar[i])
for i=1:T
if z[4,i] ==0return af[i]=ar[i]=0endend# Link state and control across the horizonfor t =1:T
@addNLConstraint(mpc, z[1,t+1] == z[1,t] + dt*z[4,t]*cos(z[3,t])-dt*z[5,t]*sin(z[3,t]))
@addNLConstraint(mpc, z[2,t+1] == z[2,t] + dt*z[4,t]*sin(z[3,t])+dt*z[5,t]*cos(z[3,t]))
@addNLConstraint(mpc, z[3,t+1] == z[3,t] + dt*z[6])
@addNLConstraint(mpc, z[4,t+1] == z[4,t] + dt*(u[2,t]-Ffy[t]*sin(u[1,t])+M*z[5,t]*z[6,t])/M)
@addNLConstraint(mpc, z[5,t+1] == z[5,t] + dt*(Fry+Ffy[t]*cos(u[1,t])-M*z[5,t]*z[6,t])/M)
@addNLConstraint(mpc, z[6,t+1] == z[6,t] + dt*(l*Ffy[t]*cos(u[1,t])-l*Fry[t])/Iz)
@addNLConstraint(mpc, z[7,t+1] == z[7,t] + dt*((Ffy[t]+Fry[t])/(M*z[4,t])-z[6,t]))
end# Initial conditions@addConstraint(mpc, z[:,1] .== z0)
# Final state#@addConstraint(mpc, z[:,T] .== zT)# Solve the NLPsolve(mpc)
#return getValue(u[:,0]), getValue(z[:,1])returngetvalue(u), getvalue(z)
end
and the error:
ERROR: LoadError: Unexpected vector JuMP.NonlinearExpression["Reference to nonlinear expression #451", "Reference to nonlinear expression #452", "Reference to nonlinear expression #453", "Reference to nonlinear expression #454", "Reference to nonlinear expression #455", "Reference to nonlinear expression #456", "Reference to nonlinear expression #457", "Reference to nonlinear expression #458", "Reference to nonlinear expression #459", "Reference to nonlinear expression #460", "Reference to nonlinear expression #461", "Reference to nonlinear expression #462", "Reference to nonlinear expression #463", "Reference to nonlinear expression #464", "Reference to nonlinear expression #465", "Reference to nonlinear expression #466", "Reference to nonlinear expression #467", "Reference to nonlinear expression #468", "Reference to nonlinear expression #469", "Reference to nonlinear expression #470", "Reference to nonlinear expression #471", "Reference to nonlinear expression #472", "Reference to nonlinear expression #473", "Reference to nonlinear expression #474", "Reference to nonlinear expression #475", "Reference to nonlinear expression #476", "Reference to nonlinear expression #477", "Reference to nonlinear expression #478", "Reference to nonlinear expression #479", "Reference to nonlinear expression #480", "Reference to nonlinear expression #481", "Reference to nonlinear expression #482", "Reference to nonlinear expression #483", "Reference to nonlinear expression #484", "Reference to nonlinear expression #485", "Reference to nonlinear expression #486", "Reference to nonlinear expression #487", "Reference to nonlinear expression #488", "Reference to nonlinear expression #489", "Reference to nonlinear expression #490", "Reference to nonlinear expression #491", "Reference to nonlinear expression #492", "Reference to nonlinear expression #493", "Reference to nonlinear expression #494", "Reference to nonlinear expression #495", "Reference to nonlinear expression #496", "Reference to nonlinear expression #497", "Reference to nonlinear expression #498", "Reference to nonlinear expression #499", "Reference to nonlinear expression #500", "Reference to nonlinear expression #501", "Reference to nonlinear expression #502", "Reference to nonlinear expression #503", "Reference to nonlinear expression #504", "Reference to nonlinear expression #505", "Reference to nonlinear expression #506", "Reference to nonlinear expression #507", "Reference to nonlinear expression #508", "Reference to nonlinear expression #509", "Reference to nonlinear expression #510", "Reference to nonlinear expression #511", "Reference to nonlinear expression #512", "Reference to nonlinear expression #513", "Reference to nonlinear expression #514", "Reference to nonlinear expression #515", "Reference to nonlinear expression #516", "Reference to nonlinear expression #517", "Reference to nonlinear expression #518", "Reference to nonlinear expression #519", "Reference to nonlinear expression #520", "Reference to nonlinear expression #521", "Reference to nonlinear expression #522", "Reference to nonlinear expression #523", "Reference to nonlinear expression #524", "Reference to nonlinear expression #525", "Reference to nonlinear expression #526", "Reference to nonlinear expression #527", "Reference to nonlinear expression #528", "Reference to nonlinear expression #529", "Reference to nonlinear expression #530", "Reference to nonlinear expression #531", "Reference to nonlinear expression #532", "Reference to nonlinear expression #533", "Reference to nonlinear expression #534", "Reference to nonlinear expression #535", "Reference to nonlinear expression #536", "Reference to nonlinear expression #537", "Reference to nonlinear expression #538", "Reference to nonlinear expression #539", "Reference to nonlinear expression #540", "Reference to nonlinear expression #541", "Reference to nonlinear expression #542", "Reference to nonlinear expression #543", "Reference to nonlinear expression #544", "Reference to nonlinear expression #545", "Reference to nonlinear expression #546", "Reference to nonlinear expression #547", "Reference to nonlinear expression #548", "Reference to nonlinear expression #549", "Reference to nonlinear expression #550", "Reference to nonlinear expression #551", "Reference to nonlinear expression #552", "Reference to nonlinear expression #553", "Reference to nonlinear expression #554", "Reference to nonlinear expression #555", "Reference to nonlinear expression #556", "Reference to nonlinear expression #557", "Reference to nonlinear expression #558", "Reference to nonlinear expression #559", "Reference to nonlinear expression #560", "Reference to nonlinear expression #561", "Reference to nonlinear expression #562", "Reference to nonlinear expression #563", "Reference to nonlinear expression #564", "Reference to nonlinear expression #565", "Reference to nonlinear expression #566", "Reference to nonlinear expression #567", "Reference to nonlinear expression #568", "Reference to nonlinear expression #569", "Reference to nonlinear expression #570", "Reference to nonlinear expression #571", "Reference to nonlinear expression #572", "Reference to nonlinear expression #573", "Reference to nonlinear expression #574", "Reference to nonlinear expression #575", "Reference to nonlinear expression #576", "Reference to nonlinear expression #577", "Reference to nonlinear expression #578", "Reference to nonlinear expression #579", "Reference to nonlinear expression #580", "Reference to nonlinear expression #581", "Reference to nonlinear expression #582", "Reference to nonlinear expression #583", "Reference to nonlinear expression #584", "Reference to nonlinear expression #585", "Reference to nonlinear expression #586", "Reference to nonlinear expression #587", "Reference to nonlinear expression #588", "Reference to nonlinear expression #589", "Reference to nonlinear expression #590", "Reference to nonlinear expression #591", "Reference to nonlinear expression #592", "Reference to nonlinear expression #593", "Reference to nonlinear expression #594", "Reference to nonlinear expression #595", "Reference to nonlinear expression #596", "Reference to nonlinear expression #597", "Reference to nonlinear expression #598", "Reference to nonlinear expression #599", "Reference to nonlinear expression #600"] in nonlinear expression. Nonlinear expressions may contain only scalar expressions.
So, it means that the format about NLexpression:
@NLexpression(mpc , Ffy[i=1:T] , Cafaf[i])
@NLexpression(mpc , Fry[i=1:T] , Carar[i])
maybe the two above, cannot be accepted ?
and the format like:
for i=1:T
if z[4,i] == 0
return af[i]=ar[i]=0
end
end
can be accepted or it should be wrote in constraints ? or another way?
Please and thanks!
The text was updated successfully, but these errors were encountered:
Hi guys, after I try the code below, I got an error:
Code:
and the error:
So, it means that the format about NLexpression:
@NLexpression(mpc , Ffy[i=1:T] , Cafaf[i])
@NLexpression(mpc , Fry[i=1:T] , Carar[i])
maybe the two above, cannot be accepted ?
and the format like:
for i=1:T
if z[4,i] == 0
return af[i]=ar[i]=0
end
end
can be accepted or it should be wrote in constraints ? or another way?
Please and thanks!
The text was updated successfully, but these errors were encountered: