A mobile robot, comprising: a main body; a traveling unit configured to move the main body; a position sensor including a plurality of sensors to sense position information; an obstacle sensor configured to sense an obstacle positioned in a traveling direction; a controller configured to set a virtual boundary based on the position information, and to set an area of any one side of the boundary as a traveling area, characterized in that: the controller is configured to control the traveling unit to follow a terminal while maintaining a predetermined distance from the terminal which is moved along a predetermined path in any portion of an area, to set the virtual boundary based on the position information calculated by the position sensor while following the terminal, to change a traveling path based on obstacle information sensed by the obstacle sensor while traveling; to change the traveling path according to a ground condition, and to control the traveling unit to move in the traveling path which is different from the predetermined path of the terminal; and upon setting the virtual boundary, the controller is configured to control the main body to move within the traveling area without moving outside the virtual boundary. a main body; a traveling unit configured to move the main body; a position sensor including a plurality of sensors to sense position information; an obstacle sensor configured to sense an obstacle positioned in a traveling direction; a controller configured to set a virtual boundary based on the position information, and to set an area of any one side of the boundary as a traveling area, characterized in that: the controller is configured to control the traveling unit to follow a terminal while maintaining a predetermined distance from the terminal which is moved along a predetermined path in any portion of an area, to set the virtual boundary based on the position information calculated by the position sensor while following the terminal, to change a traveling path based on obstacle information sensed by the obstacle sensor while traveling; to change the traveling path according to a ground condition, and to control the traveling unit to move in the traveling path which is different from the predetermined path of the terminal; and upon setting the virtual boundary, the controller is configured to control the main body to move within the traveling area without moving outside the virtual boundary. the controller is configured to control the traveling unit to follow a terminal while maintaining a predetermined distance from the terminal which is moved along a predetermined path in any portion of an area, to set the virtual boundary based on the position information calculated by the position sensor while following the terminal, to change a traveling path based on obstacle information sensed by the obstacle sensor while traveling; to change the traveling path according to a ground condition, and to control the traveling unit to move in the traveling path which is different from the predetermined path of the terminal; and upon setting the virtual boundary, the controller is configured to control the main body to move within the traveling area without moving outside the virtual boundary.