This mostly serves as an example


Implements theĀ Free Space Estimation algorithm.

Inputs

Subscribed Topics

TopicMessage TypeDescriptionQoS
~/left/image_rect_colorsensor_msgs/ImageLeft camera color rectified imageBEST_EFFORT
TBDTBDTBDTBD

Parameters

ParameterTypeDescriptionQoS
min_confidence (example)floatMinimum confidence for obstacle detectionBEST_EFFORT
TBDTBDTBDTBD

Outputs

Published Topics

TopicMessage TypeDescriptionQoS
/perception/free_spaceperception/FreeSpaceEstimateTBDTBD


Message Definitions

These are just very early proposals

# Standard header with timestamp and frame information
std_msgs/Header header

# Primary occupancy grid with cell-wise confidence values
nav_msgs/OccupancyGrid occupancy_grid
float32[] cell_confidence # Maps 1:1 with occupancy_grid cells

# Detected objects with uncertainty information
ObjectDescriptor[] objects

# Stixel representation of vertical structures
geometry_msgs/Point32[] stixel_bases # Base points of stixels in map frame
float32[] stixel_heights # Height of each stixel in meters
float32[] stixel_confidence # Confidence value [0,1] for each stixel

# Water surface analysis
float32[] water_confidence # Water detection confidence per grid cell

# Meta information
float32 max_reliable_range # Maximum reliable detection range (meters)
float32 min_confidence_threshold # Minimum confidence threshold used
uint32 processing_time_ms # Processing time for this frame
# Classification with probabilities
string[] possible_categories # e.g., ['boat', 'kayak', 'sailing_yacht']. Note that this is for ease of use and we shouldn't be sending an array of strings in every message.
float32[] category_probabilities # Probability [0,1] for each category

# Motion state flags
uint8 MOTION_STATE_STATIC = 0
uint8 MOTION_STATE_DYNAMIC = 1
uint8 MOTION_STATE_UNKNOWN = 2

uint8 motion_state

# Spatial information with uncertainty
geometry_msgs/PoseWithCovariance pose # 6D pose with uncertainty
geometry_msgs/Vector3 dimensions # Size in meters (length, width, height)
float32[9] dimension_covariance # 3x3 covariance matrix for dimensions

# Motion information
geometry_msgs/TwistWithCovariance velocity # Linear and angular velocity with uncertainty

# Status flags
uint8 STATUS_KNOWN = 0
uint8 STATUS_UNKNOWN = 255

uint8 position_status
uint8 velocity_status
uint8 classification_status




TODO:
Add details regarding launch file, document outputs.