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