This paper describes an underwater acoustic sensor network consisting of a heterogeneous robotic swarm used for long-term monitoring of underwater environments. The swarm consists of a large number of underwater robots acting as sensor nodes with limited movement capabilities, and a few surface robots aiding them in accomplishing underwater monitoring scenarios. Main interactions between two types of robots include underwater sensor deployment and relocation, energy and data exchange, and acoustic localisation aiding. Hardware capabilities of each vehicle are described in detail. Inter-agent communication is split into two layers: surface and underwater communication. Surface communication utilises wireless communication using WiFi routers configured for decentralised routing. Underwater communication mainly uses acoustic communication which, when used within a large swarm, poses a challenging task because of high probability of interference and data loss. The acoustic communication protocol used to prevent these issues is presented in detail. Finally, more complex functionalities of the robotic swarm are presented, including several results from real-life experiments.