Tuesday, August 4, 2020

Paddle Test Take 2

Despite the 3-D printed "paddle fail" of a couple of weeks ago, I had not given up on the idea of 3-D printing something for paddle propulsion. This time around, I made a simple rectangular paddle with a hollow tube along one edge for mounting onto the motor shaft. To test out the concept and see if a pair of paddles would generate sufficient thrust for AMOS, I used a chisel to gouge out some motor mounting holes in the old surfboard, and wired up (this time properly!) the DC motor controller to an Arduino Uno, and wrote a simple program for driving both motors at the same speed. 

It seemed like maybe it was faster than the air propeller version, although to be certain I guess I would need to program both boats for the same GPS course and race them against each other. It still remains to be seen how the paddles would fare in some of the weedy locations that the airboat frequents. This video recorded on the weekend shows the airboat version of AMOS moving through some pretty dense river grass (although the depth transducer and turbidity probe had to be pulled out of the water to minimize drag):

While AMOS was traveling through the river grass, it was also measuring the dissolved oxygen content of the water. From the few tests that I have done in the river near downtown Fredericton and out at Woolastook over the last couple of weeks, it looks like the dissolved oxygen content is dropping.  Here is the latest dissolved oxygen data from downtown Fredericton:

Dissolved oxygen content near downtown Fredericton on Aug. 02, 2020 varied from 5 mg/L (purple) to 9.1 mg/L (red). 

Unfortunately our humid weather over the last few weeks coupled with repeated testing has dissolved the construction adhesive that was bonding the foam pontoons to the aluminum plates. To remedy this, I spent about $13 for a tiny package of two-part "marine" epoxy. It is supposed to offer a bonding strength of 4000 psi, and be waterproof. So we shall see. I re-bonded the delaminated sections a few days ago, and it seems to be holding quite strongly so far!

Tuesday, July 28, 2020

AMOS: Will Work For Beer!

This past weekend I had some time to take AMOS out on the St. John River in a couple of locations to test out the new dissolved oxygen sensor. The first location was just south of the Walking Bridge in downtown Fredericton, near the West bank of the river. AMOS did a short up and down run there on Friday and Saturday:

Dissolved oxygen levels on Friday (July 24) ranged from 14.2 mg/L to 15.6 mg/L. There had been a strong thunderstorm with about 10 ml of rain, about 5 hours before the readings were taken. Rain water absorbs oxygen from the atmosphere as it falls, so that can increase oxygen levels in surface water, especially near land where the runoff flows into the river.

Dissolved oxygen levels on July 25 ranged from 12.1 mg/L to 12.9 mg/L. The water appeared slightly more cloudy, but there was no visible evidence of any algae.

Later, on the afternoon of the 25th, I took AMOS to the Kelly Creek Basin area near Woolastook. This water was more sheltered, and I wondered if algae would be more plentiful there, with an associated lower level of dissolved oxygen. Indeed, there definitely was more algae, which was noticeably visible in some shallow pockets of still water:

There was also some petroleum-based material just below the algae in this photo.

AMOS recorded more variation in dissolved oxygen here, with levels ranging between 11.1 mg/L and 15.5 mg/L:

The low-ish purple readings in the above image near the small island were near several small patches of algae, where the water was fairly shallow. I would have expected the readings in the small sheltered cove in the western edge of the above map to have had lower dissolved oxygen readings, but actually these readings were at a uniformly good level of about 13.75 mg/L. This area also happened to have a large amount of water grass and other vegetation growing in it, which probably offered a beneficial photosynthesis boost to the oxygen levels there. 

I was able to observe a number of small fish in the water, and there were a few people out fishing as well. A couple of them enjoyed paddling out to meet AMOS in the water, and were impressed that it stopped before hitting them and turned to go in a different direction. They even gave AMOS a can of beer. 😊

Tuesday, July 21, 2020


This weekend, a second attempt at writing a complete geo-message on the St. John River was made:

