Control PID para un BlueROV

Realmente soy nuevo en el uso de BlueROV aunque ya he trabajado anteriormente con otro tipo de vehículos submarinos. Actualmente, quiero implementar un control tipo PID a un BlueROV R3, ¿alguien pudiera orientarme en cómo empezar? ¿Qué lenguaje de programación usar? ¿Cómo implementarlo a la tarjeta del BlueROV? ¿Qué librerías debo de usar? Etc.