diff --git a/Control/Jetson/apriltag_detector.py b/Control/Jetson/apriltag_detector.py index e8d2fde..fce5479 100644 --- a/Control/Jetson/apriltag_detector.py +++ b/Control/Jetson/apriltag_detector.py @@ -7,6 +7,9 @@ import logging import platform import math +import os +import psutil + logging.basicConfig(level='INFO') @dataclass @@ -51,6 +54,10 @@ class VideoStream: def update(self): while self.running: success, frame = self.stream.read() + if not success: + current_system_pid = os.getpid() + ThisSystem = psutil.Process(current_system_pid) + ThisSystem.terminate() assert success self.buffer = frame self.stream.release() diff --git a/Control/Jetson/main.py b/Control/Jetson/main.py index 5e0715a..6cb6b75 100755 --- a/Control/Jetson/main.py +++ b/Control/Jetson/main.py @@ -6,6 +6,8 @@ import sys import threading import time from queue import Queue +import os +import psutil import flask from flask import jsonify, request diff --git a/Control/Jetson/pallet_hole_alignment_c.py b/Control/Jetson/pallet_hole_alignment_c.py index 1c49d91..049cf68 100644 --- a/Control/Jetson/pallet_hole_alignment_c.py +++ b/Control/Jetson/pallet_hole_alignment_c.py @@ -7,6 +7,9 @@ import platform import math from dataclasses import dataclass +import os +import psutil + logging.basicConfig(level='DEBUG') class CUDA: @@ -54,6 +57,10 @@ class VideoStream: def update(self): while self.running: success, frame = self.stream.read() + if not success: + current_system_pid = os.getpid() + ThisSystem = psutil.Process(current_system_pid) + ThisSystem.terminate() assert success self.buffer = frame self.stream.release() diff --git a/Control/Jetson/vision_cargo_approach.py b/Control/Jetson/vision_cargo_approach.py index f52c53c..3debbb0 100644 --- a/Control/Jetson/vision_cargo_approach.py +++ b/Control/Jetson/vision_cargo_approach.py @@ -5,6 +5,9 @@ import platform import time from dataclasses import dataclass +import os +import psutil + import cv2 import apriltag_detector