While robots become increasingly common, from the robotic vacuum cleaner and warehouse productmoving robots, to the prospect of autonomous cars, robots are assumed to operate largely undisturbed. Most fielded robots operate on fairly flat grounds, with minimal wind, wave, and current forces. Contrary to these scenarios, we consider robots that are best suited to operate in environments restrictive to humans. As such, capabilities to operate in unknown/dynamic environments, and in the presence of adverse external forces, are required to ensure that robots become ubiquitous and safe in many applications – such as safe inspection of infrastructure , search and rescue , environmental sampling , monitoring of water quality , and mapping inaccessible regions in more efficient, less cost prohibitive means.
In this work, using an Autonomous Surface Vehicle (ASV) – see Figure 1 – we provide the following contributions: a reliable inexpensive platform for collecting depth, wind, and current data in different environments and conditions; and a data processing and model derivation approach for spatially varying environments.
Currently, as observed in a variety of experiments – see Figures 2 and 3 for some examples – an ASV relying on a conventional robotic actuator controllers for waypoint navigation is unable to maintain its course when faced with non trivial external forces such as heavy wind or current. Due to the PID controller being tuned for conditions which are stable, there is no simple method to provide tuned coefficients for dynamic environments where wind and currents are always changing. This drives our motivation to proactively model, plan for, and adapt to these dynamics so the robot can maintain its course and not miss large swaths of its planned trajectory.
1.2 Related Work
Current research modeling wind and currents mainly focuses on large scales, with applications to oceanic navigation and power generation. In the problem addressed in this work, the effects of environmental forces impacting the platform are greater considering the size of the ASV. For instance the work of Soman et al.  reviewed existing wind prediction strategies for optimizing efficiency and profits in power generation applications. Their work focuses both on long term and short term forecasting, but mostly as it pertains to direction, since the turbines they are designing for are stationary. One more closely related study is by Al-Sabban et al. 
, which focuses on the effect of wind on Unmanned Aerial System (UAS). They implement a hybrid Gaussian distribution of a wind field and a slightly modified Markov Decision Process (MDP) to identify the optimal path and optimal power consumption trajectory for a UAS. This work may prove valuable in our future work, but at the current time, we are concerned with an environment with leeward and windward effects caused by surrounding landscape. Another work, by Encarnaçao and Pascoal, studied the problem of developing control systems for marine crafts that are able to follow trajectories to track another boat, under the effects of water currents. Their models center on inertial tracking and compensation of roll, pitch, and yaw rates after the force is sensed to provide course corrections. In our work, we aim at being more proactive, in that we actively measure and model environmental variables with the endstate intent on taking corrective control measures prior to the robot coming under the effects of the wind or currents. Finally, Hsieh et al.  have provided many contributions related to the problem of mapping the effects current phenomena with their design of a control strategy for collaborative underwater robots to track coherent structures and manifolds on generally static conservative flows [14, 9, 6]. Huynh et al. presented a path planning method for minimizing the energy consumption of an autonomous underwater vehicle (AUV) . Their work addresses varying ocean disturbances that are assumed to not exceed the capabilities of the AUV. These works, while addressing aspects of collecting and modeling dynamic environmental characteristics, do not address fully the same time and space considerations that impact our lightweight, smallscale ASV. To establish models that can drive future adaptive controls and online planning strategies for our ASV, we adopt the following technical approach.
2 System and Methodology
In this section, we present the proposed hardware setup, calibration, and verification of inexpensive sensors in a controlled environment, experimental environments, and data collection and processing required to develop comprehensive models of external forces. We break this into two components, the physical and technical characteristics associated with the design and build of our ASV, and the data gathering/processing approach we take to model depth, current, and wind. The modeling process takes into account wind and current measurements, the ASVs trajectory from GPS, compass, and IMU data, together with the morphology and bathymetry of the environment.
ASV and conducted extensive calibration of the operational parameters in benign conditions. Furthermore, we performed several experiments to collect data under a variety of conditions. Such data has been used to perform predictions to evaluate different machine learning techniques. In the following a brief overview of the platform is presented – see our work for more details on our version of the jetyak. The baseline system, capable of waypoint navigation and teleoperated control, consists of an ArduPilot  PixHawk microcontroller utilizing IMU, GPS, and telemetry data. The sensors employed are intentionally inexpensive to enable their adoption by a large number of endusers. For instance, our anemometer222https://learn.sparkfun.com/tutorials/weather-meter-hookup-guide is readily available for building and programming as a kit. It provides wind speed and direction updates at costing about 100 US dollars, whereas a stateoftheart ultrasonic anemometer with user accessible serial output costs over 1,500 US dollars. We employ the same constraint for the depth sonar and water current sensors, with none of the sensors costing more than 200 US dollars. Selected water current sensors333http://www.raymarine.com/view/index.cfm?id=555 are simple hall effect sensors. The depth sensor444http://www.cruzpro.co.nz/active.html mounted on the ASV is National Marine Electronics Association (NMEA) 0183 compliant555https://www.nmea.org/content/nmea_standards/nmea_0183_v_410.asp and outputs serial text to allow Robot Operating System (ROS)  based software direct access to the measurements. In addition to remote control and remote frequency communications, we employ a Raspberry Pi to host the ROS framework recording all telemetry, depth, current, and wind data collected.
Mounting inexpensive, offtheshelf, sensors requires experimentation both on the mounting position and orientation, as well as reverse engineering to build and calibrate the microcontroller servicing the sensor. Being a 1-d sensor, the depth sonar requires the smallest effort, since it returns depth readings directly to the USB port of the Raspberry Pi. The only challenge with mounting a depth sensor is ensuring it remains submerged and avoids cavitation interference resulting from the physical properties of the ASV’s hull. The same challenge applies to selecting the location and orientation of the current sensors. Cavitation, air pockets, and water deflection from the hull and the other sensors have an adverse impact on the water flow through the sensor. The least challenging sensor to mount is the anemometer, simply requiring a stand-off bracket to attach it to the mast. Prior to installation, calibration of the current, wind, and depth sensors is performed to ensure the accuracy of the recorded data. A full tutorial on building the discussed platform with all diagrams and sensor driver code is available on the UofSC Autonomous Field Robotics Lab (AFRL) website , including lessons learned for programming inexpensive microcontrollers and placement/alignment of sensors.
The facilities of the Hydraulics Laboratory at Civil and Environmental Engineering department were used to calibrate the sensors and establish ground truth estimates. Throughout all calibrations, the PixHawk with ArduPilot code, ROS node, Arduino microcontroller programs are run to ensure proper operation when added to the ASV. Laboratory experiments using controlled flow demonstrated that the sensors are effective for water current component measurement at aorientation to the sensor. As such, different setups have been tested to achieve the best coverage. After several attempts to provide accurate current readings covering all directions, we arrived at the proposed solution of four current sensors offset from each other at and offset from the ASV’s reference frame by ; see Figure 4 for the proposed configuration. Using the highest measurement and highest neighbor measurement, we are able to accurately calculate the current in the boat’s reference frame and transform it to the world reference frame by subtracting the boat’s x and y velocity components. The high-level calculations are described in the following section.
2.1 Data Gathering and Processing
The wind and current sensors record data are influenced by the motion of the ASV. More specifically, the sensor measurement (
) is the vector sum between the motion of the ASV () and the real value of the physical phenomenon (). The motion of the ASV can be inferred by the GPS velocity and compass sensors. Therefore, the true value can be estimated as .
The current sensors are mounted in fixed locations and measure scalar current velocities (). We select the component forces for () by assigning the highest measured force to and the highest of two neighboring sensor readings to . The forces are then offset by to account for the angular velocities read by the sensor as the ASV () traverses the current (). In our optimal setup, we have aligned four sensors, one offset at on each quadrant of the boat, illustrated in Figure 4. This provides the equation which we will solve using the trigonometric properties resulting from our sensor array alignment.
Once accurately aligned, the collected data were combined using a Gaussian Process (GP) mapping technique  to build a model of forces and depth. Initial modeling and correlation uses boat heading, GPS velocity of the boat, depth measurements, wind speed and direction measurements, and four current measurements as input. More formally, given a phenomenon , a GP can be used to estimate at locations with a posterior distribution fitted over noisy measurements collected by the robots at the corresponding GPS locations :
As typically done in the mainstream approach, assuming a zero-mean GP, the estimate of the phenomenon is given by the mean vector , where is the correlation between observed values and is the noise affecting the measurements . The covariance matrix is calculated as . For accuracy evaluation, we tested different K() kernels. Kernels used for this initial comparison include linear, ExpQuad, Matern
, and radial basis function (RBF), among which best performance was achieved by Matern, expressed by the following equation:
where is the Euclidean distance between and , and is a positive parameter. Using the observations and
through the optimization of hyperparameters of the GP, predictions can be obtained.
Experiments were carried out with a Jetyak equipped with the sensor suite described above in two different environments: a lake (Figure 3) in a region, relatively calm; and a river (Figure 6), where the conditions are changing over time depending on rain and planned discharges by the local hydro-electric company. Our methodology uses standard gridsearch patterns to establish a baseline for performance comparison.
We then process the collected data in two stages. First, we verify all time stamp and world orientation data by converting the PixHawk data logs to keyhole markup language (KML) for visual inspection of the missions, sequences and trajectories of the robots during the field trial. Once time stamps are verified to contain no gaps, we then process the ROS bag file by a Python script to align time stamps from each sensor, based on an approximate time synchronizer scheme666http://wiki.ros.org/message_filters/ApproximateTime. It is at this point where we can verify the integrity of the data collected. Once complete, we are able to deem our system, scripts, calculations, and data as sound for further processing. The second stage processes the data for transformations, visualizations, and GP predictions as described in the previous section.
Some preliminary experiments were completed to fine tune the PID controller parameters and to assess the effects of taking the ASV, whose controller was tuned in the lake, to the river and evaluating its performance. As shown in Figure 3(c), clearly the ASV was not able to maintain the planned trajectory.
The main set of experiments included data collection under different conditions. In particular, first, we collected wind and current measurements by tying the ASV so that is stationary. In this way, a baseline is available to compare with, when data is collected as the ASV is moving. Second, we planned different waypoint missions characterized by different patterns – i.e., parallel and, perpendicular to current patterns – to collect data from different orientations.
Initial collected data in Figure 5 reflects the resulting topographical map of the riverbed after data collection using the coverage path in Figure 6(b). Wind and current data collected from the Congaree River clearly characterizes highly dynamic currents, changing winds, and a highly variant depth – see Figure 9 for recorded wind and current measurements; and Figures 7 and 8 for the predicted wind speed and direction, and current speed and direction, respectively, over the region. Figure 9(a) illustrates successful data collection and modeling of wind forces experienced in moderately windy conditions. Our system recorded sustained winds of and gusts reaching , accurate measurements according to the local weather recording station, which recorded sustained winds of and gusts at during the 3 hour trial. Given the mostly open terrain and the effects of the shoreline on wind patterns, our measurements are in-line with the recording station.
As illustrated in Figure 9, the average actual current measured while the ASV was navigating the cross sections of the river was , compared to the docked stationary current measurement of . The challenge with surface currents is establishing the ground truth due to the high degree of fluctuation with them. In addition to the previously mentioned lab calibrations, we ensure measurements are in the correct order of magnitude at the beginning of each field trial by recording the free floating GPS velocity. In this particular field trial, we approximated the ground truth current speed to be . Due to the hull displacement, as expected, we recorded a slightly lower velocity using this free float method.
Our technical and experimental contributions in this paper have produced a baseline of inexpensive tools and methods for recording the external forces – wind and current – acting on an ASV. GP regression modeling allowed us to predict for a large area with sparse measurements collected during the experiments, as shown in Figures 7 and 8. From the beginning of this endeavor, calibration of the analog current sensors to accurately reflect surface current required continuous refinement. Lab configuration and testing provided us an initial guideline on the best sensor configuration for a static vessel. Further onfree-float and static ASV testing confirmed our measurements to be reasonable for the conditions. Currently, this system is stable for recording and observing nature’s phenomena in action.
Of particular interest in these experiments is the confirmation of the close correlation between the depth (Figure 5) and the affected current patterns in Figure 8. Verifying that our inexpensive system is able to collect and confirm US Geological Survey studies , encourages extending our research. As such, to improve the precision of predictions, our current work involves studying and analyzing different GP kernels to better emulate the short temporal livelihood of the predictions. The long-term goal is to combine all three models – i.e., current, depth, wind – into a comprehensive impact model that can be used to improve coverage and search algorithms and develop proactive controls to enable ASV operation in highly dynamic environments.
The authors would like to thank the National Science Foundation for its support (NSF 1513203). The authors are grateful to Professor Enrica Viparelli from the Civil and Environmental Engineering Department for her assistance in ground truth measurements at the Hydraulics Laboratory.
-  AFRL: Jetyak Documentation. https://afrl.cse.sc.edu/afrl/resources/JetyakWiki/index.html (2018) [Online; accessed 19 July 2018].
-  Al-Sabban, W.H., Gonzalez, L.F., Smith, R.N.: Wind-energy based path planning for unmanned aerial vehicles using Markov decision processes. In: IEEE International Conference on Robotics and automation (ICRA). (2013) 784–789
-  Buchanan, T., Somers, W.: Discharge measurements at gaging stations: U.S. Geological Survey Techniques of Water-Resources Investigations. Volume 3. USGS Online Library (1969)
-  Encarnaçao, P., Pascoal, A.: Combined trajectory tracking and path following: an application to the coordinated control of autonomous marine craft. In: IEEE Conference on Decision and Control (CDC). Volume 1., IEEE (2001) 964–969
-  Hsieh, M.A., Forgoston, E., Mather, T.W., Schwartz, I.B.: Robotic manifold tracking of coherent structures in flows. In: IEEE International Conference on Robotics and automation (ICRA). (2012) 4242–4247
-  Hsieh, M.A., Hajieghrary, H., Kularatne, D., Heckman, C.R., Forgoston, E., Schwartz, I.B., Yecko, P.A.: Small and adrift with self-control: using the environment to improve autonomy. In: Robotics Research. Springer (2018) 387–402
-  Huynh, V.T., Dunbabin, M., Smith, R.N.: Predictive motion planning for AUVs subject to strong time-varying currents and forecasting uncertainties. In: Proceedings of the IEEE International Conference on Robotics and Automation. (2015)
-  Kimball, P., et al.: The WHOI Jetyak: An autonomous surface vehicle for oceanographic research in shallow or dangerous waters. IEEE/OES Autonomous Underwater Vehicles (AUV) 10 (2014) 1–7
-  Kularatne, D., Bhattacharya, S., Hsieh, M.A.: Optimal path planning in time-varying flows using adaptive discretization. 3(1) (2018) 458–465
-  Li, A.Q., Rekleitis, I., Manjanna, S., Kakodkar, N., Hansen, J., Dudek, G., Bobadilla, L., Anderson, J., Smith, R.N.: Data correlation and comparison from multiple sensors over a coral reef with a team of heterogeneous aquatic robots. In: International Symposium of Experimental Robotics (ISER), Tokyo, Japan (Mar. 2016)
-  Mackay, R.: Ardupilot. https://github.com/ArduPilot/ardupilot_wiki/blob/master/rover/source/docs/gettit.rst (2016)
-  Manjanna, S., Li, A.Q., Smith, R.N., Rekleitis, I., Dudek, G.: Heterogeneous Multirobot System for Exploration and Strategic Water Sampling. In: IEEE International Conference on Robotics and Automation, Brisbane, Australia (May 2018) 4873–4880
-  Matos, A., Martins, A., Dias, A., Ferreira, B., Almeida, J.M., Ferreira, H., Amaral, G., Figueiredo, A., Almeida, R., Silva, F.: Multiple robot operations for maritime search and rescue in eurathlon 2015 competition. In: MTS/IEEE OCEANS 2016-Shanghai. (2016) 1–7
-  Michini, M., Hsieh, M.A., Forgoston, E., Schwartz, I.B.: Robotic tracking of coherent structures in flows. 30(3) (2014) 593–603
-  Moulton, J., Karapetyan, N., Bukhsbaum, S., McKinney, C., Malebary, S., Sophocleous, G., Quattrini Li, A., Rekleitis, I.: An autonomous surface vehicle for long term operations. In: MTS/IEEE Oceans Charleston, Charleston, SC, USA (Oct. 2018) (accepted)
-  Murphy, R.R., Dreger, K.L., Newsome, S., Rodocker, J., Steimle, E., Kimura, T., Makabe, K., Matsuno, F., Tadokoro, S., Kon, K.: Use of remotely operated marine vehicles at minamisanriku and rikuzentakata japan for disaster recovery. In: IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR). (2011) 19–25
-  Quigley, M., et al.: ROS: an open-source Robot Operating System. In: ICRA workshop on open source software. Volume 3., Kobe, Japan (2009) 5
-  Rasmussen, C.E., Williams, C.K.I.: Gaussian Processes for Machine Learning. MIT Press (2006)
-  Soman, S.S., et al.: A review of wind power and wind speed forecasting methods with different time horizons. In: North American power symposium. (2010) 1–8