Metadata-Version: 2.1
Name: morphing-agents
Version: 1.5.1
Summary: Collection Of Dynamic Morphology Agents For MuJoCo
Home-page: https://github.com/brandontrabucco/morphing-agents
Author: Brandon Trabucco
Author-email: brandon@btrabucco.com
License: MIT
Download-URL: https://github.com/brandontrabucco/morphing-agents/archive/v1_5_1.tar.gz
Description: # Morphing Agents
        
        The majority of MuJoCo benchmarks involve an agent with a fixed morphology. In this package, we provide a suite of continuous control tasks, where the agent samples its morphology at runtime. Have Fun! -Brandon
        
        # Installation
        
        You may install the package directly from PyPI using the following command.
        
        ```bash
        pip install morphing-agents
        ```
        
        # Usage
        
        At this time I have created three agents with dynamic morphologies. You can instantiate them like this.
        
        ```python
        from morphing_agents.mujoco.ant.env import MorphingAntEnv
        env0 = MorphingAntEnv(num_legs=4, expose_design=True)
        
        from morphing_agents.mujoco.dog.env import MorphingDogEnv
        env1 = MorphingDogEnv(num_legs=4, expose_design=True)
        
        from morphing_agents.mujoco.dkitty.env import MorphingDKittyEnv
        env2 = MorphingDKittyEnv(expose_design=True)
        ```
        
        These environments inherit from `gym.Env` and can be used as such. The parameter `num_legs` determines the number of legs in the agent's design specification, which is sampled at random at the beginning of an episode. The parameter `expose_design` vectorizes the design specification and concatenates it with the observation.
        
        # Package Structure
        
        The package is organized such that for every agent, there is a `elements.py` and `designs.py` file that specifies the atomic design elements, and combinations of these elements in a list format respectively. In addition, each agent has a default design present in its `designs.py` and a `sample_uniformly` function for sampling designs.
        
        Each agent expects to have an `expose_design` parameter, and possibly a `num_legs` parameter if the number of legs can change. For environments like the DKitty, where this number cannot change, it is omitted from the constructor arguments of the environment class. Each environment conforms to `gym.Env`.
        
Keywords: MuJoCo,Agents,Dynamic Morphology
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
