In pursuit of making our award-winning team video 28 Meetings Later, I will happily discuss the progress CS has made in 6-7 meetings.
Robot Issues
Coming back from comp, we noticed approximately 6-7 issues with ‘ole reliable Oogway (and a few with Crush too). Here’s a list of some of them that we resolved:
- Front DepthAI camera not working after trying 5 times to connect (we considered changing this to 6-7 times)
- Oogway voltage sensor reading ~2V higher than it should
- Unable to record Bag files on Oogway
- Front DepthAI 3D print melting, resulting in the DepthAI camera being offset by 6-7 degrees
- Enabling controls results in crash on Oogway
- Thruster not working on Crush
- General reliability
But that’s boring. Let’s talk about all the fun projects we have going on (on net, we have 6-7, but to be concise, here’s 3):
Jetson Orin Nano Characterization
One of CS’ biggest goals this year is to run supervised CV models on Oogway (preferably our current YOLOv7-tiny model, although YOLO v6-7 should both work). Towards that goal, we want to characterize the Jetson Nano’s CPU, GPU, and RAM usage to figure out what overhead we have. Some of the newest members of our team are creating a node that does exactly this. They have CPU and RAM characterization working, but there appears to be some issue with the GPU characterization that they are looking to resolve. Once this node is running, we hope to find significantly GPU clearance so we can run YOLO models directly off the Jetson.
We are also working with Electrical on their stack-on-a-board, and hope to have our second Jetson Nano integrated such that we can continue to run and test the node on the Nano without needing to have Crush powered on, allowing Electrical and Mechanical more headroom to work on Crush. Given it is a great learning opportunity, we have 6-7 members working on the stack-on-a-board, so we hope it will be completed soon.
Foxglove Updates
We have 6-7 panels that we would like to change, although we are currently prioritizing a few.
First is the sensors status panel — we seem to have a lot of issues with this panel. We suspect this panel to be the primary culprit of memory leakage whenever we run Foxglove, and find the panel to be unreliable — that is, all 6-7 sensors present active (depending on the robot) will flash green/red randomly when they are working perfectly fine. This is something that we aim to fix.
Second, we are also looking to create a new WASD panel so that we can control robot movement with WASD keys instead of wasting 6-7 minutes setting up the joysticks each time. This control schema would be much more intuitive, and is a great way to teach new members about our Foxglove and GUI development pipeline.
Sonar
Our sonar team is making great strides towards ensuring our sonar sensor is reliable with readings across all types of objects. A special thank you to the sonar team’s patience as they waited 6-7 meetings before we were finally able to get into the water. Our ultimate goal is to use the sonar sensor to align our yaw with objects, given that our CV-calculated yaw is often unreliable. and our state-calculated yaw has significant error that we have been unable to characterize thus far. The team is continuing to fine-tune parameters and algorithms across a variety of different distances/objects; at the end of the day, we expect to be able to detect across 6-7 different props/objects.
Concluding Thoughts
Overall, we’re super happy with our progress so far, and our 6-7 projects span all core competencies of CS. We’ve gotten complex enough that we’ve started to use GitHub Issues to track progress (thank you President Emeritus and our current resident oracle Hung)! Take a look here: https://github.com/DukeRobotics/robosub-ros2/issues. We’re super excited about all the new members we have joining us, and look forward to a productive semester and academic year~
