首页 > > 详细

讲解300599留学生、辅导MATLAB程序设计、讲解Neural networks、MATLAB语言辅导 调试Matlab程序|讲解R语言编程

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)
qThe 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 = wnexample: 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!

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!