Other aspects of the disclosure provide for a system. The system includes a first communication device comprising a first optical system, a second communication device comprising a second optical system, and one or more processors. The one or more processors are configured to detect a misalignment between the first optical system and the second optical system; rotate the first optical system according to a primary search pattern and the second optical system according to a secondary search pattern, the primary search pattern including keeping the first optical system fixed for a set amount of time, and the secondary search pattern comprising a series of positions ordered in increasing distance from a starting position; capture a set of frames at the second communication device; determine whether a beacon beam transmitted from the first communication device is detected in one or more of the captured frames at the second communication device; and form a communication link between the first communication device and the second communication device when the beacon beam is detected.
In one example, the set amount of time that the first optical system is fixed is a length of time that the secondary search pattern takes to complete one cycle. In another example, the primary search pattern is a series of positions forming concentric circles centered on the starting beacon position of the primary device.