developmental luc steels’ mars explorer
Table of Contents
My BSc Computer Science Final Year Project, supervised by Terry Payne
An implementation of Luc Steels’ Mars Explorer in robot simulator, with extensions of developmental learning support.
1. Design & Plan
First, I’ll implement Luc Steels’ Mars Explorer as is in webot, which would involve:
- implementing subsumption architecture in java
- implementing vehicle controller with webot API that expose abstract api for Luc Steels’ Mars Explorer
- implementing individual behaviour in Luc Steels’ Mars Explorer with abstract API implemented in step 2 and subsumption behaviour interface specified in step 1
- integrate individual behaviours implemented in step 3 in subsumption architecture implemented in step 1
Then, I’ll implement a naive developmental extension with the existing settings(map, sensor and motor), namely, the constructivist knowledge base, the valance function/system and the interaction observation system. After that, a new “developmental explore” layer to serve as replacement of the default “random walk” layer of Luc Steels’ Mars Explorer, which would query the constructivistically learnt knowledge base for random action. Following that would be experimental metric and trace analysis to see if any interesting behaviour would emerge.
One interesting idea is whether shortcut to a signal would change the behaviour, For example, gradient field signal enable agent to derive “go up gradient” action with gradient information; with only gradient signal and move action, it is possible to develop a composite interaction that is equivallent to “go up gradient”; however, “go up gradient” can also be given as a primitive action. What would be the differences between have it as a primitve or not?
Another interesting idea is to learn with multimodality, for example with freezing. Multimodality maybe could be achieved by freezing a part of knowledge base into a subsumption behaviour layer and insert it right above the “developmental explore layer”, as a “developed behaviour”. Although still need to figure out about the triggers (do we learn them continously? or do they freeze or gradually freeze) and reinitialization (do we delete the part of knowledge base being freezed? do we start anew with empty knowledge base?) This is like learning multiple strategies or multiple skills: when learning playing baseball, after I have learnt how to hit baseball with a bat, I leave it there, my knowledge on it does not change much, nor does it need to, as I could do it pretty well now, and I focus on catching baseball now.
Bibliography
Backlinks
projects
Index of all projects I have done
- dedicated session
- kernel routine
- Gehninfel - the website
- I have recorded 2 original piano compositions for my bestie Coco’s birthdays. They are with large portion of improvisation, generally in jazz and pop/new age style, with some chord movements that makes more sense sementically than musically. I’ll attach scores and links to recordings here when I have found them.
- I have recorded 1 original piano soundtrack for a mini-film coursework on procrastination. It is very confusing with lots of chromatic chord movements. I’ll attach scores and links to recordings here when I have them.
- I upload sketches to my deviantArt account. It is not a project per se, but is something that I do.
- developmental luc steels’ mars explorer