🚑 update 更新抓取和扔料

This commit is contained in:
FrankCV2048
2025-01-14 23:02:14 +08:00
parent 3e065af6a0
commit ecfd9551e1
9 changed files with 1772 additions and 15181 deletions

View File

@ -208,6 +208,7 @@ class Feeding(QObject):
self.init_detection_image()
self.pause = False
self.cRis_photo = CRisOrFall()
self.cRis_shake = CRisOrFall()
self.feed_Mid_Status = FeedMidStatus.FMid_Start
self.is_reverse = False
# 复位集合
@ -316,9 +317,10 @@ class Feeding(QObject):
elif self.feedStatus == FeedStatus.FMid:
self.log_signal.emit(logging.INFO, Constant.str_feed_mid)
feed_pos = self.get_current_position(self.is_reverse)
if feed_pos.get_position().compare(real_position):
self.log_signal.emit(logging.INFO, Constant.str_feed_mid)
self.next_position(self.is_reverse)
@ -450,7 +452,7 @@ class Feeding(QObject):
if self.catch.catch_status == CatchStatus.COk :
self.catch.catch_status = CatchStatus.CNone
#self.feedConfig.feedLine.set_take_position(None)
time.sleep(self.robotClient.time_delay_take)
# time.sleep(self.robotClient.time_delay_take)
self.log_signal.emit(logging.INFO, Constant.str_feed_take_success)
self.next_position()
@ -466,21 +468,23 @@ class Feeding(QObject):
elif self.feedStatus == FeedStatus.FBroken1:
self.log_signal.emit(logging.INFO, Constant.str_feed_broken)
if self.get_current_position().get_position().compare(real_position):
self.log_signal.emit(logging.INFO, Constant.str_feed_broken)
self.next_position()
elif self.feedStatus == FeedStatus.FBroken2:
self.log_signal.emit(logging.INFO, Constant.str_feed_broken)
if self.get_current_position().get_position().compare(real_position):
self.log_signal.emit(logging.INFO, Constant.str_feed_broken)
self.next_position()
elif self.feedStatus == FeedStatus.FShake:
self.log_signal.emit(logging.INFO, Constant.str_feed_shake)
if self.get_current_position().get_position().compare(real_position,is_action=True):
# TODO 震动方案
self.log_signal.emit(logging.INFO, Constant.str_feed_shake)
if self.catch.catch_status == CatchStatus.CNone:
self.catch.catch_status = CatchStatus.CShake
@ -489,7 +493,6 @@ class Feeding(QObject):
return
if self.catch.catch_status == CatchStatus.COk:
self.catch.catch_status = CatchStatus.CNone
time.sleep(self.robotClient.time_delay_shake)
self.next_position()
elif self.feedStatus == FeedStatus.FDropBag:
@ -507,7 +510,7 @@ class Feeding(QObject):
return
if self.catch.catch_status == CatchStatus.COk:
self.catch.catch_status = CatchStatus.CNone
time.sleep(self.robotClient.time_delay_put)
# time.sleep(self.robotClient.time_delay_put)
# self.detection.get_position(Point_isVision=False, Box_isPoint=True, First_Depth=True, Iter_Max_Pixel=30, save_img_point=0, Height_reduce=30, width_reduce=30)
# self.feedConfig.feedLine.set_take_position(self.get_take_position())
if self.detect.detect_status == DetectStatus.DNone:
@ -587,9 +590,6 @@ class Feeding(QObject):
self.reset_status = ResetStatus.RNone
self.send_emergency_stop()
def return_original_position(self):
self.run_reverse = True
@ -672,6 +672,10 @@ class Feeding(QObject):
self.log_signal.emit(logging.INFO, f'{Constant.str_feed_io_control}{IO_bit}{IO_Status}')
pass
def sendTargPosition1(self, real_position, move_type: MoveType = MoveType.WORLD, speed=5,real_position1=None):
pass
def sendTargPosition(self, real_position, move_type: MoveType = MoveType.WORLD, speed=5,real_position1=None):
position_instruction = Instruction()
position_instruction.speed = speed
@ -705,10 +709,12 @@ class Feeding(QObject):
try:
print('fuck1',log_str)
self.log_signal.emit(logging.INFO, log_str)
print('fuck2',log_str)
except:
return
print(request_command)
self.robotClient.add_sendQuene(request_command)
pass
# def get_take_position(self):
@ -778,6 +784,16 @@ class Feeding(QObject):
move_type=MoveType.AXIS)
else:
# if not reverse and self.feedStatus == FeedStatus.FShake:
# if not reverse:
# if self.cRis_shake.Q(self.feedStatus == FeedStatus.FShake, True):
# pass
# elif self.cRis_shake.Q(self.feedStatus == FeedStatus.FShake, False):
# self.feedStatus = FeedStatus.FShake
# self.sendTargPosition(real_position=feed_pos.get_position(),speed=self.robotClient.feed_speed)
# return
self.sendTargPosition(real_position=feed_pos.get_position(),speed=self.robotClient.feed_speed)
def get_current_position(self,is_reverse=False):