# tsp_common **Repository Path**: tsprobot/tsp_common ## Basic Information - **Project Name**: tsp_common - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2024-04-06 - **Last Updated**: 2026-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # tsp_common ## 1.介绍 - `tsp_common` 是上下位机共用功能仓库。 - 主要提供共享消息、通用录包和磁盘空间监控能力。 - 不直接绑定某一台机器硬件,更多承担协议层和基础设施层职责。 ## 2.功能 - 提供共享消息定义。 - 提供通用 bag 录制执行能力。 - 提供磁盘空间监控和录制安全保护能力。 ## 3.结构 - `tsp_msgs` - 定义共享消息:`TspFolderInfo`、`TspRotatorState`。 - `tsp_bag_recorder` - 监听 `/recorder_time`,按 YAML 配置启动和停止 rosbag 录制。 - `tsp_files` - 监控磁盘与目录状态,发布 `folder_info`,空间不足时可主动停录。 ## 4.接口 - `/recorder_time` - 消息类型: `std_msgs/String` - 功能: - 非 `@` 字符串表示开始新一批录制。 - `@` 表示停止当前录制。 - `folder_info` - 消息类型: `tsp_msgs/TspFolderInfo` - 关键字段: `root_folder`、`unit`、`disk_total_size`、`disk_free_size`、`disk_write_speed`、`disk_write_remaining_time`、`folder_total_size`、`subfolder_name`、`subfolder_size`、`subfolder_img_count` - 说明: 字段统一使用 snake_case,供 `tsp_files` 发布、GUI 或其他统计逻辑订阅。 ## 5.启动运行 ```bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace mv ~/tsp . cd ~/catkin_ws catkin_make ``` ## 6.常用操作 ```bash # 测试磁盘监控 roslaunch tsp_files disk_info.launch ns:=tsp_test path:=${HOME}/share # 测试 bag 录制执行器 roslaunch tsp_bag_recorder bag_recorder.launch \ save_dir:=${HOME}/share \ prefix:=test \ topics_file:=/path/to/record_bags.yaml \ ns:=tsp_test # 查看共享消息定义 rosmsg show tsp_msgs/TspFolderInfo rosmsg show tsp_msgs/TspRotatorState ``` ## 7.说明 - 修改录制链路时,通常需要同时检查 `tsp_bag_recorder`、`tsp_files` 和上下位机触发源。 - 修改 `TspFolderInfo` 后,要同步检查消息定义、C++ 发布端、Python 订阅端和 README 示例输出。