#!/bin/bash # 初始化ROS环境(根据实际路径修改) source /opt/ros/noetic/setup.bash source ~/ws_lida/devel/setup.bash # 工作空间环境初始化[1](@ref) # 定义launch文件数组(按顺序添加) LAUNCH_FILES=( "livox_ros_driver2 msg_MID360.launch" "point_lio mapping_mid360.launch" "fast_lio_localization localization_MID360.launch " "fast_lio_localization nav.launch" "fast_lio_localization r_serial.launch" # "package3 launch_file3.launch" ) NODE_FILES=( "fast_lio_localization commands" # "fast_lio_localization all_move" # " fast_lio_localization c2" # "fast_lio_localization uart" ) # 顺序启动逻辑 for entry in "${LAUNCH_FILES[@]}"; do # 分割包名与文件名 IFS=' ' read -r -a arr <<< "$entry" pkg=${arr[0]} file=${arr[1]} # 启动新终端并执行launch gnome-terminal --title="$pkg - $file" -- bash -c \ "echo '正在启动 $pkg 的 $file'; \ roslaunch $pkg $file; \ exec bash" # 保持终端不关闭[3](@ref) # 等待节点初始化(根据实际需求调整时长) sleep 2 # 关键依赖节点建议8-10秒[4](@ref) done # 顺序启动逻辑 for entry in "${NODE_FILES[@]}"; do # 分割包名与文件名 IFS=' ' read -r -a arr <<< "$entry" pkg=${arr[0]} file=${arr[1]} # 启动新终端并执行launch gnome-terminal --title="$pkg - $file" -- bash -c \ "echo '正在启动 $pkg 的 $file'; \ rosrun $pkg $file; \ exec bash" # 保持终端不关闭[3](@ref) # 等待节点初始化(根据实际需求调整时长) sleep 1 # 关键依赖节点建议8-10秒[4](@ref) done echo "所有launch文件已按序启动"