Monday, March 25, 2013

GPGPU accelerated fully automated tool path planning system for 5-axis CNC milling machine (something like a CAM)

This system was developed as a part of my dissertation. It takes an STL file as an input and produces a valid G-code (guaranteed no collisions between tool and material) for a 5-axis machine (it was designed and tested on Okuma table/table machine). Everything is developed completely from scratch, including: geometry representation, all math, all geometry algorithms, postprocessor, etc. It performs almost all calculations on GPUs (actually tested on 3 GPUs) and written in Python, C++ and OpenCL. The current implementation works with ball-end cutters only and has some other limitations but it works. Here are some results: input models and machining results.

GPGPU accelerated 5-axis CNC milling simulator

It is a 5-axis milling simulator that works on 3 GPUs and produces nice results. It was developed completely from scratch as a part of my dissertation. All geometry editing math and algorithms are done from scratch. Rendering engine also written from scratch in OpenCL and it is kind of software rendering that actually runs on GPUs. Here are some examples (tool paths were generated by the early described system):

GPGPU accelerated 3-axis CNC milling simulator and tool path planning system

Implementation of some 3-axis path planning and simulation algorithms that work on GPU. The idea was to process an input STL file and generate a valid G-code for 3-axis CNC machine. Here are some results.

Lane Departure Warning Prototype

Another 3-days long prototype developed as a final project for Computer Vision and Vehicular Electronics classes. This prototype uses Python+OpenCV. It captures video from a web-cam mounted on a rear-view mirror, process it and shows if a car is moving out of a lane. The video shows real-world test.

Head tracking based 3d visualization

It was the final project for the computer vision curse. The idea is to track a user head position and render a teapot in a way that it looks like a 3d object flying in front of a screen. Works not perfect but it's cool enough for 2-day prototype. It uses C++, OpenGL, FaceAPI.

My first 3D game :)

Developed with C++ and DirectX at the high school back in 2004.