0416-1
This commit is contained in:
parent
759985784d
commit
74da7950fe
22
copy start_all.sh
Executable file
22
copy start_all.sh
Executable 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"
|
||||||
1766
gps_load_now.txt
1766
gps_load_now.txt
File diff suppressed because it is too large
Load Diff
0
routes/gps_load_1776301286991.txt
Normal file
0
routes/gps_load_1776301286991.txt
Normal file
4
routes/gps_load_1776301727282.txt
Normal file
4
routes/gps_load_1776301727282.txt
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
31.9880897660
|
||||||
|
120.88131935500
|
||||||
|
156.764999
|
||||||
|
0.000000
|
||||||
0
routes/gps_load_1776302555543.txt
Normal file
0
routes/gps_load_1776302555543.txt
Normal file
0
routes/gps_load_1776302739249.txt
Normal file
0
routes/gps_load_1776302739249.txt
Normal file
0
routes/gps_load_1776302889964.txt
Normal file
0
routes/gps_load_1776302889964.txt
Normal file
5432
routes/gps_load_1776303097467.txt
Normal file
5432
routes/gps_load_1776303097467.txt
Normal file
File diff suppressed because it is too large
Load Diff
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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]
|
||||||
)
|
)
|
||||||
|
|||||||
70
start_all.sh
70
start_all.sh
@ -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
|
||||||
Loading…
Reference in New Issue
Block a user