Part 1 In this part, we will use the kinematic car model presented in [1, Section 4.1.1] (references are listed on the last page of this document). You will first create a Simulink diagram, then implement two closed-loop control laws.
(a) The dynamics of the system are governed by
x˙ = v cos θ
y˙ = v sin θ θ˙ = v tan γL (1)
Set up a Simulink subsystem which inputs rear wheel velocity v and steering angle γ, and outputs the planar position (x, y) and heading angle θ. Take L = 1 m. Provide a screenshot of your Simulink design, including the contents of any subsystems you used.
(b) Create a closed-loop control system to move to a desired point. This system inputs a desired planar position (xref, yref), computes the reference heading
θref = atan2 (yref − y, xref − x)
then employs the control
v 2 2
p
γ = kγ(θref g θ)
where θref g θ is the shortest path from θref to θ on the unit circle — this is discussed in the course notes. Using an initial state of (x0, y0, θ0) = (0, 0, π/4), tune the control gains
v and kγ to drive the car to the reference (desired) position (xref, yref) = (10, −8) m.
Provide a plot of the states (x, y, θ) and inputs (v, γ) as well as the values of the control
gains you used.
(c) Using the same initial and desired state as (b), tune the gains kv and kγ to make the vehicle drive continuously around the goal without reaching it — this is known as a limit cycle. Provide the values of the gains used along with a plot of x versus y (i.e. overhead position of the car) for your limit cycle.
(d) We will now implement a controller proposed by [2] allowing the kinematic car to move to a desired 2D pose (xref, yref, θref). Introduce the new input ω through
γ = atan2(ωL, v) (2)
which transforms (1) into
x˙ = v cos θ y˙ = v sin θ θ˙ = ω
(3)
Define the set of variables
ρ = (xref − x)2 + (yref − y)2 φ = atan2(yref − y, xref − x)
α = φ − θ
β = φ − θref
Using the nonlinear feedback control law
v = kvρ cos α ω = kωα + kv
sin α cos α
(α + β)
α
with kv > 0, kω > 0 can be shown (see course notes) to make (3) converge asymptot- ically to (xref, yref, θref). Note because our actual system (1) employs input γ instead of ω, we employ the above result in (2) to obtain γ. Implement the above-described design in Simulink (you may wish to use the MATLAB Function block found in Library Browser under Simulink -> User-Defined Functions for the control law). Provide a screenshot of your design, plus a print-out of your MATLAB function if you used it.
(e) Using the design in (d) and initial pose (x0, y0, θ0) = (0, 0, 0), use your design to drive to the following final configurations, tuning gains kv, kω to get smooth performance:
(i) (xref, yref, θref) = (5, 8, 0)
(ii) (xref, yref, θref) = (−10, −4, −π/2)
For each run, provide plots of the vehicle states (x, y, θ) and inputs (v, γ) plus the values of control gains you used for each run.
(f) Did the system perform a limit cycle during your gain tuning for this second design?
CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,
Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This
7COM1028 Secure Systems Programming Referral Coursework: Secure
Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip
CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme