CS406

From Marks Wiki
Jump to navigation Jump to search

2006 Exam Answers

You know the drill. Write me something I can use. http://www.library.auckland.ac.nz.ezproxy.auckland.ac.nz/data/exambase/2006/S1/compsys406_f_c_06.pdf

===1.a)=== See 1

Questions:

  • Where am I?
  • Where am I going?
  • How do I get there?

To answer these questions a robot has to:

  • have a model of the environment (given or autonomously built)
  • perceive and analyze the environment
  • find its position within the environment
  • plan and execute the movement

===1.b)=== See 3.2.1

ζR = R(θ) · [x', y', θ']T

R(θ) = [ cosθ  sinθ  0
        -sinθ  cosθ  0
            0     0  1 ]

90 degree example:

ζR = [y', -x', θ']T

1.c)

If all else fails, duplicate 3b.

Um, what about:

  • deterministic errors (wheel alignment etc.)
-would this include uneven surfaces, or surfaces with different surface properties?
  • changing/dyanamic environment
  • light/sound absorbing stuff
  • surface illumination

Yes/no?

===2.a)=== See 4.2.1

Dynamic range - ratio between upper and lower limits (usually in decibels).

Range - upper limit.

Resolution - minimum difference between two values.

Linearity - variation of output signal as a function of the input signal.

Bandwidth or frequency - the speed with which a sensor can provide a stream of readings.

Sensitivity - ratio of output change to input change.

Cross-sensitivity - sensitivity to environmental paramaters that are orthogonal to target paramaters.

Error/Accuracy - difference between sensor's output and the true value. accuracy = 1 - (|error| / true value)

Systematic error - errors that can be modelled / predicted (and so in theory can be compensated for).

Random error - no prediction possible, but can be described probabilistically.

Precision - reproducibility of sensor results. precision = range/sigma (what does this mean?)

2.b)

3.a)

See 6.2.1

3.b)

See 5.2

Problems:

  • Sensor noise - drastically reduces useful information of sensor readings.

Can be overcome by taking multiple readings, or by fusing together readings from multiple sensors or taken over time.

  • Sensor aliasing - there is a many to one mapping from environmental states to robots perceptual state.

Can be overcome by gathering sufficient information over time, so basing localization on a series of readings.

  • Effector noise - integrating robots movement to obtain its position means errors are integrated and so accumulate over time.

Can be overcome by using sensor readings to reduce uncertainty introduced by innacuracy of odometry and dead reckoning.

3.c)

See 5.6.1

Markov localization:
  • localization starting from any unknown position
  • recovers from an ambiguous situation
  • however to update the probability of all positions within the whole state space requires a discrete representation of the space (grid). The required memory and calculation power can thus become very significant if a fine grid is used.
Kalman filter localization:
  • tracks the robot and is inherently very precise and efficient
  • However if the uncertainty of the robot becomes too large (e.g. collision with an object) the Kalmann filter will fail and the position is definitively lost.

4.a)

See Lecture 6 at http://www.ece.auckland.ac.nz/~coghill/COMPSYS406/Lecture6.pdf

4.b)

Weight tables are slightly offset with respect to each other to provide local generalization, that is, nearby input values will activate similar weights. What we want is for similar inputs to produce similar outputs and dissimilar inputs to produce independent outputs.

4.c)

because Robot motion requires complicated non-linear feedback based control which the CMAC gives

4.d)

Storing as a hashmap.

Disadvantage: Possibility of hash collisions which degrade performance.

4.e)

(guess)

Enough memory for (210)6 weights

= 10246 = 1152921504606846976

or about 1018 weights.

5.a)

5.b)

90% of data used to train the network (train set), the other 10% used to test (testing ste) weather the network has learnt the underlying function or weather it has memorized the training set.

5.c)

(might be wrong) the output error to the actual value that you are trying to get!...

5.d)

5.e)

using a momentum term with a value between 0 and 1.

5.f)

  1. fuzzy artmap
  2. WTA
  3. genetic? (probably not for this kind of problem)

6.a)

6.b)

the active function would be 1/[1+Ae^(-net)], where A is the level non-linearity

6.c)

In a MLP all neuron weight are changed using the feed back method while only the weights of the winning neuron in a WTA network are trained.

6.d)

6.e)

Obsoleted

1.a) Questions: Perception, Localization, Cognition, Motion Control.

(I hope these are the right questions.) -- My worst fears are realised as I discover that these are phrases not questions. Obsoleted.

Perception: How to sense the environment?

Some answers: Take frequent redundant readings with a variety of sensors and try to merge the resulting data to minimise errors from noise. Extract useful features so less data need be analysed.

Localization: How to know where the robot is, and where obstacles or goals are.

Possible to have the robot build a map of its surroundings, which it creates and modifies as it travels and takes readings. There are a variety of ways maps and the robot's probable location(s) can be stored. Odometry can help the robot keep track of its location, but is not sufficient on its own. Sometimes possible to modify the environment by adding beacons - eg reflectors, patterns on the floor/ceiling, which help the robot pinpoint its location.
Outdoors GPS can be used.

Cognition: How to plan a path to the robots goal.

Variety of path planning techniques, depending on whether a map is stored and how, and whether the environment is fixed or changing.
What else to say? Should they be listed?

Motion Control: How to control the robots actuators so it reaches its goal.