在线程中使用RCLPY Logger

时间:2020-03-25 08:25:20

标签: python-3.x ros ros2

我在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记录器?

0 个答案:

没有答案