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

MTRN9400 Control of Robotic Systems

ASSIGNMENT 1 - T3 2022

Overview of the Assignment

This assignment is on the control of robot manipulators and is worth 25% of your total marks in this course.

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.

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:

τ = Kp q(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).

0.5

0

-0.5

-1

-1.5

-2

-2.5

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

(b) 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)

2.2 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)  λM I2, (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˙)  kcq˙. (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

(1 mark).

(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 KpKd are n-by-n matrices:

(a) 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)

(b) 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)

(c) 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)

(d) 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) = τ

where

Σ m12

m2 .2 + 2  + 21c2 cos q2Σ + I1 + I2 m2 .2 + 1c2 cos q2Σ + I2 Σ


M (q) = c1

.12 c2 Σ c2 2


C(q, q˙) = m21c2q˙2 sin q2 m21c2(q˙1 + q˙2) sin q2

2   1 c2  1 2

g(q) = (m1gℓc1 + m2gℓ1) cos q1 + m2gℓc2 cos(q1 + q2)

m2gℓc2 cos(q1 + q2)

The robot parameters are

m1 = 1.91 Mass of the link 1 (kg)

m2 = 0.97326 Mass of the link 2) (kg)

I1 = 0.03917018  Moment of inertia of the link 1 at its centre of mass (kg.m2)

I2 = 0.00808284  Moment of inertia of the link 2 at its centre of mass (kg.m2)

c1 = 0.179 The distance from the link 1 centre of mass to its axis of rotation (m)

1 = 2c1 Length of link 1 (m)

c2 = 0.05 The distance from the link 2 centre of mass to its axis of rotation (m)

2 = 4lc2 Length of link 2 (m)

g = 9.80665 Earth’s gravity (m/s2)

The above dynamic model and the parameters are exactly the same as the ones in the MATLAB files.