From db5f07aab0132d39be0eb7a3b0892074ca7793c7 Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Mon, 25 Jan 2021 14:57:01 +0100 Subject: [PATCH 01/20] First gazebo launch with ROS2 --- pmb2_2dnav_gazebo/COLCON_IGNORE | 0 .../COLCON_IGNORE | 0 pmb2_gazebo/CMakeLists.txt | 13 ++-- pmb2_gazebo/launch/pmb2_gazebo.launch.py | 72 +++++++++++++++++++ pmb2_gazebo/package.xml | 29 +++++--- pmb2_multi/COLCON_IGNORE | 0 pmb2_simulation/CMakeLists.txt | 6 +- pmb2_simulation/package.xml | 14 ++-- 8 files changed, 106 insertions(+), 28 deletions(-) create mode 100644 pmb2_2dnav_gazebo/COLCON_IGNORE create mode 100644 pmb2_controller_configuration_gazebo/COLCON_IGNORE create mode 100644 pmb2_gazebo/launch/pmb2_gazebo.launch.py create mode 100644 pmb2_multi/COLCON_IGNORE diff --git a/pmb2_2dnav_gazebo/COLCON_IGNORE b/pmb2_2dnav_gazebo/COLCON_IGNORE new file mode 100644 index 0000000..e69de29 diff --git a/pmb2_controller_configuration_gazebo/COLCON_IGNORE b/pmb2_controller_configuration_gazebo/COLCON_IGNORE new file mode 100644 index 0000000..e69de29 diff --git a/pmb2_gazebo/CMakeLists.txt b/pmb2_gazebo/CMakeLists.txt index 95c94df..b8d6918 100644 --- a/pmb2_gazebo/CMakeLists.txt +++ b/pmb2_gazebo/CMakeLists.txt @@ -1,11 +1,10 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.4.0) project(pmb2_gazebo) -find_package(catkin REQUIRED) +find_package(ament_cmake_auto REQUIRED) -catkin_package() +# PAL Robotics stricter build flags, other developers should not worry about this +find_package(ament_cmake_pal QUIET) -foreach(dir launch Media models worlds) - install(DIRECTORY ${dir}/ - DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir}) -endforeach(dir) +# Media commented out +ament_auto_package(INSTALL_TO_SHARE launch models worlds) diff --git a/pmb2_gazebo/launch/pmb2_gazebo.launch.py b/pmb2_gazebo/launch/pmb2_gazebo.launch.py new file mode 100644 index 0000000..ba48a0a --- /dev/null +++ b/pmb2_gazebo/launch/pmb2_gazebo.launch.py @@ -0,0 +1,72 @@ +# Copyright (c) 2020 PAL Robotics S.L. All rights reserved. +# +# 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. + +import os +from os import environ, pathsep + +from ament_index_python.packages import get_package_share_directory + +from launch import LaunchDescription +from launch.actions import IncludeLaunchDescription, SetEnvironmentVariable +from launch.launch_description_sources import PythonLaunchDescriptionSource + +from launch_ros.actions import Node + +import xacro + + +def generate_launch_description(): + gazebo = IncludeLaunchDescription( + PythonLaunchDescriptionSource([os.path.join( + get_package_share_directory('pal_gazebo_worlds'), 'launch'), '/pal_gazebo.launch.py']), + ) + + pmb2_state_publisher = IncludeLaunchDescription( + PythonLaunchDescriptionSource([os.path.join( + get_package_share_directory('pmb2_description'), 'launch'), '/robot_state_publisher.launch.py']), + ) + + spawn_entity = Node(package='gazebo_ros', executable='spawn_entity.py', + arguments=['-topic', 'robot_description', + '-entity', 'pmb2'], + output='screen') + + pkg_path = get_package_share_directory('pmb2_description') + model_path = os.path.join(pkg_path, "models") + resource_path = pkg_path + + if 'GAZEBO_MODEL_PATH' in environ: + model_path += pathsep+environ['GAZEBO_MODEL_PATH'] + if 'GAZEBO_RESOURCE_PATH' in environ: + resource_path += pathsep+environ['GAZEBO_RESOURCE_PATH'] + return LaunchDescription([ + SetEnvironmentVariable("GAZEBO_MODEL_PATH", model_path), + # Using this prevents shared library from being found + # SetEnvironmentVariable("GAZEBO_RESOURCE_PATH", resource_path), + gazebo, + pmb2_state_publisher, + spawn_entity, + ]) diff --git a/pmb2_gazebo/package.xml b/pmb2_gazebo/package.xml index 03d387c..d57a02a 100644 --- a/pmb2_gazebo/package.xml +++ b/pmb2_gazebo/package.xml @@ -1,22 +1,29 @@ - + pmb2_gazebo 2.0.24 Simulation files for the PMB2 robot. PAL Robotics TIAGo support PAL Robotics Modified BSD - Enrique Fernandez + Victor Lopez - catkin + ament_cmake + + pmb2_description + pmb2_bringup + gazebo_ros + gazebo_plugins + pal_gazebo_worlds + + + + + ament_cmake + - pmb2_controller_configuration_gazebo - pmb2_description - pal_hardware_gazebo - pmb2_bringup - gazebo_ros - gazebo_plugins - pal_gazebo_worlds - simple_models_gazebo diff --git a/pmb2_multi/COLCON_IGNORE b/pmb2_multi/COLCON_IGNORE new file mode 100644 index 0000000..e69de29 diff --git a/pmb2_simulation/CMakeLists.txt b/pmb2_simulation/CMakeLists.txt index 0a84221..bebdb02 100644 --- a/pmb2_simulation/CMakeLists.txt +++ b/pmb2_simulation/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.5) project(pmb2_simulation) -find_package(catkin REQUIRED) -catkin_metapackage() +find_package(ament_cmake REQUIRED) +ament_package() diff --git a/pmb2_simulation/package.xml b/pmb2_simulation/package.xml index 8e82257..f58463d 100644 --- a/pmb2_simulation/package.xml +++ b/pmb2_simulation/package.xml @@ -1,5 +1,5 @@ - + pmb2_simulation 2.0.24 PMB2-specific simulation components. These include plugins @@ -9,14 +9,14 @@ BSD Enrique Fernandez - catkin + ament_cmake - pmb2_controller_configuration_gazebo - pmb2_gazebo - pal_hardware_gazebo - pmb2_2dnav_gazebo + pmb2_controller_configuration_gazebo + pmb2_gazebo + + pmb2_2dnav_gazebo - + ament_cmake From 33205a2bbb530148426003dfdab2864deef64849 Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Wed, 27 Jan 2021 15:13:04 +0100 Subject: [PATCH 02/20] Path fixes for gazebo --- pmb2_gazebo/launch/pmb2_gazebo.launch.py | 6 +++--- pmb2_gazebo/package.xml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pmb2_gazebo/launch/pmb2_gazebo.launch.py b/pmb2_gazebo/launch/pmb2_gazebo.launch.py index ba48a0a..78ee998 100644 --- a/pmb2_gazebo/launch/pmb2_gazebo.launch.py +++ b/pmb2_gazebo/launch/pmb2_gazebo.launch.py @@ -27,7 +27,7 @@ import os from os import environ, pathsep -from ament_index_python.packages import get_package_share_directory +from ament_index_python.packages import get_package_share_directory, get_package_prefix from launch import LaunchDescription from launch.actions import IncludeLaunchDescription, SetEnvironmentVariable @@ -54,8 +54,8 @@ def generate_launch_description(): '-entity', 'pmb2'], output='screen') - pkg_path = get_package_share_directory('pmb2_description') - model_path = os.path.join(pkg_path, "models") + pkg_path = get_package_prefix('pmb2_description') + model_path = os.path.join(pkg_path, "share") resource_path = pkg_path if 'GAZEBO_MODEL_PATH' in environ: diff --git a/pmb2_gazebo/package.xml b/pmb2_gazebo/package.xml index d57a02a..a114acc 100644 --- a/pmb2_gazebo/package.xml +++ b/pmb2_gazebo/package.xml @@ -15,10 +15,10 @@ gazebo_ros gazebo_plugins pal_gazebo_worlds + pmb2_controller_configuration From 97848f877529023037f128ce05a93f941f78a641 Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Fri, 19 Feb 2021 09:26:35 +0100 Subject: [PATCH 03/20] Cleanup pmb2_gazebo spawn --- pmb2_gazebo/launch/pmb2_empty_world.launch | 7 -- pmb2_gazebo/launch/pmb2_gazebo.launch.py | 58 ++++++++++------ pmb2_gazebo/launch/pmb2_spawn.launch.py | 69 +++++++++++++++++++ .../launch/simulation_pmb2_bringup.launch | 23 ------- pmb2_gazebo/package.xml | 1 + 5 files changed, 108 insertions(+), 50 deletions(-) delete mode 100644 pmb2_gazebo/launch/pmb2_empty_world.launch create mode 100644 pmb2_gazebo/launch/pmb2_spawn.launch.py delete mode 100644 pmb2_gazebo/launch/simulation_pmb2_bringup.launch diff --git a/pmb2_gazebo/launch/pmb2_empty_world.launch b/pmb2_gazebo/launch/pmb2_empty_world.launch deleted file mode 100644 index 5305925..0000000 --- a/pmb2_gazebo/launch/pmb2_empty_world.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/pmb2_gazebo/launch/pmb2_gazebo.launch.py b/pmb2_gazebo/launch/pmb2_gazebo.launch.py index 78ee998..4d6bedf 100644 --- a/pmb2_gazebo/launch/pmb2_gazebo.launch.py +++ b/pmb2_gazebo/launch/pmb2_gazebo.launch.py @@ -30,43 +30,61 @@ from ament_index_python.packages import get_package_share_directory, get_package_prefix from launch import LaunchDescription -from launch.actions import IncludeLaunchDescription, SetEnvironmentVariable +from launch.actions import IncludeLaunchDescription, SetEnvironmentVariable, DeclareLaunchArgument from launch.launch_description_sources import PythonLaunchDescriptionSource +from launch.substitutions import LaunchConfiguration -from launch_ros.actions import Node +# Copyright (c) 2021 PAL Robotics S.L. +# +# 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 xacro +from launch_pal.include_utils import include_launch_py_description def generate_launch_description(): - gazebo = IncludeLaunchDescription( - PythonLaunchDescriptionSource([os.path.join( - get_package_share_directory('pal_gazebo_worlds'), 'launch'), '/pal_gazebo.launch.py']), - ) + # This should be removed, it should be retrieved automatically from pal_gazebo.launch.py + # See https://github.com/ros2/launch/issues/313 + declare_world_name = DeclareLaunchArgument( + 'world_name', default_value='', + description='Specify world name, we\'ll convert to full path' + ) - pmb2_state_publisher = IncludeLaunchDescription( - PythonLaunchDescriptionSource([os.path.join( - get_package_share_directory('pmb2_description'), 'launch'), '/robot_state_publisher.launch.py']), - ) + gazebo = IncludeLaunchDescription( + PythonLaunchDescriptionSource([os.path.join( + get_package_share_directory('pal_gazebo_worlds'), 'launch'), '/pal_gazebo.launch.py']), + launch_arguments={ + 'world_name': LaunchConfiguration('world_name')}.items(), + ) - spawn_entity = Node(package='gazebo_ros', executable='spawn_entity.py', - arguments=['-topic', 'robot_description', - '-entity', 'pmb2'], - output='screen') + pmb2_spawn = include_launch_py_description( + 'pmb2_gazebo', ['launch', 'pmb2_spawn.launch.py']) + pmb2_bringup = include_launch_py_description( + 'pmb2_bringup', ['launch', 'pmb2_bringup.launch.py']) pkg_path = get_package_prefix('pmb2_description') model_path = os.path.join(pkg_path, "share") resource_path = pkg_path if 'GAZEBO_MODEL_PATH' in environ: - model_path += pathsep+environ['GAZEBO_MODEL_PATH'] + model_path += pathsep + environ['GAZEBO_MODEL_PATH'] if 'GAZEBO_RESOURCE_PATH' in environ: - resource_path += pathsep+environ['GAZEBO_RESOURCE_PATH'] + resource_path += pathsep + environ['GAZEBO_RESOURCE_PATH'] return LaunchDescription([ SetEnvironmentVariable("GAZEBO_MODEL_PATH", model_path), # Using this prevents shared library from being found - # SetEnvironmentVariable("GAZEBO_RESOURCE_PATH", resource_path), + # SetEnvironmentVariable("GAZEBO_RESOURCE_PATH", resource_path), + declare_world_name, gazebo, - pmb2_state_publisher, - spawn_entity, + pmb2_spawn, + pmb2_bringup ]) diff --git a/pmb2_gazebo/launch/pmb2_spawn.launch.py b/pmb2_gazebo/launch/pmb2_spawn.launch.py new file mode 100644 index 0000000..077bfd3 --- /dev/null +++ b/pmb2_gazebo/launch/pmb2_spawn.launch.py @@ -0,0 +1,69 @@ +# Copyright (c) 2020 PAL Robotics S.L. All rights reserved. +# +# 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. + +import os +from os import environ, pathsep + +from ament_index_python.packages import get_package_share_directory, get_package_prefix + +from launch import LaunchDescription +from launch.actions import IncludeLaunchDescription, SetEnvironmentVariable, DeclareLaunchArgument +from launch.launch_description_sources import PythonLaunchDescriptionSource +from launch.substitutions import LaunchConfiguration + +from launch_ros.actions import Node + +from launch_pal.include_utils import include_launch_py_description + +import xacro + + +def generate_launch_description(): +# This format doesn't work because because we have to expand gzpose into different args for spawn_entity.py +# declare_gz_pose = DeclareLaunchArgument( +# 'gzpose', default_value='-x 0 -y 0 -z 0.0 -R 0.0 -P 0.0 -Y 0.0 ', +# description='Spawn gazebo position as provided to spawn_entity.py' +# ) + declare_model_name = DeclareLaunchArgument( + 'model_name', default_value='pmb2', + description='Gazebo model name' + ) + + pmb2_state_publisher = include_launch_py_description('pmb2_description', + ['launch', 'robot_state_publisher.launch.py']) + spawn_entity = Node(package='gazebo_ros', executable='spawn_entity.py', + arguments=['-topic', 'robot_description', + '-entity', LaunchConfiguration('model_name'), + # LaunchConfiguration('gzpose'), + ], + output='screen') + + return LaunchDescription([ +# declare_gz_pose, + declare_model_name, + pmb2_state_publisher, + spawn_entity, + ]) diff --git a/pmb2_gazebo/launch/simulation_pmb2_bringup.launch b/pmb2_gazebo/launch/simulation_pmb2_bringup.launch deleted file mode 100644 index 49689ae..0000000 --- a/pmb2_gazebo/launch/simulation_pmb2_bringup.launch +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pmb2_gazebo/package.xml b/pmb2_gazebo/package.xml index a114acc..07a8317 100644 --- a/pmb2_gazebo/package.xml +++ b/pmb2_gazebo/package.xml @@ -10,6 +10,7 @@ ament_cmake + launch_pal pmb2_description pmb2_bringup gazebo_ros From 3c007660a121845e4e15c12f32d8068b69f7a0d5 Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Wed, 10 Mar 2021 11:32:28 +0100 Subject: [PATCH 04/20] Remove pmb2_controller_configuration_gazebo, use default one for gazebo For now we can use the default one --- .../CHANGELOG.rst | 114 ------------------ .../CMakeLists.txt | 11 -- .../COLCON_IGNORE | 0 .../config/mobile_base_controller.yaml | 46 ------- .../mobile_base_controller_multipliers.yaml | 3 - .../package.xml | 15 --- pmb2_simulation/package.xml | 1 - 7 files changed, 190 deletions(-) delete mode 100644 pmb2_controller_configuration_gazebo/CHANGELOG.rst delete mode 100644 pmb2_controller_configuration_gazebo/CMakeLists.txt delete mode 100644 pmb2_controller_configuration_gazebo/COLCON_IGNORE delete mode 100644 pmb2_controller_configuration_gazebo/config/mobile_base_controller.yaml delete mode 100644 pmb2_controller_configuration_gazebo/config/mobile_base_controller_multipliers.yaml delete mode 100644 pmb2_controller_configuration_gazebo/package.xml diff --git a/pmb2_controller_configuration_gazebo/CHANGELOG.rst b/pmb2_controller_configuration_gazebo/CHANGELOG.rst deleted file mode 100644 index 42586b1..0000000 --- a/pmb2_controller_configuration_gazebo/CHANGELOG.rst +++ /dev/null @@ -1,114 +0,0 @@ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Changelog for package pmb2_controller_configuration_gazebo -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -2.0.24 (2021-01-13) -------------------- - -2.0.23 (2020-07-30) -------------------- - -2.0.22 (2020-04-14) -------------------- - -2.0.21 (2020-04-03) -------------------- - -2.0.20 (2020-03-19) -------------------- - -2.0.19 (2019-10-22) -------------------- - -2.0.18 (2019-10-14) -------------------- - -2.0.17 (2019-10-10) -------------------- - -2.0.16 (2019-10-10) -------------------- - -2.0.15 (2019-10-10) -------------------- - -2.0.14 (2019-09-25) -------------------- - -2.0.13 (2019-09-23) -------------------- - -2.0.12 (2019-08-14) -------------------- - -2.0.11 (2019-08-01) -------------------- - -2.0.10 (2019-07-02) -------------------- - -2.0.9 (2019-06-17) ------------------- - -2.0.8 (2019-05-20) ------------------- - -2.0.7 (2019-02-01) ------------------- - -2.0.6 (2019-01-25) ------------------- - -2.0.5 (2019-01-23) ------------------- - -2.0.4 (2019-01-17) ------------------- - -2.0.3 (2018-12-19) ------------------- - -2.0.2 (2018-07-25) ------------------- - -2.0.1 (2018-07-17) ------------------- - -2.0.0 (2018-02-05) ------------------- -* Add missing run depend -* Contributors: Victor Lopez - -1.0.1 (2017-02-28) ------------------- -* refs #14797. Add public_sim argument -* add tiago_support as maintainer -* Contributors: Jordi Pages - -1.0.0 (2016-04-20) ------------------- - -0.9.7 (2016-04-15) ------------------- - -0.9.6 (2016-02-09) ------------------- - -0.9.5 (2015-10-27) ------------------- -* Update maintainer -* Contributors: Bence Magyar - -0.9.4 (2015-02-18) ------------------- -* Make rgbd camera fixed -* Contributors: Enrique Fernandez - -0.9.3 (2015-02-03) ------------------- - -0.9.2 (2015-02-02) ------------------- -* Replace ant -> pmb2 -* Rename files -* Contributors: Enrique Fernandez diff --git a/pmb2_controller_configuration_gazebo/CMakeLists.txt b/pmb2_controller_configuration_gazebo/CMakeLists.txt deleted file mode 100644 index f328828..0000000 --- a/pmb2_controller_configuration_gazebo/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 2.8.3) -project(pmb2_controller_configuration_gazebo) - -find_package(catkin REQUIRED) - -catkin_package() - -foreach(dir config) - install(DIRECTORY ${dir}/ - DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir}) -endforeach(dir) diff --git a/pmb2_controller_configuration_gazebo/COLCON_IGNORE b/pmb2_controller_configuration_gazebo/COLCON_IGNORE deleted file mode 100644 index e69de29..0000000 diff --git a/pmb2_controller_configuration_gazebo/config/mobile_base_controller.yaml b/pmb2_controller_configuration_gazebo/config/mobile_base_controller.yaml deleted file mode 100644 index 09eb0a7..0000000 --- a/pmb2_controller_configuration_gazebo/config/mobile_base_controller.yaml +++ /dev/null @@ -1,46 +0,0 @@ -mobile_base_controller: - type : "diff_drive_controller/DiffDriveController" - left_wheel : 'wheel_left_joint' - right_wheel : 'wheel_right_joint' - publish_rate: 50.0 - pose_covariance_diagonal : [0.001, 0.001, 1.0e-3, 1.0e-3, 1.0e-3, 0.01] - twist_covariance_diagonal: [0.001, 0.001, 1.0e-3, 1.0e-3, 1.0e-3, 0.01] - - enable_pose_covariance_update: true - error_constant_left : 0.001 - error_constant_right: 0.001 - - # Velocity commands timeout [s] - cmd_vel_timeout: 0.25 - - # Base frame_id - base_frame_id: base_footprint - - # Preserve turning radius when limiting speed/acceleration/jerk - preserve_turning_radius: true - - # Publish limited velocity - publish_cmd: false - - # Publish wheel data - publish_wheel_data: true - - # Velocity and acceleration limits - # Whenever a min_* is unspecified, default to -max_* - linear: - x: - has_velocity_limits : true - max_velocity : 1.0 # m/s - min_velocity : -0.2 # m/s - has_acceleration_limits: true - max_acceleration : 1.0 # m/s^2 - has_jerk_limits : false - max_jerk : 5.0 # m/s^3 - angular: - z: - has_velocity_limits : true - max_velocity : !degrees 120.0 - has_acceleration_limits: true - max_acceleration : !degrees 120.0 - has_jerk_limits : false - max_jerk : !degrees 600.0 diff --git a/pmb2_controller_configuration_gazebo/config/mobile_base_controller_multipliers.yaml b/pmb2_controller_configuration_gazebo/config/mobile_base_controller_multipliers.yaml deleted file mode 100644 index 9f3fb54..0000000 --- a/pmb2_controller_configuration_gazebo/config/mobile_base_controller_multipliers.yaml +++ /dev/null @@ -1,3 +0,0 @@ -mobile_base_controller: - wheel_separation_multiplier: 1.0 - wheel_radius_multiplier : 1.0 diff --git a/pmb2_controller_configuration_gazebo/package.xml b/pmb2_controller_configuration_gazebo/package.xml deleted file mode 100644 index ef80962..0000000 --- a/pmb2_controller_configuration_gazebo/package.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - pmb2_controller_configuration_gazebo - 2.0.24 - Gazebo-specifig launch files and scripts needed to configure - the controllers of the PMB2 robot in simulation. - PAL Robotics - TIAGo support PAL Robotics - Modified BSD - Enrique Fernandez - - catkin - diff_drive_controller - - diff --git a/pmb2_simulation/package.xml b/pmb2_simulation/package.xml index f58463d..4d5038c 100644 --- a/pmb2_simulation/package.xml +++ b/pmb2_simulation/package.xml @@ -11,7 +11,6 @@ ament_cmake - pmb2_controller_configuration_gazebo pmb2_gazebo pmb2_2dnav_gazebo From ef90d0a06e8ac48d45ba5bb7ab1f2ab213d5973f Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Wed, 10 Mar 2021 11:33:43 +0100 Subject: [PATCH 05/20] Migrate pmb2_2dnav_gazebo to ROS2 --- pmb2_2dnav_gazebo/CMakeLists.txt | 13 ++- pmb2_2dnav_gazebo/COLCON_IGNORE | 0 pmb2_2dnav_gazebo/launch/localization.launch | 30 ------- pmb2_2dnav_gazebo/launch/mapping.launch | 11 --- pmb2_2dnav_gazebo/launch/navigation.launch | 80 ------------------- pmb2_2dnav_gazebo/launch/pmb2_mapping.launch | 54 ------------- .../launch/pmb2_mapping_gazebo.launch.py | 34 ++++++++ .../launch/pmb2_navigation.launch | 75 ----------------- .../launch/pmb2_navigation_gazebo.launch.py | 34 ++++++++ pmb2_2dnav_gazebo/package.xml | 15 ++-- 10 files changed, 84 insertions(+), 262 deletions(-) delete mode 100644 pmb2_2dnav_gazebo/COLCON_IGNORE delete mode 100644 pmb2_2dnav_gazebo/launch/localization.launch delete mode 100644 pmb2_2dnav_gazebo/launch/mapping.launch delete mode 100644 pmb2_2dnav_gazebo/launch/navigation.launch delete mode 100644 pmb2_2dnav_gazebo/launch/pmb2_mapping.launch create mode 100644 pmb2_2dnav_gazebo/launch/pmb2_mapping_gazebo.launch.py delete mode 100644 pmb2_2dnav_gazebo/launch/pmb2_navigation.launch create mode 100644 pmb2_2dnav_gazebo/launch/pmb2_navigation_gazebo.launch.py diff --git a/pmb2_2dnav_gazebo/CMakeLists.txt b/pmb2_2dnav_gazebo/CMakeLists.txt index 9e5505f..0d45c68 100644 --- a/pmb2_2dnav_gazebo/CMakeLists.txt +++ b/pmb2_2dnav_gazebo/CMakeLists.txt @@ -1,11 +1,10 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.4.0) project(pmb2_2dnav_gazebo) -find_package(catkin REQUIRED) +find_package(ament_cmake_auto REQUIRED) -catkin_package() +# PAL Robotics stricter build flags, other developers should not worry about this +find_package(ament_cmake_pal QUIET) -foreach(dir launch) - install(DIRECTORY ${dir}/ - DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir}) -endforeach(dir) +# Media commented out +ament_auto_package(INSTALL_TO_SHARE launch) diff --git a/pmb2_2dnav_gazebo/COLCON_IGNORE b/pmb2_2dnav_gazebo/COLCON_IGNORE deleted file mode 100644 index e69de29..0000000 diff --git a/pmb2_2dnav_gazebo/launch/localization.launch b/pmb2_2dnav_gazebo/launch/localization.launch deleted file mode 100644 index 6504a61..0000000 --- a/pmb2_2dnav_gazebo/launch/localization.launch +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pmb2_2dnav_gazebo/launch/mapping.launch b/pmb2_2dnav_gazebo/launch/mapping.launch deleted file mode 100644 index 76bea1a..0000000 --- a/pmb2_2dnav_gazebo/launch/mapping.launch +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/pmb2_2dnav_gazebo/launch/navigation.launch b/pmb2_2dnav_gazebo/launch/navigation.launch deleted file mode 100644 index 56ab241..0000000 --- a/pmb2_2dnav_gazebo/launch/navigation.launch +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pmb2_2dnav_gazebo/launch/pmb2_mapping.launch b/pmb2_2dnav_gazebo/launch/pmb2_mapping.launch deleted file mode 100644 index 83fd075..0000000 --- a/pmb2_2dnav_gazebo/launch/pmb2_mapping.launch +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pmb2_2dnav_gazebo/launch/pmb2_mapping_gazebo.launch.py b/pmb2_2dnav_gazebo/launch/pmb2_mapping_gazebo.launch.py new file mode 100644 index 0000000..c6efd7d --- /dev/null +++ b/pmb2_2dnav_gazebo/launch/pmb2_mapping_gazebo.launch.py @@ -0,0 +1,34 @@ +# Copyright (c) 2021 PAL Robotics S.L. +# +# 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. + +from launch import LaunchDescription +from launch_pal.include_utils import include_launch_py_description + + +def generate_launch_description(): + # Create the launch description and populate + ld = LaunchDescription([ + include_launch_py_description( + 'pmb2_gazebo', ['launch', 'pmb2_gazebo.launch.py'], + launch_arguments={ + 'world_name': 'pal_office', + }.items()), + include_launch_py_description( + 'pmb2_2dnav', ['launch', 'pmb2_nav_bringup.launch.py'], + launch_arguments={ + 'slam': 'True' + }.items()), + ]) + + return ld diff --git a/pmb2_2dnav_gazebo/launch/pmb2_navigation.launch b/pmb2_2dnav_gazebo/launch/pmb2_navigation.launch deleted file mode 100644 index 7f9269f..0000000 --- a/pmb2_2dnav_gazebo/launch/pmb2_navigation.launch +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pmb2_2dnav_gazebo/launch/pmb2_navigation_gazebo.launch.py b/pmb2_2dnav_gazebo/launch/pmb2_navigation_gazebo.launch.py new file mode 100644 index 0000000..6b9426f --- /dev/null +++ b/pmb2_2dnav_gazebo/launch/pmb2_navigation_gazebo.launch.py @@ -0,0 +1,34 @@ +# Copyright (c) 2021 PAL Robotics S.L. +# +# 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. + +from launch import LaunchDescription +from launch_pal.include_utils import include_launch_py_description + + +def generate_launch_description(): + # Create the launch description and populate + ld = LaunchDescription([ + include_launch_py_description( + 'pmb2_gazebo', ['launch', 'pmb2_gazebo.launch.py'], + launch_arguments={ + 'world_name': 'pal_office', + }.items()), + include_launch_py_description( + 'pmb2_2dnav', ['launch', 'pmb2_nav_bringup.launch.py'], + launch_arguments={ + 'slam': 'False' + }.items()), + ]) + + return ld diff --git a/pmb2_2dnav_gazebo/package.xml b/pmb2_2dnav_gazebo/package.xml index 90edcc5..5f1f59f 100644 --- a/pmb2_2dnav_gazebo/package.xml +++ b/pmb2_2dnav_gazebo/package.xml @@ -1,5 +1,5 @@ - + pmb2_2dnav_gazebo 2.0.24 PMB2-specific launch files needed to run @@ -7,10 +7,15 @@ PAL Robotics TIAGo support PAL Robotics Modified BSD - Enrique Fernandez + Victor Lopez - catkin + ament_cmake + + pmb2_gazebo + pmb2_2dnav + + + ament_cmake + - pmb2_gazebo - pmb2_2dnav From 564ec08a58628ac12ca55590bfc80da9585d70ae Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Tue, 13 Jul 2021 10:54:59 +0200 Subject: [PATCH 06/20] Add LICENSE --- LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..339a484 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2021 Robots + + 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. From 5219f37d5bccafbfa62a3281de87e6c554f85f7b Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Tue, 20 Jul 2021 07:20:47 +0000 Subject: [PATCH 07/20] Cleanup --- pmb2_gazebo/launch/pmb2_gazebo.launch.py | 46 ++++++------------------ 1 file changed, 10 insertions(+), 36 deletions(-) diff --git a/pmb2_gazebo/launch/pmb2_gazebo.launch.py b/pmb2_gazebo/launch/pmb2_gazebo.launch.py index 4d6bedf..c0b4017 100644 --- a/pmb2_gazebo/launch/pmb2_gazebo.launch.py +++ b/pmb2_gazebo/launch/pmb2_gazebo.launch.py @@ -1,39 +1,3 @@ -# Copyright (c) 2020 PAL Robotics S.L. All rights reserved. -# -# 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. - -import os -from os import environ, pathsep - -from ament_index_python.packages import get_package_share_directory, get_package_prefix - -from launch import LaunchDescription -from launch.actions import IncludeLaunchDescription, SetEnvironmentVariable, DeclareLaunchArgument -from launch.launch_description_sources import PythonLaunchDescriptionSource -from launch.substitutions import LaunchConfiguration - # Copyright (c) 2021 PAL Robotics S.L. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -48,6 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. +import os +from os import environ, pathsep + +from ament_index_python.packages import get_package_share_directory, get_package_prefix + +from launch import LaunchDescription +from launch.actions import IncludeLaunchDescription, SetEnvironmentVariable, DeclareLaunchArgument +from launch.launch_description_sources import PythonLaunchDescriptionSource +from launch.substitutions import LaunchConfiguration + from launch_pal.include_utils import include_launch_py_description From 782e86ace28f2fe6b875b27b6829b6c9977bb181 Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Tue, 20 Jul 2021 07:37:52 +0000 Subject: [PATCH 08/20] Add ament and apply corrections --- pmb2_2dnav_gazebo/CMakeLists.txt | 8 ++++++- pmb2_2dnav_gazebo/package.xml | 3 +++ pmb2_gazebo/CMakeLists.txt | 6 +++++ pmb2_gazebo/launch/pmb2_spawn.launch.py | 32 ++++++++----------------- pmb2_gazebo/package.xml | 3 +++ pmb2_simulation/CMakeLists.txt | 7 ++++++ pmb2_simulation/package.xml | 2 ++ 7 files changed, 38 insertions(+), 23 deletions(-) diff --git a/pmb2_2dnav_gazebo/CMakeLists.txt b/pmb2_2dnav_gazebo/CMakeLists.txt index 0d45c68..b190915 100644 --- a/pmb2_2dnav_gazebo/CMakeLists.txt +++ b/pmb2_2dnav_gazebo/CMakeLists.txt @@ -6,5 +6,11 @@ find_package(ament_cmake_auto REQUIRED) # PAL Robotics stricter build flags, other developers should not worry about this find_package(ament_cmake_pal QUIET) -# Media commented out + +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + + ament_lint_auto_find_test_dependencies() +endif() + ament_auto_package(INSTALL_TO_SHARE launch) diff --git a/pmb2_2dnav_gazebo/package.xml b/pmb2_2dnav_gazebo/package.xml index 5f1f59f..74ab86f 100644 --- a/pmb2_2dnav_gazebo/package.xml +++ b/pmb2_2dnav_gazebo/package.xml @@ -13,6 +13,9 @@ pmb2_gazebo pmb2_2dnav + + ament_lint_auto + ament_lint_common ament_cmake diff --git a/pmb2_gazebo/CMakeLists.txt b/pmb2_gazebo/CMakeLists.txt index b8d6918..990c493 100644 --- a/pmb2_gazebo/CMakeLists.txt +++ b/pmb2_gazebo/CMakeLists.txt @@ -6,5 +6,11 @@ find_package(ament_cmake_auto REQUIRED) # PAL Robotics stricter build flags, other developers should not worry about this find_package(ament_cmake_pal QUIET) +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + + ament_lint_auto_find_test_dependencies() +endif() + # Media commented out ament_auto_package(INSTALL_TO_SHARE launch models worlds) diff --git a/pmb2_gazebo/launch/pmb2_spawn.launch.py b/pmb2_gazebo/launch/pmb2_spawn.launch.py index 077bfd3..313daf3 100644 --- a/pmb2_gazebo/launch/pmb2_spawn.launch.py +++ b/pmb2_gazebo/launch/pmb2_spawn.launch.py @@ -1,28 +1,16 @@ -# Copyright (c) 2020 PAL Robotics S.L. All rights reserved. +# Copyright (c) 2021 PAL Robotics S.L. # -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: +# 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 # -# 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. +# http://www.apache.org/licenses/LICENSE-2.0 # -# 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. +# 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 os from os import environ, pathsep diff --git a/pmb2_gazebo/package.xml b/pmb2_gazebo/package.xml index 07a8317..99e220b 100644 --- a/pmb2_gazebo/package.xml +++ b/pmb2_gazebo/package.xml @@ -21,6 +21,9 @@ + + ament_lint_auto + ament_lint_common ament_cmake diff --git a/pmb2_simulation/CMakeLists.txt b/pmb2_simulation/CMakeLists.txt index bebdb02..13c5cb9 100644 --- a/pmb2_simulation/CMakeLists.txt +++ b/pmb2_simulation/CMakeLists.txt @@ -1,4 +1,11 @@ cmake_minimum_required(VERSION 3.5) project(pmb2_simulation) find_package(ament_cmake REQUIRED) + +if(BUILD_TESTING) + find_package(ament_lint_auto REQUIRED) + + ament_lint_auto_find_test_dependencies() +endif() + ament_package() diff --git a/pmb2_simulation/package.xml b/pmb2_simulation/package.xml index 4d5038c..0b25df5 100644 --- a/pmb2_simulation/package.xml +++ b/pmb2_simulation/package.xml @@ -15,6 +15,8 @@ pmb2_2dnav_gazebo + ament_lint_auto   + ament_lint_common ament_cmake From 467c3c27dbed77d1eb3e48886e9902500f5cb82f Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Tue, 20 Jul 2021 07:40:45 +0000 Subject: [PATCH 09/20] Correct python launch file --- pmb2_gazebo/launch/pmb2_spawn.launch.py | 30 +++++++++++-------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/pmb2_gazebo/launch/pmb2_spawn.launch.py b/pmb2_gazebo/launch/pmb2_spawn.launch.py index 313daf3..3cbc270 100644 --- a/pmb2_gazebo/launch/pmb2_spawn.launch.py +++ b/pmb2_gazebo/launch/pmb2_spawn.launch.py @@ -12,45 +12,41 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os -from os import environ, pathsep - -from ament_index_python.packages import get_package_share_directory, get_package_prefix from launch import LaunchDescription -from launch.actions import IncludeLaunchDescription, SetEnvironmentVariable, DeclareLaunchArgument -from launch.launch_description_sources import PythonLaunchDescriptionSource +from launch.actions import DeclareLaunchArgument from launch.substitutions import LaunchConfiguration from launch_ros.actions import Node from launch_pal.include_utils import include_launch_py_description -import xacro - def generate_launch_description(): -# This format doesn't work because because we have to expand gzpose into different args for spawn_entity.py -# declare_gz_pose = DeclareLaunchArgument( -# 'gzpose', default_value='-x 0 -y 0 -z 0.0 -R 0.0 -P 0.0 -Y 0.0 ', -# description='Spawn gazebo position as provided to spawn_entity.py' -# ) + # This format doesn't work because because we have to expand gzpose into + # different args for spawn_entity.py + # declare_gz_pose = DeclareLaunchArgument( + # 'gzpose', default_value='-x 0 -y 0 -z 0.0 -R 0.0 -P 0.0 -Y 0.0 ', + # description='Spawn gazebo position as provided to spawn_entity.py' + # ) declare_model_name = DeclareLaunchArgument( 'model_name', default_value='pmb2', description='Gazebo model name' ) pmb2_state_publisher = include_launch_py_description('pmb2_description', - ['launch', 'robot_state_publisher.launch.py']) + ['launch', + 'robot_state_publisher.launch.py']) spawn_entity = Node(package='gazebo_ros', executable='spawn_entity.py', arguments=['-topic', 'robot_description', - '-entity', LaunchConfiguration('model_name'), - # LaunchConfiguration('gzpose'), + '-entity', LaunchConfiguration( + 'model_name'), + # LaunchConfiguration('gzpose'), ], output='screen') return LaunchDescription([ -# declare_gz_pose, + # declare_gz_pose, declare_model_name, pmb2_state_publisher, spawn_entity, From 83a99c352eb29ab6b814e36920f4ba9687958e47 Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Tue, 20 Jul 2021 07:41:08 +0000 Subject: [PATCH 10/20] Cleanup old launch files --- pmb2_gazebo/launch/pmb2_gazebo.launch | 58 --------------------------- pmb2_gazebo/launch/pmb2_spawn.launch | 25 ------------ 2 files changed, 83 deletions(-) delete mode 100644 pmb2_gazebo/launch/pmb2_gazebo.launch delete mode 100644 pmb2_gazebo/launch/pmb2_spawn.launch diff --git a/pmb2_gazebo/launch/pmb2_gazebo.launch b/pmb2_gazebo/launch/pmb2_gazebo.launch deleted file mode 100644 index ffd0056..0000000 --- a/pmb2_gazebo/launch/pmb2_gazebo.launch +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pmb2_gazebo/launch/pmb2_spawn.launch b/pmb2_gazebo/launch/pmb2_spawn.launch deleted file mode 100644 index 2d27774..0000000 --- a/pmb2_gazebo/launch/pmb2_spawn.launch +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - "pmb2" - - - - - - - - - - - - - - - - From 24156678a1e4929ef6ff1f45bc00b5b4ee50f87a Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Tue, 20 Jul 2021 09:42:09 +0200 Subject: [PATCH 11/20] Updated Changelog --- pmb2_2dnav_gazebo/CHANGELOG.rst | 7 +++++++ pmb2_gazebo/CHANGELOG.rst | 11 +++++++++++ pmb2_simulation/CHANGELOG.rst | 8 ++++++++ 3 files changed, 26 insertions(+) diff --git a/pmb2_2dnav_gazebo/CHANGELOG.rst b/pmb2_2dnav_gazebo/CHANGELOG.rst index 70633ee..765281e 100644 --- a/pmb2_2dnav_gazebo/CHANGELOG.rst +++ b/pmb2_2dnav_gazebo/CHANGELOG.rst @@ -2,6 +2,13 @@ Changelog for package pmb2_2dnav_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Add ament and apply corrections +* Migrate pmb2_2dnav_gazebo to ROS2 +* First gazebo launch with ROS2 +* Contributors: Victor Lopez + 2.0.24 (2021-01-13) ------------------- * Merge branch 'mapping-rgbd' into 'erbium-devel' diff --git a/pmb2_gazebo/CHANGELOG.rst b/pmb2_gazebo/CHANGELOG.rst index 8746e62..e8fa492 100644 --- a/pmb2_gazebo/CHANGELOG.rst +++ b/pmb2_gazebo/CHANGELOG.rst @@ -2,6 +2,17 @@ Changelog for package pmb2_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Cleanup old launch files +* Correct python launch file +* Add ament and apply corrections +* Cleanup +* Cleanup pmb2_gazebo spawn +* Path fixes for gazebo +* First gazebo launch with ROS2 +* Contributors: Victor Lopez + 2.0.24 (2021-01-13) ------------------- diff --git a/pmb2_simulation/CHANGELOG.rst b/pmb2_simulation/CHANGELOG.rst index 081047b..d9a5f6a 100644 --- a/pmb2_simulation/CHANGELOG.rst +++ b/pmb2_simulation/CHANGELOG.rst @@ -2,6 +2,14 @@ Changelog for package pmb2_simulation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Add ament and apply corrections +* Remove pmb2_controller_configuration_gazebo, use default one for gazebo + For now we can use the default one +* First gazebo launch with ROS2 +* Contributors: Victor Lopez + 2.0.24 (2021-01-13) ------------------- From 7a1a8702b39279785156f6e30e4be75b49d8f9c2 Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Tue, 20 Jul 2021 09:42:11 +0200 Subject: [PATCH 12/20] 3.0.0 --- pmb2_2dnav_gazebo/CHANGELOG.rst | 4 ++-- pmb2_2dnav_gazebo/package.xml | 2 +- pmb2_gazebo/CHANGELOG.rst | 4 ++-- pmb2_gazebo/package.xml | 2 +- pmb2_simulation/CHANGELOG.rst | 4 ++-- pmb2_simulation/package.xml | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pmb2_2dnav_gazebo/CHANGELOG.rst b/pmb2_2dnav_gazebo/CHANGELOG.rst index 765281e..c5bc481 100644 --- a/pmb2_2dnav_gazebo/CHANGELOG.rst +++ b/pmb2_2dnav_gazebo/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package pmb2_2dnav_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +3.0.0 (2021-07-20) +------------------ * Add ament and apply corrections * Migrate pmb2_2dnav_gazebo to ROS2 * First gazebo launch with ROS2 diff --git a/pmb2_2dnav_gazebo/package.xml b/pmb2_2dnav_gazebo/package.xml index 74ab86f..0b93197 100644 --- a/pmb2_2dnav_gazebo/package.xml +++ b/pmb2_2dnav_gazebo/package.xml @@ -1,7 +1,7 @@ pmb2_2dnav_gazebo - 2.0.24 + 3.0.0 PMB2-specific launch files needed to run navigation on the PMB2 robot. PAL Robotics diff --git a/pmb2_gazebo/CHANGELOG.rst b/pmb2_gazebo/CHANGELOG.rst index e8fa492..3389cd8 100644 --- a/pmb2_gazebo/CHANGELOG.rst +++ b/pmb2_gazebo/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package pmb2_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +3.0.0 (2021-07-20) +------------------ * Cleanup old launch files * Correct python launch file * Add ament and apply corrections diff --git a/pmb2_gazebo/package.xml b/pmb2_gazebo/package.xml index 99e220b..c46b70c 100644 --- a/pmb2_gazebo/package.xml +++ b/pmb2_gazebo/package.xml @@ -1,7 +1,7 @@ pmb2_gazebo - 2.0.24 + 3.0.0 Simulation files for the PMB2 robot. PAL Robotics TIAGo support PAL Robotics diff --git a/pmb2_simulation/CHANGELOG.rst b/pmb2_simulation/CHANGELOG.rst index d9a5f6a..71317b2 100644 --- a/pmb2_simulation/CHANGELOG.rst +++ b/pmb2_simulation/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package pmb2_simulation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +3.0.0 (2021-07-20) +------------------ * Add ament and apply corrections * Remove pmb2_controller_configuration_gazebo, use default one for gazebo For now we can use the default one diff --git a/pmb2_simulation/package.xml b/pmb2_simulation/package.xml index 0b25df5..6d2ff75 100644 --- a/pmb2_simulation/package.xml +++ b/pmb2_simulation/package.xml @@ -1,7 +1,7 @@ pmb2_simulation - 2.0.24 + 3.0.0 PMB2-specific simulation components. These include plugins and launch scripts necessary for running PMB2 in simulation. PAL Robotics From 5e6f4903171c492c1709ac2b41beabc368c5098a Mon Sep 17 00:00:00 2001 From: Noel Jimenez Garcia Date: Fri, 13 Aug 2021 09:05:09 +0200 Subject: [PATCH 13/20] default world --- pmb2_2dnav_gazebo/launch/pmb2_navigation_gazebo.launch.py | 6 ++---- pmb2_gazebo/launch/pmb2_gazebo.launch.py | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/pmb2_2dnav_gazebo/launch/pmb2_navigation_gazebo.launch.py b/pmb2_2dnav_gazebo/launch/pmb2_navigation_gazebo.launch.py index 6b9426f..1769c81 100644 --- a/pmb2_2dnav_gazebo/launch/pmb2_navigation_gazebo.launch.py +++ b/pmb2_2dnav_gazebo/launch/pmb2_navigation_gazebo.launch.py @@ -20,10 +20,8 @@ def generate_launch_description(): # Create the launch description and populate ld = LaunchDescription([ include_launch_py_description( - 'pmb2_gazebo', ['launch', 'pmb2_gazebo.launch.py'], - launch_arguments={ - 'world_name': 'pal_office', - }.items()), + 'pmb2_gazebo', ['launch', 'pmb2_gazebo.launch.py'] + ), include_launch_py_description( 'pmb2_2dnav', ['launch', 'pmb2_nav_bringup.launch.py'], launch_arguments={ diff --git a/pmb2_gazebo/launch/pmb2_gazebo.launch.py b/pmb2_gazebo/launch/pmb2_gazebo.launch.py index c0b4017..d4582a2 100644 --- a/pmb2_gazebo/launch/pmb2_gazebo.launch.py +++ b/pmb2_gazebo/launch/pmb2_gazebo.launch.py @@ -29,7 +29,7 @@ def generate_launch_description(): # This should be removed, it should be retrieved automatically from pal_gazebo.launch.py # See https://github.com/ros2/launch/issues/313 declare_world_name = DeclareLaunchArgument( - 'world_name', default_value='', + 'world_name', default_value='pal_office', description='Specify world name, we\'ll convert to full path' ) From 248d6529d4bc35a4523092ded528fdc0451f1de1 Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Fri, 13 Aug 2021 14:35:45 +0200 Subject: [PATCH 14/20] Add LICENSE and CONTRIBUTING --- CONTRIBUTING.md | 56 ++++++++++++ LICENSE | 230 ++++++------------------------------------------ 2 files changed, 85 insertions(+), 201 deletions(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..58132eb --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,56 @@ +# Contributing Guidelines +Thank you for your interest in contributing to this project +Whether it's a bug report, new feature, correction, or additional +documentation, we greatly value feedback and contributions from our community. + +Please read through this document before submitting any issues or pull requests to ensure we have all the necessary +information to effectively respond to your bug report or contribution. + + +## Reporting Bugs/Feature Requests +We welcome you to use the GitHub issue tracker to report bugs or suggest features. + +When filing an issue, please check existing open issues, or recently closed, issues to make sure + somebody else hasn't already reported the issue. +Please try to include as much information as you can. Details like these are incredibly useful: + +* A reproducible test case or series of steps +* The version of our code being used +* Any modifications you've made relevant to the bug +* Anything unusual about your environment or deployment + + +## Contributing via Pull Requests +Contributions via pull requests are much appreciated. +Before sending us a pull request, please ensure that: + +1. You are working against the latest source on the *master* branch. +2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already. +3. You open an issue to discuss any significant work - we would hate for your time to be wasted. + +To send us a pull request, please: + +1. Fork the repository. +2. Modify the source; please focus on the specific change you are contributing. + If you also reformat all the code, it will be hard for us to focus on your change. +3. Ensure local tests pass. (`colcon test`) +4. Commit to your fork using clear commit messages. +5. Send a pull request, answering any default questions in the pull request interface. +6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation. + +GitHub provides additional documentation on [forking a repository](https://help.github.com/articles/fork-a-repo/) and +[creating a pull request](https://help.github.com/articles/creating-a-pull-request/). + + +## Licensing +Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): + +~~~ +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. +~~~ diff --git a/LICENSE b/LICENSE index 339a484..cc36203 100644 --- a/LICENSE +++ b/LICENSE @@ -1,201 +1,29 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2021 Robots - - 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. +BSD 3-Clause License + +Copyright (c) 2021, PAL Robotics S.L. +All rights reserved. + +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. From b2ab06d141f1e4ca8f269a5959a95359fcb6547f Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Fri, 13 Aug 2021 14:35:53 +0200 Subject: [PATCH 15/20] Resolve missing dependency --- pmb2_2dnav_gazebo/package.xml | 5 +++-- pmb2_gazebo/package.xml | 3 ++- pmb2_multi/CMakeLists.txt | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pmb2_2dnav_gazebo/package.xml b/pmb2_2dnav_gazebo/package.xml index 0b93197..995bab0 100644 --- a/pmb2_2dnav_gazebo/package.xml +++ b/pmb2_2dnav_gazebo/package.xml @@ -4,19 +4,20 @@ 3.0.0 PMB2-specific launch files needed to run navigation on the PMB2 robot. + Victor Lopez PAL Robotics TIAGo support PAL Robotics Modified BSD Victor Lopez - ament_cmake + ament_cmake_auto pmb2_gazebo pmb2_2dnav ament_lint_auto ament_lint_common - + ament_cmake diff --git a/pmb2_gazebo/package.xml b/pmb2_gazebo/package.xml index c46b70c..419e768 100644 --- a/pmb2_gazebo/package.xml +++ b/pmb2_gazebo/package.xml @@ -3,12 +3,13 @@ pmb2_gazebo 3.0.0 Simulation files for the PMB2 robot. + Victor Lopez PAL Robotics TIAGo support PAL Robotics Modified BSD Victor Lopez - ament_cmake + ament_cmake_auto launch_pal pmb2_description diff --git a/pmb2_multi/CMakeLists.txt b/pmb2_multi/CMakeLists.txt index ca4bb7a..7073b6c 100644 --- a/pmb2_multi/CMakeLists.txt +++ b/pmb2_multi/CMakeLists.txt @@ -11,5 +11,5 @@ install( foreach(dir config launch) install(DIRECTORY ${dir}/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir}) -endforeach(dir) +endforeach() From c03c096233518e63e85de660eb6061b71bf81eae Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Fri, 13 Aug 2021 14:36:42 +0200 Subject: [PATCH 16/20] Updated Changelog --- pmb2_2dnav_gazebo/CHANGELOG.rst | 9 +++++++++ pmb2_gazebo/CHANGELOG.rst | 9 +++++++++ pmb2_simulation/CHANGELOG.rst | 3 +++ 3 files changed, 21 insertions(+) diff --git a/pmb2_2dnav_gazebo/CHANGELOG.rst b/pmb2_2dnav_gazebo/CHANGELOG.rst index c5bc481..674ba1d 100644 --- a/pmb2_2dnav_gazebo/CHANGELOG.rst +++ b/pmb2_2dnav_gazebo/CHANGELOG.rst @@ -2,6 +2,15 @@ Changelog for package pmb2_2dnav_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Resolve missing dependency +* Merge branch 'foxy_obstacle_avoidance' into 'foxy-devel' + default world + See merge request robots/pmb2_simulation!33 +* default world +* Contributors: Noel Jimenez Garcia, Victor Lopez, victor + 3.0.0 (2021-07-20) ------------------ * Add ament and apply corrections diff --git a/pmb2_gazebo/CHANGELOG.rst b/pmb2_gazebo/CHANGELOG.rst index 3389cd8..8afb9a7 100644 --- a/pmb2_gazebo/CHANGELOG.rst +++ b/pmb2_gazebo/CHANGELOG.rst @@ -2,6 +2,15 @@ Changelog for package pmb2_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Resolve missing dependency +* Merge branch 'foxy_obstacle_avoidance' into 'foxy-devel' + default world + See merge request robots/pmb2_simulation!33 +* default world +* Contributors: Noel Jimenez Garcia, Victor Lopez, victor + 3.0.0 (2021-07-20) ------------------ * Cleanup old launch files diff --git a/pmb2_simulation/CHANGELOG.rst b/pmb2_simulation/CHANGELOG.rst index 71317b2..29dcbeb 100644 --- a/pmb2_simulation/CHANGELOG.rst +++ b/pmb2_simulation/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package pmb2_simulation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- + 3.0.0 (2021-07-20) ------------------ * Add ament and apply corrections From a64aa979e39ce6a7cdebcd89c39713edf192ba2e Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Fri, 13 Aug 2021 14:36:43 +0200 Subject: [PATCH 17/20] 3.0.1 --- pmb2_2dnav_gazebo/CHANGELOG.rst | 4 ++-- pmb2_2dnav_gazebo/package.xml | 2 +- pmb2_gazebo/CHANGELOG.rst | 4 ++-- pmb2_gazebo/package.xml | 2 +- pmb2_simulation/CHANGELOG.rst | 4 ++-- pmb2_simulation/package.xml | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pmb2_2dnav_gazebo/CHANGELOG.rst b/pmb2_2dnav_gazebo/CHANGELOG.rst index 674ba1d..609b104 100644 --- a/pmb2_2dnav_gazebo/CHANGELOG.rst +++ b/pmb2_2dnav_gazebo/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package pmb2_2dnav_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +3.0.1 (2021-08-13) +------------------ * Resolve missing dependency * Merge branch 'foxy_obstacle_avoidance' into 'foxy-devel' default world diff --git a/pmb2_2dnav_gazebo/package.xml b/pmb2_2dnav_gazebo/package.xml index 995bab0..4284443 100644 --- a/pmb2_2dnav_gazebo/package.xml +++ b/pmb2_2dnav_gazebo/package.xml @@ -1,7 +1,7 @@ pmb2_2dnav_gazebo - 3.0.0 + 3.0.1 PMB2-specific launch files needed to run navigation on the PMB2 robot. Victor Lopez diff --git a/pmb2_gazebo/CHANGELOG.rst b/pmb2_gazebo/CHANGELOG.rst index 8afb9a7..d9221af 100644 --- a/pmb2_gazebo/CHANGELOG.rst +++ b/pmb2_gazebo/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package pmb2_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +3.0.1 (2021-08-13) +------------------ * Resolve missing dependency * Merge branch 'foxy_obstacle_avoidance' into 'foxy-devel' default world diff --git a/pmb2_gazebo/package.xml b/pmb2_gazebo/package.xml index 419e768..61d9b07 100644 --- a/pmb2_gazebo/package.xml +++ b/pmb2_gazebo/package.xml @@ -1,7 +1,7 @@ pmb2_gazebo - 3.0.0 + 3.0.1 Simulation files for the PMB2 robot. Victor Lopez PAL Robotics diff --git a/pmb2_simulation/CHANGELOG.rst b/pmb2_simulation/CHANGELOG.rst index 29dcbeb..3ad247c 100644 --- a/pmb2_simulation/CHANGELOG.rst +++ b/pmb2_simulation/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package pmb2_simulation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +3.0.1 (2021-08-13) +------------------ 3.0.0 (2021-07-20) ------------------ diff --git a/pmb2_simulation/package.xml b/pmb2_simulation/package.xml index 6d2ff75..a0eba78 100644 --- a/pmb2_simulation/package.xml +++ b/pmb2_simulation/package.xml @@ -1,7 +1,7 @@ pmb2_simulation - 3.0.0 + 3.0.1 PMB2-specific simulation components. These include plugins and launch scripts necessary for running PMB2 in simulation. PAL Robotics From d8fa809424e06c6827125cf21b6f4a626aac6920 Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Thu, 23 Sep 2021 07:36:52 +0000 Subject: [PATCH 18/20] Add gazebo_ros2_control dependency --- pmb2_gazebo/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pmb2_gazebo/package.xml b/pmb2_gazebo/package.xml index 61d9b07..eb48ade 100644 --- a/pmb2_gazebo/package.xml +++ b/pmb2_gazebo/package.xml @@ -16,6 +16,7 @@ pmb2_bringup gazebo_ros gazebo_plugins + gazebo_ros2_control pal_gazebo_worlds pmb2_controller_configuration From bd55c767f0430bc52c08e1c7e2b8576a982eae2f Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Tue, 19 Oct 2021 13:39:17 +0200 Subject: [PATCH 19/20] Updated Changelog --- pmb2_2dnav_gazebo/CHANGELOG.rst | 3 +++ pmb2_gazebo/CHANGELOG.rst | 5 +++++ pmb2_simulation/CHANGELOG.rst | 3 +++ 3 files changed, 11 insertions(+) diff --git a/pmb2_2dnav_gazebo/CHANGELOG.rst b/pmb2_2dnav_gazebo/CHANGELOG.rst index 609b104..a9a8560 100644 --- a/pmb2_2dnav_gazebo/CHANGELOG.rst +++ b/pmb2_2dnav_gazebo/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package pmb2_2dnav_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- + 3.0.1 (2021-08-13) ------------------ * Resolve missing dependency diff --git a/pmb2_gazebo/CHANGELOG.rst b/pmb2_gazebo/CHANGELOG.rst index d9221af..606912c 100644 --- a/pmb2_gazebo/CHANGELOG.rst +++ b/pmb2_gazebo/CHANGELOG.rst @@ -2,6 +2,11 @@ Changelog for package pmb2_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- +* Add gazebo_ros2_control dependency +* Contributors: Victor Lopez + 3.0.1 (2021-08-13) ------------------ * Resolve missing dependency diff --git a/pmb2_simulation/CHANGELOG.rst b/pmb2_simulation/CHANGELOG.rst index 3ad247c..cac4919 100644 --- a/pmb2_simulation/CHANGELOG.rst +++ b/pmb2_simulation/CHANGELOG.rst @@ -2,6 +2,9 @@ Changelog for package pmb2_simulation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Forthcoming +----------- + 3.0.1 (2021-08-13) ------------------ From f20b1b8f933b41be24cb0e5161d1daaa8a37da1d Mon Sep 17 00:00:00 2001 From: Victor Lopez Date: Tue, 19 Oct 2021 13:39:19 +0200 Subject: [PATCH 20/20] 3.0.2 --- pmb2_2dnav_gazebo/CHANGELOG.rst | 4 ++-- pmb2_2dnav_gazebo/package.xml | 2 +- pmb2_gazebo/CHANGELOG.rst | 4 ++-- pmb2_gazebo/package.xml | 2 +- pmb2_simulation/CHANGELOG.rst | 4 ++-- pmb2_simulation/package.xml | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pmb2_2dnav_gazebo/CHANGELOG.rst b/pmb2_2dnav_gazebo/CHANGELOG.rst index a9a8560..e07c10d 100644 --- a/pmb2_2dnav_gazebo/CHANGELOG.rst +++ b/pmb2_2dnav_gazebo/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package pmb2_2dnav_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +3.0.2 (2021-10-19) +------------------ 3.0.1 (2021-08-13) ------------------ diff --git a/pmb2_2dnav_gazebo/package.xml b/pmb2_2dnav_gazebo/package.xml index 4284443..dfef615 100644 --- a/pmb2_2dnav_gazebo/package.xml +++ b/pmb2_2dnav_gazebo/package.xml @@ -1,7 +1,7 @@ pmb2_2dnav_gazebo - 3.0.1 + 3.0.2 PMB2-specific launch files needed to run navigation on the PMB2 robot. Victor Lopez diff --git a/pmb2_gazebo/CHANGELOG.rst b/pmb2_gazebo/CHANGELOG.rst index 606912c..7b6d3f1 100644 --- a/pmb2_gazebo/CHANGELOG.rst +++ b/pmb2_gazebo/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package pmb2_gazebo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +3.0.2 (2021-10-19) +------------------ * Add gazebo_ros2_control dependency * Contributors: Victor Lopez diff --git a/pmb2_gazebo/package.xml b/pmb2_gazebo/package.xml index eb48ade..09925ed 100644 --- a/pmb2_gazebo/package.xml +++ b/pmb2_gazebo/package.xml @@ -1,7 +1,7 @@ pmb2_gazebo - 3.0.1 + 3.0.2 Simulation files for the PMB2 robot. Victor Lopez PAL Robotics diff --git a/pmb2_simulation/CHANGELOG.rst b/pmb2_simulation/CHANGELOG.rst index cac4919..e27344d 100644 --- a/pmb2_simulation/CHANGELOG.rst +++ b/pmb2_simulation/CHANGELOG.rst @@ -2,8 +2,8 @@ Changelog for package pmb2_simulation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Forthcoming ------------ +3.0.2 (2021-10-19) +------------------ 3.0.1 (2021-08-13) ------------------ diff --git a/pmb2_simulation/package.xml b/pmb2_simulation/package.xml index a0eba78..13a66a1 100644 --- a/pmb2_simulation/package.xml +++ b/pmb2_simulation/package.xml @@ -1,7 +1,7 @@ pmb2_simulation - 3.0.1 + 3.0.2 PMB2-specific simulation components. These include plugins and launch scripts necessary for running PMB2 in simulation. PAL Robotics