logo Hurry, Grab up to 30% discount on the entire course
Order Now logo
346 Times Downloaded

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Seth PowellResume writing
(5/5)

884 Answers

Hire Me
expert
Natalia GCriminology
(5/5)

813 Answers

Hire Me
expert
Dushaynat KapoorData mining
(5/5)

942 Answers

Hire Me
expert
Charu SinghalStatistics
(/5)

977 Answers

Hire Me
Minitab
(5/5)

You will first create a Simulink diagram, then implement two closed-loop control laws.

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

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?

 

(5/5)
Attachments:

Expert's Answer

346 Times Downloaded

Related Questions

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. Develop a program to emulate a purchase transaction at a retail store. This  program will have two classes, a LineItem class and a Transaction class

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

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

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme