A Novel Gesture-Based Language for Underwater Human–Robot Interaction

: The underwater environment is characterized by hazardous conditions that make it difﬁcult to manage and monitor even the simplest human operation. The introduction of a robot companion with the task of supporting and monitoring the divers during their activities and operations underwater can help to solve some of the problems that usually arise in this scenario. In this context, a proper communication between the diver and the robot is imperative for the success of the dive. However, the underwater environment poses a set of technical challenges which are not readily surmountable thus limiting the spectrum from which possibilities can be chosen. This paper presents the design and development of a gesture-based communication language which has been employed for the entire duration of the European project CADDY (Cognitive Autonomous Diving Buddy). This language, the Caddian , was built upon consolidated and standardized underwater gestures that are commonly used in recreational and professional diving. Its use and integration during ﬁeld tests with a remotely operated underwater vehicle (ROV) is also shown.


Introduction
Recreational and professional divers generally work in environments that are difficult to monitor and are characterized by severe conditions.In such a context, it is difficult to monitor the status of divers: any sudden episode causing them to deal with an emergency, such as technical problems or human error, may jeopardize the underwater work or even lead to dramatic consequences, which may involve the divers' safety.
In order to avoid and decrease the probability of such events, standard procedures recommend adherence to well-defined rules, for example, to pair up divers.Nevertheless, during extreme diving campaigns, divers' current best practices may not be sufficient to avoid dangerous episodes.
The EU-funded Project CADDY (Cognitive Autonomous Diving Buddy) has been developed with the aim of transferring the robotic technology into the diving world to improve the safety levels during the dives.The main objective of the project is to develop a pair of companion/buddy robots-an Autonomous Underwater Vehicle (AUV) and its counterpart, an Autonomous Surface Vehicle (ASV) (see Figure 1)-to monitor and support human operations and activities during the dive.
In this scenario, one of the major challenges consists in the development of a communication protocol, which allows the diver and the underwater robot to actively interact and cooperate for the fulfillment of the objectives of the mission.
Given the extreme attenuation of high-frequency electro-magnetic waves underwater, mediumto long-range WiFi/radio communication becomes unreliable already at low depths (i.e., 0.5 m), while optical communications are limited by the reverberation of the water and by the scattering caused by suspended debris [1].The most used and reliable solution for underwater communication is the exploitation of acoustics, with two main disadvantages: the high prices of the devices and the very low data transmission rates [2,3].For all the aforementioned reasons, the solution adopted during the CADDY project has been to develop a novel communication framework with the specific purpose of letting the diver communicate through the most "natural" method available underwater: the gestures.This language, called Caddian, has been created as an extension to the established and universally accepted gestures employed by divers worldwide [4][5][6][7].The choice of making the Caddian, for all intents and purposes, backward compatible with the current method of communication used by divers has been made in the hope of fostering a widespread adoption among communities of divers.
The field of gesture-based communication between a robotic vehicle and a human being, especially underwater, represents an open challenge in robotics.Very little work has been done.This paper, with additional results, also extends and completes preliminary work described in [8].

