Press "Enter" to skip to content

Tag: AUV

Some Minor Progress…

Just a minor progress update. I’ve been adjusting the CAD design and working on some additional parts. A snapshot below….

AUV design snapshot, January 2017. Cutouts for the imaging sonars are visible. These will probably change…

I also finished grooving the prototype bulkhead ring. It wasn’t super easy, and I’ll need to experiment with feeds and speed some more to get nicer cuts. I’ve also had a plastic order come in, so I’ve done a test fit of the bulkhead into an extra piece of acrylic tube. It’s a tight,  but good fit! I just need to machine the remaining bulkheads and anodize them before I start pressure testing.

Test fitting a bulkhead into an acrylic tube.

I’ve also been working away on the nosecone plug — Adding layers, then machining it down to get it smooth — Once it’s in the right shape, I’ll manually sand it smooth and start the process of sealing with epoxy. This is a pretty messy operation, as the spackle turns to dust, so I typically do the machining with the vacuum hose right beside to suck it all up.

In the photo below, you’ll also notice the standoff I made to mount the toolposts higher in order to machine large diameter parts — Here I’ve got two spacers mounted to get over 6″ swing over the bed with the Sherline lathe. Since it’s a very soft material, I think it’s okay, but this would be quite non-ideal for machining anything harder. (To do the outside of the bulkhead rings, I just mount a single spacer and use the smaller toolpost. Still not as rigid as I’d like, but it’ll do for this small job. I do wish I had room for a bigger machine, though…)

Turning the nosecone plug. The toolpost is mounted on a special standoff I made to turn large diameter parts.
Leave a Comment

Rudder Simulations

While designing the thrust/steering module for the AUV, I figured I should determine how much torque the rudder will require (for motor selection) and what forces it will result (for eventual control development). The rudder itself is a fairly simple plane with an airfoil type profile, with the rotational axis a quarter of the way from the front to the rear, making it what’s known as a balanced rudder. More on this later.

Balanced Rudder

I set up an Open Foam case to calculate the forces and torque, and made a script to run it through 0 to 50-degree steering in 5-degree increments. I opted to just use an isolated rudder for the initial tests, although in reality there will be interaction between the body and the rudder, especially since the rudders will be located in the region where flow is beginning to separate from the AUV hull. Note that in earlier CAD models, I had shown the rudder being only a portion of a fin — in order to simplify things, and balance the rudder, I opted to make the rudder consist of the entire fin.

The simulated results I got are shown in the chart below. I only ran simulations up to 2 m/s, as I don’t expect the AUV to go much faster than that operationally.

Rudder torque vs deflection angle, with rudder rotational axis 25% back from leading edge of mean chord

Although there appears to be an outlier at 30 degrees deflection (Either due to some real hydrodynamic effect or errors in the simulation), this result is actually what’s expected for a balanced (or partially balanced) rudder. If the rotational axis was at the front edge of the rudder, all the forces would be acting on one side of the rotational axis which would result in significant torque requirements to move the rudder. By locating the pivot point near the rudder foil’s center of pressure, the forces in front of and behind the rotational axis negate each other resulting in reduced torque requirements.

With the balanced rudder, the forces start off minimal while the flow is laminar. Once the rudder’s foil begins to stall, the torque will actually invert and go the other direction. To illustrate this, some renderings of the results from Open Foam are shown below. Note that the streamline colours represent particle velocity, but the colour scales are slightly different between all images.


10-Degree deflection. Flow is laminar.

In the first case above, with 10 degrees deflection, the flow is still smooth around the rudder’s foil. While the torque value at this point is very low (hence why it’s “balanced”), using the right-hand rule to interpret the torque around the Z-axis, it appears that the torque is actually wanting the rudder to keep deflecting!

20-Degree deflection. Flow is starting to separate.

At 20-degrees separation, per the plotted results, the rudder foil is around the stall point. At this point, the torque around the rotational axis is neutral. Any further deflection wants to push the rudder back towards the forward position.

40-Degree deflection. The rudder is stalled. Note the turbulence behind.

