Yes you need complementary filtering algorithm to minimize the drift. I have designed several such systems for drones and robotics. Gyro is accurate in the high frequency range and biased in low frequency. So you need a sensor which is accurate in the low frequency range - like acceleromenter, magnetometer, GPS, or else. There are mainly two kinds of algorithms for filtering (signal fusion more exactly) - Extended Kalman Filter and SO3 geometry based.
Regards,
Jordan