State of the Art
The literature on human-robot interaction on dry land shows many languages based on natural language processing and gestures.For example, the authors in [9] use a finite state machine to develop a speech interaction system.Conversely, the choice of the authors in [10] has fallen on a gesture-based human-robot interface.In this second case, however, the limited set of gestures (only five) limits the usability of the language.The work in [11] uses gestures with two alternative methods: a template-based approach and a neural network approach.As can be seen, the literature on human-robot interaction (HRI) on dry land is abundant and presents several ways to make humans and robots communicate.On the other hand, the literature on HRI languages for underwater environments is not as rich and few works present a formal language described by a formal grammar [12,13].Among those regarding HRI in underwater environments, we cite authors in [14,15], who developed the Robochat language providing Backus-Naur form (BNF) productions.However, the language developed was based on fiduciary markers such as ARTags [16] and Fourier tags [17], lacking the simplicity and instinctivity of gestures [18,19].Furthermore, authors in [20] developed a programming language for AUV with essential instructions for mission control with the given grammar similar to the assembly language: in this case, the interaction between divers and robots is missing and the use of assembly language seems to be overly complex and hard to remember.
Changing perspectives and, instead of focusing on the language, focusing on the robot's ability to understand, a large amount of research (see, for example, [21,22]) has been done in order to provide robots with robust perceiving capabilities, with the aim of making them reactive to the external world and its occurring events.One of the main goals of the robotic field is to obtain a more natural interaction between men and machines without compromising the efficiency and the robustness of the "system" as a whole.To this aim, gesture recognition seems to be the most promising technique, since it is judged to be almost effortless by humans [4][5][6][7].
From the gesture recognition point of view, the literature shows many works focused on the problem of exploiting hand gesture recognition algorithms within different contexts [23], such as robotics or computer science.However, these works have almost always been developed for dry land applications, where the environment is simpler than the harsh underwater scenario (e.g., with bubbles, turbid water, etc.) or the task and the working environment are highly simplified.For example, some of them assume that the hand is the only moving object or make sure that the gestures are performed in front of a very neutral and uniform background.Furthermore, "in-air" applications can exploit cameras with extra sensors such as IR systems that are not employable in water or directly exploit RGBD (Red Green Blue Depth) cameras, like in [24].
Likewise, there are many distinctive problems essentially in relation to robustness and repeatability of the recognition procedure; for many in-air applications, a simple and structured background (e.g., uniform gray or white without other objects in view) is often considered, since many algorithms fail in more complex scenarios (e.g., in the presence of objects similar to the ones to be detected).Moreover, changes in illumination and light highly affect vision techniques, decreasing their robustness and usability in real-world situations.Conditions are even worse in underwater applications: for instance, the in-air consolidated techniques based on skin detection, or more in general relying on color detection (recall that usually divers wear gloves and masks that totally or partially cover their bodies or their faces), are not suitable in water because of hue attenuation.Due to such a phenomenon, color appearance is very different and the usually employed algorithms lose their effectiveness and robustness.Thus, a more complex approach has to be adopted; as an example, a model for light attenuation is considered in [34] and a color registration technique is tested to demonstrate the effectiveness of the overall approach.
In the specific case of divers, since their suite, gloves and all garments are usually black, difficulties can arise while segmenting their body parts: for a posture with the diver hand right in front of the chest, algorithms can be easily deceived and fail in correctly detecting the hand.To this aim, approaches based on stereocamera systems can improve the detection, exploiting the depth information: in an image like the one above described, the hand and arm of the diver will be slightly closer to the cameras.Indeed, this difference in depth is very small, so the algorithm should be very precise and able to overcome problems badly affecting measurements, such as distortion.Furthermore, another problem strictly related to underwater perception in the presence of humans consists in occlusions due to bubbles generated by divers' breath: the object to be detected can be concealed for many frames, so some sort of prediction and tracking algorithms should be considered.These are some of the additional problems related to the underwater environment that have to be faced and solved by research on underwater perception and that can undermine robustness and repeatability of the robot behavior.
The large variety of works about gesture recognition in the relevant literature testifies to the importance of the development of a robust and effective natural HRI system and indicates that the solution to this problem is still far from being found.Moreover, most of the works presented in the literature are about in-air applications, where the operational conditions present few difficulties: the underwater environment poses many further problems, such as visibility, cloudy water, bubbles occluding the captured scene, illumination, and constraints in the range to be kept between the diver and the robot.
The hostile and harsh underwater environment and the few works addressing the problems of communication in it underline the innovation and utility of the system proposed.Moreover, in a scenario where robots will help divers in their tasks, there is a need for defining and developing a rich language to enable divers to communicate complex commands to their robotic buddies.
This article explains the first implementation and evaluation of the Caddian language, namely the phase following the creation of the language from alphabet, syntax and semantics, and the communication protocol that must be followed by the divers to communicate with the AUV.The work is structured as follows.Section 3 presents the definition of Caddian language and its communication protocol.In Section 4, the subset of the language gestures used for trials is described, while in Section 5 the robotic platform employed is outlined.Section 6 contains the description of the missions' trials and the BNF syntax of the trial language.Section 7 combines the results from the individual trials.Section 8 describes a study about the language learning curve.Section 9 presents our conclusions.

