Exemplo n.º 1
0
import logging

# Add "tol" directory to Python path
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')

from tol.config import parser
from tol.manage import World
from tol.logging import logger, output_console

# Log output to console
output_console()
logger.setLevel(logging.DEBUG)

# Add offline evolve arguments
parser.add_argument('--population-size',
                    default=10,
                    type=int,
                    help="Population size in each generation.")

parser.add_argument('--num-children',
                    default=10,
                    type=int,
                    help="The number of children produced in each generation.")

parser.add_argument(
    '--keep-parents',
    default=True,
    type=lambda v: v.lower() == "true" or v == "1",
    help=
    "Whether or not to discard the parents after each generation. This determines the strategy, + or ,."
)
Exemplo n.º 2
0
import os
import sys

sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..'))

from revolve.convert import yaml_to_robot, robot_to_yaml
from revolve.spec.exception import err

from tol.spec import get_body_spec, get_extended_brain_spec
from tol.config import parser

parser.add_argument('file_name',
                    metavar='FILENAME',
                    type=str,
                    help='path to input YAML file')
parser.add_argument('-o',
                    '--output',
                    type=str,
                    default='output.yaml',
                    help='name of the output file')
parser.add_argument('--type',
                    type=str,
                    default='Simple',
                    help="type of the neurons in the cpg")

parser.add_argument(
    '--loopback',
    action='store_true',
    help='If this flag is set, output signals are looped back to CPGs')

