Internal Models
Internal models are often used in control and robotics, in fact the primary objective of A.I. in robotics is the creation of internal models. There are several types of internal model, most commonly the forward model and inverse model, and additionally the world model which can comprise of e.g. spatial models and physics models. It is possible to define even more types of internal model, for example there can be models of the visual system and other sensory processes.
Forward Model. When considered from a functional perspective, a forward model takes as parameters the current state of the robot, and the motor commands to be applied to it, and returns the predicted next state of the robot. As robots are mechanical systems, the forward model often takes the form of a set of dynamics or kinematics equations and the next state is computed through numerical integration. Therefore timestep can also be a parameter.
Inverse Model. The inverse model takes as parameters the current state of the robot and the desired goal state. It returns the motor commands required to achieve the goal state, often in the form of a motor program to be executed by the robot. While the forward model is often relatively straightforward to specify, constructing the inverse model can be difficult. There might be many different motor programs that achieve the same goal. Often a simplified approach must be taken.
Spatial Model. A spatial model often takes the form of a database which can be consulted for the locations, dimensions and shapes of objects, and whether or not they are in contact or are manipulable by the robot. Whereas the forward and inverse models are relatively invariant during use, due to the morphology and the capabilities of robots not usually being highly variable, the spatial model requires updating as the locations and shapes of objects change. This can be difficult when relying on robot sensors to determine the state of the world.
Physics Model. Physics models are often part of forward models as they deal with change in state over time. They specify the mass properties of objects in the world and how they will respond to gravity and other incoming forces, and also for example model frictional forces for objects being manipulated.
Internal models form a useful conceptual framework but in progress there is a significant amount of overlap. For example, inverse models often make use of some type of forward model, either explicitly, or implicitly in the programming. Forward models themselves often make use of spatial and physics models to various degrees.