Robot Blog

A blog to keep track of my honours project.

Mar 11

Shpadoinkle

I forgot to post yesterday, but I was just doing some debugging with the eye. I found a great error which I’d overlooked - the cloneSchema method wasn’t cloning the eye angle or fovea distance so that was being lost in the transition. Silly. I had to alter some other methods too - e.g. a method checking for null [1000f] values would return false if any value was null, which was dumb as it meant the arm angles wouldn’t be taken into account if the fovea distance was missing … Also, I had some parts of the code geared for “mouthSuckSchema” which didn’t take any other target schemas into account.

Today, I’ve been looking in to various parts of the code which have had TODO markers on them for weeks now. The “delete matched item(s)” line[s] have been implemented now, and that seems to be working. Also, I’ve implemented the method that triggers whenever a new schema is added. It checks for other similar schemas and tries to generalise them. More testing is required to check if this method is actually working.

I’ve had some thoughts today on how to improve the efficiency of the learning mechanism. My first thought is that under certain environments, certain schemas are unable to fire, e.g. when the eye is looking directly down, it cannot look any further down. The check that prohibits this is right before the schema is fired: maybe if the check happened as that schema was being picked then less pointless code would be traversed. My second thought is a bit more of a thought and needs more thinking through. Basically, I think it’s a good idea to employ a “bad” library of schemas which store moves that have been fruitless, i.e. if the arm moves between two points in space, and the move is found to be pointless, this schema can be recorded and the odds of firing that schema again can be lessened. I have already thought of a few problems with this idea, but I’m sure it will be possible.

This seems like too much blog for so early in the day - but I feel like I’ve been pretty productive so far. LUNCHTIMES.