Skip to content

Commit 40b7f91

Browse files
committed
Text sections started
1 parent d64d07f commit 40b7f91

File tree

6 files changed

+208
-24
lines changed

6 files changed

+208
-24
lines changed

_includes/rs-march-25-post.html

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,166 @@
1+
<section class="section" id="rs-post-content">
2+
<div class="container">
3+
<h2
4+
class="title has-text-left has-text-white-ter is-size-2 has-text-weight-bold mgb-medium">
5+
Software
6+
</h2>
7+
8+
<div class="text has-text-justified">
9+
<p>
10+
Developing software for an AUV is a significant leap from the code we wrote for the SeaHawk II ROV last year. Luckily, our experience and existing codebase for the SeaHawk II meant most of our time was focused on the AUV specific additions, mainly computer vision and navigation. Of course, in order to properly navigate, we would need more sophisticated sensors as well as a simulation environment in order to sanity check our work.
11+
</p>
12+
</div>
13+
14+
<h3
15+
class="title has-text-left has-text-white-ter is-size-4 has-text-weight-bold mgb-medium">
16+
Simulator
17+
</h3>
18+
<div class="text has-text-justified">
19+
<p>
20+
While LazerShark's hardware is still in development, our software team can validate code through simulation-based testing. We have integrated the Gazebo simulation platform into our ROS-based software stack, enabling software testing on a physically accurate virtual model of the AUV. The simulated vehicle and environment include custom buoyancy modeling, hydrodynamics, and various sensors. This approach allows for continuous development without a physical prototype or testing site, enabling software and hardware development to progress in parallel and rapid testing. So far, the simulator has allowed us to develop and validate the foundation of the navigation systems.
21+
</p>
22+
</div>
23+
24+
<h3
25+
class="title has-text-left has-text-white-ter is-size-4 has-text-weight-bold mgb-medium">
26+
Sensor Integration
27+
</h3>
28+
<div class="text has-text-justified">
29+
<p>
30+
Just like us, robots have different "senses" to understand the world around them. Alone, our eyes may not provide a complete picture, but when combined with our other senses, we can accurately perceive what's happening. The LazerShark will be equipped with multiple sensors to achieve a comprehensive understanding of its environment, including a stereoscopic camera, depth sensor, inertial measurement units (IMUs), and a Doppler velocity logger (DVL). So far, we have written drivers for the IMUs and DVL. The IMUs provide information about the AUV's acceleration and heading, and the DVL allows us to measure the AUV's velocity and altitude. Given the sensor readings, an estimated pose of the robot is achieved through an Extended Kalman Filter (EKF).
31+
</p>
32+
</div>
33+
34+
<h3
35+
class="title has-text-left has-text-white-ter is-size-4 has-text-weight-bold mgb-medium">
36+
Control Systems
37+
</h3>
38+
<div class="text has-text-justified">
39+
<p>
40+
In order for a robot to navigate through the world, a lot has to go right. Sensors have to be integrated to properly take measurements about the robot's movements, the cameras and the CV systems have to properly localize it in relation to its environment, and the EKF has to provide an accurate estimate of the robot's pose. However, once these parts are working properly, the question remains: how do we drive the robot's motors to navigate from one place to another? There are many different approaches, but ours relies on the field of Optimal Control Theory–specifically the Linear Quadratic Regulator. A Linear Quadratic Regulator, or LQR, provides an array of output (a twist, in our case) given the offset of the robot's pose from a desired pose. We chose an LQR over a simpler PID control scheme for a couple reasons. Mainly, a LQR allows us to model the dynamics of the robot, which is basically how the state evolves from a given state, as well as how it evolves according to the inputs provided. This allows us to account for the robot's drag, mass, and rotational inertias in the control systems. The second reason is the tuning parameters – as opposed to the PID controllers whose tuning parameters rely on repeated testing, the LQR's tuning parameters are fairly intuitive. They essentially represent how much to penalize errors in position versus large input values. Once the dynamics and weights are chosen, from a programmer's perspective, the work is done. For now, we simply have our control system navigating us from pose to pose in a straight line, which is essentially all you need for navigation in RoboSub. However, we do plan on improving the control systems to allow for more sophisticated paths, if time allows.
41+
</p>
42+
</div>
43+
44+
<h3
45+
class="title has-text-left has-text-white-ter is-size-4 has-text-weight-bold mgb-medium">
46+
Computer Vision
47+
</h3>
48+
<div class="text has-text-justified">
49+
<p>
50+
TODO
51+
</p>
52+
</div>
53+
54+
<h3
55+
class="title has-text-left has-text-white-ter is-size-4 has-text-weight-bold mgb-medium">
56+
What's Next?
57+
</h3>
58+
<div class="text has-text-justified">
59+
<p>
60+
TODO
61+
</p>
62+
</div>
63+
64+
<h2
65+
class="title has-text-left has-text-white-ter is-size-2 has-text-weight-bold mgb-medium">
66+
Electrical
67+
</h2>
68+
<div class="text has-text-justified">
69+
<p>
70+
We have completed the design of the first revision of our Battery Management Board. The PCBs have arrived, and we are currently waiting for the components to begin assembly. While we wait, we are starting firmware development to enable energy consumption monitoring and environmental status tracking, including temperature, humidity, and SD card data logging
71+
<br>
72+
We look forward to assembling and debugging Revision A of the board. Once the BMS board is populated and we finalize our choice of Jetson, we will be able to assemble the full electrical stack. Additionally, we are making final decisions on the battery packs we will be using.
73+
</p>
74+
</div>
75+
76+
<h2
77+
class="title has-text-left has-text-white-ter is-size-2 has-text-weight-bold mgb-medium">
78+
Mechanical
79+
</h2>
80+
<div class="text has-text-justified">
81+
<p>
82+
We are excited to announce that we have completed the manufacturing of our electrical box! We also just received a shipment containing all the mounting hardware and O-rings. Everything fits together quite well! A huge shoutout to Cito Medical for allowing us to use their facilities to machine parts for our electrical box.
83+
<br>
84+
Currently, we are working on the internal layout of the electronics inside the electrical box and are designing the thruster mounts and a DVL mount for our chassis. These components attach directly to the electrical box. While some areas of our mechanical design still need refinement, the majority of the work is complete.
85+
</p>
86+
</div>
87+
88+
89+
<h3
90+
class="title has-text-left has-text-white-ter is-size-4 has-text-weight-bold mgb-medium">
91+
Battery Housing Design
92+
</h3>
93+
<div class="text has-text-justified">
94+
<p>
95+
One of our next major tasks is designing the battery housings. We delayed this step since we already knew the battery specifications we needed, but we were uncertain about the exact brand or whether we wanted to build custom battery packs. Now that we have that information, we can move forward with finalizing the design.
96+
</p>
97+
</div>
98+
99+
<h3
100+
class="title has-text-left has-text-white-ter is-size-4 has-text-weight-bold mgb-medium">
101+
Computational Fluid Dynamics (CFD) Simulations
102+
</h3>
103+
<div class="text has-text-justified">
104+
<p>
105+
We are currently running CFD simulations to determine the linear drag coefficients in all directions for our LQR (Linear Quadratic Regulator) control system. Using SolidWorks CFD, we have been solving for the rectilinear drag coefficients and are now developing a computational method for solving rotational drag coefficients.
106+
<br>
107+
Because our vehicle consists of a mix of unusual materials and has a highly non-uniform structure and we require an accurate center of mass measurement we have decided that we can not trust values from our CAD. We are opting for physical measurements rather than purely computational estimates. We are currently developing fixtures and testing procedures to measure the center of mass and the moments of inertia for LaserShark.
108+
</p>
109+
</div>
110+
111+
<h3
112+
class="title has-text-left has-text-white-ter is-size-4 has-text-weight-bold mgb-medium">
113+
Final Assembly and Pool Testing
114+
</h3>
115+
<div class="text has-text-justified">
116+
<p>
117+
We are still waiting on a significant amount of shipments, including penetrators and electrical connectors. Once these arrive, we can complete the assembly of our chassis and electrical box. With the electronics nearing integration, we are aiming for our first pool test within the next six weeks!
118+
</p>
119+
</div>
120+
121+
<h2
122+
class="title has-text-left has-text-white-ter is-size-2 has-text-weight-bold mgb-medium">
123+
Outreach
124+
</h2>
125+
<h2
126+
class="title has-text-left has-text-white-ter is-size-2 has-text-weight-bold mgb-medium">
127+
Sponsors
128+
</h2>
129+
<div class="text has-text-justified">
130+
<p>
131+
Thank you to the individuals and organizations who have
132+
generously supported us in constructing LazerShark.
133+
We give our thanks to <a href="https://www.pnisensor.com"
134+
target="_blank"> PNI Sensor</a> for providing us with their
135+
NaviGuider and TargetPoint-TCM IMUs. It has been great working
136+
with PNI, they have been very responsive and helpful and we are
137+
proud to be using their products. Cabrillo Robotics plans to
138+
create an open source Serial and ROS drivers for the
139+
TargetPoint-TCM.
140+
We are also incredibly grateful to <a
141+
href="https://waterlinked.com/" target="_blank"> Water
142+
Linked</a> for giving us a
143+
generous discount on their A50 DVL. We believe that this sensor
144+
will be a crucial part of our AUV's success and so far has
145+
provided us with impressively accurate readings.
146+
There are many other organizations and individuals we have to
147+
thank for contributing to the funding of the project, please
148+
visit our <a href="{{site.url}}{{site.baseurl}}/sponsors">
149+
sponsors</a> page for more details.
150+
</p>
151+
</div>
152+
<section class="section has-text-centered" id="posts-sponsors">
153+
<div class="sponsor-grid">
154+
{% for sponsor in site.data.sponsors %}
155+
<div class="column">
156+
<div class="sponsor-card">
157+
<a href="{{sponsor.website}}" target="blank_">
158+
<img src="{{sponsor.logo}}" alt="{{sponsor.name}}">
159+
</a>
160+
</div>
161+
</div>
162+
{% endfor %}
163+
</div>
164+
</section>
165+
</div>
166+
</section>

