1. Kiểm tra trạng thái kết nối giữa Mavros và PX4
Mở terminal và thực hiện lệnh sau để xác minh tình hình truyền thông của Mavros:
rostopic echo /mavros/state
Chỉ số quan trọng cần chú ý:
connected: True- Phải hiển thị giá trị đúng (điều kiện tiên quyết cho mọi thao tác)armed: False- Trạng thái chưa khóa an toàn là bình thườngmode: "STABILIZED"- Chế độ mặc định chính xácsystem_status: 3- Hệ thống đã sẵn sàng hoạt động
Vấn đề thường gặp: Nếu connected liên tục hiển thị false, hãy kiểm tra theo thứ tự sau:
- Xác nhận tiến trình PX4 SITL đang chạy (kiểm tra xem có tiến trình
px4_sitlhay không) - Xác minh tham số khởi động Mavros:
Kết quả trả về phải có dạng tương tựrosparam get /mavros/fcu_url"udp://:14540@127.0.0.1:14557"
2. Xác minh cấu hình biến môi trường và đường dẫn
Lỗi cấu hình file .bashrc là nguyên nhân gây ra 80% các vấn đề về môi trường. Thực hiện lệnh sau để kiểm tra nhanh:
env | grep -E 'PX4|ROS'
Các đường dẫn quan trọng phải có:
| Tên biến | Giá trị mẫu | Chức năng |
|---|---|---|
| ROS_PACKAGE_PATH | ~/PX4-Autopilot:$ROS_PACKAGE_PATH | Đường dẫn đến gói PX4 |
| GAZEBO_MODEL_PATH | ~/PX4-Autopilot/Tools/sitl_gazebo/models | Mô hình Gazebo |
Mẹo hữu ích: Sử dụng lệnh này để khắc phục các vấn đề về đường dẫn:
source ~/PX4-Autopilot/Tools/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default
3. Kiểm tra truyền thông giữa Gazebo và PX4
Sau khi khởi động môi trường mô phỏng cơ bản, quan sát các chi tiết sau trong Gazebo:
roslaunch px4 mavros_posix_sitl.launch
Dấu hiệu hoạt động bình thường:
- Giao diện Gazebo hiển thị mô hình drone hoàn chỉnh
- Terminal không có thông báo lỗi màu đỏ
- Lệnh sau phải trả về dữ liệu mô phỏng vật lý thời gian thực:
rostopic echo /gazebo/model_states -n 1
Khắc phục sự cố: Nếu mô hình Gazebo tải không chính xác, hãy thử:
- Xóa bộ nhớ cache mô hình Gazebo cũ:
rm -rf ~/.gazebo/models/* - Khởi tạo lại mô hình PX4:
make px4_sitl_default gazebo
4. Chẩn đoán đầy đủ các nút và chủ đề Mavros
Sử dụng công cụ tích hợp của ROS để kiểm tra chi tiết:
rosnode info /mavros
rostopic list | grep mavros
Bảng so sánh trạng thái chủ đề quan trọng:
| Đường dẫn chủ đề | Trạng thái bình thường | Phương pháp kiểm tra |
|---|---|---|
| /mavros/state | Cập nhật liên tục | rostopic hz |
| /mavros/battery | Dữ liệu pin ảo | rostopic echo |
| /mavros/imu/data | Trên 100Hz | rostopic hz |
Lưu ý đặc biệt: Nếu /mavros/global_position/global trống, có thể cần chờ GPS ảo khóa (khoảng 30 giây)
5. Kiểm tra tích hợp QGroundControl
Trạm mặt đất là bước kiểm tra cuối cùng cho chuỗi liên kết truyền thông:
- Khởi động QGC và kết nối với trình mô phỏng (tự động kết nối hoặc chọn thủ công cổng UDP 14550)
- Trong "MAVLink Inspector", kiểm tra các thông điệp quan trọng:
- HEARTBEAT (type: PX4)
- SYS_STATUS (chỉ số tải)
- GPS_GLOBAL_ORIGIN (hệ tọa độ môi trường mô phỏng)
Kỹ thuật nâng cao: Xác minh thông qua tham số QGC:
- Đặt
COM_RCL_EXCEPT=4để vô hiệu hóa bảo vệ mất RC - Kiểm tra
SYS_AUTOSTARTkhớp với机型 mô phỏng (ví dụ: 4010 tương ứng với drone iris)
Sau khi hoàn thành 5 bước kiểm tra này, môi trường của bạn đã có đủ điều kiện cơ bản để chạy điều khiển Offboard. Khi thử nghiệm bay lần đầu, nên sắp xếp các cửa sổ terminal song song để theo dõi các luồng dữ liệu quan trọng theo thời gian thực:
# Terminal 1: Giám sát trạng thái
watch -n 0.5 rostopic echo /mavros/state
# Terminal 2: Phát hiện tần số thông điệp
rostopic hz /mavros/imu/data /mavros/vision_pose/pose
# Terminal 3: Xem tải hệ thống
top -d 1 -p $(pgrep -d',' px4)
Hãy nhớ rằng, môi trường mô phỏng ổn định là nền tảng cho phát triển sau này - dành 10 phút để kiểm tra đầy đủ có thể giúp bạn tiết kiệm 10 giờ khắc phục sự cố trong tương lai.