In this study, we consider cooperative control issues for a multi-unmanned aerial vehicle (UAV) system. Specifically, we present a cooperative formation control strategy for a multi-UAV system with unidirectional network links. Our strategy is to apply a consensus-based algorithm and leader-follower structure to the UAVs so that they can cooperatively fly in formation. The leader provides each UAV with commands to generate a geometric configuration of the formation. Convergence is guaranteed when the cooperative formation control algorithm is applied to the UAVs. Collisions among UAVs can occur when they are flying with the cooperative control UAVs. Our strategy for collision avoidance is to apply an artificial potential approach to the UAVs. Experiments are performed on multiple commercial small UAVs to validate the proposed formation control algorithm with collision-avoidance capability.