ee323 mini-project - line tracing robot
TRANSCRIPT
EE323 Mini-Project – Controller Design for Guided Vehicle
Dr. Praneel Chand - 2015 1
School of Engineering and Physics
EE323 – Digital Control Systems
Mini-Project – Controller Design for Guided Vehicle
Introduction:
Controllers and compensators are employed in range of industrial and research
applications. Industrial applications can include regulating the temperature of fluids in
tanks or furnaces, controlling the speed of conveyor belts, or controlling the
movement of guided vehicles in a factory. In research, controllers and compensators
are widely used in the design and development of mobile robotic devices for various
applications such as exploration, search and rescue, surveillance, or object
manipulation and transport.
The specific objectives of this project are to:
1. Develop mathematical models of digital control systems.
2. Analyse mathematically modelled and physical digital control systems using
first principles of mathematics and engineering sciences and modern tools.
3. Design and test digital controllers and compensators for modelled and physical
systems using first principles of mathematics and engineering sciences and
modern tools.
4. Function as an individual, and as a member or leader of a team.
5. Produce written reports and oral presentations of practical work.
6. Apply project management techniques to the planning and execution of future
work.
Each group is required to submit a technical report (refer to
http://www.monash.edu.au/lls/llonline/writing/engineering/technical-report/index.xml
for more information about technical reports) and give a 20 minute presentation of
their work.
Specifications:
In this mini-project, you will design and implement a controller for a guided vehicle
to meet the given performance specifications. The project has three major
components. Firstly, you are required to familiarize yourself with a Lego robotic
guided vehicle that will be given to you. Secondly, you are required to design a digital
controller for the guided vehicle using an appropriate control theory design method.
Finally, you are required to implement your fuzzy controller on the Lego NXT brick
using Robot C. You may need to re-design your controller if it does not perform
satisfactorily.
The control system performance requirements are as follows:
Requirements for following a straight line/path:
Zero steady state error
2 % settling time ≤ 2 seconds
Vehicle speed at least 70%
Requirements for following curved lines/path:
EE323 Mini-Project – Controller Design for Guided Vehicle
Dr. Praneel Chand - 2015 2
Mean Absolute Error (MAE) ≤ 10 degrees
Vehicle speed at least 70%
You should be able to account for and apply the fundamental steps of a formalized
design process learned in any of your engineering courses (e.g. MM101, EE312,
EE323, EE314) which must incorporate (but not necessarily be limited to) the above
specifications.
Some hints to familiarize with the guided vehicle system are provided in Appendix 1.
Assessment:
This project is worth 15% of your course. Each group will be required to submit a
report and also give a presentation of their work. Please refer to Table 1 for the
assessment scheme. The due date for the project and report is Week 14 Tuesday. No
extensions will be given so time management is an important issue which you all have
to plan from now onwards.
Course coordinator
EE323 Mini-Project – Controller Design for Guided Vehicle
Dr. Praneel Chand - 2015 3
Table 1: Project Assessment Scheme
COMPONENT ELEMENT SUB ELEMENTS TOTAL
MARK
A: PRESENTATION Technique tools used to present eg
PowerPoint, CAD packages etc 0.25
Content Introduction, body of presentation
and conclusion 1.5
Demo System setup, operation,
functionality
2
Question & Answers Clarifications on content & results 1.5
PRESENTATION TOTAL 5.25
B: REPORT structure & clarity & use of English
presentation references identified
appendices / bibliography 0.25
acknowledgements
diagrams, photos, tables, graphs
introduction report objective
awareness in the wider context
background knowledge (literature
review)
1
methodology Design details of your control
system solution.
Design & simulation of control
system in MATLAB
Hardware implementation details of
control system
2.25
results & discussion tables & graphs
simulation results
hardware results
videos/photos of system in operation
2.25
Discussion: Performance of control
system in simulations & hardware
with respect to the specified
performance requirements
finale Conclusions: implications
suggestions: future work 1
abstract
REPORT TOTAL 6.75
C: MANAGEMENT Initial Plan & Weekly
plan achievements
Initial plan
Work done each week vs weekly
plan
1.5
MANAGEMENT TOTAL 1.5
D: TEAMWORK Teamwork
Effectiveness
Project carried out by ALL members
Workload and variety on each
member
Leadership by each member for
different tasks
Scheduled meetings and minutes
1.5
EE323 Mini-Project – Controller Design for Guided Vehicle
Dr. Praneel Chand - 2015 4
recording – contribution of each
member identified
TEAMWORK TOTAL 1.5
OVERALL TOTAL 15
Appendix 1:
Familiarization with Lego Robot Guided Vehicle & Mathematical Modelling
About the Lego Robot NXT Guided Vehicle:
o An assembled Lego robot NXT vehicle will be given to you. It consists
of an Lego Mindstorms NXT Brick, two NXT motors, and a light
sensor array
Information about the NXT brick: the orange button turns the
brick on and used to enter menus or run a program. The grey
button below the orange one is used to exit menus or programs.
The left and right triangle buttons are used to move left or right
in menus.
o Note the ports of the NXT Brick to which the motors and the light
sensor array will be connected. You will need this information for your
program.
o Open Robot C on the desktop PC. You can now connect to the Lego
NXT Guided Vehicle Brick and download programs. Refer to the
section on Getting Started with the NXT (PDFs) in
http://www.robotc.net/support/nxt/ .
o Try to create a simple program to run the vehicle forward for 2 seconds
at 25% speed.
o Robot C has a good help menu which can be useful for creating
programs. Read though the software help pages.
o Other sources of help
http://www.robotc.net/education/curriculum/nxt/
http://cdn.robotc.net/code_listing/nxt/nxt.html
o Information on the light sensor array is available at:
http://www.mindsensors.com/index.php?module=pagemaster&PAGE_
user_op=view_page&PAGE_id=168 . The Robot C drivers for the
sensor and user guide are available there. READ THE USER GUIDE.
Mathematical model of Guided Vehicle:
o Consider a line-following robot similar to Figure 1. The robot has
rotational inertia J and two motors/wheels that can produce a
differential torque T(t) to change the orientation angle θ(t) of the robot
via Newton’s 2nd law:
2
2( ) ( )
dJ t T t
dt (1)
The differential torque T(t) in (1) produced by the motors can be
described by:
EE323 Mini-Project – Controller Design for Guided Vehicle
Dr. Praneel Chand - 2015 5
( ) [ ( ) ( )]m e
dT t K V t K t
dt (2)
Where V(t) in (2) is the differential voltage applied to the motors and
Ke (t) in (2) is due to the EMF voltage generated by the rotational
speed of the motors.
The transfer function of the line-following robot is given by:
2( ) ( )m
m e
Ks V s
Js K K s
(3)
o The motor constants Km and Ke have been obtained by experiment by
Bradley et al (http://www.dit.upm.es/~str/papers/pdf/bradley&12a.pdf
[see Table 1on pg. 4] ).
o Motor power % vs rpm graphs have also been obtained by experiment
(http://www.philohome.com/nxtmotor/nxtmotor.htm ). Note the
voltage source of your NXT motors. This is what 100% power (or
100% duty cycle) corresponds to.
o You will need to experimentally determine/estimate the inertia of the
guided vehicle. Ask some mechanical engineering staff for hints.
o Depending on the placement of the light sensor array you will have to
determine the relationship between the light sensor array reading and
the offset (angle) of the robot from the path (line). This offset is then
used to apply corrections to the guided vehicle’s heading.
Figure 1: Line-following robot (Source: toddthahn.com)
Implementing Control of the Lego Robot Guided Vehicle via Robot C
In this implementation you will write a Robot C program to represent the controller
designed in Part 2. The help sources identified in Part 1 will be useful:
The Robot C software has a good help menu which can be useful when
learning to write programs.
o Other sources of help
http://www.robotc.net/education/curriculum/nxt/
http://cdn.robotc.net/code_listing/nxt/nxt.html
EE323 Mini-Project – Controller Design for Guided Vehicle
Dr. Praneel Chand - 2015 6
You will also need to incorporate data logging in your Robot C program so that you
collect data to plot response graphs for analysis. This means you will have to write
data to a file during the hardware tests and read this data file later after testing is
complete.