Using Neuro–Evolutionary Techniques to Tune Odometric Navigational System of Small Biomimetic Autonomous Underwater Vehicle – Preliminary Report

Autonomous underwater vehicles (AUVs) are robots that operate in underwater environment and do not need involvement of an operator when performing some tasks. In order to move independently in water environment, AUVs need navigation capabilities, on the one hand, they have to be able to detect obstacles and avoid them, and on the other hand, they also have to know their own position and spatial orientation, at least course. With regard to the orientation, there are many various solutions like inertial systems, inclinometers, magnetic compasses, optical gyro–compasses, whereas, position due to unavailability of GPS requires solutions dedicated to underwater environment such as inertial navigation. To this end, information about spatial orientation and velocity is necessary. When the vehicle is not equipped with a device to measure velocity, e.g. because of small size of the vehicle itself, the only solution is to use odometry, that is, to apply information from the drive to estimate the velocity. The paper presents Odometric Navigational System (ONS) designed for a small biomimetic autonomous underwater vehicle (BAUV) and tuned by means of neuro–evolutionary techniques. To verify system performance, data from the real BAUV were applied.


Introduction
Currently, the underwater environment is increasingly being explored by the human. Formerly, only submarines, submersibles, and divers in heavy, uncomfortable diving suits visited marine depths, today, underwater technology is becoming more and more accessible, even for a common man. Underwater vehicles, manned and unmanned, are currently used for various tasks, e.g. for monitoring underwater infrastructure as pipelines and oil rigs, for monitoring state of coral reefs, for detection and neutralization of mines, and also for fun.
Remotely Operated Vehicles (ROVs) are currently the most popular vehicles. In addition to ROVs, also the autonomous ones are in use, in contrast to ROVs, they have skills to operate independently of a human and other Tomasz Praczyk t.praczyk@amw.gdynia.pl 1 Polish Naval Academy, Institute of Naval Weapon, Gdynia, Poland external supporting systems. The level of autonomy 1 can be different, for example, it can only refer to the power system which means that the vehicle does not need external source of energy, it may also relate to operation in some emergency situations like lack of contact with the operator due to malfunction of communication system, usually, the vehicle has, in this case, to safely reach a definite nearby point of the marine area. However, the autonomy may also mean complete independence of the vehicle in performing the mission from its very beginning to the end. Of course, the mission has to be first defined by an operator, it is, however, the only activity in which the human is involved, the rest is responsibility of the vehicle.
In order for the vehicle to be able to act without an external support, it has to be equipped with systems which provide it operational independence. To decide about itself, about actions which has to be taken in order to achieve a desired goal, the vehicle has to be in possession of information describing the state of the vehicle and its surrounding. The fundamental information required for safe underwater navigation is, on the one hand, information about obstacles, and on the other hand, information about position and spatial orientation of the vehicle.
To determine the spatial orientation, different devices can be used, e.g. inertial navigational systems (INS) with inertial measurement units (IMU), magnetic compasses, and fibre optical gyroscopes (FOGs). The advantage of the first two solutions is their small size and relatively low cost. However, their main drawback is vulnerability to the magnetic field. Nowadays, modern IMUs build in MEMS (Micro-Electro-Mechanical Systems) technology are typically equipped with three-axis magnetometer to determine heading, at least at the very start of operation. This means that they cannot be located near components of the vehicle which generate variable magnetic field. 2 Practically, it means that they have to be mounted far away from all electronics, often, outside the main part of the vehicle in external container. Of course, the same applies to simple magnetic compasses.
Unlike INSs and compasses, FOGs are not affected by magnetic field and thereby they can be freely installed close to any electronic devices. The other crucial feature of FOGs is their high accuracy compared to their "magnetic" counterparts. Their drawback is, however, cost and size, they are generally larger and more expensive than the previously mentioned solutions. This is particularly important when the objective is to build small, simple and cheap vehicle, it is simply impossible to use FOGs in that kind of vehicles. Moreover, the other problem when using FOGs is that they do not sense directly the orientation but changes in the orientation. The consequence is that they need initialization, to determine the orientation at any point of vehicle operation, they need initial value of the orientation. To this end, the solutions mentioned earlier can be used which makes, however, the vehicles even more complicated.
To determine vehicle position when underwater, three different approaches are in use [24], i.e. acoustic, inertial, and geophysical navigation. The first one is acoustic positioning which relies on analysis of acoustic signal passing between the vehicle and points of reference located on the to sea-floor or assigned to a mother ship or a boat. The number of points and their location decide mainly about type of the system. Long BaseLine acoustic positioning system (LBL) is the most accurate, and at the same time, the most complex system with all the infrastructure (transponders) mounted on the sea-floor. Short BaseLine (SBL) acoustic positioning system does not need any seafloor mounted transponders or equipment and it is thus 2 influence of static magnetic field can be reduced through calibration procedure suitable for tracking underwater targets from boats or ships. It is equipped with at least three transducers which measure distance to the vehicle which is then transformed into the vehicle position relative to the location of the baseline transducers. USBL is the last acoustic positioning system. In this case, only one transceiver is used that contains an array of transducers to measure both the distance to the vehicle as well as an angle from the transceiver to the vehicle. The distance and angle are enough to fix position of the vehicle.
If it is not possible to apply an external infrastructure in the form of a network of sea-floor transponders or ship mounted transducers or transceivers, other solutions have to be used. The geophysical navigation which uses physical features of the vehicle environment to produce an estimate of vehicle location [24] is one of them. A very popular technique in the field of the geophysical navigation is Simultaneous Localization And Mapping (SLAM) [3,15,23,28]. It is useful when some distinguishable elements of the sea-floor are visible, and they can be applied as points of reference for the navigational system. SLAM can estimate displacement of the vehicle with reference to the points and this way estimate position of the vehicle. However, in order to apply SLAM, appropriate sensors are necessary, e.g. sonar or video camera. The advantage of sonar is a long range, however, its disadvantage is cost, weight, and size. In turn, the camera is cheap and may be maximally reduced in size, however, its disadvantage is a short range especially in non-transparent unclear water far away from the sea-floor.
The inertial navigation is a next approach which can be applied in areas without permanent or mobile navigation infrastructure. Since the accelerometers of the INSs are subject to drift, which, in case of systems that only use the INS, leads inevitably to a gradual degradation of position over time, the INSs have to be supported by other systems [1]. One solution to this problem is to combine the INS with the geophysical navigation [9,23,27], the most frequently with sonar and SLAM.
The other solution in the field of the inertial navigation is to apply INS to determine vehicle orientation and a log (speedometer) to estimate velocity. There are different types of logs, i.e. mechanical, electro-magnetic, pressure, and Doppler logs [2,4,8,12,13,16], which differ in accuracy and size. The smallest in size seem to be electromagnetic ones, however, they are rather inapplicable to lower speeds achieved by underwater vehicles. The same applies to mechanical logs. The Doppler logs are very precise, even for low speeds, what is more, they measure velocity with respect to the sea-floor which means that they take sea current into account in their measurements. Their drawback is, however, cost, weight, and size which make them impractical in use on board of small vehicles.
An alternative solution for logs, especially for small lowcost vehicles, is odometry. It estimates momentary velocity of the vehicle based on its inner state, mainly based on the state of vehicle drive. If the navigational system knows state of propellers, rudder, and other vehicle components which can affect its motion, it is possible to estimate velocity of the vehicle and use it further to estimate vehicle position.
In the paper, Odometric Navigational System (ONS) is presented which is designed for a small, cheap, biomimetic 3 autonomous underwater vehicle (BAUV) whose size, cost and weight limit its equipment merely to IMU, pressure sensor, small camera, and GPS. There is neither device for velocity measurement, nor sonar for exploring the environment on vehicle board. Example BAUVs for which the system was designed are presented in Fig. 1.
The concept of such system emerged during the project entitled "Autonomous underwater vehicles with silent undulating propulsion for underwater ISR", financed by Polish National Center of Research and Development and it was motivated by the idea of the swarm intelligence. One objective of the project was to design a small, light, and cheap vehicle with the ability to autonomously monitor indicated areas of the sea by means of different sensors, e.g. sonar, camera, and to avoid collisions with all moving and static objects. Unfortunately, already at the conceptual stage, it appeared that it is impossible to build such vehicle. One small vehicle cannot simply carry all the devices necessary to perform the assigned tasks. The alternative is application of a swarm of small heterogeneous vehicles, each of which with a different equipment, instead of one super-vehicle. The problem is, however, that even small, poorly equipped vehicle, in order to be autonomous, needs navigation skills. To this end, a technology is necessary characterized by small size and weight, low cost, and possibly the highest accuracy.
In the paper, the solution is proposed which reduces size and weight of the underwater navigational system exclusively to small devices responsible for sensing orientation and depth, position of the vehicle in horizontal plane is determined by means of the ONS. To this end, Extended Kalman Filter (EKF) [5,7,10,11] supplied with the information from VN200 INS and vehicle drive control system are used. The former provides the information about spatial orientation whereas the later about state of the drive which is further applied to estimate vehicle velocity. Apart from the velocity estimation, the ONS tries also to estimate constant errors in orientation which also have the influence on position accuracy. Moreover, the ONS is externally supplied with estimation of the sea current. It is calculated at the very start of BAUV mission and taken into account by the ONS in its calculations. 3 Biomimetic vehicle means the vehicle that imitate behavior and/or appearance of a living organism  [14,26] The ONS, meant as EKF combined with the estimators supplying the filter, has a number of parameters. To determine them, a neuro-evolutionary technique called Assembler Encoding with Evolvable Operations (AEEO) was used [20,21]. Evolution of the ONS took place in post-processing and recordings of state parameters of a real BAUV while moving between a number of way-points were applied for that purpose. Each move started on the surface at a known GPS position. Then, the vehicle submerged, and proceeded towards a destination way-point, on the way, all possible data from IMU, pressure sensor, and the drive were logged to a file. Once the vehicle reached the way-point, it surfaced and GPS position was measured again. During the evolution, the task of AEEO was to minimize the error of the position calculated by the ONS based on the logged data. In consequence of the evolutionary process, the ONS was designed characterized by a definitely smaller position error than a reference navigational system. As a point of reference for the ONS, a system was used relying only on data from navigational sensors, parameters of the drive were inaccessible for it. In effect, the reference system calculated the position of the vehicle based on its assumed speed for a specific setting of the drive.
The navigational system proposed in the paper is its main contribution. As already mentioned, the state-of-the-art inertial systems have to be supported by other systems, e.g. sonar/SLAM or DVL, to reduce cumulative errors of INSs. In the case of small, light, low-cost biomimetic underwater vehicles which because of their size, weight, and cost cannot be equipped with any large, heavy, and expensive devices, the system proposed in the paper seems to be currently the only solution. The vehicle equipped with only MEMS-IMU and pressure sensor can merely estimate orientation and depth, lack of speedometer makes it impossible to determine distance covered by the vehicle, and in consequence, its position. The system proposed in the paper overcomes this problem by applying a virtual speedometer. This way, the vehicle is in the possession of all the information necessary to navigate, orientation is obtained from IMU, whereas velocity from the speedometer.
The paper is organized as follows: Section 2 outlines construction of hardware and software part of the BAUV, Section 3 defines the ONS and the reference system, Section 4 presents AEEO, Section 5 reports the experiments, and the final section concludes the paper.

