# data_recorder
**Repository Path**: nics-robot/data_recorder
## Basic Information
- **Project Name**: data_recorder
- **Description**: 数据采集-数据收集和保存
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-05-29
- **Last Updated**: 2025-11-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 数据采集
> 适用于NICS-ROBOT自研采集设备,设备硬件安装详见[project page](https://nics-efc.feishu.cn/wiki/YNT6wJPcbijjc3kGQSUcwvPLnYS)。本仓库包含相机驱动及时间同步。
## 依赖
本项目依赖ROS noetic环境,请参考[ROS 官网](https://wiki.ros.org/noetic/Installation/Ubuntu)安装。
安装d435i相机驱动 [\[官方教程\]](https://github.com/IntelRealSense/realsense-ros/tree/ros1-legacy
)、usb-cam驱动,cv_bridge及yaml库
```
sudo apt-get install ros-noetic-realsense2-camera ros-noetic-usb-cam ros-noetic-cv-bridge python3-yaml
```
## 配置参数
### d435i
```xml
```
- serial_no_camera:序列号。可通过realsense-viewer查看;
- color_width, color_height:分辨率。受限于usb带宽,目前测试三相机以30Hz正常运行的最大分辨率为640*480;
- color_fps:帧率。根据实际需求设定,只能为60,30,15,10,8,6;
- depth_width,depth_height,depth_fps:深度图设定。与RGB保持一致;
- enable_pointcloud:点云开关。根据需求选择,打开后会增加带宽负担;
- align_depth:设定为true,可将深度图对齐到RGB相机坐标系;
- 其他默认即可。
### usb-cam
```xml
```
- video_device:设备名。根据实际情况修改,通常为偶数,按插入顺序从小到大排,可通过插拔设备比较```ls /dev```命令输出判断。
## 编译
```
cd catkin_ws/src
git clone https://gitee.com/nics-robot/data_recorder.git
cd ..
catkin build data_recorder
```
## 采集
### 运行驱动
开启头部的d435i相机并加载外参;同时开启腕部gopro相机
```
roslaunch data_recorder camera_driver.launch
```
可在rqt_gui界面观察图像,在rviz观察头部三相机的tf,本项目以中间的相机(camera2)的baselink坐标系为世界系(坐标轴方向x向前,z向上)。
假如某个头部相机启动失败,通常为带宽或电压不足,在确保使用的usb线及电脑usb接口均支持usb3.0的情况下,重启一下即可。
假如腕部gopro相机启动失败,则检查launch文件中"video_device"是否设置正确。
### 录制话题
根据实际情况修改```./scripts/record_raw_data.sh```中数据保存目录```output_dir```
```
cd data_recorder
./scripts/record_raw_data.sh
```
### 时间同步
播放录制的rosbag,运行时间同步脚本
```
rosbag play xxx.bag
roslaunch data_recorder synchronizer.launch
```