Sunday, April 11, 2021

Swimming With Beavers and a Birthday Road Trip

 While AMOS Orange was being repaired last weekend, I took the foam surfboard over to a local beaver pond to test out the camera software and the new AML conductivity / temperature sensor. The hope was to have AMOS get close to the beaver lodge and snap a few pictures, while at the same time make sure that the temperature / conductivity sensor gave reasonable looking data. 

I turned on the boat, then rummaged around in my backpack to pull out the laptop and wireless transceiver. As I was doing this, I was surprised to hear the propeller whir into action; it had achieved a GPS lock sooner than expected. I set the electronics aside and then ran down to the water's edge to make sure the propeller didn't collide with a nearby concrete culvert. It didn't, but I tripped on some uneven ground, and tumbled into the water. It was only a couple of feet deep at the edge, but was deep enough to get a pretty cold soaking. 

AMOS was off, so I let it follow its programmed route while I tried to dry off a bit in the sun. Once it got close to the lodge, it unfortunately became stuck on a patch of surface ice:

so the pictures that it took of the lodge were not as "close-up" as I had hoped for:

The temperature and conductivity data seemed pretty good though:



On my birthday (April 07) I had a chance to visit Lime Kiln Cove with AMOS Orange. Steven had recently repaired the leaks in the boat, and added some layers of epoxy to give it more strength and resilience. 

I 3-D printed a bracket to fix the conductivity / temperature probe to the front of the boat, and set the software to collect data at one second intervals as the boat was following its course. The actual vs. planned course of the boat can be seen here:

The planned route is indicated with yellow lines and dots, and the actual route is given by white lines and dots. The satellite data used in this and the other images below is a few years old: the fish farms located in the southern part of the image no longer exist. A local resident who was observing this test told me that they were removed a couple of years ago.

The wind was out of the northwest that day, and tended to push the boat a bit off course near the areas where it was making 90 degree turns. The tide was a bit lower at the end of the test, and the boat became stuck around some rocks near shore as it was returning. I was able to use the remote control at that point to get it turned around and off the rocks so that it could drive itself back to the starting point. 

Some videos of the testing can be found here: 

In a couple of these you can see that the boat has some issues with stability in the presence of a cross-wind. This was an issue for the conductivity measurements at some points during the test (the spikes in the graph of conductivity vs time below):

The probe likely lifted out of the water at times, resulting in falsely low conductivity readings.

Overall though, the conductivity and temperature data looked pretty reasonable:

The repairs held up for this test, and no leaking was observed. But for most applications, I think a surfboard design would be preferable. AMOS Orange is relatively heavy and is about 3 times slower than the foam surfboard, given the same air propeller (it would probably need a stronger air propeller, or perhaps even a water propeller added). When used without a significant payload, as it was for this test, it sits fairly high above the water, making it unstable in choppy water or windy conditions. Still in some situations, it might prove useful, for example if a very large payload was required. 

Friday, March 19, 2021

The Holey Maiden Voyage

 March winds, April showers, help to bring the May flowers, but those March winds aren't great for doing AMOS tests on the open water. Nevertheless, the forecast for St. John was decent last Sunday: overcast with winds from the northwest at 17 km/h, so I packed AMOS Orange into the van, loaded on the kayak, and drove down to McLarens Beach, just a few km west of St. John. Oddly enough, there were two other kayakers already paddling out on the water, around the Irving Nature Park. They were interested in AMOS, but as I was following the robot from the kayak in a different direction, they warned me to "be careful  out there on your own, you'll die quickly if you fall in". 

Below are a couple of videos of launching the boat, and having it go in a circle close to shore, shortly after the launch. It actually kept going in circles, which I believe was the result of a bug from having the first waypoint designated for taking 10 pictures at different angles. Only one picture got taken, but the boat kept going around in circles, close to shore, so likely there is an infinite loop that will need fixing later in the software. In a way it was good for getting the videos though, because I was too nervous later on in the kayak to fumble around with my phone, and only used it while still on shore.

To get around this problem with the first photo waypoint, I pulled out the laptop and created a new set of waypoints that did not include any photos. AMOS followed these quite faithfully:

