When the bot is on the edge of the inner circle within the abyss, it still tries to go through one of the obstacles. I assume the bot checks whether it is in the outer ring or inner ring of the abyss, the radius of your outer ring obviously encrouches on the inner ring, so thats why if the character is on the edge of the inner ring it thinks it is in the outer ring and tries to traverse an obstacle. Just increase the radius of your inner ring by like 2-3, so that the size of the inner ring in the code matches the actual inner ring area of the game.
edit:
Also the radius of the outer ring is not large enough. When walking to the outer edge of the outer circle, the bot teleports to edgeville.