Throwing the rudder even further, to 40-degrees, we can see that it’s now clearly stalled. You can see the turbulent flow behind the rudder. The streamlines make for a really cool graphic!

For curiosity’s sake, I ran a couple of extra simulations, varying the location of the rudder’s pivot axis 4mm forward and 4mm back from the 1/4 chord position (this turned out to be 6.6% of the mean chord). A plot of the results below. I still have some optimization to do in terms of rudder profile and mounting point, but these give me a good order of magnitude understanding of the rudder torque for initial design work.

Varying the location of the rudder’s rotational axis effects the torque.

In terms of motors to drive the rudders, I’m currently planning a geared down brushless motors, as I want to have fairly fine and smooth control over the mechanism (reduce noise, vibrations, improve fine control over hobby servos).

Leave a Comment

Universal Bulkhead Ring Part 2

I’ve been bounding around design and work on some different parts of the AUV but had been meaning to get back to working on the bulkhead ring prototypes. I’ve made some tweaks to the design, mostly so that I can mount internal components directly to the inside of the ring, necessitating the creation of some flat spots on the inner surface, where I can drill and tap mounting holes. These should be fairly easy to cut out on the mill when doing the finishing drill steps.

Universal Bulkhead Ring

I had some time today to sit down and make some progress on the machining and managed to get most of the lathe work done, minus the external grooves which will seal up against the body tube. For the most part, things went well, although I made a fairly stupid mistake and zeroed off the wrong side of the grooving bit when cutting the face grooves — Luckily, not all the rings will need seals and o-rings, so I can put this one into a “wet” compartment where that mistake won’t matter.

Inside Turning large parts on the Sherline

One frustrating battle I did have to fight, however, was with chatter. I had significant chatter on the external turning operation. I think I’ve tracked that down (a little too late) to one of the gibs in the slide, so will need to tweak that before spinning anything more.

One tricky part about the setup is that the part needs to be flipped part way through. To make sure that everything is lined up, I had to place a dial indicator behind the part and very carefully adjust it in the chuck to make sure that I had very little runout. In the end, I got about 2-3 thou peak-to-peak deviation at 2.7″ radius. Not too shabby, and good enough for my purposes.

Aligning the part after flipping, using a dial test indicator on the back face

All in all, however, the g-code works well, and future rings should be much faster/smoother to machine. I ended up settling on a feed speed of 145mm/min and 0.1mm depth of cut with the mill’s motor geared down (~1400rpm with carbide tooling, so a very fast surface speed). I wouldn’t push the machine any harder than this at these large diameters (~5″), especially since the chucking method isn’t super secure, and subject to going out of alignment relatively easily. I suspect I’m feeding too fast with too light of a cut, so on the next ring I’ll experiment with deeper cuts and slower feeds to see if I can improve the chatter/finish/headaches. — Disclaimer: Do not take any of this as good advice. I’m not an expert machinist! This a very non-ideal method for clamping large parts on a small lathe, and can be dangerous if not secured properly. 

Next steps will be to finish this part, and work on the next batch. I’ll need about 8 with my current design, so it may take a bit of time to get them all done…

Universal Ring Progress! Most of the cutting is done at this point.
Leave a Comment

Fiberglass Nosecone Part 1 – Making a Plug

The AUV’s nosecone will be a free-flooded chamber but needs hold its form for hydrodynamic purposes. I had originally planned to make the nose cone have a spherical form at the front with a radius something smaller than the AUV’s diameter, then blending into the body. The purpose of that was to eventually be able to put a phased-array forward-looking sonar in the nose for mapping and obstacle avoidance, and the spherical form looking forward would reduce the refractive effects of the water-fiberglass-water transition.

However, given the magnitude of the scope of building an AUV and a side looking Synthetic Aperture Sonar, any kind of additional forward-looking sonar would be so far down the road that I opted for a simpler, more hydrodynamic and more aesthetically pleasing elliptical nose-cone form instead.


AUV Nosecone CAD

The first step in making the nose cone was to build a plug, to be used to make a mold. Using 0.75″ blue insulation foam, I cut out profiles using the CNC machine. The profiles were slightly oversized to compensate for any slop in the assembly and cutting, with the excess to be sanded down to the correct dimensions.

