A method for controlling robot movement on a to-be-operated region, the to-be-operated region being subdivided into squares, comprising: acquiring (S11) position information of two adjacent obstacles located on two sides of a robot along a moving direction of the robot or a direction perpendicular to the moving direction, and calculating distance between the two adjacent obstacles; determining (S12) whether the distance between the two adjacent obstacles is less than or equal to a first preset distance; defining (S13) a virtual obstacle boundary between the two adjacent obstacles when the distance between the two adjacent obstacles is less than or equal to the first preset distance; and controlling (S14) moving paths of the robot based on the virtual obstacle boundary, wherein the controlling (S14) moving paths of the robot based on the virtual obstacle boundary comprises: dividing the to-be-operated region into at least two sub-regions using the virtual obstacle boundary ; and controlling the robot to traverse to-be-operated squares and unknown squares within one of the at least two sub-regions, then deleting the virtual obstacle boundary, and controlling the robot to traverse the to-be-operated squares and the unknown squares of another one of the at least two sub-regions, wherein a square, which is detected to be obstacle free and is not passed by the robot, is marked as a to-be-operated square, and a square, which is not passed by the robot and status of which is not detected, is marked as an unknown square. acquiring (S11) position information of two adjacent obstacles located on two sides of a robot along a moving direction of the robot or a direction perpendicular to the moving direction, and calculating distance between the two adjacent obstacles; determining (S12) whether the distance between the two adjacent obstacles is less than or equal to a first preset distance; defining (S13) a virtual obstacle boundary between the two adjacent obstacles when the distance between the two adjacent obstacles is less than or equal to the first preset distance; and controlling (S14) moving paths of the robot based on the virtual obstacle boundary, wherein the controlling (S14) moving paths of the robot based on the virtual obstacle boundary comprises: dividing the to-be-operated region into at least two sub-regions using the virtual obstacle boundary ; and controlling the robot to traverse to-be-operated squares and unknown squares within one of the at least two sub-regions, then deleting the virtual obstacle boundary, and controlling the robot to traverse the to-be-operated squares and the unknown squares of another one of the at least two sub-regions, wherein a square, which is detected to be obstacle free and is not passed by the robot, is marked as a to-be-operated square, and a square, which is not passed by the robot and status of which is not detected, is marked as an unknown square. dividing the to-be-operated region into at least two sub-regions using the virtual obstacle boundary ; and controlling the robot to traverse to-be-operated squares and unknown squares within one of the at least two sub-regions, then deleting the virtual obstacle boundary, and controlling the robot to traverse the to-be-operated squares and the unknown squares of another one of the at least two sub-regions, wherein a square, which is detected to be obstacle free and is not passed by the robot, is marked as a to-be-operated square, and a square, which is not passed by the robot and status of which is not detected, is marked as an unknown square. <EOS>