From 4bba31b17ef9b238d1794519afba22a3b9aa3cdc Mon Sep 17 00:00:00 2001 From: Roni Kreinin Date: Thu, 27 Apr 2023 14:27:23 -0400 Subject: [PATCH] Licenses sick launch --- LICENSE | 28 ++++++++ .../launch_writer.py | 27 ++++++++ clearpath_launch_generator/package.xml | 11 ++- clearpath_platform/a200_hardware.xml | 31 +++++++++ clearpath_platform/j100_hardware.xml | 32 ++++++++- clearpath_platform/launch/platform.launch.py | 29 ++++++++ clearpath_platform/package.xml | 1 + .../scripts/{check.sh => check} | 0 .../scripts/{generate.sh => generate} | 0 clearpath_platform/scripts/install | 31 ++++++++- clearpath_sensors/config/sick_lms1xx.yaml | 69 +++++++++++++++++++ .../launch/hokuyo_ust10.launch.py | 27 ++++++++ .../launch/intel_realsense.launch.py | 27 ++++++++ .../launch/microstrain_imu.launch.py | 27 ++++++++ .../launch/sick_lms1xx.launch.py | 64 +++++++++++++++++ .../launch/velodyne_lidar.launch.py | 27 ++++++++ clearpath_sensors/package.xml | 11 ++- 17 files changed, 433 insertions(+), 9 deletions(-) create mode 100644 LICENSE rename clearpath_platform/scripts/{check.sh => check} (100%) rename clearpath_platform/scripts/{generate.sh => generate} (100%) mode change 100755 => 100644 clearpath_platform/scripts/install create mode 100644 clearpath_sensors/config/sick_lms1xx.yaml create mode 100644 clearpath_sensors/launch/sick_lms1xx.launch.py diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6080cef --- /dev/null +++ b/LICENSE @@ -0,0 +1,28 @@ +BSD 3-Clause License + +Copyright (c) 2023, clearpathrobotics + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/clearpath_launch_generator/clearpath_launch_generator/launch_writer.py b/clearpath_launch_generator/clearpath_launch_generator/launch_writer.py index 948b793..fd3ebf0 100644 --- a/clearpath_launch_generator/clearpath_launch_generator/launch_writer.py +++ b/clearpath_launch_generator/clearpath_launch_generator/launch_writer.py @@ -1,3 +1,30 @@ +# Software License Agreement (BSD) +# +# @author Roni Kreinin +# @copyright (c) 2023, Clearpath Robotics, Inc., All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# * Neither the name of Clearpath Robotics nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. from typing import List import os diff --git a/clearpath_launch_generator/package.xml b/clearpath_launch_generator/package.xml index c295ca2..2ab305f 100644 --- a/clearpath_launch_generator/package.xml +++ b/clearpath_launch_generator/package.xml @@ -3,9 +3,14 @@ clearpath_launch_generator 0.0.0 - TODO: Package description - rkreinin - TODO: License declaration + Clearpath launch generation scripts + + rkreinin + Luis Camero + Roni Kreinin + Tony Baltovski + + BSD ament_cmake diff --git a/clearpath_platform/a200_hardware.xml b/clearpath_platform/a200_hardware.xml index 4882818..5f7c069 100644 --- a/clearpath_platform/a200_hardware.xml +++ b/clearpath_platform/a200_hardware.xml @@ -1,3 +1,34 @@ + + + - \ No newline at end of file + diff --git a/clearpath_platform/launch/platform.launch.py b/clearpath_platform/launch/platform.launch.py index 155ef41..a85b714 100644 --- a/clearpath_platform/launch/platform.launch.py +++ b/clearpath_platform/launch/platform.launch.py @@ -1,3 +1,31 @@ +# Software License Agreement (BSD) +# +# @author Tony Baltovski +# @author Roni Kreinin +# @copyright (c) 2023, Clearpath Robotics, Inc., All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# * Neither the name of Clearpath Robotics nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. from launch import LaunchDescription from launch.actions import DeclareLaunchArgument, ExecuteProcess, GroupAction, IncludeLaunchDescription, LogInfo from launch.conditions import LaunchConfigurationEquals @@ -6,6 +34,7 @@ from launch_ros.actions import Node from launch_ros.substitutions import FindPackageShare + def generate_launch_description(): # Packages diff --git a/clearpath_platform/package.xml b/clearpath_platform/package.xml index 57dde83..f2d7103 100644 --- a/clearpath_platform/package.xml +++ b/clearpath_platform/package.xml @@ -10,6 +10,7 @@ Roni Kreinin Tony Baltovski + Luis Camero Roni Kreinin Tony Baltovski diff --git a/clearpath_platform/scripts/check.sh b/clearpath_platform/scripts/check similarity index 100% rename from clearpath_platform/scripts/check.sh rename to clearpath_platform/scripts/check diff --git a/clearpath_platform/scripts/generate.sh b/clearpath_platform/scripts/generate similarity index 100% rename from clearpath_platform/scripts/generate.sh rename to clearpath_platform/scripts/generate diff --git a/clearpath_platform/scripts/install b/clearpath_platform/scripts/install old mode 100755 new mode 100644 index 17f0cb3..d1f4fc9 --- a/clearpath_platform/scripts/install +++ b/clearpath_platform/scripts/install @@ -1,4 +1,31 @@ #!/usr/bin/env python3 +# Software License Agreement (BSD) +# +# @author Roni Kreinin +# @copyright (c) 2023, Clearpath Robotics, Inc., All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# * Neither the name of Clearpath Robotics nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. import robot_upstart @@ -79,10 +106,10 @@ class RobotProvider(robot_upstart.providers.Generic): 'services/clearpath-robot.service') robot_service_execpre_contents_path = os.path.join( get_package_share_directory('clearpath_platform'), - 'scripts/generate.sh') + 'scripts/generate') robot_service_exec_contents_path = os.path.join( get_package_share_directory('clearpath_platform'), - 'scripts/check.sh') + 'scripts/check') with open(robot_service_path) as f: robot_service_contents = f.read() diff --git a/clearpath_sensors/config/sick_lms1xx.yaml b/clearpath_sensors/config/sick_lms1xx.yaml new file mode 100644 index 0000000..f7622d5 --- /dev/null +++ b/clearpath_sensors/config/sick_lms1xx.yaml @@ -0,0 +1,69 @@ +sick_scan: + ros__parameters: + intensity: false + intensity_resolution_16bit: false + min_ang: -2.35619 + max_ang: 2.35619 + frame_id: cloud + use_binary_protocol: true + scanner_type: sick_lms_1xx + + # Optional range filter configuration: If the range of a scan point is less than range_min or greater than range_max, the point can be filtered. + # Depending on parameter range_filter_handling, the following filter can be applied for points with a range not within [range_min, range_max], + # see enumeration RangeFilterResultHandling in range_filter.h: + # 0: RANGE_FILTER_DEACTIVATED, do not apply range filter (default) + # 1: RANGE_FILTER_DROP, drop point, if range is not within [range_min, range_max] + # 2: RANGE_FILTER_TO_ZERO, set range to 0, if range is not within [range_min, range_max] + # 3: RANGE_FILTER_TO_RANGE_MAX, set range to range_max, if range is not within [range_min, range_max] + # 4: RANGE_FILTER_TO_FLT_MAX, set range to FLT_MAX, if range is not within [range_min, range_max] + # 5: RANGE_FILTER_TO_NAN set range to NAN, if range is not within [range_min, range_max] + # Note: Range filter applies only to Pointcloud messages, not to LaserScan messages. + # Using range_filter_handling 4 or 5 requires handling of FLT_MAX and NAN values in an application. + range_min: 0.05 + range_max: 25.0 + range_filter_handling: 0 + + hostname: 192.168.0.1 + cloud_topic: cloud + port: 2112 + timelimit: 5 + sw_pll_only_publish: true + use_generation_timestamp: true # Use the lidar generation timestamp (true, default) or send timestamp (false) for the software pll converted message timestamp + start_services: true # start ros service for cola commands + activate_lferec: true # activate field monitoring by lferec messages + activate_lidoutputstate: true # activate field monitoring by lidoutputstate messages + activate_lidinputstate: true # activate field monitoring by lidinputstate messages + min_intensity: 0.0 # Set range of LaserScan messages to infinity, if intensity < min_intensity (default: 0) + + ang_res: 0.5 # Supported values are "0.25" and "0.50" + scan_freq: 50 # Supported values are "25" and "50" + # Note: angular resolution and scanning frequency of a LMS111 can be configured by parameter "ang_res" (values "0.25" or "0.5") and "scan_freq" (values "25" or "50") + # After setting "ang_res" and "scan_freq", it takes ca. 30 seconds until the pointcloud is published. + # Recommendation: It is recommended to specify the desired angular resolution and scan rate in this launch file. + # In this case, it is necessary to wait approx. 30 sec. until the Lidar changes to status "OK". + # Alternatively, these settings can be configured in SOPAS-ET, transferred to the EEProm of the lidar and + # then permanently stored. In this case, the explicit specification of scan rate and angular resolution + # can be omitted and the waiting time can be avoided. + + # Apply an additional transform to the cartesian pointcloud, default: "0,0,0,0,0,0" (i.e. no transform) + # Note: add_transform_xyz_rpy is specified by 6D pose x, y, z, roll, pitch, yaw in [m] resp. [rad] + # It transforms a 3D point in cloud coordinates to 3D point in user defined world coordinates: + # add_transform_xyz_rpy := T[world,cloud] with parent "world" and child "cloud", i.e. P_world = T[world,cloud] * P_cloud + # The additional transform applies to cartesian lidar pointclouds and visualization marker (fields) + # It is NOT applied to polar pointclouds, radarscans, ldmrs objects or other messages + add_transform_xyz_rpy: "0,0,0,0,0,0" + add_transform_check_dynamic_updates: false + + message_monitoring_enabled: true # Enable message monitoring with reconnect+reinit in case of timeouts, default: true + read_timeout_millisec_default: 5000 # 5 sec read timeout in operational mode (measurement mode), default: 5000 milliseconds + read_timeout_millisec_startup: 120000 # 120 sec read timeout during startup (sensor may be starting up, which can take up to 120 sec.), default: 120000 milliseconds + read_timeout_millisec_kill_node: 150000 # 150 sec pointcloud timeout, ros node will be killed if no point cloud published within the last 150 sec., default: 150000 milliseconds + client_authorization_pw: F4724744 # Default password for client authorization + + # Configuration of ROS quality of service: + # On ROS-1, parameter "ros_qos" sets the queue_size of ros publisher + # On ROS-2, parameter "ros_qos" sets the QoS of ros publisher to one of the following predefined values: + # 0: rclcpp::SystemDefaultsQoS(), 1: rclcpp::ParameterEventsQoS(), 2: rclcpp::ServicesQoS(), 3: rclcpp::ParametersQoS(), 4: rclcpp::SensorDataQoS() + # See e.g. https://docs.ros2.org/dashing/api/rclcpp/classrclcpp_1_1QoS.html#ad7e932d8e2f636c80eff674546ec3963 for further details about ROS2 QoS + # Default value is -1, i.e. queue_size=10 on ROS-1 resp. qos=rclcpp::SystemDefaultsQoS() on ROS-2 is used. + ros_qos: -1 \ No newline at end of file diff --git a/clearpath_sensors/launch/hokuyo_ust10.launch.py b/clearpath_sensors/launch/hokuyo_ust10.launch.py index e027d7a..d065e7d 100644 --- a/clearpath_sensors/launch/hokuyo_ust10.launch.py +++ b/clearpath_sensors/launch/hokuyo_ust10.launch.py @@ -1,3 +1,30 @@ +# Software License Agreement (BSD) +# +# @author Roni Kreinin +# @copyright (c) 2023, Clearpath Robotics, Inc., All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# * Neither the name of Clearpath Robotics nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. from launch import LaunchDescription from launch.actions import DeclareLaunchArgument from launch.substitutions import LaunchConfiguration, PathJoinSubstitution diff --git a/clearpath_sensors/launch/intel_realsense.launch.py b/clearpath_sensors/launch/intel_realsense.launch.py index b1e260f..eac2e7c 100644 --- a/clearpath_sensors/launch/intel_realsense.launch.py +++ b/clearpath_sensors/launch/intel_realsense.launch.py @@ -1,3 +1,30 @@ +# Software License Agreement (BSD) +# +# @author Roni Kreinin +# @copyright (c) 2023, Clearpath Robotics, Inc., All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# * Neither the name of Clearpath Robotics nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. from launch import LaunchDescription from launch.actions import DeclareLaunchArgument from launch.substitutions import LaunchConfiguration, PathJoinSubstitution diff --git a/clearpath_sensors/launch/microstrain_imu.launch.py b/clearpath_sensors/launch/microstrain_imu.launch.py index dba91dc..071f1c6 100644 --- a/clearpath_sensors/launch/microstrain_imu.launch.py +++ b/clearpath_sensors/launch/microstrain_imu.launch.py @@ -1,3 +1,30 @@ +# Software License Agreement (BSD) +# +# @author Roni Kreinin +# @copyright (c) 2023, Clearpath Robotics, Inc., All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# * Neither the name of Clearpath Robotics nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. from launch import LaunchDescription from launch.actions import DeclareLaunchArgument, IncludeLaunchDescription from launch.launch_description_sources import PythonLaunchDescriptionSource diff --git a/clearpath_sensors/launch/sick_lms1xx.launch.py b/clearpath_sensors/launch/sick_lms1xx.launch.py new file mode 100644 index 0000000..5330ffc --- /dev/null +++ b/clearpath_sensors/launch/sick_lms1xx.launch.py @@ -0,0 +1,64 @@ +# Software License Agreement (BSD) +# +# @author Roni Kreinin +# @copyright (c) 2023, Clearpath Robotics, Inc., All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# * Neither the name of Clearpath Robotics nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument +from launch.substitutions import LaunchConfiguration, PathJoinSubstitution + +from launch_ros.actions import Node +from launch_ros.substitutions import FindPackageShare + + +def generate_launch_description(): + parameters = LaunchConfiguration('parameters') + namespace = LaunchConfiguration('namespace') + + arg_namespace = DeclareLaunchArgument( + 'namespace', + default_value='platform/sensors/lidar2d_0') + + arg_parameters = DeclareLaunchArgument( + 'parameters', + default_value=PathJoinSubstitution([ + FindPackageShare('clearpath_sensors'), + 'config', + 'sick_lms1xx.yaml' + ])) + + sick_scan_node = Node( + package='sick_scan', + namespace=namespace, + executable='sick_generic_caller', + arguments=[parameters], + output='screen', + ) + + ld = LaunchDescription() + ld.add_action(arg_namespace) + ld.add_action(arg_parameters) + ld.add_action(sick_scan_node) + return ld diff --git a/clearpath_sensors/launch/velodyne_lidar.launch.py b/clearpath_sensors/launch/velodyne_lidar.launch.py index a8d0d6c..87b3798 100644 --- a/clearpath_sensors/launch/velodyne_lidar.launch.py +++ b/clearpath_sensors/launch/velodyne_lidar.launch.py @@ -1,3 +1,30 @@ +# Software License Agreement (BSD) +# +# @author Roni Kreinin +# @copyright (c) 2023, Clearpath Robotics, Inc., All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# * Neither the name of Clearpath Robotics nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. from launch import LaunchDescription from launch.substitutions import LaunchConfiguration diff --git a/clearpath_sensors/package.xml b/clearpath_sensors/package.xml index e18deb5..41f0cac 100644 --- a/clearpath_sensors/package.xml +++ b/clearpath_sensors/package.xml @@ -3,9 +3,14 @@ clearpath_sensors 0.0.0 - TODO: Package description - rkreinin - TODO: License declaration + Clearpath sensor default launch files and configurations + + Roni Kreinin + Luis Camero + Roni Kreinin + Tony Baltovski + + BSD ament_cmake