Bỏ qua tới nội dung
LSLab

Máy tính đồng hành nối với bộ điều khiển bay như thế nào?

  • Trung cấp
  • Bài viết
  • Từ 16 tuổi
  • 6 phút đọc
Minh họa biên tập về máy tính đồng hành trong hệ thống drone.

Máy tính đồng hành nối với bộ điều khiển bay qua một giao diện dữ liệu như cổng nối tiếp hoặc Ethernet, rồi dùng giao thức phần mềm để trao đổi trạng thái và yêu cầu. Bộ điều khiển bay tiếp tục chạy flight stack; máy tính đồng hành xử lý tác vụ bổ sung. Một vòng điều khiển chỉ có ý nghĩa khi lệnh được bộ điều khiển nhận, trạng thái quay lại và phần mềm phát hiện được dữ liệu cũ hoặc mất kết nối.

Mục lục
Máy tính đồng hành xử lý tác vụ ảnh và gửi yêu cầu; bộ điều khiển bay giữ vai trò điều khiển chuyển động.
  • Camera đầu vào
  • Máy tính đồng hành
  • Bộ điều khiển bay

Bạn sẽ học được gì

  • Theo dõi giao diện, giao thức và hướng dữ liệu giữa hai máy tính.
  • Phân biệt thông điệp lệnh với phản hồi trạng thái.
  • Nêu cách kiến trúc có thể phát hiện dữ liệu cũ hoặc mất kết nối.

Cần biết trước

Không cần kinh nghiệm bay; bộ điều khiển bay là máy chạy phần mềm giữ ổn định và quản lý phương tiện, còn companion computer là máy tính bổ sung cho ứng dụng.

Máy tính nào làm phần việc nào?

Trong kiến trúc PX4, bộ điều khiển bay chạy flight stack và phần mềm thời gian thực; máy tính đồng hành thường chạy hệ điều hành phục vụ ứng dụng tổng quát, chẳng hạn thị giác máy tính. Nó không thay thế bộ điều khiển. Tách vai trò giúp phần ứng dụng đề xuất một mục tiêu trong khi flight stack vẫn kiểm tra và điều khiển phương tiện.

Đường dữ liệu gồm ba lớp: dây hoặc mạng nối hai thiết bị; giao thức đóng gói thông điệp; rồi ý nghĩa của từng thông điệp. PX4 nêu kết nối nối tiếp hoặc Ethernet và các lựa chọn như MAVLink hoặc uXRCE-DDS. Giao diện vật lý có thể hoạt động nhưng ứng dụng vẫn lỗi nếu hai phía dùng giao thức, phiên bản hay loại bản tin không tương thích.

Lệnh đi và phản hồi quay lại thế nào?

Ở một thiết kế dùng MAVLink, ứng dụng trên máy tính đồng hành tạo lệnh hoặc setpoint rồi gửi thông điệp qua kết nối đã cấu hình. Bộ điều khiển kiểm tra lệnh theo giao thức và trạng thái vận hành, sau đó phát phản hồi hoặc telemetry. Một “setpoint” là giá trị mong muốn, như mục tiêu vị trí; nó không phải bằng chứng rằng phương tiện đã đạt mục tiêu.

Ở thiết kế ROS 2 với uXRCE-DDS, client chạy trên PX4 và agent chạy trên máy tính đồng hành; chúng trao đổi dữ liệu hai chiều qua nối tiếp hoặc UDP. Agent làm cầu nối để topic được trao đổi trong mạng ROS 2. Cách này đưa dữ liệu trạng thái và điều khiển vào giao diện ROS, nhưng vẫn cần cấu hình đúng các topic và phiên bản tương thích.

Phần mềm phía đồng hành nên theo dõi ba kết quả tách biệt: kết nối còn sống, thông điệp được chấp nhận, và trạng thái thực tế tiến triển như dự kiến. Heartbeat hoặc bản tin trạng thái có thể cho biết đầu kia còn phát dữ liệu; ACK cho biết phản hồi giao thức cho một lệnh; telemetry trạng thái cho biết flight stack đang báo gì. Những tín hiệu này không thể thay thế lẫn nhau.

Làm sao nhận biết mất kết nối?

Ứng dụng cần giám sát thời điểm nhận gần nhất, trạng thái client/agent hoặc heartbeat, và phản hồi cho yêu cầu đang chờ. Nếu dữ liệu vượt quá ngưỡng timeout do hệ thống cấu hình, ứng dụng đánh dấu liên kết không khỏe, ngừng coi setpoint mới là đã giao, ghi lại thời điểm và chờ hành động dự phòng được thiết kế cho flight stack. Không tự suy luận hành động failsafe cụ thể nếu chưa biết cấu hình của phương tiện.

