Skip to content

Commit

Permalink
feat: add packages (autowarefoundation#3)
Browse files Browse the repository at this point in the history
* release v0.4.0

* Feature/phased timestamped velodyne (autowarefoundation#53)

* Replace with new velodyne driver, cutting scan based on azimuth

* Fix launch/dependences

* Fix version name for tier4/velodyne_vls

* Add velodyne_driver dependency

* Nodelet tlr (autowarefoundation#56)

* temporary commit tlr_nodelet

Signed-off-by: Yukihiro Saito <[email protected]>

* compressed to compressed

Signed-off-by: Yukihiro Saito <[email protected]>

* Update traffic_light.launch

Signed-off-by: Daisuke Nishimatsu <[email protected]>

* fix bug

Signed-off-by: Yukihiro Saito <[email protected]>

* change image_transport to relay

Signed-off-by: Yukihiro Saito <[email protected]>

* fix bug

Signed-off-by: Yukihiro Saito <[email protected]>

* fix bug

Signed-off-by: Yukihiro Saito <[email protected]>

* decompress as rgb8

Signed-off-by: Yukihiro Saito <[email protected]>

* fix bug

Signed-off-by: Yukihiro Saito <[email protected]>

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

* use env for livox id (autowarefoundation#58)

Signed-off-by: Yukihiro Saito <[email protected]>

* Feature/optimize scan phase (autowarefoundation#59)

* Rename parameter name, sensor_phase -> scan_phase

Signed-off-by: Akihito Ohasto <[email protected]>

* Modify aip_xx1 scan_phase for better perception

* Rename parameter name, sensor_phase -> scan_phase

Signed-off-by: Akihito Ohasto <[email protected]>

* Logging simulator (#65)

* Add logging_simulator.launch

Signed-off-by: Daisuke Nishimatsu <[email protected]>

* Don't load env when launch driver is false

Signed-off-by: Daisuke Nishimatsu <[email protected]>

* removed ROS1 package

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

* Revert "removed ROS1 package"

This reverts commit 3122355145ddfc9cb7e7485e85d509d53f6836f0.

* add COLCON_IGNORE file to all ROS1 packages

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

* rename *.launch files to *.launch.xml

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

* Port sensing_launch (autowarefoundation#14)

* [sensing_launch] Initial port without actually launching

* [sensing_launch] default -> value, namespace, first nodelet porting

* [sensing_launch] use usb_cam, eval -> var

* [sensing_launch] Fix syntax errors in pointcloud_preprocessor.launch.py

* [pointcloud-preprocessor] fix ground-filter component name

* [pointcloud-preprocessor] Polish aip_s1/pointcloud_preprocessor.launch.py

Only one error at runtime remains when testing on dev laptop due to pointclouds that need to be available for concatenation

* [sensing_launch] ublox_gps refer to config file properly

* (wip) velodyne_node_container before opaque

* [sensing_launch] Port aip-s1 as far as possible

* [sensing_launch] remove unused pointcloud_preprocessor_nodes.py

* [sensing_launch] Manage to add ComposableNode conditionally

* [sensing_launch] Update camera for s1, x1

* [sensing_launch] Copy aip_s1/ content to aip_customized, aip_x1, aip_x2

because they were identical before the porting

* [sensing_launch] Port livox

* [sensing_launch] Port aip_xx1

* [sensing_launch] Port aip_xx2

* [sensing_launch] Remove superfluous passthrough filter, min_z, max_z

* [sensing_launch] Incorporate changes from vehicle testing

* [sensing_launch] Declare launch argument for base_frame

* [sensing_launch] Missing fixes to launch/velodyne*

* [sensing_launch] Update copied configs

* Added linters (autowarefoundation#32)

* Ros2 v0.8.0 sensing launch (autowarefoundation#57)

* restore file name

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

* Update livox_horizon.launch (#89)

* fix pass through filter launch (#90)

* fix pass through filter launch

* change if statement style

* update aip_x1 sensing launch (#100)

* fix livox launch arg (#108)

* add usb_cam depend (#118)

* update aip_x1 camera.launch (#119)

* update imu.launch (#120)

* fix veodyne setting in aip_x1/lidar.launch (#125)

* Add velodyne_monitor to velodyne_*.launch (#101)

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

* Uupdate aip_x1 lidar.launch (#143)

* Format gnss.launch (#145)

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

* Add use_gnss arg to aip_x1 gnss.launch (#146)

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

* support individual params (#137)

* support individual params

* remove kvaser_hardware_id.txt

* Launch velodyne_monitor only when launch_driver is true (#163)

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

* [sensing_launch] ros2 porting: use container for livox point preprocessor

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

* [sensing_launch] ros2-porting: fix vehicle_info params

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

* Revert "restore file name"

This reverts commit 37d7ac4f6a2a617b003b4e2a5ac96c48b332ade0.

* [sensing_launch] ros2-porting: fix vehicle_info for livox preprocessor launch

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

* [sensing_launch] ros2-porting: fix vehicle_info for api_** points_preprocessor.launch.py

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

* fix launch

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

* fix livox launch

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

* added suffix ".xml" to "velodyne_monitor.launch" in the launch files

* added use_sim_time with AW_ROS2_USE_SIM_TIME envvar for the parameters in  the *.launch.py (autowarefoundation#61)

* added use_sim_time with AW_ROS2_USE_SIM_TIME envvar for the parameters

* changed to use EnvironmentVariable function for use_sim_time parameter

* changed indent

* removed an empty line

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

* fixed typo on the arg bd_code_param_path lines (#63)

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

* [sensing_launch]: Fix indentation in gnss launch

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

* [sensing_launch]: Add missing dependency in package.xml

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

* [sensing_launch]: Fix velodyne launch

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

* [sensing_launch]: Fix livox launch

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

* [sensing_launch]: Add arg for vehicle parameter file in lidar launch

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

* [sensing_launch]: Cleanup

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

* Add new line

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

* [sensing_launch]: Add default config for xx1

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

* [sensing_launch]: Fix indentation

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

Co-authored-by: Yukihiro Saito <[email protected]>
Co-authored-by: Taichi Higashide <[email protected]>
Co-authored-by: Kenji Miyake <[email protected]>
Co-authored-by: hiroyuki obinata <[email protected]>
Co-authored-by: hosokawa <[email protected]>
Co-authored-by: HOSOKAWA Ikuto <[email protected]>
Co-authored-by: wep21 <[email protected]>
Co-authored-by: Autoware <[email protected]>

* Rename ROS-related .yaml to .param.yaml (#65)

* Rename ROS-related .yaml to .param.yaml

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

* Add missing '--'

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

* Rename vehicle_info.yaml to vehicle_info.param.yaml

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

* Fix livox param name

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

* Sync with Ros2 v0.8.0 beta (#71)

* update sensing launch to support aip_x1 (#69)

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

* fix logging_simulator_bug (#68)

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

* fix aip_x1 param (#70)

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

Co-authored-by: Taichi Higashide <[email protected]>

* Fix aip_xx1's pointcloud_preprocessor.launch.py (#72)

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

* fix velodyne launch (#73)

* fix velodyne launch

* fix bug

* add scan_phase arg

* fix bug (#85)

* Use sensor data qos for pointcloud (#82)

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

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

* Remove unused remappings (#88)

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

* Livox composable node (#87)

* Fix default value of use_concat_filter and use_radius_search (#90)

* Fix default value of use_concat_filter and use_radius_search

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

* Fix lint

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

* [aip_x1]: Fix imu topic name (#94)

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

* Fix various typos in launch files (#97)

* Move individual params to a separate package (#100)

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

* Remove individual params (#101)

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

* add use_sim-time option (#99)

* Format launch files (#178)

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

* Fix bug of pointcloud_preprocessor.py (#179)

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

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

* Replace doc by description (#182)

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

* Ros2 lsim test (#186)

* Add group to launch file for var scope

Signed-off-by: Takagi, Isamu <[email protected]>

* Remove pointcloud relay for localization

Signed-off-by: Takagi, Isamu <[email protected]>

* Add use_sim_time

Signed-off-by: Takagi, Isamu <[email protected]>

* Remove pointcloud relay for localization

Signed-off-by: Takagi, Isamu <[email protected]>

Co-authored-by: Takagi, Isamu <[email protected]>

* Add multithread and intra process option (#187)

* Add multithread and intra process option

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

* Fix velodyne node container executable

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

* Add option into aip_xx2

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

* Add option into aip_x2

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

* Add option into aip_x1

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

* Add option into aip_s1

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

* Add option into aip_customized

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

* Add option into lidar.launch.xml

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

* Fix invalid attribute in gnss launch (#191)

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

* Fix parameter for scan phase (#193)

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

* add septentrio_gnss_driver launcher and switch(septentrio <-> ublox) (#196)

* add septentrio_gnss_driver launcher and switch(septentrio <-> ublox)

* rm arg(gnss_receiver) escalation and modify septentrio_gnss_driver_node option

* change gnss_receiver default septentrio to ublox

* remap all septentrio_gnss_driver topic names

* replace septentrio gnss driver launch type 'node' to 'include'

* Use set_parameter for use_sim_time (#198)

* Use set_parameter for use_sim_time

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

* Add default parameter for scenario simulator

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

* Format launch files (#228)

* Format launch files

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

* Format launch.py

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

* Fix lint

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

* Fix aip_xx1 camera launch (#242)

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

* Fix gnss topic name (#243)

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

* Enable intra process and mt (#204)

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

* add imu_corrector (#296)

* add description for sensing_launch (#336)

* add description

* fix sentence

* add README.md and svg files (#328)

* add md and svg

* fix typo

* fix typo

* fix word

* fix typo

* add lack of things

* Update README

* fix depending packages

* fix word

* Fix camera launch invalid type string (#344)

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

* add view width direction to velodyne_node_container.launch.py etc... (#366)

* add arg of view_width and view_direction

* delete initial value

* add args and params

Co-authored-by: autoware-iv-sync-ci[bot] <87871706+autoware-iv-sync-ci[bot]@users.noreply.github.com>

* Fix pre-commit (#407)

* Fix pre-commit errors

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

* Fix package.xml

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

* Fix pre-commit target (#436)

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

* Use scan ground filter for xx1 (#313)

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

* Enable time series outlier filter (#314)

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

* Fix param name in scan ground filter (#357)

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

* Remove aip xx2 model from sensing launch (#446)

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

* Add respawn for ublox (#449)

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

* delete aip_customized

* move to aip_launcher

* delete namespace (autowarefoundation#5)

* fix revert dirname + delete unused arg (autowarefoundation#7)

* revert dirname

* delete sensor_model

* delete aip_s1 (autowarefoundation#8)

* Add pre-commit (autowarefoundation#10)

* Add pre-commit

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

* Fix for pre-commit

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

* Update version

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

* Fix target

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

* update README (autowarefoundation#9)

* update README temporary

* Update

* updateg

* delete line number

* re delete line number

* fix for pre commit

* fix for pre-commit

* fix for pre commit

* update README

* update README

* update README

* Update README

* update readme

* use back quote

* Sync with xx1 develop/ros2 (autowarefoundation#14)

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

* Fix velodyne launcher (autowarefoundation#15)

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

* Fix lidar launcher (autowarefoundation#16)

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

* Rollback XX1's pointcloud_preprocessor to main (autowarefoundation#18)

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

* Update aip_x1 launch files (autowarefoundation#25)

* Copy velodyne_node_container.launch.py to aip_x1_launch

* Disable driving recorder (autowarefoundation#19)

* add use_driving_recorder param

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

* X1: Change scan_phase 0 to 180 deg

* X1: Add topic state monitor

* Add Livox tag filter

* Add Livox min_range_filter

* change livox_horizon.launch to support livox_tag_filter composable node (autowarefoundation#62)

* remove unnecessary crop filter for aip_x1 (#63)

* remove sensing-lidar-pointcloud relay

* add livox concatenate

* disable use_intra_process for vector_map_filter

* change use_intra_process to true

* [sac ground filter] change height threshold 0.12 -> 0.18

* Update launch for multi topic livox mode (#68)

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

Co-authored-by: Hiroaki ISHIKAWA <[email protected]>
Co-authored-by: taichiH <[email protected]>

* add westering sun extraction filter (#76)

* fix bug (#92)

* Fix concat timeout (#91)

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

* add new livox driver launch file (#94)

* fix frame_id (#95)

* Feature/compare elevation map (#100)

* Change livox crop range 14m->18m

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

* Use executable for new_lidar_driver_launch (#120)

* Change ransac height thresh (#110) (#115)

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

* Add livox to diag name of topic_state_monitor (#162)

* Change elevation value method and height thresh (#163)

* change ground filter hight threshold (#174) (#176)

Co-authored-by: Taichi Higashide <[email protected]>

* Copy velodyne_VLP16.launch.xml to aip_x1_launch

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

* Change velodyne_node_container.launch.py reference in velodyne_VLP16.launch.xml

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

Co-authored-by: Hiroki OTA <[email protected]>
Co-authored-by: taichiH <[email protected]>
Co-authored-by: Taichi Higashide <[email protected]>
Co-authored-by: tomoya.kimura <[email protected]>
Co-authored-by: Kosuke Takeuchi <[email protected]>
Co-authored-by: Hiroaki ISHIKAWA <[email protected]>
Co-authored-by: Takeshi Miura <[email protected]>
Co-authored-by: autoware-iv-sync-ci[bot] <87871706+autoware-iv-sync-ci[bot]@users.noreply.github.com>

* Add parameter file for diagnostic_aggregator  to use in each product (autowarefoundation#13)

* add xx1 parameter

* add x1 parameter

* add x2 parameter

* delete autoware_error_monitor

* add sensor_kit.param for diagnostic_agg

* update extra senser diag

* Remove IMU from X2

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

* Move to config directory

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

Co-authored-by: Kenji Miyake <[email protected]>

* Revert "Rollback XX1's pointcloud_preprocessor to main (autowarefoundation#18)"

This reverts commit 4f9d0e8384526d0638a18856c16500cf8933690b.

* Change formatter to black (autowarefoundation#38)

* Update pre-commit settings

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

* Apply Black

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

* Replace ament_lint_common with autoware_lint_common

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

* Update build_depends.repos

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

* Fix build_depends

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

* Remove lidar_ros_driver from package.xml (autowarefoundation#39)

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

* remove unused pointcloud preprocessor components (autowarefoundation#2)

* feature/use common pointcloud container (autowarefoundation#8)

* add arg

* improve readability

* fix/remove passthrough filter (autowarefoundation#9)

* release v0.4.0

* Add vls description (autowarefoundation#3)

Signed-off-by: Daisuke Nishimatsu <[email protected]>

* remove ROS1 packages

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

* Revert "remove ROS1 packages"

This reverts commit 7c1e0d930473170ada063f45c961dc40abd0357b.

* add colcon_ignore

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

* port to ROS2

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

* add xacro namespace for VLP-16/128 tags

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

* fix xacro:color value

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

* Ros2 v0.8.0 update (autowarefoundation#7)

* [ROS2] pandar_description (autowarefoundation#9)

* Feature/add pandar (autowarefoundation#7)

* add decription for Hesai LiDAR

* fix direction

* update for ros2

* fix config_dir (autowarefoundation#11)

* delete descriptions except for current reference

* fix suffix to name (autowarefoundation#2)

* delete aip_s1 (autowarefoundation#3)

* Modify sensor config (autowarefoundation#4)

* Update x1 sensor config files

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

* Update xx1 sensor config files

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

* Update x2 sensor config files

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

* Run pre-commit

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

* Add prettier-xacro to pre-commit (autowarefoundation#6)

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

* Run pre-commit

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

* Update README.md

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

* Fix for pre-commit

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

* Cosmetic change

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

* Add _link

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

* Fix missing link

Co-authored-by: Kenji Miyake <[email protected]>
Co-authored-by: Kenji Miyake <[email protected]>

* Fix tlr camera link name for xx1 (autowarefoundation#9)

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

* update README.md

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

* fix build depends

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

* fix files

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

* apply pre-commit

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

* fix package.xml

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

* remove README for now

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

Co-authored-by: mitsudome-r <[email protected]>
Co-authored-by: Akihito Ohsato <[email protected]>
Co-authored-by: Daisuke Nishimatsu <[email protected]>
Co-authored-by: Yukihiro Saito <[email protected]>
Co-authored-by: Frederik Beaujean <[email protected]>
Co-authored-by: Esteve Fernandez <[email protected]>
Co-authored-by: Takamasa Horibe <[email protected]>
Co-authored-by: Taichi Higashide <[email protected]>
Co-authored-by: hiroyuki obinata <[email protected]>
Co-authored-by: hosokawa <[email protected]>
Co-authored-by: HOSOKAWA Ikuto <[email protected]>
Co-authored-by: wep21 <[email protected]>
Co-authored-by: Autoware <[email protected]>
Co-authored-by: Kazuki Miyahara <[email protected]>
Co-authored-by: tkimura4 <[email protected]>
Co-authored-by: autoware <[email protected]>
Co-authored-by: Takagi, Isamu <[email protected]>
Co-authored-by: hiro-ya-iv <[email protected]>
Co-authored-by: YamatoAndo <[email protected]>
Co-authored-by: Hiroki OTA <[email protected]>
Co-authored-by: Kosuke Takeuchi <[email protected]>
Co-authored-by: autoware-iv-sync-ci[bot] <87871706+autoware-iv-sync-ci[bot]@users.noreply.github.com>
Co-authored-by: taichiH <[email protected]>
Co-authored-by: Hiroaki ISHIKAWA <[email protected]>
Co-authored-by: Takeshi Miura <[email protected]>
Co-authored-by: Keisuke Shima <[email protected]>
Co-authored-by: Satoshi OTA <[email protected]>
Co-authored-by: Shinnosuke Hirakawa <[email protected]>
  • Loading branch information
1 parent a62e7e5 commit 76c29d1
Show file tree
Hide file tree
Showing 23 changed files with 1,331 additions and 1 deletion.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]
Copyright 2020 Tier Ⅳ, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
4 changes: 4 additions & 0 deletions build_depends.repos
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,7 @@ repositories:
type: git
url: https://github.com/autowarefoundation/autoware_common.git
version: main
sensor_component_description:
type: git
url: https://github.com/tier4/sensor_component_description.git
version: main
14 changes: 14 additions & 0 deletions common_sensor_launch/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
cmake_minimum_required(VERSION 3.5)
project(common_sensor_launch)

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()

ament_auto_package(INSTALL_TO_SHARE
launch
)
43 changes: 43 additions & 0 deletions common_sensor_launch/launch/velodyne_VLP16.launch.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<launch>

<!-- Params -->
<arg name="launch_driver" default="true"/>

<arg name="model" default="VLP16"/>
<arg name="calibration" default="$(find-pkg-share velodyne_pointcloud)/params/VLP16db.yaml"/>
<arg name="max_range" default="130.0"/>
<arg name="min_range" default="0.4"/>
<arg name="invalid_intensity" default="[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]"/>
<arg name="sensor_frame" default="velodyne"/>
<arg name="device_ip" default="192.168.1.201"/>
<arg name="port" default="2368"/>
<arg name="scan_phase" default="0.0"/>
<arg name="view_direction" default="0.0"/>
<arg name="view_width" default="6.28"/>
<arg name="vehicle_param_file"/>
<arg name="vehicle_mirror_param_file"/>

<include file="$(find-pkg-share common_sensor_launch)/launch/velodyne_node_container.launch.py">
<arg name="launch_driver" value="$(var launch_driver)"/>
<arg name="model" value="$(var model)"/>
<arg name="calibration" value="$(var calibration)"/>
<arg name="max_range" value="$(var max_range)"/>
<arg name="min_range" value="$(var min_range)"/>
<arg name="invalid_intensity" value="$(var invalid_intensity)"/>
<arg name="frame_id" value="$(var sensor_frame)"/>
<arg name="device_ip" value="$(var device_ip)"/>
<arg name="port" value="$(var port)"/>
<arg name="scan_phase" value="$(var scan_phase)"/>
<arg name="view_direction" value="$(var view_direction)"/>
<arg name="view_width" value="$(var view_width)"/>
<arg name="vehicle_param_file" value="$(var vehicle_param_file)"/>
<arg name="vehicle_mirror_param_file" value="$(var vehicle_mirror_param_file)"/>
<arg name="use_intra_process" value="true"/>
<arg name="use_multithread" value="false"/>
</include>

<!-- Velodyne Monitor -->
<include file="$(find-pkg-share velodyne_monitor)/launch/velodyne_monitor.launch.xml" if="$(var launch_driver)">
<arg name="ip_address" value="$(var device_ip)"/>
</include>
</launch>
46 changes: 46 additions & 0 deletions common_sensor_launch/launch/velodyne_VLS128.launch.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<launch>

<!-- Params -->
<arg name="launch_driver" default="true"/>

<arg name="model" default="VLS128"/>
<arg name="calibration" default="$(find-pkg-share velodyne_pointcloud)/params/VLS-128_FS1.yaml"/>
<arg name="max_range" default="250.0"/>
<arg name="min_range" default="0.5"/>
<arg
name="invalid_intensity"
default="[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]"
/>
<arg name="sensor_frame" default="velodyne"/>
<arg name="device_ip" default="192.168.1.201"/>
<arg name="port" default="2368"/>
<arg name="scan_phase" default="0.0"/>
<arg name="view_direction" default="0.0"/>
<arg name="view_width" default="6.28"/>
<arg name="vehicle_param_file"/>
<arg name="vehicle_mirror_param_file"/>

<include file="$(find-pkg-share common_sensor_launch)/launch/velodyne_node_container.launch.py">
<arg name="launch_driver" value="$(var launch_driver)"/>
<arg name="model" value="$(var model)"/>
<arg name="calibration" value="$(var calibration)"/>
<arg name="max_range" value="$(var max_range)"/>
<arg name="min_range" value="$(var min_range)"/>
<arg name="invalid_intensity" value="$(var invalid_intensity)"/>
<arg name="frame_id" value="$(var sensor_frame)"/>
<arg name="device_ip" value="$(var device_ip)"/>
<arg name="port" value="$(var port)"/>
<arg name="scan_phase" value="$(var scan_phase)"/>
<arg name="view_direction" value="$(var view_direction)"/>
<arg name="view_width" value="$(var view_width)"/>
<arg name="vehicle_param_file" value="$(var vehicle_param_file)"/>
<arg name="vehicle_mirror_param_file" value="$(var vehicle_mirror_param_file)"/>
<arg name="use_intra_process" value="true"/>
<arg name="use_multithread" value="true"/>
</include>

<!-- Velodyne Monitor -->
<include file="$(find-pkg-share velodyne_monitor)/launch/velodyne_monitor.launch.xml" if="$(var launch_driver)">
<arg name="ip_address" value="$(var device_ip)"/>
</include>
</launch>
265 changes: 265 additions & 0 deletions common_sensor_launch/launch/velodyne_node_container.launch.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,265 @@
# Copyright 2020 Tier IV, Inc. 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.

import launch
from launch.actions import DeclareLaunchArgument
from launch.actions import OpaqueFunction
from launch.actions import SetLaunchConfiguration
from launch.conditions import IfCondition
from launch.conditions import UnlessCondition
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import ComposableNodeContainer
from launch_ros.actions import LoadComposableNodes
from launch_ros.descriptions import ComposableNode
import yaml


def get_vehicle_info(context):
path = LaunchConfiguration("vehicle_param_file").perform(context)
with open(path, "r") as f:
p = yaml.safe_load(f)["/**"]["ros__parameters"]
p["vehicle_length"] = p["front_overhang"] + p["wheel_base"] + p["rear_overhang"]
p["vehicle_width"] = p["wheel_tread"] + p["left_overhang"] + p["right_overhang"]
p["min_longitudinal_offset"] = -p["rear_overhang"]
p["max_longitudinal_offset"] = p["front_overhang"] + p["wheel_base"]
p["min_lateral_offset"] = -(p["wheel_tread"] / 2.0 + p["right_overhang"])
p["max_lateral_offset"] = p["wheel_tread"] / 2.0 + p["left_overhang"]
p["min_height_offset"] = 0.0
p["max_height_offset"] = p["vehicle_height"]
return p


def get_vehicle_mirror_info(context):
path = LaunchConfiguration("vehicle_mirror_param_file").perform(context)
with open(path, "r") as f:
p = yaml.safe_load(f)["/**"]["ros__parameters"]
return p


def launch_setup(context, *args, **kwargs):
def create_parameter_dict(*args):
result = {}
for x in args:
result[x] = LaunchConfiguration(x)
return result

nodes = []

# turn packets into pointcloud as in
# https://github.com/ros-drivers/velodyne/blob/ros2/velodyne_pointcloud/launch/velodyne_convert_node-VLP16-composed-launch.py
nodes.append(
ComposableNode(
package="velodyne_pointcloud",
plugin="velodyne_pointcloud::Convert",
name="velodyne_convert_node",
parameters=[
{
**create_parameter_dict(
"calibration",
"min_range",
"max_range",
"num_points_thresholds",
"invalid_intensity",
"frame_id",
"scan_phase",
"view_direction",
"view_width",
),
}
],
remappings=[
("velodyne_points", "pointcloud_raw"),
("velodyne_points_ex", "pointcloud_raw_ex"),
],
extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}],
)
)

cropbox_parameters = create_parameter_dict("input_frame", "output_frame")
cropbox_parameters["negative"] = True

vehicle_info = get_vehicle_info(context)
cropbox_parameters["min_x"] = vehicle_info["min_longitudinal_offset"]
cropbox_parameters["max_x"] = vehicle_info["max_longitudinal_offset"]
cropbox_parameters["min_y"] = vehicle_info["min_lateral_offset"]
cropbox_parameters["max_y"] = vehicle_info["max_lateral_offset"]
cropbox_parameters["min_z"] = vehicle_info["min_height_offset"]
cropbox_parameters["max_z"] = vehicle_info["max_height_offset"]

nodes.append(
ComposableNode(
package="pointcloud_preprocessor",
plugin="pointcloud_preprocessor::CropBoxFilterComponent",
name="crop_box_filter_self",
remappings=[
("input", "pointcloud_raw_ex"),
("output", "self_cropped/pointcloud_ex"),
],
parameters=[cropbox_parameters],
extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}],
)
)

mirror_info = get_vehicle_mirror_info(context)
cropbox_parameters["min_x"] = mirror_info["min_longitudinal_offset"]
cropbox_parameters["max_x"] = mirror_info["max_longitudinal_offset"]
cropbox_parameters["min_y"] = mirror_info["min_lateral_offset"]
cropbox_parameters["max_y"] = mirror_info["max_lateral_offset"]
cropbox_parameters["min_z"] = mirror_info["min_height_offset"]
cropbox_parameters["max_z"] = mirror_info["max_height_offset"]

nodes.append(
ComposableNode(
package="pointcloud_preprocessor",
plugin="pointcloud_preprocessor::CropBoxFilterComponent",
name="crop_box_filter_mirror",
remappings=[
("input", "self_cropped/pointcloud_ex"),
("output", "mirror_cropped/pointcloud_ex"),
],
parameters=[cropbox_parameters],
extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}],
)
)

nodes.append(
ComposableNode(
package="velodyne_pointcloud",
plugin="velodyne_pointcloud::Interpolate",
name="velodyne_interpolate_node",
remappings=[
("velodyne_points_ex", "mirror_cropped/pointcloud_ex"),
("velodyne_points_interpolate", "rectified/pointcloud"),
("velodyne_points_interpolate_ex", "rectified/pointcloud_ex"),
],
extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}],
)
)

nodes.append(
ComposableNode(
package="pointcloud_preprocessor",
plugin="pointcloud_preprocessor::RingOutlierFilterComponent",
name="ring_outlier_filter",
remappings=[
("input", "rectified/pointcloud_ex"),
("output", "outlier_filtered/pointcloud"),
],
extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}],
)
)

# set container to run all required components in the same process
container = ComposableNodeContainer(
# need unique name, otherwise all processes in same container and the node names then clash
name="velodyne_node_container",
namespace="pointcloud_preprocessor",
package="rclcpp_components",
executable=LaunchConfiguration("container_executable"),
composable_node_descriptions=nodes,
)

driver_component = ComposableNode(
package="velodyne_driver",
plugin="velodyne_driver::VelodyneDriver",
# node is created in a global context, need to avoid name clash
name="velodyne_driver",
parameters=[
{
**create_parameter_dict(
"device_ip",
"gps_time",
"read_once",
"read_fast",
"repeat_delay",
"frame_id",
"model",
"rpm",
"port",
"pcap",
"scan_phase",
),
}
],
)

# one way to add a ComposableNode conditional on a launch argument to a
# container. The `ComposableNode` itself doesn't accept a condition
loader = LoadComposableNodes(
composable_node_descriptions=[driver_component],
target_container=container,
condition=launch.conditions.IfCondition(LaunchConfiguration("launch_driver")),
)

return [container, loader]


def generate_launch_description():
launch_arguments = []

def add_launch_arg(name: str, default_value=None, description=None):
# a default_value of None is equivalent to not passing that kwarg at all
launch_arguments.append(
DeclareLaunchArgument(name, default_value=default_value, description=description)
)

add_launch_arg("model", description="velodyne model name")
add_launch_arg("launch_driver", "True", "do launch driver")
add_launch_arg("calibration", description="path to calibration file")
add_launch_arg("device_ip", "192.168.1.201", "device ip address")
add_launch_arg("scan_phase", "0.0")
add_launch_arg("base_frame", "base_link", "base frame id")
add_launch_arg("container_name", "velodyne_composable_node_container", "container name")
add_launch_arg("min_range", description="minimum view range")
add_launch_arg("max_range", description="maximum view range")
add_launch_arg("pcap", "")
add_launch_arg("port", "2368", description="device port number")
add_launch_arg("read_fast", "False")
add_launch_arg("read_once", "False")
add_launch_arg("repeat_delay", "0.0")
add_launch_arg("rpm", "600.0", "rotational frequency")
add_launch_arg("laserscan_ring", "-1")
add_launch_arg("laserscan_resolution", "0.007")
add_launch_arg("num_points_thresholds", "300")
add_launch_arg("invalid_intensity")
add_launch_arg("frame_id", "velodyne", "velodyne frame id")
add_launch_arg("gps_time", "False")
add_launch_arg("view_direction", description="the center of lidar angle")
add_launch_arg("view_width", description="lidar angle: 0~6.28 [rad]")
add_launch_arg("input_frame", LaunchConfiguration("base_frame"), "use for cropbox")
add_launch_arg("output_frame", LaunchConfiguration("base_frame"), "use for cropbox")
add_launch_arg("vehicle_param_file", description="path to the file of vehicle info yaml")
add_launch_arg(
"vehicle_mirror_param_file", description="path to the file of vehicle mirror position yaml"
)
add_launch_arg("use_multithread", "False", "use multithread")
add_launch_arg("use_intra_process", "False", "use ROS2 component container communication")

set_container_executable = SetLaunchConfiguration(
"container_executable",
"component_container",
condition=UnlessCondition(LaunchConfiguration("use_multithread")),
)

set_container_mt_executable = SetLaunchConfiguration(
"container_executable",
"component_container_mt",
condition=IfCondition(LaunchConfiguration("use_multithread")),
)

return launch.LaunchDescription(
launch_arguments
+ [set_container_executable, set_container_mt_executable]
+ [OpaqueFunction(function=launch_setup)]
)
Loading

0 comments on commit 76c29d1

Please sign in to comment.