Skip to content

Commit

Permalink
meche blogs
Browse files Browse the repository at this point in the history
  • Loading branch information
shi-amy committed Jan 26, 2025
1 parent b4c11fa commit 89f8b6b
Show file tree
Hide file tree
Showing 15 changed files with 97 additions and 90 deletions.
52 changes: 36 additions & 16 deletions Blogs/MechE/eebox.html
Original file line number Diff line number Diff line change
Expand Up @@ -124,26 +124,46 @@ <h2 class="entry-title">
</div> -->
<div class="entry-content">
<p>
One of the first tasks our team worked on was buoy
detection. Most of the navigation courses in Roboboat
require us to identify buoys and then figure out how to
navigate them. Using a ZED camera, we developed the
following algorithmic steps to properly identify buoys
on the course:
The purpose of a custom electronics box is to provide a lightweight, accessible, easily modifiable, cool (temperature-wise), splash-proof housing for Fish ‘N Ships’ electrical components.
</p>
<p>Performs erosion with a segmentation kernel</p>
<p>
Performs dilation with the same segementation kernel
<p><i>Design 1:</i></p>
<p style="text-indent: 50px;">The initial design of the EE box focused on accessibility, modularity, and thermals. It consisted of an ⅛”
aluminum base, ⅛” acrylic walls, removable faceplates, a large “land” lid, and smaller “water” lids. This version of the box condensed the boat’s
sensors and electronics into a single sub-assembly--i.e., its “brains”--that could be removed and tested independent of the hulls. The electronics
were designed to mount to slightly elevated acrylic pegboards (elevated for subterranean wire management). Thermals were managed passively by aluminum
“sleeves” that wrapped completely around the hulls and made direct contact with the box’s aluminum base. Overall footprint was roughly 32”x16”x6.5”
(not counting the height of the sensor mast).
</p>
<p>Converts the image to HSV</p>
<p>
Gets the mask for each color range we are looking
at(red, green, yellow)
<img src="../../Pictures/Blogs/eebox1.png" style="display: block; margin-left: auto; margin-right: auto;width: fit-content;">
<p style="text-indent: 50px;">The second iteration of the box was driven by a single design requirement the first design failed to meet: weight.
The original design weighed ~13 lbs, roughly 12% of the team’s weight budget at the time. This egress prompted a spirited discussion of the
necessity of a custom EE box--off the shelf options are cheaper, require less manpower (from the team at least), are rated to depths well
beyond the design requirements of the box, and commonly used by RoboBoat teams. Modifying such boxes--while inelegant--is neither costly
nor difficult, though it does make the box’s original pressure rating irrelevant. The question thus became: can we manufacture a box that
offers a better weight to volume ratio than the leading alternative? And would it be worth the cost? We decided there was a high probability
we could--and that the cost was more than justified by the learning experience.
</p>
<p>
Generates a bounding box for each disjoint blob in the
color range mask
<p><i>Design 2:</i></p>
<p style="text-indent: 50px;">Design two features the elevated peg boards and removable faceplates of the first design, only this time they’re
compressed into a footprint roughly a third the size (12”x16”x8”). To account for this compressed footprint the pegboards were elevated ~4” off
the base (enough room to rotate the average human hand comfortably)--opening up a second layer for mounting components. The focus on weight reduction
meant the old aluminum base with its heat finned cooling system was a non starter.. Fabric--engineered by a fashion industry focused on breathability,
water resistance, and weight--was the obvious replacement. The new box was constructed almost entirely out of an ⅛” plywood frame, and the lid draped
in PolyUrethane Laminate--a lightweight, durable, water resistant cloth commonly used for DIY diapers. Finally, fans, protected by 3D printed shrouds,
were added for increased airflow.
</p>
<img src="../../Pictures/Blogs/eebox2.png" style="display: block; margin-left: auto; margin-right: auto;width: fit-content;">
<p><i>Current Design:</i></p>
<p style="text-indent: 50px;">The current design retains many of the core innovations of the previous two--including the elevated peg boards,
fabric lid, and removable faceplates. The primary driver of this iteration was usability feedback from the EE team: a self locating pin was added
to make aligning the lid easier when latching the box shut and to prevent water from pooling during rainy tests; the number of mounting screws per
faceplate was doubled to prevent water from entering the box when rogue waves swept over the deck; 1/32” aluminum L brackets were fastened to the edges
of the acrylic pegboards to prevent the previous bowing/flexing/swaying behavior that made mounting components to the pegboards difficult; compliant hooks
were added to keep the latches in the “upright” position while lowering the lid; and the Jetson was mounted on L-bracket stand-offs to allow for rapid
insertion and removal from the box. Once the wooden seams of the base were caulked with a polyether adhesive the box proved watertight to 16cm (at which
point water entered via the fan out take), well above design spec.
</p>
<img src="../../Pictures/Blogs/eebox3.png" style="display: block; margin-left: auto; margin-right: auto;width: fit-content;">
</div>
</main><!-- End #main -->

