diff --git a/README.md b/README.md
index ad8b734..d57b0c7 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,11 @@ LMS 전용 템플릿 저장소입니다. 설치 폴더: `[lms-nav2-yahboom-plann
- 패키지: `yahboom_planning`
- 런치: `planning.launch.py`
-- 이미지: `future-nav2:humble-yahboom`
+- 이미지: `future-nav2:humble-yahboom` (실차 기본)
+- 로컬 시뮬레이션: 빌드 전에 `sim_mode:=true`를 설정하면 LMS가
+ `future-nav2-gazebo:humble`을 사용합니다. 기본값은 `false`입니다.
+- 시뮬레이션에서는 기존 NAV2-Gazebo에 `platform:=yahboom`을 설정하고
+ NAV2-Yahboom 차량 모듈을 함께 실행합니다. 실차 Agent/Camera는 실행하지 않습니다.
- 앱의 야붐 실행기 지원이 반영되어야 합니다.
- 서버 과정의 야붐 전용 환경에 이 모듈과 이미지 아티팩트를 등록한 후
LMS에서 설치 -> 빌드 -> 실행합니다.
diff --git a/src/yahboom_planning/launch/planning.launch.py b/src/yahboom_planning/launch/planning.launch.py
index 82f2389..a85dc63 100644
--- a/src/yahboom_planning/launch/planning.launch.py
+++ b/src/yahboom_planning/launch/planning.launch.py
@@ -4,12 +4,17 @@ from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import Node
+from launch_ros.parameter_descriptions import ParameterValue
+from nav2_common.launch import RewrittenYaml
def generate_launch_description():
share = get_package_share_directory("yahboom_planning")
params = os.path.join(share, "params", "planning.yaml")
+ params = RewrittenYaml(source_file=params, root_key="",
+ param_rewrites={"use_sim_time": LaunchConfiguration("sim_mode")},
+ convert_types=True)
nodes = [["nav2_planner","planner_server","planner_server"],["nav2_bt_navigator","bt_navigator","bt_navigator"],["nav2_waypoint_follower","waypoint_follower","waypoint_follower"]]
- actions = []
+ actions = [DeclareLaunchArgument("sim_mode", default_value="false", choices=["true", "false"])]
for package, executable, name in nodes:
actions.append(Node(
package=package, executable=executable, name=name, output="screen",
@@ -19,7 +24,7 @@ def generate_launch_description():
actions.append(Node(
package="nav2_lifecycle_manager", executable="lifecycle_manager",
name="lifecycle_manager_yahboom_planning", output="screen",
- parameters=[{"use_sim_time": False, "autostart": True,
+ parameters=[{"use_sim_time": ParameterValue(LaunchConfiguration("sim_mode"), value_type=bool), "autostart": True,
"node_names": [name for _, _, name in nodes]}],
))
return LaunchDescription(actions)
diff --git a/src/yahboom_planning/package.xml b/src/yahboom_planning/package.xml
index e7df19c..8c7f037 100644
--- a/src/yahboom_planning/package.xml
+++ b/src/yahboom_planning/package.xml
@@ -10,5 +10,6 @@
launch_ros
ament_index_python
nav2_bringup
+ nav2_common
ament_cmake