diff --git a/ros2/src/robobin/robobin/message_handler.py b/ros2/src/robobin/robobin/message_handler.py index 01adeb4d2e9ea358ea5f77a8334c37a3d9336526..dd41cdbf100fca7f9b50531783ad0c2133ea2c03 100644 --- a/ros2/src/robobin/robobin/message_handler.py +++ b/ros2/src/robobin/robobin/message_handler.py @@ -50,14 +50,21 @@ class MessageHandler: "S": (-0.5, 0), # Move backward "D": (0, -0.5) # Turn right } - response_data = directions.get(message.strip().upper(), (0, 0)) + + # Get direction data and ensure it's a tuple of floats + raw_response_data = directions.get(message.strip().upper(), (0, 0)) + response_data = (float(raw_response_data[0]), float(raw_response_data[1])) # Explicitly cast to float + + # Send feedback to the client response = f"Manual control command received: {response_data}".encode() if self.testing: print(response.decode()) else: client_socket.sendall(response) + print("Processed manual control command:", response_data) return "cmd_vel", response_data + def handle_unknown_message(self, client_socket, _): """Handles unknown commands."""