A moving object controller for controlling a moving object while performing processing for generating an environmental map expressed using information about a landmark (LM1, LM2) and performing processing for estimating an internal state of the moving object, the controller comprising: an observation obtaining unit configured to obtain observation data from an observable event and to output the obtained observation data; a landmark prediction unit (5; 5A; 5B) configured to generate a landmark prediction signal (Sig_pre) including predictive information about a landmark at a current time based on internal state data indicating an internal state of the moving object at a time preceding the current time and environmental map data at the time preceding the current time; a landmark detection unit (2; 2A; 2B) configured to detect information about the landmark (LM1, LM2) at the current time based on the landmark prediction signal (Sig_pre) generated by the landmark prediction unit (5; 5A; 5B) and the observation data which is output from the observation obtaining unit, and generate a landmark detection signal indicating a result of the detection; and a state estimation unit configured to estimate the internal state of the moving object based on the observation data obtained by the observation obtaining unit and the landmark detection signal (Sig_pre) to obtain data indicating an estimated internal state of the moving object at the current time, and estimate the environmental map based on the landmark detection signal to obtain data indicating an estimated environmental map at the current time, characterized in that the observation data is image data obtained by the moving object capturing an environment surrounding the moving object, the landmark prediction unit (5; 5A; 5B) calculates a predictive image area that is predicted to contain the landmark (LM1, LM2) in an image formed using the image data obtained at the current time based on the internal state data indicating the internal state of the moving object at the time preceding the current time and the environmental map data at the time preceding the current time, and generates the landmark prediction signal (Sig_pre) containing information about the calculated predictive image area, and the landmark detection unit (2; 2A; 2B) performs local search in which the predictive image area of the image formed using the image data at the current time is searched to detect an image area corresponding to the landmark (LM1, LM2), and the local search is started at an initial position that is a pixel position included in a central area of the predictive image area calculated by the landmark prediction unit (5; 5A; 5B) and is sequentially performed at positions away from the initial position. an observation obtaining unit configured to obtain observation data from an observable event and to output the obtained observation data; a landmark prediction unit (5; 5A; 5B) configured to generate a landmark prediction signal (Sig_pre) including predictive information about a landmark at a current time based on internal state data indicating an internal state of the moving object at a time preceding the current time and environmental map data at the time preceding the current time; a landmark detection unit (2; 2A; 2B) configured to detect information about the landmark (LM1, LM2) at the current time based on the landmark prediction signal (Sig_pre) generated by the landmark prediction unit (5; 5A; 5B) and the observation data which is output from the observation obtaining unit, and generate a landmark detection signal indicating a result of the detection; and a state estimation unit configured to estimate the internal state of the moving object based on the observation data obtained by the observation obtaining unit and the landmark detection signal (Sig_pre) to obtain data indicating an estimated internal state of the moving object at the current time, and estimate the environmental map based on the landmark detection signal to obtain data indicating an estimated environmental map at the current time, characterized in that the observation data is image data obtained by the moving object capturing an environment surrounding the moving object, the landmark prediction unit (5; 5A; 5B) calculates a predictive image area that is predicted to contain the landmark (LM1, LM2) in an image formed using the image data obtained at the current time based on the internal state data indicating the internal state of the moving object at the time preceding the current time and the environmental map data at the time preceding the current time, and generates the landmark prediction signal (Sig_pre) containing information about the calculated predictive image area, and the landmark detection unit (2; 2A; 2B) performs local search in which the predictive image area of the image formed using the image data at the current time is searched to detect an image area corresponding to the landmark (LM1, LM2), and the local search is started at an initial position that is a pixel position included in a central area of the predictive image area calculated by the landmark prediction unit (5; 5A; 5B) and is sequentially performed at positions away from the initial position.