From e6cafa39d142d0fdbab58e325c7ccc53ca7a98b4 Mon Sep 17 00:00:00 2001 From: Yifei Simon Shao Date: Wed, 28 Jun 2023 10:38:31 -0400 Subject: [PATCH] added obsacles, things dont always work, time to do some more tuning with last commit --- Project.toml | 1 + control_inputs.png | Bin 30611 -> 23503 bytes examples/quickstart.jl => quickstart.jl | 11 ++ refined_path.png | Bin 30588 -> 28240 bytes refined_vel.png | Bin 27536 -> 30404 bytes ros_test.jl | 6 +- src/Altro.jl | 1 + src/augmented_lagrangian/al_solve.jl | 103 ++++++++++++++++++ yifei/quadrotor_kr.jl | 70 +++++++----- yifei/quadrotor_kr_min_time.jl | 117 ++++++++++++++++++++ yifei/quadrotor_with_time_state.jl | 137 ++++++++++++++++++++++++ 11 files changed, 417 insertions(+), 29 deletions(-) rename examples/quickstart.jl => quickstart.jl (89%) create mode 100644 yifei/quadrotor_kr_min_time.jl create mode 100644 yifei/quadrotor_with_time_state.jl diff --git a/Project.toml b/Project.toml index 7ef4af9..ef31f8f 100644 --- a/Project.toml +++ b/Project.toml @@ -4,6 +4,7 @@ authors = ["Brian Jackson "] version = "0.5.0" [deps] +Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" ControlSystems = "a6e380b2-a6ca-5380-bf3e-84a91bcd477e" diff --git a/control_inputs.png b/control_inputs.png index 6484faaf09961f13c3f0fc2b4458cebd46a9c8fd..981e0d5b83684b208c6e0b1fa23ed0f73f555fc1 100644 GIT binary patch literal 23503 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 R2SPWZt!|)Jta3Bx{{S{whSvZ9 literal 30611 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

