Title: Artificial Life lecture 11
1Artificial Life lecture 11
(A) Public Service Announcement on
Plagiarism (B) Braitenberg vehicles as an
introduction to (C) ... Programming simple
basic robots in the Robot Lab. Rationale-
everyone should have some very basic hands-on
experience of the problems involved in building a
robot that interacts sensibly with its
world. Difference between reality and
simulation. Then facilities available for those
who want to carry on in their own time, or for
course projects.
2Plagiarism
The University is having a campaign to promote
awareness of plagiarism. So I am including some
slides here. Plagiarism Awareness Week
week 7 Nov 13-17 2006, see http//www.sussex.ac.uk
/academicoffice/paw You will also see among my
FAQs a FAQ page of my own on this. Go
to http//www.informatics.susx.ac.uk/users/inmanh/
FAQ/FAQ.html And follow link to Local access
only FAQs
3Plagiarism and Collusion
Following Plagiarism slides from Sussex
Language Institute Alison Chisholm and Rachel
Cole 3 Nov 2006
4University Rules
- It is an offence for any student to be guilty
of, or party to, attempting to commit or
committing collusion, plagiarism, or any other
misconduct in an examination or in the
preparation of work which is submitted for
assessment.
5What is collusion ?
- Collusion is when students work together on
assignments which should be completed alone. For
some assignments students may be required to work
together and even submit joint / group work for
assessment, but usually students must submit work
which is entirely their own. A student who helps
another produce work is guilty of collusion,
along with the student who has benefited from
their help. The course documentation should
clearly state which assignments, if any, can be
done in collaboration with others and whether
that includes producing a joint piece of work or
only the preparation for it. paraphrase of the
regulations - You must only work together on producing an
assignment if the course specifically allows it,
otherwise this is Collusion and is an offence
6What is plagiarism?
- Plagiarism is when you use other peoples work
and dont acknowledge that you have done so by
citing the sources. If you copy sentences,
phrases or expressions without saying where you
have found them then this is plagiarism if you
paraphrase someone and dont say where the
original came from this is plagiarism. Listing
the source in the bibliography isnt good enough.
Each time you use a source you have to say so.
Word for word quotations must be either in
inverted commas, or indented, and fully
referenced. paraphrase of the regulations - If you dont correctly acknowledge, in the
text, every time you have used someone elses
work, then this is plagiarism
7Explanations and Examples
- Plagiarism is using the work of others without
acknowledging your sources of information or
inspiration. This includes - using words more or less exactly as they have
been used in articles, lectures, television
programmes, books, or anywhere else. - using other peoples ideas or theories without
saying whose ideas they are. - paraphrasing what you read or hear without
stating where it comes from. - Even if you change words or sentences you have
borrowed or put them in a different order, the
result is still plagiarism (Cottrell,S.
2003133).
8Intentional or Unintentional
- Jude Carroll, a leading authority on plagiarism
defines it in Plain English as - Passing off someone elses work intentionally or
unintentionally as your own for your own
benefit. - (Carroll, J, 2005 cited on http//www.sussex.ac.uk
/academicoffice/1-4-1-2-1.html) - intentionally or unintentionally. Just
because you didn't mean to do it, doesn't mean it
hasn't happened. You are responsible for the work
you submit, and when you submit it you are
claiming it is your work. Mitigating
circumstances, time pressures or other
difficulties are not excuses for submitting work
which is not your own, in the long run you will
only make matters worse. - (http//www.Sussex.ac.uk/academicoffice/1-4-1-2-1.
html)
9Plagiarism Summary
- There are two main types of plagiarism
- 1. Ideas-based Plagiarism
- Taking and reproducing ideas, theories, opinions
etc. which the writer knows they have read or
heard from other sources without stating what the
sources are and where they can be found. - Even if the ideas, theories opinions, etc. are
written in your own words the result is still
plagiarism. The only information that can be used
without reference to source is that deemed to be
common knowledge within the field. - Not referring to the source material enough.
Every time a source is referred to it must be
fully referenced even if this is several times on
the same page.
10- Using words in an identical or similar form to
the original is called - Language-based Plagiarism
- Submitting a complete essay or assignment written
by someone else as your own work, or
re-submitting your own previously assessed work. - Submitting work which includes sections or
paragraphs written by someone else. - Cutting and pasting sections or even sentences
from a web source, even where a sentence is
copied and then changed by substituting one or
two words, or changing the word order. - The above is still plagiarism even if the source
is fully referenced both in the text and in the
list of references.
11Example of a fully referenced paper
Kramsch (1998) sees language as the expression of
cultural reality the words people utter
refer to common experience. They express facts,
ideas or events that are communicable because
they refer to a stock of knowledge about the
world that other people share. (Kramsch 1998
3) The inter-relationship of language and
culture is thus stressed and re-affirmed.
Echoing Whorf (1956), Kramsch also recognises,
though, that language not only expresses
experience, it also creates it. As noted above,
however, Pinker (1994) among others has taken
issue with this view. For the purposes of my
research, I preferred to take a view located
somewhere between those of Kramsch (1998) and
Pinker (1994) that culture has the capacity to
create experience rather than that it inevitably
does. (Page, J. 2004)
12Tips on How to Avoid Plagiarism
- Remember that referring to sources is seen as
positive in academic writing. It shows you have
read widely. - When reading, think about what the author is
saying, and your reactions before taking notes. - Only copy what you intend to quote. Ensure that
you take full bibliographic details, including
page number! - The rest of your notes should be in your own
words. This will save time and worry later. - Also make notes of your own reactions, but keep
these separate!
13How to Reference
- For detailed information about referring to
sources see the University of Sussex library
on-line tutorial InfoSuss.
14Procedures and Penalties
- If you are suspected of plagiarism or collusion,
your work, with evidence of the original source
material, or similarity with someone elses work
clearly marked, will be sent to the departmental
Investigating Officer (IO). The IO will then
decide whether the case is a major or minor case.
- If it is deemed to be a Major Breach the case
will be brought before a Misconduct Hearing. - If deemed to be a Minor Breach the case will be
transferred to the responsibility of the
student's School. - In both Major and Minor cases, the Investigating
Officer will initiate a review of the student's
other work, for other similar instances of
misconduct - (http//www.sussex.ac.uk/academicoffice/1-4-1-4.ht
ml). - Further information about procedures and
penalties can also be found at the above website.
15References and Links
- Carroll, J. (2002), The Handbook for Deterring
Plagiarism in Higher Education, Oxford Brookes
University, Oxford Centre for Staff - Comp TIA White Paper, (2004) European
Interoperability Framework- ICT industry
Recommendations - Cottrell, S. (2003), The Study Skills Handbook,
Palgrave Study Guides, Palgrave Macmillan - Deem, R., Brehony, K. and Heath, S. (1995) Active
Citizenship and the Governing of Schools,
Buckingham and Philadelphia, Open University
Press - OLeary, Z. (2005), Researching real-world
problems, London, Sage - Page, J. (2004), Culture and the Language
Classroom the Chinese learner in the United
Kingdom. MA dissertation, University of Sussex
16Braitenberg Vehicles
Braitenberg (1984), Vehicles Experiments in
Synthetic Psychology, MIT Press. R. Pfeifer C.
Scheier (1999),"Understanding intelligence" MIT
Press Arkin (1998), Behavior-Based Robotics, MIT
Press.
17BV
Simplest vehicle has just one sensor and one motor
It can only change its speed according to the
stimulus The sign means positive excitation
18BV
Crossed positive connections mean that it will
turn towards the side with the greater
stimulus -- an aggressor Contra-lateral
excitation
19BV
If the connections are not crossed, then it turns
away from excitation coward Ipsilateral
excitation
20BV
Uncrossed inhibitory connections (note the sign)
give ipsilateral inhibition Turns towards the
light and slows down as it gets close
Note there will need to be some constant
positive signal to the motors as well, that gets
inhibited by the effects of the stimulus
21BV
Contralateral inhibition Slows down on seeing
light, but then turns away and speeds up
again. Again, some constant positive signal to
motors needed also.
22Simulation -- PopBugs
For a simulation that allows you to play with
Braitenberg-vehicle-like creatures, see Chris
Thorntons PopBugs. http//www.cogs.susx.ac.uk/us
ers/christ/popbugs/intro.html Or you could
build these for real and a lot more interesting
issues will crop up.
23Theory and Practice
These sets of conceptual wires could be
implemented in real wires and capacitors and
resistors and
or you can emulate all this with a computer
24Basics
sensors
Body nervous system
environment
motors
Many choices, but in this case body Lego and
Nervous system C program running on a
mini-computer, hooked up to various sensors and
motors
25Program is a cheat
The computer program here is a bit of a cheat
it is emulating a nervous system of components
passing real values around in real
time. Actually real values to/from
motors/sensors are translated into digital
signals, and real time is handled by going round
a program loop indefinitely ( caution needed)
26Sensors and Motors
You can incorporate the EM brick in a Lego
structure, plug in sensors and motors
appropriately, and write a program to load onto
it. All the necessary library files for the
robot-specific functions have been written for
you, and should be available to you on all the
PCs in the Autonomous Systems Lab Use the header
file OS.h
27EM the EASy Mind
Put together by Bill Bigge, based around the MRM
robot control board. Lego box with a 32bit
Motorola 68332 micro- processor, 512k RAM and
512k Flash ROM
28Programming the EM
You will be writing the program in a C file on
the PC, include-ing a header file OS.h which
knows all about the particular translations
needed for the EM. Then you will compile the
code on the PC, but in a special format suitable
for use on the EM, ready to download to it. Then
you send it down a wire from PC to EM
29Create a Programs directory on PC
Back on the PC- Open My Documents, from File
menu choose New gt Folder, and name it as Programs
30Cygwin
Open a Cygwin window. This is a Unix-like window
on the PC you are sitting at.
31Edit a file
You can use xemacs orNotepad or Wordpad or
cd WindowsProfile/My\ Documents/Programs
Notepad test.c
32An example program .
Include header file and initialise
variables include ltOS.hgt int main() int
motor1, motor2 motor1 addMotorOnPort(
MOTOR_PORT_01 ) motor2 addMotorOnPort(
MOTOR_PORT_23 ) then the main loop
33 continued
for ( ) setMotorPower( motor1,
readAnaloguePort( 0 ) ) setMotorPower(
motor2, readAnaloguePort( 1 ) )
return 0 The for-loop goes round as fast as
poss for ever
34What does it do?
Every time round the loop, it reads sensor values
of whatever you have plugged into AnaloguePorts 0
and 1 (suitably scaled), and sets the equivalent
power levels (suitably scaled) to whatever you
have plugged into MOTOR_PORTs 01 and 23 All sorts
of stuff is done in the background, hidden from
you A/D conversion, scaling factors, how fast
round the loop?
35Compile the program on the PC
Having saved the program as a file with a .c
suffix, e.g. test.c, then in the Cygwin window
compile it with- compileCode -o output.s19 There
is a h flag that lists possible options, but the
o flag used here gives the output file the name
output.s19. This .s19 format is a special format
suitable for sending down the line to the EM
you can have a look at it if you like.
36The EM brick
37Send from PC to EM
Connect the lead from com port 2 to the RS 232
(serial) port on the robot. Then turn the robot
on. Find out where the RESET switch is physically
on the computer. Then you will use the program
P-Term to transfer the program down the wire.
Start Menu gt All Programs gt Comms Security
gt P-Term Exact details of settings etc available
on http//www.informatics.susx.ac.uk/easy/aslab/re
sources/lego_bots/software/compile_upload.html
38After Downloading
The screen tells you when downloading has
finished (last picture) THEN you need to press
the RESET button on the EM Brick After a 2 or
3 second pause, the program that you downloaded
will start running.
39Motor Ports
There are 16 output ports for motors, typically
used in pairs.
Signals sent with pulse width modulation
So if you want a motor to go forwards and
backwards, easiest thing is to have one signal
(one port) for each direction.
40H-Bridge
The motors need a higher voltage than the robot
controller, and the low-level signals from the EM
need to be converted into power output. This is
done with the H-Bridge. 4 wires in, from a pair
of output port on the EM 2 wires out to the motor
41Sensor inputs
Light-sensor with approx 180-degree field of
view. NB behaviour will vary greatly according
to how open or shielded it is.
These produce Analogue signals, and need to go to
the EM via an A/D converter. There are 8 such A/D
input ports
42Binary ports versus Analogue ports
Some sensors, and indeed some outputs, can be
binary On/Off. Eg. Tactile sensors
A binary output could be eg. Switching a light
On/Off
There are 16 Binary I/O ports for this. Actually,
14 plus 2 already used for a couple of switches.
BUT you probably wont be using whiskers, more
likely to use
43Infrared Rangefinder
A device that uses reflected Infra Red light to
measure distance. The rangefinders have an
effective range of between 10 cm and 80 cm.
These devices produce an output voltage that is
(v. roughly) inversely proportional to the
distance being sensed, in other words a short
distance produces a high voltage and a long
distance produces a low voltage. Roughly
non-linear see approx pic
44Ports Summary
16 Motor output ports, typically 2 per motor 7
Input ports for Analogue signals. And 14
available binary ports for Input or Output And
you can plug in an LCD screen for debugging and
scope for further expansion
45What you see
46Warnings about sensors/motors
In simulations, magic sensors deliver reliable
information about eg distances. Magic motors move
the vehicle precise distances. In the real world,
it is nothing like that. Real sensors are noisy,
and react to far more than you might
guess. Calibration of sensors Wheels slip on the
floor, get jammed on bumps.
47Worries about cheating
Sometimes people forget they are using a program
to emulate a nervous system, and sometimes this
breaks down. for ( ) How long does
this loop take? Does the time vary according to
circumstances? If you want something to happen at
a particular rate, how do you ensure that?
48Robot lab classes
See http//www.informatics.susx.ac.uk/lab/adapt/a
slab/index.html For comprehensive information on
robots And http//www.informatics.sussex.ac.uk/us
ers/inmanh/easy/alife06/robotlab.html For this
weeks robot lab classes follow link to
Braitenberg Vehicle page