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(dummy_perception_publisher): publish realistic dummy pointcloud using raymarchig #527

Merged

Conversation

HiroIshida
Copy link
Contributor

@HiroIshida HiroIshida commented Mar 16, 2022

Related Issue(required)

CLICK BELOW for the detail of the experiment

detail The code for plotting
import matplotlib.pyplot as plt
pre = [0.011, 0.028, 0.119, 0.369] 
post = [0.027, 0.0325, 0.0335, 0.045, 0.0569]
plt.plot([3*2**N for N in range(len(pre))], pre, 'ro-', label='previous')
plt.plot([3*2**N for N in range(len(post))], post, 'bo-', label='after PR')
plt.legend()
plt.grid()
plt.show()

Similar to the condition mentioned in #460, I set leaf size to 0.02 and enable raytracing by HiroIshida@87ad586
Before this PR:
3 pedestrians (later just peds.).

[dummy_perception_publisher_node-32] [INFO] [1651098705.458081354] [ishida_debug]: elapsed in cb: 0.0111047
[dummy_perception_publisher_node-32] [INFO] [1651098705.558121352] [ishida_debug]: elapsed in cb: 0.0111413
[dummy_perception_publisher_node-32] [INFO] [1651098705.658110000] [ishida_debug]: elapsed in cb: 0.0111253

6 peds.

[dummy_perception_publisher_node-32] [INFO] [1651098755.475391737] [ishida_debug]: elapsed in cb: 0.0284033
[dummy_perception_publisher_node-32] [INFO] [1651098755.580160119] [ishida_debug]: elapsed in cb: 0.0329564
[dummy_perception_publisher_node-32] [INFO] [1651098755.677777064] [ishida_debug]: elapsed in cb: 0.0307617

12 peds.

[dummy_perception_publisher_node-32] [INFO] [1651098785.779767720] [ishida_debug]: elapsed in cb: 0.119255
[dummy_perception_publisher_node-32] [INFO] [1651098785.919841666] [ishida_debug]: elapsed in cb: 0.139978
[dummy_perception_publisher_node-32] [INFO] [1651098786.048075382] [ishida_debug]: elapsed in cb: 0.128161

24 peds

[dummy_perception_publisher_node-32] [INFO] [1651098830.236009168] [ishida_debug]: elapsed in cb: 0.369423
[dummy_perception_publisher_node-32] [INFO] [1651098830.588221277] [ishida_debug]: elapsed in cb: 0.352129
[dummy_perception_publisher_node-32] [INFO] [1651098830.940979519] [ishida_debug]: elapsed in cb: 0.352684

After this PR:
3 peds.

[dummy_perception_publisher_node-32] [INFO] [1651098380.290698191] [ishida_debug]: elapsed in cb: 0.0271508
[dummy_perception_publisher_node-32] [INFO] [1651098380.389969137] [ishida_debug]: elapsed in cb: 0.0264274
[dummy_perception_publisher_node-32] [INFO] [1651098380.489191225] [ishida_debug]: elapsed in cb: 0.025653

6 peds

[dummy_perception_publisher_node-32] [INFO] [1651098399.996082245] [ishida_debug]: elapsed in cb: 0.0325398
[dummy_perception_publisher_node-32] [INFO] [1651098400.091935234] [ishida_debug]: elapsed in cb: 0.0283962
[dummy_perception_publisher_node-32] [INFO] [1651098400.192519080] [ishida_debug]: elapsed in cb: 0.0289406

12 peds

[dummy_perception_publisher_node-32] [INFO] [1651098446.797084462] [ishida_debug]: elapsed in cb: 0.033536
[dummy_perception_publisher_node-32] [INFO] [1651098446.904084056] [ishida_debug]: elapsed in cb: 0.0405116
[dummy_perception_publisher_node-32] [INFO] [1651098447.000447143] [ishida_debug]: elapsed in cb: 0.0368933

24 peds

[dummy_perception_publisher_node-32] [INFO] [1651098491.308734791] [ishida_debug]: elapsed in cb: 0.0451902
[dummy_perception_publisher_node-32] [INFO] [1651098491.409088687] [ishida_debug]: elapsed in cb: 0.0455172
[dummy_perception_publisher_node-32] [INFO] [1651098491.511595902] [ishida_debug]: elapsed in cb: 0.0480176

48 pedes

[dummy_perception_publisher_node-32] [INFO] [1651098579.820494309] [ishida_debug]: elapsed in cb: 0.0569535
[dummy_perception_publisher_node-32] [INFO] [1651098579.924211786] [ishida_debug]: elapsed in cb: 0.0606381
[dummy_perception_publisher_node-32] [INFO] [1651098580.021794651] [ishida_debug]: elapsed in cb: 0.0582257

TODO list after first review

  • strategy pattern
  • ray tracing for multiple object at once
  • move deafult ray tracing method to ObjectCentricPointcloudGeneratir

Description(required)

The original PR is https://github.com/tier4/autoware.iv/pull/1809

This PR solves
#460 because previous method is two-stage, but the new method directly generate the pointcloud by sphere tracing.
#413 because the new method is free from parameter tuning like in the previous method (leaf size)

Originally, the dummy point cloud was generated by two-steps: 1) generate point around the edges of square of objects. 2) then descritize [-pi, pi] by cells indicated by intervals between blue lines in the following figure. Then among points falls into each cell, pick the one which has smallest distance from the vehicle. For example, the points annotated with "selected" is picked for cell 3. As you can see, the point cloud generation process does not well model the real generation.

The problem of this method becomes prominent in the following two cases:

  1. if interval between each red point is set to large, even if angle discretization is precise enough, the resulting pointcloud will be too sparse.

  2. if the interval between red points are too small, resulting pointcloud can be exist on back side of the object, which is physically strange.

On the other hand, the newer implementation simulate the point cloud generation process by lidar by ray-casting. Simply we simulate the equally interval-ed rays marching (blue lines), and collision points (indicated as red points in the figure below) of each rays will be finally used as the pointcloud.

