机器人学习中,程序报错后最容易发生的事,是记住一句提示,却忘了当时运行了哪些节点、输入了什么数据,以及提示发生前做过什么。把观察过程记录下来,不仅有助于复盘,也能让老师或同伴基于同一份材料讨论问题。学习记录不需要一开始就很复杂,但需要分清不同资料的用途。
ROS 2 的日志可以记录节点运行时输出的消息。按照ROS 2 Jazzy 日志文档,日志消息有不同严重程度,默认可输出到控制台、日志文件和网络中的日志话题,具体目标也可以按节点配置。看到一条警告,说明程序输出了该级别消息;它是否影响这次练习,仍需要结合上下文判断。
另一方面,ROS 2 官方录制与回放教程介绍了用 ros2 bag 记录话题和服务的数据,以便后续回放和检查。学习时可以把日志理解为程序报告的运行信息,把录制数据理解为所选择的通信数据记录。两者用途不同,不能互相保证完整。
开始前先给练习起一个具体名称,例如“比较两次模拟运行中的消息记录”,并记下日期、课程、系统环境、ROS 2 版本和使用的示例。说明目标是认识日志,还是学习记录和回放数据。目标越明确,结束后越容易判断资料是否足够,而不是积累一堆无法解释的文件。
建议将本次使用的启动方式、相关节点名称以及预期观察的现象写在一页说明里。对不确定的信息标注“待确认”。如果使用老师提供的虚拟机或共享环境,还应确认课程对文件保存位置、容量和隐私的要求。真实设备上的操作应由负责人员按照现场规定组织,初学者可以先在受控仿真环境中练习。
当程序输出提示时,记录观察到的时间、提示原文、相关节点及提示前执行的操作。不要只复制一行报错后立即删除终端信息;在允许的情况下,保留前后相关内容,帮助后续理解事件顺序。对于重复出现的提示,可以注明出现次数和时间范围,但不要凭印象虚构精确次数。
假设练习中一名学员启动示例后没有看到预期消息。记录应写明使用的示例、启动顺序、终端显示以及是否出现错误,而不是直接写“通信坏了”。然后由教师或同伴根据实际资料提出需要进一步核对的方向。记录本身不等于故障诊断,也不能证明设备安全或恢复正常。
录制前先确认打算记录哪些数据,并保存对应配置。回放后,记录使用的文件、回放环境和观察到的现象;如果缺少某个话题,应该注明“本次未记录”,而不是根据想象补齐。录制和回放可以帮助复查练习中选定的数据,但不能自动还原所有硬件条件、外部环境和人的操作。
整理文件时可将说明、日志和录制数据分别保存,使用包含课程名称和日期的文件夹,并检查文件是否真的能打开。大文件的保存期限和分享方式应遵守课程或单位要求。若资料中含有账号、网络地址、客户设备信息或其他敏感内容,分享前先由负责人审核和处理。
练习结束后可以回答五个问题:这次想观察什么;使用了什么环境和示例;实际记录了哪些数据;出现了什么结果;还有哪些问题没有确认。把观察和推测分开写,教师给出的解释也应注明适用的示例和版本。下一次练习可对照同一份笔记,查看哪些条件改变了。
如果还不熟悉话题与节点的区别,可以先阅读本站机器人学习中的话题误区,再回到本文整理日志和数据记录。也可以浏览行业资讯栏目查找相关背景资料。不同 ROS 2 版本的功能和教程可能变化,实际练习前应核对所使用版本的官方说明。