Biomimetic Autonomous Underwater Vehicle
A target underwater platform for the proposed ONS is small, biomimetic autonomous underwater vehicle like the ones presented in Fig. 1. The experiments with the system were carried out with a medium-size BAUV presented in Fig. 2 [25] which due to more space inside the hull is definitely more comfortable research platform than small target platforms. It is assumed, however, that the key components and behavior of the BAUV and the target vehicles are at least very similar.
The BAUV is equipped with a number of devices and sensors used for underwater and surface navigation (VN200 -inertial system integrated with GPS, pressure sensor), for collision avoidance (three echo sounders), and for surface and underwater reconnaissance (two cameras and sonar). The propulsion of the BAUV consists of two fins located symmetrically on both sides of the vehicle, in its front compartment, as well as one tail fin. The parameters of the fins are as follows: 2. Amplitude of movement (A) -only for pectoral fins, in the experiments A = 30deg was used, 3. Frequency of movement (F ) -F P is frequency for pectoral fins, whereas F T refers to the tail fin.
In order to generate a desirable behavior of BAUV, that is, to move it forward, to turn left/right, to submerge/emerge, to change speed, it is necessary to appropriately set the above parameters.

Navigational System
The task of Navigational System (NS) is to determine estimated position of the vehicle in the North-South coordination system based on its previous position, current orientation and velocity. The depth of the vehicle is always taken from the pressure sensor and it does not undergo calculations. With regard to the N-S position, it is initially taken from GPS, and once the vehicle submerges, it is updated at regular intervals (every 0.05s, approximately) by the NS up to the point when a next GPS position is measured.
As mentioned above, to determine position of the BAUV, the NS needs the previous position, current orientation and velocity. The orientation is taken from VN200 INS whereas velocity is estimated. In this section, two different NSs are presented, each implementing a different method for velocity estimation.

