Skip to content
Snippets Groups Projects
Commit 97b9c56b authored by Julian Salt's avatar Julian Salt
Browse files

Update furuta.jl

parent e9990584
No related branches found
No related tags found
1 merge request!3WIP: Started furuta implementation
Pipeline #745 canceled
......@@ -91,13 +91,30 @@ phi(p::Furuta) = measure_phi(p)*2.56
measure_phi_dot(p::Furuta) = read(p.measure_phi_dot)
phi_dot(p::Furuta) = (measure_phi_dot(p) + 0.0708)*2.0
measure_theta(p::Furuta) = read(p.measure_theta)
theta(p::Furuta) = (measure_theta(p) + 5.1763)*0.3091
#theta(p::Furuta) = (measure_theta(p) + 5.1763)*0.3091
measure_theta_dot(p::Furuta) = read(p.measure_theta_dot)
theta_dot(p::Furuta) = (measure_theta_dot(p) - 0.022)*3.76
#theta_dot(p::Furuta) = (measure_theta_dot(p) - 0.022)*3.76
measure_theta_precise(p::Furuta) = read(p.measure_theta_precise)
theta_precise(p::Furuta) = (measure_theta_precise(p) + 0.7792)*0.058
#theta_precise(p::Furuta) = (measure_theta_precise(p) + 0.7792)*0.058
measure_theta_dot_precise(p::Furuta) = read(p.measure_theta_dot_precise)
theta_dot_precise(p::Furuta) = measure_theta_dot_precise(p)*0.68
#theta_dot_precise(p::Furuta) = measure_theta_dot_precise(p)*0.68
function theta(p::Furuta)
a = (measure_theta(p) + 5.1763)*0.3091
if abs(a) < 0.5
a = (measure_theta_precise(p) + 0.7792)*0.058
end
return a
end
function theta_dot(p::Furuta)
a = (measure_theta(p) + 5.1763)*0.3091
b = (measure_theta_dot(p) - 0.022)*3.76
if abs(a) < 0.5
b = measure_theta_dot_precise(p)*0.68
end
return b
end
measure(p::FurutaSimulator) = p.s.sys.C*p.s.state
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment