1 điểm bởi GN⁺ 2024-07-16 | 1 bình luận | Chia sẻ qua WhatsApp

Tính toán vị trí từ dữ liệu GPS thô

Tầm quan trọng của hệ thống GPS

  • GPS là Hệ thống Định vị Toàn cầu, được օգտագործ trong nhiều ứng dụng khác nhau, từ tìm đường trên Google Maps đến các ứng dụng gọi xe
  • GPS rất chính xác, đến mức còn được dùng để đo kiến tạo mảng và sự dịch chuyển lục địa
  • GPS thuộc sở hữu của chính phủ Mỹ, và vì lý do địa chính trị, quyền truy cập của các quốc gia khác có thể bị hạn chế
  • Vì vậy, các hệ thống tương tự GPS của những quốc gia khác như GLONASS của Nga, Galileo của Liên minh châu Âu và BeiDou của Trung Quốc đã được phát triển

Hệ tọa độ

  • Nhiều hệ tọa độ khác nhau được dùng để biểu diễn vị trí
  • Vĩ độ/kinh độ thường dùng nhìn chung không phù hợp cho tính toán toán học
  • Hệ tọa độ ECEF (Earth Centered, Earth Fixed) biểu diễn vị trí với gốc tọa độ tại tâm Trái Đất
  • Hệ WGS 1984 là hệ tọa độ ECEF được sử dụng phổ biến nhất

Định nghĩa độ cao

  • Khi định nghĩa độ cao, cần xác định bề mặt làm mốc tham chiếu
  • Mô hình ellipsoid tham chiếu và geoid được sử dụng
  • Ellipsoid tham chiếu không có ý nghĩa vật lý, còn geoid được định nghĩa là tập hợp các điểm có cùng thế năng trọng trường

Vĩ độ và kinh độ

  • Vĩ độ trắc địa là góc giữa đường pháp tuyến trên bề mặt ellipsoid và mặt phẳng xích đạo
  • Kinh độ trắc địa là góc giữa kinh tuyến gốc và một kinh tuyến cụ thể
  • Độ cao trắc địa là độ cao được đo so với ellipsoid

Chuyển đổi giữa tọa độ trắc địa và tọa độ Descartes

  • Việc chuyển từ tọa độ trắc địa sang tọa độ Descartes khá đơn giản
  • Việc chuyển từ tọa độ Descartes sang tọa độ trắc địa đòi hỏi quy trình lặp

Hệ tọa độ cục bộ

  • Hệ tọa độ cục bộ là hệ ENU (East-North-Up) lấy vị trí người dùng làm tâm
  • Có phương pháp để chuyển tọa độ ECEF sang tọa độ ENU

Tính toán vị trí người dùng bằng GPS

Xác định vị trí vệ tinh

  • Quỹ đạo của vệ tinh có dạng elip và được xác định đầy đủ bằng 6 tham số Kepler
  • Vị trí vệ tinh được tính theo tài liệu đặc tả giao diện GPS

Tính khoảng cách giữa người dùng và vệ tinh

  • Bộ thu GPS dùng dấu thời gian của tín hiệu vệ tinh để tính khoảng cách đến vệ tinh
  • Khoảng cách này được gọi là pseudorange
  • Cần mô hình hóa độ lệch đồng hồ giữa người dùng và vệ tinh cũng như độ trễ khí quyển để tính vị trí chính xác

Ước lượng độ lệch đồng hồ của người dùng

  • Độ lệch đồng hồ của người dùng được ước lượng cùng với vị trí người dùng

Thuật toán ước lượng vị trí người dùng và độ lệch đồng hồ

  • Thiết lập vị trí người dùng ban đầu và độ lệch đồng hồ ban đầu rồi lặp lại việc hiệu chỉnh
  • Với mỗi vệ tinh, hiệu chỉnh pseudorange, tính thời gian truyền tín hiệu và tính vị trí vệ tinh
  • Dùng các kỹ thuật đại số tuyến tính để tìm nghiệm bình phương tối thiểu

Lưu ý về mã Matlab

  • Một số phương trình cần gọi bộ giải
  • Ví dụ, việc tính dị thường lệch tâm (E) từ dị thường trung bình (M) cần đến bộ giải