Một ví dụ minh họa trong simulator: ứng dụng gửi yêu cầu “giữ mục tiêu quan sát” và nhận trạng thái vị trí cùng trạng thái chế độ. Khi giả lập ngắt cáp, heartbeat dừng và trạng thái nhận bị cũ. Ứng dụng ghi connection_lost, không báo “mục tiêu đạt”, còn bộ điều khiển thực hiện hành vi mất liên kết theo cấu hình riêng. Kết quả cần kiểm tra là nhật ký phân biệt rõ trạng thái cuối cùng được nhận với thời điểm mất dữ liệu.

Giao diện có điều kiện và giới hạn nào?

PX4 chỉ xử lý những loại thông điệp hoặc topic mà giao diện và cấu hình hỗ trợ. Tên topic trùng nhau không đảm bảo kiểu dữ liệu, hệ tọa độ, đơn vị hay dấu thời gian đúng. Mạng ROS 2 có thể làm lộ topic ngoài ý muốn nếu triển khai thiếu cách ly; tài liệu uXRCE-DDS cảnh báo phải giữ mạng DDS trong phạm vi được bảo vệ. Đó là lý do cần kiểm tra topology mạng và chính sách bảo mật cùng với phần dây nối.

Lựa chọn giữa MAVLink và uXRCE-DDS phụ thuộc phần mềm phía ứng dụng, nhu cầu ROS 2, luồng dữ liệu và khả năng hỗ trợ trên đúng phiên bản PX4. Lựa chọn cổng nối tiếp hay Ethernet phụ thuộc cổng sẵn có, cấu hình và băng thông cần. Không có một bo đồng hành hoặc mức công suất chung phù hợp mọi nhiệm vụ.

Hiểu lầm thường gặp

Gửi setpoint không có nghĩa bộ điều khiển đã làm theo. Cần đọc trạng thái và phản hồi phù hợp.

Cáp nối không tự làm hệ thống an toàn. Giao thức, cấu hình cổng, dữ liệu hai chiều và bảo vệ mạng đều ảnh hưởng kết quả.

Câu hỏi thường gặp

Máy tính đồng hành kết nối bằng gì?

PX4 mô tả các kết nối nối tiếp và Ethernet, với các giao thức như MAVLink hoặc uXRCE-DDS.

Làm sao biết lệnh đã tới?

Theo dõi phản hồi của giao thức và trạng thái flight stack; việc nhận gói không đồng nghĩa yêu cầu đã hoàn tất.

Khi mất kết nối thì máy tính nào xử lý tiếp?

Flight stack chạy trên bộ điều khiển bay; hành vi sau mất liên kết tùy cấu hình failsafe của phương tiện.

Tóm tắt

  • Companion computer và flight controller trao đổi hai chiều qua giao diện cùng giao thức được cấu hình.
  • Lệnh, ACK/heartbeat và telemetry trạng thái trả lời những câu hỏi khác nhau.
  • Timeout phải dẫn tới báo mất kết nối và xử lý theo hành vi dự phòng đã cấu hình.

Thuật ngữ trong bài

Tên tiếng Việt, tên tiếng Anh và nghĩa dùng trong bài. Di chuột, chạm hoặc dùng phím Tab tới từ có gạch chân chấm để xem giải thích ngay khi đọc.

máy tính đồng hànhcompanion computer
Máy tính riêng trên phương tiện để chạy các ứng dụng bổ sung cho flight stack.
bộ điều khiển bayflight controller
Máy tính chạy flight stack và quản lý các chức năng điều khiển của phương tiện.
uXRCE-DDS
Cầu nối client–agent để trao đổi topic ROS 2 giữa PX4 và máy tính đồng hành.
heartbeat
Bản tin định kỳ giúp ứng dụng nhận biết một hệ thống còn gửi dữ liệu.
setpoint
Giá trị mục tiêu mà ứng dụng gửi cho bộ điều khiển.

Bài này chưa được đánh dấu là đã xem

Thấy nội dung sai hoặc chưa an toàn?

Báo cho quản trị viên qua email. Thư có sẵn tên bài và đường dẫn.

Báo lỗi bài này
Xem tất cả bài của chủ đề

Nguồn

Các nguồn này viết cho người đọc lớn hơn. Nếu thấy khó, hãy đọc cùng người lớn.