Rollable vs non-rollable, learning environment property through action

Francois Chu

Problem Description and Introduction

The objective is for the Chiara to learn by itself properties of the external world. By itself, it means than no human should teach him how to recognize 3D environments or faces if it has only a 2D camera and no prior knoledge. the properties that are accessible to it are only the one that can be expressed with and given the expressiveness of its own input and outpsort playing cards according to whether they are a face card or not. How can robots learn about their environment ? One approach is to tell them manually some properties (this object is magnetic, transparent, heavy, eatable ?), and hope that it will recognize it. But maybe this approach is too anthropocentric, hence not suited for the robot limitations. So my idea is to see and test what properties the robot can learn by himself: given an object O in front of him (for ease of use, it's will be a colorful object), the robot will try a set of actions in order to interfere with this object : - first the robot will capture the camera image, find a target object and define a set of features F_0; - the robot will do an action A to the object; - then the robot observes again the camera, and come out with another set of features F_1; For the given object O, we have a tuple T= (F_0, A, F_1) that is associated with the causality observed by the robot. At some point the difference F_1-F_0 is a good indicator of the effectiveness of an action, and may reinforce the usage of this given action in future testings. Then, maybe by training the robot on various objects and various actions, different groups or clusters of tuples may emerge. Each of these cluster actually refers to a property the robot finds relevant (but that we humans maybe cannot name it explicitly). And if these cluster can go across different objects, then maybe it is a shared property as the robot sees it. It is interesting to see that we're not separating the action A (which can be consider as linked to the robot ability) from the difference F_1-F_0 (which denotes the "intrinsic" property of the object O). The reason is that at some point, all the properties have been in some extend observed through an action (or an observation, but this difference is not yet clear). - Since the robot has only one arm (and a special leg), the set of actions can be limited, - The input for the robot is only the camera, so again, maybe not enough expressiveness, - The set of object could be limited, although for the scope of this project it may be enough, - The set of actions itself can be learned (for instance by using the distribution of effective actions, ie these who appears often on the resulting tuples), but again, in the scope of the project, it may be just decide by an humain. - This project is actually only trying to make the robot learn object properties (because the set of objects already exist), so it may not be really called "environment properties". I don't know if this description is detailed enough or not, but I hope it fits at least the purpose of the final project.

Theoretical model

There are several different task involved in the project. They are broken up as follows:

Action expressiveness

The cards card.
AIBO viewing card

Environment observation

Once it h
Card as viewed from AIBO
The advantages of SIFT

Empiristic learning

Once theify.
AIBO pushing card

Results

Pushes card to Cone and Turn Around
Full run of pushing to Cone and searching for next Card
finalProj.h - Code run on AIBO: world navigation
finalProjSIFT.h - Code run on Computer: SIFT identification

Areas for Improvement

I ran into difficultly sending the image from the AIBO to the simulator on the computer to be able to run SIFT on the image. Because of this, the current version of the project isn't able to actually send the image to the computer, although the identification of the cards works fine on its own. Further work on the project would be to get the data transfer working. Also, the project could also be applied to other objects that are of similar size, or to sort playing cards in a different manner.