瀏覽代碼

update configuration for vision system and adjust launch settings

SG/Cellrobot 8 月之前
父節點
當前提交
b0fcb47225
共有 5 個文件被更改,包括 21 次插入3 次删除
  1. 1 1
      .vscode/launch.json
  2. 2 2
      main.py
  3. 7 0
      robot_control/config/config.yaml
  4. 11 0
      robot_control/src/utils/config.py
  5. 0 0
      robot_control/src/vendor/__init__.py

+ 1 - 1
.vscode/launch.json

@@ -15,7 +15,7 @@
             "name": "Python Debugger: Main",
             "type": "debugpy",
             "request": "launch",
-            "program": "${workspaceFolder}/robot_control/src/main.py",
+            "program": "${workspaceFolder}/main.py",
             "console": "integratedTerminal"
         },
         {

+ 2 - 2
robot_control/src/main.py → main.py

@@ -1,5 +1,4 @@
 import asyncio
-from fastapi import FastAPI
 from robot_control.src.utils.logging import LoggerSingleton
 from robot_control.src.robot.controller import RobotController
 from robot_control.src.utils.config import ConfigParser
@@ -10,7 +9,8 @@ class LoaderSystem:
         self.config = ConfigParser()
         self.logger = LoggerSingleton.get_logger(self.config)
         self.controller = RobotController(self.config)
-        self.vision = DataMatrixReader()
+        cam = self.config.get_vision_config().get("camera_id")
+        self.vision = DataMatrixReader(cam)
         self.logger.info("Initializing LoaderSystem")
         self.vision.initialize()
 

+ 7 - 0
robot_control/config/config.yaml

@@ -49,6 +49,13 @@ grbl:
   port: debug
   baudrate: 115200
 
+vision:
+  camera_id: -1
+  resolution: [640, 480]
+  frame_rate: 30
+  exposure: 0.1
+  gain: 1.0
+
 system_settings:
   speed: 400.0
   acceleration: 20.0

+ 11 - 0
robot_control/src/utils/config.py

@@ -109,6 +109,17 @@ class ConfigParser:
             'port': grbl_config.get('port', None),
             'baudrate': grbl_config.get('baudrate', 115200),
         }
+    
+    def get_vision_config(self) -> dict:
+        """Get vision system configuration"""
+        vision_config = self.config.get('vision', {})
+        return {
+            'camera_id': vision_config.get('camera_id', 0),
+            'resolution': tuple(vision_config.get('resolution', (640, 480))),
+            'frame_rate': vision_config.get('frame_rate', 30),
+            'exposure': vision_config.get('exposure', 0.1),
+            'gain': vision_config.get('gain', 1.0)
+        }
 
     def get_logging_config(self) -> dict:
         """Get logging configuration"""

+ 0 - 0
robot_control/src/vendor/__init__.py