Human-Robot Interaction Based on Gestures
The development of the HRI language Caddian is based on divers' sign language.Given the fact that a language has to be easy to learn and to be taught, Caddian signs have been mapped with easily writable symbols such as the letters of the Latin alphabet: this bijective mapping function translates signs to our alphabet and vice versa, as depicted in Figure 2. A classifier encodes/decodes gestures, which should be feasible in the underwater environment and as intuitive as possible to cope both with the learning aspect of the language and divers' acceptance.The more dimensions can be discerned by the classifier, the more gestures can be used: if it is able to extract and match features from both hands, the amount of recognizable gestures increases (for an example of two-handed gesture, see the "boat" signal in [5]); if it is able to extract features and match them in the time domain, thus being able to classify hand gestures with motion, the gestures alphabet becomes richer (for an example of motion gesture, see the "something is wrong" gesture in [5]).
In the creation of the language, the issued sentences have been sequentially defined to allow the synchronization of the recipient with the issuer, and have been defined with boundaries to ensure efficient interpretation: the "start communication" and "end of communication" gestures enclose, as the name says, the communication, while the "start communication" gesture is also used as delimiter between a message and the following one during a complex communication.

A Specialized Language
Caddian is a language for communicating between divers and underwater robots, in particular autonomous underwater vehicles (AUVs), so the list of commands/messages defined by the language in the scope of the project is strictly context-dependent.Currently, there are 40 implemented commands.The commands/messages (see Table 1 and [8] ) are separated into six groups: Problems (9), Movement (5), Setting Variables (10), Interrupt (4), Feedback (3), and Works/Tasks (9).

Communication Protocol and Error Handling
The Caddian language is used inside a communication protocol that guarantees error handling.The protocol is designed having in mind a strict cooperation between the diver and the AUV: for example, we can mention the possibility for the diver to query the robot at any time about the progress of a task with the purpose of understanding whether it has been executed.
For these reasons, AUV is equipped with three light emitters (red, green, and orange): • green = IDLE STATE -everything is ok, all tasks have been accomplished and I'm waiting for orders; • orange = BUSY STATE -everything is ok and I'm working the last mission received; • red = FAILURE STATE -a system failure has been detected or an emergency has been issued.
The Caddian protocol handles these three possible types of error: 1. the AUV does not recognize a gesture inside a sequence: the robot shows an error message and the diver repeats the gesture, but the sequence is not aborted.This allows the diver to make mistakes and, in such cases, to save time avoiding to repeat the whole sequence.2.
the AUV recognizes the sequence, but the resulting command is not semantically correct.
When the whole sequence is issued, a semantical error message is shown: the sequence of gestures is aborted and must be repeated.

3.
the AUV recognizes the sequence and the resulting command is semantically correct, but it is not what the diver intended.This type of error is more subtle, because it involves a semantical evaluation that only the diver is able operate with the necessary swiftness.
To deal with this last category of errors, we have to introduce the definition of "mission."As a sequence is issued to the buddy AUV, before it can turn into a real mission, the AUV repeats the sequence, writing it in plain text on its screen and waiting for the diver's confirmation.At this point, the diver simply accepts the sequence showing thumbs up, thus letting the mission start, or he refuses the sequence with thumbs down: that sequence won't turn into a mission and thus it will never be translated into a series of actions.Moreover, it would be very hard (or even impossible) for the AUV to guess where the error was in the sequence; therefore, if the diver does not confirm the sequence, the only feasible approach is to make the diver repeat it from the beginning.
Regarding the robot's mission status, two accessibility aspects were also considered crucial while creating the Caddian language: 1.
Divers should always understand if the assigned mission has been terminated.

2.
Divers should always be able to know the progress of a mission.
In the first case, the buddy AUV just turns on the idle status (i.e., green light) and remains stationary.In the second case, the proposed behavior is the following: the buddy is in operation executing a task; • the diver approaches the buddy, facing it, to be clearly visible on both the camera and the sonar; • for safety reasons, the diver always remains outside a predefined safety range (e.g., 2 m).If closer, the buddy is programmed to automatically back off from the diver.• if all the above conditions are met, the buddy AUV suspends the current action, remaining however in the BUSY state.
In this situation, a diver can • query the AUV on the mission's progress with the "Check" command; • erase the current mission with the "Abort mission" command; • report an emergency using a command belonging to the "Problems" subset; • leave the range of safety, letting the AUV return to the assigned mission.

