An obstacle avoidance method, applicable to a robot,, the method comprising: detecting whether a suspected obstacle exists in a traveling direction, wherein the suspected obstacle protrudes beyond an edge of a rack; determining a relative position relationship between the suspected obstacle and a target position that the robot is required to reach along a current traveling direction when the suspected obstacle exists in the traveling direction; determining that the suspected obstacle is an obstacle when the suspected obstacle is located between a current position of the robot and the target position; and replanning a traveling route to avoid the obstacle; wherein the obstacle avoidance method is characterized in that the determining that the suspected obstacle is an obstacle comprises: detecting whether the suspected obstacle is a container; detecting a size of a space range that the container protrudes beyond the edge of the rack when the suspected obstacle is the container; determining whether the container hinders the robot based on a space range occupied by the robot and the space range that the container protrudes beyond the edge of the rack; and determining that the container is the obstacle when the container hinders the robot; wherein the robot is configured to move along a track on a rack, the track on the rack comprises a vertical track and/or a horizontal track; wherein when the current position of the robot is located on the vertical track, the current traveling direction is upward along the vertical track, and a task of the robot is to perform an operation of retrieving goods, after the determining that the container is the obstacle, the method further comprises: determining a storage location where the container is located; and taking the container out after reaching the storage location where the container is located, and placing the container back to the storage location. detecting whether a suspected obstacle exists in a traveling direction, wherein the suspected obstacle protrudes beyond an edge of a rack; determining a relative position relationship between the suspected obstacle and a target position that the robot is required to reach along a current traveling direction when the suspected obstacle exists in the traveling direction; determining that the suspected obstacle is an obstacle when the suspected obstacle is located between a current position of the robot and the target position; and replanning a traveling route to avoid the obstacle; wherein the obstacle avoidance method is characterized in that the determining that the suspected obstacle is an obstacle comprises: detecting whether the suspected obstacle is a container; detecting a size of a space range that the container protrudes beyond the edge of the rack when the suspected obstacle is the container; determining whether the container hinders the robot based on a space range occupied by the robot and the space range that the container protrudes beyond the edge of the rack; and determining that the container is the obstacle when the container hinders the robot; wherein the robot is configured to move along a track on a rack, the track on the rack comprises a vertical track and/or a horizontal track; wherein when the current position of the robot is located on the vertical track, the current traveling direction is upward along the vertical track, and a task of the robot is to perform an operation of retrieving goods, after the determining that the container is the obstacle, the method further comprises: determining a storage location where the container is located; and taking the container out after reaching the storage location where the container is located, and placing the container back to the storage location. detecting whether the suspected obstacle is a container; detecting a size of a space range that the container protrudes beyond the edge of the rack when the suspected obstacle is the container; determining whether the container hinders the robot based on a space range occupied by the robot and the space range that the container protrudes beyond the edge of the rack; and determining that the container is the obstacle when the container hinders the robot; wherein the robot is configured to move along a track on a rack, the track on the rack comprises a vertical track and/or a horizontal track; wherein when the current position of the robot is located on the vertical track, the current traveling direction is upward along the vertical track, and a task of the robot is to perform an operation of retrieving goods, after the determining that the container is the obstacle, the method further comprises: determining a storage location where the container is located; and taking the container out after reaching the storage location where the container is located, and placing the container back to the storage location. determining a storage location where the container is located; and taking the container out after reaching the storage location where the container is located, and placing the container back to the storage location.