2023-2024 Qubo Software Projects

From R@M Wiki
Revision as of 17:59, 21 December 2023 by Jeffrey Fisher (talk | contribs) (end effector)

Controls

Vision

GUI

End-effectors

This includes: torpedo launcher, claw, marker dropper.

marker dropper = device that releases a small object, a "marker" that is identifiable to our team. A recurring RoboSub task is dropping markers into bins.

Jeffrey Fisher: My understanding is that these end-effectors are not complete, but that we can work with prior iterations. Even if it won't go on the robot right away, it will be worthwhile to get the code in place so we are ready when mechanical finishes the new designs, and to begin testing the functionality. Testing is very important because accuracy is important for all three of these end-effectors.

New DVL (1-2 people)

We've purchased a new, much smaller DVL (doppler velocity logger). The model is WaterLinked's DVL A50. For information on what a DVL is, and about this specific model, see the BlueRobotics DVL A50 page.

Project overview

  • The DVL speaks JSON over TCP. See WaterLinked's protocol documentation.
    • There is also a serial interface, but we will not use it because (1) it is slower and (2) I'm pretty sure one reason for getting this DVL was that we can talk to it over Ethernet --- Jeffrey Fisher.
  • Goal: Setup communication between Qubo's main computer and the DVL.
  • 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.
    • 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:
      • How often will we have to change this code?
      • How likely are there to be bugs?
      • Will depending on a 3rd-party ROS library make it hard to upgrade in the future? How separate are the DVL protocol and ROS portions of the 3rd-party library? How hard would it be to patch the library ourselves for a newer ROS version?

Embedded software

CAN Bus