OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-rocca / tests / test_cartpole.py

32 lines · python ref:
import time

import gym

from opencog.atomspace import AtomSpace
from opencog.utilities import set_default_atomspace

from rocca.utils import *
from rocca.agents.utils import *
from rocca.envs.wrappers import CartPoleWrapper
from rocca.agents.cartpole import FixedCartPoleAgent


# Test if a simple CartPole run works
def test_cartpole():
    env = gym.make("CartPole-v1")

    # Set main atomspace
    atomspace = AtomSpace()
    set_default_atomspace(atomspace)

    # Wrap environment
    wrapped_env = CartPoleWrapper(env, atomspace)

    # Instantiate CartPoleAgent, and tune parameters
    cpa = FixedCartPoleAgent(wrapped_env, atomspace)
    cpa.delta = 1.0e-16

    # Run control loop
    while not cpa.control_cycle():
        time.sleep(0.1)