diff --git a/README.md b/README.md
index 40f345f..780ac65 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,11 @@ LMS 전용 템플릿 저장소입니다. 설치 폴더: `[lms-nav2-yahboom-contr
- 패키지: `yahboom_control`
- 런치: `control.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_control/launch/control.launch.py b/src/yahboom_control/launch/control.launch.py
index a240333..2c478c0 100644
--- a/src/yahboom_control/launch/control.launch.py
+++ b/src/yahboom_control/launch/control.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_control")
params = os.path.join(share, "params", "control.yaml")
+ params = RewrittenYaml(source_file=params, root_key="",
+ param_rewrites={"use_sim_time": LaunchConfiguration("sim_mode")},
+ convert_types=True)
nodes = [["nav2_controller","controller_server","controller_server"],["nav2_behaviors","behavior_server","behavior_server"]]
- 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_control", 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_control/package.xml b/src/yahboom_control/package.xml
index 44c9dbf..f94583d 100644
--- a/src/yahboom_control/package.xml
+++ b/src/yahboom_control/package.xml
@@ -10,5 +10,6 @@
launch_ros
ament_index_python
nav2_bringup
+ nav2_common
ament_cmake