目录
准备工作
需要远程的先连接你的远程设备
ssh unitree@10.72.249.90
1.本地录制或者远程录制
ros2 topic list
# 找到自己想要的话题
# 比如深度相机的图像话题/camera/camera/color/image_raw
ros2 bag record -o my_bag /camera/camera/color/image_raw
# 录制完ctrl + c 退出
ros2 bag info my_bag # 检查消息数、时长是 否正常
ros2 bag play my_bag # 测试回放
# 再次启动一个一个终端,查看图像信息
ros2 run rqt_image_view rqt_image_view
2.远程传输
2.1. 从远程服务器下载文件到本地
bash
复制
scp unitree@10.72.249.90:~/agent_ws/realsense_bag/your_file.db3 ~/Downloads/
命令解释
-
scp
:安全拷贝命令,用于在本地和远程服务器之间传输文件。 -
unitree@10.72.249.90
:远程服务器的用户名和 IP 地址。unitree
是远程服务器上的用户名,10.72.249.90
是远程服务器的 IP 地址。 -
~/agent_ws/realsense_bag/your_file.db3
:远程服务器上的文件路径。~
表示远程用户的主目录,agent_ws/realsense_bag/your_file.db3
是文件的具体路径。 -
~/Downloads/
:本地的目标路径。~
表示本地用户的主目录,Downloads/
是本地的下载目录。
作用
这条命令的作用是从远程服务器 10.72.249.90
上的路径 ~/agent_ws/realsense_bag/your_file.db3
下载文件 your_file.db3
,并将其保存到本地的 ~/Downloads/
目录中。
2.2. 递归传输目录从远程服务器到本地
bash
复制
scp -r unitree@10.72.249.90:/home/unitree/sensor_data/ ~/Desktop/
命令解释
-
-r
:递归选项,表示传输整个目录及其内容。 -
unitree@10.72.249.90
:远程服务器的用户名和 IP 地址。unitree
是远程服务器上的用户名,10.72.249.90
是远程服务器的 IP 地址。 -
/home/unitree/sensor_data/
:远程服务器上的源目录路径。/home/unitree/sensor_data/
是远程服务器上的传感器数据目录。 -
~/Desktop/
:本地的目标路径。~
表示本地用户的主目录,Desktop/
是本地的桌面目录。
作用
这条命令的作用是从远程服务器 10.72.249.90
上的路径 /home/unitree/sensor_data/
递归地下载整个目录及其内容,并将其保存到本地的 ~/Desktop/
目录中。
2.3.递归传输目录到远程服务器
bash
复制
scp -r ~/Documents user@10.72.249.90:/home/user/Backups
命令解释
-
-r
:递归选项,表示传输整个目录及其内容。 -
~/Documents
:本地的源目录路径。~
表示本地用户的主目录,Documents
是本地的文档目录。 -
user@10.72.249.90
:远程服务器的用户名和 IP 地址。user
是远程服务器上的用户名,10.72.249.90
是远程服务器的 IP 地址。 -
/home/user/Backups
:远程服务器上的目标路径。/home/user/Backups
是远程服务器上的备份目录。
作用
这条命令的作用是将本地的 ~/Documents
目录及其所有内容递归地上传到远程服务器 10.72.249.90
的 /home/user/Backups
目录中。
总结 传输文件需要加上 -r
3. tmux离线使用
tmux new -s ros2_bag # 创建名为 "ros2_bag" 的会话
ros2 bag record -o my_bag3 /camera/camera/color/image_raw # 在 tmux 中启动录制
2. 分离 tmux 会话(保持录制后台运行)
快捷键:按下 Ctrl+B 松开,再按 D(Detach)。
tmux detach
也可以直接推出终端
tmux attach -t ros2_bag # 重连到指定会话
# 按 Ctrl+C 停止录制
exit
# 步骤4:验证
ros2 bag info my_bag
关于 tmux
的其他功能
tmux
是一个非常强大的终端复用器,支持多种功能,包括:
-
多窗口和多面板:可以在一个终端窗口中打开多个窗口和面板。
-
会话管理:可以创建、列出、切换和关闭会话。
-
离线执行命令:
tmux
会话可以在后台运行,即使你关闭了终端窗口,会话中的命令仍然会继续执行。