A method for controlling a motion of a robot based on map prediction, wherein the robot in the method comprises a body , a left action wheel and a right action wheel , a main control component , a front collision detection sensor , a left obstacle detection sensor , and a right obstacle detection sensor , characterised in that the front collision detection sensor comprises a physical collision detection element and a non-contact detection element, the main control component having a map management function and a robot positioning function, the method comprising: step one, controlling the robot to walk toward a wall surface on a map, when the robot collides with a first touch point of an obstacle , determining whether a distance from the obstacle to the wall surface on the map is less than a set distance A, when the distance is less than a set distance A, determining a straight line L1 with the same angle as the wall surface on the map by taking a position of the obstacle currently collided as a reference point, setting the straight line L1 as a prediction wall surface, controlling the robot to walk along this prediction wall surface, and when the distance is not less than a set distance A, proceeding to step two; and step two, controlling the robot to perform at least two interval distance detections on the obstacle , when obstacle points are detected by the at least two interval distance detections, determining a straight line L2 between two obstacle points acquired by two distance detections, setting the straight line L2 as the prediction wall surface, controlling the robot to walk along this prediction wall surface, and when obstacle points are not detected by the at least two interval distance detections, returning to step one, wherein controlling the robot to walk along the prediction wall surface comprises: the left obstacle detection sensor or the right obstacle detection sensor , which is located at one side of the prediction wall surface, is used for detecting whether the obstacle at this side is present at a set time interval T, when an obstacle signal is not detected, the robot is controlled to walk along an arc-shaped route toward the inside of the prediction wall surface, and the process returns to step one. step one, controlling the robot to walk toward a wall surface on a map, when the robot collides with a first touch point of an obstacle , determining whether a distance from the obstacle to the wall surface on the map is less than a set distance A, when the distance is less than a set distance A, determining a straight line L1 with the same angle as the wall surface on the map by taking a position of the obstacle currently collided as a reference point, setting the straight line L1 as a prediction wall surface, controlling the robot to walk along this prediction wall surface, and when the distance is not less than a set distance A, proceeding to step two; and step two, controlling the robot to perform at least two interval distance detections on the obstacle , when obstacle points are detected by the at least two interval distance detections, determining a straight line L2 between two obstacle points acquired by two distance detections, setting the straight line L2 as the prediction wall surface, controlling the robot to walk along this prediction wall surface, and when obstacle points are not detected by the at least two interval distance detections, returning to step one, wherein controlling the robot to walk along the prediction wall surface comprises: the left obstacle detection sensor or the right obstacle detection sensor , which is located at one side of the prediction wall surface, is used for detecting whether the obstacle at this side is present at a set time interval T, when an obstacle signal is not detected, the robot is controlled to walk along an arc-shaped route toward the inside of the prediction wall surface, and the process returns to step one. <EOS>