<aside> 💡

action callback이 돌면 subscriber의 callback이 돌지 않는다.

1. 멀티쓰레드

1. 코드 추가

import rclpy as rp
from rclpy.executors import MultiThreadedExecutor
from rclpy.node import Node

from my_first_package.my_publisher import TurtlesimPublisher
from my_first_package.my_subscriber import TurtlesimSubscriber

def main(args=None):
    rp.init(args=args)

    pub = TurtlesimPublisher()
    sub = TurtlesimSubscriber()

    executor = MultiThreadedExecutor()

    executor.add_node(pub)
    executor.add_node(sub)

    try:
        executor.spin()

    finally:
        executor.shutdown()
        pub.destroy_node()
        sub.destroy_node()
        rp.shutdown()

if __name__ == '__main__':
    main()

2. setup.py

'my_multi_thread = my_first_package.my_multi_thread:main',