import logging import logging.config import threading import time import math from ambercommon.common import runtime import os from amberdriver.tools import config pwd = os.path.dirname(os.path.abspath(__file__)) logging.config.fileConfig('%s/roboclaw.ini' % pwd) config.add_config_ini('%s/roboclaw.ini' % pwd) LOGGER_NAME = 'Roboclaw' MAX_SPEED = int(config.ROBOCLAW_MAX_SPEED) WHEEL_RADIUS = float(config.ROBOCLAW_WHEEL_RADIUS) PULSES_PER_REVOLUTION = float(config.ROBOCLAW_PULSES_PER_REVOLUTION) STOP_IDLE_TIMEOUT = float(config.ROBOCLAW_STOP_IDLE_TIMEOUT) RESET_IDLE_TIMEOUT = float(config.ROBOCLAW_RESET_IDLE_TIMEOUT) ERROR_MONITOR_INTERVAL = float(config.ROBOCLAW_ERROR_MONITOR_INTERVAL) CRITICAL_READ_REPEATS = int(config.ROBOCLAW_CRITICAL_READ_REPEATS) RESET_DELAY = float(config.ROBOCLAW_RESET_DELAY) RESET_GPIO_PATH = str(config.ROBOCLAW_RESET_GPIO_PATH)
from amberclient.common.amber_client import AmberClient from amberclient.hokuyo.hokuyo import HokuyoProxy from amberclient.roboclaw.roboclaw import RoboclawProxy import os from amberdriver.collision_avoidance import collision_avoidance_pb2 from amberdriver.collision_avoidance.collision_avoidance import CollisionAvoidance from amberdriver.common.message_handler import MessageHandler from amberdriver.tools import config __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) logging.config.fileConfig('%s/collision_avoidance.ini' % pwd) config.add_config_ini('%s/collision_avoidance.ini' % pwd) LOGGER_NAME = 'CollisionAvoidanceController' class CollisionAvoidanceController(MessageHandler): def __init__(self, pipe_in, pipe_out, driver): super(CollisionAvoidanceController, self).__init__(pipe_in, pipe_out) self.__driver = driver self.__logger = logging.getLogger(LOGGER_NAME) def handle_data_message(self, header, message): if message.HasExtension(collision_avoidance_pb2.setSpeed): self.__handle_set_speed(header, message) else:
import sys import traceback import os from amberdriver.common import drivermsg_pb2, runtime from amberdriver.common.amber_pipes import MessageHandler from amberdriver.hokuyo import hokuyo_pb2 from amberdriver.tools import config __author__ = 'paoolo' LOGGER_NAME = 'HokuyoController' pwd = os.path.dirname(os.path.abspath(__file__)) logging.config.fileConfig('%s/hokuyo.ini' % pwd) config.add_config_ini('%s/hokuyo.ini' % pwd) HIGH_SENSITIVE = bool(config.HOKUYO_HIGH_SENSITIVE_ENABLE) SPEED_MOTOR = int(config.HOKUYO_SPEED_MOTOR) 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:])
import threading import sys import time import os import traceback from ambercommon.common import runtime from amberdriver.tools import config __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) logging.config.fileConfig('%s/hokuyo.ini' % pwd) config.add_config_ini('%s/hokuyo.ini' % pwd) LOGGER_NAME = 'Hokuyo' 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)
import os from amberclient.collision_avoidance.collision_avoidance_proxy import CollisionAvoidanceProxy from amberclient.common.amber_client import AmberClient from amberclient.location.location import LocationProxy from amberclient.roboclaw.roboclaw import RoboclawProxy from amberdriver.common.message_handler import MessageHandler from amberdriver.drive_to_point import drive_to_point_pb2 from amberdriver.drive_to_point.drive_to_point import DriveToPoint from amberdriver.tools import config __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) logging.config.fileConfig('%s/drive_to_point.ini' % pwd) config.add_config_ini('%s/drive_to_point.ini' % pwd) LOGGER_NAME = 'DriveToPointController' USE_COLLISION_AVOIDANCE = config.DRIVE_TO_POINT_USE_COLLISION_AVOIDANCE == 'True' class DriveToPointController(MessageHandler): def __init__(self, pipe_in, pipe_out, driver): MessageHandler.__init__(self, pipe_in, pipe_out) self.__drive_to_point = driver self.__logger = logging.getLogger(LOGGER_NAME) def handle_data_message(self, header, message): if message.HasExtension(drive_to_point_pb2.setTargets): self.__handle_set_targets(header, message)
import traceback import serial import os from amberdriver.common.message_handler import MessageHandler from amberdriver.null.null import NullController from amberdriver.roboclaw import roboclaw_pb2 from amberdriver.roboclaw.roboclaw import Roboclaw, RoboclawDriver from amberdriver.tools import serial_port, config __author__ = "paoolo" pwd = os.path.dirname(os.path.abspath(__file__)) logging.config.fileConfig("%s/roboclaw.ini" % pwd) config.add_config_ini("%s/roboclaw.ini" % pwd) LOGGER_NAME = "Roboclaw" SERIAL_PORT = str(config.ROBOCLAW_SERIAL_PORT) BAUD_RATE = int(config.ROBOCLAW_BAUD_RATE) REAR_RC_ADDRESS = int(config.ROBOCLAW_REAR_RC_ADDRESS) FRONT_RC_ADDRESS = int(config.ROBOCLAW_FRONT_RC_ADDRESS) MOTORS_MAX_QPPS = int(config.ROBOCLAW_MOTORS_MAX_QPPS) MOTORS_P_CONST = int(config.ROBOCLAW_P_CONST) MOTORS_I_CONST = int(config.ROBOCLAW_I_CONST) MOTORS_D_CONST = int(config.ROBOCLAW_D_CONST) TIMEOUT = 0.7
from amberclient.common.amber_client import AmberClient from amberclient.location.location import LocationProxy from amberclient.roboclaw.roboclaw import RoboclawProxy from amberdriver.common.message_handler import MessageHandler from amberdriver.drive_to_point import drive_to_point_pb2 from amberdriver.drive_to_point.drive_to_point import DriveToPoint from amberdriver.null.null import NullController from amberdriver.tools import config __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) logging.config.fileConfig('%s/drive_to_point.ini' % pwd) config.add_config_ini('%s/drive_to_point.ini' % pwd) LOGGER_NAME = 'DriveToPoint' class DriveToPointController(MessageHandler): def __init__(self, pipe_in, pipe_out, driver): MessageHandler.__init__(self, pipe_in, pipe_out) self.__drive_to_point = driver self.__logger = logging.getLogger(LOGGER_NAME) def handle_data_message(self, header, message): if message.HasExtension(drive_to_point_pb2.setTargets): self.__handle_set_targets(header, message) elif message.HasExtension(drive_to_point_pb2.getNextTarget):
import traceback import time import os from amberdriver.common.message_handler import MessageHandler from amberdriver.dummy import dummy_pb2 from amberdriver.dummy.dummy import Dummy from amberdriver.null.null import NullController from amberdriver.tools import config __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) logging.config.fileConfig('%s/dummy.ini' % pwd) config.add_config_ini('%s/dummy.ini' % pwd) LOGGER_NAME = 'Dummy' class DummyController(MessageHandler): """ Example implementation of driver. Need to extends `MessageHandler` from `amber.driver.common.amber_pipes`. """ def __init__(self, pipe_in, pipe_out, driver): MessageHandler.__init__(self, pipe_in, pipe_out) self.__dummy = driver self.__value = 0 self.__logger = logging.getLogger(LOGGER_NAME)
import time import os from amberdriver.common.message_handler import MessageHandler from amberdriver.dummy import dummy_pb2 from amberdriver.dummy.dummy import Dummy from amberdriver.null.null import NullController from amberdriver.tools import config __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) logging.config.fileConfig('%s/dummy.ini' % pwd) config.add_config_ini('%s/dummy.ini' % pwd) LOGGER_NAME = 'Dummy' class DummyController(MessageHandler): """ Example implementation of driver. Need to extends `MessageHandler` from `amber.driver.common.amber_pipes`. """ def __init__(self, pipe_in, pipe_out, driver): MessageHandler.__init__(self, pipe_in, pipe_out) self.__dummy = driver self.__value = 0 self.__logger = logging.getLogger(LOGGER_NAME)
import os import serial from amberclient.common.amber_client import AmberClient from amberclient.hokuyo.hokuyo import HokuyoProxy from amberdriver.drive_support.drive_support import DriveSupport from amberdriver.null.null import NullController from amberdriver.roboclaw.roboclaw import Roboclaw from amberdriver.roboclaw.roboclaw_controller import RoboclawController, RoboclawDriver from amberdriver.tools import serial_port, config __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) logging.config.fileConfig('%s/drive_support.ini' % pwd) config.add_config_ini('%s/drive_support.ini' % pwd) LOGGER_NAME = 'DriverSupport' SERIAL_PORT = config.ROBOCLAW_SERIAL_PORT BAUD_RATE = config.ROBOCLAW_BAUD_RATE REAR_RC_ADDRESS = int(config.ROBOCLAW_REAR_RC_ADDRESS) FRONT_RC_ADDRESS = int(config.ROBOCLAW_FRONT_RC_ADDRESS) MOTORS_MAX_QPPS = int(config.ROBOCLAW_MOTORS_MAX_QPPS) MOTORS_P_CONST = int(config.ROBOCLAW_P_CONST) MOTORS_I_CONST = int(config.ROBOCLAW_I_CONST) MOTORS_D_CONST = int(config.ROBOCLAW_D_CONST) TIMEOUT = 0.7
import serial from amberclient.common.amber_client import AmberClient from amberclient.hokuyo.hokuyo import HokuyoProxy from amberdriver.drive_support.drive_support import DriveSupport from amberdriver.null.null import NullController from amberdriver.roboclaw.roboclaw import Roboclaw from amberdriver.roboclaw.roboclaw_controller import RoboclawController, RoboclawDriver from amberdriver.tools import serial_port, config __author__ = 'paoolo' pwd = os.path.dirname(os.path.abspath(__file__)) logging.config.fileConfig('%s/drive_support.ini' % pwd) config.add_config_ini('%s/drive_support.ini' % pwd) LOGGER_NAME = 'DriverSupport' SERIAL_PORT = config.ROBOCLAW_SERIAL_PORT BAUD_RATE = config.ROBOCLAW_BAUD_RATE REAR_RC_ADDRESS = int(config.ROBOCLAW_REAR_RC_ADDRESS) FRONT_RC_ADDRESS = int(config.ROBOCLAW_FRONT_RC_ADDRESS) MOTORS_MAX_QPPS = int(config.ROBOCLAW_MOTORS_MAX_QPPS) MOTORS_P_CONST = int(config.ROBOCLAW_P_CONST) MOTORS_I_CONST = int(config.ROBOCLAW_I_CONST) MOTORS_D_CONST = int(config.ROBOCLAW_D_CONST) TIMEOUT = 0.7