Paul Status report for 1/31/26

What I have accomplished personally:

One of my primary goals this week was to read about topics other group members understood that were necessary for this project.  Regardless of how much of a role I play in implementing certain features of the project, I need a proper understanding of them.

PYNQ is what we will be using to get the FPGA working as a coprocessor The “readthedocs.io” documentation has proved very useful for this, as I did not even know what it was before this semester.

https://pynq.readthedocs.io/en/latest/overlay_design_methodology/python-c_integration.html

To gain a better understanding of our options for an RTL implementation and how a CNN is implemented, I read the following paper, which is paper 1 of Justin’s status reports.

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10544357

This paper, which is paper 3 from Justin’s status report, was helpful for learning for learning about computer vision much more deeply than the summary level

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9991145&tag=1

I spent significant time alongside my team working to change the scope of our project this week after negative feedback and work on the proposal/proposal slides. As a group, we started from the idea of our final demo and worked backwards.

Alongside the aformentioned research, I have been working on figuring out what robotics kit and motor drivers we will use for the car.

 

Progress relative to schedule:

I feel like our progress is on schedule, but that the increase in scope throghout the last week has resulted in more work to do per week throughout the rest of the project. This next week is where the pace of work begins to accelerate as we have settled on a scope that appears to satisfy course staff.

Deliverables for the next week:

I hope to make a rough physical design in CAD of how our final car should look like. However, the final design is dependent on completion of a list of hardware components. This requires us to decide on our robotics kit and power system.

 

Justin Status Report 1/31

1/31

This week, I made significant progress by identifying which model we would use and why it is well suited for this board. I selected YOLOv3-tiny because it is small enough to fit within the board’s resource constraints while still maintaining good accuracy when quantized to INT8. It also performs well for real-time video processing, which makes it a strong fit for our application.

In addition, I spent time studying the YOLOv3 model in more detail and analyzing how it would map onto an RTL implementation. From this analysis, I expect the design to primarily require MAC units that will be composed into convolution modules, BRAM for on-chip storage, and support for operations such as Leaky ReLU, Batch Normalization, and Max Pooling. Some pre- and post-processing will likely be handled in software. I am also working on a block-level diagram of the model so I can walk through each layer and determine how to properly parameterize the corresponding RTL modules.

I also explored potential use cases for our design and reviewed several related research papers this week, which helped inform both the architectural choices and application focus.

Paper 1: FPGA Implementation of CNN Accelerator with Pruning for ADAS Applications 

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10544357&tag=1

 

Paper 2: QuantLaneNet: A 640-FPS and 34-GOPS/W FPGA-Based CNN Accelerator for Lane Detection 

https://pmc.ncbi.nlm.nih.gov/articles/PMC10422460/pdf/sensors-23-06661.pdf

 

Paper 3: A Survey of FPGA-Based Vision Systems for Autonomous Cars 

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9991145&tag=1

Paper 4: Agricultural machinery automatic navigation technology

https://www.sciencedirect.com/science/article/pii/S2589004223027918

 

Papers 1, 2, and 3 were helpful in expanding the scope of our project and clarifying the eventual use case: a delivery robot that can quickly recognize objects and people in real time.

I also found a GitHub repository where someone implemented a similar approach. This was useful for understanding what data they trained on and how they deployed the model on a board similar to ours.

https://github.com/Yu-Zhewen/Tiny_YOLO_v3_ZYNQ

By next week I hope to start doing the RTL and also researching and starting training the model.  This has to be done as soon as possible.

 

 

Sean’s Status Report for 1/31

What I personally accomplished this week:
     I spent time establishing the foundation of our project both technically and organizationally. I set up the team project website, including the homepage introduction and structure for status reports. I worked with my team on developing our project proposal slides, helping refine the project scope, use case, and final demo concept based on feedback from Professor Hyong. Narrowing the use case toward an autonomous sidewalk delivery vehicle and clarifying how our system will detect and react to signs, obstacles, and pedestrians in a demo environment. I also helped specify demo details, including the environment setup and expected vehicle behaviors. I also did background research on FPGA based computer vision systems.

Progress relative to schedule:
     Our progress is on schedule even with the change in scope. The planning, scoping, and background research focused on this week were necessary for upcoming design decisions. 

Deliverables for the next week:
     I plan to help finalize a detailed list of required hardware components and contribute to refining the system block diagram. I will also assist in defining use case requirements and measurable performance targets to guide our design choices going forward. Additionally, I will continue supporting the team in preparing for upcoming presentations and design reviews.

 

Team Status Report for Saturday, 1/31/26

One significant risk that could jeopardize the success of our project is our ability to preprocess frames quickly in the arm SOC while performing robotics controls on that same microprocessor. To address this, we may use an additional SOC outside of the KR260 to handle robotics controls while receiving information about recognized objects from the KR260. Another risk is getting the system to move accurately with our motors and making movements reproducible. We can manage this by starting the robotics early and prioritizing consistency. Time needed for training models and making sure weights can fit on board is also a concern, so we will start as soon as possible. One contingency plan if our RTL doesn’t work properly or is difficult to integrate is to use Vitis AI. Also if training the model is too difficult to do we can use pre-trained weights. Since our abstract we narrowed down our use case to a delivery robot capable of navigating through pedestrian dense environments. On top of sign detection the car will be capable of avoiding obstacles and stopping for people.