Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add lessons learned from RoboSub23 nav tube documentation #1072

Merged
merged 4 commits into from
Feb 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -617,8 +617,8 @@ def as_PoseTwist(

def as_PoseTwistStamped(
self,
linear: Sequence[int] = [0, 0, 0],
angular: Sequence[int] = [0, 0, 0],
linear: Sequence[float] = [0, 0, 0],
angular: Sequence[float] = [0, 0, 0],
) -> PoseTwistStamped:
"""
Returns a :class:`~mil_msgs.msg.PoseTwist` message class with the pose
Expand All @@ -639,8 +639,8 @@ def as_PoseTwistStamped(

def as_MoveToGoal(
self,
linear: Sequence[int] = [0, 0, 0],
angular: Sequence[int] = [0, 0, 0],
linear: Sequence[float] = [0, 0, 0],
angular: Sequence[float] = [0, 0, 0],
**kwargs,
) -> MoveToGoal:
return MoveToGoal(
Expand Down
3 changes: 2 additions & 1 deletion docs/subjugator/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ SubjuGator 8
Enabling <enabling>
Cameras <cameras>
PID Controller <pid>
Nav Tube <nav_tube>
Navigation Tube <navtube>
Watercooling <watercooling>

electrical
Expand All @@ -28,5 +28,6 @@ RoboSub

RoboSub <robosub>

Lessons from 2023 <lessons23>
Lessons from 2022 <lessons22>
Lessons from 2019 <lessons19>
13 changes: 13 additions & 0 deletions docs/subjugator/lessons23.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Lessons from RoboSub 2023

Paraphrasing Dan Frank, “it's clear that if we had made all these mistakes back in Gainesville, we could have been in way better shape for the competition”.

* **Make a plan and be familiar with the sub** - We should create a solid checklist that spells out all the basic stuff we need to nail before we leave. This should cover nailing down sub moves commands, getting familiar with the missions we already have written, testing those missions in the pool, and making sure our kill system is on point and integrates well with our software. Having a game plan for finals that's solid and picking out a reliable run that can get enough points to really boost our chances is really important. Let's not leave our presentation prep for the last minute – we need to make the presentation and practice at least a week before the competition hits. We should have deadlines for all of these.

* **Make a plan and be familiar with the sub** - We need to have a Plan B when someone can't make it or falls sick. At least 2-3 people need to be able to rock the sub operation, change and charge batteries, replace mechanical things, etc. Roles in the team need to be crystal clear during the competition.

* **Track issues and maintenance of parts** - We should track intermitten issues; investigate them, and deal with them, before leaving. The issues showed up every now and then, but we brushed them off thinking they’ll go away. They should've been solved earlier. Also we need a proper log of when we're swapping out parts or using them. That way, we know when it's time for replacements. We only made the move of MacArtney connector switch after stumbling on a Slack conversation from 2019. Having a grip on the tether's age would've helped sort things out sooner.

* **Easier debugging and Sub Status** - When hardware kills don't unkill after rebooting and sticking the kill wand back in, we should've cracked open those CAN messages to see what was going wrong. Having all this info on a screen or sent to our computers would've made life simpler. About lights and screens, having status symbols or messages on screens for errors or warnings from each board would make debugging easier. Same goes for side lights on the sub – they'd be useful for the electrical and softwar.

* **Document** - Since hardware takes more effort than firmware, we could try to make it easier to write working prototype firmware to have more time for making hardware. We currently have MIL written drivers, but they have inconsistent documentation and are confusing for some members to use (especially the ones for CAN).
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ Navigation Computer
===================

The navigation computer consists of a Gumstix Overo Computer-on-Module that mounts to a carrier board. The carrier board contains headers for the Teledyne Dopper Velocity Logger (DVL) connector board, Analog Devices Inertial Measurement Unit (IMU), and the pressure sensor. At one point, the navigation computer was also connected to a GPS antenna.

.. warning::

No documentation or PCB design files exist for the navigation computer carrier board and there are no more functioning spare boards. Additionally, only the newer GumStix Overo COM boards are available to purchase (with a lead time of roughly 1 year) which may not be compatible with the current system. Be very careful when working inside of the navigation tube.
Expand Down
Loading