CNC Cut profiles, for the Nosecone Plug Stackup.

The pieces were then glued together, onto a wooden dowel which served to keep everything aligned and to give something for the lathe chuck to bit onto. To keep things tight, I used the mill itself to act as a “clamp”. The joy of working with foam is that you can get away with doing things you shouldn’t do with harder materials…

The plug profiles glued together and mounted on the mill to act as a vice. This is the same configuration I used to turn the part.

I cut out another profile, and lined the inside with sandpaper — This was used to help sand the foam to the right shape. Once in the spackle stage, the form was used to help evenly spread the spackle. It would have been better to use a more rigid material for the form, like wood, but I didn’t have any kicking around, so opted to work with what I had.

Sanding Form for the Nosecone with my CAM software running in a virtual machine in the background.

The first sanding step was to sand the foam past the target dimensions, and then build up a layer of spackling filler – The spackling will help give a smoother, stronger finish than is achievable with foam, which is essential for a good fiberglass mold, and hydrodynamic surface. I used quick-dry spackle to speed up working time, although since it off-gases quite a bit as it dries, I had to use it outside and the cold weather slowed the dry time back down to a crawl. The quick-dry spackle does shrink somewhat as it dries, causing cracking in thick layers, but that’s okay as the cracks are filled in over subsequent, finer applications.

Nosecone Plug after initial sanding and two layers of spackle, ready for a spin on the lathe. (LinuxCNC with test program in the background)

Once a decent layer of spackle was built up over top of the foam, I used the CNC lathe to bring the plug to the correct dimensions and symmetry. To create the G-Code, I used e-Cam running in my Windows VM. Since I didn’t have to rough away all the material from a full cylinder, I created a DXF file with offset profiles from the final shape, starting at 0.25mm and building up to 1mm steps. Importing these, I created a series of “finishing” profiles, which resulted in tracing the final lines.

Generating the G-Code to finalize the nosecone shape.

Normally the Sherline lathe can’t handle very large diameters, but using riser blocks and some custom made tool risers (Another thing I worked on over the break, which I’ll need to finish other AUV parts) I managed to swing the large diameter part. Luckily, the plaster is relatively soft and easy to work with. I’ve run it through the CNC program once, and then added some extra plaster to fill in some gaps where it wasn’t thick enough and will run it through again once that’s dry.

Next steps will be to seal the surface with epoxy resin, polish smooth and wax to perfection — The more time spent working on the plug, the better the end result will be. Since I don’t have a suitable indoor workshop for curing resin (fumes), I’ll need to use a resin formulated to cure at temperatures near freezing so that I can do the epoxy/fiberglass work on the patio. Winter in my neck of the woods is more akin to spring in the rest of Canada and doesn’t go below freezing very often. Unfortunately, this year winter has been a bit colder than usual, so it may be a while before it warms up enough for fiberglass work…

Otherwise, AUV design is slowly progressing. I’ve been taking some more test cuts and refining the CNC programs to generate the universal rings. I’ve been putting more thought into the electronics and control of the AUV, but will leave that as a topic for a future post.

Leave a Comment

AUV Thrust Module Design Progress

A quick update on some design work I’ve been picking away at recently. I’ve managed to roughly place all the parts for the drivetrain in the thrust module and started work on the control fin motor/gear layout. Still all subject to change, but it looks like I’ll be able to fit everything I need in the tail cone.

Cut-away view of the work in progress AUV propulsion module.
Cut-away view of the work in progress AUV propulsion module.

Next step of this design is to figure how to seal the control surface shafts. Ideally, those will be magnetic couplers as well, but I have to analyze how much torque will be required, and how much I can transmit with a small magnetic coupler. Failing that, I’ll design it to use Ikelite glands — I have an Ikelite camera case which uses these, and the performance seems good.

I found a source for BLDC gear motors that run off 24 volts and aren’t insanely expensive, which I’m hoping to use for the control surfaces. Standard hobby servos run of much lower voltages, and I was hoping to implement my own control scheme for the motors — More on that later, as I’ve ordered one motor to test out to verify it will actually be suitable.