Due to the cloud cover that day, AMOS didn't have enough charge to complete the approximately 10 km message: "AMOS WAS HERE". The intended route was indicated in the above screenshots by the yellow path. The GPS points listed in the ship's log file are the white points at top, and the measured depth data (collected every second) appears below.

The dissolved oxygen software was coded last week, and the actual equipment arrived yesterday, so hopefully tomorrow I'll find some time to hook it up and try out the calibration routine (it can be calibrated in air to atmospheric oxygen levels). 

A few days were also devoted to working out some bugs (really just code that was never finished) for various network communications routines in the new BoatCaptain user software. 

We are also now trying to find beta test locations for AMOS. If you happen to know of anyone needing automated, geographically distributed water monitoring (preferably in Atlantic Canada), please let me know!!! 

Tuesday, July 14, 2020

Poor Printed Paddle

This evening I thought it might be cool to do a video demo for the blog of the prototype paddle that I 3-D printed. Until you actually try something, you're never really sure how it's going to go. Hope you have a good laugh:

The paddle was hinged so that it would bend freely in one direction but would be unable to bend in the other direction. In theory, this would allow a back and forth motion of the paddle to propel AMOS forward. I guess I'll need to think some more on the mechanical design of this one.

Today I also started writing some code for a new dissolved oxygen probe from Atlas Scientific. It uses an I2C interface and is fairly well documented, so it shouldn't be too hard to add. It had been on back order for about a month, but just shipped yesterday, so hopefully it will be here soon:

Other software work this week has been completed on the Boat Captain program for downloading data and log files from AMOS. 

On Friday afternoon, I did a short live demo of AMOS in downtown Fredericton. Everything worked great! Here's the track comparison image, depth data and a nice picture that AMOS took before it returned to the launching point:

Tuesday, July 7, 2020

New Distance Record

AMOS set a new single-trip distance record on the weekend, but just barely: 10.95 km. According to this blog, the previous record was 10.85 km set last year. I had a route planned for a little over 12 km, but ran into a strong headwind on the final stretch and had to leave to go home for supper. Here's a video of the boat approaching the Walking Bridge:

Lots of people in motorboats paused to inspect AMOS on its journey, but luckily no one took it. Perhaps the crazy jumble of wires coming out of the back box act as a deterrent. I should probably transfer the warning text that I made for last year's AMOS to this one.

Here's the route that AMOS took, expressed as depth data:

The new 30A dual-motor driver arrived in the mail this week and I eagerly hooked it up to try it out, but goofed and reversed the + and - 12 volt battery wires by mistake. So... I never got it working and it now seems to be a brick. A replacement is on its way, but according to Amazon it's not expected until September. I got a shipping notification today though, so hopefully it won't really take that long.

Tuesday, June 30, 2020

Zap Pow! Learning About DC Motor Inrush Current The Hard Way

Happy Canada Day! And Happy In Nature Robotics one year anniversary! 

One potential propulsion alternative that I have been considering for AMOS is the use of robotic water paddles instead of the air propeller. The air propeller requires about 60 W of power at top speed, but only provides about 1 pound of forward thrust. Going against a 20 km/hr headwind pretty much cancels that thrust out completely. But paddling with minimal exertion in my kayak is sufficient to move forward against that same wind.

One simple solution being considered was to use two DC motors to drive articulated paddle arms that locked rigidly when moved in one direction for forward thrust, and bent freely inward in the other direction to allow them to move against the flow with minimal drag. Here's a hand sketch of the motors and arms seen from the back of AMOS:

To test this out, I bought a couple of small DC garage door opener motors, rated for 12 volts, 6 A, and 2.2 foot-lbs of torque each. I also searched around on Amazon for a suitable DC motor driver and was a bit confused by what was available. Most of the drivers allowed for motion in both directions, but seemed to have mechanical switches for controlling either the direction or the speed, which wouldn't really be suitable. This led to some reading about H-bridge drivers (really just 4 simple switches) which gave me the bright idea that I could use my favourite 4-channel relay product to function as an H-bridge driver, since it was rated for up to 10 A, and up to 30 V.