Expand Down
37 changes: 16 additions & 21 deletions Blogs/MechE/hulls.html
Original file line number Diff line number Diff line change
Expand Up @@ -123,27 +123,22 @@ <h2 class="entry-title">
</ul>
</div> -->
<div class="entry-content">
<p>
One of the first tasks our team worked on was buoy
detection. Most of the navigation courses in Roboboat
require us to identify buoys and then figure out how to
navigate them. Using a ZED camera, we developed the
following algorithmic steps to properly identify buoys
on the course:
</p>
<p>Performs erosion with a segmentation kernel</p>
<p>
Performs dilation with the same segementation kernel
</p>
<p>Converts the image to HSV</p>
<p>
Gets the mask for each color range we are looking
at(red, green, yellow)
</p>
<p>
Generates a bounding box for each disjoint blob in the
color range mask
</p>
<p style="text-indent: 50px;">Our new vehicle, Fish ‘N Ships, features a catamaran design due to its stability and low drag
characteristics. In the initial design, we placed the battery boxes within the hulls to lower the center of mass, decided on
ammo boxes to store the batteries for fireproofing, and used foam as the main material of the hulls since it would be less likely
to sink if the hulls were punctured. However, the final product turned out to be 36lbs, which was much higher than we expected,
since we were trying to keep the overall weight of the vehicle under 70lbs.
</p>
<img src="../../Pictures/Blogs/hulls1.png" style="display: block; margin-left: auto; margin-right: auto;width: fit-content; margin-bottom: 30px;">
<p style="text-indent: 50px;">Thus, we began a new round of design with more specific design requirements and tried different
manufacturing techniques. While we still planned on using foam and sealing it with epoxy and fiberglass, we utilized vacuum
bagging technology instead of doing hand layups, since vacuum bagging can spread the epoxy more evenly across the surface, resulting
in less layers (and weight) than manual techniques. We also decided to shorten the hulls to make the boat smaller, which would also
help cut down the weight and make the boat easier to transport. Finally, instead of using ammo boxes, which contributed significantly
to the weight, we opted for tupperware, since they worked well in waterproofing the batteries and were also very lightweight. The current hulls
are only 12lbs total. They are four feet in length, and the entire boat can be easily carried by two people.
</p>
<img src="../../Pictures/Blogs/hulls2.png" style="display: block; margin-left: auto; margin-right: auto;width: fit-content;">
</div>
</main><!-- End #main -->

