refactor(main.py): implement pass flag functionality for MarkerRunner
- Add pass_marker variable to main.py - Update MarkerRunner initialization in Robot_Ctrl class - Modify MarkerRunner class to accept pass_flag parameter - Implement pass flag logic in MarkerRunner's send_request method - Initialize ROS 2 context in main function
This commit is contained in:
parent
f77b7edb13
commit
8782fdc092
4
main.py
4
main.py
@ -23,6 +23,8 @@ from utils.base_msg import BaseMsg
|
||||
from task_1.task_1 import run_task_1
|
||||
from task_5.task_5 import run_task_5
|
||||
|
||||
pass_marker = True
|
||||
|
||||
def main():
|
||||
rclpy.init() # 新增:在主程序中统一初始化 ROS 2 上下文
|
||||
Ctrl = Robot_Ctrl()
|
||||
@ -66,7 +68,7 @@ class Robot_Ctrl(object):
|
||||
self.odo_msg = localization_lcmt()
|
||||
self.image_processor = ImageProcessor()
|
||||
# DEBUG
|
||||
self.marker_runner = MarkerRunner()
|
||||
self.marker_runner = MarkerRunner(pass_flag=pass_marker)
|
||||
self.send_lock = Lock()
|
||||
self.delay_cnt = 0
|
||||
self.mode_ok = 0
|
||||
|
@ -23,8 +23,9 @@ class MarkerClient(Node):
|
||||
|
||||
|
||||
class MarkerRunner:
|
||||
def __init__(self):
|
||||
def __init__(self, pass_flag=False):
|
||||
self.marker_client = None
|
||||
self.pass_flag = pass_flag
|
||||
|
||||
def run(self):
|
||||
self.marker_client = MarkerClient()
|
||||
@ -34,6 +35,8 @@ class MarkerRunner:
|
||||
self.marker_client.destroy_node()
|
||||
|
||||
def send_request(self, x, y, z, color, observe=False):
|
||||
if self.pass_flag:
|
||||
return "pass flag."
|
||||
response = self.marker_client.send_request(x, y, z, color)
|
||||
if observe:
|
||||
self.marker_client.get_logger().info(
|
||||
|
Loading…
x
Reference in New Issue
Block a user