Michael’s Status Report for 4/20/2024
Weekly Accomplishments
- Debugged issue where both the ribbon cable & raspberry pi CSI port were broken. Likely caused from transport (static electricity?)
- Completed scanner
- Assembled full scanner unit
- Printed case v2 (allows for cable to be inserted)
- Soldered I2C pins to control LCD
- Assembled everything in to case
- Works best around 2FPS because higher framerates back up on the network
- Roughly 0.75s of camera latency
- Videos:
Demo of Scanner Working @ 2FPS w/ 1s delay
Demo of Scanner insert/remove working
- Assembled full scanner unit
- Last week: Fixed server issues an now YOLOv8 runs on server
- Started Final Presentation
Overall Progress
- Final Presentation needs a lot more work
- Custom YOLOv8 model needs to be retrained
Next Week’s Goals
- Finish final presentation slides (Sunday)
- Train YOLOv8 model
- Connect to database API
What I’ve Learned
I’ve learned how to use a variety of tools as a part of this project. For starters, I learned how to use both YOLOv8 and an Nvidia Jetson Nano. The Jeston was particularly tricky because the 2GB version available in the ECE inventory lost official support last year. A lot of the documentation was out of date, and so there was some modificiations that had to be be made to the instructions that I had to dig around online for. For YOLOv8 I was luckily introduced to YOLO in my Autonomous Robotics course this semester, but I learned most of the tools by scouring the example videos and documention.
While not a completely new skill, I had to learn how computer networks transfer data in much more depth than I had ever worked with before. There were a lot of good sources including a blog by a guy who wrote a library to make raspberry pi security cameras on his farm and the corresponding examples on his github. On top of that I learned about 0MQ which has a handshake like TCP but is faster like UDP in exchange for lossy data (which is fine for working with streaming images).