largemodel_control.launch.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import os
  2. from ament_index_python.packages import get_package_share_directory
  3. from launch import LaunchDescription
  4. from launch_ros.actions import Node
  5. from launch.launch_description_sources import PythonLaunchDescriptionSource
  6. from launch.actions import IncludeLaunchDescription
  7. from launch.actions import DeclareLaunchArgument
  8. from launch.substitutions import LaunchConfiguration
  9. from launch.conditions import UnlessCondition
  10. def generate_launch_description():
  11. # 获取包的共享目录
  12. #M3Pro_demopkg_share = get_package_share_directory('M3Pro_demo')
  13. params_file=os.path.join(get_package_share_directory('largemodel'), "config", "yahboom.yaml")
  14. #启动参数
  15. text_chat_mode = LaunchConfiguration('text_chat_mode', default=False)
  16. text_chat_mode_arg= DeclareLaunchArgument('text_chat_mode', default_value=text_chat_mode)
  17. # 定义节点
  18. model_server = Node(
  19. package='largemodel',
  20. executable='model_service',
  21. name='model_service',
  22. parameters=[
  23. params_file,
  24. {'text_chat_mode': text_chat_mode} # 动态参数,命令行参数覆盖yahboom.yaml同名参数再传给节点
  25. ],
  26. output='screen'
  27. )
  28. asr_server = Node(
  29. package='largemodel',
  30. executable='asr',
  31. name='asr',
  32. parameters=[params_file],
  33. output='screen',
  34. condition=UnlessCondition(text_chat_mode)
  35. )
  36. action_server = Node(
  37. package='largemodel',
  38. executable='action_service',
  39. name='action_service',
  40. parameters=[
  41. params_file,
  42. {'text_chat_mode': text_chat_mode} # 动态参数,命令行参数覆盖yahboom.yaml同名参数再传给节点
  43. ],
  44. output='screen'
  45. )
  46. #camrea_kin_node = IncludeLaunchDescription(PythonLaunchDescriptionSource(os.path.join(M3Pro_demopkg_share, 'launch', 'camera_arm_kin.launch.py')))
  47. return LaunchDescription([
  48. text_chat_mode_arg, #声明启动参数
  49. #camrea_kin_node, #启动相机和运动学结算节点
  50. model_server, #启动模型服务节点
  51. action_server, #启动动作服务器节
  52. asr_server, #启动asr用户交互节点
  53. ])