diff --git a/class05/class05.html b/class05/class05.html
index 012f089..4eee696 100644
--- a/class05/class05.html
+++ b/class05/class05.html
@@ -1,19 +1,64 @@
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/class05/class05.jl b/class05/class05.jl
index 5fcc987..c7eaef9 100644
--- a/class05/class05.jl
+++ b/class05/class05.jl
@@ -1,5 +1,5 @@
### A Pluto.jl notebook ###
-# v0.20.18
+# v0.20.24
using Markdown
using InteractiveUtils
@@ -476,7 +476,7 @@ begin
q_2 = x[2]
q_1_d = x[3]
q_2_d = x[4]
- q_1_dd_numer = l * m_2 * sin(q_2) * q_2_d + u + m_2 * g * cos(q_2) * sin(q_2)
+ q_1_dd_numer = l * m_2 * sin(q_2) * q_2_d^2 + u + m_2 * g * cos(q_2) * sin(q_2)
q_1_dd_denom = m_1 + m_2 * (1 - cos(q_2) ^ 2)
q_1_dd = q_1_dd_numer / q_1_dd_denom
q_2_dd_numer = l * m_2 * cos(q_2) * sin(q_2) * q_2_d^2 + u * cos(q_2) + (m_1 + m_2) * g * sin(q_2)
@@ -491,18 +491,18 @@ begin
cp_model = Model(Ipopt.Optimizer)
# initial guess: uniform motion, no control
- @variable(cp_model, -d_max .<= q_1[i=1:N] .<= d_max, start=i/N * d)
- @variable(cp_model, q_2[i=1:N], start=i/N * pi)
- @variable(cp_model, d_q_1[i=1:N], start=0)
- @variable(cp_model, d_q_2[i=1:N], start=0)
+ @variable(cp_model, -d_max .<= q_1[i=1:N] .<= d_max, start=(i-1)/(N-1) * d)
+ @variable(cp_model, q_2[i=1:N], start=(i-1)/(N-1) * pi)
+ @variable(cp_model, d_q_1[1:N], start=d/T)
+ @variable(cp_model, d_q_2[1:N], start=pi/T)
@variable(cp_model, -u_max .<= u[1:N] .<= u_max, start=0)
# collocation points
- @variable(cp_model, -d_max .<= q_1_c[1:N-1] .<= d_max)
- @variable(cp_model, q_2_c[1:N-1])
- @variable(cp_model, d_q_1_c[1:N-1])
- @variable(cp_model, d_q_2_c[1:N-1])
- @variable(cp_model, -u_max .<= u_c[1:N-1] .<= u_max)
+ @variable(cp_model, -d_max .<= q_1_c[i=1:N-1] .<= d_max, start=(2*i - 1)/(2 * (N - 1)) * d)
+ @variable(cp_model, q_2_c[i=1:N-1], start=(2*i - 1)/(2 * (N - 1)) * pi)
+ @variable(cp_model, d_q_1_c[1:N-1], start=d/T)
+ @variable(cp_model, d_q_2_c[1:N-1], start=pi/T)
+ @variable(cp_model, -u_max .<= u_c[1:N-1] .<= u_max, start=0)
@expression(cp_model, x[i=1:N], [q_1[i], q_2[i], d_q_1[i], d_q_2[i]])
@expression(cp_model, x_c[i=1:N-1], [q_1_c[i], q_2_c[i], d_q_1_c[i], d_q_2_c[i]])