Language Definition
The diver-robot language has been defined as a formal language.A formal grammar can describe a formal language [12,13] and can be represented as a quadruple < Σ, N, P, S > as follows: a finite set Σ of terminal symbols (disjoint from N), the alphabet, which are assembled to form the sentences of the language; -a finite set N of non-terminal symbols or variables or syntactic categories, which represents some collection of subphrases of the sentences; -a finite set P of rules or productions which describe how each non-terminal is defined in terms of terminal symbols and non-terminals.Each production has the form B → β, where B is a non-terminal and β is a string of symbols from the infinite set of strings (Σ UN); -a differentiated non-terminal S, the start symbol, which specifies the principal category being defined, such as a sentence, a program, or a mission.
This said, the language L G (i.e., generated by grammar G) can be formally defined as the set of strings composed of terminal symbols that can be derived through productions from the start symbol S.
For the Caddian language, the signs of the alphabet Σ are the set of letters belonging to the Latin alphabet mixed with some complete words, Greek letters, math symbols, and natural numbers (also used as subscripts) defined as follows: Σ = {A, . . ., Z, ?, const, limit, check, . . ., 1, 2 . ..}. ( By definition, the grammar of Caddian is a context-free grammar because on the left side of the productions only non-terminal symbols and no terminal symbols can be found [42,43].In addition, the resulting language is an infinite language given that the first production (i.e., S ) uses recursion and the dependency graph of the non-terminal symbols contains a cycle.

Syntax
Syntax has been given through the following BNF productions:  With the given syntax, we can translate the previously identified messages and commands and obtain a translation table (Table 2) [8].

Semantics
The communication scenarios and relating commands can be divided into six groups.In the following paragraphs, these commands sets are briefly explained.
Problems-This category of messages refers to issues happening to the diver or to the environment around the operating area.All productions contain the ă symbol, which intrinsically denotes that there is an emergency and that any action is being executed needs to be suspended to take care of the issue.
Movement-This category of commands makes the robot move or tells the robot how to move.
Interrupt-This category of commands makes the robot stop the current task/mission.The "general evacuation" command has a special meaning: in fact, this command makes the buddy AUV abort the mission and makes it emit any possible warning signal both to the surface and to any diver in the operation area (e.g., it turns on flashing red lights and sends emergency messages through the acoustic link towards the surface vehicle).
Setting Variables-These commands set internal variables inside the robot.At this moment, there are eight of them, but only seven can be set directly by the diver (see below).

•
Speed: the robot speed has discrete values.With the "+" or "-" signs, the diver increases or decreases this variable by a quantum.

•
Level: constant: any following command is carried out at the current level of depth; -off: the buddy AUV cannot move below the actual depth: if a subsequent command tries to force the buddy AUV to break this rule, the robot interrupts the mission.This behavior has been thought as a safety measure mainly for the buddy AUV (and for the diver as a direct consequence) but it may be also useful in specific scenarios, for example, during the exploration of archaeological sites; -free: clears previous statuses set by other commands which refer to the level of depth: the AUV is now free to move up and down underwater.
• Point of Interest: set a single point of interest, to be recalled later within other commands.

•
Light: this is a binary variable which switches on or off the vehicle lights.

•
Air: this is a binary variable which toggles on or off the vehicle's onboard oxygen cylinder.

•
Here: store the actual 3D coordinates of the position in memory (i.e., where the buddy is located while the command is being issued, and its yaw angle-where the buddy is facing).

•
Boat: boat or base position, which cannot be set by the diver.
Communication Feedback-These commands refer to the communication feedback between the diver and the AUV.The diver can accept or reject a previously issued command (see Section 3.3) and can also ask the AUV to repeat the command if he did not comprehend it (by accident or by distraction).
Works-These commands refer to tasks the robot is able to do.The "tell me what you're doing" command (i.e., check the mission progress) can be used when the diver approaches the robot (and the robot consequently pauses anything it is doing).The "wait X minutes" command instructs the robot to float and wait X minutes then proceed with the next command (useful to pause the mission or to let the seafloor dust settle down).The "carry a tool for me" command instructs the robot to carry equipment upon diver request: after the equipment has been placed into the robot compartment, the AUV waits for a physical confirmation (i.e., a button to press to give physical feedback).

Outline of Gestures Used during Trials
A diver's underwater gestures are not formalized in any international standard.In fact, all organizations and diving agencies worldwide teach divers their own subset of diving hand signals, causing some gestures to vary from region to region: in this paper, the most famous and common ones [4-7] were chosen, carefully picking both from the ones used by largest diving organizations and from gestures akin to natural or instinctive meaning.Caddian gestures were also chosen following the two most important requirements of the language: all gestures should be feasible and as easy as possible to perform underwater and they should be as intuitive as possible to make them easy to remember and to render the language truly effective.
In some cases, whenever possible, basic mnemonic techniques have been exploited, associating a gesture to objects related to the action it expresses: for example, in the "take a picture" gesture, the diver shows just three fingers, which can be mnemonically associated to the tripod used to stabilize and elevate a camera.
The list in Figures 3 and 4 contains a subset of gestures used during CADDY trials.As can be seen, a significant amount of task gestures and all the natural numbers are recognized, but we eventually decided not to introduce dynamic gestures, because the effort to recognize them through computer vision was too high with respect to the expected benefits.

Mapping Gestures to Syntax; Syntax to Semantics
As already said, a bijective mapping function translates from the domain of signs to our alphabet and vice versa (Figure 5).Accordingly, one or more gestures and the corresponding characters are also mapped to a semantic function that translates them into commands/messages.

Outline of Trial Vehicle: R2 ROV
At-field trials have been carried out employing the robotic platform R2 ROV/AUV design and developed by CNR-ISSIA (Figure 6); the R2 underwater vehicle is the product of a retrofit process of the former Romeo ROV, built and developed during the 1990s.R2 is characterized by an open-frame structure and a full-actuated motion capability.Thanks to its compact size, 1.3 m long, 0.9 m wide, and 1.0 m tall, it is still considered a small-/medium-class ROV/AUV.Depending on the specific payload for each mission (dedicated sensor package, manipulation systems, etc.), the total weight can vary from 350 to 500 Kg in-air.The overall motion control is provided by a redundant and fault-tolerant thruster allocation with four vertical thrusters for vertical motion and four horizontal thrusters for the 2D horizontal positioning.In ROV mode, a fiber-optic based link provides real-time data transfer for both direct piloting/control/supervision of the robot, as well as on-line data gathering and analysis.

Trials at Sea and at Pool
Two experimental campaigns were carried out in 2015 [44,45], one in Biograd Na Moru (Croatia), at sea, in October and the second one in Genova (Italy), at pool, in November.Both campaigns were focused on the validation of the interaction capabilities of the robot, mostly related to the gesture recognition and compliant robot reactions to the desired commands.Five professional divers were involved, respectively four for the Biograd Na Moru campaign and one for the Genova one.All the divers were trained for about half an hour before the first dive, as the set of gestures used was minimal (i.e., 22 gestures) and it was mostly a subset of the "common gestures set" already used in the diving world (i.e., 15 out of 22).The Biograd Na Moru's trials were made in open sea at a 4 m depth over one week.Depending on the day, trials were carried out with the presence of currents or at calm sea.During the Genova campaign, trials were made at a 3-m-deep outdoor pool.Given that these trials were only focused on preliminary functional tests of the computer vision algorithms and aimed at gathering as much data as possible for their further refinement, the R2 ROV (see Figure 6), described in Section 5, was employed as the buddy AUV.According to the envisioned use-case scenarios of the CADDY project, trials were made up of four kinds of mission.

•
Movement Missions-In this kind of mission, the diver issues a movement command with a number (i.e., "Go up 1 m").

•
"Take a photo" Missions-In this kind of mission, the diver commands the AUV to take a picture from the point where it is stationing.• "Do a mosaic" Missions-In this kind of mission, the diver commands the AUV to do a mosaic/tessellation of an area n x m of the seabed (see Section 3 under Works).

•
Complex Missions-In this kind of mission, the diver commands the AUV to go to the boat and bring back a tool.
During the trials, a minimal subset of a modified version of Caddian has been used.Here, the syntax of the minimal language is followed: The complex mission deserves a special mention because in its syntax we can observe three concatenated commands between the delimiters (i.e., "A" and "∀" ).The first one is "go to the boat" ("B"), followed by "carry a tool" ("carry") and then "return here" ("H").Consequently, the robot moves to the boat, opens the compartment to hold the tool requested, and returns to the point where the entire mission has been started.

Results
The first phase of the trials has been focused on simple gesture recognition, namely the recognition of single gestures by the robot and the execution of the associated command.Divers performing the gestures are shown in the following figures.Figure 3 shows a sample of the single-gestured commands used during the trials, while Figures 7-9 show gesture recognition in different kinds of environment to emphasize the different challenges that had to be solved to have correctly classified gestures.For example, Figure 7 shows the diver in different kinds of water at varying distance from the camera: the green and yellow circles shows that the recognition process has been successful for all four images.Extensive tests focused on the complex gesture sequence recognition were carried out during the second phase of the trial.Complex sequences are enriched sets of gestures that represent dialogues or sentences containing more information that the robot has to recognize, separate, and interpret in order to achieve the desired goal requested by the diver.Examples of complex sequences are "go to boat and carry equipment here" or "execute a mosaic of N × M meters."Complex sequences have been tested 15 times each in order to evaluate the reliability and success rate of the system, obtaining good results in terms of recognition capabilities (i.e., all complex sequences had a success rate which varies from 87 to 99.9% except for the "do a mosaic" mission, which achieved 60%).An example of a complex sequence executed by a diver is the "Go down 2 m", depicted in Figure 8. From Figure 9, it is possible to appraise the harsh conditions that the CADDY system has to face while working in the underwater environment.The water visibility level can very badly affect the gesture interaction, as well as the illumination condition and gesture occlusions due to bubbles.The CADDY system was successful in the interaction through gestures even during days with a low visibility condition (2.5 m with suspended sediments) and with a strong current and strong waves; the robot lit up its lights to signal to the diver that his gestures were recognized and the command executed.

Cognition and Ease of Language Learning: Evaluation on Dry Land
The same gestures and relative missions performed during the trials were tested on dry land in order to evaluate the language learning curve and the language cognitive load in divers.The research team tested 22 volunteers: all of them completed the trials.Seven out of 22 volunteers were female and 4 out of 22 had previous diver experience.No replication of the experiment with the same volunteer has been made and missions have been provided sequentially with no order randomization.The evaluation of the language took place in the following stages: first, the language has been explained to the volunteers (the explanation had a duration of about five minutes); afterward, the volunteers were asked to repeat the six trials missions, which were as follows: • Mission 1: "Go up 1 m"; • Mission 2: "Go down 1 m"; • Mission 3: "Go back 1 m"; • Mission 4: "Take a photo"; • Mission 5: "Do a mosaic"; • Mission 6: "Go to boat, bring me something (carry equipment), come back here." Figure 10 describes the results of this evaluation.As can be observed, the error value decreases with the progress of the missions, proving that the volunteers learnt the language very quickly, given the fact that only five minutes were dedicated to the explanation of the whole language used in trials, made up of 22 gestures.

Conclusions
In this paper, a novel gesture-based language for underwater human-robot interaction (UHRI) has been proposed: the description of the language, called Caddian, is provided with alphabet, syntax, semantics, and a communication protocol.The presented work has mostly focused on the definition of the language and on showing its potential and likely acceptance by the diving community.A description of the performed trials using a minimal modified subset of the language has been reported and is preliminary, but encouraging results are provided.
The classifier performed quite well both in normal and in stormy weather, thus testifying that gestures outside the standardized ones have been chosen correctly.Moreover, divers learnt the language very quickly, showing that the associated cognitive load on the divers is acceptable.
However, the trials also showed that the success rate of the classification can still be improved for some gestures (e.g., "do a mosaic"), and the syntax of natural numbers for humans is not as intuitive as preliminarily designed.Tests with the whole set of gestures have to be made because dynamic gestures, which were not involved during these trials, did not have the same rate of success as the static ones.
Regarding the characteristics of the current version of the language, it would be worth considering adding the ability of changing a mission with an updated parameter (for instance, a new "here" position), or setting macros and then using parameterized missions (i.e., functions).
A deeper study of the use of the whole language will be the next steps of the research, which might involve new scenarios with a consequent creation of new commands; more results about the performance of the classifier must be collected to prove the CADDY framework robust.On the other hand, acceptance by divers of the language will be taken into account.Through the study of their feedback, the language might be changed accordingly.

Figure 2 .
Figure 2. Bijective function mapping from gestures to letters.

Figure 3 .
Figure 3.A subset of the Caddian gestures tested during 2015 validation trials.

Figure 7 .
Figure 7. Detected gestures, from the top left, clockwise: take a photo, carry equipment, start communication, and go to the boat.

Figure 9 .
Figure 9. CADDY simple gesture recognition in a harsh underwater environment.
Do this task or list of task n times n ∈ N A f or n . . .end∀ Directions = {ahead, back, le f t, right, U p, Down} Places = {pointo f interest, boat, here}