Hi, I would just like to respond to Jeff’s point about a robot folding the laundry or making a cup of coffee not being base enough tasks. I have been thinking about this problem a lot and this must certainly be true. I have come up with a development strategy which I hope will be base enough to make a start on the problem and begin to create a fundamental world model. Assuming one has a robotic agent able to move forward, backward, turnaround and is equipped with a suitable set of sensors, the plan would be as follows:
Phase 1 – robot has a home point in its environment, most likely the charging station. The robot will attempt to map out all accessible directions of travel as far as it can go. For simplicity it will be working in a 2D world at its sensor height. Initially lidar will be used rather than video, again for simplicity. At this stage there are no objects on the world, only a perimeter line defined by the environment beyond which the robot cannot go. This map must be committed to memory for future reference.
Mapping must be achieved using a combination of inertial navigation and sensors, unfortunately GNSS is of no use to us inside buildings. Distance from home limits must be set in case of an open outside door (avoid the escaped pet situation).
Motivation for this task will be generated by an imbalance caused by having an incomplete boundary map. Where there are holes it will be motivated to go and explore.
The exploration task may be interrupted by a higher priority motivation of having low battery power causing it to return to home base. It should always know where it is relative to home base.
Phase 2 – With the 360 degree perimeter motivation satisfied the new motivation will be time. The robot will periodically want to check if its perimeter map is still valid. The perimeter may change due to things being added or removed, doors now being open or closed. As things change the robot’s memory of the perimeter will need to be updated. The concept of a door will need to be tackled later, that is a section of the perimeter that changes and exposes more accessible space. Cats and dogs handle this concept and soon learn that they can push the door open. The robot will also need to learn this at some future point.
Phase 3 – finding its way home. In this test the robot will be picked up and placed somewhere in its perimeter space and, using just its memory and sensory input data, must work out where it is such that it can find its way back to home base. Cats and dogs seemingly do this with ease.
All of this should be achieved using brain-like software structures rather than conventional software algorithms. Later the concept of discrete objects can be introduced and the robot can be motivated to go and find those objects in its known environment, be it a coffee mug or a ball. Further enhancements would be responding to moving objects such as people and animals, either as threats of curiosities.
Alex