联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Matlab编程Matlab编程

日期:2019-06-09 10:56

300599. Advanced Robotics

Project 2

Neural networks for robot control (30% of the overall mark)

Final individual report of the project must be submitted turnitin link on vUWS by

23:59, Wednesday 12th June 2019

NOTE: This is an individual project, any copying/plagiarism will be reported for official

investigation and be penalised accordingly!

Figure 1 shows a two-link robot. The dynamic equations of this robot are shown in the

Appendix. Numerical values for relevant parameters used in the equations are given in table

1.

The aims of this project are:

1. Using the dynamic equations given build a SIMULINK model of the robot that accepts

driving torques in robot joints and generates positions and velocities of the robot joints.

2. To implement a computed-torque controller (CTC) in SIMULINK for this robot.

3. To use a neural network controller (NNC) to perform the CTC and implement this NN

controller in SIMULINK.

The controllers developed are to be implemented in SIMULINK to demonstrate their

effectiveness.

You are required to work individually. The assessment will be based on the final individual

written report.

Support and help will be provided during tutorials in Week 13 – 14.

Assessment Schedule:

Submit a type written report (no hand written report will be accepted/marked), in either

word or PDF format, (no more than 15 pages) providing the methodology used, listing of

SIMULINK programs (of the robot, the CTC and NNC), example outputs and performance

comparison and analysis of the controllers (both CTC and NNC).

In particular, the report should address at least the following asepects:

1. Introduction

2. Methods:

a. Simulation model of the robot

b. CTC methods/equations, controller calculation, and CTC implementation in the

simulation

c. NNC methods – that including NN structure, training process

3. Results:

a. CTC results – controller gains used, simulation results with error comparisons

b. NNC results – NN training results (accuracy), NNC controller outcomes with error

comparison.

4. Discussions and conclusions

5. Simulation models and programs – you should include these in the report and submit

the codes/models in the code submission link.

APPENDIX:

Figure 1. A two link robot.

Robot dynamic equations:

where

For the purpose of training the NN, the operating range of the robot is assumed to be: q [-p, p] (rad),[-5, 5] (rad/sec) and [-10,10] (rad/sec2).

Table 1. Parameters of the two link IBM robot.

Parameters Value

Length of the first link (l1) 0.50 (m)

Length of the second link (l2) 0.25 (m)

Mass of the first link (m1) 10.0 (kg)

Mass of the second link (m2) 5.6 (kg)

Torque limit for joint 1 (T1max) ±100.0 (N-m)

Torque limit for joint 2 (T2max) ±50.0 (N-m)

Structural resonant frequency of the robot (fr) 10 (Hz)

q

The Computed-Torque-Controller (CTC) Design:

The robot dynamic equations are written, in matrix form, as:(1)

where H11, H12, H22, h1, and h2 are given in the previous page. and are joint

accelerations for joints 1 and 2.

The CTC equation will be of the form:(2)

where the superscript d represents the desired joint accelerations, velocities and positions;

while Kp1, Kp2, Kv1, and Kv2 are control gains that can be calculated using the following

characteristic equation of a second order system:

Therefore, to achieve the certain damping ratio z (≥1) and natural frequency wn (≤0.5wr),

and

If z = 1 and wn = 0.5wr are chosen, then the controller gains can be determined.

Hints regarding the project:

Technical hints:

1. To build the robot model and to implement the CTC in SIMULINK:

Students will need to put the robot dynamic equations into a MATLAB function in Simulink

to simulate the robot. Similarly, to implement the CTC, you will need to put CTC equations

(Eq 2) into a MATLAB function in Simulink.

In the above screen shot of the Simulink Library, you can find the required SIMULINK block

under “User-Defined Functions” and then drag the “Interpreted MATLAB Function” icon to

their model. You can then double click the icon and provide the name of the function (forq1!! q 2!!e!!+ KV e! + KPe = 0

Kv zwn = 2 2 Kp = wn

example: Robot or CTC). After this is done, you will need to create a function called

‘‘Robot.m’ or ‘CTC.m’ in the directory that you will run the simulation.

2. To implement an NN controller.

To training the neural network to implement the controller, you will need to generate random

inputs that covers the operating range of the robot: q [-p, p] (rad), [-5, 5] (rad/sec) and [-10,10] (rad/sec2). Then appropriate equations should be used to calculate the controller

outputs for these randomly generated inputs. You should refer to the example program that

was posted with Week 10 Lecture Notes on vUWS for how to train an NN.

The neural network can be trained to realise the CTC equation (2). However, as there are

more variables in equation (2) than in equation (1), it is more efficient to train the NN to learn

equation (1). Once an NN is trained to realise equation (1), then the CTC controller can be

implemented by replacing the input to neural network for by .

This short linear equation can be pre-calculated using mathematical equations before input to

the NN. By using this method, the training time for the NN can be reduced significantly!!

Once the NN is trained, you will need to put this NN into another MATLAB function similar

to what you have done for CTC.

3. Desired trajectory for the CTC and the NN controller.

To test the effectiveness of the controllers you have designed, you will need some desired

trajectories for the robot to follow. You can design your own trajectory planner for this robot

and use the controller to follow the trajectories generated. However, to save time, you can

also use the sine wave generator in Simulink as your desired trajectories. (Caution: if you do

use the sine wave generator, please make sure that the velocity and acceleration of the

trajectory agrees with the position signals).

Time schedule hint:

The creation of SIMULINK model of the robot and the implementation of the CTC should be

very straightforward. You should aim to finish this in the first week of your project. The NN

training, on the other hand, could take some time especially when you are not familiar with

the software and if the computer you use is not powerful.

Please start early – if you start early you can submit early and get on to your other

assignments!


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp