Design and control of a low-cost autonomous profiling float

. This paper presents the development made around the SeaBot , a new low-cost profiling float design for shallow water. We introduce a simplified dynamical model of the float and propose a state feedback depth controller coupled with an Extended Kalman Filter (EKF) to estimate model parameters. We show experimental results of the depth control that validate the model and the controller. We finally propose a loop design method to build low-cost floats by highlighting key design choices along with design rules


Introduction
Profiling floats, which are a specific kind of Autonomous Underwater Vehicle (AUV) widely used in oceanography, can only regulate their depth.They are commonly equipped with instruments such as temperature, pressure, conductivity or biochemical sensors that measure the state of the water column.Most of them carry out profiles in the open ocean and the last generation can dive up to 4000 m [1].They help to a better understanding of the ocean and provide crucial data to oceanographic models through several years missions.The most well-known profiling floats are those of the Argo project [2]: about 4000 floats that gather data continuously all over the world.
More recently, the oceanographic community has been focused on swarm of profiling floats for shallow water [3,4] to better understand submesoscales dynamics (<1−10 km).In shallow water, the vertical and horizontal variation of biochemical parameters can be important.This is why oceanographers seek to increase the density of data gathered.
Designing a low-cost profiling float that can conduct shallow water mission is then a key challenge.By low-cost we mean a fast design and development phase, low or no calibration steps before using the float and obviously a low cost per unit, while maintaining a high level of energetic and dynamical performances.The cost of the whole life cycle should be taken into account.
After introducing the dynamic model of a float, a focus will be given on the mechanical and electronic parts.A new command law based on a full state feedback coupled * e-mail: thomas.lemezo@ensta-bretagne.org with an Extended Kalman Filter (EKF) will then be introduced and validated with experimental trials.We will finally propose a loop iteration design that are guidance rules to build such robots.

Float dynamics
A profiling float controls its buoyancy to regulate its vertical position.There exists several mechanical systems to perform this task that either adjust the mass or the volume of the float.They are mainly based on hydraulic pump or piston system.Some floats are also equipped with a passive system: they are designed to stabilize themselves at a unique density.
We will choose the case of a piston based system (see Fig. 1) which is simple to design and suitable for shallow water.
The principle is to adjust the volume of the float by pushing in or pulling out a piston that will modify the density and so the buoyancy.A float is primarily subject to gravity, buoyancy and drag forces.We make the assumption that the float has only vertical motion, with no rotation, that it is in thermal equilibrium with surrounding water, that the density of water is constant and that there is no vertical water velocity.A more complex model could be developed for more precise studies but a basic one seems to be sufficient to achieve an effective control (see the experimental results in Sect.5).We have: where F b and F d are respectively the buoyancy force and the drag force.m f is the mass of the float and m a is  the added mass which cannot be neglected in the case of water [5].Table 1 summarizes all the parameters.The virtual mass m v = m f + m a is the sum of the two masses.
We then have where V t is the total volume of the float composed of the sum of the piston volume V p and the float volume V f .Note that the volume of the float V f is supposed to be equal at zero depth to m f /ρ: the float has a neutral buoyancy.The piston volume V p is then defined as a positive or negative volume from neutral buoyancy at zero depth.Equation (2) can then be simplified to: A last phenomenon must be taken into account: the compressibility of the float.While increasing external pressure, the float's volume will decrease.This is also the case for water.The isothermal compressibility K T = − 1 V ∂V ∂P T measures the relative change of volume as a response to a pressure.We will assume that the water and float temperatures are constant which means that K w , the water compressibility, and K f , the float compressibility are constant.We will also assume that the relation between the pressure P and the depth z is linear equal to P (z) = ρgz.
We can then deduce the loss of buoyancy of the float which is explained by the relative variation of volume δV of the float compared to the equivalent one of water under the same pressure: (4) Note that we have neglected the loss associated to the piston volume and we have supposed that the volume of the float is constant.Equation (3) can then be rewritten to take into account the compressibility: We set χ = m f (K f − K w ) g, the loss of volume per meter depth, which is homogeneous to m 2 .We obtain Set A = ρg mv and B = C d Sρ 2mv , we obtain: The sign of the χ coefficient significantly affects the stability of the system.The float is stable for a negative χ and unstable for a positive value.Let us take a float that is neutral buoyant for a depth z.Let us then move the float of δz in the case of a negative χ: the variation of volume δV will be of the same sign as δz which will produce a force in the opposite direction of the movement.The float will then go back to its previous depth z.In the case of a positive χ the movement is on the contrary amplified by the variation of volume.Figure 2 shows the trajectory over time of two floats with a negative and positive χ.The float is stable for z = 0 and was moved of δz = 0.1 m.In the case of a negative χ the drag force progressively reduces the oscillations while in the case of a positive χ the system is clearly unstable and reaches rapidly a constant positive velocity.

