Virtual Structures Based Autonomous Formation Flying Control for Small Satellites