only occasionally deviating a few m from the intended course. I followed along in the kayak, but stayed close to shore, within about 50 m. With the offshore, northwest breeze there were only some slight, gentle waves, and nothing very risky, but I didn't want to risk leaving the safety of shore until AMOS's battery went low and it went into low power mode, on the return trip. I paddled out to the boat, and noticed that it was listed a bit to one side, which could only mean one thing: water intrusion. I attached the tow rope, and towed it back to the McLaren's Beach starting point. There, I tried to pick the boat up, but could only barely do it, as quite a lot of water had gotten in. By tilting the boat on its side, I was able to drain most of the water out through a small gap between the solar panel and the gasket, enough so that I could lift the boat into the back of the van and drive it back to Hanwell. 

A closer inspection at home revealed the source(s) of the water intrusion. One large hole and a second damage area on the bottom of the boat:

There were some pebbles and rocks on the beach where AMOS was launched from, and I did push and pull it in and out of the water from that beach a few times that day. 

At some point those rocks must have damaged the bottom. Steven is currently working on repairing and strengthening the bottom in order to withstand this sort of (typical) abuse. He is also working on ideas for reducing the weight of the boat, as its current speed is relatively slow: only 2.4 km/h for the sampling course in this test, vs. about 5.5 km/h for the surfboard model. Some of that slowness could likely be attributed to the extra water weight the boat was carrying though. 

In other news, the Raspberry Pi driver software for the AML Oceanographic temperature / conductivity sensor has been completed, and a test program has been written to try it out: it seems to work great! The temperature seems quite accurate and precise, and it had no trouble detecting a teaspoon of salt dumped into a few liters of water. 

The Boat Captain software has also been updated to allow the user to easily create lawnmower-style sampling grids by clicking and dragging a surface area: 

Thursday, March 11, 2021

Ready For a Water Test

 The last couple of days have been warmer than usual, so hopefully it will soon be time to try out AMOS Orange in some actual water. A more solid, stainless steel mounting post for the GPS antenna was substituted for the 3-D printed version that had been used previously, and some wiring was completed to add humidity / temperature sensors and a solar power level circuit.

For now, the interior of the boat is just filled with scrap pieces of pink insulation foam:

as a precaution in case the hull gets punctured.

The conductivity / temperature probe arrived this week from AML Oceanographic, and a software driver for capturing the data has been written already. I've also started writing a test application to try it out. It just uses a simple RS-232 serial connection, so I'll hookup a USB-RS232 to the AMOS computer for it. 

Tuesday, February 23, 2021

AMOS Orange

It was an exciting day yesterday, as Steven delivered the newly built AMOS hull:

The orange color is really vibrant, which should make the boat easily visible from a distance on the water. It weighs about 30 lbs, so heavier than a surfboard platform, but the interior has plenty of room for batteries and other equipment, which should provide it with plenty of endurance and measurement flexibility. 

