Team Update
The most significant risks are the same as previous posts. However, now that we have the Roomba actually moving, we are most concerned with getting the Roomba to move according to the algorithms that Mimi will be deriving using OpenCV outputs. This will require Mimi’s photo optimization algorithm to talk to Cornelia’s Roomba movement code – the two subsystems described in our design report will need to be integrated. We are going to start working together as soon as possible. After Spring Break, both of our algorithms should be complete individually and we will need to work together to send each other the correct datas and use the correct functions. This is also how we will work with the sensor data.
Another significant risk we foresee is putting together the robots various components physically. Our design now includes the use of numerous IR and thermal sensors, so we will need place them according to the calculations we’ve made and ensure our design works and that the sensors are stable enough to get accurate data. We will also need to face any challenges involved with mounting our hardware components onto the tripod with enough durability so that the Roomba can move around freely.
We made several changes to our existing design after getting feedback from our Design Review Presentation and as we worked on our Design Report. We are now including an LCD display to show a countdown before snapping a photo – this was a suggestion many people made throughout our process. We have acquired one for free from IDeATe. We have also redesigned our robot to use 18 IR sensors (3 at each of 6 points to eliminate outliers and get reliable data) to detect objects, and then use thermal cameras to detect if that object is actually a human. These sensors are talking to an Arduino which Cornelia has leftover from 18-220, and the IR sensors were purchased. Below is our new block diagram:
Our Gantt chart has updated a little, due to some hold-ups regarding Roomba and RPi communications (explained further below).
Adriel
This week, I contributed to our design report. I identified and tested a new sensor that will help us with collision detection, namely an IR proximity sensor. I was also able to solder the pins onto and test the thermal camera sensor. I also have the design for the wooden mount and the enclosure.
I am currently behind schedule because I haven’t had time to gain access to the tools required to create the mount structure and the enclosure. I will spend this break ensuring that these tools will be available by the time break ends.
Next week, I hope to have the tools and materials prepared for the mount and the structure. Additionally, I hope to make some progress on the motorized stick.
Mimi
The earlier part of the week was spent entirely on our design report. Following the report, I worked on testing out image capture. I was able to use the rpi and the raspberry pi camera module to capture photos and video. I also began looking into how to stream video in real time to be analyzed by OpenCV. Lastly, I began working on putting OpenCV onto our new SD card, however it takes many hours to download all of the necessary software.
I am currently on schedule.
Over this week, although it is Spring Break, I will try to get a head start on future deliverables by working on my image capture, image wifi transfer, and face detection code. I will need to figure out how to integrate all of these components with each other, as well as with Cornelia’s Roomba movement code, and the data from the sensors.
Cornelia
Over the weekend and on Monday, I spent all of my time working with Adriel and Mimi on our Design Report. Constructing and compiling this took our full attention. For the rest of the week, I worked on getting the Raspberry Pi and the Roomba to communicate over serial and mini DIN. I ran into lots of problems with this, as I could not figure out the USB.usbserial port to “create the bot” with using PyCreate2. However, on Thursday, I was able to get the Roomba to move in accordance with python code I put on the Raspberry Pi! This was a great breakthrough, especially before leaving for Spring Break – now I know the Roomba can run my code over the cable we have, and thus I can write code over break and just copy it onto the Pi when I get back to Pittsburgh.
According to our Gantt chart, I am a little behind. While the Roomba moves in all directions and can do collision detection with objects, it does not yet adjust according to camera input. This will require Mimi’s code and my code to interact. I will be recovering from this by working on it over Spring Break, which was originally scheduled as slack time, and working with Mimi to integrate our code.
This next week, I hope to use data from the camera (Mimi’s code) to adjust the Roomba’s position accordingly as well as finish the Ethics assignment (since the deadline was delayed). I will be able to test the code I write over break the moment I get back to Pittsburgh.