This commit is contained in:
lyq 2026-04-16 15:03:35 +08:00
parent 759985784d
commit 74da7950fe
11 changed files with 6407 additions and 902 deletions

22
copy start_all.sh Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash
set -e
# ===== 环境 =====
source /opt/ros/humble/setup.bash
source /home/nvidia/Downloads/sweeper_200/install/setup.bash
# ===== 信号处理(这是核心)=====
terminate() {
echo "[start_ros2] Caught SIGTERM/SIGINT, shutting down ROS2..."
kill -TERM "$ROS2_PID"
wait "$ROS2_PID"
exit 0
}
trap terminate SIGINT SIGTERM
# ===== 启动 launch前台语义=====
ros2 launch launch_system start_all.launch.py &
ROS2_PID=$!
wait "$ROS2_PID"

File diff suppressed because it is too large Load Diff

View File

View File

@ -0,0 +1,4 @@
31.9880897660
120.88131935500
156.764999
0.000000

View File

View File

View File

File diff suppressed because it is too large Load Diff

View File

@ -91,6 +91,17 @@ int MqttReceiver::onMessageArrived(void* context, char* topicName, int topicLen,
{ {
(void)topicLen; (void)topicLen;
auto* self = static_cast<MqttReceiver*>(context); auto* self = static_cast<MqttReceiver*>(context);
// 输出 Topic
LOG_INFO("[MQTT] Received message | Topic: %s", topicName);
// 输出 Message 内容
if (message && message->payload) {
LOG_INFO("[MQTT] Received message | Payload: %.*s", (int)message->payloadlen, (char*)message->payload);
} else {
LOG_INFO("[MQTT] Received message | Payload: empty");
}
return self->handleMessage(topicName, message); return self->handleMessage(topicName, message);
} }

View File

@ -56,6 +56,6 @@ def generate_launch_description():
# 返回所有节点和 launch 文件 # 返回所有节点和 launch 文件
return LaunchDescription( return LaunchDescription(
# [front_lidar_node, rear_lidar_node, merge_launch_action, rviz_node] # [front_lidar_node, rear_lidar_node, rviz_node]
[front_lidar_node, rear_lidar_node, merge_launch_action] [front_lidar_node, rear_lidar_node]
) )

View File

@ -1,22 +1,62 @@
#!/bin/bash #!/bin/bash
set -e set -e
# ===== 环境 ===== source install/setup.bash
source /opt/ros/humble/setup.bash
source /home/nvidia/Downloads/sweeper_200/install/setup.bash
# ===== 信号处理(这是核心)===== # ==============================================
terminate() { # 1. 车辆参数节点(你之前漏掉的!必须第一个启动)
echo "[start_ros2] Caught SIGTERM/SIGINT, shutting down ROS2..." # ==============================================
kill -TERM "$ROS2_PID" taskset -c 0 ros2 run vehicle_params vehicle_params_node &
wait "$ROS2_PID" sleep 0.2
exit 0
}
trap terminate SIGINT SIGTERM # ==============================================
# 2. 控制类节点(低负载,不影响雷达)
# ==============================================
taskset -c 0 ros2 run can_radio_ctrl can_radio_ctrl_node &
sleep 0.2
# ===== 启动 launch前台语义===== taskset -c 2 ros2 run remote_ctrl remote_ctrl_node &
ros2 launch launch_system start_all.launch.py & sleep 0.2
ROS2_PID=$!
wait "$ROS2_PID" taskset -c 1 ros2 run mc mc_node &
sleep 0.2
taskset -c 1 ros2 run ctrl_arbiter ctrl_arbiter_node &
sleep 0.2
taskset -c 2 ros2 run pl pl_node &
sleep 0.2
taskset -c 6 ros2 run mqtt_report mqtt_report_node &
sleep 0.3
# ==============================================
# 3. 雷达驱动 —— 专用核心 3、4绝不被抢占
# ==============================================
taskset -c 3,4 ros2 launch rslidar_sdk start_double.launch.py &
sleep 1.5
# ==============================================
# 4. 点云融合 —— 专用核心 5完全隔离
# ==============================================
taskset -c 5 ros2 launch rslidar_pointcloud_merger merge_two_lidars.launch.py &
sleep 0.3
# ==============================================
# 5. 定位 & 业务节点(不干扰雷达)
# ==============================================
taskset -c 6 ros2 run rtk rtk_node &
sleep 0.3
taskset -c 6 ros2 run route route_node &
sleep 0.3
taskset -c 6 ros2 run sub sub_node &
sleep 0.3
taskset -c 7 ros2 run task_manager task_manager_node &
sleep 0.3
taskset -c 7 ros2 launch fu fu.launch.py &
wait