EK301 Truss Project
Teams were tasked with the design of a simple truss capable of supported a given load at a specified panel point via engineering analysis.
The truss must be a single, planar, simple truss.
Verify via (Members)=2*(Joints)-3
Members can only connect at their ends
Total span = 32in
Member span 8.5 in ≤ L ≤ 15 in.
The truss must be designed to support a minimum live load of 32oz
The load must be placed on a joint located at a horizontal distance of 20in away from the pin support
The total virtual cost of the truss ($10/Joint)(Number of Joints) + ($1/in)(Total length of members) ≤ $295
The project was broken out into several phases:
Characterize the materials via destructive testing
Model development & verification
Based on the constraints, it was possible to use the parametric constraint tools in AutoCAD to iterate through designs efficiently.
The origin of the drawing to the location of the pin joint. As such, rather than calculating the position of each joint, we could simply use the dimension tool.
The key assumptions used in the analysis were:
The structure is well modeled as a pin-jointed two dimensional truss.
The strength of the truss members in tension is practically infinite.
The strength of the joints is practically infinite
The dominant failure mechanism is buckling of the individual members.
The computation of each truss was split into two parts: Data collection and actual computation. The files can be found on my GitHub here.
"Truss_in" allows the user to input the locations of each joint and member to generate several arrays, including member lengths, joint positions, and the connection matrix. It then stored this data in a mat file.
"Truss_out" reads the mat file generated by "Truss_in" and computes the force on each joint by separating the system of linear force equations intro three matrices: Coefficient matrix A, Loads vector L, and Joint tensions vector T.
Since the matrix T is undefined, we can multiply both sides by the inverse of A, such that
Then, the tension matrix can be compared to the calculated buckling force (P_crit) for each member. Tension values were ignored based on our assumptions, so we only searched for compression values that were greater than or equal in magnitude to their P_crit values.
The member that reaches its critical buckling value first is considered the critical member, which is expected to be the first member to fail.
The highlighted member is the critical member
EK301 A3: Al Levine, Marina Lyons, Rajiv Ramroop
Load (oz): 44
Member Lengths (in):
Member Forces (oz):
M01: 7.674 (T)
M02: 15.353 (T)
M03: 15.697 (T)
M04: 17.407 (C) Pcrit: 30.336 Loading: 57.38%
M05: 11.763 (T)
M06: 9.722 (C) Pcrit: 10.952 Loading: 88.77%
M07: 20.026 (T)
M08: 13.340 (T)
M09: 16.705 (T)
M10: 30.178 (C) Pcrit: 30.337 Loading: 99.48%
M11: 16.783 (C) Pcrit: 30.336 Loading: 55.32%
M12: 26.701 (C) Pcrit: 30.337 Loading: 88.01%
M13: 29.848 (C) Pcrit: 30.336 Loading: 98.39%
Reaction Forces (oz):
Cost of Truss: $218
Theoretical Maximum Load (oz): 44.232
Theoretical Load/Cost Ratio (oz/$): 0.203
Truss under initial load
Overall, this project went pretty well. It was an excellent refresher in MATLAB, as well as parametric design.
The main issue we faced was building the code for computation- none of us were familiar with linear algebra at the time. With the assistance of a TA, though, we were able to build a functional program.
Ultimately, our truss failed well below its expected strength. We believe this is due to the construction of the joints. One of the assumptions in the calculations was that each joint was a perfectly-constructed pin joint, which was not the case for the prototype we tested. The duct tape holding each joint together caused misalignment of the theoretical 'pin' and subsequently imparted large moment forces on each member. As such, the members reached their critical buckling loads at a much lower live load.