In other news, we now have a distributor in New Zealand, Australia, and the Pacific Islands. The Stream Ltd. ( has signed on as our new distributor on the other side of the planet. They are an environmental services company, specializing in river, coastal, and watershed monitoring.

And lastly, the AMOS Board Kit can now be found on RobotShop's Canadian and US websites ( (Product photos provided by Moments By Kassie: 

We're always trying to spread the word about AMOS; if you have any good ideas, or would like to help out, please contact us!

Monday, February 15, 2021

The Next One

 Just got some exciting news this evening: the new hull for AMOS 4.0 will soon be ready! Mostly just some painting left to complete. Here are some pictures that Steven (the designer and builder) sent about an hour ago: 

This version will have loads of room for extra batteries, sensors, or other equipment. And it's super-bright orange! So it should be nice and easy to spot from afar.

Work is underway to arrange for some monitoring projects for AMOS for this year once things get a bit warmer. If you have a need for automated monitoring in a lake, river, or coastal area please let me know ( AMOS excels in shallow areas with grass and other vegetation where traditional propeller driven boats tend to get stuck. 

Tuesday, January 26, 2021

AMOS Servers and Correction Data

Over the past couple of weeks some good improvements were made to the internal communications software running on AMOS. When using the network / Internet communications mode, the previous method of communications relied upon running a server with a fixed IP address to act as a communications broker between AMOS and the host computer or phone that was being used to control the boat and view data. The server used some software that I had written called "BoatServer" and it just ran on an available Windows computer here at In Nature Robotics HQ (i.e. my basement). It required setting up the WiFi router to forward network traffic on a particular port to that computer, and also required both the host device and AMOS knowing what IP address our Internet service provider had assigned to the house. From time to time this address would change, perhaps once every few weeks. The solution was reliable most of the time, except when it wasn't. And when it wasn't, it would sometimes mean that either AMOS or the host device was unable to talk to the BoatServer software until the BoatServer software was forcibly closed and restarted. 

For a while I had been considering going back to the original simple network communications approach that I had started with a couple of years ago: running a TCP server directly on AMOS. This always worked quite well over the home WiFi network, but did not work at all when using the hotspot device on AMOS to get a cellular 4G connection to the Internet. Incoming server connections were not supported over the 4G connection. At least not directly. One possible solution was to make use of the service that I had used previously for controlling the boat over a PuTTY connection. Unfortunately though, this service seemed to have grown a bit in complexity since I used it last 2 years ago, and I was unable to follow their instructions for installing it on the Raspbian operating system that AMOS uses. So I tried switching to ngrok ( instead, which thankfully worked great and was quite simple to install, allowing me to setup fixed IP addresses and ports for a PuTTY connection and a general TCP network / data connection for communicating between AMOS and the host device software. 

This new reliable mode of network communication was used to include RTK correction data from an RTK base antenna (once again setup on the playhouse roof). An FTDI USB-serial converter was used to receive the RTK correction data at the PC and transmit it to AMOS over the regular data / command link. At AMOS, the RTK data was extracted from the incoming commands and data and sent over a second USB-serial converter to the GPS receiver board, where it was used to apply corrections to AMOS's GPS position. The software running on AMOS was also slightly modified to output a GPS status number which was just 0, 1, or 2 depending on whether no GPS data was available, regular GPS data was available, or RTK-corrected GPS data was available. This was tested out in cold, windy weather this past weekend with pretty good results:

The above screenshot came from the map which was directly uploaded from BoatCaptain to ArcGIS. I'll try to embed the map below:

If the above map does not work, then this link will go directly to the ArcGIS web map:
I tried to position the boat next to known geographical landmarks: our fence, the corner of the driveway, the mailbox, a telephone pole, etc. At first, AMOS was consistently appearing about 2.5 m northwest of these real-world landmarks, until I realized that the base station position being used (it self-surveyed for about half an hour to find its own base position) was also off by about 2.5 m to the northwest. The GPS software had an option to key in your own latitude, longitude, and elevation. I was unsure of the elevation, so just used the self-surveyed result, but fine-tuning the latitude and longitude to the correct point on the playhouse roof resulted in very accurate AMOS positions, I believe to within 10's of cm of the actual location.
There have been some recent developments occurring in the workshop of Steven Fox. Check out these construction photos of the latest AMOS hull:

Saturday, January 9, 2021

Improved Magnetometer Calibration

Much of this new year has been spent working on improving the calibration of AMOS's magnetometers. The calibration jig discussed in the last blog entry has been completed and tested out, and seemed to work pretty well! Next up was an apparatus for performing a simple temperature calibration of the magnetometer sensors. To keep the temperature calibrator as simple as possible, it was decided to just put a small heater and fan into a small box with the device under test, and have everything hooked up to the Raspberry Pi on AMOS. Fortunately I had nearly all of the required parts already on hand: a spare heater cartridge from the 3D printer, an old heatsink and 12 V fan from a decades-ago junked desktop PC (never throw anything out, you might need it someday!!! 😜), an electronics enclosure box that had previously been embedded in the failed foam hull (see, a DC-DC converter, and a 4-port relay (with just one fried port from the previous paddle experiments:  I did need to buy a 24 V supply though to power the heater. 

Here's a pic of the interior of the temperature calibration box once it was all put together:

A simple bracket was 3D-printed to hold the PC fan and heat sink securely in place. Calibrating with this box requires chilling it for a while down to some minimum temperature, and then turning it on and letting the Pi collect data from the device under test (i.e. the magnetometer sensors). Fortunately the weather is pretty cold at this time of year, so I just did the temperature calibration outside:

The heater was powerful enough to heat up the interior from about -2 deg C up to about 37 deg C. Good enough I think to get some pretty decent linear calibrations on the magnetometer sensors:

The code on AMOS has been updated to include linear temperature calibrations for the magnetometers, so hopefully tomorrow I'll try it out in the house and then in the backyard to make sure that it's working.