コード例 #1
0
 def __init__(self):
     """
     For simplicity, we use destination in local coordinate system for calculating.
     """
     self.nearDistance = NEARBY_SWITCHING_DISTANCE
     self.vx = 0
     self.bb = getbb()
コード例 #2
0
def getSkill():
    bb = getbb()
    skill = bb.parameters.skill
    behaivorPackages = ["roles", "skills", "demo", "headskills", "states"]
    foundSkill = False
    skillDir = os.getcwd()
    skillClass = None
    for package in behaivorPackages:
        modules = ['{}/{}'.format(skillDir, package)]
        allName = [name for _, name, _ in pkgutil.iter_modules(modules)]
        if skill not in allName:
            continue

        skillModule = __import__('{}.{}'.format(package, skill),
                                 fromlist=[skill])
        skillClass = getattr(skillModule, skill)
        foundSkill = True
        print '\n[python] Module --- {} --- imported\n'.format(skill)

    if not foundSkill:
        raise ImportError('Can not find skill: {}'.format(skill))
    elif not issubclass(skillClass, Task):
        raise TypeError('Found skill is not a Task')

    return skillClass()
コード例 #3
0
def main():
    skillInstance = getSkill()
    rate = rospy.Rate(60)
    bb = getbb()
    brain = Brain()
    while not rospy.is_shutdown():
        bb.resetCmd()
        bb.checkMotionConnection()
        # brain
        brain.tick()
        skillInstance.tick()
        bb.publish()
        rate.sleep()
コード例 #4
0
ファイル: Log.py プロジェクト: 1011497938/humanoid
import logging
from Blackboard import getbb

logger = logging.getLogger('behavior')
logger.setLevel(logging.DEBUG)

logFolder = './log'
fileHandler = logging.FileHandler(logFolder)
logger.addHandler(fileHandler)

consoleHandler = logging.StreamHandler()
logger.addHandler(consoleHandler)

bb = getbb()
ENABLE_LOG = bb.parameters.enableLog

if ENABLE_LOG:
    def debug(*args, **kwargs):
        logger.debug(*args, **kwargs)


    def info(*args, **kwargs):
        logger.info(*args, **kwargs)


    def warning(*args, **kwargs):
        logger.warning(*args, **kwargs)


    def error(*args, **kwargs):
        logger.error(*args, **kwargs)
コード例 #5
0
ファイル: Task.py プロジェクト: 1011497938/humanoid
 def __init__(self):
     # Status Code
     self.status = Status.FRESH
     self._children = []
     self.bb = getbb()
     self.init()