Expand Down
40 changes: 20 additions & 20 deletions Blogs/MechE/propulsion.html
Original file line number Diff line number Diff line change
Expand Up @@ -123,27 +123,27 @@ <h2 class="entry-title">
</ul>
</div> -->
<div class="entry-content">
<p>
One of the first tasks our team worked on was buoy
detection. Most of the navigation courses in Roboboat
require us to identify buoys and then figure out how to
navigate them. Using a ZED camera, we developed the
following algorithmic steps to properly identify buoys
on the course:
</p>
<p>Performs erosion with a segmentation kernel</p>
<p>
Performs dilation with the same segementation kernel
</p>
<p>Converts the image to HSV</p>
<p>
Gets the mask for each color range we are looking
at(red, green, yellow)
</p>
<p>
Generates a bounding box for each disjoint blob in the
color range mask
<p style="text-indent: 50px;">Our previous vehicle only had two thrusters in the rear, which meant we didn’t have strafing or station
keeping abilities. Thus, for Fish ‘N Ships, it was very important to us to use an x-drive configuration (two thrusters in the front
and two thrusters in the back of the hulls). This allowed our new vehicle to strafe and station-keep with ease. However, we didn’t know
the best angle to mount the thrusters, and we wanted to keep it adjustable so that we can test out the best configuration. Therefore,
we designed an attachment on the bottom of the hulls that had holes in 22.5 degree increments, to allow us to easily attach the thrusters
in different positions.
</p>
<img src="../../Pictures/Blogs/propulsion.png" style="display: block; margin-left: auto; margin-right: auto;width: fit-content;">
<p style="text-indent: 50px;">Another design consideration we had in mind was to add some sort of protection to the thrusters. In the past,
we could not set the vehicle down without propping it on a platform since the thrusters protruded from the hulls. This made it difficult to
transport and test the boat. Therefore, our team decided to add some thruster cages to allow us to set the boat on the ground.
</p>
<p style="text-indent: 50px;">In our initial design, we mounted two U-bolts for each thruster, but we quickly realized that the U-bolts
were quite heavy, contributing to 10% of the overall vehicle weight. Therefore, we considered different materials and geometry to reduce
the weight. For material, we decided to SLA 3D print using Formlabs Tough 2K resin. As for geometry, two different designs were considered.
The first design weighed a total of 2.4 lbs, and the second design has a total weight of 4.15 lbs. We ended up choosing the first design in
consideration of weight restraints. However, we wanted to make sure that the first design can still withstand a reasonable amount of force,
so we verified with FEA performed on OnShape and physical tests. The results showed that each cage could support over 150lbs, which is more
than sufficient for our design, and now, the cages only contribute to 4% of the total weight.
</p>
<img src="../../Pictures/Blogs/thrustercages.png" style="display: block; margin-left: auto; margin-right: auto;width: fit-content;">
</div>
</main><!-- End #main -->

Expand Down
37 changes: 14 additions & 23 deletions Blogs/MechE/sensormast.html
Original file line number Diff line number Diff line change
Expand Up @@ -123,27 +123,18 @@ <h2 class="entry-title">
</ul>
</div> -->
<div class="entry-content">
<p>
One of the first tasks our team worked on was buoy
detection. Most of the navigation courses in Roboboat
require us to identify buoys and then figure out how to
navigate them. Using a ZED camera, we developed the
following algorithmic steps to properly identify buoys
on the course:
<p style="text-indent: 50px;">Our sensor mast provides a stable platform with an unobstructed field of view for the ZED camera and LiDAR to fully utilize the sensors’
capabilities. Our initial design consisted of a central PVC pipe with FDM printed mounts for the LiDAR, ZED, and various other sensors. The pros of
this design was that it was easy/quick to manufacture; however, after thorough testing, we found that the mast exhibited a low-frequency swaying
behavior when the boat was on the water. This interfered with the perception performance of our autonomy system, so we iterated on the design.
The current design features three mounting points instead of two, contributing to a much stabler platform. It is made of ⅛” aluminum box tube
braised into a rigid frame, and it features adjustable height vibration dampers to prevent the swaying behavior.
</p>
<p>Performs erosion with a segmentation kernel</p>
<p>
Performs dilation with the same segementation kernel
</p>
<p>Converts the image to HSV</p>
<p>
Gets the mask for each color range we are looking
at(red, green, yellow)
</p>
<p>
Generates a bounding box for each disjoint blob in the
color range mask
<img src="../../Pictures/Blogs/sensormast1.png" style="display: block; margin-left: auto; margin-right: auto;width: fit-content;">
<p style="text-indent: 50px;">The current design features three mounting points instead of two, contributing to a much stabler platform. It is made
of ⅛” aluminum box tube braised into a rigid frame, and it features adjustable height vibration dampers to prevent the swaying behavior.
</p>
<img src="../../Pictures/Blogs/sensormast2.png" style="display: block; margin-left: auto; margin-right: auto;width: fit-content;">
</div>
</main><!-- End #main -->

Expand All @@ -169,10 +160,10 @@ <h3>Arcturus</h3>
<div class="col-lg-2 col-md-6 footer-links">
<h4>Useful Links</h4>
<ul>
<li><a href="../index.html">Home</a></li>
<li><a href="../about.html">About us</a></li>
<li><a href="../team.html">Team Members</a></li>
<li><a href="../contact.html">Sponsors</a></li>
<li><a href="../../index.html">Home</a></li>
<li><a href="../../about.html">About us</a></li>
<li><a href="../../team.html">Team Members</a></li>
<li><a href="../../contact.html">Sponsors</a></li>
</ul>
</div>

