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. 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).
- 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.
- 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
- Behavior Similarity Algorithm
- Behavior Descriptions (BDs)
- Dogs Behavior In Combo Language
- Retrieving BDs and Exemplars
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.
- Relex and frames adaptation
- Anaphora Resolution
- Object's properties considered
- Reference Resolution
- Command Resolution
- Question answering
- Dialog Controller
- Frames to Atoms conversion
- Mike Ross' document about what RelEx is able to handle: this is not the right place to document RelEx bugs -- see RelEx instead.