Leave a Comment

AUV Bulkhead Rings

One of the goals I’ve had for most of my AUV project was to make it as modular as possible, which would allow future upgrades and change of mission in the future — Want to take video? Swap out the sonar with a video module. Need better control in the water column for inspecting things? Add lateral thruster modules. Want to take water quality samples? Swap out the sonar module for a water quality sensor module… And the list goes on.

To achieve this, years ago I came up with an idea for a universal bulkhead design, which would allow each module to plug into any other, provided that the electrical interfaces matched through the bulkheads. The design would also allow mix-and-matching of flooded and non-flooded compartments, depending on the payload and mission configuration.

AUV Universal Bulkhead Ring with o-rings

The design is fairly simple, each bulkhead essentially consists of two identical rings with a flat plate bulkhead sandwiched in between them. The bulkheads are screwed together and O-rings keep everything sealed up nice and tight. The compartment tubes are held into place by a series of radial screws (not properly shown in the photo above) which don’t clamp down on the tube (causing stress points in the material) but rather act as pins to prevent the tube from sliding out.

One of the challenged was getting the design to play nicely with standard cast acrylic tubing, with its loose tolerances. This necessitates usage of large diameter o-rings to make up for the variance in tube diameters. One option could have been to machine the acrylic tube’s inside diameter to appropriate tolerance, but I decided that the difficulty of doing so with the tools available to me outweighed the convenience of using stock cast acrylic profiles.


AUV Universal Bulkhead Assembly
AUV Universal Bulkhead Assembly
Leave a Comment

Doppler Velocity Log Acoustic Windows

Although I haven’t posted anything in the past month, I have been working away at the AUV here and there between work and some much-needed vacation. I’m making some decent progress in design and setting up for manufacture. A couple of the big things I’m working on are some detailed design work on an acoustic modem, and putting some finishing touches on my CNC machines to start building some of the mechanical components for this project. I’ll post an update on those topics when I have some more substantial progress.

In the meantime, I was digging for some files and came across some earlier CFD results, specifically pertaining to the Doppler Velocity Log (DVL) and the flow of water around it. A DVL works by sending sonar pulses out at multiple off-nadir angles and measuring the doppler shift in the return signal. If the AUV is stationary, there is no Doppler shift, but if there is motion a Doppler shift is induced which can be measured to determine the motion of the AUV underwater in lieu of not being able to get a GPS lock.

Water flow around the DVL Pockets.
Water flow around the DVL Pockets.

Due to the relatively small diameter of the AUV, and the size of the DVL transducers, they needed to be pocketed in the hull. I ran some simulations to determine the way water would flow, and as expected there is some recirculation induced by the pockets. This not only adds drag but potentially increases flow noise on the transducer itself.

As such, I’ve modified the design slightly and will attempt to put a LDPE window to hopefully improve the flow. LDPE is a type of plastic which has an acoustic impedance fairly close to water, so should be mostly transparent to the sonar wave. Modeling the shape proved an interesting challenge, but haveing done so will enable to me to fairly easily cut out the shape from flat sheet using the CNC.

DVL Acoustic Windows (Bottom left transducer cavity exposed)
DVL Acoustic Windows (Bottom left transducer cavity exposed)

Hopefully, some more updates will be forthcoming in the next couple of weeks!

Leave a Comment

Thrust Module and Environmental Sealing

Preliminary Thrust Module
Preliminary Thrust Module Design

Given the drag results from the CFD analysis, it became possible to begin more rigorous design work on the thrust module, namely to create detailed propeller designs, motor selection and coupling the two. I’ve done some preliminary propeller analysis using JavaProp and have been fiddling with OpenProp to get an idea of the efficiency and rpm of various propeller designs to meet the thrust requirements – Those parameters are sufficient for estimating the sustained torque on the motor. Given sustained torque and rpm, it became easier to size the motor required to drive the AUV at its design points.

