ros2_python24 spin_until_future_complete 예제 https://github.com/ros2/rclpy/issues/585 `MultiThreadedExecutor:spin_until_future_complete` can block when the future is ready · Issue #585 · ros2/rclpy Bug report Required Info: Operating System: Ubuntu 20.04 Installation type: From source Version or commit hash: Foxy DDS implementation: Fast-RTPS Client library (if applicable): rclpy Steps to rep... github.com 참고 callback 함수를 future 객체 ( 비동기 ).. 2022. 9. 15. Ros2 Node 클래스 설명 // 노드랑 sub or pub config 값 바인딩 할때 ROS2 에서 self._sub_node_obj = rclpy.create_node(self.sub_node_info.node_name) 으로 노드 생성하고 def _node_obj_create_subscription(self) -> None: """subscribe 노드 생성시 사용 되는 함수""" print("create_subscription on ", flush=True) self._sub_node_obj.Subscription = self._sub_node_obj.create_subscription( self.sub_node_info.msg_type, self.sub_node_info.topic_name, self.sub_node_info.callback, self.sub_node_info.qo.. 2022. 9. 7. python MultiThread( publisher 2개, suscriber 2개 ) 코드 의도 : 멀티쓰레드로 등록된 subscription에 data를 쏴줄 때마다 callback 함수가 호출되는데, callback 함수가 호출 될 때 마다 해당된 publisher를 publish해주는 코드 동작은 50초간 지속 ros2_agnet.py import os import sys import time import rclpy from std_msgs.msg import String import threading from ros2_handler import SubNodeMaker, PubNodeMaker, Ros2Handler path = os.path.abspath(os.path.dirname(sys.argv[0])) sys.path.append(path[:path.rfind('/')]) #.. 2022. 9. 1. ROS2_msg_pub_sub_multithread_python 코드 subscriber_node_maker # =========================================================================================== # !/usr/bin/python # -*- coding: utf-8 -*- #---------------------------------------------------------------------- import os import sys path = os.path.abspath(os.path.dirname(sys.argv[0])) sys.path.append(path[:path.rfind('/')]) #-------------------------------------------------.. 2022. 7. 21. ros2_msg 토픽 example(executor사용==멀티쓰레드) 멀티스레드 사용해서 ROS2 SUBSCRIBE 예제 # =========================================================================================== # !/usr/bin/python # -*- coding: utf-8 -*- import rclpy from rclpy.executors import Executor # noqa: F401 from rclpy.qos import QoSProfile import threading import time from std_msgs.msg import String class Ros2SubNodeAgent: """ 멀티 쓰레드 에 멀티 노드 구조 멀티쓰레딩 subscribe 내용을 참조 사이트 ht.. 2022. 7. 5. ros2_QoSProfile 관련설명 ros2에서 qos 개념 https://docs.ros.org/en/humble/Concepts/About-Quality-of-Service-Settings.html About Quality of Service settings — ROS 2 Documentation: Humble documentation Overview ROS 2 offers a rich variety of Quality of Service (QoS) policies that allow you to tune communication between nodes. With the right set of Quality of Service policies, ROS 2 can be as reliable as TCP or as best-effort .. 2022. 7. 5. 이전 1 2 3 4 다음