autoware_probabilistic_occupancy_grid_map#
Purpose#
This package outputs the probability of having an obstacle as occupancy grid map.

References/External links#
Settings#
Occupancy grid map is generated on map_frame, and grid orientation is fixed.
You may need to choose scan_origin_frame and gridmap_origin_frame which means sensor origin and gridmap origin respectively. Especially, set your main LiDAR sensor frame (e.g. velodyne_top in sample_vehicle) as a scan_origin_frame would result in better performance.
Parameters#
-
binary bayes filter updater
Name Type Description Default Range probability_ matrix. occupied_ to_ occupied float Probability of transitioning from occupied to occupied state. 0.95 N/A probability_ matrix. occupied_ to_ free float Probability of transitioning from occupied to free state. 0.05 N/A probability_ matrix. free_ to_ occupied float Probability of transitioning from free to occupied state. 0.2 N/A probability_ matrix. free_ to_ free float Probability of transitioning from free to free state. 0.8 N/A v_ ratio float Ratio of the variance used in the filter. 0.1 N/A
-
grid map
Name Type Description Default Range grid_ map_ topic string The topic name for the grid map. / perception/ occupancy_ grid_ map/ occupancy_ grid_ map_ node/ debug/ grid_ map N/A grid_ map_ visualizations array List of grid map visualizations. ["grid_1st_ step", "grid_2nd_ step", "grid_3rd_ step"] N/A grid_1st_ step. type string The type of grid map visualization. occupancy_ grid N/A grid_1st_ step. params. layer string The layer of the grid map visualization. filled_ free_ to_ farthest N/A grid_1st_ step. params. data_ min float The minimum data value for the visualization. 0.0 N/A grid_1st_ step. params. data_ max float The maximum data value for the visualization. 100.0 N/A grid_2nd_ step. type string The type of grid map visualization. occupancy_ grid N/A grid_2nd_ step. params. layer string The layer of the grid map visualization. filled_ free_ to_ farthest N/A grid_2nd_ step. params. data_ min float The minimum data value for the visualization. 0.0 N/A grid_2nd_ step. params. data_ max float The maximum data value for the visualization. 100.0 N/A grid_3rd_ step. type string The type of grid map visualization. occupancy_ grid N/A grid_3rd_ step. params. layer string The layer of the grid map visualization. filled_ free_ to_ farthest N/A grid_3rd_ step. params. data_ min float The minimum data value for the visualization. 0.0 N/A grid_3rd_ step. params. data_ max float The maximum data value for the visualization. 100.0 N/A
-
laserscan based occupancy grid map
Name Type Description Default Range map_ frame string The frame ID of the map. map N/A base_ link_ frame string The frame ID of the base link. base_ link N/A gridmap_ origin_ frame string The frame ID of the grid map origin. base_ link N/A scan_ origin_ frame string The frame ID of the scan origin. base_ link N/A height_ filter. use_ height_ filter boolean Flag to use height filter. true N/A height_ filter. min_ height float Minimum height for the height filter. -1.0 N/A height_ filter. max_ height float Maximum height for the height filter. 2.0 N/A enable_ single_ frame_ mode boolean Flag to enable single frame mode. false N/A map_ length float The length of the map. 150.0 N/A map_ width float The width of the map. 150.0 N/A map_ resolution float The resolution of the map. 0.5 N/A
-
multi lidar pointcloud based occupancy grid map
Name Type Description Default Range shared_ config. map_ frame string The frame ID of the map. map N/A shared_ config. base_ link_ frame string The frame ID of the base link. base_ link N/A shared_ config. gridmap_ origin_ frame string The frame ID of the grid map origin. base_ link N/A shared_ config. map_ resolution float The resolution of the map. 0.5 N/A shared_ config. map_ length_ x float The length of the map in the x direction. 150.0 N/A shared_ config. map_ length_ y float The length of the map in the y direction. 150.0 N/A downsample_ input_ pointcloud boolean Flag to downsample the input pointcloud. true N/A downsample_ voxel_ size float The voxel size for downsampling. 0.25 N/A ogm_ creation_ config. height_ filter. use_ height_ filter boolean Flag to use height filter. true N/A ogm_ creation_ config. height_ filter. min_ height float Minimum height for the height filter. -1.0 N/A ogm_ creation_ config. height_ filter. max_ height float Maximum height for the height filter. 2.0 N/A ogm_ creation_ config. enable_ single_ frame_ mode boolean Flag to enable single frame mode. true N/A ogm_ creation_ config. filter_ obstacle_ pointcloud_ by_ raw_ pointcloud boolean Flag to filter obstacle pointcloud by raw pointcloud. false N/A ogm_ creation_ config. grid_ map_ type string Type of the grid map. OccupancyGridMapFixedBlindSpot N/A ogm_ creation_ config. OccupancyGridMapFixedBlindSpot. distance_ margin float Distance margin for the fixed blind spot. 1.0 N/A ogm_ creation_ config. OccupancyGridMapProjectiveBlindSpot. projection_ dz_ threshold float Projection dz threshold to avoid null division. 0.01 N/A ogm_ creation_ config. OccupancyGridMapProjectiveBlindSpot. obstacle_ separation_ threshold float Threshold to fill the interval between obstacles with unknown. 1.0 N/A ogm_ creation_ config. OccupancyGridMapProjectiveBlindSpot. pub_ debug_ grid boolean Flag to publish the debug grid. false N/A fusion_ config. raw_ pointcloud_ topics array List of raw pointcloud topics. N/A fusion_ config. fusion_ input_ ogm_ topics array List of fusion input occupancy grid map topics. N/A fusion_ config. input_ ogm_ reliabilities array Reliability of each sensor for fusion. N/A fusion_ config. fusion_ method string Method for occupancy grid map fusion. overwrite ['overwrite', 'log-odds', 'dempster-shafer']
-
pointcloud based occupancy grid map
Name Type Description Default Range map_ length float The length of the map. 150.0 N/A map_ resolution float The resolution of the map. 0.5 N/A height_ filter. use_ height_ filter boolean Flag to use height filter. true N/A height_ filter. min_ height float Minimum height for the height filter. -1.0 N/A height_ filter. max_ height float Maximum height for the height filter. 2.0 N/A downsample_ input_ pointcloud boolean Flag to downsample the input pointcloud. true N/A downsample_ voxel_ size float The voxel size for downsampling. 0.25 N/A enable_ single_ frame_ mode boolean Flag to enable single frame mode. false N/A filter_ obstacle_ pointcloud_ by_ raw_ pointcloud boolean Flag to filter obstacle pointcloud by raw pointcloud. false N/A map_ frame string The frame ID of the map. map N/A base_ link_ frame string The frame ID of the base link. base_ link N/A gridmap_ origin_ frame string The frame ID of the grid map origin. base_ link N/A scan_ origin_ frame string The frame ID of the scan origin. base_ link N/A grid_ map_ type string Type of the grid map. OccupancyGridMapFixedBlindSpot N/A OccupancyGridMapFixedBlindSpot. distance_ margin float Distance margin for the fixed blind spot. 1.0 N/A OccupancyGridMapProjectiveBlindSpot. projection_ dz_ threshold float Projection dz threshold to avoid null division. 0.01 N/A OccupancyGridMapProjectiveBlindSpot. obstacle_ separation_ threshold float Threshold to fill the interval between obstacles with unknown. 1.0 N/A OccupancyGridMapProjectiveBlindSpot. pub_ debug_ grid boolean Flag to publish the debug grid. false N/A processing_ time_ tolerance_ ms float Maximum warning processing time delay in milliseconds. 50.0 N/A processing_ time_ consecutive_ excess_ tolerance_ ms float Maximum acceptable consecutive processing time delay warning in milliseconds. 1000.0 N/A
-
synchronized grid map fusion
Name Type Description Default Range fusion_ input_ ogm_ topics array List of fusion input occupancy grid map topics. ["topic1", "topic2"] N/A input_ ogm_ reliabilities array Reliability of each sensor for fusion. [0.8, 0.2] N/A fusion_ method string Method for occupancy grid map fusion. overwrite ['overwrite', 'log-odds', 'dempster-shafer'] match_ threshold_ sec float Time threshold for matching in seconds. 0.01 N/A timeout_ sec float Timeout for synchronization in seconds. 0.1 N/A input_ offset_ sec array Offset for each input in seconds. [0.0, 0.0] N/A map_ frame_ string The frame ID of the map. map N/A base_ link_ frame_ string The frame ID of the base link. base_ link N/A grid_ map_ origin_ frame_ string The frame ID of the grid map origin. base_ link N/A fusion_ map_ length_ x float The length of the fusion map in the x direction. 100.0 N/A fusion_ map_ length_ y float The length of the fusion map in the y direction. 100.0 N/A fusion_ map_ resolution float The resolution of the fusion map. 0.5 N/A publish_ processing_ time_ detail boolean True for showing detail of publish processing time. false N/A
Downsample input pointcloud(Optional)#
If you set downsample_input_pointcloud to true, the input pointcloud will be downsampled and following topics are also used. This feature is currently only for the pointcloud based occupancy grid map.
- pointcloud_based_occupancy_grid_map method
# downsampled raw and obstacle pointcloud
/perception/occupancy_grid_map/obstacle/downsample/pointcloud
/perception/occupancy_grid_map/raw/downsample/pointcloud
- multi_lidar_pointcloud_based_point_cloud
# downsampled raw and obstacle pointcloud
/perception/occupancy_grid_map/obstacle/downsample/pointcloud
/perception/occupancy_grid_map/<sensor_name>/raw/downsample/pointcloud
Test#
This package provides unit tests using gtest.
You can run the test by the following command.
colcon test --packages-select autoware_probabilistic_occupancy_grid_map --event-handlers console_direct+
Test contains the following.
- Unit test for cost value conversion function
- Unit test for utility functions
- Unit test for occupancy grid map fusion functions
- Input/Output test for pointcloud based occupancy grid map