One of the tradeoffs made in the AUV design is how to seal the motor from the external environment. Several options were considered, including traditional pump shaft seals, magnetic coupling, and simply running a brushless motor exposed to the elements. All are valid options depending upon the goals of one’s project, but ultimately I settled on using magnetic coupling for a number of key reasons:


  • Completely sealed from the external environment, with a lower probability of leakage than a rotary shaft seal. This is a bonus if pressure compensation is needed (e.g. oil filling), as that reduces the probability of environmental contamination
  • Likely no need for pressure compensation at design depth. (Depending upon isolation can design)
  • Acts as a clutch to save the drivetrain from excess torque and stalling
  • No friction losses as with shaft seal
  • Motor is protected from corrosion in ambient environment


  • More complicated design
  • Requires precision machining for precise alignment to avoid strong magnetic forces perpendicular to the shaft (the inside magnetic ring essentially sits in an unstable null)
  • Potential eddy-current losses in the surrounding structure and the isolation can if made of metal.
  • Motor needs to be cooled to ambient environment (easy)
AUV Parts _ Magnetic Coupler
Simplified Magnetic Coupler — Isolation can in dark grey, outer ring in dark blue, inner ring in burgundy.

One challenge is designing the isolation can, illustrated in dark grey above. This is the component that isolates the external environment from the internal. The isolation can needs to be as thin as possible, yet as strong as possible to support the pressures acting upon it. Metal seems to be a natural choice, but the rotating magnets will induce eddy currents resulting in reduced efficiency. I’d like to avoid this if possible. I’m thinking of using an engineering plastic such as acetal with an internal pressure design, as analysis indicates that it will stand up to the required pressures without needing pressure compensation.

Past experience with machining thin wall features in acetal indicates that I need to approach this with caution. The extrusion process used to create the stock plastic rods I buy causes a significant amount of stress within the acetal which can cause warping during machining. I will attempt to anneal the acetal prior to machining to see if that will help. Another option I’m considering is casting the isolation can with rigid polyurethane, epoxy or fiberglass composite.

Knowing the torque limits of the drivetrain, and the torque requirements of the propeller, I carried out some analysis on coupler designs using the Finite Element Magnetic Methods (FEMM) software package. The great thing about this software is that I can import DXF files straight from CAD, so I can design, simulate, tweak and update and re-simulate, allowing me to experiment with several design permutations.

2D Simulation of Magnetic Coupler, rotated to point of maximum torque,
2D Simulation of Magnetic Coupler, rotated to point of maximum torque

The rough configuration I’m considering is shown in the simulation results above. The magnets are arranged in an alternating north-south configuration (i.e. each magnet is polarized opposite to its neighbour). This was done so that as the delta angle between the inside and outside increases  with applied torque, the opposite polarized adjacent magnet would provide a repelling force, preventing free rotation. I ran through a series of different angles, and the peak torque occurred when the delta angle between the inner and outer elements was half the angular separation of the magnets. (22.5 degrees for magnets spaced at 45 degrees). The chart below shows the resulting torque vs angle curve for a similar design to that depicted above


Another key parameter is that the outside of the outer ring should be magnetic steel. As shown in the simulation, this keeps the magnetic field contained (which should reduce eddy currents in the aluminum tail cone) and actually increases torque in the coupler

Some final tweaks need to be made to the design to match the peak torque of the coupler to that of the motor and gears — As long as the coupler torque is higher than the propulsion service torque and below the max torque of the motor/gears, it should act as failsafe clutch.

With the rough size of the coupler set, now I can put some more effort into designing the rest of the thruster module, to see how I can fit everything I need inside of it — The main motor, the 4x rudder motors and drive electronics.

Leave a Comment

Autonomous Underwater Vehicle Intro

Being an avid scuba diver, I’ve wanted to build a sonar to find things to dive on, as well as to document local dive sites, wrecks and reefs. Although side-scan would be the quicker and easier way to achieve this goal, I have set my sights on a Synthetic Aperture Sonar (SAS). The trick? I need to have some sort of stable platform to mount the sonar — And hence my Autonomous Underwater Vehicle (AUV) project. (In case anyone’s curious, I don’t have a boat, and boats aren’t typically stable enough for high-resolution SAS anyways, so it would require some sort of actively stabilized towfish anyways)