_layouts/rs-post.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
<body>
1313
<div id="post">
1414
{% include navbar.html %}
15-
<!-- <div class="desktop">
15+
<div class="desktop">
1616
{% include post-header.html %}
17-
</div> -->
17+
</div>
1818
{% include post-info.html %}
19-
{% include post-content.html %}
19+
{% include rs-march-25-post.html %}
2020
<div class="mobile">
2121
{% include post-header.html %}
2222
</div>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: RoboSub March 2025 Update
3+
layout: rs-post
4+
post-image: "https://raw.githubusercontent.com/CabrilloRoboticsClub/cabrillorobotics.github.io/what-a-theme-test/assets/images/posts/after-international-win-cabrillo-robotics-announces-participation-in-robosub.webp"
5+
description: Cabrillo Robotics Club has been making great strides in our LazerShark AUV for RoboSub.
6+
tags:
7+
- RoboSub
8+
- AUV
9+
- Lazer Shark
10+
---

_posts/2025-03-20-robosub-march-25-update.md

Lines changed: 0 additions & 19 deletions
This file was deleted.

assets/css/style.scss

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1616,4 +1616,31 @@ p {
16161616
margin-bottom: 10vh;
16171617
margin-top: 5vh;
16181618
}
1619-
}
1619+
}
1620+
1621+
#posts-sponsors {
1622+
.sponsor-grid {
1623+
display: grid;
1624+
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
1625+
align-items: center;
1626+
}
1627+
.sponsor-card {
1628+
transition: all 0.25s ease;
1629+
margin: 20px;
1630+
}
1631+
.sponsor-card:hover {
1632+
transform: scale(1.01);
1633+
}
1634+
}
1635+
1636+
#rs-post-content {
1637+
a {
1638+
color: var(--primary);
1639+
}
1640+
br {
1641+
margin-bottom: 20px;
1642+
}
1643+
.text {
1644+
margin-bottom: 20px;
1645+
}
1646+
}

