Weekly Progress
Week of April 16, 2018
Adilet Segizekov:
- Finished building most of the mount structure
- Started integrated components on the jetson
- Scores are now shown on the game.
- Began working on sending kinect data to game.
Week of April 9, 2018
Adilet Segizekov:
- Bought materials for mount and built the base
- Continued working on feedback system
- The puck now slows down after collisions and becomes faster after being struck by a paddle in a physically realistic way.
- Added scoring system to game.
- Game is now at an acceptable level of functionality, but could be improved
- Helped find materials for mount.
- Worked on the physical mount and will continue working on it the following week
- Object detection is much faster now, will work on improving detection accuracy
Week of April 2, 2018
Eli Cohen:
- Made changes to the collision code so when the paddle is moved to overlap with the puck, the puck either repels away from the paddle, or the paddle becomes invisible to the puck and doesn't collide with it.
- Next week will aim to have a fully functional game with changing puck velocity, tracked goals, and other needed changes.
- Wrote code to handle ipc between kinect and game
- Started working on feedback system
- Worked on accelerating the detection process by checking for blobs instead of center of mass after thresholding.
- Will look into gpu accleration and possible linear prediction
Week of March 26, 2018
Adilet Segizekov:
- Updated kinect code to be able to track 2 paddles
- Added performance monitoring code to paddle tracker
- Started looking into possible optimizations to reduce processing time per frame
- Worked out the math behind collisions of a moving and static circle, which was used to simulate puck and paddle collisions
- Created a functional air hockey demo where the puck can be collided with a mouse controlled padddle into a goal
- Next week will determine how to handle puck collisions with a moving paddle
- Applied image pyramid to Kinect code to downsample the stream in order to shorten processing time
- Will look into other image processing technique to shorten processing time
Week of March 19, 2018
Adilet Segizekov:
- Successfully managed to interface kinect with the jetson
- Wrote simple program to track one paddle by thresholding on the paddle's color(red) using openCV
- Made decision to code game in Python3 using pygame
- Started work coding the actual game. I now have a ball that moves around the screen and collides with the walls
- Will try to complete a game prototype with keyboard input by Monday next week
- Used openCV's Hough Circle Transform in openCV's library to detect the paddle location but decided with Adilet thresholding works better
- Will look into downsampling technique from openCV library to shorten the proceesing time
Week of March 08, 2018
Adilet Segizekov:
I installed a linux image on the Jetson and started downloading and setting up driver for the Kinect. I found a good resource on how to install the necessary components here: http://www.jetsonhacks.com/2014/07/14/jetson-tk1-microsoft-kinect-using-openkinect/ . I still have yet to test the Kinect with the Jetson.
Jonathan Wang:
I downloaded the libfreenct2 driver for the Kinect as well as other dependencies required. I've looked at several tutorials on using the library with the Kinect. I am still working on getting the input from the Kinect and how I would process that information to send it to the Jetson.
Eli Cohen:
I made the decision that the game should be coded in Python, due to Python's support for easily usable graphics libraries, and estimating that the basic math would be simple enough that Python would be fast enough to match our desired frame rate. I also started creating a plan for the structure of the game's code.