Skip to content

Commit

Permalink
feat: add lidar apollo instance segmentation package (autowarefoundat…
Browse files Browse the repository at this point in the history
…ion#115)

* release v0.4.0

* check if gdown command exists (autowarefoundation#707)

* Fix/cublas dependency (autowarefoundation#849)

* fix cublas depencency

* fix cublas depencency

* remove ROS1 packages temporarily

Signed-off-by: mitsudome-r <[email protected]>

* Revert "remove ROS1 packages temporarily"

This reverts commit b641153235b8c3ec5b5c5a052179c53434e66d7c.

Signed-off-by: mitsudome-r <[email protected]>

* add COLCON_IGNORE to ros1 packages

Signed-off-by: mitsudome-r <[email protected]>

* Rename launch files to launch.xml (autowarefoundation#28)

* Port lidar apollo instance segmentation (autowarefoundation#98)

* port lidar_apollo_instance_segmentation

Signed-off-by: mitsudome-r <[email protected]>

* move shared_from_this out of constructor

Signed-off-by: mitsudome-r <[email protected]>

* fix launch file

Signed-off-by: mitsudome-r <[email protected]>

* fix warnings

Signed-off-by: mitsudome-r <[email protected]>

* change rclcpp::Node::SharedPtr to raw pointer

Signed-off-by: mitsudome-r <[email protected]>

* uncomment publish of debug topic

Signed-off-by: mitsudome-r <[email protected]>

* Rename h files to hpp (autowarefoundation#142)

* Change includes

* Rename files

* Adjustments to make things compile

* Other packages

* Adjust copyright notice on 532 out of 699 source files (autowarefoundation#143)

* Use quotes for includes where appropriate (autowarefoundation#144)

* Use quotes for includes where appropriate

* Fix lint tests

* Make tests pass hopefully

* Run uncrustify on the entire Pilot.Auto codebase (autowarefoundation#151)

* Run uncrustify on the entire Pilot.Auto codebase

* Exclude open PRs

* [tensorrt_yolo3][lidar_apollo_instance_segmentation] fix objection recognition headers (autowarefoundation#197)

Signed-off-by: mitsudome-r <[email protected]>

* adding linters to lidar_apollo_instance_segmentation (autowarefoundation#173)

* Ros2 v0.8.0 lidar apollo instance segmentation (autowarefoundation#256)

* restore file name for v0.8.0 update

Signed-off-by: wep21 <[email protected]>

* fix typos in perception (autowarefoundation#862)

* Revert "restore file name for v0.8.0 update"

This reverts commit f8e44568acf0613a0385c9323f2d25bcf45025d2.

Co-authored-by: Kazuki Miyahara <[email protected]>

* add use_sim-time option (autowarefoundation#454)

* Format launch files (autowarefoundation#1219)

Signed-off-by: Kenji Miyake <[email protected]>

* fix reliability (autowarefoundation#1222)

* fix reliability

* use sensor data qos

* Unify Apache-2.0 license name (autowarefoundation#1242)

* Remove use_sim_time for set_parameter (autowarefoundation#1260)

Signed-off-by: wep21 <[email protected]>

* Perception components (autowarefoundation#1368)

* [bev_optical_flow]: component node

Signed-off-by: wep21 <[email protected]>

* [object_merger]: component node

Signed-off-by: wep21 <[email protected]>

* [object_range_splitter]: component node

Signed-off-by: wep21 <[email protected]>

* [shape_estimation]: component node

Signed-off-by: wep21 <[email protected]>

* [map_based_prediction]: component node

Signed-off-by: wep21 <[email protected]>

* [naive_path_prediction]: component node

Signed-off-by: wep21 <[email protected]>

* [roi_image_saver]: component node

Signed-off-by: wep21 <[email protected]>

* [lidar_apollo_instance_segmentation]: component node

Signed-off-by: wep21 <[email protected]>

* [object_flow_fusion]: component node

Signed-off-by: wep21 <[email protected]>

* [traffic_light_map_based_detector]: component node

Signed-off-by: wep21 <[email protected]>

* [dynamic_object_visualization]: component node

Signed-off-by: wep21 <[email protected]>

* Fix typo

Signed-off-by: wep21 <[email protected]>

* [lidar_apollo_instance_segmentation]: Change subscriber queue size(5 to 1) (autowarefoundation#1570)

Signed-off-by: wep21 <[email protected]>

* Add pre-commit (autowarefoundation#1560)

* add pre-commit

* add pre-commit-config

* add additional settings for private repository

* use default pre-commit-config

* update pre-commit setting

* Ignore whitespace for line breaks in markdown

* Update .github/workflows/pre-commit.yml

Co-authored-by: Kazuki Miyahara <[email protected]>

* exclude svg

* remove pretty-format-json

* add double-quote-string-fixer

* consider COLCON_IGNORE file when seaching modified package

* format file

* pre-commit fixes

* Update pre-commit.yml

* Update .pre-commit-config.yaml

Co-authored-by: Kazuki Miyahara <[email protected]>
Co-authored-by: pre-commit <[email protected]>
Co-authored-by: Kenji Miyake <[email protected]>

* Fix build error with TensorRT v8 (autowarefoundation#1612)

* Fix build error with TensorRT v8

Signed-off-by: wep21 <[email protected]>

* Fix typo

Signed-off-by: wep21 <[email protected]>

* Add markdownlint and prettier (autowarefoundation#1661)

* Add markdownlint and prettier

Signed-off-by: Kenji Miyake <[email protected]>

* Ignore .param.yaml

Signed-off-by: Kenji Miyake <[email protected]>

* Apply format

Signed-off-by: Kenji Miyake <[email protected]>

* Fix MD029 (autowarefoundation#1813)

Signed-off-by: Kenji Miyake <[email protected]>

* Fix -Wunused-parameter (autowarefoundation#1836)

* Fix -Wunused-parameter

Signed-off-by: Kenji Miyake <[email protected]>

* Fix mistake

Signed-off-by: Kenji Miyake <[email protected]>

* fix spell

* Fix lint issues

Signed-off-by: Kenji Miyake <[email protected]>

* Ignore flake8 warnings

Signed-off-by: Kenji Miyake <[email protected]>

Co-authored-by: Hiroki OTA <[email protected]>

* suppress warnings in perception directory (autowarefoundation#1866)

* add maybe unused

* add Werror

* Ignore -Wdeprecated-declarations in lidar_apollo_instance_segmentation (autowarefoundation#1875)

Signed-off-by: Kenji Miyake <[email protected]>

* Refactor shape estimation for detection by tracking (autowarefoundation#1861)

* refactor

* modification due to refactoring

* cosmetic change and add virtual

* change to lib

* fix typo

* bug fix

* cosmetic change

* bug fix

* add constexpr

* cosmetic change

* cosmetic change

* cosmetic change

* cosmetic change

* add sort-package-xml hook in pre-commit (autowarefoundation#1881)

* add sort xml hook in pre-commit

* change retval to exit_status

* rename

* add prettier plugin-xml

* use early return

* add license note

* add tier4 license

* restore prettier

* change license order

* move local hooks to public repo

* move prettier-xml to pre-commit-hooks-ros

* update version for bug-fix

* apply pre-commit

* 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 <[email protected]>

* cosmetic change

* cosmetic change

* fix launch

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

Co-authored-by: Daisuke Nishimatsu <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

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

Co-authored-by: Daisuke Nishimatsu <[email protected]>

* bug fix

* modify readme

Co-authored-by: Daisuke Nishimatsu <[email protected]>

* 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 <[email protected]>

* Remove ament_cmake_uncrustify and ament_clang_format

Signed-off-by: Kenji Miyake <[email protected]>

* Apply Black

Signed-off-by: Kenji Miyake <[email protected]>

* Apply clang-format

Signed-off-by: Kenji Miyake <[email protected]>

* Fix build errors

Signed-off-by: Kenji Miyake <[email protected]>

* Fix for cpplint

* Fix include double quotes to angle brackets

Signed-off-by: Kenji Miyake <[email protected]>

* Apply clang-format

Signed-off-by: Kenji Miyake <[email protected]>

* Fix build errors

Signed-off-by: Kenji Miyake <[email protected]>

* Add COLCON_IGNORE (autowarefoundation#500)

Signed-off-by: Kenji Miyake <[email protected]>

* Port lidar apollo instance segmentation to .auto (autowarefoundation#548)

* Port lidar apollo instance segmentation to .auto

Signed-off-by: wep21 <[email protected]>

* Run pre-commit

Signed-off-by: wep21 <[email protected]>

* Update document for lidar apollo instance segmentation (autowarefoundation#597)

Signed-off-by: wep21 <[email protected]>

* 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 <[email protected]>
Co-authored-by: taikitanaka <[email protected]>

* fix topic name (autowarefoundation#2266)

Signed-off-by: Takamasa Horibe <[email protected]>

* 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 <[email protected]>

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

* cosmetic change

Signed-off-by: Takamasa Horibe <[email protected]>

* cahnge severity from WARN to DEBUG for debug info

Signed-off-by: Takamasa Horibe <[email protected]>

* use util for stop_watch

Signed-off-by: Takamasa Horibe <[email protected]>

* 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 <[email protected]>

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

Co-authored-by: Kazuki Miyahara <[email protected]>

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

Co-authored-by: Kazuki Miyahara <[email protected]>

* Update Readme.md

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

Co-authored-by: Kazuki Miyahara <[email protected]>

Co-authored-by: tkimura4 <[email protected]>
Co-authored-by: Kazuki Miyahara <[email protected]>

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

Signed-off-by: Takamasa Horibe <[email protected]>

* [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 <[email protected]>

* add invalid index handling

Signed-off-by: Takamasa Horibe <[email protected]>

* 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 <[email protected]>

* update license

Co-authored-by: Yukihiro Saito <[email protected]>

* update license

Co-authored-by: Yukihiro Saito <[email protected]>

* update license

Co-authored-by: Yukihiro Saito <[email protected]>

* 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 <[email protected]>

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

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

* add print debug

Signed-off-by: TakaHoribe <[email protected]>

* remove forward shift points when adding new point

Signed-off-by: TakaHoribe <[email protected]>

* remove debug print

Signed-off-by: TakaHoribe <[email protected]>

* format

Signed-off-by: TakaHoribe <[email protected]>

* Fix remove threshold

Co-authored-by: Fumiya Watanabe <[email protected]>

Co-authored-by: Takamasa Horibe <[email protected]>

* 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 <[email protected]>

Co-authored-by: Takamasa Horibe <[email protected]>

Co-authored-by: Takamasa Horibe <[email protected]>

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

* fix 1 path point exception after resampling

Signed-off-by: TakaHoribe <[email protected]>

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Takamasa Horibe <[email protected]>

Co-authored-by: tkimura4 <[email protected]>

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

* Fix lane ids

* Prevent acceleration on avoidance (autowarefoundation#2214)

* prevent acceleration on avoidance

Signed-off-by: TakaHoribe <[email protected]>

* fix param name

Signed-off-by: TakaHoribe <[email protected]>

* parametrize avoidance acc

Signed-off-by: Takamasa Horibe <[email protected]>

* change param name

Signed-off-by: Takamasa Horibe <[email protected]>

* fix typo

Signed-off-by: Takamasa Horibe <[email protected]>

* 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 <[email protected]>

* [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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Takamasa Horibe <[email protected]>
Co-authored-by: tkimura4 <[email protected]>
Co-authored-by: Takagi, Isamu <[email protected]>
Co-authored-by: Daisuke Nishimatsu <[email protected]>
Co-authored-by: Yukihiro Saito <[email protected]>
Co-authored-by: Satoshi OTA <[email protected]>
Co-authored-by: taikitanaka3 <[email protected]>
Co-authored-by: Sugatyon <[email protected]>

* [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 <[email protected]>

* change param for trimSimilarGradShiftPoint

Signed-off-by: Takamasa Horibe <[email protected]>

* add comment for issue

Signed-off-by: Takamasa Horibe <[email protected]>

* update comment

Signed-off-by: Takamasa Horibe <[email protected]>

* replace code with function (logic has not changed)

Signed-off-by: Takamasa Horibe <[email protected]>

* move func to cpp

Signed-off-by: Takamasa Horibe <[email protected]>

* add comment for issue

Signed-off-by: Takamasa Horibe <[email protected]>

* fix typo

Signed-off-by: Takamasa Horibe <[email protected]>

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

Co-authored-by: Kazuki Miyahara <[email protected]>

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

Co-authored-by: Kazuki Miyahara <[email protected]>

Co-authored-by: Kazuki Miyahara <[email protected]>

Co-authored-by: Takamasa Horibe <[email protected]>
Co-authored-by: Kazuki Miyahara <[email protected]>

* 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 <[email protected]>

* Remove unused function

Signed-off-by: wep21 <[email protected]>

* Fix arc length

Signed-off-by: wep21 <[email protected]>

* Seperate time margin

Signed-off-by: wep21 <[email protected]>

* Fix parameter name

Signed-off-by: wep21 <[email protected]>

* Update Readme

Signed-off-by: wep21 <[email protected]>

* Address review: Add comment for TimeDistanceArray

Signed-off-by: wep21 <[email protected]>

* Run pre-commit

Signed-off-by: wep21 <[email protected]>

* Fix cpplint

Signed-off-by: wep21 <[email protected]>

* Add return for empty polygon

Signed-off-by: wep21 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* fix yaml format to fix pre-commit check

Signed-off-by: Takamasa Horibe <[email protected]>

* fix yaml format

Signed-off-by: Takamasa Horibe <[email protected]>

* apply clang-format

Signed-off-by: Takamasa Horibe <[email protected]>

* apply clang-format

Signed-off-by: Takamasa Horibe <[email protected]>

* 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 <[email protected]>

Co-authored-by: Takamasa Horibe <[email protected]>

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

* Add keep braking function at driving state

Signed-off-by: Makoto Kurihara <[email protected]>

* Remove debug messages

Signed-off-by: Makoto Kurihara <[email protected]>

* Fix format

Signed-off-by: Makoto Kurihara <[email protected]>

* 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 <[email protected]>

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

* add offset param

* clang-format

Co-authored-by: Akihito OHSATO <[email protected]>

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

* Add the description of brake keeping

Signed-off-by: Makoto Kurihara <[email protected]>

* Add the english document

Signed-off-by: Makoto Kurihara <[email protected]>

* Improve description

Signed-off-by: Makoto Kurihara <[email protected]>

* Add english description

Signed-off-by: Makoto Kurihara <[email protected]>

* Fix include files (autowarefoundation#2339)

Signed-off-by: Kenji Miyake <[email protected]>

* 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 <[email protected]>

* fix test_trajectory.cpp

* add target link libraries

* Use .auto msg in test code for planniing evaluator

Signed-off-by: wep21 <[email protected]>

* fix include

Signed-off-by: wep21 <[email protected]>

Co-authored-by: Takayuki Murooka <[email protected]>
Co-authored-by: autoware-iv-sync-ci[bot] <87871706+autoware-iv-sync-ci[bot]@users.noreply.github.com>
Co-authored-by: taikitanaka3 <[email protected]>
Co-authored-by: taikitanaka <[email protected]>
Co-authored-by: Takamasa Horibe <[email protected]>
Co-authored-by: Takeshi Miura <[email protected]>
Co-authored-by: Takeshi Ishita <[email protected]>
Co-authored-by: Satoshi OTA <[email protected]>
Co-authored-by: Makoto Kurihara <[email protected]>
Co-authored-by: purewater0901 <[email protected]>
Co-authored-by: tkimura4 <[email protected]>
Co-authored-by: Kazuki Miyahara <[email protected]>
Co-authored-by: Yukihiro Saito <[email protected]>
Co-authored-by: Fumiya Watanabe <[email protected]>
Co-authored-by: Takagi, Isamu <[email protected]>
Co-authored-by: Sugatyon <[email protected]>
Co-authored-by: s-murakami-esol <[email protected]>
Co-authored-by: Yusuke Muramatsu <[email protected]>
Co-authored-by: Maxime CLEMENT <[email protected]>
Co-authored-by: Shunsuke Miura <[email protected]>
Co-authored-by: Shinnosuke Hirakawa <[email protected]>
Co-authored-by: Akihito OHSATO <[email protected]>
Co-authored-by: Kenji Miyake <[email protected]>

Co-authored-by: mitsudome-r <[email protected]>
Co-authored-by: Daichi Murakami <[email protected]>
Co-authored-by: Yukihiro Saito <[email protected]>
Co-authored-by: Nikolai Morin <[email protected]>
Co-authored-by: Ryohsuke Mitsudome <[email protected]>
Co-authored-by: nik-tier4 <[email protected]>
Co-authored-by: Daisuke Nishimatsu <[email protected]>
Co-authored-by: Kazuki Miyahara <[email protected]>
Co-authored-by: tkimura4 <[email protected]>
Co-authored-by: Kenji Miyake <[email protected]>
Co-authored-by: Keisuke Shima <[email protected]>
Co-authored-by: pre-commit <[email protected]>
Co-authored-by: Hiroki OTA <[email protected]>
Co-authored-by: Takayuki Murooka <[email protected]>
Co-authored-by: autoware-iv-sync-ci[bot] <87871706+autoware-iv-sync-ci[bot]@users.noreply.github.com>
Co-authored-by: taikitanaka3 <[email protected]>
Co-authored-by: taikitanaka <[email protected]>
Co-authored-by: Takamasa Horibe <[email protected]>
Co-authored-by: Takeshi Miura <[email protected]>
Co-authored-by: Takeshi Ishita <[email protected]>
Co-authored-by: Satoshi OTA <[email protected]>
Co-authored-by: Makoto Kurihara <[email protected]>
Co-authored-by: purewater0901 <[email protected]>
Co-authored-by: Fumiya Watanabe <[email protected]>
Co-authored-by: Takagi, Isamu <[email protected]>
Co-authored-by: Sugatyon <[email protected]>
Co-authored-by: s-murakami-esol <[email protected]>
Co-authored-by: Yusuke Muramatsu <[email protected]>
Co-authored-by: Maxime CLEMENT <[email protected]>
Co-authored-by: Shunsuke Miura <[email protected]>
Co-authored-by: Shinnosuke Hirakawa <[email protected]>
Co-authored-by: Akihito OHSATO <[email protected]>
Co-authored-by: Kenji Miyake <[email protected]>
  • Loading branch information
1 parent dfe48bd commit 7dd097d
Show file tree
Hide file tree
Showing 32 changed files with 4,446 additions and 0 deletions.
2 changes: 2 additions & 0 deletions perception/lidar_apollo_instance_segmentation/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
data/*.caffemodel
data/*.engine
175 changes: 175 additions & 0 deletions perception/lidar_apollo_instance_segmentation/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
cmake_minimum_required(VERSION 3.5)
project(lidar_apollo_instance_segmentation)

option(CUDA_VERBOSE "Verbose output of CUDA modules" OFF)

# set flags for CUDA availability
option(CUDA_AVAIL "CUDA available" OFF)
find_package(CUDA)
if (CUDA_FOUND)
find_library(CUBLAS_LIBRARIES cublas HINTS
${CUDA_TOOLKIT_ROOT_DIR}/lib64
${CUDA_TOOLKIT_ROOT_DIR}/lib
)
if (CUDA_VERBOSE)
message("CUDA is available!")
message("CUDA Libs: ${CUDA_LIBRARIES}")
message("CUDA Headers: ${CUDA_INCLUDE_DIRS}")
endif ()
set(CUDA_AVAIL ON)
else()
message("CUDA NOT FOUND")
set(CUDA_AVAIL OFF)
endif (CUDA_FOUND)

# set flags for TensorRT availability
option(TRT_AVAIL "TensorRT available" OFF)
# try to find the tensorRT modules
find_library(NVINFER NAMES nvinfer)
find_library(NVPARSERS NAMES nvparsers)
find_library(NVCAFFE_PARSER NAMES nvcaffe_parser)
find_library(NVINFER_PLUGIN NAMES nvinfer_plugin)
if(NVINFER AND NVPARSERS AND NVCAFFE_PARSER AND NVINFER_PLUGIN)
if (CUDA_VERBOSE)
message("TensorRT is available!")
message("NVINFER: ${NVINFER}")
message("NVPARSERS: ${NVPARSERS}")
message("NVCAFFE_PARSER: ${NVCAFFE_PARSER}")
endif ()
set(TRT_AVAIL ON)
else()
message("TensorRT is NOT Available")
set(TRT_AVAIL OFF)
endif()

# set flags for CUDNN availability
option(CUDNN_AVAIL "CUDNN available" OFF)
# try to find the CUDNN module
find_library(CUDNN_LIBRARY
NAMES libcudnn.so${__cudnn_ver_suffix} libcudnn${__cudnn_ver_suffix}.dylib ${__cudnn_lib_win_name}
PATHS $ENV{LD_LIBRARY_PATH} ${__libpath_cudart} ${CUDNN_ROOT_DIR} ${PC_CUDNN_LIBRARY_DIRS} ${CMAKE_INSTALL_PREFIX}
PATH_SUFFIXES lib lib64 bin
DOC "CUDNN library." )
if(CUDNN_LIBRARY)
if (CUDA_VERBOSE)
message("CUDNN is available!")
message("CUDNN_LIBRARY: ${CUDNN_LIBRARY}")
endif ()
set(CUDNN_AVAIL ON)
else()
message("CUDNN is NOT Available")
set(CUDNN_AVAIL OFF)
endif()

find_program(GDOWN_AVAIL "gdown")
if (NOT GDOWN_AVAIL)
message("gdown: command not found. External files could not be downloaded.")
endif()
if(TRT_AVAIL AND CUDA_AVAIL AND CUDNN_AVAIL)
# download weight files
set(PATH "${CMAKE_CURRENT_SOURCE_DIR}/data")
if (NOT EXISTS "${PATH}")
execute_process(COMMAND mkdir -p ${PATH})
endif()
set(FILE "${PATH}/vlp-16.caffemodel")
message(STATUS "Checking and downloading vlp-16.caffemodel")
if (NOT EXISTS "${FILE}")
message(STATUS "... file does not exist. Downloading now ...")
execute_process(COMMAND gdown "https://drive.google.com/uc?id=1bbO_eeGG5HUqyUiAYjOd6hUn-Zma0mMJ" -O ${PATH}/vlp-16.caffemodel)
endif()
set(FILE "${PATH}/hdl-64.caffemodel")
message(STATUS "Checking and downloading hdl-64.caffemodel")
if (NOT EXISTS "${FILE}")
message(STATUS "... file does not exist. Downloading now ...")
execute_process(COMMAND gdown "https://drive.google.com/uc?id=1ZdB6V3jua3GmtYuY9NR1nc9QZe_ChjkP" -O ${PATH}/hdl-64.caffemodel)
endif()
set(FILE "${PATH}/vls-128.caffemodel")
message(STATUS "Checking and downloading vls-128.caffemodel")
if (NOT EXISTS "${FILE}")
message(STATUS "... file does not exist. Downloading now ...")
execute_process(COMMAND gdown "https://drive.google.com/uc?id=1izpNotNxS6mrYIzJwHQ_EyX_IPDU-MBr" -O ${PATH}/vls-128.caffemodel)
endif()

find_package(ament_cmake_auto REQUIRED)
ament_auto_find_build_dependencies()
find_package(PCL REQUIRED)

if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic -Wno-deprecated-declarations -Werror)
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -O3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_MWAITXINTRIN_H_INCLUDED")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FORCE_INLINES")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STRICT_ANSI__")

include_directories(
lib/include
${CUDA_INCLUDE_DIRS}
${PCL_INCLUDE_DIRS}
)

ament_auto_add_library(tensorrt_apollo_cnn_lib SHARED
lib/src/TrtNet.cpp
)

target_link_libraries(tensorrt_apollo_cnn_lib
${NVINFER}
${NVCAFFE_PARSER}
${NVINFER_PLUGIN}
${CUDA_LIBRARIES}
${CUBLAS_LIBRARIES}
${CUDA_curand_LIBRARY}
${CUDNN_LIBRARY}
${PCL_LIBRARIES}
)

ament_auto_add_library(lidar_apollo_instance_segmentation SHARED
src/node.cpp
src/detector.cpp
src/log_table.cpp
src/feature_generator.cpp
src/feature_map.cpp
src/cluster2d.cpp
src/debugger.cpp
)

target_link_libraries(lidar_apollo_instance_segmentation
tensorrt_apollo_cnn_lib
)

rclcpp_components_register_node(lidar_apollo_instance_segmentation
PLUGIN "LidarInstanceSegmentationNode"
EXECUTABLE lidar_apollo_instance_segmentation_node
)

if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()
endif()

ament_auto_package(INSTALL_TO_SHARE
launch
config
data
)

else()
find_package(ament_cmake_auto REQUIRED)
ament_auto_find_build_dependencies()

if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()
endif()

# to avoid launch file missing without a gpu
ament_auto_package(INSTALL_TO_SHARE
launch
)

endif()
143 changes: 143 additions & 0 deletions perception/lidar_apollo_instance_segmentation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# lidar_apollo_instance_segmentation

![Peek 2020-04-07 00-17](https://user-images.githubusercontent.com/8327598/78574862-92507d80-7865-11ea-9a2d-56d3453bdb7a.gif)

## Purpose

This node segments 3D pointcloud data from lidar sensors into obstacles, e.g., cars, trucks, bicycles, and pedestrians
based on CNN based model and obstacle clustering method.

## Inner-workings / Algorithms

See the [original design](https://github.com/ApolloAuto/apollo/blob/master/docs/specs/3d_obstacle_perception.md) by Apollo.

## Inputs / Outputs

### Input

| Name | Type | Description |
| ------------------ | ------------------------- | ---------------------------------- |
| `input/pointcloud` | `sensor_msgs/PointCloud2` | Pointcloud data from lidar sensors |

### Output

| Name | Type | Description |
| --------------------------- | ----------------------------------------------------- | ------------------------------------------------- |
| `output/labeled_clusters` | `autoware_perception_msgs/DetectedObjectsWithFeature` | Detected objects with labeled pointcloud cluster. |
| `debug/instance_pointcloud` | `sensor_msgs/PointCloud2` | Segmented pointcloud for visualization. |

## Parameters

### Node Parameters

None

### Core Parameters

| Name | Type | Default Value | Description |
| ----------------------- | ------ | -------------------- | ---------------------------------------------------------------------------------- |
| `score_threshold` | double | 0.8 | If the score of a detected object is lower than this value, the object is ignored. |
| `range` | int | 60 | Half of the length of feature map sides. [m] |
| `width` | int | 640 | The grid width of feature map. |
| `height` | int | 640 | The grid height of feature map. |
| `engine_file` | string | "vls-128.engine" | The name of TensorRT engine file for CNN model. |
| `prototxt_file` | string | "vls-128.prototxt" | The name of prototxt file for CNN model. |
| `caffemodel_file` | string | "vls-128.caffemodel" | The name of caffemodel file for CNN model. |
| `use_intensity_feature` | bool | true | The flag to use intensity feature of pointcloud. |
| `use_constant_feature` | bool | false | The flag to use direction and distance feature of pointcloud. |
| `target_frame` | string | "base_link" | Pointcloud data is transformed into this frame. |
| `z_offset` | int | 2 | z offset from target frame. [m] |

## Assumptions / Known limits

There is no training code for CNN model.

### Note

This package makes use of three external codes.
The trained files are provided by apollo. The trained files are automatically downloaded when you build.

Original URL

- VLP-16 :
<https://github.com/ApolloAuto/apollo/raw/88bfa5a1acbd20092963d6057f3a922f3939a183/modules/perception/production/data/perception/lidar/models/cnnseg/velodyne16/deploy.caffemodel>
- HDL-64 :
<https://github.com/ApolloAuto/apollo/raw/88bfa5a1acbd20092963d6057f3a922f3939a183/modules/perception/production/data/perception/lidar/models/cnnseg/velodyne64/deploy.caffemodel>
- VLS-128 :
<https://github.com/ApolloAuto/apollo/raw/91844c80ee4bd0cc838b4de4c625852363c258b5/modules/perception/production/data/perception/lidar/models/cnnseg/velodyne128/deploy.caffemodel>

Supported lidars are velodyne 16, 64 and 128, but you can also use velodyne 32 and other lidars with good accuracy.

1. [apollo 3D Obstacle Perception description](https://github.com/ApolloAuto/apollo/blob/master/docs/specs/3d_obstacle_perception.md)

```txt
/******************************************************************************
* Copyright 2017 The Apollo Authors. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*****************************************************************************/
```

2. [tensorRTWrapper](https://github.com/lewes6369/tensorRTWrapper) :
It is used under the lib directory.

```txt
MIT License
Copyright (c) 2018 lewes6369
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```

3. [autoware_perception description](https://github.com/k0suke-murakami/autoware_perception/tree/feature/integration_baidu_seg/lidar_apollo_cnn_seg_detect)

```txt
/*
* Copyright 2018-2019 Autoware Foundation. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
```

### Special thanks

- [Apollo Project](https://github.com/ApolloAuto/apollo)
- [lewes6369](https://github.com/lewes6369)
- [Autoware Foundation](https://github.com/autowarefoundation/autoware)
- [Kosuke Takeuchi](https://github.com/kosuke55) (TierIV Part timer)
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/**:
ros__parameters:
score_threshold: 0.1
range: 70
width: 672
height: 672
use_intensity_feature: true
use_constant_feature: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/**:
ros__parameters:
score_threshold: 0.1
range: 70
width: 672
height: 672
use_intensity_feature: true
use_constant_feature: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/**:
ros__parameters:
score_threshold: 0.1
range: 90
width: 864
height: 864
use_intensity_feature: false
use_constant_feature: false
Loading

0 comments on commit 7dd097d

Please sign in to comment.