Embodiment (2010 version)
THIS PAGE IS OBSOLETE
Embodiment is a system of components for OpenCog that are designed to control an avatar, although that avatar may be in a virtual world or a robot in the real world.
This page documents Embodiment as it was in the 2007-2014 timeframe, The code that implemented this version was removed from github in 2015.
Please see New Embodiment Module, March 2015 for the new Embodiment architecture which, at time of writing in August 2015, is largely but not entirely in place.
The remainder of information on this page is not current, and is obsolete.
OLD INFORMATION BELOW!!
The Embodiment system uses a proxy to connect to the world where the agent's body lives. The proxy provides an interface for collecting perceptions from the world and for commanding the agent's body through action plans.
Note: The Embodiment system traditionally called the agents being controlled "Pets" due to the project it was founded on being focussed on virtual pets. However we are in the process of renaming them to "Avatar". If you see old references to pets please feel free to change them (you can ask on the discussion list or IRC room first if you are unsure).
Architecture
- Embodiment Architecture Description
- Design for Embodiment Communications Layer
- Embodiment Spawner Design
- Code organization notes
- Notes on How to Build an Embodiment Proxy
Components and Modules
- Operational Avatar Controller - coordinates the control of the avatar.
- Learning Server - provides several mechanisms to make the agent learn sequences of actions.
- PAI (Perception & Action Interface)
- Rule Engine - Avater's rule based system behavior.
- OpenPsi - Part of the Rule Engine is going to be replaced by OpenPsi, a variant of MicroPsi for OpenCog.
- Petavese parser - A module responsible for processing NL commands. The Petavese parser converts NL into Predavese.
- Predavese handlers - converting Predavese into agent commands.
- SpaceServer
- Embodiment Proxies - allow the embodiment system to connect to various environments, virtual or real.
Feelings and Predicates
Functionalities and features
- Desired Functionalities for Embodiment
- Agent's personalities definitions
- Learning Functionalities (both implemented and desired)
- Status of 3D Modeling and Animations for Embodiment
System usage and tests
Miscellaneous
- Embodiment Combo
- Status of combo implementation (it's probably out of date)
- Behavior Similarity Algorithm
- Behavior Descriptions (BDs)
- Dogs Behavior In Combo Language
- Retrieving BDs and Exemplars
Occams Razor
Ben's notes and ideas
These are pages written by Ben that may still be useful for further work:
- Naturalistic animations
- Background on virtual pets
- Ben's SpaceServer design (as an improvement to the current RudimentarySpaceServer: not sure this still stands or is desirable.
Language Comprehension
(this stuff is all semi-obsolete, I'm not sure it will ever be used again because the NLP comprehension pipeline has been massively upgraded since this old NLP/Embodiment work was done)
- Pipeline
- Relex and frames adaptation
- Anaphora Resolution
- Object's properties considered
- Reference Resolution
- Command Resolution
- NLGen
- Question answering
- Dialog Controller
- Frames to Atoms conversion
Others
- see RelEx.