2021SC@SDUSC
1. 本周工作目标
这周继续ros通信部分的源码,侧重点在于注重"topic是怎么注册的?publisher是怎么注册的?"。结合实际情况,本周的工作目标如下:
-
根据talker and listener样例,调试阅读ros core topic注册部分代码
2. ros里topic publisher的注册
我们先看ros_catkin_ws/install_isolated/share/rospy_tutorials/001_talker_listener/talker.py
文件的内容:
可以看到示例代码很简洁,除去开头的注释,内容只有19行。注意阅读第43行,这里往ros core里注册了一个名为chatter
的topic,发布std_msgs.String
类型的消息。那么,它具体是怎么进行发布的呢?这里我们用调试模式,看看消息的发布究竟干了什么。
打上断点,从43行代码开始往下一路追踪,发现它先调用了rospy.Publisher的构造函数,而后者又调用了父类Topic的构造函数,第一个关键点在Topic的构造函数里: