Archive for the ‘Aerial Vehicles’ Category

Laser Cutting Airfoils – Results

Using the previously detailed calibration method, a number of airfoil profiles were cut.

FX 63-137 Library

FX 63-137 Library

In cutting the airfoils, it was the thin trailing edge that was the greatest source of error due to the thickness of the laser’s cut.  As such, the chord length was used in assessing the accuracy of the airfoil profiles.  To determine the portability of the calibration technique, a 6″ chord airfoil was cut out of 1/8″ Birch Plywood, 1/4 Pine Plywood, and counter top material.  All three materials produced airfoils with an accuracy <0.005″.

FX 63-137 cut out of counter top material

FX 63-137 cut out of counter top material

Before using the airfoils, there was some minor sanding required to clean the edges and holes for the pins that needed to be drilled out.  Using high grit sand paper for about a minute produced profiles that were ready for hot wire cutting.

sanding (Small)

1/4" Pine plywood before and after sanding

The 1/8″ birch 6″ FX 63-137 airfoil was used to make a test cut out of 60 PSI foam.  The cut was made difficult due to the lack of a positioning jig piece to go under it.  Despite this, the cut went smoothly and produced the below foam core.

cutFoam (Small)

Quick hot wire cut piece

The final foam core was then removed from the profiles.  The surface finish was smoother than it looked.  The trailing edge has a slight bow to it since there were no support jigs to support the wire as it came off the profiles.  Despite this, when measuring the chord length of the core at the edges it was measured at 6.005″.

Final foam core

Final foam core

Laser Cutting Airfoils – Calibration

Power Setting Calibration

Having generated airfoil templates previously, the next step towards creating hot-wire templates was to get them cut.  Thanks to a generous sponsorship, this was accomplished by using Techshop RDU’s  Epilog Helix 24.   For these test pieces 3/8″ Birch Plywood was used.


Test Airfoils

After a few test cuts the settings that would allow the piece to be cut after a single pass. were determined to be:

Vector: Speed 15%, Power 90%, Frequency 2000 hz

Additionally, each sample piece was labeled with the source file and dimensions by including a rasterized text.  The settings used were:

Raster:  Speed 25 % Power 80%

While the airfoils were an interesting piece to cut, the reader may clearly observe that in the above image the two six inch chord length airfoils are not the same size.  In fact, neither airfoil came out at six inches.  The smaller airfoil measured 5.8″ and the larger one measured 6.2″.

The cause of this is that while the laser’s cut is very fine, it does still have a thickness.  On the thin trailing edge of the airfoil this thickness results in a large effective change to the geometry.  To compensate for this, the cut line needs to be offset from the desired outline by a certain amount.  Determining this amount is the purpose of the calibration procedure below.

Offset Calibration

Once the settings that will be used for cutting the airfoil have been determined, the offset required may be calculated.  To do this start by cutting a rectangle.  The dimensions are arbitrary, so the actual size doesn’t matter.  During these tests, the setting used to cut the rectangle were etched into the side so they wouldn’t be lost.  After cutting, measure the width of the rectangle and the width of the rectangle’s cutout from the source material.  Subtracting these two measurements and then dividing by two then gives you the the offset to be used for that material.

The calibration can be applied to the laser template in Corel Draw during the below setup procedure.

  1. Open airfoil *.svg
  2. Move airfoil to desired (x,y) position, usually upper left corner
  3. Right-click and unlock airfoil pattern
  4. Click on line and then select all (ctrl-a)
  5. Select “Contour” option from menu
  6. Set contour size according to the calibration results
  7. Right-click and select “Break group apart”
  8. Select all the points on the new contour and set the line width to “hairline”, click apply afterwards
  9. Delete original airfoil
  10. Add label text, right-click and select “convert to curves”
  11. Print to Epilog Laser Cutter using correct settings under properties

Laser Cutting Airfoils – Templates

Using a hotwire technique to cut wings can make wing fabrication much faster and easier.  However, to do so requires that your airfoil go from being data points in a file to a physical guide.  Using a laser cutter to cut wood can make this process quicker and more accurate.  The first step, therefore, is to convert the airfoil data into a form that can be used by the laser cutter.

Sample Airfoil

Sample Airfoil

Airfoil data is nominally stored as a set of coordinates in a space delimited CSV file.  The laser cutter uses vector and raster files to control the laser.  Thus, to control the laser the airfoil coordinates simply need to be converted into a poly-line in an SVG image file.  An SVG file is actually just an XML file and, conveniently, there is a python library for creating these files.

The below code loads, formats, and then creates the polyline.

    scale = 96
    xOffset = 0.5
    yOffset = 2

    pts = ""
    line= 0
    # Read airfoil data
    spamReader = csv.reader(open(filename, 'rb'), delimiter=' ', quotechar='|', skipinitialspace="true")
    for row in spamReader:
        #Skip the first line of header information
            #Format and store in a string
            pts+= str((float(row[0])*chord+xOffset)*scale)+","+str((float(row[1])*-chord+yOffset)*scale)+"  "

    #Create a polyline using the formatted airfoil data string
    pl=oh.createPolyline(points=pts,strokewidth=0, stroke='blue')

The addition of some code to handle arguments for the airfoil’s filename and chord length and saving the data then finishes the code.  The next step will be to test the pattern on a laser cutter later this week.  The “scale” parameter is determined by Corel Draw which imports svg files at 92 pixels per inch.  The current code is included below.  This version requires the svg module at pySVG.


Sample Files:

FX 63-137 Airfoil

FX 63-137 Template

The program can easily be controlled from the command line using a statement formatted as below.  Where the chord length is defined in inches by the “-c” flag and the airfoil file location by the “-f” flag.  The program will save the output in the same directory and with the same filename as the airfoil except with a *.svg extension.

python -c 3 -f ./fx63137sm.dat

*** NOTE pySVG recently updated and is no longer compatible with this program.  A revised version will be available shortly (7/21/2011)

Vindication Vindicated

After nine months of design and fabrication, on Thursday April 7th my senior design team’s aircraft Vindication flew for the first time.  I had the joy of filming the flight and another team member put the footage together to create the video shown below.

The rapid acceleration of the launch did blow off the hatch, but since it is not flight critical the flight was continued.  Dutch roll can be observed during the flight.  It is particularly evident during low speed flight.  At just under 5 minutes, the flight concluded with a smooth landing.

Raw Footage

Parting Plane Fabrication

Once the fuselage plug has been completed it may now be used as the basis for the fabrication of the fuselage molds.  This process starts with the fabrication of a parting plane.  The parting plane, as its name implies, is used to form the plane between the two halves of the fiberglass mold.  It will only be used for creating the first half of the mold.  The second half will be laid up against the first half.

To create the parting plane a rough cut slightly smaller than the body is made with a miter saw into a plywood piece.  This is then carefully sanded down so that the fuselage plug just fits.


Rough parting plane being sanded

Once the hole is finished, the entire board is sanded, painted, sanded again, and then waxed.  Once this is complete, the parting plane should have an almost mirror-like finish to it.


Mirror finish on completed parting plane

To support the parting plane and hold the plug halfway through the hole, a sub-structure is created under the parting plane.  It is important to ensure that holes drilled will be beyond the area over which fiberglass will be laid for the mold.


Parting plane with sub-structure and plug

Fuselage Plug Fabrication

Since the beginning of the semester we have made significant strides forward in building our senior design aircraft.  This post will focus on the fabrication of the fuselage plug.  The goal is to produce the fuselage geometry such that it may be used to create molds from which the actual aircraft skins may then be manufactured.

Render of the base plug to be created.

Render of the base plug to be created.

The core of the plug was made using a combination of foam and thin plywood.  As shown below, the plywood bulkhead serve to create the profile shape of the body while the lengthwise pieces of plywood serve to keep the bulkheads positioned and aligned correctly.  Foam blocks where then glued into the spaces and cut using a hot wire bow and a steady hand.  Once cut, the bulkheads are shimmed as needed and the gaps filled with epoxy.

Early stage of plug fabrication

Early stage of plug fabrication

To create the spherical nose of the aircraft, a foam ball from a crafts store was shaved down on a sanding belt until the correct circumference was had.  This was then epoxied to the front bulkhead.  Once all the foam was in place, the remaining seams and imperfections were covered in spackle and sanded down.

Plug covered in spackel ready for sanding

Plug covered in spackel ready for sanding

Next, the wing saddle is cut out of the plug.  This wing will sit such that the leading edge and trailing edge will sit flush with the body.  The cut is accomplished by clamping a plywood profile of the bottom of the wing to the plug.  Clamps, screws, and a plywood offset piece all work to keep the profile in place.  Again the cut is completed with a hot wire bow and a steady hand.


Plug ready for wing saddle to be cut

The last remaining feature to be added was the ventilation scope.  The basic shaped was cut out of foam using a template and the hot wire bow.  This was then glue to the plug.  A mix of Capasil and epoxy were then applied along the edge and smoothed with a gloved finger to create a bevel.  After curing, Bondo was used to create a smooth transition from the rear of the scoop to the body.

Initial scoop added to plug

Initial scoop added to plug

With the plug shape complete, the plug was spackeled and sanded several times to get it as smooth as possible.  The plug was then fiberglassed and sanded.  The fiberglass plug was then touched up with Bono before once again being sanded and then spray painted.  A final wet sanding of the painted surface completed the construction of the plug.

Completed fuselage plug

Completed fuselage plug

Hot Wire Cutting Wings

For our senior design airplane we are building foam core wings.  The technique, which has been popular for years in the senior design program, involves cutting the wing shape out of foam which is subsequently encased in a composite shell.  To cut the wing shape we use a method called hot wire cutting.  As the name suggests, a heated wire is pulled along templates which melts the foam thus forming the wing.  During the process of cutting many wing shapes out of foam I have made some adjustments to the process in order to cut higher quality wings.  The process is particularly well suited to surfaces with blunt edges, but has not been tried on surfaces with taper where the technique may encounter challenges.

To cut the wings we require a number of tools and supplies:

DSCN0158 (Small)

  1. Foam cut to the planform of the wing (We use highload 60 foam and leave at least a quarter of an inch extra at the leading and trailing edges)
  2. Weights to hold the foam flat and stable
  3. Wing profile shape (We cut ours using a laser cutter, we sure to sand the edges down as smooth as possible)
  4. Bottom Edge profile with offset (Same requirements as the wing profile shape)
  5. Screws and screwdriver
  6. Hot wire bow
  7. Power Supply (We use a BK Precision 1760 Desktop power supply)

A large clear workspace is desirable for this work.  The first step of the method is to place the profile and offset piece on the end of the wing.  The offset piece serves to position the airfoil a specific distance from the edge of the foam so that it is approximately centered in the foam.  The profile piece is then screwed in.  This is done on both ends of the foam.  We sure to notes which way the profile is facing when creating left panels versus right panels.

DSCN0162 (Small)

Now place the foam on the table where you will be cutting the piece and place plenty of weight on top.  This serves to prevent the piece from moving as well as keeping it flat on the surface.   The power supply is connected to the bow via clips which are connected close to the edge of the piece to be cut.

DSCN0171 (Small)

The power supply is set to “current mode” by using the leftmost switch located below the on/off switch.  The amount of amps that you will want to set your power supply to will vary based on the type of foam and the type of wire.  For cutting highload 60 and highload 40 insulation foam 1.58 amps +-0.1 amps proved to be the most effective.

DSCN0173 (Small)

The bow is now placed in front of and parallel to the leading edge of the piece.  The power supply is then turned on.  The bow string is pulled along the top edge of the offset piece and then over the top of the profile shape.  The wire outset the power clips will be cool allowing you to work the wire, but be careful to not touch the wire between the clips or the clips themselves.  During this process it is important to keep the bow taut against the profile and pull back at a slow steady pace (<1 cm/sec).  The bow string inside the piece will lag behind the string in your hands.  Try to limit this angle to less than 10 degrees.

Once you reach the end of the piece continue to pull the bow straight out the back.  Now remove the offset piece from the foam.  Placing the bowstring in front of the piece again pull the wire through the foam slightly above the first cut.  When you reach the profile shape pull the wire down and cut the underside of the profile using the same method as the top.

DSCN0177 (Small)

Once the bowstring reaches the end of the profile continue to pull it straight out the back of the foam.  Be sure to turn off the power supply.  You can now remove the weights and pull the foam beds away from the cut piece.

DSCN0178 (Small)

This method produced better results than other methods using the same profile pieces because the foam is always cutting against the wing profile shape.  This specifically prevents the wire from slipping or otherwise unintentionally cutting deeper into the foam than intended as long as the wire is kept at the proper angle across the block.

DSCN0187 (Small)

Also, because the wire is being pulled along the same profile for both the upper and lower cuts, what you see is what you get.  This is particularly evident on the trailing edge which came out perfectly straight and uniform during this example piece.

DSCN0183 (Small)

Cmarc Body Modeling

Cmarc by Aerologic is a tool for computational fluid dynamics.  The data generated by this program can be used to determine the flight properties of an aircraft, and with additional work can help determine the stability as well.  However, defining the geometry for the aircraft without the Aerlogic Loftsman tool is a difficult task.  This is due to the need to mesh various objects together when they intersect.  As with many things there are many ways to go wrong during this process and only one way to get it right.

Of particular interest is the connection between the aircraft’s body and the wing.  For the purposes of this project the case of wing attached to the top of a cylindrical body was explored.  The wing has no dihedral at the intersection and only the bottom of the wing touches the body.  The project was built to serve as an extension to Mavl with the code described below all being contained within a new class.

The geometry of the body is defined by two text files.  The first file contains the longitudinal profile (X-Z Plane) of the body as shown below.


The second file defines the lateral profile (Y-Z Plane) of the body.  The coordinates for this experiment were defined in polar coordinates to simplify the creation of the definition file.  Because the section is assumed to be mirrored, only 180 degrees of the profile is defined.  The result is the straight line shown below.


This provides all the information needed to then extrude the lateral profile along the longitudinal profile to create the body.  The next task was to detect an intersection with the wing and alter the body accordingly.  This task must be performed at each slice that intersects.  The first section of this code flags the first point that is higher than the bottom of the wing.  Assuming the body to be a flat between any two points, the exact point of intersection can be found easily.  Knowing this, the angle between the top of the profile and the intersection can be determined.  This determines the angle at which the first point must be located.  The remaining angle is divided equally amongst the remaining points that need to be drawn (The number of points in the body profiles must remain constant along the entire body).  Because the points are equally spaced, any areas of increased resolution in the original profile will be lost.  The resulting body points are displayed in matlab as shown below with the points common to the wing shown in blue.

When the process is done correctly, Cmarc will be able to load and process the geometry.  The result can be viewed using Aerologic’s Postmarc program.  Two such views are shown below.
From the these views it can be seen that the body is being split as it goes under the wing, and then rejoins at the trailing edge.
The next step will be to apply the body’s cutout to the wing.  This will create a seamless joint between the two bodies.  There are also a two of areas in the code where the assumption of a cylinder was used to get this code to a working state.  Removing those assumptions will require a few more hours of work.
The end results is that creating a meshed body is now a process that can be completed in an hour.  A significant improvement over the days to weeks it might take otherwise.

Introducing Vindication

These last weeks have been quite a challenge with mounting school work and even a brief hospitalization (appendicitis).  Despite this my team and I have made great progress on our UAV.  The aircraft also has a name now “Vindication”.  We named the aircraft as such, because when completed. that it what the aircraft will become for all our hard work.

To address the challenge of creating a multi-configuration UAV I came up with the idea of using wing plate extensions.  However, in adding these extensions we did not want to have to readjust the center of gravity in order to maintain a static margin of 10%.  Thus the extensions are designed such that the change in neutral point due to the extensions is equal to the change in the center of gravity due to the added weight of the extensions.  This resulted in what we have been calling the “Lambda Wing” because of it’s transition from a swept wing to the straight wing.


Low Speed Configuration

There is still a long way to go.  The next step will be to model the aircraft in Cmarc which when properly completed will be considered our truth model.

High Speed Configuration

High Speed Configuration

Both of these aircraft’s models were generated using the Mavl tool.  The tool’s functionality has grown considerably since its last mention hear, but it is interesting to note the the total line count has actually stayed almost constant at 1500 lines for the last eight weeks.  The rate at which code has been compressed has very coincidentally matched the rate at which new code is being added.  The Mavl tool is now fully capable of modelling an arbitrary aircraft (including control surfaces) as well as analyzing the stability and performance of the resultant aircraft.  The analysis tools include stall and cruise speed calculations thanks to the XFoil bridge being added.  It goes without saying that the tool is also capable of classifying the eigenvalues produced by AVL to determine the flight modes of the aircraft.  There is even a tool for correlating the flight modes to the handling levels as defined in MIL-F-8785.

MAVL Progress

Since I last wrote I have made significant progress on MAVL.  The program is now producing results like that shown below.  Full AVL model generation is now possible; rudders, elevators, and control surfaces are all possible now.  The capabilities of MAVL have been expanded to create and run test cases as well as load data from files created by AVL.

In particular, MAVL can read files created by the ST and SB commands under the OPER menu as well as reading the *.eig file created from the MODE menu.  This allows the user to create models from design parameters and get immediate stability information all with out leaving matlab.  The parseEig function also classifies the eigenvalues based on their relative orders of magnitude.  This allows the user to quickly access the phugoid, short period, dutch roll, spiral mode, and roll convergence.


Return top