diff --git a/ros2/src/udp_teleop/config/box_detection_grasp.yaml b/ros2/src/udp_teleop/config/box_detection_grasp.yaml index be2b61c..6b0eb87 100644 --- a/ros2/src/udp_teleop/config/box_detection_grasp.yaml +++ b/ros2/src/udp_teleop/config/box_detection_grasp.yaml @@ -1,7 +1,7 @@ box_detection_grasp: ros__parameters: - # ESP32 相机流 - stream_url: "http://192.168.4.1/stream" + # ESP32 相机流(由 camera_ip 拼接 http:///stream) + camera_ip: "192.168.4.1" # YOLO 模型路径 model_path: "/home/fallensigh/Dev/craic/ros2/src/udp_teleop/models/box_detection.pt" diff --git a/ros2/src/udp_teleop/launch/vision_grasp.launch.py b/ros2/src/udp_teleop/launch/vision_grasp.launch.py index c5b06f4..c07073a 100644 --- a/ros2/src/udp_teleop/launch/vision_grasp.launch.py +++ b/ros2/src/udp_teleop/launch/vision_grasp.launch.py @@ -38,7 +38,7 @@ def generate_launch_description(): DeclareLaunchArgument('auto_grasp', default_value='false', description='检测到方框后自动抓取'), DeclareLaunchArgument('udp_ip', default_value='192.168.4.1', - description='ESP32 UDP IP 地址'), + description='ESP32 IP(UDP 控制 + 相机流共用)'), DeclareLaunchArgument('show_debug', default_value='false', description='显示 YOLO 检测调试窗口'), @@ -67,6 +67,7 @@ def generate_launch_description(): name='box_detection_grasp', output='screen', parameters=[detection_params, { + 'camera_ip': udp_ip, 'auto_grasp': auto_grasp, 'show_debug_window': show_debug, }], diff --git a/ros2/src/udp_teleop/udp_teleop/box_detection_grasp.py b/ros2/src/udp_teleop/udp_teleop/box_detection_grasp.py index 6591b5c..285b36f 100644 --- a/ros2/src/udp_teleop/udp_teleop/box_detection_grasp.py +++ b/ros2/src/udp_teleop/udp_teleop/box_detection_grasp.py @@ -123,7 +123,7 @@ class BoxDetectionGraspNode(Node): raise RuntimeError("需要 ultralytics。安装: pip install ultralytics") # 声明参数 - self.declare_parameter('stream_url', 'http://192.168.4.1/stream') + self.declare_parameter('camera_ip', '192.168.4.1') self.declare_parameter('model_path', '/home/fallensigh/Dev/craic/tmp/best.pt') self.declare_parameter('confidence', 0.35) self.declare_parameter('imgsz', 768) @@ -136,7 +136,7 @@ class BoxDetectionGraspNode(Node): self.declare_parameter('auto_grasp', False) # 是否自动抓取 # 获取参数 - self.stream_url = self.get_parameter('stream_url').value + self.stream_url = f"http://{self.get_parameter('camera_ip').value}/stream" self.model_path = self.get_parameter('model_path').value self.confidence = float(self.get_parameter('confidence').value) self.imgsz = int(self.get_parameter('imgsz').value)