Here, we used sphere-marching (or raymarching) method described here. The sphere marching method assumes that signed distance field can be computed for each object. In planning simulator, dummy objects (vehicle and pedestrian) are considered as a square, so it can easily be [computed analytically].(https://computergraphics.stackexchange.com/questions/161/what-is-ray-marching-is-sphere-tracing-the-same-thing/163)

From these difference of pointcloud generation process, I named the old method as createObjectPointCloudObjectCentric and the new method as createObjectPointCloudVehicleCentric. One can select from two methods, by using object_centric_pointcloud: bool parameter.

demo with old method

old_demo_apr7.mp4

demo with new method

Pointcloud is physically faithful.

new_demo_apr7.mp4

Review Procedure(required)

Related PR(optional)

https://github.com/tier4/autoware.iv/pull/1809

Pre-Review Checklist for the PR Author

PR Author should check the checkboxes below when creating the PR.

If you are adding new package following items are required:

  • Documentation with description of the package is available
  • A sample launch file and parameter file are available if the package contains executable nodes

Checklist for the PR Reviewer

Reviewers should check the checkboxes below before approval.

  • Commits are properly organized and messages are according to the guideline
  • PR title describes the changes

Post-Review Checklist for the PR Author

PR Author should check the checkboxes below before merging.

  • All open points are addressed and tracked via issues or tickets

CI Checks

  • Build and test for PR / build-and-test-pr: Required to pass before the merge.
  • Build and test for PR / clang-tidy-pr: NOT required to pass before the merge. It is up to the reviewer(s). Found false positives? See the [guidelines][clang-tidy-guidelines].
  • Check spelling: NOT required to pass before the merge. It is up to the reviewer(s). See here if you want to add some words to the spell check dictionary.

@codecov
Copy link

codecov bot commented Mar 16, 2022

Codecov Report

Merging #527 (09a120a) into main (b2f90a0) will increase coverage by 0.02%.
The diff coverage is 14.39%.

@@           Coverage Diff            @@
##            main    #527      +/-   ##
========================================
+ Coverage   9.64%   9.66%   +0.02%     
========================================
  Files        907     911       +4     
  Lines      56508   56765     +257     
  Branches    6693    6726      +33     
========================================
+ Hits        5451    5488      +37     
- Misses     46566   46763     +197     
- Partials    4491    4514      +23     
Flag Coverage Δ *Carryforward flag
differential 5.36% <15.94%> (?)
total 9.64% <0.00%> (ø) Carriedforward from db00da5

*This pull request uses carry forward flags. Click here to find out more.

Impacted Files Coverage Δ
...lisher/include/dummy_perception_publisher/node.hpp 0.00% <0.00%> (ø)
simulator/dummy_perception_publisher/src/node.cpp 0.00% <0.00%> (ø)
...my_perception_publisher/src/pointcloud_creator.cpp 0.00% <0.00%> (ø)
...blisher/test/src/test_signed_distance_function.cpp 33.33% <33.33%> (ø)
..._perception_publisher/signed_distance_function.hpp 42.85% <42.85%> (ø)
...ception_publisher/src/signed_distance_function.cpp 100.00% <100.00%> (ø)
...ption_rviz_plugin/src/tools/interactive_object.hpp 0.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b2f90a0...09a120a. Read the comment docs.

@takayuki5168 takayuki5168 changed the title Publish realistic dummy pointcloud using raymarchig feat(dummy_perception_publisher): publish realistic dummy pointcloud using raymarchig Mar 16, 2022
pull bot pushed a commit to kenji-miyake/autoware.universe that referenced this pull request Mar 16, 2022
* Feature/porting centerpoint (autowarefoundation#1658)

* Feature CenterPoint TensorRT (autowarefoundation#1300)

* init centerpoint trt

* update

* [update] libtorch 1.8.1 -> 1.6.0

* fix

* update gitignore

* add license

* more efficient voxel_generator

* remove unnecessary rosparams

* libtorch source-code build

* update gitignore

* following the guidelines

* fix rosparam

* change input params

* add reference repository

* update the links to download trained model

* fix license

* package ver.

* update README

* publish msgs when subscribed

* clang-format

* check if the pre-trained file changes

* remove the download of libtorch package

* update

* update README

* remove megToTensor

* disable libtorch CPU parallelization

* remove unnecessary pointcloud transformation

* format

* fix ERROR `/usr/bin/ld: -lCUDA_cublas_device_LIBRARY-NOTFOUND` using cmake 3.10.2

* remove voxel_generator_cuda

* revert CUDA_cublas

* add nan checker for debug

* remove nan checker

* fix to filter invalid features

* fix densification pointcloud order

* add invalid feature filter

* revert change

* change cmake version (autowarefoundation#1547)

* Fix cpu build error of CenterPoint (autowarefoundation#1548)

* skip build without CUDA

* fix find Torch

* fix cmake of lidar_centerpoint (autowarefoundation#1557)

* Porting centerpoint to ros2

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Rename headers(.h -> .hpp)

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* pre-commit fixes

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Use sensor data qos

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Address review: Remove unused compile option

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Address review: Fix topic name

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Address review: Add new line

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Address review: Add subscriber check

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Address review: Use autoware utils

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

Co-authored-by: Yusuke Muramatsu <yukke42@users.noreply.github.com>
Co-authored-by: Satoshi Tanaka <satoshi.tanaka@tier4.jp>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* Fix centerpoint object qos (autowarefoundation#1747)

Signed-off-by: Takayuki AKAMINE <takayuki.akamine@tier4.jp>

Co-authored-by: Takayuki AKAMINE <takayuki.akamine@tier4.jp>

* Fix package.xml (autowarefoundation#2056)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Detection by tracker (autowarefoundation#1910)

* initial commit

* backup

* apply format

* cosmetic change

* implement divided under segmenterd clusters

* cosmetic change

* bug fix

* bug fix

* bug fix

* modify launch

* add debug and bug fix

* bug fix

* bug fix

* add no found tracked object

* modify parameters and cmake

* bug fix

* remove debug info

* add readme

* modify clustering launch

* run pre-commit

* cosmetic change

* cosmetic change

* cosmetic change

* apply markdownlint

* modify launch

* modify for cpplint

* modify qos

* change int to size_T

* bug fix

* change perception qos

* Update perception/object_recognition/detection/detection_by_tracker/package.xml

Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>

* cosmetic change

* cosmetic change

* fix launch

* Update perception/object_recognition/detection/detection_by_tracker/src/utils.cpp

Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>

* modify header include order

* change include order

* Update perception/object_recognition/detection/detection_by_tracker/src/detection_by_tracker_core.cpp

Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>

* change to std::optional

* cosmetic change

* Update perception/object_recognition/detection/detection_by_tracker/src/detection_by_tracker_core.cpp

Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>

* Update perception/object_recognition/detection/detection_by_tracker/src/detection_by_tracker_core.cpp

Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>

* bug fix

* modify readme

Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>

* fix for createQuaternionFromRPY/Yaw (autowarefoundation#2154)

* Change formatter to clang-format and black (autowarefoundation#2332)

* Revert "Temporarily comment out pre-commit hooks"

This reverts commit 748e9cdb145ce12f8b520bcbd97f5ff899fc28a3.

* Replace ament_lint_common with autoware_lint_common

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Remove ament_cmake_uncrustify and ament_clang_format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply Black

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply clang-format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix build errors

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix for cpplint

* Fix include double quotes to angle brackets

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Apply clang-format

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Fix build errors

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Add COLCON_IGNORE (autowarefoundation#500)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* port lidar_centerpoint (autowarefoundation#527)

* delete COLCON_IGNORE

* change autoware_perception_msgs to autoware_auto_perception_msgs

* use existence_probability

* use orientation_availability

* about about existence_probability

* Sync .auto branch with the latest branch in internal repository (autowarefoundation#691)

* add trajectory point offset in rviz plugin (autowarefoundation#2270)

* sync rc rc/v0.23.0 (autowarefoundation#2258)

* fix interpolation for insert point (autowarefoundation#2228)

* fix interpolation for insert point

* to prev interpolation pkg

* Revert "to prev interpolation pkg"

This reverts commit 9eb145b5d36e297186015fb17c267ccd5b3c21ef.

Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
Co-authored-by: taikitanaka <ttatcoder@outlook.jp>

* fix topic name (autowarefoundation#2266)

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* Add namespace to diag for dual_return_filter (autowarefoundation#2269)

* Add a function to make 'geometry_msgs::msg::TransformStamped' (autowarefoundation#2250)

* Add a function to make 'geometry_msgs::msg::TransformStamped'
* Add 'child_frame_id' as an argument of 'pose2transform'

* Simplify marker scale initialization (autowarefoundation#2286)

* Fix/crosswalk polygon (autowarefoundation#2279)

* extend crosswalk polygon

* improve readability

* fix polygon shape

* Add warning when decel distance calculation fails (autowarefoundation#2289)

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* [motion_velocity_smoother] ignore debug print (autowarefoundation#2292)

* cosmetic change

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* cahnge severity from WARN to DEBUG for debug info

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* use util for stop_watch

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* fix map based prediction (autowarefoundation#2200)

* fix map based prediction

* fix format

* change map based prediction

* fix spells

* fix spells in comments

* fix for cpplint

* fix some problems

* fix format and code for clang-tidy

* fix space for cpplint

* Update Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

* fix vector access method

* fix readme format

* add parameter

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update Readme.md

* Update perception/object_recognition/prediction/map_based_prediction/Readme.md

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* remove failure condition for 0 velocity trajectory (autowarefoundation#2295)

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* [mpc_follower] remove stop distance condition from stopState decision (autowarefoundation#1916)

* [mpc_follower] remove stop distance condition from stopState decision

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* add invalid index handling

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* Move the debug marker initialization part to another file (autowarefoundation#2288)

* Move the debug marker initialization part to 'debug.cpp'

* Make 'isLocalOptimalSolutionOscillation' independent from 'NDTScanMatcher' (autowarefoundation#2300)

* Remove an unused function 'getTransform' (autowarefoundation#2301)

* Simplify iteration of initial poses (autowarefoundation#2310)

* Make a transform object const (autowarefoundation#2311)

* Represent poses in 'std::vector' instead of 'geometry_msgs::msg::PoseArray' (autowarefoundation#2312)

* Feature/no stopping area (autowarefoundation#2163)

* add no stopping area module to behavior velocity planner

* apply utils

* add polygon interpolation module order stopline around area is considered

* devide jpass udge with stop line polygon

* update docs

* rename file name

* update to latest

* minor change for marker

* update license

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* update license

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* update license

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* update license

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* minor fix

* add parameter tuning at experiment

* update readme

* format doc

* apply comments

* add exception gurd

* cosmetic change

* fix ament

* fix typo and remove for statement

* & to " "

* better ns

* return pass judge param

* add missing stoppable condition

* add clear pass judge and stoppable flag

* add comment

* precommit fix

* cpplint

Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>

* sync rc rc/v0.23.0 (autowarefoundation#2281)

* Fix side shift planner (autowarefoundation#2171) (autowarefoundation#2172)

* add print debug

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* remove forward shift points when adding new point

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* remove debug print

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* format

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* Fix remove threshold

Co-authored-by: Fumiya Watanabe <rej55.g@gmail.com>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* Fix/pull out and pull over (autowarefoundation#2175)

* delete unnecessary check

* fix condition of starting pull out

* Add emergency status API (autowarefoundation#2174) (autowarefoundation#2182)

* Fix/mpc reset prev result (autowarefoundation#2185) (autowarefoundation#2195)

* reset prev result

* clean code

* reset only raw_steer_cmd

* Update control/mpc_follower/src/mpc_follower_core.cpp

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* [hotfix] 1 path point exception after resampling (autowarefoundation#2204)

* fix 1 path point exception after resampling

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>

* [hotfix] Fix lane ids (autowarefoundation#2211)

* Fix lane ids

* Prevent acceleration on avoidance (autowarefoundation#2214)

* prevent acceleration on avoidance

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* fix param name

Signed-off-by: TakaHoribe <horibe.takamasa@gmail.com>

* parametrize avoidance acc

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* change param name

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* fix typo

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* Fix qos in roi cluster fusion (autowarefoundation#2218)

* fix confidence (autowarefoundation#2220)

* too high confidence (autowarefoundation#2229)

* Fix/obstacle stop 0.23.0 (autowarefoundation#2232)

* fix unexpected slow down in sharp curves (autowarefoundation#2181)

* Fix/insert implementation (autowarefoundation#2186)

Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>

* [hotfix] Remove exception in avoidance module (autowarefoundation#2233)

* Remove exception

* Fix clock

* Remove blank line

* Update traffic light state if ref stop point is ahead of previous one (autowarefoundation#2197)

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* fix interpolation for insert point (autowarefoundation#2228)

* fix interpolation for insert point

* to prev interpolation pkg

* fix index (autowarefoundation#2265)

* turn signal calculation (#2280)

* add turn signal funtion in path shifter

* add ros parameters

Co-authored-by: Fumiya Watanabe <rej55.g@gmail.com>
Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>
Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com>
Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>
Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>
Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>
Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
Co-authored-by: Sugatyon <32741405+Sugatyon@users.noreply.github.com>

* [behavior_path_planner] fix sudden path change around ego (autowarefoundation#2305) (autowarefoundation#2318)

* fix return-from-ego shift point generation logic

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* change param for trimSimilarGradShiftPoint

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* add comment for issue

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* update comment

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* replace code with function (logic has not changed)

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* move func to cpp

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* add comment for issue

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* fix typo

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/src/scene_module/avoidance/avoidance_module.cpp

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Update planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/src/scene_module/avoidance/avoidance_module.cpp

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Add functions to make stamped scalar messages (autowarefoundation#2317)

* Fix/object yaw in intersection module (autowarefoundation#2294)

* fix object orientation

* fix function name

* add guard (autowarefoundation#2321)

* reduce cost (double to float) (autowarefoundation#2298)

* Add detail collision check (autowarefoundation#2274)

* Add detail collision check

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Remove unused function

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Fix arc length

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Seperate time margin

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Fix parameter name

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Update Readme

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Address review: Add comment for TimeDistanceArray

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Run pre-commit

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Fix cpplint

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* Add return for empty polygon

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* update CenterPoint  (autowarefoundation#2222)

* update to model trained by mmdet3d

* add vizualizer (debug)

* for multi-frame inputs

* chagne config

* use autoware_utils::pi

* project specific model and param

* rename vfe -> encoder

* rename general to common

* update download link

* update

* fix

* rename model_name

* change training toolbox link

* chage lint package

* fix test error

* commit suggestion

* Feature/lane change detection (autowarefoundation#2331)

* add old information deleter

* fix access bug

* change to deque

* update obstacle buffer

* fix some bugs

* add lane change detector

* make a update lanelet function

* fix code style

* parameterize essential values

* Update perception/object_recognition/prediction/map_based_prediction/src/map_based_prediction_ros.cpp

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* fix slash position

* remove unnecessary lines

* fix format

* fix format

* change to new enum

* fix format

* fix typo and add guard

* change funciton name

* add lane change description

Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>

* Add Planning Evaluator  (autowarefoundation#2293)

* Add prototype planning evaluator

Produced data for dist between points, curvature, and relative angle

* Cleanup the code to make adding metrics easier

* Add remaining basic metrics (length, duration, vel, accel, jerk)

* Add motion_evaluator to evaluate the actual ego motion + code cleanup

* Add deviation metrics

* Add naive stability metric

* Handle invalid stat (TODO: fix the output file formatting)

* Add parameter file and cleanup

* Add basic obstacle metric (TTC not yet implemented) and fix output file format

* Add basic time to collision

* Add lateral-distance based stability metric

* Add check (at init time) that metrics' maps are complete

* Publish metrics as ParamaterDeclaration msg (for openscenario)

* Use lookahead and start from ego_pose when calculating stability metrics

* Code cleanup

* Fix lint

* Add tests

* Fix bug with Frechet dist and the last traj point

* Finish implementing tests

* Fix lint

* Code cleanup

* Update README.md

* Remove unused metric

* Change msg type of published metrics to DiagnosticArray

* fix format to fix pre-commit check

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* fix yaml format to fix pre-commit check

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* fix yaml format

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* apply clang-format

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* apply clang-format

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* Update planning/planning_diagnostics/planning_evaluator/include/planning_evaluator/planning_evaluator_node.hpp

* Update planning/planning_diagnostics/planning_evaluator/test/test_planning_evaluator_node.cpp

* Update planning/planning_diagnostics/planning_evaluator/test/test_planning_evaluator_node.cpp

* change lint format to autoware_lint_common

Signed-off-by: Takamasa Horibe <horibe.takamasa@gmail.com>

Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>

* Add keep braking function at driving state (autowarefoundation#2346)

* Add keep braking function at driving state

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Remove debug messages

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Fix format

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Change diag_updater's pediod from default to 0.1sec (autowarefoundation#2348)

* add cross judgement and common signal function (autowarefoundation#2319)

* merge branch turn_signal_common

* add turn signal function in signal decider

* add cross judge in path_utilities and delete from turn_signal_decider

* remove original signal calculation in lane change

* omit substitution

* replace turn signal decider in pull over function

* modify cross judge logic

* replace turn signal decider in avoidance

* add readme of turn signal

* update

* delete print debug

* update

* delete lane change decider in path shifter

* delete blank line

* fix indent

* fix typo

* fix typo

* decrease nest

* run pre commit

* Add 0 limit at forward jerk velocity filter (autowarefoundation#2340)

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* add time offset param to point cloud concatenation (autowarefoundation#2303)

* add offset param

* clang-format

Co-authored-by: Akihito OHSATO <aohsato@gmail.com>

* Feature/add doc for keep braking function at driving state (autowarefoundation#2366)

* Add the description of brake keeping

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Add the english document

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Improve description

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Add english description

Signed-off-by: Makoto Kurihara <mkuri8m@gmail.com>

* Fix include files (autowarefoundation#2339)

Signed-off-by: Kenji Miyake <kenji.miyake@tier4.jp>

* fix behavior intersection module

* fix behavior no stopping area module

* fix planning_evaluator

* fix motion_velocity_smoother

* rename variable

* Revert "[mpc_follower] remove stop distance condition from stopState decision (autowarefoundation#1916)"

This reverts commit ff4f0b5a844d1f835f1b93bd3b36a76747b0cd02.

* Revert "Add keep braking function at driving state (autowarefoundation#2346)"

This reverts commit f0478187db4c28bf6092c198723dcc5ec11a9c70.

* Revert "Feature/add doc for keep braking function at driving state (autowarefoundation#2366)"

This reverts commit 66de2f3924a479049fce2d5c5c6b579cacbd3e49.

* Fix orientation availability in centerpoint

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* fix test_trajectory.cpp

* add target link libraries

* Use .auto msg in test code for planniing evaluator

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

* fix include

Signed-off-by: wep21 <border_goldenmarket@yahoo.co.jp>

Co-authored-by: Takayuki Murooka <takayuki5168@gmail.com>
Co-authored-by: autoware-iv-sync-ci[bot] <87871706+autoware-iv-sync-ci[bot]@users.noreply.github.com>
Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
Co-authored-by: taikitanaka <ttatcoder@outlook.jp>
Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>
Co-authored-by: Takeshi Ishita <ishitah.takeshi@gmail.com>
Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>
Co-authored-by: Makoto Kurihara <mkuri8m@gmail.com>
Co-authored-by: purewater0901 <43805014+purewater0901@users.noreply.github.com>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>
Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>
Co-authored-by: Fumiya Watanabe <rej55.g@gmail.com>
Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com>
Co-authored-by: Sugatyon <32741405+Sugatyon@users.noreply.github.com>
Co-authored-by: s-murakami-esol <81723883+s-murakami-esol@users.noreply.github.com>
Co-authored-by: Yusuke Muramatsu <yukke42@users.noreply.github.com>
Co-authored-by: Maxime CLEMENT <78338830+maxime-clem@users.noreply.github.com>
Co-authored-by: Shunsuke Miura <37187849+miursh@users.noreply.github.com>
Co-authored-by: Shinnosuke Hirakawa <8327162+0x126@users.noreply.github.com>
Co-authored-by: Akihito OHSATO <aohsato@gmail.com>
Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>

* Update README.md

Co-authored-by: Daisuke Nishimatsu <42202095+wep21@users.noreply.github.com>
Co-authored-by: Yusuke Muramatsu <yukke42@users.noreply.github.com>
Co-authored-by: Satoshi Tanaka <satoshi.tanaka@tier4.jp>
Co-authored-by: tkimura4 <tomoya.kimura@tier4.jp>
Co-authored-by: Takayuki AKAMINE <takayuki.akamine@tier4.jp>
Co-authored-by: Kenji Miyake <kenji.miyake@tier4.jp>
Co-authored-by: Yukihiro Saito <yukky.saito@gmail.com>
Co-authored-by: Takayuki Murooka <takayuki5168@gmail.com>
Co-authored-by: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com>
Co-authored-by: autoware-iv-sync-ci[bot] <87871706+autoware-iv-sync-ci[bot]@users.noreply.github.com>
Co-authored-by: taikitanaka3 <65527974+taikitanaka3@users.noreply.github.com>
Co-authored-by: taikitanaka <ttatcoder@outlook.jp>
Co-authored-by: Takamasa Horibe <horibe.takamasa@gmail.com>
Co-authored-by: Takeshi Miura <57553950+1222-takeshi@users.noreply.github.com>
Co-authored-by: Takeshi Ishita <ishitah.takeshi@gmail.com>
Co-authored-by: Satoshi OTA <44889564+satoshi-ota@users.noreply.github.com>
Co-authored-by: Makoto Kurihara <mkuri8m@gmail.com>
Co-authored-by: purewater0901 <43805014+purewater0901@users.noreply.github.com>
Co-authored-by: Kazuki Miyahara <kmiya@outlook.com>
Co-authored-by: Fumiya Watanabe <rej55.g@gmail.com>
Co-authored-by: Takagi, Isamu <43976882+isamu-takagi@users.noreply.github.com>
Co-authored-by: Sugatyon <32741405+Sugatyon@users.noreply.github.com>
Co-authored-by: s-murakami-esol <81723883+s-murakami-esol@users.noreply.github.com>
Co-authored-by: Maxime CLEMENT <78338830+maxime-clem@users.noreply.github.com>
Co-authored-by: Shunsuke Miura <37187849+miursh@users.noreply.github.com>
Co-authored-by: Shinnosuke Hirakawa <8327162+0x126@users.noreply.github.com>
Co-authored-by: Akihito OHSATO <aohsato@gmail.com>
@yukkysaito
Copy link
Contributor

I'll review today

@yukkysaito
Copy link
Contributor

@HiroIshida
Thank you very much.
I think it is better to remove createObjectPointcloudObjectCentric and use only createObjectPointcloudVehicleCentric.
Or it would be better to create an interface class for createObjectPointcloud to be able to switch methods.
reference links:

@yukkysaito
Copy link
Contributor

By the way, it generates a point by ray tracing between objects after ray tracing each object, but is it possible to do it simultaneously with sphere-marching, including between objects at the same time?

@yukkysaito yukkysaito self-requested a review March 17, 2022 15:33
@HiroIshida
Copy link
Contributor Author

@yukkysaito
Thank you for your review.
I understand. I would chose leaving the old class method in case.

By the way, it generates a point by ray tracing between objects after ray tracing each object, but is it possible to do it simultaneously with sphere-marching, including between objects at the same time?

sure, your suggestion will make the algorithm lot faster. I will certainly implement it.

@HiroIshida
Copy link
Contributor Author

HiroIshida commented Mar 20, 2022

@yukkysaito

I have two questions.

  1. What is the purpose of DetectedObjectsWithFeature/Feature/cluster message compute in this node? Originally, this cluster is copied from the pointcloud generated by object-centric ray tracing,

pcl::toROSMsg(*pointcloud_ptr, feature_object.feature.cluster);
,

so cluster is uniformly surrounding the object. But if I modify the code as this PR, generated pointcloud will no longer be uniformly surrounding the object. Is it intended behavior?

  1. On the random noise on the point cloud
    Currently, the random noise on the pointcloud is following the dummy_perceptionpublisher_msg::Object::initial_state::pose_covaraince of the subscribed message. To my understanding, object message is more like a recognition (e.g. deep point cloud network) rather than low-level perception, so it seems bit strange that recognition's uncertainty affects point cloud generation. I think it is more straightforward to define a low level perception error level and randomize the pointcloud based on that. Based on the this point, should we modify this in the future PR? (I think this is out of scope of this PR, by the way)

Note: Actually, the second question is related to the first question. I suppose that dummy pointcloud published by this node should be randomized based on low-level perception uncertainty, but on the other hand, the cluster in DetecedObjectWithFeature should be randomized based on recognitoin-level uncertainty.

@HiroIshida HiroIshida force-pushed the feature/realistic_pointcloud branch 3 times, most recently from fd83925 to 7c52a50 Compare March 20, 2022 23:45
@yukkysaito
Copy link
Contributor

What is the purpose of DetectedObjectsWithFeature/Feature/cluster message compute in this node? Originally, this cluster is copied from the pointcloud generated by object-centric ray tracing,

This is to perform shape fitting so that part of Perception can also be tested.

I think it should be put in after ray traced.

@yukkysaito
Copy link
Contributor

On the random noise on the point cloud
Currently, the random noise on the pointcloud is following the dummy_perceptionpublisher_msg::Object::initial_state::pose_covaraince of the subscribed message. To my understanding, object message is more like a recognition (e.g. deep point cloud network) rather than low-level perception, so it seems bit strange that recognition's uncertainty affects point cloud generation. I think it is more straightforward to define a low level perception error level and randomize the pointcloud based on that. Based on the this point, should we modify this in the future PR? (I think this is out of scope of this PR, by the way)

You are right. The point cloud and object-level noise should be separated.
This can be outside the scope of this PR.

@HiroIshida
Copy link
Contributor Author

Thank you for your reply. I understand. I will probably make a new PR about the object-level noise lidar-level noise separation.

@taikitanaka3
Copy link
Contributor

@HiroIshida
Thank you for your nice contribution. Can you link issues if this PR resolves one of issues below ?

@yukkysaito
Copy link
Contributor

yukkysaito commented Apr 1, 2022

@HiroIshida
TODO? and comment

@HiroIshida HiroIshida force-pushed the feature/realistic_pointcloud branch 2 times, most recently from f32cc1d to 6f0336d Compare April 3, 2022 15:52
@HiroIshida
Copy link
Contributor Author

@taikitanaka3 Thank you for the links. I think this PR fixes the mentioned two issues. So I mention that in the PR description. However, let me check more before finalizing this PR.

@HiroIshida
Copy link
Contributor Author

HiroIshida commented Apr 3, 2022

@yukkysaito Thanks for comments. I am fixing following your TODO list.

I would like to change the following naming. Does vehicle in VehicleCentricPointCloudCreator mean ego?

Sorry, I couldn't get the request of this line. Are you request to change from VehicleCentricPointCloudCreator to EgoCentricPointCloudCreator ?

@HiroIshida HiroIshida force-pushed the feature/realistic_pointcloud branch 2 times, most recently from bdd4780 to 7484568 Compare April 6, 2022 19:15
@HiroIshida
Copy link
Contributor Author

Now, this PR is ready to review

@aohsato aohsato added the component:perception Advanced sensor data processing and environment understanding. (auto-assigned) label Apr 14, 2022
@yukkysaito
Copy link
Contributor

@HiroIshida
If I merge this PR, it doesn't work until I place an obstacle in the planning simulator.
image

@HiroIshida
Copy link
Contributor Author

Thanks @yukkysaito
If I understand correctly, the problem is that /perception/obstacle_segmentation/pointcloud was not published when no dummy objects are placed. And, even when no objects are places, empty pointcloud must be published.

If my understanding above is correct, this bug is fixed by this commit 7b519c6

@yukkysaito
Copy link
Contributor

yukkysaito commented Apr 20, 2022

@HiroIshida Thank you! Can you resolve conflict and others(CI) to merge?

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
@HiroIshida
Copy link
Contributor Author

HiroIshida commented Apr 27, 2022

@yukkysaito Thanks for the bug report. I found it's a bug due to me. I fixed this bug in db00da5

The reason for the bug is that, when object is put far away, objects_ is empty, thus selected_indices in the code is also empty. So, in such case merged_pointcloud_ptr is not initialized correctly.

When merged_pointcloud_ptr is not properly initialized, the converted ros message looks like

header:
  stamp:
    sec: 1651089592
    nanosec: 43981564
  frame_id: base_link
height: 0
width: 0
fields: []
is_bigendian: false
point_step: 0
row_step: 0
data: []
is_dense: false

which lacks fields attribute thus the error message you gave occured. While if initialized correctly the pointcloud message looks like (after the patch db00da5)

header:
  stamp:
    sec: 1651089459
    nanosec: 998696708
  frame_id: base_link
height: 1
width: 0
fields:
- name: x
  offset: 0
  datatype: 7
  count: 1
- name: y
  offset: 4
  datatype: 7
  count: 1
- name: z
  offset: 8
  datatype: 7
  count: 1
is_bigendian: false
point_step: 16
row_step: 0
data: []
is_dense: true

@HiroIshida
Copy link
Contributor Author

@taikitanaka3
I experimentally checked that this PR fixes the issues you mentioned. So, I added that in the PR description. So, please check that when you have time

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
@HiroIshida
Copy link
Contributor Author

Now this PR is again, ready fpr review

@yukkysaito
Copy link
Contributor

@HiroIshida Thank you! I'll review today

Copy link
Contributor

@taikitanaka3 taikitanaka3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
working fine with odaiba map
Screenshot from 2022-04-28 14-46-45

image

@taikitanaka3
Copy link
Contributor

@HiroIshida
can you write this change to release note?

@HiroIshida
Copy link
Contributor Author

@taikitanaka3 OK, I will add it

@yukkysaito yukkysaito merged commit bcfb8c5 into autowarefoundation:main Apr 28, 2022
HiroIshida added a commit to HiroIshida/autoware.universe that referenced this pull request May 12, 2022
…using raymarchig (autowarefoundation#527)

* Create pointcloud by raycasting from vehicle

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Use vector of ObjectInfo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Implemented by strategy pattern

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] split files

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use pcl raytracing

Tmp

Tmp

Tmp

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add signed distance function lib

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use sdf library

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove no longer used functions

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Simplify getPoint

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Raytracing considering inter object relation

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add random noise

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Default is object centric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Return if no objects are detected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Change definition of tf_global_to_local (same as other autoware codes)

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove create method

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Reaname: VehicleCentric -> EgoCentric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor a bit

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune parameter

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: Even if selected_idices is zero, pointclouds must be published

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix launch file

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: create merged pointcloud when no idx is selected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use ray-maching by default

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
HiroIshida added a commit to HiroIshida/autoware.universe that referenced this pull request May 14, 2022
…using raymarchig (autowarefoundation#527)

* Create pointcloud by raycasting from vehicle

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Use vector of ObjectInfo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Implemented by strategy pattern

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] split files

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use pcl raytracing

Tmp

Tmp

Tmp

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add signed distance function lib

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use sdf library

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove no longer used functions

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Simplify getPoint

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Raytracing considering inter object relation

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add random noise

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Default is object centric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Return if no objects are detected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Change definition of tf_global_to_local (same as other autoware codes)

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove create method

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Reaname: VehicleCentric -> EgoCentric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor a bit

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune parameter

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: Even if selected_idices is zero, pointclouds must be published

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix launch file

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: create merged pointcloud when no idx is selected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use ray-maching by default

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
@shmpwk
Copy link
Contributor

shmpwk commented Jun 24, 2022

@HiroIshida
I have a question.

The function create_pointcloud returns pointcloud.
What is the difference of that pointcloud and the argument merged_pointcloud which is overwritten in the function?
Are they same except type?

https://github.com/HiroIshida/autoware.universe/blob/09a120a60e29f6190d07d9d4929ee5c2abdca10b/simulator/dummy_perception_publisher/include/dummy_perception_publisher/node.hpp#L73-L76

@HiroIshida
Copy link
Contributor Author

HiroIshida commented Jun 24, 2022

@shmpwk
pointclouds is a vector of pointcloud of each vehicle. (vehicle-wise pointcloud is required to create dynamic object message)
On the other hand, merged pointcloud is the concatenation of pointclouds to a single point cloud.

It is more straightforward to return only pointclouds, but I decided to overwrite merged_pointcloud also in the function for computational efficiency for ObjectCentricPointCloudCreator. However, after getting question from you, I start to feel the computational speed improvement is slight for the code complexity. So, I will make a refactor PR so that it only return pointclouds.

@HiroIshida HiroIshida deleted the feature/realistic_pointcloud branch June 24, 2022 09:44
boyali referenced this pull request in boyali/autoware.universe Sep 28, 2022
…using raymarchig (tier4#527)

* Create pointcloud by raycasting from vehicle

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Use vector of ObjectInfo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Implemented by strategy pattern

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] split files

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use pcl raytracing

Tmp

Tmp

Tmp

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add signed distance function lib

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use sdf library

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove no longer used functions

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Simplify getPoint

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Raytracing considering inter object relation

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add random noise

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Default is object centric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Return if no objects are detected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Change definition of tf_global_to_local (same as other autoware codes)

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove create method

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Reaname: VehicleCentric -> EgoCentric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor a bit

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune parameter

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: Even if selected_idices is zero, pointclouds must be published

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix launch file

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: create merged pointcloud when no idx is selected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use ray-maching by default

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
boyali referenced this pull request in boyali/autoware.universe Oct 3, 2022
…using raymarchig (tier4#527)

* Create pointcloud by raycasting from vehicle

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Use vector of ObjectInfo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Implemented by strategy pattern

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] split files

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use pcl raytracing

Tmp

Tmp

Tmp

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add signed distance function lib

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use sdf library

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove no longer used functions

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Simplify getPoint

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Raytracing considering inter object relation

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add random noise

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Default is object centric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Return if no objects are detected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Change definition of tf_global_to_local (same as other autoware codes)

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove create method

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Reaname: VehicleCentric -> EgoCentric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor a bit

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune parameter

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: Even if selected_idices is zero, pointclouds must be published

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix launch file

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: create merged pointcloud when no idx is selected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use ray-maching by default

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
boyali referenced this pull request in boyali/autoware.universe Oct 3, 2022
…using raymarchig (tier4#527)

* Create pointcloud by raycasting from vehicle

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Use vector of ObjectInfo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Implemented by strategy pattern

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] split files

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use pcl raytracing

Tmp

Tmp

Tmp

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add signed distance function lib

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use sdf library

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove no longer used functions

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Simplify getPoint

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Raytracing considering inter object relation

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add random noise

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Default is object centric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Return if no objects are detected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Change definition of tf_global_to_local (same as other autoware codes)

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove create method

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Reaname: VehicleCentric -> EgoCentric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor a bit

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune parameter

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: Even if selected_idices is zero, pointclouds must be published

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix launch file

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: create merged pointcloud when no idx is selected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use ray-maching by default

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
boyali referenced this pull request in boyali/autoware.universe Oct 19, 2022
…using raymarchig (tier4#527)

* Create pointcloud by raycasting from vehicle

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Use vector of ObjectInfo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Implemented by strategy pattern

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] split files

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use pcl raytracing

Tmp

Tmp

Tmp

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add signed distance function lib

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use sdf library

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove no longer used functions

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Simplify getPoint

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Raytracing considering inter object relation

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add random noise

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Default is object centric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Return if no objects are detected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Change definition of tf_global_to_local (same as other autoware codes)

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove create method

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Reaname: VehicleCentric -> EgoCentric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor a bit

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune parameter

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: Even if selected_idices is zero, pointclouds must be published

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix launch file

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: create merged pointcloud when no idx is selected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use ray-maching by default

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
h-ohta referenced this pull request in tier4/autoware.universe Feb 28, 2023
…using raymarchig (#527)

* Create pointcloud by raycasting from vehicle

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Use vector of ObjectInfo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Implemented by strategy pattern

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] split files

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use pcl raytracing

Tmp

Tmp

Tmp

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add signed distance function lib

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use sdf library

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove no longer used functions

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Simplify getPoint

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Raytracing considering inter object relation

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add random noise

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Default is object centric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Return if no objects are detected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Change definition of tf_global_to_local (same as other autoware codes)

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove create method

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Reaname: VehicleCentric -> EgoCentric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor a bit

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune parameter

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: Even if selected_idices is zero, pointclouds must be published

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix launch file

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: create merged pointcloud when no idx is selected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use ray-maching by default

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
h-ohta referenced this pull request in tier4/autoware.universe Feb 28, 2023
…using raymarchig (#527)

* Create pointcloud by raycasting from vehicle

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Use vector of ObjectInfo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Implemented by strategy pattern

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] split files

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use pcl raytracing

Tmp

Tmp

Tmp

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add signed distance function lib

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use sdf library

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove no longer used functions

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Simplify getPoint

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Raytracing considering inter object relation

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add random noise

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Default is object centric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Return if no objects are detected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Change definition of tf_global_to_local (same as other autoware codes)

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove create method

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Reaname: VehicleCentric -> EgoCentric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor a bit

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune parameter

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: Even if selected_idices is zero, pointclouds must be published

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix launch file

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: create merged pointcloud when no idx is selected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use ray-maching by default

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
h-ohta referenced this pull request in tier4/autoware.universe Feb 28, 2023
…using raymarchig (#527)

* Create pointcloud by raycasting from vehicle

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Use vector of ObjectInfo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Implemented by strategy pattern

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] split files

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use pcl raytracing

Tmp

Tmp

Tmp

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add signed distance function lib

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use sdf library

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove no longer used functions

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Simplify getPoint

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Raytracing considering inter object relation

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add random noise

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Default is object centric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Return if no objects are detected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Change definition of tf_global_to_local (same as other autoware codes)

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove create method

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Reaname: VehicleCentric -> EgoCentric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor a bit

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune parameter

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: Even if selected_idices is zero, pointclouds must be published

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix launch file

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: create merged pointcloud when no idx is selected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use ray-maching by default

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
h-ohta referenced this pull request in tier4/autoware.universe Feb 28, 2023
…using raymarchig (#527)

* Create pointcloud by raycasting from vehicle

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Use vector of ObjectInfo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Implemented by strategy pattern

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] split files

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use pcl raytracing

Tmp

Tmp

Tmp

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add signed distance function lib

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use sdf library

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove no longer used functions

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Simplify getPoint

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Raytracing considering inter object relation

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add random noise

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Default is object centric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Return if no objects are detected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Change definition of tf_global_to_local (same as other autoware codes)

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove create method

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Reaname: VehicleCentric -> EgoCentric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor a bit

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune parameter

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: Even if selected_idices is zero, pointclouds must be published

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix launch file

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: create merged pointcloud when no idx is selected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use ray-maching by default

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
h-ohta referenced this pull request in tier4/autoware.universe Feb 28, 2023
…tion_successful_rate (backport #527, #926, #1166) (#290)

* feat(dummy_perception_publisher): publish realistic dummy pointcloud using raymarchig (#527)

* Create pointcloud by raycasting from vehicle

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Use vector of ObjectInfo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] Implemented by strategy pattern

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* [after-review] split files

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use pcl raytracing

Tmp

Tmp

Tmp

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add signed distance function lib

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use sdf library

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove no longer used functions

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Simplify getPoint

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Raytracing considering inter object relation

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Add random noise

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Default is object centric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Return if no objects are detected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Change definition of tf_global_to_local (same as other autoware codes)

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Remove create method

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Reaname: VehicleCentric -> EgoCentric

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Refactor a bit

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune parameter

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: Even if selected_idices is zero, pointclouds must be published

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix launch file

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: create merged pointcloud when no idx is selected

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use ray-maching by default

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* perf(dummy_perception_publisher): tune ego-centric pointcloud generation of dummy perception publisher (#926)

* Take advantage of visible range

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Tune

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Fix: typo

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>

* Use hypot

* fix(dummy_perception_publisher): independent of pointcloud from detection_successful_rate (#1166)

* fix(dummy_perception_publisher): independent of pointcloud from detection_success_rate

Signed-off-by: Shumpei Wakabayashi <shumpei.wakabayashi@tier4.jp>

* ci(pre-commit): autofix

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

---------

Signed-off-by: Hirokazu Ishida <h-ishida@jsk.imi.i.u-tokyo.ac.jp>
Co-authored-by: Hirokazu Ishida <38597814+HiroIshida@users.noreply.github.com>
Co-authored-by: Shumpei Wakabayashi <42209144+shmpwk@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
dmoszynski pushed a commit to RobotecAI/autoware.universe that referenced this pull request Jun 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ray tracing in dummy perception publisher is too heavy to publish objects in 10Hz Difficult to raytrace
5 participants