我在ROS2中有一个节点,必须为其发布图像,但还必须等待来自另一个节点的信号(主题)。 为了调试目的,我想记录例如传入的信号。我的想法是:
class CameraNode(Node):
def __init__(self, node_name="camera_node"):
# Initialize rclpy
super().__init__(node_name)
self._log = self.get_logger()
self.my_thread = Thread(self.myfunction)
self.my_thread.start()
def myFunction(self):
self._log.error("never going to log this")
while True:
# get image from source and send images.
pass
def main(args=None):
# init the ros node
rclpy.init(args=args)
try:
node = CameraNode()
try:
rclpy.spin(node)
except KeyboardInterrupt:
node.destroy_node()
finally:
rclpy.shutdown()
if __name__ == "__main__":
main()
由于简单,我省略了代码的某些部分。 由于某种原因,日志消息永远不会出现。是我缺少了什么,还是不是出于线程目的而构建ROS2记录器?