Over the weekend I wired up a 4-channel relay to the motor, a 12 V lead-acid battery, an Arduino Uno microcontroller, and two small limit switches. The Uno was programmed to drive the motor continuously, reversing direction whenever one of the limit switches was pressed. 

When everything was ready, I started up the Uno only to hear a loud popping noise, with a small smoke plume, and the acrid odor of electronic failure. The motor didn't budge. Hmmm... maybe I wired something wrong? About 30 minutes of carefully checking the wiring proved this to not be the case. Hmmm... maybe there was some weird starting condition in the Uno program that resulted in too much initial current going through one of the relays? To test this hypothesis, a second (new) relay board was brought to the sacrificial altar. This time, the battery was left disconnected, the Uno program was started, and then the battery was connected. The motor shaft started spinning. I pressed one of the limit switches; it reversed direction and spun the other way. Pressed the other limit switch and it swung back. "Hey Kirsten, come check this out!", I yelled. "It's working!" Five seconds later smoke started to appear, then pop, pop! Dead again. 

At first I thought that the relay boards weren't really capable of 10 A or even 6 A operation. But I don't think this is the case. It turns out that DC motors actually have a large inrush of current for about 200 ms before they start moving and producing back EMF which limits the steady-state current going through them. This inrush current can be 2 to 3 times the specified steady-state current. So yeah, those 10 A relays weren't going to be able to handle 6 x 2 = 12 or 6 x 3 = 18 A of inrush current. Eventually I was able to locate a reasonably priced dual H-bridge driver board on Amazon that is rated up to 30 A. There is no documentation for it though, so I'll be guessing a bit at how to  wire it and use it. Hopefully no more electronics will be sacrificed! 😏

Tuesday, June 23, 2020

Don't Do Anything Stupid

My usual launching point for AMOS testing is at the entrance to Woolastook Park, where there is a small parking area. Perhaps the campground is closed because of COVID-19, because the road leading into the park has been blocked this year with a chain, and large stop signs with an additional warning on printed sheets of paper stuck to the signs: !WARNING DON'T DO ANYTHING STUPID!

Is the extra printed sign more successful at preventing stupidity (i.e. driving a vehicle around the barricade) than just  the STOP signs and chain by themselves? Or maybe it has the opposite effect, and incites rash behaviour? (I wasn't gonna do anything stupid, but now that you mention it, maybe I will!)

A lot of the things that I have tried for AMOS seem a bit stupid or absurd in retrospect, and probably would not have been tried by someone with more knowledge or experience with robotics or boats. Our garage is becoming a collection of failed equipment: broken solar panels, strange wooden structures, kayak beer cooler full of holes, kitchen strainers with the handles sawed off, numerous 3D print fails, and a slew of circuit boards and electronics that are either damaged or no longer relevant. 

Yesterday, I thought I had lost the AirProp module, as the base of it came unglued during a test, the propeller snapped off, and the module fell into the water, hanging by its electrical wires to a depth of about a foot. At the time, I was sitting in the kayak on shore, writing some code and waiting for AMOS to arrive. Eventually I realized that AMOS was no longer approaching, so I stashed the laptop and paddled out to investigate. Stupid! (Or maybe lazy?) Should have bolted the base down, and not relied on epoxy (Gorilla Glue I think) to hold it down. It had held well for almost a year, but probably all the hot weather this month loosened the bond (it can get up to about 50 °C inside the electronics boxes). The plan was to have AMOS spell out something in the water, but I guess that will have to wait for another day:

I figured the AirProp was dead for sure, so I ordered some replacement components from Amazon, After drying out the AirProp module in the hot sun for a few hours though, I tested it out and it actually worked fine! This evening I secured the base of the AirProp properly with a couple of bolts to the electronics box. 

So if there is a moral to this blog post, it would be something like: try not to do anything stupid, but don't worry about making mistakes while learning. Sometimes it all works out OK in spite of your mistakes, and sometimes it doesn't. 😀