Average Speed Navigational System
As already mentioned, one method for estimating the momentary BAUV velocity is to use its average velocity measured for different operational modes. Exactly such method is implemented in Average Speed Navigational System (ASNS) which is the point of reference for the ONS. In order to fix the estimated position, the ASNS applies the following simple formulas: where Values of V E and V N are calculated in the following way: where V F (k) -is estimated horizontal momentary forward velocity of the vehicle in k-th step; ψ(k) -is momentary heading of the vehicle measured by VN200.
To fix V F , the ASNS applies the following procedure: The final action of the ASNS when calculating V F is to add the sea current to the estimated velocity. The sea current is estimated at the very start of vehicle mission according to the procedure described in [22]. Then, it is updated every time once the vehicle appears on the surface for GPS position.

Odometric Navigational System
As already mentioned, the ONS is implemented as the Extended Kalman Filter (EKF) 4 defined as follows: where θ = [x, y, V F , ψ, φ] T -is a state vector of BAUV, φ is estimated pitch angle; ] T -is a vector of observable sensor measurements, ψ H EE is an output of a heading error estimator (see further), φ V N200 is an VN200 measured pitch, and V V V E F is an output of a vehicle velocity estimator (see further); In the observation component of EKF, two estimators are applied. The first one is the heading error estimator (HEE) whereas the second one is the vehicle velocity estimator (VVE). The HEE works according to the following simple formula: where ψ V N200 is a vehicle heading determined by VN200 after the calibration process, whereas e i , i = 0..35 are parameters of the HEE evolved by the AEEO. In each kth step of calculations, the EKF is supplied with ψ H EE = ψ V N200 + λ(ψ V N200 ) which is a corrected heading value.
The task of the VVE is supplying the EKF with V V V E F . To do so, the VVE needs information about state of fins, exactly it requires N P , N T , F P , and F T . Detailed operation of the VVE can be defined as follows: Generally, three factors affect V V V E F , i.e. the pectoral fins (Eq. 9), the tail fin (Eq. 10), and BAUV pitch angle (Eq. 11). In Eq. 9, it is assumed that increase of F P increases also vehicle velocity. 5 When the fins are set in forward position, along vehicle hull, that is, for N P = 0deg, their influence is maximally positive -V V V E F is maximal for a selected F P . In turn, maximally negative influence is for N P = 180deg, that is, when the fins are in reverse position. The pectoral fins do not affect horizontal movement of BAUV for N P = ±90deg, in that case, they move the vehicle down or up.
In the case of the tail fin, there are two modes of operation, the one for N T = L or N T = R, and the other one for N T = C. Each mode relates to other contribution to With regard to the pitch angle, its influence is generally negative on V V V E F , higher values of pitch contribute to increase of the friction, and in consequence, they slow down the vehicle.
As in the case of the ASNS, in the final stage of operation, the ONS takes the sea current into consideration. It is performed in the same way as in the ASNS, that is, estimated velocity of the sea current is added to V V V E F . As described above, the ONS has fifty one parameters in total, i.e [ i , e j , p n ], i = 0..10, j = 0..35, and n = 0..3.
To determine their values, the AEEO is applied. Since the AEEO operates on matrices, all the parameters are formed into a matrix. Previous experiences with the AEEO revealed that it is the most effective for square matrices and for that reason the decision was made to form the parameters into where x items are neglected when creating the ONS.

