(11/15) Weekly Status Update: Shivi

This week was about beginning integrating and improving the clutter detection code.

1) Establishing the Protocol between Server and Client
Note: Client = RPI Zero W / Camera ; Server = Hub
Jeffrey and I sat down and established how the server and client would communicate. Initially, we thought we should send a smaller, cropped image and let the server determine if the threshold limit was crossed. If not, then respond to the client with an OK, else ask the client to send the full image. But it seemed to be pretty complicated, and our TCP protocol seemed to have the bandwidth to allow the full image to be sent. So, in the end, the protocol we came up with was something like this:
Client -> Sends Device ID and MAC address
Server -> Uses ID to identify the device and spawns a thread to start receiving images
Client -> Sends size of the binary file of the image being sent
Server -> Responds with an ACK that image was received
Client -> Sends the image file
Server -> Receives the Image over loop and starts processing

2) Completing the Final Client
I completed the final client for our final demo. The client was short and neat. It took an image every 5 minutes and sent it to the server in the form of a binary, following the protocol mentioned above.

3) Taking more sample Images
I spent this week also collecting more material for testing. One feedback I got from Professor Vyas last week was, that the image I used in testing seemed to look the same as the base, and was not enough variety. So this week I set out to take more images for the final project. I took images of the clean counter in various lighting conditions and then taking various instances of a dirty counter, with different amounts and kinds of objects on it. This allowed me to test my algorithm and image detection code over the different conditions and test its robustness.

4) Receiving Testing Server for Final Client
I didn’t actually get a chance to sit with Jeffrey and go over the server integration of image processing yet. But to make his job and my testing easier, I started writing a client who would receive the image according to protocol, manipulate it and then wait to receive the next image.



Leave a Reply

Your email address will not be published. Required fields are marked *