Hi,
The Crazyflie has no collision avoidance algorithms so you will have to implement this part.
One way to go is to send high-level-commander goto set-points using the function cf.high_level_commander.go_to() (you can see it used in this example:
https://github.com/bitcraze/crazyflie-l ... #L110-L130). This function returns directly so it will let you observe the multi-ranger readings while the Crazyflie is moving. If you detect an obstacle, you can change the trajectory of the Crazyflie by sending a new go_to setpoint. The algorithms used by the go_to will make a trajectory that starts from the current position and velocity and end at 0 velocity on the requested position, so this means that it allows you to smoothly change trajectory mid-way.
The way to generates the setpoints are up to your use-case. It might be possible to use a potential field approach or simply stop when you see an obstacle and use a simple state machine to run around the obstacle.