Robot design
The SeaBot float is a 80 cm low-cost system design for shallow water up to 50 m (see Fig. 3).The whole system uses as much as possible standard and off-the-shelf mechanical and electronic components.We also tried to limit machining operations for manufacturing the robot.

Mechanical architecture
We will give here an overview of the different design problems that have to be considered in order to build a low-cost float.The idea is to give simple and first step design rules.

Float hull
To avoid corrosion phenomenon and to facilitate the development of the float, we have chosen to use a full plastic hull and a transparent tube.The caps and the piston are in polyoxymethylene (POM-C) and the tube is in polycarbonate (PC).
To design the thickness of the tube and the tube caps, we have to verify that [6,7]: e pipe > P •dpipe 2σe where e pipe is the thickness of the tube, P the external pressure, d pipe the diameter of the tube, σ e the elastic limit, e caps > r caps 2 3 P σe where r caps is the radius of the caps.
In the case of the SeaBot, we obtain, for a 50 m depth limit and a 120 mm tube, using Table 2, e pipe > 0.4 mm.We have chosen a thickness of 5 mm that takes into account a safety coefficient and that limits the compressibility issue which will be studied later.We obtain e caps > 8 mm for the caps.
Using stainless steel or aluminum would have allowed to reduce the thickness of the tube to few millimeters but it raises issues with the propagation of wireless signal, with the tube ovalization at small thickness and with the issue of galvanic corrosion.Moreover stainless steel is more dense than plastic materials, so the gain in thickness should be balanced with the additional mass that reduces the payload mass.

Float compressibility
Estimating the float compressibility is important to know if the system will be stable or unstable.At a first approximation, we can model the tube by an infinite cylinder.We know from classic results [8, p.240] that the total radial travel for the external radius of a pressured thick-walled tube is: where u is the total radial travel, ν the poisson's ratio, E the young modulus, a the internal radius, b the external radius, P E the external pressure and P I the internal pressure.
If we neglect the effect of the two caps, the loss of volume can be approximated by: where L is the length of the tube.We can then deduce an approximation of the float compressibility: In the case of the SeaBot float, we obtain a mean compressibility for P E = 5 bar, P I = 0.6 bar and L = 0.6 m of K f = 4.30 × 10 −9 Pa −1 .We can then deduce the loss of volume per meter χ = 7.22 × 10 −7 m 3 m −1 .The float is found to be passively unstable.
The χ theory is similar to the χ measured 2.14 × 10 −6 m 3 m −1 .A more detailed study using numerical simulation should be undertaken to obtain a better estimation of the χ theory .By comparison, a 2 mm thick aluminum tube would have made the float less compressible than water.

Auto-ballasting system
The auto-ballasting system (ABS) is based on a 5 cm diameter piston that moves along a M12 steel threaded rod which is rotated with a brushed motor.The position of the piston is given by an optical codewheel (48 counts per revolution) and two reed switches that provide two mechanical zero position and maximum position references.Figure 4 shows the mechanical design of the system.
The required torque that the motor has to deliver can be calculated classically [6,7] by the following equation: where T is the torque (in N m), F P is the normal force applied to the piston (in N), r mean the mean radius of the threaded rod (in m), i the thread angle and ϕ the angle of friction that depends on the materials.
In the SeaBot case, we have F P = ρgz max S, r mean = 6 mm, the screw thread is 1.75 mm which gives i = 8 • and if we assume a friction coefficient of 0.4 between steel and POM-C, ϕ = 22 • .We obtain T max = 3.4 N m.
The SeaBot motor (MFA Como 970D1561) is a P m = 19.8W, of 0.015 N m at maximum efficiency and 0.1 N m at the maximum torque, with a 156:1 reduction gearbox, which gives a maximum output torque between 2.34 N m and 15.6 N m > T max .The output rotation speed is 93RPM so we can compute the theoretical maximum volume variation of the piston per time: Vp = 5.32 × 10 −6 m 3 s −1 .
A compromise has to be found between the diameter of the piston, the maximum torque of the motor and the maximum volume rate of the piston.

