关键词 > AMME5520

AMME5520: Project Part 2

发布时间:2024-05-27

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

AMME5520: Project Part 2

The following questions build on Part 1 and explore state estimation, ro- bustness, and constraints via the material from weeks 7-11. Submit a report through TurnItIn justifying the design decisions you have made and exploring their consequences. The report must be thorough but concise (feedback from your tutor will be valuable in achieving the right balance).

All matlab code must also be submitted through TurnItIn. While you are encouraged to discuss approaches with tutors and your fellow students, all code, analysis and submitted writing must be entirely your own work.

Other programming languages: for this assignment, werecommend that you use Matlab for all tasks.  If you are very familiar with another language, e.g. Julia or Python, you may complete the assignment in this language but you should not expect help from the tutors in fixing any bugs.   In Problem 1, equivalent rules about restrictions on libraries implementing graph search algorithms apply.

Problem Specification

This project follows from Part 1. You are in a team developing a robot waiter for the restaurant industry, and your job is to design the planning and control system for the robot. The hardware team have settled on a Segway-like two- wheel inverted pendulum type robot, which can move quickly between tables and take orders from customers.

This robot is required to move around the restaurant, avoiding collisions with tables and maintaining balance and stability at all times. For this part of the project, assume the restaurant can be modelled as a open area with a number of circular obstacles representing tables.

For Part 2 we explore a more realistic setting than part one, with various types of uncertainty, limited sensing, and constraints on motion.

Clarification:  it may have been unclear in Part  1 that in the equations of motion,  we should have g  =  −9.8  representing  gravitational  force  in the (negative) vertical direction.

Checkpoints

The following checkpoints will be recorded, and may be taken into account in the marking of your report.

. Week 11: During your Week 11 tutorial, discuss your approach to Prob- lem 1 with your tutor.

. Week 12: During your Week 12 tutorial, show your progress on Problem 1 and discuss your approach to Problem 2 with your tutor.

Note that to a large extent the three problems below are independent, i.e. can be attempted in any order (except the last part of problem 3). If you wish to do things in a different order you can modify the checkpoints above accordingly.

Problem 1 [30 marks]

This problem builds on the LQR design of for the angle/speed subsystem (θ , θ(˙) , v , u1 )

in Project Part 1. In this part, we no longer assume the full state can be mea-

sured, but only the variables θ and v.

Your tasks are as follows:

1.  Design an output-feedback controller for the angle/speed subsystem given measurements of θ  and v ,  assuming that each is  a noisy signal with a variances of 10−2 . You can model disturbance inputs to the angular rate

θ and velocity v (e.g. wheel slip) as having variance of 0.1.

2.  Examine the robustness of the closed-loop system in terms of classical gain and phase margins, as well as sensitivity to variations in the body mass m (e.g.  due to the robot carrying plates).  Generally speaking, a robust controller should have phase margins of at least 45%, preferably closer to 60%.

3. If your original design is not sufficiently robust, design an improved con- troller and analyse its robustness.

Problem 2 [30 marks]

This task adapts the problem of navigating through the restaurant to a more realistic sensing scenario. In a real restaurant, tables may get moved around by staff or customers. Instead of having perfect knowledge of the location of all the tables, the robot now has an initial guess of their location which is accurate to within about a 50cm radius. Furthermore, the robot does not have any “absolute” position measurement (GPS does not work inside) and must localise itself relative to the tables as it moves around. Its initial position is known to an accuracy of about 1m. Your task is to consider three scenarios of increasing order of difficulty:

1.  The robot can sense the 2D cartesian position of all tables in the restau- rant relative to the robots location. I.e. the  (x, y)  coordinates  of the difference (table position − robot position) for each table. Each of these measurements has a standard deviation of about 5cm. Design a simulta- neous localisation and mapping (SLAM) system and integrate with your results from Project Part 1. Discuss its performance.

2.  Same as above but at any given time the robot can only sense the location of the nearest 3 tables at any given time.

3.  The robot now has only an omnidirectional camera that can sense the relative bearing of the nearest 3 tables (with respect to the robot body frame) but not the range. The standard  deviation of bearing error is approximately 5. Design a SLAM system and discuss its performance

Problem 3 [30 marks]

In this problem you will deal with hard constraints on the robot inputs and state variables. Your objective is to follow the prescribed path as quickly as possible without risking spilling food or injuring anyone. The following steps are suggested:

1.  For each state variable and control input, propose a reasonable set of constraints from a combination of physical constraints, safety constraints, and operational constraints (e.g. not spilling food).

2.  Design a state  feedback controller that  satisfies hard constraints, while attempting to traverse the path as quickly as possible.  How do you for- mulate this problem?  What solution method do you use? Discuss the choice of parameters and its performance.

3. Integrate with the results of Problem 1 & 2, i.e.  with the robust state estimation for the angle/speed dynamics (Problem 1) and the mapping and localisation relative to table (Problem 2). Comment on closed-loop performance. Are constraints still satisfied?

Report Quality [10 marks]

In addition to the marks above for technical work, 10 marks will be allocated for the presentation and structure of your report and any associated code.

It is expected that your report is well-written, clearly formatted, design decisions are well justified, and the results are concisely but thoroughly analysed, and that any Matlab code is well-structured, legible, and properly commented. Any figures should be legible and clear.

You may provide short code snippets within the report to illustrate ideas, and you must also upload all code