Expand Down
21 changes: 11 additions & 10 deletions Blogs/blog-mechE.html
Original file line number Diff line number Diff line change
Expand Up @@ -113,20 +113,21 @@ <h2>Mechanical</h2>
<div class="container pt-5 pb-5">
<div class="row content justify-content-center" style="text-align:center">
<h2>Mechanical Engineering</h2>
<h4>Click on the cards below to read more about our subsystems. </h4>
<div class="row" data-aos="fade-up">
<div class="col-lg-4 col-sm-4 py-2">
<a href="MechE/hulls.html" class="card-overlink">
<div class="card shadow" style="width: 100%">
<img
src="../Pictures/Blogs/buoydetection.png"
src="../Pictures/Blogs/hulls2.png"
class="card-img-top"
alt="..."
style="max-height: fit-content; width: auto; margin: 30px 30px 10px 30px; display: block;"
/>
<div class="card-body pb-4">
<h4 class="card-title">Hulls</h4>
<p class="card-text">
Read More
Foundation of our boat
</p>
</div>
</div>
Expand All @@ -137,15 +138,15 @@ <h4 class="card-title">Hulls</h4>
<a href="MechE/propulsion.html" class="card-overlink">
<div class="card shadow" style="width: 100%">
<img
src="../Pictures/Blogs/buckboard.jpg"
src="../Pictures/Blogs/propulsion.png"
class="card-img-top"
alt="..."
style="max-height: fit-content; width: auto; margin: 30px 30px 10px 30px; display: block;"
/>
<div class="card-body pb-4">
<h4 class="card-title">Propulsion/Thruster Cages</h4>
<p class="card-text">
Read More
Driving force of our boat
</p>
</div>
</div>
Expand All @@ -155,15 +156,15 @@ <h4 class="card-title">Propulsion/Thruster Cages</h4>
<a href="MechE/eebox.html" class="card-overlink">
<div class="card shadow" style="width: 100%">
<img
src="../Pictures/Blogs/pathplanning.png"
src="../Pictures/Blogs/eebox3.png"
class="card-img-top"
alt="..."
style="max-height: fit-content; width: auto; margin: 30px 30px 10px 30px; display: block;"
/>
<div class="card-body pb-4">
<h4 class="card-title">EE Box</h4>
<p class="card-text">
Read More
Electronics protector
</p>
</div>
</div>
Expand All @@ -177,15 +178,15 @@ <h4 class="card-title">EE Box</h4>
<a href="MechE/sensormast.html" class="card-overlink">
<div class="card shadow" style="width: 100%">
<img
src="../Pictures/Blogs/buoydetection.png"
src="../Pictures/Blogs/sensormast2.png"
class="card-img-top"
alt="..."
style="max-height: fit-content; width: auto; margin: 30px 30px 10px 30px; display: block;"
/>
<div class="card-body pb-4">
<h4 class="card-title">Sensor Mast</h4>
<p class="card-text">
Read More
Mounting point for sensors
</p>
</div>
</div>
Expand All @@ -196,15 +197,15 @@ <h4 class="card-title">Sensor Mast</h4>
<a href="MechE/mechanisms.html" class="card-overlink">
<div class="card shadow" style="width: 100%">
<img
src="../Pictures/Blogs/buckboard.jpg"
src="../Pictures/Blogs/comingsoon.jpg"
class="card-img-top"
alt="..."
style="max-height: fit-content; width: auto; margin: 30px 30px 10px 30px; display: block;"
/>
<div class="card-body pb-4">
<h4 class="card-title">Mechanisms</h4>
<p class="card-text">
Read More
Allow for robotic functions
</p>
</div>
</div>
Expand Down
Binary file added Pictures/Blogs/comingsoon.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Blogs/eebox1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Blogs/eebox2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Blogs/eebox3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Blogs/hulls1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Blogs/hulls2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Blogs/propulsion.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Blogs/sensormast1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Blogs/sensormast2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Pictures/Blogs/thrustercages.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 89f8b6b

Please sign in to comment.