def __init__(self) -> None: """Construct.""" self.init_robot_fromenv() # Processed robotrequest CRs dictionary self._processed_robotrequests: OrderedDict[ # pylint: disable=unsubscriptable-object str, str] = OrderedDict() self._processed_robotrequests_lock = threading.RLock() self._deleted_robotrequests: OrderedDict[ # pylint: disable=unsubscriptable-object str, bool] = OrderedDict() template_cr = get_sample_cr('robotrequest') labels = {} labels['cloudrobotics.com/robot-name'] = self.robco_robot_name super().__init__( 'ewm.sap.com', 'v1alpha1', 'robotrequests', 'default', template_cr, labels ) # Register robotrequest status update callback self.register_callback( 'cleanup_robotrequests', ['ADDED', 'MODIFIED', 'REPROCESS'], self._cleanup_robotrequests_cb) self.register_callback('robotrequest_deleted', ['DELETED'], self._robotrequest_deleted_cb) # Thread to check for deleted robotrequest CRs self.deleted_robotrequests_thread = threading.Thread( target=self._deleted_robotrequests_checker)
def __init__(self) -> None: """Construct.""" template_cr = get_sample_cr('robco_mission') labels: Dict[str, str] = {} super().__init__('mission.cloudrobotics.com', 'v1alpha1', 'missions', 'default', template_cr, labels)
def __init__(self) -> None: """Constructor.""" template_cr = get_sample_cr('robco_robot') self.labels = {} super().__init__('registry.cloudrobotics.com', 'v1alpha1', 'robots', 'default', template_cr, self.labels)
def __init__(self) -> None: """Construct.""" template_cr = get_sample_cr('robotconfiguration') labels: Dict[str, str] = {} super().__init__('ewm.sap.com', 'v1alpha1', 'robotconfigurations', 'default', template_cr, labels)
def __init__(self) -> None: """Constructor.""" template_cr = get_sample_cr('robotrequest') labels = {} super().__init__('sap.com', 'v1', 'robotrequests', 'default', template_cr, labels)
def __init__(self) -> None: """Constructor.""" self.init_default_values_fromenv() template_cr = get_sample_cr('robotconfiguration') labels = {} super().__init__('sap.com', 'v1', 'robotconfigurations', 'default', template_cr, labels)
def __init__(self) -> None: """Constructor.""" self.init_robot_fromenv() template_cr = get_sample_cr('robco_robot') labels = {} labels['cloudrobotics.com/robot-name'] = self.robco_robot_name super().__init__('registry.cloudrobotics.com', 'v1alpha1', 'robots', 'default', template_cr, labels)
def __init__(self) -> None: """Constructor.""" self.init_robot_fromenv() # Last successfully processed spec of warehouse order self.processed_order_spec = {} template_cr = get_sample_cr('warehouseorder') labels = {} labels['cloudrobotics.com/robot-name'] = self.robco_robot_name super().__init__('sap.com', 'v1', 'warehouseorders', 'default', template_cr, labels)
def __init__(self) -> None: """Construct.""" template_cr = get_sample_cr('warehouseorder') labels: Dict[str, str] = {} super().__init__( 'ewm.sap.com', 'v1alpha1', 'warehouseorders', 'default', template_cr, labels )
def __init__(self) -> None: """Construct.""" self.init_default_values_fromenv() template_cr = get_sample_cr('robotconfiguration') super().__init__('ewm.sap.com', 'v1alpha1', 'robotconfigurations', 'default', template_cr, {}) # Register callbacks self.register_callback('robotconfiguration', ['ADDED', 'MODIFIED', 'REPROCESS'], self.reset_recovery_flag_cb)
def __init__(self) -> None: """Construct.""" template_cr = get_sample_cr('orderauction') super().__init__('ewm.sap.com', 'v1alpha1', 'orderauctions', 'default', template_cr, {}) # Robots where the bid agent seems to work self._robot_bid_agent_working: DefaultDict[str, bool] = defaultdict( lambda: True) # Register callbacks self.register_callback('CheckBidAgentStatus', ['ADDED', 'MODIFIED'], self._check_bid_agent_status_cb)
def __init__(self) -> None: """Construct.""" self.init_robot_fromenv() # Last successfully processed spec of warehouse order self.processed_order_spec: Dict[str, Dict] = {} template_cr = get_sample_cr('warehouseorder') labels = {} labels['cloudrobotics.com/robot-name'] = self.robco_robot_name super().__init__('ewm.sap.com', 'v1alpha1', 'warehouseorders', 'default', template_cr, labels) # Set finalizer name for robot controller self.finalizer = '{}.ewm-robot-controller.sap.com'.format( self.robco_robot_name)
def __init__(self) -> None: """Construct.""" template_cr = get_sample_cr('orderreservation') super().__init__('ewm.sap.com', 'v1alpha1', 'orderreservations', 'default', template_cr, {}) # Open reservations per auctioneer self._open_reservations: DefaultDict[str, Dict] = defaultdict(dict) self._open_reservations_lock = RLock() # Register callbacks self.register_callback('GetOpenReservations', ['ADDED', 'MODIFIED', 'REPROCESS'], self._get_open_reservations_cb) self.register_callback('DeleteOpenReservations', ['DELETED'], self._delete_open_reservations_cb)
def __init__(self, robot_config: RobotConfigurationController, robot_api: RobCoRobotAPI) -> None: """Construct.""" # Robot Configuration Controller self.robot_config = robot_config # Mission status dictionary self.mission_status: OrderedDict[ # pylint: disable=unsubscriptable-object str, RobotMission] = OrderedDict() self.mission_status_lock = threading.RLock() template_cr = get_sample_cr('robco_mission') self.labels = {} self.labels[ 'cloudrobotics.com/robot-name'] = self.robot_config.robco_robot_name super().__init__('mission.cloudrobotics.com', 'v1alpha1', 'missions', 'default', template_cr, self.labels) # RobCo Robot API self.robot_api = robot_api self.battery_percentage = 100.0 self.robot_state = RobcoRobotStates.STATE_UNDEFINED self.trolley_attached = False # Set active charger self._chargers = self.robot_config.conf.chargers.copy() self._chargers_generator = self._iterate_chargers() self.charger = next(self._chargers_generator, '') _LOGGER.info('Using chargers: %s', self._chargers) # Register robot status update callback self.robot_api.register_callback('RobCoMissionAPI', ['ADDED', 'MODIFIED'], self.update_robot_status_cb) # Register mission status update callback self.register_callback('update_mission_status', ['ADDED', 'MODIFIED', 'REPROCESS'], self.update_mission_status_cb) self.register_callback('mission_deleted', ['DELETED'], self.mission_deleted_cb) # Thread to check for deleted mission CRs self.deleted_missions_thread = threading.Thread( target=self._deleted_missions_checker)
def __init__(self) -> None: """Construct.""" self.init_robot_fromenv() # Robot configuration attributes self.conf = RobotConfigurationSpec() template_cr = get_sample_cr('robotconfiguration') labels = {} labels['cloudrobotics.com/robot-name'] = self.robco_robot_name super().__init__('ewm.sap.com', 'v1alpha1', 'robotconfigurations', 'default', template_cr, labels) # Register callbacks self.register_callback('configUpdate', ['ADDED', 'MODIFIED', 'REPROCESS'], self.robotconfiguration_cb)
def __init__(self) -> None: """Construct.""" template_cr = get_sample_cr('auctioneer') super().__init__('ewm.sap.com', 'v1alpha1', 'auctioneers', 'default', template_cr, {}) # Robots which are controlled by an auctioneer self._robots_in_scope: Dict[str, str] = {} self._robots_in_scope_lock = RLock() # Status of the auctioneer self.auctioneer_status: Dict[str, str] = {} # Register callbacks self.register_callback('GetRobotsInScope', ['ADDED', 'MODIFIED', 'REPROCESS'], self._get_robots_in_scope_cb) self.register_callback('DeleteRobotsInScope', ['DELETED'], self._delete_robots_in_scope_cb)
def __init__(self, robot_api: RobCoRobotAPI) -> None: """Constructor.""" self.init_robco_fromenv() # Mission status dictionary self.mission_status = OrderedDict() self.mission_status_lock = threading.RLock() template_cr = get_sample_cr('robco_mission') self.labels = {} self.labels['cloudrobotics.com/robot-name'] = self.robco_robot_name super().__init__( 'mission.cloudrobotics.com', 'v1alpha1', 'missions', 'default', template_cr, self.labels ) # RobCo Robot API self.robot_api = robot_api self.battery_percentage = 100.0 self.robot_state = None self.trolley_attached = None # Set active charger self.charger = next(self._chargers_generator) # Register robot status update callback self.robot_api.register_callback( 'RobCoMissionAPI', ['ADDED', 'MODIFIED'], self.update_robot_status_cb) # Register mission status update callback self.register_callback( 'update_mission_status', ['ADDED', 'MODIFIED', 'REPROCESS'], self.update_mission_status_cb) self.register_callback('mission_deleted', ['DELETED'], self.mission_deleted_cb) # Thread to check for deleted mission CRs self.deleted_missions_thread = threading.Thread(target=self._deleted_missions_checker)
def __init__(self) -> None: """Constructor.""" # Warehouse order spec dictionary self.warehouse_order_spec = OrderedDict() self.warehouse_order_spec_lock = threading.RLock() template_cr = get_sample_cr('warehouseorder') labels = {} super().__init__( 'sap.com', 'v1', 'warehouseorders', 'default', template_cr, labels ) # Thread to check for deleted warehouse order CRs self.deleted_warehouse_orders_thread = threading.Thread( target=self._deleted_warehouse_orders_checker)
def __init__(self) -> None: """Construct.""" # Processed warehouse order CRs dictionary self._processed_orders: TOrderedDict[str, str] = OrderedDict() self._processed_orders_lock = threading.RLock() self._deleted_orders: TOrderedDict[str, bool] = OrderedDict() template_cr = get_sample_cr('warehouseorder') super().__init__('ewm.sap.com', 'v1alpha1', 'warehouseorders', 'default', template_cr, {}) # Thread to check for deleted warehouse order CRs self.deleted_warehouse_orders_thread = threading.Thread( target=self._deleted_orders_checker) # Register callbacks self.register_callback('CleanupOrders', ['ADDED', 'MODIFIED', 'REPROCESS'], self._cleanup_orders_cb) self.register_callback('DeletedOrders', ['DELETED'], self._order_deleted_cb)
def __init__(self) -> None: """Constructor.""" self.init_robot_fromenv() # Robotrequest status dictionary self.robotrequest_status = OrderedDict() self.robotrequest_status_lock = threading.RLock() template_cr = get_sample_cr('robotrequest') labels = {} labels['cloudrobotics.com/robot-name'] = self.robco_robot_name super().__init__('sap.com', 'v1', 'robotrequests', 'default', template_cr, labels) # Register robotrequest status update callback self.register_callback('update_robotrequest_status', ['ADDED', 'MODIFIED', 'REPROCESS'], self.update_robotrequest_status_cb) self.register_callback('robotrequest_deleted', ['DELETED'], self.robotrequest_deleted_cb) # Thread to check for deleted robotrequest CRs self.deleted_robotrequests_thread = threading.Thread( target=self._deleted_robotrequests_checker)
def __init__(self) -> None: """Construct.""" template_cr = get_sample_cr('robotrequest') super().__init__('ewm.sap.com', 'v1alpha1', 'robotrequests', 'default', template_cr, {})