I’ve been thinking about, researching and doing some initial design work on this project for years but have been designing in earnest as of late and I finally am in a place where I can start working towards making this project a reality. This blog will jump into the middle of things, as there’s already so much work done that has gotten me to this stage. The main purpose of documenting it here is mainly as a record for myself, but if someone finds it interesting, that’s also great!

Some of the very high-level requirements I’ve set for this project:

Sonar resolution of better than 10cm in azimuth and range. (Goal: Better than 4cm)

The goal is driven by the physics of the design (transmitter dimensions and system bandwidth), but the actual requirement is loosened off due to some of the other challenges with forming SAS images.

A drawback to real aperture sonar such as side scan is that the azimuth resolution drops off with range, so even if this resolution is achievable at close ranges with a side scan, it is not possible across the entire range. With SAS, this resolution can be maintained across the entire image.

Sonar imaging range of at least 50 meters per side (Goal: 100 meters)

Driven by area mapping rate/speed and transmit power tradeoffs, as well as issues raised by the following requirement. Not too much else to say about this yet, other than it’s still in the trade space as I design the sonar. This may become configurable with different beam modes if I end up using a phased array transmitter.

Sonar imaging minimum depth/altitude of TBD meters

This is a challenging requirement to define, as shallow operation of sonar is very tough. Ideally, I’d set the minimums to something on the order of 10/5 meters, respectively, but I haven’t done enough analysis on the sonar yet to know if that’s achievable. This requirement will be refined as time goes on, so for now, the goal is “as shallow as possible”

AUV cruise velocity of up to 2 m/s through the water. Maximum mapping velocity of 1.5 m/s over ground

2 m/s should be enough to get through mild currents (while maintaining 1.5 m/s over ground). The flip side of this is that the propulsion design will need to have enough instantaneous thrust to keep the speed stable in spite of any environmental effects such as surge.

The 1.5 m/s stems from the preliminary sonar design and range requirements. The trade is between the sonar receive array length, range, and velocity. As previously stated, I may opt for configurable modes using a slower speed to achieve greater range.

AUV operational depth of 100 meters sea water.  (Goal: 500 meters)

This is a nice round number, which some of the affordable design choices and material/component selections work well for. It’s also deeper than I’ll probably ever go in my scuba diving career, so even if I found something below that with the sonar, I wouldn’t be able to get to it!

The goal is very loose, would require upgrades (e.g. aluminum body sections as opposed to acrylic, better connectors, pressure compensation of the thruster, etc). The as-built design won’t meet the goal, but will be designed such that if I want to go down the upgrade route in the future, I wouldn’t have to start from scratch.

Likewise, the 100 meters won’t be the calculated buckling limit, but rather will have a very healthy safety margin attached to it — Basically it could go deeper, but gets riskier with any material/manufacturing imperfections causing failure.

2-way communications range of 1km

Both surface (RF) and subsurface (acoustic). Being a comms guy, this will be fun. I’ll probably use a COTS radio for surface communications as only a basic line-of-site datalink is needed, but the acoustic modem should be a fun challenge due to the strong multi-pathing. I’m tentatively aiming for at least 9.6 kbps rate communications, but will scale up as the component selections (transducer bandwidth, mainly) allows.

Modular Design

This is perhaps a poorly written requirement, but the aim is to make the AUV modular so that payloads can be swapped in and out. Potential future ideas are a camera payload, sensor payloads, translational thruster modules, etc. Once the basic requirements are met, I can expand to my heart’s content.

From those requirements, many other lower level requirements will come out, e.g. autonomous operations, mission duration, sonar frequencies, etc, etc. Many will flow out of the high level design process as I research and keep designing.

Ultimately, this is going to be a project that demands a lot of my limited free time, so the project may never get completed as time and resources limit how much I can do. The biggest requirement I’ve levied on myself is that I learn from this project — For my hobbies, the fun is in the journey, not just the destination.


Leave a Comment