Thiết lập thí nghiệm

  • Cần một thiết bị GPS chuyên dụng để thu thập dữ liệu GPS thô
  • Các chip NEO-M8T và 6T của u-blox là phù hợp
  • Dùng tiện ích STRSVR của RTKLib để nhận và lưu tín hiệu GPS thô

Xử lý dữ liệu GPS thô

  • STRSVR lưu dữ liệu GPS thô ở định dạng RTCM3
  • Dùng thư viện Matlab goGPS để giải mã dữ liệu RTCM và chuyển đổi sang cấu trúc dữ liệu Matlab

Phân tích kết quả

  • Phân tích sự thay đổi của vị trí và độ lệch đồng hồ
  • Phân tích biến động của các thành phần Đông/Bắc/Lên (E/N/U) của vị trí
  • Phân tích biến động độ lệch đồng hồ theo thời gian

Tính toán phương vị/độ cao của vệ tinh

  • Tính phương vị và độ cao của vệ tinh trong hệ quy chiếu ENU lấy người dùng làm tâm

Tóm tắt của GN⁺

  • Bài viết này giải thích nguyên lý hoạt động của hệ thống GPS và cách tính toán vị trí
  • Nhiều phương pháp hiệu chỉnh khác nhau được dùng để nâng cao độ chính xác của dữ liệu GPS
  • Bài viết cung cấp cách xử lý và phân tích dữ liệu thực tế thông qua mã Matlab
  • Nội dung hữu ích để hiểu hạ tầng kỹ thuật của hệ thống GPS
  • Các dự án có chức năng tương tự gồm RTKLib và goGPS

1 bình luận

 
GN⁺ 2024-07-16
Ý kiến trên Hacker News
  • Android đã cung cấp quyền truy cập vào carrier phase, và nhờ đó có thể đo vị trí tương đối giữa các thiết bị trong cùng một khu vực với độ chính xác rất cao

    • Nếu bổ sung thêm accelerometer và gyroscope, có thể đo vị trí theo thời gian thực, và vì sự thay đổi của phép đo pseudorange GNSS là có thể dự đoán được nên độ chính xác không suy giảm nhiều
    • Nhờ vậy có thể triển khai những tính năng thú vị như tự động hạ cánh máy bay mô hình xuống thùng xe tải
    • Nếu mức tiêu thụ điện năng không quá quan trọng, có thể chế tạo một bộ thu GNSS khá tốt với chi phí thấp
  • Có một dự án mã nguồn mở dành cho những ai muốn tự làm bộ thu GPS

  • Đây là một liên kết thường xuyên xuất hiện trong các bình luận liên quan đến GPS, nhưng có lý do chính đáng

  • Cũng có một liên kết thay thế cung cấp phần giải thích mang tính tương tác hơn

  • Tôi từng gặp một nhà nghiên cứu thu thập dữ liệu GPS của các sinh vật thủy sinh hiếm khi nổi lên mặt nước trong thời gian rất ngắn

    • Có thể ghi lại dữ liệu thô và hậu xử lý để giảm mạnh mức tiêu thụ điện năng cũng như thời gian phải lộ ra trước tín hiệu vệ tinh (thời gian lộ ra dưới 1 giây)
  • Bước tiếp theo là PPP hoặc RTK

    • GNSS là một lĩnh vực thú vị với rất nhiều khả năng
  • Có thêm một triển khai mã nguồn mở tốt khác

  • Có một hình minh họa cho thấy hình học giữa người dùng và nguồn phát ảnh hưởng thế nào đến độ bất định của vị trí người dùng

    • Tôi ước ứng dụng bản đồ trên điện thoại có một thiết lập cho phép đổi hình dạng vùng bất định vị trí từ hình tròn sang dạng giao của các cung
  • Tôi từng nghe rằng GPS là một trong số rất ít ứng dụng trong đời sống hằng ngày phải tính đến các hiệu ứng tương đối tính

    • Dữ liệu được tạo ra thực chất đã loại bỏ các hiệu ứng tương đối tính này
  • Bài tập dành cho những người theo thuyết Trái Đất phẳng: nếu vệ tinh không quay quanh một Trái Đất hình cầu, hãy giải thích cách GPS mapping trên điện thoại hoạt động