robosub.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ full-logo: "https://raw.githubusercontent.com/CabrilloRoboticsClub/cabrillorobot
55
hero-bkg: "https://raw.githubusercontent.com/CabrilloRoboticsClub/cabrillorobotics.github.io/what-a-theme-test/assets/images/comps/robosub/robosub-hero-bkg.webp"
66
hero-overlay: "https://raw.githubusercontent.com/CabrilloRoboticsClub/cabrillorobotics.github.io/what-a-theme-test/assets/images/comps/robosub/robosub-hero-overlay.webp"
77
hero-logo: "https://raw.githubusercontent.com/CabrilloRoboticsClub/cabrillorobotics.github.io/what-a-theme-test/assets/images/comps/robosub/robosub-hero-logo.webp"
8-
description: "RoboSub is an international robotics competition in which teams compete to create Autonomous Underwater Vehicles (AUVs). These AUVs are completely unmanned, and must use sensor data to navigate and complete various tasks in a live competition. The competition tasks mirror real-world AUV missions, such as seafloor mapping and sonar localisation."
8+
description: "RoboSub is an international robotics competition in which teams compete to create Autonomous Underwater Vehicles (AUVs). These AUVs are completely unmanned, and must use sensor data to navigate and complete various tasks in a live competition. The competition tasks mirror real-world AUV missions, such as seafloor mapping and sonar localization."
99
---

0 commit comments

Comments
 (0)