From 4474cf7c68c599d4dc4a11879d21904c55ffd719 Mon Sep 17 00:00:00 2001 From: Andres Pulido <52979429+andrespulido8@users.noreply.github.com> Date: Thu, 22 Feb 2024 23:25:39 -0500 Subject: [PATCH] add lessons learned from RoboSub23 nav tube documentation (#1072) * add lessons learned from RoboSub23 * include nav tube and lessons23 in index for doc * Remove duplication navigation tube doc from #1096 --------- Co-authored-by: Cameron Brown --- .../subjugator_missions/pose_editor.py | 8 ++++---- docs/subjugator/index.rst | 3 ++- docs/subjugator/lessons23.md | 13 +++++++++++++ docs/subjugator/{nav_tube.rst => navtube.rst} | 1 - 4 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 docs/subjugator/lessons23.md rename docs/subjugator/{nav_tube.rst => navtube.rst} (99%) diff --git a/SubjuGator/command/subjugator_missions/subjugator_missions/pose_editor.py b/SubjuGator/command/subjugator_missions/subjugator_missions/pose_editor.py index 6eafca064..ee2562491 100644 --- a/SubjuGator/command/subjugator_missions/subjugator_missions/pose_editor.py +++ b/SubjuGator/command/subjugator_missions/subjugator_missions/pose_editor.py @@ -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 @@ -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( diff --git a/docs/subjugator/index.rst b/docs/subjugator/index.rst index 7a9416713..7d60efae4 100644 --- a/docs/subjugator/index.rst +++ b/docs/subjugator/index.rst @@ -16,7 +16,7 @@ SubjuGator 8 Enabling Cameras PID Controller - Nav Tube + Navigation Tube Watercooling electrical @@ -28,5 +28,6 @@ RoboSub RoboSub + Lessons from 2023 Lessons from 2022 Lessons from 2019 diff --git a/docs/subjugator/lessons23.md b/docs/subjugator/lessons23.md new file mode 100644 index 000000000..815f04766 --- /dev/null +++ b/docs/subjugator/lessons23.md @@ -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). diff --git a/docs/subjugator/nav_tube.rst b/docs/subjugator/navtube.rst similarity index 99% rename from docs/subjugator/nav_tube.rst rename to docs/subjugator/navtube.rst index 0456994ec..caf58ad2b 100644 --- a/docs/subjugator/nav_tube.rst +++ b/docs/subjugator/navtube.rst @@ -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.