Assembler Encoding with Evolvable Operations
Assembler Encoding with Evolvable Operations (AEEO) originates from a generative neuro-evolutionary method called Assembler Encoding (AE) [19]. In AE, an ANN is represented in the form of a linear program consisting of operations with predefined implementations and data. The task of the program is to create a Network Definition Matrix (NDM) defining a single ANN. To form the program and, in consequence an ANN, Cooperative Co-Evolutionary Algorithm (CCEGA) [17,18] is used. The genetic algorithm generates operations (parameters of operations; as mentioned above, implementations are defined beforehand) and data which combined together form a program. Each program builds NDM which is then transformed into an ANN. To this end, the matrix has to store all the information necessary to construct a network. This information is included both in the size and individual items of the matrix, scaled always to the range < −1, 1 >. The size of NDM determines a maximum number of neurons in the ANN whereas individual items of the matrix define weights of interneuron connections, i.e. item NDM[i, j ] determines a link from neuron i to neuron j . Apart from the basic part, NDM also contains additional columns that describe parameters of neurons, e.g. type of neuron (e.g. sigmoid, radial, linear), and bias (see Fig. 3) [22].
In AEEO, the operations with predefined implementations are replaced with ANNs-operations with the same task as in the classic variant of the method. Moreover, the data used previously by the operations are completely removed from the programs which in AEEO include exclusively the ANNs-operations. The ANNs-operations operate together on one NDM which encodes one final ANN, once the matrix is completely formed it is then transformed into the network. To perform the task, ANNs-operations have two inputs, a number of hidden neurons, and three outputs. The inputs indicate an item in NDM updated by the operation (a number of row and column) whereas the outputs are used for three different purposes, i.e. to determine a negotiation strength of each ANN-operation, to determine whether the item should by modified or should not, and to determine a new value for the item. To indicate which ANN-operation Fig. 3 The way of encoding ANN in the form of Network Definition Matrix (NDM) [22] should determine the value of a given item, negotiation outputs of all ANNs-operations are compared. An ANNoperation with the greatest output value is entitled to modify the item. In order for the item to be updated, the second output of the selected ANN-operation is tested. If the output value is greater than an assumed threshold the item gets a value from the third output of the ANN-operation (see Fig. 4). Otherwise, the item remains intact and the corresponding connection between neurons in the final ANN is not established [22].
ANNs-operations evolve according to CCEGA. In CCEGA, each part of a solution evolves in a separate population. To form a complete solution, selected representatives (usually, the best ones) of each population are combined together. Application of this evolutionary scheme in AEEO consists in evolution of individual ANNs-operations in separate populations. The number of ANNs-operations in a complete program corresponds to the number of populations (see Fig. 5). Each population delegates exactly one representative ANN-operation to each program. During the evolution, programs expand gradually. In the beginning, they contain only one ANN-operation from one existing population. When the evolution stagnates, i.e. lack of progress in fitness of generated solutions is observed over some period, a set of populations containing ANNs-operations is enlarged by one population. This procedure extends all programs by one ANN-operation. Each population can also be replaced with a newly created population. Such situation takes place when the influence of all ANNs-operations from a given population on fitness of generated solutions is definitely lower than the influence of ANNs-operations from the remaining populations (a population can be replaced when, for example, fitness of a population, measured as the average fitness of all ANNs-operations from the population, is definitely lower than the fitness of the remaining populations) [22].
In individual populations, the evolution proceeds according to Canonical GA [6]. At the genotypic level, each ANNoperation is represented in the form of a variable length chromosome consisting of two parts. The first short part defines topology of an ANN-operation whereas the second part includes parameters for the network (see Fig. 6). Construction of an ANN-operation proceeds in three phases. First, topology of an ANN-operation is determined based on the information contained in the first part of the chromosome. To this end, binary values from this part are directly copied into NDM, a single bit corresponds to a single item in the matrix. When the number of bits is insufficient to completely fill in the matrix, the whole sequence of bits is used again. In the following phase, the parameters from the second part of the chromosome are successively introduced into NDM. In this case, only items equal to one are modified. The remaining items, i.e. items equal to zero, remain intact. As before, transfer of the parameters is performed in a loop until all the elements in NDM have a value assigned. In the last phase, NDM is transformed into an ANNoperation [22].

