Weekly Status Report 9/22

Pallavi – This week, I spent most of my time in class looking at micro-processor alternatives with Shreyas and ordering parts. I compiled the parts into an excel sheet, linked below.

Our conclusion was to go with the NanoPc board because it has a gain in processing power over the Raspberry Pi but still has good documentation and community for support.

Both our raspberry Pi and roomba have arrived this week, and our ultrasonic sensors should be coming in next week. My goal for next week is to help Shreyas out writing serial communication in C++ (versus the python we will use to get the set up running) and start working with the ultrasonic sensors to read values.

Arushi – This week I was working from the Grace Hopper Conference. Although I couldn’t meet with my team in person, I made sure to keep myself in the loop. I started writing the program for image processing part of our project using Python and OpenCV. The program either takes in a video or  feed from the camera. For every frame, it first applies a blur to prevent noise from falsely being detected. Next based on the color and intensity of the target image, the program performs a threshold such that only parts of the image that match remain white, and all other areas are black. To further minimize noise, the program uses erosion and dilation on the threshold frame. Then the circle detection OpenCv function for minimum enclosing circle is used and drawn on the frame. For right now, I tuned the program based on a video I found online. So for this week, I would like to standardize what our target image will be and take videos with it in busy environments to improve the image processing.

Shreyas – This week I looked into how to properly interface the raspberry pi with the roomba. The roomba comes with a serial-to-usb cable which will be used to send motor commands as well as receive sensor data. Since the roomba does not provide a power supply to peripheral devices, we ordered a power bank that will power the raspberry Pi. I took a deeper look at the roomba OSI and found that we should set an abstraction layer to send commands to the robot to avoid having to memorize the specific bytes needed. Lastly, I found some online tutorials that should help us code the commands in python.

I also found a camera for us to use that is compatible with both the raspberry pi as well as the NanoPc board.

Parts comparison: https://docs.google.com/spreadsheets/d/1tNtKo1mobMqS0nsFhUPZj27l5SVZSLcxxb6ThgLDm0o/edit?usp=sharing

Weekly Status Report 9/15

Pallavi – Looked into microprocessor alternatives to rapberry pi’s

Shreyas – Looked into iRoomba sensor specifics and did more research into how we plan on building our cart base

Arushi – Started implementing basic color detection using OpenCV.

 

We also looked more into what hardware we’d like to use and have decided on the iRoomba Create as our base and a raspberry pi for the image processing. We are considering other alternatives to a raspberry pi, but for the time being we are going to start development on the pi and invest in more powerful hardware if we see that it is needed.

All of us:

This week we worked on our presentation and re-scoping out our project based on feedback given during the meeting last week.

Next week, we hope to start working with the iRoomba for motor controls, have a working OpenCV color detector, and start looking into the UART interfacing between our micro-controller and iRoomba.

 

We hope to get some significant work done this coming week in order to set up our project and hit the ground running!