rosping_ric.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 
3 import rospy
4 from resized_image_client import ResizedImageClient
5 from std_msgs.msg import Float64
6 
7 
8 class TrafficMode():
9  stop = 0
10  error = 1
11  narrow = 2
12  normal = 3
13  wide = 4
14 
16  def __init__(self, node, ping_node, x=0.1, y=0.1, mps=1.0):
17  ResizedImageClient.__init__(self, node, x, y, mps)
18  self.sub_ping = rospy.Subscriber(ping_node, Float64, self.pingCB)
19  self.old_mode = TrafficMode.stop
20  self.mode = TrafficMode.narrow
21 
22  def pingCB(self, data):
23  delay = data.data
24 
25  # sample
26  # if delay > 0:
27  # self.msg_per_second = 10.0
28  # self.resize_scale_x = 1.0/(1.0 + delay)
29  # self.resize_scale_y = 1.0/(1.0 + delay)
30 
31  if delay < 0:
32  self.mode = TrafficMode.error
33  elif delay < 10.0:
34  self.mode = TrafficMode.wide
35  elif delay < 500.0:
36  self.mode = TrafficMode.normal
37  else:
38  self.mode = TrafficMode.narrow
39 
40  if self.old_mode != self.mode:
41  if self.mode == TrafficMode.error:
42  self.msg_per_second = 10.0
43  self.resize_scale_x = 0.1
44  self.resize_scale_y = 0.1
45  elif self.mode == TrafficMode.narrow:
46  self.msg_per_second = 1.0
47  self.resize_scale_x = 0.1
48  self.resize_scale_y = 0.1
49  elif self.mode == TrafficMode.normal:
50  self.msg_per_second = 1.0
51  self.resize_scale_x = 0.3
52  self.resize_scale_y = 0.3
53  elif self.mode == TrafficMode.wide:
54  self.msg_per_second = 1.0
55  self.resize_scale_x = 1.0
56  self.resize_scale_y = 1.0
57 
58  self.update()
59  self.old_mode = self.mode
60 
61 if __name__ == '__main__':
62  rospy.init_node('rosping_resized_image_client')
63  image_node = rospy.get_param('image_node', '/head_resized')
64  delay_node = rospy.get_param('delay_node', '/ping/delay')
65  ric = RospingRIC(image_node, delay_node)
66  rospy.spin()
67  while True:
68  ric.update()
69  time.sleep(1)
70 
71 
72 
def __init__(self, node, ping_node, x=0.1, y=0.1, mps=1.0)
Definition: rosping_ric.py:16
def pingCB(self, data)
Definition: rosping_ric.py:22


resized_image_transport
Author(s): Yohei Kakiuchi
autogenerated on Mon May 3 2021 03:03:39