-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain_task.py
More file actions
73 lines (58 loc) · 1.9 KB
/
main_task.py
File metadata and controls
73 lines (58 loc) · 1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import rclpy
from rclpy.node import Node
from rclpy.executors import MultiThreadedExecutor
from std_msgs.msg import String, Float32
from .main_action import FallRecoveryFull
from .main_buttonhandler import ButtonSoccerNode
from .main_head_control import HeadControl
from .jarak import JarakCalculation
from .kick_useless import KickDecision
# from .main_vision import VisionYolo
class MainTask(Node):
def __init__(self):
super().__init__('main_task_node')
self.create_subscription(
Float32,
'/vision/jarak_kamera',
self.jarak_callback,
10
)
self.jarak_bola = 0.0
self.get_logger().info('MainTask Node Started')
def jarak_callback(self, msg):
self.jarak_bola = msg.data
self.get_logger().info(f"Jarak bangun: {self.jarak_bola:.2f}")
# def obj_callback(self, msg: String):
# self.get_logger().info(f'Object detected: {msg.data}')
def main(args=None):
rclpy.init(args=args)
#vision main vision jangan taruh sini
main_node = MainTask()
# bangun_node = FallRecoveryFull()
button_node = ButtonSoccerNode()
# head_control = HeadControl()
# kick_control = KickDecision()
jarak = JarakCalculation()
executor = MultiThreadedExecutor()
executor.add_node(main_node)
# executor.add_node(head_control)
executor.add_node(jarak)
# executor.add_node(bangun_node)
executor.add_node(button_node)
# executor.add_node(kick_control)
try:
executor.spin()
except KeyboardInterrupt:
pass
finally:
button_node.stop_all()
executor.shutdown()
main_node.destroy_node()
# head_control.destroy_node()
jarak.destroy_node()
# bangun_node.destroy_node()
button_node.destroy_node()
# kick_control.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
main()