parser.add_argument(
Exemplo n.º 3
0
from revolve.util import wait_for

from tol.manage.robot import Robot
from tol.config import parser
from tol.manage import World
from tol.logging import logger, output_console
from tol.util.analyze import list_extremities, count_joints, count_motors, count_extremities, count_connections

# Log output to console
#output_console()
logger.setLevel(logging.INFO)

# Add offline evolve arguments
parser.add_argument('--population-size',
                    default=10,
                    type=int,
                    help="Population size in each generation.")

parser.add_argument('--num-children',
                    default=10,
                    type=int,
                    help="The number of children produced in each generation.")


def str2bool(v):
    return v.lower() == "true" or v == "1"


def printnow(s):
    print(s)
    sys.stdout.flush()
Exemplo n.º 4
0
# from sdfbuilder import Pose, Model, Link, SDF

# ToL
from tol.config import parser
# from tol.manage import World
from tol.logging import logger, output_console
# from revolve.util import multi_future
from tol.triangle_of_life import Food_Grid, RobotAccount, EvolutionManager

# Log output to console
output_console()
logger.setLevel(logging.DEBUG)

parser.add_argument("-n",
                    "--num-initial-bots",
                    default=3,
                    help="Number of initial bots",
                    type=int)

# parser.add_argument("-f", "--fast", help="Short reproduction wait.",
#                     action="store_true")

parser.add_argument(
    '--robot-file',
    type=str,
    help="path to file containing robot morphology description in YAML format")

parser.add_argument(
    '--brain-genotype-file',
    type=str,
    default=None,
Exemplo n.º 5
0
import os
import sys

sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..'))

from revolve.convert import yaml_to_robot, robot_to_yaml

from tol.spec import get_body_spec, get_brain_spec
from tol.config import parser

parser.add_argument('file_name',
                    metavar='FILENAME',
                    type=str,
                    help='path to input YAML file')
parser.add_argument('-o',
                    '--output',
                    type=str,
                    default='output.yaml',
                    help='name of the output file')


def main():
    conf = parser.parse_args()

    in_path = conf.file_name
    out_path = os.path.join(os.path.dirname(in_path), conf.output)

    with open(in_path, 'r') as yamlfile:
        yaml_bot = yamlfile.read()

    body_spec = get_body_spec(conf)
Exemplo n.º 6
0
# Add "tol" directory to Python path
sys.path.append(os.path.dirname(os.path.abspath(__file__))+'/../')

from tol.config import parser
from tol.manage import World
from tol.logging import logger, output_console

# Log output to console
output_console()
logger.setLevel(logging.DEBUG)

# Add offline evolve arguments
parser.add_argument(
    '--population-size',
    default=10, type=int,
    help="Population size in each generation."
)

parser.add_argument(
    '--num-children',
    default=10, type=int,
    help="The number of children produced in each generation."
)

parser.add_argument(
    '--keep-parents',
    default=True, type=lambda v: v.lower() == "true" or v == "1",
    help="Whether or not to discard the parents after each generation. This determines the strategy, + or ,."
)
Exemplo n.º 7
0
# Revolve / sdfbuilder
from sdfbuilder.math import Vector3
from sdfbuilder import Pose, Model, Link, SDF

# ToL
from tol.config import parser
from tol.manage import World
from tol.logging import logger, output_console
from revolve.util import multi_future

# Log output to console
output_console()
logger.setLevel(logging.DEBUG)


parser.add_argument("-s", "--seed", default=-1, help="Supply a random seed", type=int)
parser.add_argument("-n", "--num-initial-bots", default=3,
                    help="Number of initial bots", type=int)
parser.add_argument("-f", "--fast", help="Short reproduction wait.",
                    action="store_true")

parent_color = (1, 0, 0, 0.5)
child_color = (0, 1, 0, 0.5)
insert_z = 1.5





@trollius.coroutine
def sleep_sim_time(world, seconds, state_break=[False]):
Exemplo n.º 8
0
import sys
import os

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../")

from tol.config import parser
from tol.spec import get_brain_spec
from tol.triangle_of_life.encoding import GeneticEncoding
from tol.triangle_of_life.convert import NeuralNetworkParser, yaml_to_genotype

parser.add_argument('--genotype-file-1',
                    type=str,
                    help="path to YAML file containing brain genotype")

parser.add_argument('--genotype-file-2',
                    type=str,
                    default=None,
                    help="path to YAML file containing brain genotype")


def main():
    conf = parser.parse_args()

    brain_spec = get_brain_spec(conf)
    print "READING FILES!!!!!!!!!!!!!!!!!!!"
    with open(conf.genotype_file_1, 'r') as gen_file1:
        gen_yaml1 = gen_file1.read()

    with open(conf.genotype_file_2, 'r') as gen_file2:
        gen_yaml2 = gen_file2.read()
Exemplo n.º 9
0
# ToL imports may require the system path
sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..'))

from tol.manage.robot import Robot
from tol.config import parser
from tol.manage import World
from tol.logging import logger, output_console

# Output to console and enable debug logging
output_console()
logger.setLevel(logging.DEBUG)

# Environment parameters
parser.add_argument(
    '--world-diameter',
    default=50, type=float,
    help="The diameter of the environment in meters."
)

parser.add_argument(
    '--num-wall-segments',
    default=12, type=int,
    help="The number of segments the arena wall will consist off."
)

parser.add_argument(
    '--birth-clinic-diameter',
    default=4.0, type=float,
    help="The diameter of the birth clinic in meters."
)
Exemplo n.º 10
0
# ToL imports may require the system path
sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..'))

from tol.manage.robot import Robot
from tol.config import parser
from tol.manage import World
from tol.logging import logger, output_console

# Output to console and enable debug logging
output_console()
logger.setLevel(logging.DEBUG)

# Environment parameters
parser.add_argument(
    '--world-diameter',
    default=50, type=float,
    help="The diameter of the environment in meters."
)

parser.add_argument(
    '--num-wall-segments',
    default=12, type=int,
    help="The number of segments the arena wall will consist off."
)

parser.add_argument(
    '--birth-clinic-diameter',
    default=3.0, type=float,
    help="The diameter of the birth clinic in meters."
)
Exemplo n.º 11
0
import trollius
from trollius import From, Return
from revolve.util import multi_future, wait_for, Time
from tol.config import parser
from tol.manage import World
from tol.logging import logger, output_console

# Output to console and enable debug logging
output_console()
logger.setLevel(logging.DEBUG)

# Environment parameters
parser.add_argument(
    '--world-diameter',
    default=50, type=float,
    help="The diameter of the environment in meters."
)

parser.add_argument(
    '--num-wall-segments',
    default=12, type=int,
    help="The number of segments the arena wall will consist off."
)

parser.add_argument(
    '--birth-clinic-diameter',
    default=2.5, type=float,
    help="The diameter of the birth clinic in meters."
)
Exemplo n.º 12
0
from tol.config import parser
from tol.logging import logger, output_console
from tol.spec import (get_body_spec, get_brain_spec, get_extended_brain_spec,
                      get_extended_mutation_spec)

from neat import Mutator

# Log output to console
output_console()

# # set logging level
logger.setLevel(logging.DEBUG)
# logger.setLevel(logging.INFO)

parser.add_argument("--log-directory",
                    type=str,
                    default="log",
                    help="directory where experiment logs are stored")

parser.add_argument('--population-size',
                    default=10,
                    type=int,
                    help="number of individuals in brain population")

parser.add_argument('--tournament-size',
                    default=6,
                    type=int,
                    help="number of individuals in the tournaments")

parser.add_argument(
    '--num-children',
    default=5,
Exemplo n.º 13
0
from revolve.util import wait_for

from tol.manage.robot import Robot
from tol.config import parser
from tol.manage import World
from tol.logging import logger, output_console
from tol.util.analyze import list_extremities, count_joints, count_motors, count_extremities, count_connections

# Log output to console
output_console()
logger.setLevel(logging.DEBUG)

# Add offline evolve arguments
parser.add_argument(
    '--population-size',
    default=10, type=int,
    help="Population size in each generation."
)

parser.add_argument(
    '--num-children',
    default=10, type=int,
    help="The number of children produced in each generation."
)


def str2bool(v):
    return v.lower() == "true" or v == "1"

parser.add_argument(
    '--keep-parents',
Exemplo n.º 14
0
import shutil

import trollius
from trollius import From, Return
from revolve.util import multi_future, wait_for, Time
from tol.config import parser
from tol.manage import World
from tol.logging import logger, output_console

# Output to console and enable debug logging
output_console()
logger.setLevel(logging.DEBUG)

# Environment parameters
parser.add_argument('--world-diameter',
                    default=50,
                    type=float,
                    help="The diameter of the environment in meters.")

parser.add_argument(
    '--num-wall-segments',
    default=12,
    type=int,
    help="The number of segments the arena wall will consist off.")

parser.add_argument('--birth-clinic-diameter',
                    default=2.5,
                    type=float,
                    help="The diameter of the birth clinic in meters.")

# General population parameters
parser.add_argument('--initial-population-size',