Experiments
The main goal of the experiments was to test what accuracy of BAUV position can be achieved when using the ONS specified in Section 3. The tests were carried out in three phases. The first phase took place on the swimming pool, and its objective was to determine:   [22] right. To this end, the length of the turning path and duration of maneuver were measured, the former parameter was determined based on the radius of the circle along which the BAUV moved.
In order to estimate a, the BAUV was requested to move along a path indicated by three way-points located in the corners of the pool -starting position of the BAUV was in the right bottom corner of the pool, whereas the waypoints were situated in the remaining corners, see Figs. 7 and 8. The tuning process consisted in searching for the value of a which made the vehicle path possibly close to the one observed by the BAUV operator. Example paths, before and after the tuning process, are depicted in the figures mentioned above.
All the estimated parameters above were applied in the ASNS in the second phase of the experiments which took place at sea, near the cost. The choice of coastal waters for the experiments was dictated by expected area of operation of future vehicles. Small size, and in consequence, insufficient drive power to operate at open sea in the presence of strong sea currents makes the vehicles appropriate only for coastal waters.
Before the main part of that phase, the sea current was estimated, and for that purpose the procedure described in [22] Fig. 6 The way of building NDM representation of ANN-operation [22] Fig. 7 Example path of BAUV before a tunning -vehicle is often positioned outside pool was used. Then, the vehicle was ran underwater six times at different distances (about 50-100m, see Appendix) between two way-points. For the purpose of further analysis, the runs were called r1, r2..r6. When navigating underwater, the BAUV used the ASNS. The coordinates of the starting waypoint were known for the ASNS and were taken from GPS. Then, after submerging, position of the BAUV was calculated according to the algorithm presented in Section 3.1. When operating, the vehicle logged all the parameters, including N P , N T , F P , F T , to a file. Once the position calculated by the ASNS agreed with the position of the destination way-point, the BAUV surfaced, accurate GPS position was measured, and the position error was fixed.
The third phase of the experiments took place in laboratory conditions and its objective was to off-line tune parameters of the ONS by means of the AEEO and recorded data, to test effectiveness of the tuned ONS, and finally to compare it with the ASNS. At the beginning, BAUV parameters logged during two different vehicle runs (r1 and r2) were applied to evolve P ONS matrix. In the evolutionary process, the following fitness function was used to evaluate each evolved P ONS , and in consequence, the ONS itself: where V C -is estimated velocity of the sea current.
A higher fitness F for V MAX F < V M(m) + V C means that the AEEO is discouraged to evolve ONSs whose estimations of V F exceed estimated maximum velocity of the BAUV equal to V M(m) increased by velocity of the sea current estimated at the very start of the tests at sea. To ultimately evaluate the ONS, and then to compare it with the ASNS, the next four BAUV parameter recordings were used, i.e. the ones which were not used earlier to evolve ONSs (recordings from runs r3..r6). The quality of both rival methods was measured as an inverse of a distance between GPS position and ASNS/ONS calculated position of BAUV in four analyzed cases. In comparisons, the ONS was represented by the instance of the system that was the most accurate during the preparation phase.
Parameters of the AEEO and both compared methods are presented in Appendix whereas final results of comparison tests are shown in Table 1 and Fig. 9. They generally reveal that the ONS considerably outperforms its rival. The total position error of the ASNS in the runs r3-r6 equals almost 200 meters, whereas the error of the ONS is more than three times smaller and equals 61 meters.
In r3, the error is the smallest, whereas in r4 it is the highest, regardless of the method applied, which suggests the influence of an external factor. The sea current and its inaccurate estimation seem to be the most likely reason of such situation. In cases r3, r5, r6, the BAUV moved course about 45deg, sometimes with some collision avoidance maneuvers (see Fig. 9d), and that direction was agreed more or less with the direction of the see current. For example, in the lower sub-figure of Fig. 9a, one can see that the BAUV passed the way-point, in this case, the influence of the sea current was underestimated. The same applies to the case r4, this time however both methods surfaced the BAUV far away from the destination way-point which is due to opposite direction of BAUV motion. In the remaining figures, it is visible that the vehicle also did not reach the way-point. This time, however, the position error was significantly smaller than for r4 and the only sensible explanation of such situation is variability of the sea current which sometimes helps the vehicle and other time it pushes it back.
When analyzing the most accurate ONS evolved by the AEEO (see Appendix), it should be stated that the VVE estimates vehicle velocity only based on the arrangement of the tail fin whose working parameters depend on march velocity, and maneuvers performed by the vehicle, e.g. when avoiding collisions. The pectoral fins are completely omitted in estimations (p 0 = 0, p 3 = 0). The most likely reason of that situation is that the pectoral fins change working parameters N P , F P , which decide about vehicle velocity, only when changing depth, meantime, most distance between way-points was covered at the same depth. The effect was that the pectoral fins worked most time with the same parameter setting and the ONS did not take them into consideration when calculating V F . The other observation is surprisingly high value of heading errors estimated by the HEE for headings in the range < 40, 110 >deg (e 4  In spite of the fact that VN200 responsible for vehicle heading was calibrated and it should perform measurements with a higher accuracy, minimization of the position error forced the AEEO to evolve such high values of e 4 -e 10 . Since in the three cases, i.e. r3, r5, r6, the BAUV moved the course from the range < 40, 110 >deg, the above estimations of the HEE had significant influence on final result of the ONS and probably on its higher accuracy compared to the ASNS.
Generally, as regards the achieved accuracies, they seem to be still far from expectations, even for the ONS, and further research is necessary to improve the situation. First of all, design of the ONS should rely on data recordings from BAUV runs between more than two way-points, for different directions of BAUV move, for different march velocities, and for different vehicle depths.
It seems that an improvement of the system effectiveness may be achieved by extending EKF by measurements of depth and velocity from pressure sensor and IMU accelerometers. While the accelerometers are highly unreliable source of information about vehicle velocity, the pressure sensor provides very accurate data and can therefore be a valuable extension of the system.
Other option which should be considered is replacement of EKF with other filters, e.g. Particle filter or Unscented Kalman Filter.
It seems that application of neural networks in the role of the VVE and HEE instead of hand-designed solutions may improve accuracy of the ONS. In the case of the HEE which is currently implemented as a discrete function with the same output in the range of 10deg, the change into a neural continuous counterpart may be profitable for heading accuracy.
In many different BAUV working modes, a neural nonlinear VVE seems to be also a more appropriate solution for V V V E F estimation than its current simple form defined by (8)- (11). The current solution is "handmade" with the result that its ability to adjust to a problem is limited, meanwhile, the neural networks have been proven many times that they are able to reconstruct even very nonlinear complex functions.
Other possible direction of research is correction of BAUV position when on the surface. Of course, a natural way of position correction is to use GPS, however, in some situations it may be impossible. In that case, and in coastal regions, optical solutions may be used. Contemporary cameras are very small and light, and they can be successfully embedded in a small vehicle. When combined with a specialize software they can be applied to detect and identify landmarks, to estimate their relative position and finally to estimate vehicle position.

Summary
The paper presents application of a neuro-evolutionary method called Assembler Encoding with Evolvable Operations (AEEO) to evolve Odometric Navigational System (ONS) designed for a small biomimetic underwater vehicle. The small vehicles do not have enough room inside their hull for precise navigational sensors like optical gyro or Doppler log and for that purpose they have to rely only on light, small devices which are usually inaccurate in their indications. Since logs used to measure velocity in water environment are usually heavy and large, the small vehicles typically do not have any tool for velocity measurements. Since to navigate, they need information about velocity, other solutions have to be used. One of them is velocity estimation based on state of the vehicle drive. In the case of a biomimetic vehicle equipped with fins, the idea is to use their momentary parameters to estimate vehicle speed.
The other navigational problem of small underwater vehicles is inaccuracy of MEMS-IMU "compasses". To overcome this problem, the proposed system tries to estimate errors in heading and take them into consideration while calculating vehicle position. The entire navigational system proposed in the paper has several parameters. In order to determine them, the AEEO was applied. An example biomimetic vehicle was ran a number of times and its parameters were logged to a file. Then, the parameter recordings were used during evolutionary process to optimize the parameters of the ONS. As a point of reference for the proposed solution, the system was used that relies on average velocity values calculated based on earlier measurements. The comparison tests revealed that the proposed system outperforms its rival, as it appeared, reduction of the position error was even threefold.
Unfortunately, the achieved accuracies are still not satisfactory and further research is necessary. Potential directions of the research are: extension of EKF by other measurements, tests with other filters, estimation of vehicle velocity and heading errors with the use of other tools, for example, neural networks, and development of optical navigational systems for position error correction when on the surface.
Parameters of AEEO: stopping criterion = position error lower than 1 meter or performing the maximum number of evolutionary generations equal to 60 000 (in the experiments, all evolutionary runs ended after performing 60 000 iterations), number of evolutionary generations without progress which were necessary to add a new population with ANN-operations = 10 000, probability of crossover = 0.7, probability of cut-splice = 0.1, probability of mutation = 0.06, size of tournament = 1, number of elite individuals = 1, number of subpopulations (ANNoperations) = 1-5, size of subpopulations = 50, no. of integer genes in chromosomes = 7-20, type of neurons in ANN-operations = ¡sigmoid, radial, linear, sinusoid, cosinusoid¿, hidden neurons in ANN-operations = 4.
All the above parameters of AEEO were specified arbitrary before the experiments based on experience from all previous AEEO applications.