A number of software components have been developed by JAMES project partners and used on the JAMES robot system. Many of these components are available directly from the project partners. Some packages maintained by particular project partners are listed below, along with a number of third-party software packages that were used on the project.

Maintained packages

A number of software packages used on JAMES are maintained by individual consortium partners. These packages continue to be developed outside the JAMES project. Links to the official websites for these packages are given below.

  • Robotics Library (RL): An open source C++ library for robot kinematics, motion planning and control. Used on JAMES to control the physical robot platform.
  • Bounding Mesh: An open-source C++ library for single-sided mesh simplification to increase the efficiency of robot motion planning, collision checks, and distance queries.
  • Planning with Knowledge and Sensing (PKS): A C++ library for symbolic planning. PKS is a knowledge-level conditional planner that is able to construct plans in the presence of incomplete information. Used on JAMES for high-level social, dialogue, and physical action selection.

Third-party software

The JAMES project has benefited from a number of third-party software packages which have been used during the development, deployment, and evaluation of the JAMES system. Links to some of these tools are given below.

  • Internet Communications Engine (Ice): A modern object-oriented toolkit that enables you to build distributed applications with minimal effort. Used on JAMES to support communication among the distributed components of the system.
  • Kinect for Windows: An SDK that enables developers to create applications that support gesture and voice recognition by using Kinect sensor technology on computers running Windows 7 or greater. Used on JAMES for automated speech recognition.
  • OpenCCG: An open source natural language processing library written in Java, which provides parsing and realization services based on Mark Steedman's Combinatory Categorial Grammar (CCG) formalism. Used on JAMES for both parsing and surface realisation.
  • Weka: A collection of machine learning algorithms for data mining tasks, written in Java. Used on JAMES for data-driven social state recognition.
  • OpenCV: An open source computer vision and machine learning software library. Used on JAMES for computer vision.