bgg35-50
This commit is contained in:
@ -86,7 +86,7 @@ class FeedPosition:
|
||||
self.position = position
|
||||
|
||||
class FeedLine:
|
||||
def __init__(self, id, name, feed_positions:list,remain_count:int):
|
||||
def __init__(self, id, name, feed_positions:list,remain_count:int,drop_manage:DropPositionManager):
|
||||
self.feed_positions = copy.deepcopy(feed_positions)
|
||||
|
||||
self.feeding2end_pos_index = 0
|
||||
@ -94,7 +94,7 @@ class FeedLine:
|
||||
self.start2take_pos_index = 0
|
||||
self.name = name
|
||||
self.id = id
|
||||
self.drop_manager = DropPositionManager()
|
||||
self.drop_manager = drop_manage
|
||||
# 初始化各个阶段的位置列表
|
||||
self.feeding_to_end = []
|
||||
|
||||
@ -285,16 +285,17 @@ class FeedLine:
|
||||
_current_index=_current_index-1
|
||||
if _current_index<0:
|
||||
_current_index=0
|
||||
|
||||
loc_floor=(_current_index//5)+1
|
||||
loc_bag=(_current_index%5)+1
|
||||
if loc_floor in [1,3,5]:
|
||||
if loc_floor in [1,3,5,7]:
|
||||
if loc_bag in [1,2,3]:
|
||||
point.X=round(point.X-offsetX, 3)
|
||||
elif loc_bag==4:
|
||||
point.Y=round(point.Y-offsetX, 3)
|
||||
elif loc_bag==5:
|
||||
point.Y=round(point.Y+offsetX, 3)
|
||||
elif loc_floor in [2,4,6]:
|
||||
elif loc_floor in [2,4,6,8]:
|
||||
if loc_bag in [1,2,3]:
|
||||
point.X=round(point.X+offsetX, 3)
|
||||
elif loc_bag==4:
|
||||
@ -546,6 +547,8 @@ class Feeding(QObject):
|
||||
# TODO:逻辑需改变,不能用while循环
|
||||
if Constant.DebugPosition:
|
||||
self.take_sensor_signal=True
|
||||
|
||||
self.log_signal.emit(logging.INFO, "进入传感器2检测料包阶段")
|
||||
while True:
|
||||
# sensors = self.relay_controller.get_all_device_status('sensors')
|
||||
# sensor2_value = sensors.get(self.relay_controller.SENSOR2, False)
|
||||
@ -555,7 +558,7 @@ class Feeding(QObject):
|
||||
else:
|
||||
if self.feedStatus == FeedStatus.FNone:
|
||||
return
|
||||
time.sleep(1) # 每秒检查一次
|
||||
time.sleep(0.1) # 每秒检查一次
|
||||
|
||||
loc_offsetX=0
|
||||
loc_is_next=False
|
||||
@ -566,8 +569,14 @@ class Feeding(QObject):
|
||||
if loc_model_result['success']:
|
||||
#置信度
|
||||
if loc_model_result['obj_conf']>0.5:
|
||||
#35KG是80
|
||||
_center_point=0
|
||||
if self.relay_controller.is_drop_35:
|
||||
print("检测到35KG料带")
|
||||
_center_point=80
|
||||
loc_offsetX=loc_model_result['dx_mm']
|
||||
if abs(loc_model_result['dx_mm'])<200:
|
||||
loc_offsetX=loc_offsetX-_center_point
|
||||
if abs(loc_model_result['dx_mm'])<200+_center_point:
|
||||
loc_is_next=True
|
||||
print(f'{loc_image_path}:料带偏移{loc_offsetX}mm')
|
||||
else:
|
||||
@ -590,12 +599,12 @@ class Feeding(QObject):
|
||||
self.log_signal.emit(logging.ERROR, f"视频模型异常:{e}")
|
||||
finally:
|
||||
if loc_is_next or Constant.DebugPosition:
|
||||
self.feedConfig.feedLine.set_feeding_to_end(loc_offsetX)
|
||||
self.next_position()
|
||||
self.log_signal.emit(logging.INFO, Constant.str_sys_runing2)
|
||||
self.feedConfig.feedLine.set_feeding_to_end(loc_offsetX)
|
||||
self.next_position()
|
||||
self.log_signal.emit(logging.INFO, Constant.str_sys_runing2)
|
||||
|
||||
elif self.feedStatus == FeedStatus.FTake:
|
||||
self.log_signal.emit(logging.INFO, Constant.str_feed_take)
|
||||
#self.log_signal.emit(logging.INFO, Constant.str_feed_take)
|
||||
take_position = self.feedConfig.feedLine.get_take_position()
|
||||
if not take_position or not take_position.get_position():
|
||||
self.log_signal.emit(logging.ERROR, Constant.str_feed_takePhoto_fail)
|
||||
@ -705,7 +714,7 @@ class Feeding(QObject):
|
||||
self.next_position()
|
||||
elif self.feedStatus == FeedStatus.FDropReset:
|
||||
if real_position.compare(self.get_current_position().get_position()):
|
||||
self.log_signal.emit(logging.INFO, Constant.str_feed_drop_reset)
|
||||
self.log_signal.emit(logging.INFO, "码垛后点")
|
||||
self.next_position()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user