vehicle_common.base.vision_node#

Classes#

VisionNode

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.Node

Base 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()#