It is obstacle (more or less-) avoiding ^^
I simply used traces.
But everything is open scoure. Feel free to play around with it and show the results on this topic.