from __future__ import division import math import time import os from amberdriver.tools import config, logic __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) config.add_config_ini('%s/drive_to_point.ini' % pwd) ROBO_WIDTH = float(config.ROBO_WIDTH) """ Data polar/grid functions, conversion, etc. """ def normalize_angle(angle): if angle < -math.pi: angle += 2 * math.pi elif angle > math.pi: angle -= 2 * math.pi return angle """ Mechanism """ def find_local_minima_func(points):
import math import collections import time import os from amberdriver.tools import config, logic __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) config.add_config_ini('%s/drive_support.ini' % pwd) ROBO_WIDTH = float(config.ROBO_WIDTH) ROBO_MASS = float(config.ROBO_MASS) MAX_SPEED = float(config.MAX_SPEED) SOFT_DISTANCE_LIMIT = float(config.SOFT_DISTANCE_LIMIT) HARD_DISTANCE_LIMIT = float(config.HARD_DISTANCE_LIMIT) DISTANCE_ALPHA = float(config.DISTANCE_ALPHA) ANGLE_RANGE = float(config.ANGLE_RANGE) SCANNER_DIST_OFFSET = float(config.SCANNER_DIST_OFFSET) MAX_ACCELERATION_FORWARD = float(config.MAX_ACCELERATION_FORWARD) MAX_ACCELERATION_SIDE = float(config.MAX_ACCELERATION_SIDE) MAX_ROTATIONAL_SPEED = float(config.MAX_ROTATIONAL_SPEED)
from __future__ import division import math import time import os from amberdriver.tools import config, logic __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) config.add_config_ini('%s/drive_to_point.ini' % pwd) ROBO_WIDTH = float(config.ROBO_WIDTH) """ Data polar/grid functions, conversion, etc. """ def normalize_angle(angle): if angle < -math.pi: angle += 2 * math.pi elif angle > math.pi: angle -= 2 * math.pi return angle """ Mechanism """ def find_local_minima_func(points): prev_distance = None
import threading import traceback import sys import time import os from ambercommon.common import runtime from amberdriver.tools import config __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) config.add_config_ini('%s/hokuyo.ini' % pwd) MAX_MULTI_SCAN_IDLE_TIMEOUT = float(config.HOKUYO_MAX_MULTI_SCAN_IDLE_TIMEOUT) def chunks(l, n): for i in xrange(0, len(l), n): yield l[i:i + n] def decode(val): bin_str = '0b' for char in val: val = ord(char) - 0x30 bin_str += '%06d' % int(bin(val)[2:]) return int(bin_str, 2)