TeamTalk consists of a set of software components that are used to interface via spoken and graphical modalities with teams of robots. This software is built using the Olympus framework. The software is currently alpha, and is not currently licensed for any kind of use.
The following is a list of system requirements for running a binary version of the system. All of the following must be installed for a fully functional system.
|Requirement||Required By Component|
|One or more Cepstral voices. We recommend: Callie, David, Diane, and William.||Kalliope uses Cepstral for its TTS output.|
|ActiveState's ActivePerl.||TeamTalkNLG uses the Perl module Rosetta.|
|RedHat's Cygwin environment.||The CMU-Cambridge SLM Toolkit language modeling software is compiled with Cygwin tools. At the very least the cygwin1.dll must be in the path. Since the dll is not normally in the path, one must either manually edit the path, or copy the dll into the %SYSTEMROOT%\win32 directory.|
|The Java Runtime Environment.||PenDecoder, the map GUI, is written in Java.|
|Microsoft 2005 C++ redistributable package||Probably necessary if one does not have Visual Studio .NET or Visual Studio 2005 installed.|
The following table is a list of development tools that may be needed to develop the system. This list is in addition to the runtime requirements above.
|A Subversion client such as TortoiseSVN.||The source code is stored in a Subversion repository.|
|Microsoft Visual Studio .NET. The AnkhSVN subversion plug-in is also recommended.||Most of the components, including Helios3, Kalliope, Audio Server, Sphinx Engine, NLGServer2, Phoenix2, PrimitiveComm, Ravenclaw, TeamTalkBackend, and TeamTalkDM are all developed in this development environment.|
|Cepstral's Swift SDK, version 3 or better.||Required to compile Kalliope TTS.|
|Sun's Java SDK and Netbeans IDE. The Netbeans Subversion plug-in is also recommended.||These are required for editing and compiling the PenDecoder.|
- Install the run-time requirements as described in the Run-time Requirements as well as whatever developments tool may be required as decribed in Compile-time Requirements.
- Get the following TeamTalk sources from the Subversion repository. Ask Thomas Harris <firstname.lastname@example.org> for access if needed. TortoiseSVN is recommended.
- If you want the main development trunk: http://edam.speech.cs.cmu.edu/repos/teamtalk/trunk/TeamTalk (~47MB)
- If you want the latest, as of 8:13 PM, Septemeber 2, 2007 (EST), semi-stable version: http://edam.speech.cs.cmu.edu/repos/teamtalk/tags/BTH-0.2/TeamTalk (~47MB)
- Copy the Cepstral sdk directory to TeamTalk\Libraries\Cepstral\sdk.
- Run the TeamTalk batch file, TeamTalk\TeamTalkBuild.bat. It will take around 4-10 min, depending on the speed of your system, for all the files to build.
TeamTalk has a consolidated configuration file that described the robots that it needs to interface with. The file must be created before running the system. To do this, copy the plain-text file TeamTalk\Configurations\DesktopConfiguration\peerfile-example.txt to TeamTalk\Configurations\DesktopConfiguration\peerfile.txt. Edit the latter file to match your robot configuration.
The file consists of lines of the form
robotname ipaddress[:portnumber] voicename safe/dangerous
optrader ipaddress optrading_robotname
The robot portnumber is optional and defaults to 32788. Lines that start with a # are comments.
Here's an example:
#current local test alphie 127.0.0.1:32788 callie safe bashful 127.0.0.1:32787 david dangerous optrader 127.0.0.1 alphie mapserver 127.0.0.1
This example states that there are two robots, but running on localhost at the specified ports. An optrader server is also running on the localhost, alphie is the optrading robot, and a mapserver is running on 192.168.99.105. The optrading robot is a holdover that no longer has any meaning. At one time the optrading robot was the robot whose coordinate frame was used as the global coordinate frame. Never-the-less an optrading robot must still be supplied to the configuration, and it must be set to one of the operational robots.
Real Robots in the Field
TeamTalk is an interface to robots. For times when robots are not handy, and for testing the interface itself, two simulators have been developed, a low fidelity simulator and a high fidelity simulator.
This simulator simulates a group of robots who operate without sensors and with no coherent world model. They hallucinate a static map, but are not bound to unobstructed areas. This simulator is mostly useful for simple and quick testing of the front-end.
First, one must supply a configuration that specifies robots running on the local host. The configuration example in Configuration specifies two robots, an optrader, and a mapserver all running on localhost. From the TeamTalk\Configurations\DesktopConfiguration directory, run:
..\..\Agents\TeamTalkBackend\backendstub\Release\backendstub.exe --peerfile peerfile.txt --mapserver
Starting the System
- Bootstrap a language model using MakeLM. This only needs to be done once, before the first time that the system is launched. When you compile the system using TeamTalkBuild.bat or TeamTalkRebuild.bat, this will be done automatically for you.
- From the TeamTalk directory run:
TeamTalkRun.batIt may be useful to create a shortcut to this. The first time it runs you may need to unblock a number of programs.
- Once the GUI has been launched, press the Start Session button. The robots should introduce themselves.
TeamTalk is a graphical and spoken language interface for teams of heterogeneous robots. The target scenario is a treasure-hunt scenario in which people and robots work together in the field looking for some specified treasure. The people interact with each other as well as with the robots. It has been designed so that a person carrying a small tablet and wearing a headset attached to that tablet can view the status of the robots and their conception of the environment on the tablet, and may also direct the robots via speech and/or through tablet-pen gestures.
TeamTalk software should be considered to be in an alpha state. It is under development.