5 bước kiểm tra kết nối quan trọng sau khi cài đặt môi trường mô phỏng ROS Noetic và PX4

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ường
  • mode: "STABILIZED" - Chế độ mặc định chính xác
  • system_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:

  1. Xác nhận tiến trình PX4 SITL đang chạy (kiểm tra xem có tiến trình px4_sitl hay không)
  2. Xác minh tham số khởi động Mavros:
    rosparam get /mavros/fcu_url
    Kết quả trả về phải có dạng tương tự "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:

  1. Giao diện Gazebo hiển thị mô hình drone hoàn chỉnh
  2. Terminal không có thông báo lỗi màu đỏ
  3. 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:

  1. 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)
  2. 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_AUTOSTART khớ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.

Thẻ: ROS Noetic PX4 Mavros Gazebo QGroundControl

Đăng vào ngày 8 tháng 9 lúc 19:21