Dennis '94: a
robot simulation
This was my second 'big project' (2nd year/kan) at the
university. This year we had to choose between a number of 'standard'
projects. One of them was the implementation of a robot simulation. I
choose this because it allowed me to investigate the possibilities to
calculate intersections between very discrete robot movements. E.g,
when one robot receives a command 'go right 100.3 steps' and in the
path of the robot is an object located then a collision will be
reported. Calculating this however was done purely mathematical, so no
'movement-simulation' has been implemented. In practice doing so turned
out to be extremely difficult because certain motions defined by means
of rotation and translation are no simply curves anymore (these are
elliptic curves) and as such calculating the intersection between the
motion-path and other objects was too difficult.
A second strong point about this project is that I was able to come up
with an efficient algorithm to determine whether a point lied inside or
outside a polyon. Especially the cases in which lines are horizontally
was quite painful and is seldomly discussed in text-books.
Tussentijdse Raportering, part 1
Tussentijdse Raportering, part 2
Final report
Source code for PCScheme