a. First of all we can determine the edges appearing in the picture with the help of the texture analysis. We can expect particulary long edges to be edge between the wall and the ground. The robot needs to know which orientation is the upright position and then floor is the one that appears in the lower part of the image and wall towards the upper part. b and c. To map the dirt we need to recognise the location of the dirt. Presence of dirt can be sensed by change in texture. Any object other than floor can be recoginised by its texture being different than that of the floor.Particularly we dont expect a pile of dirt to have an uniform texture. so we can distinguish between useful objects and dirt. Then in order to map the dirt we can use the ratio of the area occupied by the dirt in the square by the area of the square. We can also try to detect some edges on the dirt to deduce if it is some object like crumbled paper in this case. if edges exist we can consider that a the dirt not only has breadth(on floor) but also has height. Thus the dirt with edges should be assigned more value than those who don't. Thus if we follow such an approach to measure dirt we may prefer the values to be NOT bounded by 1. d. First note that the robot can come calculate the distance from a particular object if it knows what the actual size of the object is. Simple Mathematical formulae exist to make such calulations. But such an approach requires solving a difficult problem of object recognition. However one thing the robot is surely able to deduce is the walls and the ground. It has the knowlege of size of marbles and can detect edges of the marble through edge detection by intensity. Then it can recognise a marble. In the particular the image we have, if he has the knowlege of side marble then it is quite easy for the robot to calculate its location. Moreover it can also calculate the orientation of the camera if has the knowledge that marble is expected to be planar(rather rectangular ).