Jump to content

2023-2024 Qubo Software Projects: Difference between revisions

Added Autonomy section and Overall Goals
(Added Autonomy section and Overall Goals)
== Overall Goal ==
'''Test, test, test.''' Get Qubo in the pool as much as possible. '''Iterate!''' Make something crappy so that we can see how it works. Don't try to get it perfect; the only way we'll get anywhere close to perfect is by making crappy versions first.
 
Simulation would be beneficial here, but since we have little time to the competition, focus on pool testing rather than simulation. Even if we get a basic simulation working, it will might be a multi-semester-long task to make a simulation that is accurate enough to be worth using when we have so little time until the competition.
 
== Autonomy ==
This might get lumped in with Controls and/or Vision, you may be working on those a lot if you are working on autonomy. Also potentially involved are: localization, mapping.
 
=== Goals ===
 
# Pre-qualification task.
# Better autonomy, create a bit of a base that we can continue to build on, rather than entirely ad-hoc hacky autonomy.
# Ability to complete various RoboSub tasks
 
== Controls ==
<blockquote>Note: This section was copied directly from the old wiki. This page is intended to be approachable for new members transitioning to working on Qubo. I'm not sure how understandable this is, as it's not my area; so just please don't avoid a project you're interested in because the description sounds scary. For questions and concerns about these projects, ask in #team-software in the Slack. --- Jeffrey Fisher</blockquote>Controls as in [[wikipedia:Control_theory|"control theory"]]. Making Qubo be able to stand still (to fire torpedos accurately), move efficiently, etc.
* '''Goal:''' Make the DVL data available to the rest of the code over ROS.
* Language: Likely C++
* There are existing libraries for interfacing with this DVL. It is probably worth evaluating them. There are other projects that are more interesting and that are more important for us to do ourselves.
** At a quick glance, this one seems worth checking out: https://github.com/paagutie/dvl-a50. It's already using the JSON library I was planning to use, so if we write our own in C++ it will probably be quite similar to this one. --- Jeffrey Fisher
** Here's a bunch: https://github.com/search?utf8=%E2%9C%93&q=dvl+a50&type=repositories
** Jeffrey Fisher: Some things worth considering: (however I am now strongly leaning towards using an existing library / ROS package unless there are really no decent ones)
*** How often will we have to change this code?
*** How likely are there to be bugs?