3D sensor developed using IMX53 ARM C8

 

Recently, under TU chemnitz, i developed a 3D sensor module with help of IMX Freescale ARM board (Freescale) on LINUX BSP. Task was pretty challenging because it included writing low level C driver code for the electronic connected to Laser, Kinect and (Other possibility) stereo cameras and openCV high level code to manage the meta-data comming from sensor hardware and packing it into desire format or image frames.

There was also intense code to set up communication and related authentication to send the 3D image data over internet. For this,  i used zeromq middleware to safely send the data to the web application which i am developing (sample: http://pulkit.eu:8000).

Initially, for the communication , i was using NodeJS instance on my Arm board (which was a help for me to connect it to my Node application running on server), but then i found it difficult to package it with OpenCV c++ code and C driver code for sensor-hardware. Although communication could take plave between them, but i realized that it was not feasable in future, in case we want to put this sensor in production.

The good thing for this application is that, at any time user can choose any source for 3D data like Kinect, allied stereo camera and so on.

There is also option to select any Machine learning classifier to detect different objects and persons. This application will enable user to see the desired object outlined in their web browser near to realtime.

An Embedded QT based GUI will be soon developed for this application, where user can use touch screen to select and set some settings related to camera caliberations.  I have already thought of a good design in my mind.

Currently, This is just a rough overview of this project, i will soon come to my blog and will update with good quality photos and proper long description of this project. There is always a problem for a developer to choose between writing blog or writing code. 

Here is also a sample Video (Not good quality though) for a brief basic demonstration, its enough.

For this project, i can't give my Git repository link because its not free to use outside the department.