Additional systems
The SeaBot float is also equipped with two low-cost thrusters that can be used at surface to correct its position.In addition, the internal part of the float is maintained at a pressure of 600 mbar.This low pressure maintains the O-rings an the two caps even at the surface of the sea.This also provides an easy way to detect important leak issues.

Electronic system
The main electronic is based on a Raspberry Pi 3 B+ board and microcontrollers (µC) dedicated to real time control and hardware interfaces.
The float is equipped with a 18 cm accuracy, 0.1 mm resolution pressure sensor, an external temperature sensor, a MEMS IMU, a GNSS receiver, an Iridium transceiver, an optical codewheel for the piston and an internal temperature, pressure and humidity sensor to detect water leak issues.Figure 5 shows the electronic architecture.
Monitoring the humidity level appears to be more efficient to detect small leaks than monitoring the internal pressure which requires important water ingress to change.
The float has four 5Ah 3S LiPo batteries that provide a total of 20Ah.This gives around 226 W h which means about one day autonomy. 1The electronic system without the motor and thrusters consumes around 2.5 W. The electronic energy consumption could be greatly optimized in a second step design.

Software architecture
The software is based on the ROS middleware.It is built around nodes that handle specific tasks and can communicate with each other.The SeaBot source code is available online (https://github.com/ThomasLeMezo/seabot).Figure 6 shows a simplified functional architecture of the software.Note that the robot implements a

Depth controller
In this section, we will deal with the depth controller of the float during diving.A key point, in the context of lowcost actuators and sensors, is to implement an efficient control law that minimizes the energy consumption while maintaining a low error relative to the depth set point.
Several approaches have been used in the literature: a survey of profiling float controllers can be found in [9].Classic PID based controllers are not suitable in the context of low-cost floats as underlined in [10] because of the time required to tune experimentally their coefficients.State of the art float controllers now use state feedback [4] or adaptive controller [11] techniques.The main difficulty of those controllers is the ability to know an accurate dynamical model of the robot.Indeed, several parameters such as buoyancy depend on the surrounding water's properties.An online estimator must therefore be implemented.To solve the problem, several techniques have been used including fuzzy inferences [4] and full state observers [10].
In the following section, we will propose a new method built on a state feedback controller and on an online estimator based on an Extended Kalman Filter (EKF).This new method better takes into account the compressibility of the float.It also drives the float with a velocity constraint which is new.Indeed, from a theoretical point of view, the energy loss of the system is mainly due to drag forces which are linked to the velocity of the float.A precise control of the float velocity is therefore crucial.
The float system can be modeled through the following equation: ẋ = f (x, u) where x = ( ż, z, V p ) is the state Fig. 6.Software functional architecture.vector of the system, f the evolution function of the system and u the input.From equation (7), we obtain: where u is the piston volume rate.

Control law
In a context of low energy consumption, we want to avoid as much as possible any overshoot of the control which would cause unnecessary movements of the piston.
In terms of energy, the mechanical work of the piston depends of the velocity and of the loss of volume per meter χ.If χ = 0, the float can move from an equilibrium depth position to an other with an move of the piston: the work is then directly linked to the velocity of the movement and not to the traveled depth.
To be able to limit the velocity while reaching the desired depth, we chose to control the float with a vector field that links the velocity and the depth error to the depth set-point (see Fig. 7): where z is the depth set-point and (α, β) is a pair of constant parameters.Other functions such as sigmoids could have been chosen as long as they are smooth, as this is required to apply state feedback techniques.The coefficients α and β will be chosen depending on the performances required by the user application in particular the maximum velocity żmax = β π 2 and the deceleration phase near the depth set-point though β α .The adjustment of these parameters will be discussed in Section 6.Unless stated otherwise, we will let α = 1.
To apply state feedback linearization technique [12], we chose for the system output y = ż − β arctan z−z α .Our system has a relative degree of 2 which requires to derive two times the output. where as Ḋ = −2α −2 e ż and with ...
We then chose u such that y is solution of λ 3 ÿ + λ 2 ẏ + λ 1 y = 0 where λ 1 , λ 2 , λ 3 are constant coefficients.In order to avoid any overshoot we want a single negative pole s such that the characteristic equation of the previous equality is (1 − s) 2 , which gives the coefficient values: λ 3 = 1, λ 2 = −2s and λ 1 = s 2 .The control law can be then expressed as: (17) This allows y to converge towards 0 at a speed of ∼ e st .The pole s should be chosen according to the dynamics of the system.
The previous model is only valid when the float is completely immersed.This is not the case at surface when antennas are emerged.This is why a simple finite-state machine switches between a simple sinking procedure that slowly retracts the piston until a certain depth z f is reached, and a state feedback controller that is activated below this depth.

Estimation of unknown parameters
The main issue, with the control law described above, is that the exact volume V p of the piston and the χ parameter are unknown.Concerning the volume, we measure with a high precision the volume of the piston V m from a mechanical zero reference but we do not know the offset V o such that the float is at equilibrium for a zero depth (V p = V m + V o ).The parameter χ is even more complex to estimate as it also depends of surrounding water properties.This is why an EKF will be used to estimate V o and χ.Note that some of the modeling errors would be also compensated by the estimation of both variables.By using equation (12), we can obtain a specific system for the estimation of V o and χ.Note that V p is here considered as the input u.We measure z and we assume that V 0 and χ are constant over time.With the state vector x = ( ż, z, V 0 , χ) , we have for the continuous system: We recall the Kalman prediction and corrector equations 2 , in the case of a discrete time system, with an Euler integration scheme at step k, and a dt duration between steps: -Prediction = ( 0 1 0 0 ) is the observation matrix, -and Γ α , Γ β are respectively the process and the observation noise covariance matrices.In our case we set them diagonal and constant.Their coefficients depend on the accuracy of the sensors and of the dynamic of the float.
Figure 8 illustrates the depth controller structure with the EKF and the state-feedback.
5 Experimental results

Tests in a controlled environment
The float system was tested in a 20 m deep sea water basin at Ifremer3 Brest (see Fig. 9).The state feedback controller and the EKF were running at 5 Hz with a transition depth z f = 0.3 m.The mission was to reach five different depth levels {1, 5, 10, 15, 18} m with a maximum speed of | żmax | = 0.04 m s −1 , α = 1 and s = −1.Figure 10 shows the trajectory over time and Figure 11 shows the piston volume measured V m .There is no overshoot along z and we clearly see, on the volume V m plot, the compensation of the loss of volume: the deeper the robot is, the larger the volume of the piston output must be.

Evolution of χ
Measuring the volume of the piston once the float is stabilized at every depth level gives an idea of the value of χ.From experimental data, the loss of volume appears not to be linear with depth z but quadratic with respect to z.However, the EKF handles this model error and adjust the value of χ and V 0 (see Fig. 12): this is why χ is not constant over time. 4The associated evolution of variances over time of χ and V 0 are shown in Figure 13.We can notice that the variance of V 0 increases when the variance of χ decreases.This could be due to the fact that the dynamic model of the system is oversimplified.

Energy consumption
To reduce the energy consumption during ascending and descending phases, we compute an interval of input [u] for an interval of maximum velocity [ żmax ] and we choose the command that minimizes |u|.A no piston movement strategy could also be adopted when the set-point is reached in the case of a stable float but this is not the case for our system.
Depth error For this first test, the depth error after the depth set-point is reached is of few centimeters (in most cases under 2 cm).Some depth bias of up to 4 cm can be observed which could come from mechanical hysteresis or error in the model.Adding an integral effect to the control law could be a solution to compensate these small biases.
We can also note that the pressure sensor, which drives in our case the performance limit of the system, has an equivalent resolution of around 0.9 mm.This means that the depth controller has a performance of around ten to twenty times the resolution of the sensor.

Tests in real environments
Ocean trials have been conducted in the Brest bay (see Fig. 15), in the Bertheaume cove (see Fig. 14) and in the Guerlédan lake (see Fig. 16).Results are the subject of ongoing analysis at the time these lines are written concerning sea trials.
The Guerlédan lake mission consisted of 8 identical twohours series.The robot had to perform 20-min depth stops at: {10, 17.5, 25, 17, 9.5, 2, 0} m for a total of 17 h mission.The mission started on the 10th of October 2019 at 15h06UTC and lasted all the night.Figure 17 shows the result with a zoom on one of the stop.We can see that the depth error is relatively low with an order of magnitude of few millimeters. 5e can also note that just after 9 h of mission, the robot encountered wrong pressure data that led to a return to the surface.As a result of this event, the EKF diverged to false values which explains why there are small overshoots on the next depth stops.The situation came back to normal around 11 h of mission.Additional safety checks were added to prevent this problem from happening again.
For each surface rise, the robot sent its position through a satellite connection and used its thrusters to reach a next predefined area to dive.

Validation of the depth control law
The SeaBot has mechanical constraints which bounds the volume V p ∈ [V p ] and the volume rate of the piston Vp ∈ Vp .These constraints narrow the α, β, s and z possible values.The parameters for the SeaBot piston are summarized in Table 3.The asymmetry between V + p and V − p is due to the need to have a sufficient buoyancy to emerge antennas.

Maximum depth
The maximum depth is not only limited by the hull durability against pressure but also by the loss of volume due to compressibility.It is equal to around 70 m.At equilibrium in the case of the maximum depth, we have from equation (7): = 70 m.A stable float (χ < 0) will not be able to go deeper whereas an unstable float (χ > 0) will not be able to go back to a  lower depth.Indeed, it will not have enough reserve buoyancy to come back to surface, if it goes deeper than this limit.
We have set a practical depth limit to z max = 50 m to keep a safety margin which covers the mechanical strength of the tube and the compressibility issue.Maximum velocity Similarly, the float cannot exceed a certain velocity żmax due to compressibility.If we suppose that the float has stabilized its velocity to żmax , we then have from equation (7) In the case of the SeaBot, we obtain 6 : This is consistent with the fact that at surface there is more positive reserve buoyancy than negative one that explains the difference of velocity.The phenomenon is reversed at 50 m due to the loss of volume.Note that these maximum velocities are only based on the hypothesis of stabilized velocity: higher values can be reached for a depth z depending on the initial condition of the trajectory.

Piston velocity limitation
We consider now the limitation induced by Vp .The speed of the loss of volume due to compressibility is linked to the velocity of the float.Therefore, the piston should move fast enough to compensate this loss.Otherwise, in the case of an unstable float, it will not succeed in decelerating.In the stable case, the velocity will be limited by: Therefore Vp limits the maximum allowable velocity of the float.
Vector field following An other important issue is to verify that the maximum piston volume rate Vp is sufficient to follow the imposed trajectory, i.e. ∀t, u (t) ∈ Vp .
We first consider that the float is stabilized on the trajectory [13].We know that ż = β arctan z−z α and we also know that ẏ = 0 so z = γ − ż D which implies that We can then compute u as a function of z, as we know ż and V p as functions of z.In order to obtain a guaranteed evaluation of u (z) and avoid numerical errors, we will use interval computations to bracket the value of the function and obtain two boundaries u + and u − such that u ∈ [u − , u + ] [14].
If we take s = −1, β = 0.05 2 π , α = 1 and z = 0, we obtain full black curves in Figure 18.We can see that the control input is always inside the maximum and minimum piston volume rates.We can clearly see that when The study of the transition phase where the system reaches the vector field is also an important key-point that is not studied here.More generally, the computation of the largest positive invariant set [15] of the system in a context of a saturated input would be interesting.This means to find the set of all states from which the system will converge to the depth set-point.A sufficient reserve of Vp must be preserved to efficiently backtrack the correct velocity.

Minimum piston volume increment
Defining the minimum codewheel step increment is a difficult task.A way to estimate a minimum value is to evaluate from In the case of the SeaBot, if we allow a δ ż = 0.01 m s −1 velocity error at zero depth, we obtain an equivalent error of volume of δV p,max = 2.306 × 10 −7 m 3 .We have chosen, for the SeaBot, a 48 counts per revolution codewheel which gives a δV p = 7.16 × 10 −8 m 3 < δV p,max .
Energy consumption For a given maximum velocity żm and a depth change ∆z with a zero velocity at the beginning, and at the end, we can deduce, for the piston, the required variation of volume.By taking into account the piston volume rate, we can obtain the amount of motor run time if we suppose at a first approximation a one-time movement.We can then deduce an under approximation  of the energy required for the mission: We assume here, to simplify, that the piston movement for the velocity and for the loss of volume are independent.We also assume that the piston has to first move to reach żm and then has to move to decelerate to zero velocity.We recall that P m is the power of the motor.In the case of the SeaBot, for a ∆z = 50 m and żm = 0.05 m s −1 , we obtain a run time of 83 s and E = 0.457 W h.

Design loop
Similarly to the ship design loop technique from the Naval Architecture community, we propose here a lowcost float design loop.The idea is to compute from the problem inputs, the minimum electronic and mechanical characteristics of the float.
-Problem inputs: • mass of the payload: m p , • maximum float velocity required żmax , trajectory to follow and error allowed,  and choose a depth sensor according to specifications.6. Estimate the power consumption and choose the battery capacity.7. Go to step 1 if energy autonomy does not comply with the maximum payload weight.

Conclusion and future work
In this paper, we presented a new low-cost profiling float called SeaBot.It implements a new method based on a full state feedback controller and an EKF estimator that was tested experimentally.We also gave a special focus on proposing tools that help to validate the system characteristics.In particular, that the system is able to follow the depth profile set-point.To summarize the validation method, we proposed a design loop to develop low-cost float.
This new controller has the advantage of not having a depth overshoot which reduces power consumption.It does not require fine calibration of coefficients since they are estimated online.Compared to the state of the art, the controller seems to be equivalent or better than existing controllers in term of depth control accuracy.However, there is no sufficiently detailed data in the literature to make an accurate comparison.This work will therefore allow in the future to establish a basis for comparison on This controller has several limitations that would be interesting to address in future work.The dynamic model on which the controller is based could be completed to take into account a more realistic compressibility law.The coefficient of friction of the float could also be estimated assuming that it is observable.In our case of a very high compressibility of the float compared to that of water, the influence of temperature on the density of water is negligible.This is no longer the case when the compressibility are of the same order of magnitude: this would need to be taken into account in the model.In addition, a float less compressible than water would make it stable and therefore would make it possible to have zero energy consumption once the set point is reached under the condition that there is no variation in vertical currents.Finally, we found that in the presence of shallow water, the swell can have an impact on the depth measured by the pressure sensor.An adapted filtering of the swell would therefore be necessary to avoid compensating it.

Fig. 2 .
Fig. 2. Evolution of float depth for a positive and a negative χ.

Fig. 7 .
Fig. 7. Map of the set-point velocity as a function of the depth error δz.

Fig. 9 .
Fig. 9. Ifremer Brest water tank with the SeaBot float.The robot is secured along a rope guide.

Fig. 10 .
Fig. 10.Depth z (in meter) of the float in function of time t (in seconds).The setpoint depth trajectory is in red and the float depth trajectory is in black.

Fig. 11 .
Fig. 11.Piston volume measured Vm in function of time t (in seconds).

Fig. 14 .
Fig. 14.Last test of the Seabot depth controller in the ENSTA Bretagne 2.5 m deep pool before a deployment in the Bertheaume cove.Note that we added colored stripes to make it easier to find the robot at the end of the mission.

Fig. 15 .
Fig. 15.Two SeaBot before their mission in the bay of Brest.

Fig. 16 .
Fig.16.A Seabot after ending its mission in the lake of Guerlédan.We can only see the yellow antenna emerging from the surface at the center of the picture.An air drone is filming the scene.
volume of the antennas V a , • max depth: z m , • mission duration T and number of typical depth variation ∆z, • environmental parameters: water density ρ. -Design loop 1. Compute the diameter d and length L of the float (function of m p ). Choose a material for the hull and compute its minimum thickness (function of z m ). 2. Estimate the drag coefficient C d (function of d) and the loss of volume per meter χ. 3. Compute the interval volume of the piston [V p ] required (i) to emerge antennas (V a ), (ii) to compensate the loss of volume (χ), (iii) and to reach the maximum velocity (function of C d ).

4 .
Compute the interval velocity of the piston Vp required to follow the trajectory and compensate χ.Set the minimum motor specifications.5. Compute the step increment of piston volume (δV )

Fig. 17 .
Fig. 17.The Guerlédan lake mission.The depth set-point trajectory is in red and the float depth trajectory is in black.

Table 2 .
Approximate values of material mechanical properties.