- Currently working on an Honours project titled 'Application of real-time SLAM in a Remote Guidance Scenario'. SLAM (Simultaneous Location And Mapping) has been intensively studied in the robotics community in the past. Several algorithms for SLAM using depth sensing cameras such as the Microsoft Kinect have been have been implemented. My project aims to analyse/improve this SLAM performance by either modifying the original algorithm, or by coming up with a novel algorithm such that we have a real-time (or as close to real-time as possible) application in which a map of any unseen environment is created using a depth-sensing camera, and displayed live in real-time on any remote location in a web browser.
Moreover, my project also aims to look into various ways in which we can interact with the different objects scanned via the SLAM technique without hampering the performance of the SLAM algorithm, for example, looking at static or dynamic objects, trying to segment separate objects as unique entities like planes, models, etc. and displaying them with different properties.
All the rendering and interaction with the point-clouds created is done via a simple web-browser using WebGL. Thus, all that a user has to do is open a web-page and he is ready to view the SLAM map and collaborate with the other users.
My project will be applied to a remote-guidance scenario, where a worker entity will create a map of the local environment which it interacts with, and a helper entity, which will look at this live-streamed map and guide the worker accordingly.
- Undertook a research project in which we introduced the concept of Fuzzy Signature Neural Networks. A fuzzy signature neural network is an artificial neural network that uses fuzzy signatures as activation functions. Subsequently, wrote a report in which we discussed the theory and methodology behind creating such a neural network. A Severe Acute Respiratory Syndrome (SARS) pre-clinical diagnosis system using fuzzy signatures was constructed as an example to show the use of the fuzzy signature neural network. The paper ended with a short discussion on the advantages and disadvantages of such a neural network and future research work possible in connection with fuzzy signature neural networks.
- Successfully completed a Project to create a web based tool which ranks various research venues (conferences and journals)
- This involved us spidering our own mini-database from the Microsoft research website (http://academic.research.microsoft.com/) using JAVA
- Created, maintained and worked on a large-scale database using MySQL
- Researched various statistical tools and models to come up with algorithms which rank various conferences and journals fairly across all disciplines
- Created a web based tool which interacts directly with the database (even lets the users create new SQL queries and run them on the database directly)
- Created a molecular simulation using PYTHON where each molecule interacts with other molecules in its neighbourhood and moves according to the various forces exerted on it. Ported the code to C to compare the runtimes and efficiency of Python vs C. Also we tested the program on an ULTRASPARC T2 for some hardware performance counter data of our C code, which included metrics such as Cycle counts, L1/L2 cache miss rates, Instr/Cycle, and branch mispredictions
- Created a cloth simulation which was optimised for performance on the ULTRASPARC T2 using the results from the previous simulations. Also ran the program concurrently using the OpenMP API for C and conducted various experiments on how different loads on each thread, different number of concurrent threads and other such factors influence the performance of the simulation. Converted the OpenMP part of the C code, to CUDA, so that the simulation was run on a GPU with concurrent threads instead of on a CPU. Compared the performance of GPU vs CPU on how different instruction mixes, numbers of threads, amount of work each thread does and other such variations.
- Created a simulation of 4 players playing the card game SPOON against each other using ADA. The main aim of this was to implement and understand more about parallel processes and the problems faced in the successful interaction and communication between such processes
- Used C to create a scenario where 1000's of clients send a job (in our case, simple arithmetic) to a ring of servers, where the servers divide up the numerous incoming tasks within themselves and send the answer back to the respective clients individually. This made use of efficient implementation of message passing, scheduling and complex structures like pipes and sockets.
- Designed and implemented an LDAP authentication proxy server in C having features such as secure caching of the username and passwords, and rate throttling to prevent brute force attacks.
- Used JAVA extensively to create efficient SAT Solvers and agents which use learning algorithms like SARSA and Q-Learning to learn more about the environments they are working in and act accordingly in order to maximise their rewards in a windy gridworld (a minesweeper like environment)
- 2D and 3D graphics using JAVA and OpenGL. Examples of some applications created are - simple drawing tool (like MS-Paint), creating games like Snake, Bricks, CrazyTaxi and creating complex animations like Rubik's cube solving and dominoes falling over in complex patterns.
- Implemented Programs in C, andconverted the same to Machine Language (using the load-store type RISC commands and accessing memory addresses directly)
- Analysed and wrote essay on "Ethics and the IT Professional" on a real world case study based on the ACS code of ethics.
- Converted the main web page of the Commonwealth Games 2010 website from HTML(4.01) to XHTML(v1.1) while helping rectify the various accessibility and design issues with the webpage and creating various supporting CSS to help with printing, visually impaired and proper rendering on mobile phones and other small media devices.
- Created various fractals, animations and simple interactive applications (balls bouncing around in a cube, being repulsed away from the mouse pointer, walls inside the cube moving in response to keyboard input) using HASKELL and OpenGL.
- Created, maintained and queried databases using MySQL.
- Created database based on ebay's user feedback system using hash tables and linked lists in C, and to implement simple SQL commands like insert, lookup and delete.
- Used Rattle tool and language R for detailed analysis and report writing on a UCI machine learning dataset using data-mining tools and techniques.
- Implemented, tested and compared the performance of various algorithms such as Prim's, Kruskal's and Djikstra's on randomly generated graphs in C using adjacency lists for sparse graphs and adjacency matrices for dense graphs.
- Created simple animations using the open source software Blender.