vehicle_common.base.vision_node#
Classes#
Base class for ROS 2 nodes that process vision data. |
Functions#
|
Module Contents#
- camel_to_snake(name)#
- class VisionNode(custom_service, *, node_name: str | None = None, display: bool = False, use_service: bool = True, vehicle_namespace: str | None = None, camera_service_name: str | None = None, image_topic: str | None = None, camera_info_topic: str | None = None, vision_service_name: str | None = None, enable_failsafe: bool | None = None, failsafe_service_name: str | None = None)#
Bases:
rclpy.node.NodeBase class for ROS 2 nodes that process vision data. Provides an interface for handling image streams, processing frames, and managing vision-based tasks such as tracking and calibration.
- classmethod node_name()#
- classmethod service_name(camera_namespace: str | None = None)#
- debug#
- sim#
- save_vision#
- display#
- custom_service_type#
- uuid = ''#
- vehicle_namespace = None#
- camera_namespace = None#
- camera_service_name = ''#
- image_topic = ''#
- compressed_image_topic = '/compressed'#
- camera_info_topic = ''#
- preferred_image_transport = 'raw'#
- vision_service = ''#
- use_service#
- client = None#
- image = None#
- image_transport = None#
- camera_info = None#
- bridge#
- _camera_request_future = None#
- _camera_service_warned = False#
- _camera_wait_warned = False#
- _camera_fallback_warned = False#
- failsafe_trigger_client = None#
- static _normalize_namespace(namespace: str | None) str | None#
- _resolve_namespace(explicit_namespace: str | None) str | None#
- _resolve_transport_path(*, explicit: str | None, param_name: str, default_suffix: str) str#
- _resolve_vision_service_name(explicit: str | None) str#
- static _require_relative_transport_path(path: str, *, label: str) str#
- static _compressed_topic_for(raw_topic: str) str#
- static _resolve_preferred_image_transport(transport: str) str#
- image_callback(msg: sensor_msgs.msg.Image)#
Callback for receiving image requests.
- compressed_image_callback(msg: sensor_msgs.msg.CompressedImage)#
Callback for receiving compressed image requests.
- camera_info_callback(msg: sensor_msgs.msg.CameraInfo)#
Callback for receiving camera info messages. Stores the camera info for later use.
- Parameters:
msg (CameraInfo) – The ROS 2 CameraInfo message.
- _cache_image(msg: sensor_msgs.msg.Image | sensor_msgs.msg.CompressedImage, transport: str) None#
- convert_image_msg_to_frame(msg: sensor_msgs.msg.Image | sensor_msgs.msg.CompressedImage) numpy.ndarray#
Converts a ROS 2 Image message to a NumPy array.
- send_req(req)#
- _refresh_camera_cache_from_service() None#
- _select_camera_response_image(response: uav_interfaces.srv.CameraData.Response) tuple[sensor_msgs.msg.Image | sensor_msgs.msg.CompressedImage | None, str | None]#
- _handle_camera_response(future) None#
- request_data(cam_image: bool = False, cam_info: bool = False)#
Sends request for camera image or camera information.
- display_frame(frame: numpy.ndarray, window_name: str) None#
Displays the given frame using OpenCV.
- cleanup()#
Cleanup resources, such as OpenCV windows.
- publish_failsafe()#