134 lines
4.6 KiB
Python
134 lines
4.6 KiB
Python
# main.py
|
|
import time
|
|
from config.settings import app_set_config
|
|
from core.system import FeedingControlSystem
|
|
from hardware import relay
|
|
from hardware.relay import RelayController
|
|
import threading
|
|
import time
|
|
import cv2
|
|
import os
|
|
from core.state import FeedStatus
|
|
|
|
|
|
def main():
|
|
system = FeedingControlSystem()
|
|
system.relay_controller.close_all()
|
|
# 启动视觉控制
|
|
# system.camera_controller.start_cameras()
|
|
# system.start_visual_control()
|
|
system.state._feed_status = FeedStatus.FCheckM
|
|
system.start_lower_feeding()
|
|
system.state.overflow_detected='未堆料'
|
|
system.initialize()
|
|
while True:
|
|
time.sleep(5)
|
|
|
|
|
|
# time.sleep(1)
|
|
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_OPEN, 'open')
|
|
|
|
# system.vision_detector.detect_angle()
|
|
# while True:
|
|
# system.feeding_controller.pulse_control_door_for_maintaining()
|
|
# time.sleep(5)
|
|
# system.state.vehicle_aligned=True
|
|
#假设在 fertilize room
|
|
# system.state._upper_door_position='over_lower'
|
|
# while True:
|
|
# system.feeding_controller.pulse_control_door_for_maintaining()
|
|
# time.sleep(4)
|
|
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_OPEN, 'open')
|
|
|
|
# 加载配置
|
|
# 初始化系统
|
|
|
|
|
|
# replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'open')
|
|
# time.sleep(1)
|
|
# replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'close')
|
|
# replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'close')
|
|
|
|
# replay_controller.control_upper_open()
|
|
|
|
# replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'open')
|
|
# time.sleep(5)
|
|
# replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'close')
|
|
|
|
# image=cv2.imread(os.path.join(app_set_config.project_root,'test.jpeg'))
|
|
# image=cv2.flip(image, 0)
|
|
# cv2.imshow('test',image)
|
|
# cv2.waitKey(1)
|
|
|
|
# replay_controller.control(system.relay_controller.DOOR_LOWER_OPEN, 'open')
|
|
# system.state._feed_status=FeedStatus.FCheckM
|
|
|
|
# cv2.namedWindow("控制系统", cv2.WND_PROP_VISIBLE)
|
|
# cv2.setWindowProperty("控制系统", cv2.WND_PROP_VISIBLE, 0)
|
|
# while True:
|
|
# key = cv2.waitKey(100) & 0xFF
|
|
# if key == ord('q') or key == 27: # 'q'键或ESC键
|
|
# print("接收到退出信号,正在关闭系统...")
|
|
# break
|
|
|
|
# time.sleep(1) # 减少CPU占用
|
|
|
|
# replay_controller.close_all()
|
|
|
|
|
|
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_OPEN, 'open')
|
|
|
|
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_CLOSE, 'close')
|
|
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_OPEN, 'open')
|
|
# time.sleep(5)
|
|
# system.relay_controller.control_upper_close()
|
|
|
|
|
|
# system.relay_controller.control(system.relay_controller, 'close')
|
|
|
|
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_OPEN, 'open')
|
|
|
|
# system.camera_controller.start_cameras()
|
|
# loc_all_close=True
|
|
# if loc_all_close:
|
|
# relay=RelayController()
|
|
# relay.control(relay.UPPER_TO_JBL, 'close')
|
|
# relay.control(relay.UPPER_TO_ZD, 'close')
|
|
# relay.control(relay.DOOR_LOWER_OPEN, 'close')
|
|
# relay.control(relay.DOOR_LOWER_CLOSE, 'close')
|
|
# relay.control(relay.DOOR_UPPER_OPEN, 'close')
|
|
# relay.control(relay.DOOR_UPPER_CLOSE, 'close')
|
|
# relay.control(relay.BREAK_ARCH_UPPER, 'close')
|
|
# relay.control(relay.BREAK_ARCH_LOWER, 'close')
|
|
|
|
|
|
# time.sleep(2)
|
|
# system._alignment_check_loop()
|
|
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_OPEN, 'open')
|
|
# time.sleep(2)
|
|
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_OPEN, 'close')
|
|
|
|
# time.sleep(2)
|
|
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_CLOSE, 'open')
|
|
# time.sleep(2)
|
|
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_CLOSE, 'close')
|
|
|
|
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_CLOSE, 'open')
|
|
# time.sleep(5)
|
|
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_CLOSE, 'close')
|
|
# system._visual_control_loop()
|
|
# system.transmitter_controller.test_upper_weight=2*2500
|
|
# system.transmitter_controller.test_lower_weight=1000
|
|
# system.state.vehicle_aligned=True
|
|
# # 启动调整线程
|
|
# weight_thread = threading.Thread(target=adjust_weights, args=(system,), daemon=True)
|
|
|
|
# weight_thread.start()
|
|
# system.state._upper_door_position='over_lower'
|
|
# system._start_lower_feeding()
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|