MTRN9400 Control of Robotic Systems
ASSIGNMENT 1 – T3 2022
1 Overview of the Assignment
This assignment is on the control of robot manipulators and is worth 25% of your total marks in this course.
Copyright By PowCoder代写 加微信 powcoder
The due date is 5:00pm, Friday 28th October 2021. Marks will be returned within 2 weeks after the submission deadline. You will complete this assignment individually.
1.1 Learning Outcomes
This assignment specifically targets the following learning outcome:
• LO1: Learn robot’s kinematic and dynamical model.
• LO2: Stability analysis and control of nonlinear systems.
• LO3: Understand different classes of controllers and apply them to robotic systems.
2 Assignment Specification
This assignment is split into 3 parts. This document will explain what you are required to do in each part, and the contributions each part will make to your overall assignment mark. Use the provided MATLAB files for the simulation parts of the assignment. This video explain how to use the MATLAB files: https://youtu.be/Q2oYNWCymJg.
In this assignment, you will design/analyse two different controllers for the regulation problem of a 2-DOF robot manipulator. The marks allocated to each part of the assignment are as follows:
• Part 1 (6 marks): PD controller
• Part 2 (7 marks): Properties of robot manipulators
• Part 3 (10 marks): PD control with gravity compensation
• Report presentation (2 marks): The criteria include good spelling and grammar, appropriate tech- nical language, logical structure including using headings and other conventions, appropriate graph- ical and tabular presentation, caption for graphics and tables, and appropriate spacing that aids readability.
2.1 Part 1 (6 marks)
In this part, you will control a 2-DOF robot using a PD controller:
τ = −Kpq(t) − qd − Kd q ̇(t). (1)
This controller is explained in Week 5 lecture and also in Chapter 6 of the textbook.
In real applications, PD control is local in the sense that the torque or force determined by such a controller when applied at a particular joint, depends only on the position and velocity of the joint in question and not on those of the other joints. Mathematically, this is translated by the choice of diagonal matrices Kp ∈ R2 and Kd ∈ R2. To simply the gain tuning process, we further assume that all diagonal entries of each of these matrices are the same. In other words, we assume the matrices Kp and Kd are in the form of Kp = kpI2 and Kd = kdI2 where kp and kd are constant scalars to be designed and I2 ∈ R2×2 is the identity matrix.
You can simulate the PD controller in (1) on a 2-DOF robot manipulator using the provided MATLAB files.
(a) Explain how kp and kd can be tuned so that
• The joint angular position errors are small;
• The joint angular velocity errors are zero;
• The transient response is good (i.e., the rise time is small and there is no or little oscillations in the position and velocity errors).
Add a figure similar to Figure 1 that clearly shows the transient response of the position errors and the steady-state values for the gains you chose in this part. You may add Data Tips that show the values of the position errors. Write the matrices Kp and Kd you used in your simulation. (3 marks).
Y 0.001294
X 0.4994 Y -0.02844
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Figure 1: Settling time of PD Control with gravity compensation
Suppose we want to apply the PD controller (1) with the gains obtained in Part 1(a) to a real robot. Note that in real-world experiments, the model of a robot may not be exactly the same as M(q)q ̈+ C(q,q ̇)q ̇ + g(g) = τ, due to, for example, measurement noises, elasticity of joints and links, and actuator saturation.
Explain what factors should be considered in the design of the gains kp and kd for real-world exper- iments. Can we use the same values/range of values we obtained in Part 1(a)? To get a full mark for this part, you should explain at least 4 key points that should be taken into consideration. (3 marks)
Part 2. (7 marks)
Use the 2-DOF model given in Section 4, and
(a) Find λm and λM for the inertia matrix M(q) of the 2-DOF robot example such that
0 < λmI2 ≤ M(q) ≤ λMI2, (2)
where λm and λM are respectively the strictly minimum and maximum eigenvalues of M(q) which are independent of q. You may either solve this part numerically or analytically. If you use a numerical method, you should copy and paste the MATLAB code you used for this part in your report with sufficient comments explaining your code. If you use an analytic method, you need to write your analytic solution in details in the report. The values you estimate or calculate for λm and λM should be close to the real bounds. Obviously, one can find conservative values for λm and λM that are not really useful (say, for example, λm = 1e − 100 and λM = 1e100). (2 marks)
(b) Find a bounded constant kc > 0 such that
∥C(q, q ̇)∥ ≤ kc∥q ̇∥. (3)
Similarly to Part 2(a), you can use both a numerical and analytical method to find kc. In both cases, you need to clearly explain the details of your calculation of your MATLAB code in the report and find a good estimate of the smallest value for kc. Note that the norm in the left-hand-side of (3) denotes the norm of a matrix. If you are not familiar how to calculate the norm of a matrix, you may first search on internet or in a math book and learn it. Equation (3) holds for all vector and matrix norms. (2 marks)
(c) Find the vector ρg and the matrix Yg(q) for the 2-DOF robot example such that the gravity vector g(q) can be expressed as
g(q) = Yg(q)ρg (4) where ρg is the rg × 1 vector of robot parameters and Yg(q) is a n × rg matrix that depends on q
(d) Using the linearity in parameters property, we can write the robot manipulator dynamical model τ = M(q)q ̈+ C(q,q ̇)q ̇ + g(q) in the form of τ = Y (q,q ̇,q ̈)ρ. Find the constant vector ρ such that it has the minimum possible number of elements (i.e. the dimension of the vector is minimum) and also find the corresponding Y (q, q ̇, q ̈). (2 mark)
2.3 Part 3 (10 marks)
We have learned two controllers for the regulation problems in Week 5: PD controller and PD control with gravity compensation. In this part of the assignment, we want to study another variant of PD control with gravity compensation:
τ =Kpq ̃−KdM(q)q ̇(t)+g(q) (5) where q ̃ = qd − q, and Kp, Kd are n-by-n matrices:
(a) (b) (c)
Obtain the closed-loop equation of the system in terms of the state variables q ̃ and q ̇ and verify the origin is a unique equilibrium point. (2 marks)
Find conditions on Kp and Kd such that the origin is globally asymptotically stable. You need to write a detailed mathematical stability proof for this part. (5 marks)
Simulate the controller in MATLAB and plot the joint position and velocity errors and show they converge to zero. Use any Kp and Kd gains that satisfy the conditions in Part 3(b) and write the gain values in your report. (1 marks)
Among the controller in (5) and the following controller,
τ =Kpq ̃−Kdq ̇(t)+g(q), (6)
which one is better to control a real robot? In other words, is there any difference in terms of the controller performance (both steady-state and transient responses)? (2 marks)
Additional Information
No cover sheet is required as all assignments will be identified through your Moodle account.
A plagiarism check may be performed on submissions and any instances of plagiarism will be dealt with under the UNSW plagiarism policy (linked from the course outline).
Please refer to the course outline for late submission policy.
Frequently asked questions about this assignment will be answered in a FAQ SharePoint page in Assignment 1 channel on Teams. Please regularly check the FAQ page, especially before you ask a question. Please post questions about this assignment in the Assignment 1 channel on Teams.
Appendix 1: Dynamic model of a 2-DOF robot manipulator
The dynamic equations for a 2-DOF robot manipulator are
M ( q ) q ̈ + C ( q , q ̇ ) q ̇ + g ( q ) = τ
m1l2c1 +m2 l21 +l2c2 +2l1lc2 cosq2+I1 +I2 m2l2c2 +l1lc2cosq2+I2
−m2l1lc2q ̇2 sin q2 −m2l1lc2(q ̇1 + q ̇2) sin q2 m2l1lc2q ̇1 sin q2 0
(m1glc1 + m2gl1) cos q1 + m2glc2 cos(q1 + q2) m2glc2 cos(q1 + q2)
M(q)= C(q, q ̇) = g(q) =
m2 l2c2 +l1lc2 cosq2+I2 m2l2c2 +I2
The robot parameters are
m2 = 0.97326 I1 = 0.03917018 I2 = 0.00808284 lc1 = 0.179
lc2 = 0.05
g = 9.80665
Mass of the link 1 (kg)
Mass of the link 2) (kg)
Moment of inertia of the link 1 at its centre of mass (kg.m2)
Moment of inertia of the link 2 at its centre of mass (kg.m2)
The distance from the link 1 centre of mass to its axis of rotation (m) Length of link 1 (m)
The distance from the link 2 centre of mass to its axis of rotation (m) Length of link 2 (m)
Earth’s gravity (m/s2)
The above dynamic model and the parameters are exactly the same as the ones in the MATLAB files.
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com