What kind of microcontroller are you using? How are you controlling the motors? Since you can make the robot turn left and right, you appear to already have the ability to move the motors backwards and forwards, so why not just do:
//keep moving until see the obstacle
robot_move_forwards();
//object on left -- turn right and move backwards
if(scan_angle > 57)
robot_turn_right();
robot_move_backwards();
Then after a while (a second or something), start moving forward again.
I'm not 100% sure I understand what you're asking, but if you can go straight, you can go backwards.
MIKE