A method for controlling cleaning based on dense obstacles, wherein the method comprises: step 1, marking dense obstacle points according to a number feature of grids of obstacles framed by a sliding rectangular frame which is preset in a grid map, and then proceeding to step 2; the step 2, planning, according to the dense obstacle points marked in the grid map, navigation paths of which an end point position is corresponding to one dense obstacle point and which does not pass grids of other obstacles, and then proceeding to step 3; and the step 3, controlling, according to an obstacle collision detected by the cleaning robot, the cleaning robot to complete traveling a circle around an obstacle currently in collision in a process of navigating the cleaning robot to an actual position corresponding to each of the dense obstacle points according to the navigation paths planned in the step 2, and marking a cleaning state of a grid corresponding to the obstacle currently in collision, wherein the cleaning robot keeps conducting cleaning operations while traveling around the obstacle currently in collision; characterized in that in the step 3, controlling, according to the obstacle collision detected by the cleaning robot, the cleaning robot to complete traveling the circle around the obstacle currently in collision in the process of navigating the cleaning robot to the actual position corresponding to each of the dense obstacle points according to the navigation paths planned in the step 2, and marking the cleaning state of the grid corresponding to the obstacle currently in collision comprises: controlling, before the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned according to the navigation paths planned in the step 2, the cleaning robot to travel the circle around the obstacle currently in collision under a condition that the obstacle collision is detected, and marking, after the cleaning robot completes traveling the circle around the obstacle currently in collision, the obstacle as an obstacle-cleaned state; and controlling, when the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, the cleaning robot to travel a circle around an obstacle at the dense obstacle point to be cleaned under a condition that a collision with the obstacle at the dense obstacle point to be cleaned is detected, and marking, after the cleaning robot completes traveling a circle around the obstacle at the dense obstacle point to be cleaned, the dense obstacle point to be cleaned as the obstacle-cleaned state, wherein the dense obstacle point to be cleaned is a pre-configured dense obstacle point for cleaning; wherein the step 3 further comprises: marking, after the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, the dense obstacle point to be cleaned as an area-cleaned state under a condition that the cleaning robot is detected to directly pass the actual position corresponding to the dense obstacle point to be cleaned, wherein the dense obstacle point to be cleaned is a pre-selected target obstacle to be cleaned. in the step 3, controlling, according to the obstacle collision detected by the cleaning robot, the cleaning robot to complete traveling the circle around the obstacle currently in collision in the process of navigating the cleaning robot to the actual position corresponding to each of the dense obstacle points according to the navigation paths planned in the step 2, and marking the cleaning state of the grid corresponding to the obstacle currently in collision comprises: controlling, before the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned according to the navigation paths planned in the step 2, the cleaning robot to travel the circle around the obstacle currently in collision under a condition that the obstacle collision is detected, and marking, after the cleaning robot completes traveling the circle around the obstacle currently in collision, the obstacle as an obstacle-cleaned state; and controlling, when the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, the cleaning robot to travel a circle around an obstacle at the dense obstacle point to be cleaned under a condition that a collision with the obstacle at the dense obstacle point to be cleaned is detected, and marking, after the cleaning robot completes traveling a circle around the obstacle at the dense obstacle point to be cleaned, the dense obstacle point to be cleaned as the obstacle-cleaned state, wherein the dense obstacle point to be cleaned is a pre-configured dense obstacle point for cleaning; wherein the step 3 further comprises: marking, after the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, the dense obstacle point to be cleaned as an area-cleaned state under a condition that the cleaning robot is detected to directly pass the actual position corresponding to the dense obstacle point to be cleaned, wherein the dense obstacle point to be cleaned is a pre-selected target obstacle to be cleaned.