Home | Courses | Research | Ríomhclar Ceol | Projects | Links | Robocode | Imagine Cup | Serious Games | CGAMES2006 | Contact

Current Project Ideas

I am interested in doing research in the following areas:

  • Music & AI
  • Games
  • Direct 3D/OpenGL/Java 3D
  • Applications for mobile devices (J2ME, eMbedded VC++)

Robocode

Some current ideas are listed below. I will be adding to this as new ideas occur to me!

Title: Thunderbird plugin for Windows Desktop Search
Abstract:
Windows Desktop search doesnt support the indexing of Thunderbird emails. The aim of this project would be to use the Thunderbird source code and the Windows Desktop Search SDK to develop a plug in to allow this. Also, the Windows Sidebar needs a decent plugin for Google Calendar and Thunderbird email.

Title: DogBot
Abstract:
My dog loves to fetch things. He is obsessed with it. The aim of this project woud be to develop a Robot that could trow a ball for a dog to fetch. The Robot should be capeable of picking up the ball when the dog returns it and issuing speech commands to the dog. It should be possible to augment an existing robot to do this, for example RoboQuad or Lego Mindstorms.

Title: TunePal port to Symbian OS
Abstract:
More information on TunePal here & here . The aim of this project would be to port TunePal from PocketPC to the Symbian OS.

Title: Robot simulation using the Open Dynamics Engine
Abstract:
The aim of this project would be to program a virtual world using DirectX, OpenGL, or Ogre and the Open Dynamics Engine, (the physics engine used in games such as Stalker: Shadow of Chernobyl) to build a simulated world for a programmable robot to inhabit. The robot, might be a fork lift or be a humanoid and would have to perform physical tasks in the world.

Title: A framework for teaching programming using an augmented Robosapien
Abstract:
Robots have been used for over 20 years to teach the basic concepts of programming to students (See here and here). A robosapien is a sophisticated robot toy that can be controlled and programmed by using an IR remote control. Robosapien can walk on two legs (forwards and backwards) and turn left and right. It also has two independent arms, with claws that can be used to pick up items. Robosapien can be programmed to carry out a series of movements via its remote control. This project would involve the creation of a programming environment on the PC so that sophisticated robosapien programs could be constructed. The framework would allow sequence, selection and iteration constructs. Robosapien could also be augmented with feedback sensors, such as a webcam. The framework should hide the details of image processing, so that simple commands such as "Find the red ball and bring it back" could be issued. Speech technology could also be included in the framework, so that Robosapien could be controlled by speech. A key feature of the framework would be that it should be "robot neutral", so that alternative robots should be supported.

Title: A Music Editing Suite for a PDA
Abstract:
This project would be an enhanced version of TunePal that would allow editing of music scores (in ABC format) on a PDA. Music could be edited directly in the ABC format, or graphically using a stave. The program should also allow tunes to be beamed using bluetooth or IRDA so that tunes can be easily shared. It could also facilitate the transmission of tunes to a central shared database somewhere on the network.

Title: Automatic tagging of traditional music audio data.
Abstract:
The aim of this project is to use Fourier Analysis to transcribe part of an MP3 recording of a piece of music and use performance score matching techniques to search for the score in say an ABC database of musical scores.

Title: Using music to teach programming
Abstract:
The concept of learning styles is well established. Kolb describes musical/rhythmic intelligence as being "based on the recognition of tonal patterns, including various environmental sounds, and on a sensitivity to rhythm and beats." There is a package called JMusic that allows playing musical notes through Java. There has also been some interesting work done on using mathematics to compose music. For example, there is an example that uses the Fibonachi series to generate notes. This project would be to create a programming course that teaches programming and algorithms, using musical output to illustrate the concepts. For example, to teach the if statement a student might write a program play different notes based on the values of a boolean expression.

Likewise for teaching loops using the while loop and for loop, the student might write a program to play sequences of notes depending on a loop counter. Harmony could be used to illustrate advanced concepts, such as nested
looping. Some interesting algorithms that might be developed would be Prime numbers, pascal's triangle, recursive searching. The audible feedback would reinforce the concepts and help students understand what was going on. Part of this project would be to have students evaluate the course to find out how useful the musical component was.

Title: Electronic tune teacher
Abstract:
At a traditional music class to teach a tune, the teacher typically breaks the tune down into smaller phrases. The teacher then plays a phrase and the students repeat the phrase until it is learned. Then the teacher moves onto the the next phrase. This project would be an electronic version of the tune teacher. It would use the ABC files as input. The program would first analyse a tune to be learned and break it into manageable phrases, depending on the users ability. Then the program would play the phrase and allow the user to play it back. The program would repeat this until the student got it right. This would require the program to be able to analyse the piece the student played for accuracy. Once the student gets it right, the program would move onto the next phrase. The
program should also support speech commands, so that a student could control the program without leaving down their instrument.

Title: Electronic music arrangement and composition software for blind and visually impaired users
Abstract:
Programs like eJay allow musicians and non-musicians alike to arrange music. These programs typically have a number of tracks that a user can arrange pre-recorded sound files on. They typically come with several thousand sound samples. The programs are geared for the creation of electronic dance music. The problem with these programs is that they use proprietary, non-windows controls and so can not be accessed using standard screen reading programs. This means the programs are inaccessible to blind and visually impaired users. This project would involve the creation of an alternative system specifically for use by blind and visually impaired users. It could use a number of feedback and control mechanisms, such as speech technology, or haptic feedback devices such as vibrating mice or joysticks.

Title: ActiveSync between a PocketPC and the Opera Browser
Abstract:
The Opera web browser is a popular and full featured alternative to Internet Explorer. Opera has an address book feature, for storing email addresses. There is however, a limited import facility and there is no way to synchronise the Opera address book, with address books from other programs. A further problem is that Opera has no built in calendar. This project would explore the possibility of creating an ActiveSync link between the Opera address book and the Address book on a Pocket PC. A further enhancement would be the creation of an online calendar application that could synchronise with the calendar on a pocket PC. The framework should be developed in a flexible manner to support different configurations of mobile devices and PC equivalents.

Title: Augmented Reality Musical Instrument
Abstract:
This project would involve the creation of an augmented reality tool for musical performance. It would work by feeding a live image of the performer into a computer system using several webcams. The image of the performer would then be projected onto a screen, where the performer could see himself. The system would augment the image with a user interface for creating music. The performer could control the system by interacting with the augmented image, starting and stopping tracks, affecting the pitch, choosing samples etc. The system could support the creation of various types of music, but perhaps a complementary music form to use would be electronic dance music.

Feel free to contact me if you are interested in undertaking projects or collaborations in any of these or related areas.

Resources for undergraduate/MSc project students:

Getting started with Eclipse and Tomcat

Getting started with Tomcat and NetBeans

The student management project - Demonstrates a simple JSP/Java Beans framework. HTML and VXML interfaces to a shared database

The DIT Library eJournal portal

Last Updated: 5 October 2008
Contact me at: bryan.duggan@dit.ie