Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(elevation_map_loader): add support for id_map_loader #3291

Closed

Conversation

Shin-kyoto
Copy link
Contributor

@Shin-kyoto Shin-kyoto commented Apr 5, 2023

WIP

Signed-off-by: Shin-kyoto 58775300+Shin-kyoto@users.noreply.github.com

Description

These PRs must be merged before this PR.

Why?

  • When you use large pointcloud map, map_loader cannot publish large map as one topic because of the limit size determined by the default value in cyclonedds.
  • So I want to add sequential map loading mode to elevation_map_loader. It is helpful to avoid exeeding the limit by using id_map_loader.

What?

  • I would like to add id_map_loader support to elevation_map_loader.
  • In the default setting, id_map_loader support is disabled. So if you want to use this, please change your launcher like this.
  • I assume that the each PCD file is not so large and the size of each PCD file does not exceed the limit size to receive(This is determined by the default value in cyclonedds)

Related links

Tests performed

I tested with a data from Autoware tutorial. The map is divided into 20m grids (sample-map-rosbag_split.zip).

I have confirmed that the Autoware performs the same as the current Autoware when use_differential_load is set false.

Notes for reviewers

How to check

  1. Check if these PRs are used in your environment.
  2. Build autoware
  3. Change your launcher like this.
  4. Run command below
ros2 launch autoware_launch logging_simulator.launch.xml map_path:=$HOME/data/map/sample-map-rosbag_split pointcloud_map_file:=pointcloud_map vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit planning:=false control:=false system:=false rviz:=true sensing:=false|grep -e elevation -e map
  1. You should get the outputs like;
❯ ros2 launch autoware_launch logging_simulator.launch.xml map_path:=$HOME/data/map/sample-map-rosbag_split pointcloud_map_file:=pointcloud_map vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit planning:=false control:=false system:=false rviz:=true sensing:=false|grep -e elevation -e map
........
[component_container-3] [INFO 1679896837.303861415] [map.pointcloud_map_loader]: Load /home/shintarotomie/data/map/sample-map-rosbag_split/pointcloud_map/89400_42300.pcd (1 out of 23)
........
[component_container_mt-1] [INFO 1679896838.782485794] [perception.obstacle_segmentation.elevation_map.elevation_map_loader]: send a request to map_loader
[component_container_mt-1] [INFO 1679896838.782555553] [perception.obstacle_segmentation.elevation_map.elevation_map_loader]: waiting response
[component_container_mt-1] [INFO 1679896838.792788277] [perception.obstacle_segmentation.elevation_map.elevation_map_loader]: concat maps
[component_container_mt-1] [INFO 1679896838.796591044] [perception.obstacle_segmentation.elevation_map.elevation_map_loader]: send a request to map_loader
[component_container_mt-1] [INFO 1679896838.796639893] [perception.obstacle_segmentation.elevation_map.elevation_map_loader]: waiting response
[component_container_mt-1] [INFO 1679896838.796889053] [perception.obstacle_segmentation.elevation_map.elevation_map_loader]: concat maps
[component_container_mt-1] [INFO 1679896838.796905702] [perception.obstacle_segmentation.elevation_map.elevation_map_loader]: finish receiving
[component_container_mt-1] [INFO 1679896838.799180362] [perception.obstacle_segmentation.elevation_map.elevation_map_loader]: receive service with pointcloud_map
[component_container_mt-1] [INFO 1679896838.799207985] [perception.obstacle_segmentation.elevation_map.elevation_map_loader]: Create elevation map from pointcloud map 
[component_container_mt-1] [INFO 1679896839.235498083] [perception.obstacle_segmentation.elevation_map.elevation_map_loader]: Finish creating elevation map. Total time: 0.433 sec
[component_container_mt-1] [INFO 1679896839.666728529] [rosbag2_storage]: Opened database '/home/shintarotomie/work/2023/0317/autoware/install/elevation_map_loader/share/elevation_map_loader/data/elevation_maps/52fe0e6043a473758c9aab905232c887a7374632dabe1099c27b22effcbd93e1/52fe0e6043a473758c9aab905232c887a7374632dabe1099c27b22effcbd93e1_0.db3' for READ_WRITE.
[component_container_mt-1] [INFO 1679896839.672484128] [perception.obstacle_segmentation.elevation_map.elevation_map_loader]: Saving elevation map successful: true
  1. Check rviz and you should see the elevation_map like;

image

Pre-review checklist for the PR author

The PR author must check the checkboxes below when creating the PR.

In-review checklist for the PR reviewers

The PR reviewers must check the checkboxes below before approval.

  • The PR follows the pull request guidelines.
  • The PR has been properly tested.
  • The PR has been reviewed by the code owners.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • There are no open discussions or they are tracked via tickets.
  • The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

Signed-off-by: Shin-kyoto <58775300+Shin-kyoto@users.noreply.github.com>
@github-actions github-actions bot added type:documentation Creating or refining documentation. (auto-assigned) component:launch Launch files, scripts and initialization tools. (auto-assigned) component:perception Advanced sensor data processing and environment understanding. (auto-assigned) labels Apr 5, 2023
@Shin-kyoto Shin-kyoto self-assigned this Apr 5, 2023
@Shin-kyoto Shin-kyoto closed this Apr 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:launch Launch files, scripts and initialization tools. (auto-assigned) component:perception Advanced sensor data processing and environment understanding. (auto-assigned) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant