Carter & Satya's ESE 350 Blog
Wednesday, May 11, 2016
Thursday, May 5, 2016
Fixing Baseline Issues
With the final demo coming up, we really needed to solve the random issues that we encountered before the baseline demo. After extensively digging around, I found out that the reason the display was very slow when using my laptop was because the serial USB connection that we were using the communicate with the mbed was being limited to 12mb/s (USB 1.0 speeds). The USB ports on the Pi, on the other hand, were running at 480mb/s (expected USB 2.0). This was likely because of a driver issue, but we were able to solve the problem by sending less data over serial so the port wouldn't clog up and slow down.
The other issue we had to fix was libfreenect rarely recognizing Kinect on the Pi. After 11 hours (!!) of researching and debugging, I found a post by someone who was having similar issues that said he noticed that the Kinect camera would disappear in the output of the `lsusb` command when libfreenect was trying to connect. So, I tried it myself. I ran `watch -n0 lsusb` (this runs lsusb on a loop) in one terminal window before running my Python code. Surprisingly, this actually just fixed the problem!
I'm still not sure what was/is going on, but running `watch -n0 lsusb` before using libfreenect seems to keep it working every time consistently.
The other issue we had to fix was libfreenect rarely recognizing Kinect on the Pi. After 11 hours (!!) of researching and debugging, I found a post by someone who was having similar issues that said he noticed that the Kinect camera would disappear in the output of the `lsusb` command when libfreenect was trying to connect. So, I tried it myself. I ran `watch -n0 lsusb` (this runs lsusb on a loop) in one terminal window before running my Python code. Surprisingly, this actually just fixed the problem!
I'm still not sure what was/is going on, but running `watch -n0 lsusb` before using libfreenect seems to keep it working every time consistently.
Thursday, April 28, 2016
PCB Design
One of the more important things to do between demo days was the development of a PCB that could house all of our circuitry. With 32 motors and LEDs planned for the final product, condensing everything was very important in order to make a display that not only looks nice, but that does not take up unnecessary space with ugly wires.
Tuesday, April 26, 2016
Baseline Demo Day
Today we had our baseline demo and it went as really well! Many people liked our project, including Rahul, Sid, and Parth.
We had a little bit of a panic before our actual demo because after setting everything up with my laptop, the display was reacting incredible slowly, and we still have no idea what was going on. We ended up having to use the Raspberry Pi, without testing stuff on the laptop because for some reason the display was much more reactive using the Pi. However, the Pi started acting up as well. The library we used to communicate with the Kinect, libfreenect, suddenly wouldn't connect with the Kinect and would throw an error that none of the suggestions solutions could solve. After repeatedly killing the program and retrying, we finally got it to run and didn't touch it for the remainder of the demo day.
This is something that really needs to be looked at before the final demo, these kinds of issues shouldn't be happening.
After our demo we talked to Rahul about our reach goals. We decided on the following reach goals:
We had a little bit of a panic before our actual demo because after setting everything up with my laptop, the display was reacting incredible slowly, and we still have no idea what was going on. We ended up having to use the Raspberry Pi, without testing stuff on the laptop because for some reason the display was much more reactive using the Pi. However, the Pi started acting up as well. The library we used to communicate with the Kinect, libfreenect, suddenly wouldn't connect with the Kinect and would throw an error that none of the suggestions solutions could solve. After repeatedly killing the program and retrying, we finally got it to run and didn't touch it for the remainder of the demo day.
This is something that really needs to be looked at before the final demo, these kinds of issues shouldn't be happening.
After our demo we talked to Rahul about our reach goals. We decided on the following reach goals:
- Bigger display (6 x 4)
- Audio Interaction
- PCB
- More advanced hand tracking (incorporate more depth)
Monday, April 25, 2016
Almost Final form
Here's a nice clip showing off our almost fully completed project (created automatically by Google Photos):
https://goo.gl/photos/SyYrKWrHZT31GpRS8
https://goo.gl/photos/SyYrKWrHZT31GpRS8
Organizing Wires
Here is the display pre-consolidation:
Note that the servo wires are not attached in this picture. That's another 48 wires to add to that heaping cloud of copper.
Here is the result after soldering many connections together and organizing the (now connected) servo wires.
Subscribe to:
Posts (Atom)