Several facial expressions
iCat Research Platform
Experimentation Platform for Human-Robot Interaction Research
The iCat Research Platform is a research platform for studying human-robot interaction.
It consists of a user-interface robot called iCat, the Open Platform for Personal
Robotics (‘OPPR’) software, and this website for supporting an
iCat Research Community.
iCat is a plug & play desktop user-interface robot
that is capable of
mechanically rendering facial expressions. This capability makes the robot ideal for
studying human-robot interaction. The robot has been made available by Philips Research
(Eindhoven, the Netherlands) to stimulate research in this area further and in particular
to stimulate research topics such as social robotics, human-robot collaboration,
joint-attention, gaming, and ambient intelligence.
11 RC servos and 2 DC motors for facial expressions
and body control. Each of the servos or motors is used
to control an individual part of iCat:
2 x eyebrow (RC servo)
- 2 x
eyelid (RC servo)
- 3 x
eyes (RC servo)
- 4 x
lips (RC servo)
- 1 x
body (DC motor)
- 1 x
head (DC motor)
- 4 multi-colour RGBLEDs and capacitive touch sensors
that are located in the feet and ears. The RGBLEDs can
be used, for instance, to communicate iCat’s mode of
operation (e.g. sleeping, awake, busy, and listening)
- USB hub for bridging internal USB devices in iCat to
- USB webcam in the nose with a resolution of 640 x
480 pixels and 60fps. It is connected to the internal
USB hub or via the external USB plug on the back of iCat
to another computer. The USB webcam can be used for
different computer vision capabilities, such as
recognizing objects and faces.
- USB stereo soundcard and loudspeaker in feet. The
USB stereo soundcard is connected to the internal hub or
via the external USB plug on the back of iCat to another
computer. A mini jack plug for the speaker is available
for connecting external microphones. The soundcard and
speaker are for playing sounds and speech.
- Stereo microphones in feet. A mini jack plug is
available for connecting external microphones.
iCat is a user
interface robot without an onboard processor which is controlled
by a PC (laptop or desktop) via a USB cable.
for Personal Robotics (‘OPPR’)
Platform for Personal Robots (‘OPPR’) software provides a
development environment for creating applications for
user-interface robots such as the iCat. It contains software
libraries, tools and a software component model that allows OPPR
users to develop software building blocks that can be reused
easily or shared with other researchers. The OPPR system
consists of four parts: Architecture, Animation, Connectivity,
part of the OPPR system contains the DML Middleware solution and
the Console application.
The DML Middleware defines a software component
model for developing modular applications. Every module
is an executable software component, which is designed
and implemented based on the DML component model. DML
modules are runtime interactive, platform-independent,
distributed, and object-oriented. The DML model also
provides a set of DML API that allows OPPR users to
create DML modules for their specific needs. For
instance, OPPR users can write new DML modules for
controlling iCat or another personal robot.
The OPPR Console provides a framework in which the
behaviour of the system can be probed and software
modules can be added or removed while the system is
running. DML modules that are executable and can be
distributed to remote hosts are started or terminated
dynamically by the Console.
part of OPPR consists of the Animation Editor and Animation
Module, which are both optimized for the iCat user-interface
robot. The Animation Editor is a graphical tool for easily
creating animated motions for the iCat robot. The editor gives
OPPR users precise control over every actuator (servos, motors,
and multi-colour LEDs) of iCat. Once animations have been
created, they can be used in an application via the Animation
Module. The Animation Module is able to blend pre-scripted
animations and control algorithms at runtime.
part of OPPR consists of the Scripting Module. The Scripting
Module makes developing dialogues easy because it is based on
the script language Lua. This means that OPPR users do not need
to program in C++ to develop a functional DML module; they only
need to write a Lua script and load it into the Scripting
Module. Although specialized intelligence modules like vision
and speech recognition components are not part of OPPR, these
modules can be programmed in C++ by using the DML library so
that they can be optimized for performance.
part of OPPR consists of the Email Module. The Email Module of
the OPPR system can be used to read and answer emails.
provides the infrastructure for supporting an online research
community: the iCat Research Community. This website provides
up-to-date information about the iCat, software updates, and a
discussion forum. The goal of the community is to exchange
experiences with the iCat Research Platform, brainstorm on new
iCat projects or modifications, track bugs, and benchmark
applications. All support for the iCat Research Platform is
given via the discussion forum.