test
python
ros2_wait_for_cloud_message.py
Go to the documentation of this file.
1
# ros2_wait_for_cloud_message.py subscribes to topic "/cloud" on ROS2, receives 10 messages and exits.
2
# Replacement for missing "rostopic echo -n 10 /cloud" (ROS1), since ROS2 does not support parameter "-n 10" or something equivalent
3
# Taken from https://docs.ros.org/en/foxy/Tutorials/Writing-A-Simple-Py-Publisher-And-Subscriber.html
4
5
import
rclpy
6
from
rclpy.node
import
Node
7
from
sensor_msgs.msg
import
PointCloud2
8
9
class
CloudSubscriber
(Node):
10
11
def
__init__
(self):
12
super().
__init__
(
'cloud_subscriber'
)
13
self.
cloud_msg_cnt
= 0
14
self.
subscription
= self.create_subscription(PointCloud2,
'cloud'
, self.
listener_callback
, 10)
15
16
def
listener_callback
(self, msg):
17
# self.get_logger().info('cloud_subscriber: "%s"' % msg)
18
self.
cloud_msg_cnt
= self.
cloud_msg_cnt
+ 1
19
20
def
main
(args=None):
21
max_msg_cnt = 10
22
rclpy.init(args=args)
23
cloud_subscriber =
CloudSubscriber
()
24
while
cloud_subscriber.cloud_msg_cnt < max_msg_cnt:
25
rclpy.spin_once(cloud_subscriber)
26
print
(
"CloudSubscriber: {} messages received"
.format(cloud_subscriber.cloud_msg_cnt))
27
cloud_subscriber.destroy_node()
28
rclpy.shutdown()
29
30
if
__name__ ==
'__main__'
:
31
main
()
ros2_wait_for_cloud_message.CloudSubscriber
Definition:
ros2_wait_for_cloud_message.py:9
ros2_wait_for_cloud_message.CloudSubscriber.listener_callback
def listener_callback(self, msg)
Definition:
ros2_wait_for_cloud_message.py:16
roswrap::console::print
ROSCONSOLE_DECL void print(FilterBase *filter, void *logger, Level level, const char *file, int line, const char *function, const char *fmt,...) ROSCONSOLE_PRINTF_ATTRIBUTE(7
Don't call this directly. Use the ROS_LOG() macro instead.
ros2_wait_for_cloud_message.CloudSubscriber.subscription
subscription
Definition:
ros2_wait_for_cloud_message.py:14
ros2_wait_for_cloud_message.CloudSubscriber.__init__
def __init__(self)
Definition:
ros2_wait_for_cloud_message.py:11
ros2_wait_for_cloud_message.CloudSubscriber.cloud_msg_cnt
cloud_msg_cnt
Definition:
ros2_wait_for_cloud_message.py:13
ros2_wait_for_cloud_message.main
def main(args=None)
Definition:
ros2_wait_for_cloud_message.py:20
sick_scan_xd
Author(s): Michael Lehning
, Jochen Sprickerhof
, Martin Günther
autogenerated on Fri Oct 25 2024 02:47:10