sNsXHkM#|4xR5O~qBh>G6zBr~f0xVYHwL8qdi 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

    X>xmwUwG^Vv!omBqzHrV4qO}&I zOv`)o@7jlQ0oju1K$pmLS@NO%bb0=&(Nxv5ye)(ylaph6BHdho^LUZkZh zvp6PB(G(AHv)OkXznLE*ae8Yx+Fa^BJ5ui3;$$!f>=avpWint2K+L%aI-jB+OmP;h zUn!?5sBXaN=Th}mHLRHx8B{@QO><8XFUFIVD*|IZbAnH?4ldyxnNnp0t_rEyz?U^q zv1f&dzgpjYm}khsOMH1(;IK++!=?Pysb+DdUNxe+d91RQ+w~Uh!La@_a8&N%)e7`~ z+xawZqtve*K$=|;Qp>(^#cLj%>GqV_PU@wJxf`j~baM3`j<``J;s`2J1d|3a*8p>l z|2#$8q};=3DiFLJP=3PztaA`d-BB%zpU`)!hkKV>d$3b%@5^W>tl$2$e~1=BAcP+d zMs4+P(oBf#@C#=CiPKpg(c=jk2*mF>8U6u~&ExW49{46a+z*|zw*)phWMwi%pM0Us z_kJLO!6M(@^1pfu4~{F(L_=c+>i<+L^VEQsE-xc5YVS!W#DUr!^1tQ z-^)r$72uHtkn$%2VF!6!NzFvfR}A8c4-EkkmYJEU zR@`#LB?o*S5Xh+igW6x2eAuY%h5y^D>A_$DP-Y8MVQXbe9Rhe}UnQlNa31;mk`ilx zZU)toTwPp9xU4n2yaeD9!&abH8ql^R?50oQZ-zs+F9F}*cDdD?I)1nH8W9m0`6In= z_p_-fAnMCt2ZCgWGf?Iz+S5v&sT2GFp6=eBC2-j5wRnKCC+X0)`Rwk;8vtD04}-z1 zx$^V#S+r{-p>JstQd9XszyVbA2!~>u0mzi+*%=7>`J-Wx zT5}Kv1O$Li34#CvAEJU+E)#_B2C~IN01ul+tPhCW^n`?(&;2jwveP1_ET_ylqGujT zxquQ`ppu3>cN|WfNrUhG9jNA#!fNPG`JsB9Cmnd0S@fED*x8i}RmO+cevo<{cErZU zf|5trVr*<|08fw#>QhabgbWo*)&sCQuo(FC&UYuwzyPVN^W?%*W3i2@W_5IR>4F`! zKxH6JdwYBE+~#NwN+7cEP#X?Zir_A_x93mp^UJ|Z+ zF%1E)38-o<_OY8WUoKtX?4H6YvrxZI^0 zzj8p)j?pYpPy+!KE+KCQv@Ky2H7hGC2gfN04uOgaW$VvVmB~MAs$oCswGzc92=2I& zQrXzven57EOxgba{^}~8bij}I*qbbr%KZw(-p>0(`w|BSKLxm^LS8kD)1+I4;?DEFV%fjL3T$mrb6OiO!sda6=9nuq!{puxjK`^LhwAyA3NId~QMpCYj z#$(8qOb}cMd!9N`FjiDl1Zeb)O--Ke?lu78zCT_1;>C+y9UWq+D6Upek_v1IcQ?03sHjW;8x6{=?aq_~C&91@0Gk6$`2h${ zs1@Jdo-YIARS;nM8~;}D;)#ic4w+tqAjP1m69|DUE-qU1I`B0#Gyr~lQX5EZNV*Qq z`l`v82+Su#%_sDKq1PaKC&?BV=MBYe0mcsT#}==}dD$iI8vI3}X}<#)`WEG^`Nq`X9#n1TQQ E0ZORC-v9sr literal 27536 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 1e5 + # push!(large_λ_arr, true) + # else + # push!(large_λ_arr, false) + # end + # end + # push!(lincons, alcon.con) + # max_λ = maximum(alcon.λ[1]) + # idx_needs_change = push!(idx_needs_change, alcon.inds[1]) + # if max_λ > 1e5 + # push!(large_λ_arr, true) + # else + # push!(large_λ_arr, false) + # end + # end + # end + # for + # RD.evaluate(con::LinearConstraint, z::AbstractKnotPoint) = con.A*RD.getdata(z)[con.inds] .- con.b + # check if trajectory current position is in any other polytope + + #if yes, then switch the constraint to that polytope + # println(typeof(alcon)) + # println(alcon.inds) + # display(alcon.λ) + + + + + # for i in eachindex(alcon.inds) + # λ, μ, c = alcon.λ[i], alcon.μ[i], alcon.vals[i] + # conval = alcon.con[i] + # println(typeof(conval)) + # if isa(conval, LinearConstraint{}) + # println("Linear constraint max value is: ", maximum(conval.λ)) + # println(typeof(conval)) + # end + # end + # c = conval.vals + # λ = conval.λ + # μ = conval.μ + # λ_max = conval.params.λ_max + # cone = TO.sense(conval.con) + # λ_min = TO.sense(conval.con) == Equality() ? -λ_max : zero(λ_max) + # for i in eachindex(conval.inds) + # λ[i] .= dual_update(cone, SVector(λ[i]), SVector(c[i]), SVector(μ[i]), λ_max) + # end + +end + function record_iteration!(solver::ALSolver, J, c_max, μ_max) stats = solver.stats record_iteration!(stats, c_max=c_max, penalty_max=μ_max, is_outer=true) diff --git a/yifei/quadrotor_kr.jl b/yifei/quadrotor_kr.jl index 98f97e7..f09d12a 100644 --- a/yifei/quadrotor_kr.jl +++ b/yifei/quadrotor_kr.jl @@ -19,7 +19,7 @@ function Quadrotor_kr(Rot=UnitQuaternion{Float64}; traj_ref, vel_ref, FM_ref, ob # discretization N = length(traj_ref) # number of knot points - u0 = @SVector fill(0.5*9.81/4, m) #TODO: Change to actual vehicle mass + # u0 = @SVector fill(0.5*9.81/4, m) #TODO: Change to actual vehicle mass tf = convert(Float64, t_vec[end]) # Assigned from SplineTrajectory segment 0 total_time # what is a reasonable longest final time!? @@ -30,12 +30,12 @@ function Quadrotor_kr(Rot=UnitQuaternion{Float64}; traj_ref, vel_ref, FM_ref, ob x0 = RobotDynamics.build_state(model, x0_pos, UnitQuaternion(I), vel_ref[1], zeros(3)) # cost - costfun == :QuatLQR ? sq = 0 : sq = 1 - rm_quat = @SVector [1,2,3,4,5,6,8,9,10,11,12,13] + # costfun == :QuatLQR ? sq = 0 : sq = 1 + # rm_quat = @SVector [1,2,3,4,5,6,8,9,10,11,12,13] Q_diag = Dynamics.fill_state(model, 1e-5, 0.0, 0.0, 0.0) # x q:1e-5*sq v 1e-3 w - Q = Diagonal(Q_diag) - R = Diagonal(@SVector fill(1e-2,m)) + # Q = Diagonal(Q_diag) + R = Diagonal(@SVector fill(1e-2,m)) q_nom = UnitQuaternion(I) v_nom, ω_nom = zeros(3), zeros(3) # x_nom = Dynamics.build_state(model, zeros(3), q_nom, v_nom, ω_nom) @@ -48,6 +48,7 @@ function Quadrotor_kr(Rot=UnitQuaternion{Float64}; traj_ref, vel_ref, FM_ref, ob # else # cost_nom = LQRCost(Q*dt, R*dt, x_nom, u0) # end + U_hover = [MM * v for v in FM_ref] # inital reference input control traj = traj_ref #about 50/7 = 7 points # how many waypoints do you leave behind @@ -55,7 +56,7 @@ function Quadrotor_kr(Rot=UnitQuaternion{Float64}; traj_ref, vel_ref, FM_ref, ob times = 1:N #round.(Int, range(1, stop=101, length=length(traj))) println("length of traj is $(length(traj))") # times = [33, 66, 101] - Qw_diag = Dynamics.fill_state(model, 10, 0.0,0.0,0.0) #no waypoint cost since only the final point matters + Qw_diag = Dynamics.fill_state(model, 0, 0.0,0,0.0) #no waypoint cost since only the final point matters # x q:1*sq v:1 w:1 Qf_diag = Dynamics.fill_state(model, 10., 0.0, 10, 0.0) xf = Dynamics.build_state(model, traj[end], UnitQuaternion(I), vel_ref[end], zeros(3)) @@ -64,19 +65,19 @@ function Quadrotor_kr(Rot=UnitQuaternion{Float64}; traj_ref, vel_ref, FM_ref, ob xg = Dynamics.build_state(model, traj[i], q_nom, vel_ref[i], ω_nom) if times[i] == N Q = Diagonal(Qf_diag) - w = 4.0 - else - Q = Diagonal(1e-3*Qw_diag) * dt - w = 0.1 - end - if costfun == :QuatLQR - QuatLQRCost(Q, R*dt, xg, w=w) - elseif costfun == :ErrorQuad - Qd = diag(Q) - ErrorQuadratic(model, Diagonal(Qd[rm_quat]), R, xg) + # w = 4.0 else - LQRCost(Q, R, xg, u0) + Q = Diagonal(Qw_diag) * dt + # w = 0.1 end + # if costfun == :QuatLQR + # QuatLQRCost(Q, R*dt, xg, w=w) + # elseif costfun == :ErrorQuad + # Qd = diag(Q) + # ErrorQuadratic(model, Diagonal(Qd[rm_quat]), R, xg) + # else + LQRCost(Q, R, xg, U_hover[i]) + # end end # println(times) costs_all = map(1:N) do k @@ -96,10 +97,10 @@ function Quadrotor_kr(Rot=UnitQuaternion{Float64}; traj_ref, vel_ref, FM_ref, ob # println(typeof(costs[1])) # println(typeof(cost_nom)) - obj = Objective(costs_all) + obj = Objective(costs) # Initialization - U_hover = [MM * v for v in FM_ref] # inital reference input control + # U_hover = [copy(u0) for k = 1:N-1] # initial hovering control trajectory @@ -123,10 +124,11 @@ function Quadrotor_kr(Rot=UnitQuaternion{Float64}; traj_ref, vel_ref, FM_ref, ob #if 1 in poly, 2 in poly, 3 not in poly, then assign poly constraint to 1 and 2 polytope_counter = 1 traj_counter = 1 - result_mat = zeros(Int8, length(traj), length(obstacles)) + #make a double for loop to check if each point is in each polytope debug_flag = false if debug_flag + result_mat = zeros(Int8, length(traj), length(obstacles)) for i = 1:length(traj) for j = 1:length(obstacles) result_mat[i,j] = all(obstacles[j][1]*traj[i]-obstacles[j][2] .<= 0.0) @@ -135,19 +137,33 @@ function Quadrotor_kr(Rot=UnitQuaternion{Float64}; traj_ref, vel_ref, FM_ref, ob display(result_mat) exit() end - while traj_counter <= length(traj) && polytope_counter <= length(obstacles) + # while traj_counter <= length(traj) && polytope_counter <= length(obstacles) + # poly = obstacles[polytope_counter] + # if all(poly[1]*traj[traj_counter]-poly[2] .<= 0.0) + # println("""Adding constraint, point $traj_counter is in polytope $polytope_counter""") + # add_constraint!(conSet, LinearConstraint(n,m,-poly[1], -poly[2],Inequality(),1:3), traj_counter) + # traj_counter += 1 + # else + # polytope_counter += 1 + # end + # end + # if traj_counter < length(traj) + # println("Warning: not all traj initialized points are in polytopes") + # end + + polytope_counter = length(obstacles) + traj_counter = length(traj) + while traj_counter >= 1 && polytope_counter >= 1 poly = obstacles[polytope_counter] if all(poly[1]*traj[traj_counter]-poly[2] .<= 0.0) println("""Adding constraint, point $traj_counter is in polytope $polytope_counter""") - add_constraint!(conSet, LinearConstraint(n,m,poly[1], poly[2],Inequality(),1:3), traj_counter) - traj_counter += 1 + add_constraint!(conSet, LinearConstraint(n,m,-poly[1], -poly[2],Inequality(),1:3), traj_counter) + traj_counter -= 1 else - polytope_counter += 1 + polytope_counter -= 1 end end - if traj_counter < length(traj) - println("Warning: not all traj initialized points are in polytopes") - end + # Problem prob = Problem(model, obj, x0, tf, xf=xf, constraints=conSet) diff --git a/yifei/quadrotor_kr_min_time.jl b/yifei/quadrotor_kr_min_time.jl new file mode 100644 index 0000000..f2bfe9b --- /dev/null +++ b/yifei/quadrotor_kr_min_time.jl @@ -0,0 +1,117 @@ +function Quadrotor_kr_min_time(Rot=UnitQuaternion{Float64}; traj_ref, obstacles, time_total, + costfun=:Quadratic, normcon=false) + model = RobotZoo.Quadrotor{Rot}() + n,m = RD.dims(model) + + opts = SolverOptions( + penalty_scaling=100., + penalty_initial=1.0, + projected_newton=false, + ) + + # discretization + N = 101 # number of knot points + u0 = @SVector fill(0.5*9.81/4, m) #TODO: Change to actual vehicle mass + + tf = convert(Float64, time_total) # Assigned from SplineTrajectory segment 0 total_time + # what is a reasonable longest final time!? + dt = tf/(N-1) # total time + + # Initial condition + x0_pos = traj_ref[1] #this is planning in local coordinates + x0 = RobotDynamics.build_state(model, x0_pos, UnitQuaternion(I), zeros(3), zeros(3)) + + # cost + costfun == :QuatLQR ? sq = 0 : sq = 1 + rm_quat = @SVector [1,2,3,4,5,6,8,9,10,11,12,13] + Q_diag = Dynamics.fill_state(model, 1e-5, 0.0, 0.0, 0.0) + # x q:1e-5*sq v 1e-3 w + Q = Diagonal(Q_diag) + R = Diagonal(@SVector fill(1e-2,m)) + q_nom = UnitQuaternion(I) + v_nom, ω_nom = zeros(3), zeros(3) + x_nom = Dynamics.build_state(model, zeros(3), q_nom, v_nom, ω_nom) + #why is the state zero? should it follow referecne trajectory? + + if costfun == :QuatLQR + cost_nom = QuatLQRCost(Q*dt, R*dt, x_nom, w=0.0) + elseif costfun == :ErrorQuad + cost_nom = ErrorQuadratic(model, Diagonal(Q_diag[rm_quat])*dt, R*dt, x_nom) + else + cost_nom = LQRCost(Q*dt, R*dt, x_nom, u0) + end + + traj = traj_ref[1:7:end] #about 50/7 = 7 points + # how many waypoints do you leave behind + # waypoints + times = round.(Int, range(1, stop=101, length=length(traj))) + println("length of traj is $(length(traj))") + # times = [33, 66, 101] + Qw_diag = Dynamics.fill_state(model, 1e3, 0.0,0.0,0.0) + # x q:1*sq v:1 w:1 + Qf_diag = Dynamics.fill_state(model, 10., 100*sq, 10, 10) + xf = Dynamics.build_state(model, traj[end], UnitQuaternion(I), zeros(3), zeros(3)) + + costs = map(1:length(traj)) do i + r = traj[i] + xg = Dynamics.build_state(model, r, q_nom, v_nom, ω_nom) + if times[i] == N + Q = Diagonal(Qf_diag) + w = 40.0 + else + Q = Diagonal(1e-3*Qw_diag) * dt + w = 0.1 + end + if costfun == :QuatLQR + QuatLQRCost(Q, R*dt, xg, w=w) + elseif costfun == :ErrorQuad + Qd = diag(Q) + ErrorQuadratic(model, Diagonal(Qd[rm_quat]), R, xg) + else + LQRCost(Q, R, xg, u0) + end + end + # println(times) + costs_all = map(1:N) do k + # println("k is $k") + i = findfirst(x->(x ≥ k), times) + # println(i) + if k ∈ times + costs[i] + # println("Using goodcost") + else + cost_nom + + end + end + + # println(typeof(costs_all)) + # println(typeof(costs_all[1])) + # println(typeof(costs[1])) + # println(typeof(cost_nom)) + + obj = Objective(costs_all) + + # Initialization + U_hover = [copy(u0) for k = 1:N-1] # initial hovering control trajectory + + # Constraints + conSet = ConstraintList(n,m,N) + if normcon + if use_rot == :slack + add_constraint!(conSet, QuatSlackConstraint(), 1:N-1) + else + add_constraint!(conSet, QuatNormConstraint(), 1:N-1) + u0 = [u0; (@SVector [1.])] + end + end + bnd = BoundConstraint(n,m, u_min=0.0, u_max=12.0) + add_constraint!(conSet, bnd, 1:N-1) + + # Problem + prob = Problem(model, obj, x0, tf, xf=xf, constraints=conSet) + initial_controls!(prob, U_hover) + rollout!(prob) + + return prob, opts +end diff --git a/yifei/quadrotor_with_time_state.jl b/yifei/quadrotor_with_time_state.jl new file mode 100644 index 0000000..f1103af --- /dev/null +++ b/yifei/quadrotor_with_time_state.jl @@ -0,0 +1,137 @@ + +""" + Quadrotor{R} + +A standard quadrotor model, with simple aerodynamic forces. The orientation is represent by +a general rotation `R`. The body z-axis point is vertical, so positive controls cause acceleration +in the positive z direction. + +# Constructor + Quadrotor(; kwargs...) + Quadrotor{R}(; kwargs...) + +where `R <: Rotation{3}` and defaults to `UnitQuaternion{Float64}` if omitted. The keyword arguments are +* `mass` - mass of the quadrotor, in kg (default = 0.5) +* `J` - inertia of the quadrotor, in kg⋅m² (default = `Diagonal([0.0023, 0.0023, 0.004])`) +* `gravity` - gravity vector, in kg/m² (default = [0,0,-9.81]) +* `motor_dist` - distane between the motors, in m (default = 0.1750) +* `km` - motor torque constant (default = 0.0245) +* `kf` - motor force constant (default = 1.0) +""" +struct Quadrotor_time <: LieGroupModel + n::Int + m::Int + mass::Float64 + J::Diagonal{Float64,SVector{3,Float64}} + Jinv::Diagonal{Float64,SVector{3,Float64}} + gravity::SVector{3,Float64} + motor_dist::Float64 + kf::Float64 + km::Float64 + bodyframe::Bool # velocity in body frame? + info::Dict{Symbol,Any} +end +RobotDynamics.control_dim(::Quadrotor) = 4 + +function Quadrotor(; + mass=0.5, + J=Diagonal(@SVector [0.0023, 0.0023, 0.004]), + gravity=SVector(0,0,-9.81), + motor_dist=0.1750, + kf=1.0, + km=0.0245, + bodyframe=false, + info=Dict{Symbol,Any}()) where R + Quadrotor(13,4,mass,J,inv(J),gravity,motor_dist,kf,km,bodyframe,info) +end + +(::Type{Quadrotor})(;kwargs...) = Quadrotor{UnitQuaternion{Float64}}(;kwargs...) + +@inline RobotDynamics.velocity_frame(model::Quadrotor) = model.bodyframe ? :body : :world + +function trim_controls(model::Quadrotor) + @SVector fill(-model.gravity[3]*model.mass/4.0, size(model)[2]) +end + +function RobotDynamics.forces(model::Quadrotor, x, u) + q = orientation(model, x) + kf = model.kf + g = model.gravity + m = model.mass + + w1 = u[1] + w2 = u[2] + w3 = u[3] + w4 = u[4] + + F1 = max(0,kf*w1); + F2 = max(0,kf*w2); + F3 = max(0,kf*w3); + F4 = max(0,kf*w4); + F = @SVector [0., 0., F1+F2+F3+F4] #total rotor force in body frame + + m*g + q*F # forces in world frame +end + +function RobotDynamics.moments(model::Quadrotor, x, u) + + kf, km = model.kf, model.km + L = model.motor_dist + + w1 = u[1] + w2 = u[2] + w3 = u[3] + w4 = u[4] + + F1 = max(0,kf*w1); + F2 = max(0,kf*w2); + F3 = max(0,kf*w3); + F4 = max(0,kf*w4); + + M1 = km*w1; + M2 = km*w2; + M3 = km*w3; + M4 = km*w4; + tau = @SVector [L*(F2-F4), L*(F3-F1), (M1-M2+M3-M4)] #total rotor torque in body frame +end + +function RobotDynamics.wrenches(model::Quadrotor, x::SVector, u::SVector) + F = RobotDynamics.forces(model, x, u) + M = RobotDynamics.moments(model, x, u) + return [F; M] + + q = orientation(model, x) + C = forceMatrix(model) + mass, g = model.mass, model.gravity + + # Calculate force and moments + w = max.(u, 0) # keep forces positive + fM = forceMatrix(model)*w + f = fM[1] + M = @SVector [fM[2], fM[3], fM[4]] + e3 = @SVector [0,0,1] + F = mass*g - q*(f*e3) + return F,M +end + +function forceMatrix(model::Quadrotor) + kf, km = model.kf, model.km + L = model.motor_dist + @SMatrix [ + kf kf kf kf; + 0 L*kf 0 -L*kf; + -L*kf 0 L*kf 0; + km -km km -km; + ] +end + + +RobotDynamics.inertia(model::Quadrotor) = model.J +RobotDynamics.inertia_inv(model::Quadrotor) = model.Jinv +RobotDynamics.mass(model::Quadrotor) = model.mass + +function Base.zeros(model::Quadrotor{R}) where R + x = RobotDynamics.build_state(model, zero(RBState)) + u = @SVector fill(-model.mass*model.gravity[end]/4, 4) + return x,u +end