From 7d49d33cfcd0d281e6757596961a198110b6277b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9C=A0=EC=B0=BD=ED=9B=88?= Date: Tue, 28 Jul 2026 10:35:36 +0900 Subject: [PATCH] feat: add lms-nav2-gazebo-map module --- .gitignore | 5 + build.sh | 6 + run.sh | 8 + src/map_pkg/config/map_2d.yaml | 15 ++ src/map_pkg/config/map_3d_fr09.yaml | 97 +++++++++++ src/map_pkg/config/map_3d_mkmini.yaml | 96 +++++++++++ .../__pycache__/map.launch.cpython-313.pyc | Bin 0 -> 4157 bytes src/map_pkg/launch/gazebo_map.launch.py | 45 ++++++ src/map_pkg/launch/map.launch.py | 153 ++++++++++++++++++ src/map_pkg/map/2d/hallway.pgm | Bin 0 -> 201939 bytes src/map_pkg/map/2d/hallway.yaml | 7 + src/map_pkg/map/2d/map.pgm | Bin 0 -> 1098102 bytes src/map_pkg/map/2d/map.yaml | 7 + src/map_pkg/map/2d/office.pgm | Bin 0 -> 104328 bytes src/map_pkg/map/2d/office.yaml | 7 + src/map_pkg/map/2d/parkinglot.pgm | Bin 0 -> 1098102 bytes src/map_pkg/map/2d/parkinglot.yaml | 7 + src/map_pkg/map/2d/temp.pgm | 4 + src/map_pkg/map/2d/temp.yaml | 7 + src/map_pkg/map/gazebo/turtlebot3_world.pgm | 5 + src/map_pkg/map/gazebo/turtlebot3_world.yaml | 6 + src/map_pkg/map_pkg/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 168 bytes .../pub_map_config.cpython-310.pyc | Bin 0 -> 1567 bytes src/map_pkg/map_pkg/pub_map_config.py | 47 ++++++ src/map_pkg/map_pkg/test.py | 6 + src/map_pkg/package.xml | 18 +++ src/map_pkg/resource/map_pkg | 0 src/map_pkg/setup.cfg | 4 + src/map_pkg/setup.py | 40 +++++ src/map_pkg/test/test_copyright.py | 25 +++ src/map_pkg/test/test_flake8.py | 25 +++ src/map_pkg/test/test_pep257.py | 23 +++ 33 files changed, 663 insertions(+) create mode 100644 .gitignore create mode 100755 build.sh create mode 100755 run.sh create mode 100755 src/map_pkg/config/map_2d.yaml create mode 100755 src/map_pkg/config/map_3d_fr09.yaml create mode 100755 src/map_pkg/config/map_3d_mkmini.yaml create mode 100755 src/map_pkg/launch/__pycache__/map.launch.cpython-313.pyc create mode 100644 src/map_pkg/launch/gazebo_map.launch.py create mode 100755 src/map_pkg/launch/map.launch.py create mode 100755 src/map_pkg/map/2d/hallway.pgm create mode 100755 src/map_pkg/map/2d/hallway.yaml create mode 100755 src/map_pkg/map/2d/map.pgm create mode 100755 src/map_pkg/map/2d/map.yaml create mode 100755 src/map_pkg/map/2d/office.pgm create mode 100755 src/map_pkg/map/2d/office.yaml create mode 100755 src/map_pkg/map/2d/parkinglot.pgm create mode 100755 src/map_pkg/map/2d/parkinglot.yaml create mode 100755 src/map_pkg/map/2d/temp.pgm create mode 100755 src/map_pkg/map/2d/temp.yaml create mode 100644 src/map_pkg/map/gazebo/turtlebot3_world.pgm create mode 100644 src/map_pkg/map/gazebo/turtlebot3_world.yaml create mode 100755 src/map_pkg/map_pkg/__init__.py create mode 100755 src/map_pkg/map_pkg/__pycache__/__init__.cpython-310.pyc create mode 100755 src/map_pkg/map_pkg/__pycache__/pub_map_config.cpython-310.pyc create mode 100755 src/map_pkg/map_pkg/pub_map_config.py create mode 100755 src/map_pkg/map_pkg/test.py create mode 100755 src/map_pkg/package.xml create mode 100755 src/map_pkg/resource/map_pkg create mode 100755 src/map_pkg/setup.cfg create mode 100755 src/map_pkg/setup.py create mode 100755 src/map_pkg/test/test_copyright.py create mode 100755 src/map_pkg/test/test_flake8.py create mode 100755 src/map_pkg/test/test_pep257.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..76b3365 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +build/ +install/ +log/ +.colcon/ +*.log diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..0c1c5bc --- /dev/null +++ b/build.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -euo pipefail + +MODULE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +RUNTIME_ROOT="${AUTONOMY_STUDIO_RUNTIME_ROOT:-$HOME/autonomy-studio/runtime/nav2}" +exec bash "$RUNTIME_ROOT/docker/docker_build_nav2.sh" "$(dirname "$MODULE_PATH")" "$(basename "$MODULE_PATH")" "${NAV2_DOCKER_IMAGE:-future-nav2-gazebo:humble}" "${ROS_DOMAIN_ID:-0}" diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..656b11d --- /dev/null +++ b/run.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail + +MODULE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +RUNTIME_ROOT="${AUTONOMY_STUDIO_RUNTIME_ROOT:-$HOME/autonomy-studio/runtime/nav2}" +FOLDER_NAME="$(basename "$MODULE_PATH")" +CONTAINER_NAME="${FOLDER_NAME#\[}"; CONTAINER_NAME="${CONTAINER_NAME/\]/-}" +exec bash "$RUNTIME_ROOT/docker/docker_run_nav2.sh" "$CONTAINER_NAME" "$(dirname "$MODULE_PATH")" "$FOLDER_NAME" "${NAV2_DOCKER_IMAGE:-future-nav2-gazebo:humble}" "${ROS_DOMAIN_ID:-0}" "$@" diff --git a/src/map_pkg/config/map_2d.yaml b/src/map_pkg/config/map_2d.yaml new file mode 100755 index 0000000..3f4ea00 --- /dev/null +++ b/src/map_pkg/config/map_2d.yaml @@ -0,0 +1,15 @@ +# File: map.yaml +# Description: Map server parameters + +map_server: + ros__parameters: + use_sim_time: True + yaml_filename: "" # overridden at launch time via map_yaml arg + +map_saver: + ros__parameters: + use_sim_time: True + map_subscribe_transient_local: True + save_map_timeout: 5.0 + free_thresh_default: 0.25 + occupied_thresh_default: 0.65 \ No newline at end of file diff --git a/src/map_pkg/config/map_3d_fr09.yaml b/src/map_pkg/config/map_3d_fr09.yaml new file mode 100755 index 0000000..4b661ff --- /dev/null +++ b/src/map_pkg/config/map_3d_fr09.yaml @@ -0,0 +1,97 @@ +icp_odometry: + ros__parameters: + odom_frame_id: icp_odom + guess_frame_id: odom + OdomF2M/ScanSubtractRadius: '0.0' + OdomF2M/ScanMaxSize: '10000' + + + frame_id: base_link + wait_for_transform: 5.0 + + approx_sync: true + topic_queue_size: 30 + sync_queue_size: 30 + + Reg/Strategy: "1" + Reg/Force3DoF: "true" + Mem/NotLinkedNodesKept: "false" + + Icp/VoxelSize: "0.03" + Icp/MaxCorrespondenceDistance: "0.2" + Icp/PointToPlaneGroundNormalsUp: "0.9" + Icp/RangeMin: "0.0" + Icp/MaxTranslation: "1.0" + Icp/MaxRotation: "0.5" # 한 번� odometry 업��트 최대 회전 제한. �면 오정합 발�. 작으면 계산량 �가. default: 0.78rad + + Icp/PointToPlaneMinComplexity: "0.03" + Icp/PointToPlaneLowComplexityStrategy: "1" + Icp/OutlierRatio: "0.6" + Icp/Force4DoF: "true" + Icp/CorrespondenceRatio: "0.02" + Icp/GuessFromTf: "true" + + Odom/GuessMotion: "false" + +rtabmap: + ros__parameters: + subscribe_rgb: false + subscribe_depth: false + subscribe_scan_cloud: true + use_action_for_goal: true + odom_sensor_sync: true + + approx_sync: true + topic_queue_size: 30 + sync_queue_size: 30 + + Mem/NotLinkedNodesKept: "false" + Grid/RangeMin: "0.0" + Grid/NormalsSegmentation: "false" + Grid/MaxGroundHeight: "-0.8" + Grid/MinGroundHeight: "-1.3" + Grid/MaxObstacleHeight: "1.0" + Grid/RayTracing: "false" + Grid/3D: "false" + Grid/Sensor: "0" + RGBD/OptimizeMaxError: "0.5" + + RGBD/LinearUpdate: "0.05" + RGBD/AngularUpdate: "0.05" + RGBD/ProximityPathMaxNeighbors: "1" + Grid/RangeMax: "25.0" + Mem/LaserScanVoxelSize: "0.01" + Odom/FilteringStrategy: "1" + Odom/ScanKeyFrameThr: "0.9" + Odom/GuessMotion: "false" + + Grid/CellSize: "0.2" + Grid/MinClusterSize: "10" + Grid/FlatObstacleDetected: "false" + + RGBD/StartAtOrigin: "true" + RGBD/LocalizationPriorError: "2.0" + RGBD/LocalizationSmoothing: "false" + Icp/GuessFromTf: "true" + + + frame_id: base_link + wait_for_transform: 5.0 + + Reg/Strategy: "1" + Reg/Force3DoF: "true" + + Icp/VoxelSize: "0.03" + Icp/MaxCorrespondenceDistance: "0.2" + Icp/PointToPlaneGroundNormalsUp: "0.9" + Icp/RangeMin: "0.0" + Icp/MaxTranslation: "1.0" + Icp/MaxRotation: "0.78" + + Icp/PointToPlaneMinComplexity: "0.03" + Icp/PointToPlaneLowComplexityStrategy: "1" + Icp/OutlierRatio: "0.6" + Icp/Force4DoF: "true" + Icp/CorrespondenceRatio: "0.2" + + Odom/GuessMotion: "false" \ No newline at end of file diff --git a/src/map_pkg/config/map_3d_mkmini.yaml b/src/map_pkg/config/map_3d_mkmini.yaml new file mode 100755 index 0000000..910b31b --- /dev/null +++ b/src/map_pkg/config/map_3d_mkmini.yaml @@ -0,0 +1,96 @@ +icp_odometry: + ros__parameters: + odom_frame_id: icp_odom + guess_frame_id: odom + OdomF2M/ScanSubtractRadius: '0.0' + OdomF2M/ScanMaxSize: '10000' + + + frame_id: base_link + wait_for_transform: 2.0 + + approx_sync: true + topic_queue_size: 30 + sync_queue_size: 30 + + Reg/Strategy: "1" + Reg/Force3DoF: "true" + Mem/NotLinkedNodesKept: "false" + + Icp/VoxelSize: "0.03" + Icp/MaxCorrespondenceDistance: "0.2" + Icp/PointToPlaneGroundNormalsUp: "0.9" + Icp/RangeMin: "0.0" + Icp/MaxTranslation: "1.0" + Icp/MaxRotation: "0.78" + + Icp/PointToPlaneMinComplexity: "0.03" + Icp/PointToPlaneLowComplexityStrategy: "1" + Icp/OutlierRatio: "0.6" + Icp/Force4DoF: "true" + Icp/CorrespondenceRatio: "0.02" + Icp/GuessFromTf: "false" + + Odom/GuessMotion: "false" + +rtabmap: + ros__parameters: + subscribe_rgb: false + subscribe_depth: false + subscribe_scan_cloud: true + use_action_for_goal: true + odom_sensor_sync: true + + approx_sync: true + topic_queue_size: 30 + sync_queue_size: 30 + + Mem/NotLinkedNodesKept: "false" + Grid/RangeMin: "0.0" + Grid/NormalsSegmentation: "false" + Grid/MaxGroundHeight: "0.1" + Grid/MinGroundHeight: "-0.2" + Grid/MaxObstacleHeight: "1.0" + Grid/RayTracing: "false" + Grid/3D: "false" + RGBD/OptimizeMaxError: "0.5" + + RGBD/LinearUpdate: "0.05" + RGBD/AngularUpdate: "0.05" + RGBD/ProximityPathMaxNeighbors: "1" + Grid/RangeMax: "10.0" + Mem/LaserScanVoxelSize: "0.01" + Odom/FilteringStrategy: "1" + Odom/ScanKeyFrameThr: "0.9" + Odom/GuessMotion: "false" + + Grid/CellSize: "0.2" + Grid/MinClusterSize: "10" + Grid/FlatObstacleDetected: "true" + + RGBD/StartAtOrigin: "true" + RGBD/LocalizationPriorError: "5.0" + RGBD/LocalizationSmoothing: "false" + Icp/GuessFromTf: "false" + + + frame_id: base_link + wait_for_transform: 2.0 + + Reg/Strategy: "1" + Reg/Force3DoF: "true" + + Icp/VoxelSize: "0.03" + Icp/MaxCorrespondenceDistance: "0.2" + Icp/PointToPlaneGroundNormalsUp: "0.9" + Icp/RangeMin: "0.0" + Icp/MaxTranslation: "1.0" + Icp/MaxRotation: "0.78" + + Icp/PointToPlaneMinComplexity: "0.03" + Icp/PointToPlaneLowComplexityStrategy: "1" + Icp/OutlierRatio: "0.6" + Icp/Force4DoF: "true" + Icp/CorrespondenceRatio: "0.02" + + Odom/GuessMotion: "false" \ No newline at end of file diff --git a/src/map_pkg/launch/__pycache__/map.launch.cpython-313.pyc b/src/map_pkg/launch/__pycache__/map.launch.cpython-313.pyc new file mode 100755 index 0000000000000000000000000000000000000000..f3467704d2c2e6be3f1f10739c941cc5a3df5811 GIT binary patch literal 4157 zcmcgvO>7&-6`m!R%YRYS5A|a?TFFu+Ix<(5Ewpmuq-rEPrYzglnoUwBU{|{_3e^b|Cau+GsvPgW352n0JwkWNr>&|IJ|z z+JU)1K8S-N?F-KF`4A4}1uW#lIL!L^xkx^Wqxl$)v33aBaU5s7Fqg7UJDH(IW8yUq@0ifa?4au;&7*&>P0vsw*u{w(?GkI zxoq3tsp@C497&&6TvJ_{(QOqQRmZT*Y>;%$=xSNPx<59Jm)(kPIwXD)TW)n)rBbBj zY*qQLtDk_`Y*v7@`{FNJ=901OVuguyoKu{Yyk(fOyJ$Ox<1%56w4S@{tXSsk8&#~^ zHrsZh)VZ(8B^Hrr%u60VL za&e+`$(C%rtgDW$l`2Y=gs`<}IfP%r<5NVaT&NhPkqwZfrY|XO*(qIA%C1hr>WXEk zV1mYhvR4FX5dJ$FM^Cp1)PIVBCbzK5HG2>mL`A;YT4;Jmvjg4>(LId@TVy^)8!|W9 zSaY(mU-NDLzcdK^R}HuV8f|E-ghAI}0m*y_dX5H$P=R}DEL7m0j1`lOX-F2HU~NHi z_(-scPv^1`mmWa#{N|Oa_>Z6e?$J-LiJL#Vz4`lV$HarV%W&4>Uw-h8I59H@O>L1i zj?Co5&G*(e-@3VZ<;LcXw?roPya>aikFH)9AN}~YxcTcVo4;57&SqOu5Ocv zw&-&LKGh4$hsS*uY`~%ks}f~lL@KjXL7O?B%~dax zOi6>NRGm^;zo?f>im9=^un1f2hrj(ZAgkzMy6Xo2o9KJd+kb$1?(s;+X9k>&|6~2?Wm3VOI_}z=^;)(Ul$@SDrt1o>NPJ5~L zx4(6hyZU-PHCT@feiTm8o>#6bSBv$OSdWMsv5Xh%e;|(6`wwrSz{COvG%9mDK|U^Q zAwDGRfJR8&jb~`28vmUku+ZLEhj?trEzn%>Z%+X=N6lc71_FB~8*dlZs?HW6Qv62_ z6nOCYU?J3kj_}QyA}a7Qf9w^6lx2viki?lnaW_X4MZU^OO+PN5@yvAf!&Xkoxm?w4sH6#{ zT(&NiY+8?P5O)`8r7ZahK;BWYuA3ypG|z@exat>T64T$%Ro77#%R1rd)RMLC>a$nMs1&@D!8mjD>}9$=q@c`%XIufkW5iY z70_a(WSC1f{u(9Bs!2@&K?NL)mY1x6$LY{v zN+u{dLdj7eBnAdks#U{WwzF|evl{q@j+ZQ4Vac9^s@O0coS-vk!N>Flg=qrAG&f>; z$-y+UWn*yT0)YA(a5GczvQ2~wm*|^?6qZ1QM5ykxe38@>ub{_nleF)uP`Wfw8l2rG zv9hITB{qyt!E~GMCGI}BpDvm3ix$M5<5sZ@U1L<#g9N{dHWK|e!|RFBKPATRC&t&h z))P~!vkx<4>zUk}XIE!8_-GxvJJ-T%?%h}J=IgPO5BQfp2`Ap>zyCdN-^lgcmDIz& z>_(zzqi=kpW9a6q>mAZs_ub=L!N5e@4hrmV--@8&XT9M=+o7P?295p$+v#YsWvc`A zKC|7G*dMD$dLH+o%)rCe4zF+6>zBNqtheugH!%ACaGjO2?YNL`d)$K3onGG|um4%E zXP63zhwJ?ld&iD?{S#i#IE;NVI_3>$y)R8}hxvgFR6nt6J0457ZT0tdwrmIcGO;VM zt#1cVvg^uob-wGd&Y}GWpGM(z^ie>|@4IX2-N}2S_2Ieoj?-IVp5o#GSAya?bkxfo zg-rljj6&;50JL5TZGVbE`*bi&H+$UnKO;Qo^^bZzgFZs<*tGZ6Y47l)H*st`92|IV zE69t-VK4FEc4r&_r8_8~3YCkyklXU@wcrf6Ep&s~_R z#at5R1j?FCFCC)qw)>WK6C&TyOAY^p7-)X0;a5TK7x1?Sfq)lBdv8pwM~7Fx?(xD8 z=ii*amiu7re%qHH@L%!b$<d@#thu+9GkVn90c literal 0 HcmV?d00001 diff --git a/src/map_pkg/launch/gazebo_map.launch.py b/src/map_pkg/launch/gazebo_map.launch.py new file mode 100644 index 0000000..2bad6c6 --- /dev/null +++ b/src/map_pkg/launch/gazebo_map.launch.py @@ -0,0 +1,45 @@ +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument +from launch.conditions import IfCondition +from launch.substitutions import LaunchConfiguration, PythonExpression +from launch_ros.actions import Node +from launch_ros.substitutions import FindPackageShare + + +def generate_launch_description(): + default_map = [FindPackageShare('map_pkg'), '/map/gazebo/turtlebot3_world.yaml'] + selected_map = LaunchConfiguration('map') + + return LaunchDescription([ + DeclareLaunchArgument('map', default_value=default_map), + DeclareLaunchArgument('use_sim_time', default_value='true'), + Node( + package='map_pkg', + executable='pub_map_config', + name='pub_map_config', + output='screen', + parameters=[{'level': '2d'}], + ), + Node( + package='nav2_map_server', + executable='map_server', + name='map_server', + output='screen', + parameters=[{ + 'use_sim_time': LaunchConfiguration('use_sim_time'), + 'yaml_filename': selected_map, + }], + ), + Node( + package='nav2_lifecycle_manager', + executable='lifecycle_manager', + name='map_server_lifecycle_manager', + output='screen', + condition=IfCondition(PythonExpression(["'", selected_map, "' != ''"])), + parameters=[{ + 'use_sim_time': LaunchConfiguration('use_sim_time'), + 'autostart': True, + 'node_names': ['map_server'], + }], + ), + ]) diff --git a/src/map_pkg/launch/map.launch.py b/src/map_pkg/launch/map.launch.py new file mode 100755 index 0000000..cbaa9cb --- /dev/null +++ b/src/map_pkg/launch/map.launch.py @@ -0,0 +1,153 @@ +# File: map.launch.py +# Description: +# 맵 서버 — map_server (2D) �는 rtabmap (3D) +# /nav2_ws/selected_map/ �� �� 스캔 → *.yaml 면 2D, *.db 면 3D 분기 +# 사용� UI 가 선�한 map � 그 ��� cp 해�면 launch 가 �� 처리. +# Publishes : /map +# Note: localization(AMCL)보다 먼저 실행�어야 함 + +import glob +import os + +from launch import LaunchDescription +from launch.actions import DeclareLaunchArgument, GroupAction, OpaqueFunction +from launch.substitutions import LaunchConfiguration, PathJoinSubstitution +from launch.substitutions import PythonExpression +from launch_ros.actions import Node +from launch_ros.substitutions import FindPackageShare +from launch_ros.descriptions import ParameterFile +from nav2_common.launch import RewrittenYaml + + +SELECTED_MAP_DIR = '/nav2_ws/selected_map' + +ARGUMENTS = [ + DeclareLaunchArgument('robot', default_value='fr09', choices=['mkmini', 'fr09']), +] + + +def _detect_level_and_file(): + """selectedMap �� 스캔: *.yaml → 2D, *.db → 3D. 우선순위 yaml > db (둘 다 있� 때).""" + yaml_files = sorted(glob.glob(os.path.join(SELECTED_MAP_DIR, '*.yaml'))) + db_files = sorted(glob.glob(os.path.join(SELECTED_MAP_DIR, '*.db'))) + if yaml_files: + return '2d', yaml_files[0] + if db_files: + return '3d', db_files[0] + raise RuntimeError( + f"No map file found in {SELECTED_MAP_DIR}. " + f"Expected *.yaml (2D) or *.db (3D). " + f"User must select a map in the UI which copies the file to selectedMap/." + ) + + +def launch_setup(context, *args, **kwargs): + robot = LaunchConfiguration('robot').perform(context) + + level, map_file = _detect_level_and_file() + print(f"[map.launch.py] auto-detected level={level} map={map_file}") + + if level == '2d': + lifecycle_nodes = ['map_server'] + + configured_params = ParameterFile( + RewrittenYaml( + source_file=PathJoinSubstitution([ + FindPackageShare('map_pkg'), 'config', 'map_2d.yaml' + ]), + param_rewrites={ + 'use_sim_time': 'true', + 'yaml_filename': map_file, + }, + convert_types=True, + ), + allow_substs=True, + ) + + load_nodes = GroupAction( + actions=[ + Node( + package='map_pkg', + executable='pub_map_config', + name='pub_map_config', + output='screen', + parameters=[{'level': level}] + ), + Node( + package='nav2_map_server', + executable='map_server', + name='map_server', + output='screen', + parameters=[configured_params], + ), + Node( + package='nav2_lifecycle_manager', + executable='lifecycle_manager', + name='lifecycle_manager_map', + output='screen', + parameters=[{ + 'use_sim_time': True, + 'autostart': True, + 'node_names': lifecycle_nodes, + }], + ), + ], + ) + else: # 3d + configured_params = ParameterFile( + RewrittenYaml( + source_file=PathJoinSubstitution([ + FindPackageShare('map_pkg'), + 'config', + PythonExpression(["'map_", level, "_", robot, ".yaml'"]) + ]), + param_rewrites={ + 'use_sim_time': 'true', + 'Mem/IncrementalMemory': 'False', + 'Mem/InitWMWithAllNodes': 'True', + }, + convert_types=True, + ), + allow_substs=True, + ) + + remappings = [ + ('/tf', 'tf'), + ('/tf_static', 'tf_static'), + ('odom', 'icp_odom'), + ('scan_cloud', '/lidar_filtered'), + ('rgb/image', '/carla/hero/rgb_front/image'), + ('rgb/camera_info', '/carla/hero/rgb_front/camera_info'), + ] + + load_nodes = GroupAction( + actions=[ + Node( + package='map_pkg', + executable='pub_map_config', + name='pub_map_config', + output='screen', + parameters=[{'level': level}] + ), + Node( + package='rtabmap_slam', + executable='rtabmap', + name='rtabmap', + output='screen', + parameters=[configured_params, + {'Mem/IncrementalMemory': 'False', + 'Mem/InitWMWithAllNodes': 'True', + 'use_sim_time': True, + 'database_path': map_file}], + remappings=remappings, + ) + ], + ) + + return [load_nodes] + + +def generate_launch_description(): + ld = LaunchDescription(ARGUMENTS) + ld.add_action(OpaqueFunction(function=launch_setup)) + return ld diff --git a/src/map_pkg/map/2d/hallway.pgm b/src/map_pkg/map/2d/hallway.pgm new file mode 100755 index 0000000000000000000000000000000000000000..39d43c25ac7dc5360d48243f7e4b1dff201fcdda GIT binary patch literal 201939 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 bHx&SC;$Z>tHA#OatZW1 literal 0 HcmV?d00001 diff --git a/src/map_pkg/map/2d/hallway.yaml b/src/map_pkg/map/2d/hallway.yaml new file mode 100755 index 0000000..d8bb313 --- /dev/null +++ b/src/map_pkg/map/2d/hallway.yaml @@ -0,0 +1,7 @@ +image: hallway.pgm +mode: trinary +resolution: 0.05 +origin: [-6.78, -5.39, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.25 \ No newline at end of file diff --git a/src/map_pkg/map/2d/map.pgm b/src/map_pkg/map/2d/map.pgm new file mode 100755 index 0000000000000000000000000000000000000000..883afa1135206f67049b115611c4a54cd3d8140a GIT binary patch literal 1098102 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 Z6;kKhWm*UT5C7%gk>>9>SoxxZ{|CwS{d52T literal 0 HcmV?d00001 diff --git a/src/map_pkg/map/2d/office.yaml b/src/map_pkg/map/2d/office.yaml new file mode 100755 index 0000000..d588001 --- /dev/null +++ b/src/map_pkg/map/2d/office.yaml @@ -0,0 +1,7 @@ +image: office.pgm +mode: trinary +resolution: 0.05 +origin: [-3.44, -11.4, 0] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.25 \ No newline at end of file diff --git a/src/map_pkg/map/2d/parkinglot.pgm b/src/map_pkg/map/2d/parkinglot.pgm new file mode 100755 index 0000000000000000000000000000000000000000..883afa1135206f67049b115611c4a54cd3d8140a GIT binary patch literal 1098102 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 VEe@O9{1l)Ob|6cNnScZf0{~JLDLeoG literal 0 HcmV?d00001 diff --git a/src/map_pkg/map_pkg/__pycache__/pub_map_config.cpython-310.pyc b/src/map_pkg/map_pkg/__pycache__/pub_map_config.cpython-310.pyc new file mode 100755 index 0000000000000000000000000000000000000000..eca6f56a052ae5d7b34e3949c683d41f2caa30d5 GIT binary patch literal 1567 zcmZ8h&u=3&6t-tPlgV_Frm(;s3RGG^ijbP6ToKSM1+7$tZrcNzi!~iP$pp`jwLM+6 zO1ZSso)G^+bKL)jldqii#u>4K=Sj9r*OA{mKikh=K7Y?;rxPM*e?Iv)`-33#mmRD& zh@tPHt6#t{#IQiI{W=2YPV8XoyTZ*$OmZ*wazFN)7!j>Jh=az*q8+z?Ld;|SHDW$@ zuG~0eEf!p(c#Yv>)Nj9r>}c4>h73!_`>qL}mB)v&9A$!=-Ve1*PBW3|^TSeP>ABfB z;v%~jg023smRT`QZK~DgE(hu}a5#!FL$UJ`jWEN^xej8Nxr_i5@)8jgdjQ8X>w9G} z%EpKFsmRoX%M`C<^uV{>CRV?J(dY`@K)N}`XohYa<}h~-+<@;gXO5@j5^IkU?N3`e zn6{bsyL;)tY^c|mKXc~p4AF==Go0Z|SFc^6OQJhB-I+VbGeXy4WskLHXu4suvH(`U zHzQ!*XUMWQG~KE`rFl}(w83pW!Oyrb&JKHRkprO~_0G`sw*x{KxtNFno_gDcq$UfX_d$%=NcwEW3E?*-dQ4QE-gRO3dpRV9PJK| zpY9J&=)uo>y9d(JXM&^sgQvSs4)#qil|0dq@h#udw+mbt8!}a80r2a*QiiZZCnj1h z*I5pSN6THbEK+WW;)OP0nxqrXXs*U^n-CKt*=|xkFO_j2Y+ABZcK#JMZA#%EDMjfk z^v|=wq|EtXRO?#ufvg4J85GIc4y}G2fAx6bTB=^C!D*cd*6;>%x8M6$v0a_Z9-M4X zS6g5r966B#4HNkJZ+bp)$$vhHaM$&n5MMleM|<0EnZGAOd##q>J?QE&7?1~2AA-d< zAgw7#rx75TqZ@A_O%NEOP_V~M@4Lf`4-S`vv#o`2wk(GyeP4bI8RbV{OlwK6{KSqz zd()yEkAZlS6{E6`<)?P-=eOny>urLuA!VNzA9vvwV)Eu<^W8tUdU<`{%B%oUfy_cm z^O6Dm;761`uM@GDY3OVYFrDSarCbO~S1>%X7#big@B$0ODk=c>dz;e6Qs}qs9+~!; z&`{5Fgpqcj7VQWs)Dj9F5NcmFs5?9aZFw>k)w$&&(@kPfTa^_iP?K7-@X8p&M}w%zxpI7SRSkyVn+3(+S^`uTOaK@jKo4-wi5~qA)Ekc? literal 0 HcmV?d00001 diff --git a/src/map_pkg/map_pkg/pub_map_config.py b/src/map_pkg/map_pkg/pub_map_config.py new file mode 100755 index 0000000..ca4f32a --- /dev/null +++ b/src/map_pkg/map_pkg/pub_map_config.py @@ -0,0 +1,47 @@ + +import rclpy +from rclpy.node import Node +from rclpy.qos import QoSProfile, DurabilityPolicy, ReliabilityPolicy +from std_msgs.msg import String +import json + +class ConfigPublisher(Node): + def __init__(self): + super().__init__('pub_map_config') + + self.declare_parameter('level', '2d') + + level = self.get_parameter('level').value + + qos = QoSProfile( + depth=1, + durability=DurabilityPolicy.TRANSIENT_LOCAL, + reliability=ReliabilityPolicy.RELIABLE + ) + + self.pub = self.create_publisher(String, '/map_config', qos) + + msg = { + "level": level + } + + ros_msg = String() + ros_msg.data = json.dumps(msg) + + # 약간 대기 후 1회 발행 + self.create_timer(1.0, self.publish_once) + + self.sent = False + self.cached_msg = ros_msg + + def publish_once(self): + if not self.sent: + self.pub.publish(self.cached_msg) + self.get_logger().info("Published config once") + self.sent = True + +def main(): + rclpy.init() + node = ConfigPublisher() + rclpy.spin(node) + rclpy.shutdown() diff --git a/src/map_pkg/map_pkg/test.py b/src/map_pkg/map_pkg/test.py new file mode 100755 index 0000000..158e7a9 --- /dev/null +++ b/src/map_pkg/map_pkg/test.py @@ -0,0 +1,6 @@ +def main(): + print('Hi from map_pkg.') + + +if __name__ == '__main__': + main() diff --git a/src/map_pkg/package.xml b/src/map_pkg/package.xml new file mode 100755 index 0000000..62d6f7b --- /dev/null +++ b/src/map_pkg/package.xml @@ -0,0 +1,18 @@ + + + + map_pkg + 0.0.0 + TODO: Package description + dgist + TODO: License declaration + + ament_copyright + ament_flake8 + ament_pep257 + python3-pytest + + + ament_python + + diff --git a/src/map_pkg/resource/map_pkg b/src/map_pkg/resource/map_pkg new file mode 100755 index 0000000..e69de29 diff --git a/src/map_pkg/setup.cfg b/src/map_pkg/setup.cfg new file mode 100755 index 0000000..7d56b20 --- /dev/null +++ b/src/map_pkg/setup.cfg @@ -0,0 +1,4 @@ +[develop] +script_dir=$base/lib/map_pkg +[install] +install_scripts=$base/lib/map_pkg diff --git a/src/map_pkg/setup.py b/src/map_pkg/setup.py new file mode 100755 index 0000000..18f34bc --- /dev/null +++ b/src/map_pkg/setup.py @@ -0,0 +1,40 @@ + +import os +from glob import glob +from setuptools import find_packages, setup + +package_name = 'map_pkg' + +setup( + name=package_name, + version='0.0.0', + packages=find_packages(exclude=['test']), + data_files=[ + ('share/ament_index/resource_index/packages', + ['resource/' + package_name]), + ('share/' + package_name, ['package.xml']), + (os.path.join('share', package_name, 'launch'), glob('launch/*.launch.py')), + (os.path.join('share', package_name, 'config'), glob('config/*.yaml')), + (os.path.join('share', package_name, 'map/2d'), glob('map/2d/*.yaml')), + (os.path.join('share', package_name, 'map/2d'), glob('map/2d/*.pgm')), + (os.path.join('share', package_name, 'map/gazebo'), glob('map/gazebo/*.yaml')), + (os.path.join('share', package_name, 'map/gazebo'), glob('map/gazebo/*.pgm')), + ], + install_requires=['setuptools'], + zip_safe=True, + maintainer='dgist', + maintainer_email='jang1future@gmail.com', + description='TODO: Package description', + license='TODO: License declaration', + extras_require={ + 'test': [ + 'pytest', + ], + }, + entry_points={ + 'console_scripts': [ + 'test = map_pkg.test:main', + 'pub_map_config = map_pkg.pub_map_config:main' + ], + }, +) diff --git a/src/map_pkg/test/test_copyright.py b/src/map_pkg/test/test_copyright.py new file mode 100755 index 0000000..97a3919 --- /dev/null +++ b/src/map_pkg/test/test_copyright.py @@ -0,0 +1,25 @@ +# Copyright 2015 Open Source Robotics Foundation, Inc. +# +# 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 ament_copyright.main import main +import pytest + + +# Remove the `skip` decorator once the source file(s) have a copyright header +@pytest.mark.skip(reason='No copyright header has been placed in the generated source file.') +@pytest.mark.copyright +@pytest.mark.linter +def test_copyright(): + rc = main(argv=['.', 'test']) + assert rc == 0, 'Found errors' diff --git a/src/map_pkg/test/test_flake8.py b/src/map_pkg/test/test_flake8.py new file mode 100755 index 0000000..27ee107 --- /dev/null +++ b/src/map_pkg/test/test_flake8.py @@ -0,0 +1,25 @@ +# Copyright 2017 Open Source Robotics Foundation, Inc. +# +# 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 ament_flake8.main import main_with_errors +import pytest + + +@pytest.mark.flake8 +@pytest.mark.linter +def test_flake8(): + rc, errors = main_with_errors(argv=[]) + assert rc == 0, \ + 'Found %d code style errors / warnings:\n' % len(errors) + \ + '\n'.join(errors) diff --git a/src/map_pkg/test/test_pep257.py b/src/map_pkg/test/test_pep257.py new file mode 100755 index 0000000..b234a38 --- /dev/null +++ b/src/map_pkg/test/test_pep257.py @@ -0,0 +1,23 @@ +# Copyright 2015 Open Source Robotics Foundation, Inc. +# +# 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 ament_pep257.main import main +import pytest + + +@pytest.mark.linter +@pytest.mark.pep257 +def test_pep257(): + rc = main(argv=['.', 'test']) + assert rc == 0, 'Found code style errors / warnings'