The Mind Project Programming Group has several projects that additional researchers could join. These projects, when put together, form the basis for the Mind Project's mobot.

If you are interested in working in one of these areas, please contact us.

Current Jobs

Currently, we are working on the Iris.3 Windows project. The goal of this project is to get a simple system of programs up and running in the near future. Our first goal for this project is to produce a robot with the same functionality as Iris.1 while improving the stability and resuability of the applications involved.

We have the basic framework already set up for this project. There is still work to be done though! We could use help in the following areas:

Text to Speech

Text to Speech is a technology that allows us to give Iris her voice. We have a TTS package from Lucent Technologies that we can use in our programs, but we still need someone to write the code to implement it. Additionally, we would like to find out what alternatives to our TTS program are out there right now.

Movie Support (Avatar)

While this is technically not part of the Iris.3 robot, the program must have the ability to integrate the Virtual Cyd avatar integrated into the program. As of now, Cyd exists only in movie files that our program will play. We need to develop a solution to play movie files in our program. Eventually, we would like to create some sort of avatar for Iris as well, possibly an animated face or something similar.

Keyword/Action logic

Iris.3 will receive input from PT with the information it needs to perform actions. The actions, which used to be hard-coded in the programs, now reside in a configuration file (action file). Keywords are mapped to specific actions, and Iris parses through the input strings from PT searching for keywords. While the current system works, we would like to improve on it and make it more robust.

Action File Creator

We would like to create an action file creator utility to reduce the time and effort expended in creating action files.

Contact Us

Central control program

The central control program serves to link up all of the different software modules that are used by the mobile robot. We have adapted the Shelley Integrated Environment (SIE) from Illinois Wesleyan University to serve as the central control program for the robot. It is written almost entirely in C, with some parts coded in C++. It makes use of socket connections to facilitate communication between different software modules.

Working on the central control program will require knowledge of C and C++. Previous experience working with sockets would be helpful. The 'SIE expert' will be responsible for overseeing all modifications and additions to SIE, as well as helping application developers communicate with SIE. For more information on SIE please see IWU's page,, which contains a general overview of the system, and sieintro.php, which contains detailed information on how SIE is being used for the project.

Contact Us

Vision system

In order for the robot to be able to play tic-tac-toe against a human, it must be able to recognize when a square contains an 'X' and when a square contains an 'O'. To accomplish this, a neural network must be trained to reconize X's and O's. To help with this task, a student from Illinois Wesleyan, who is experienced in neural networks, will be working with the students responsible for the vision system. The vision system will take input from the frame capture device, and return a logical representation of the current game state.

Students interested in working on the vision system should be comfortable programming in C and at least familiar with C++. For more information on the vision system, please see:


Contact Us

Arms device

The arms are manipulated through the use of scriptfiles. The software to interpert scripfiles has been written. Scripts to tell the arms how to move to the tic-tac-toe board and how to draw X's and O's are still needed. The student working on this needs only minimal programming experience. This would be a great way for a freshman to get involved with the project. For more information on the arms, please see:


Contact Us


ProtoThinker is a program written in prolog which simulates the cognitive process of the mind. ProtoThinker is to be used as the primary interface a human has with the robot. Students who are interested in working with prolog, natural language processing, and/or deductive/moral reasoning would find the ProtoThinker project appealing. For more information, please contact Matt Eisenbraun at (BAD EMAIL ADDRESS).

Contact Us

Agent control program

The job of the agent control program will be to control the actions of the robot, making use of available hardware and software resources. In the current context, this will largly mean providing a bridge between protothinker, the primary human interface, and the rest of the system through the use of SIE (see 'Central Control Program', above).

Students working on the agent control program will work closely with the students working on Protothinker. Students interested in working on the agent control program should have a good knowledge of C programming and an interest in natural language processing. For more information on the agent control program, please e-mail Matthew Eisenbraun at (BAD EMAIL ADDRESS).

Contact Us

Machine Learning

The robot will not simply be programmed with 'winning' algorithms for tic-tac-toe. Rather, we want several 'learning' programs, so that it will 'learn' how to win the game by 'experience'. We already have two such programs written. But we want at least one other. Students interested in this area would:

  1. Become experts on the learning programs that we already have,
  2. Write some webpages explaining different learning strategies in AI, and
  3. Write a new learning program for tic-tac-toe -- and maybe other games.

Contact Us