Ứng dụng theo dõi vận động ghi nhận hoạt động thế nào?
Cảm biến chuyển động ghi nhận bước chân như thế nào?
Cơ sở đầu tiên của việc theo dõi vận động là các cảm biến chuyển động trong điện thoại hoặc thiết bị đeo. Gia tốc kế đo gia tốc của thiết bị, còn con quay hồi chuyển cung cấp thông tin về tốc độ xoay và hướng chuyển động. Hệ điều hành có thể xử lý những tín hiệu này để tách chuyển động do người dùng tạo ra khỏi tác động của trọng lực và các nhiễu khác.
Với bước chân, Android có hai cơ chế đáng chú ý. TYPE_STEP_DETECTOR phát ra một sự kiện cho mỗi bước được phát hiện, còn TYPE_STEP_COUNTER trả về số bước tích lũy kể từ lần khởi động lại gần nhất khi cảm biến được kích hoạt. Android cũng ghi rõ step counter có độ trễ có thể lên tới khoảng 10 giây nhưng được thiết kế để có độ chính xác cao hơn step detector và tiêu thụ điện năng thấp.
Ở iPhone, CMPedometer cung cấp dữ liệu đi bộ do hệ thống xử lý, gồm số bước, khoảng cách ước tính, tốc độ trung bình hoặc hiện tại, nhịp bước và số tầng đã lên hoặc xuống khi dữ liệu phù hợp có sẵn. Điều này cho thấy ứng dụng không nhất thiết phải tự xử lý toàn bộ tín hiệu cảm biến thô; nhiều nền tảng đã cung cấp lớp dữ liệu vận động đã được xử lý sẵn.

GPS bổ sung dữ liệu quãng đường và lộ trình ra sao?
Cảm biến chuyển động phù hợp để nhận biết bước chân, nhưng không đủ để biểu diễn đầy đủ một buổi chạy ngoài trời. Khi cần biết người dùng đã đi đâu, đi bao xa hoặc di chuyển với tốc độ nào, ứng dụng có thể sử dụng dịch vụ vị trí.
Trên Android, fused location provider có thể cung cấp vị trí dựa trên các nguồn định vị sẵn có như GPS và Wi-Fi, đồng thời trả về các thông tin như vĩ độ, kinh độ, hướng di chuyển, độ cao hoặc vận tốc. Ứng dụng có thể đăng ký nhận các bản cập nhật vị trí theo chu kỳ để xây dựng hành trình.
Trên Apple, Core Location cũng không chỉ phụ thuộc vào GPS. Framework này có thể kết hợp các thành phần khả dụng như Wi-Fi, GPS, Bluetooth, từ kế, khí áp kế và mạng di động để xác định vị trí, độ cao và hướng của thiết bị. Ứng dụng có thể điều chỉnh độ chính xác mong muốn và khoảng cách giữa các lần cập nhật thông qua các tham số của dịch vụ vị trí.
Vì vậy, khi bạn bắt đầu một buổi chạy có bản đồ, dữ liệu thường được hình thành từ chuỗi điểm vị trí theo thời gian. Khoảng cách giữa các điểm, thay đổi vị trí và thời gian giúp hệ thống ước tính quãng đường, tốc độ và lộ trình thay vì chỉ dựa vào số bước.
Ứng dụng kết hợp cảm biến và GPS để tạo dữ liệu vận động thế nào?
Hai nhóm dữ liệu có vai trò khác nhau nên thường được dùng bổ trợ cho nhau.
Cảm biến chuyển động trả lời câu hỏi cơ thể hoặc thiết bị đang chuyển động theo kiểu nào. GPS và dịch vụ vị trí trả lời câu hỏi thiết bị đang ở đâu và thay đổi vị trí ra sao. Khi kết hợp, ứng dụng có thể xây dựng một bản ghi hoạt động giàu thông tin hơn, chẳng hạn số bước đi cùng quãng đường hoặc lộ trình của một buổi chạy. Cách kết hợp này phù hợp với nguyên tắc xử lý dữ liệu mà các nền tảng cung cấp: Core Motion xử lý dữ liệu từ gia tốc kế, con quay hồi chuyển và bộ đếm bước, trong khi Core Location chịu trách nhiệm cho thông tin vị trí.
Một quy trình điển hình có thể hình dung như sau:
Cảm biến → Dữ liệu thô → Nhận diện chuyển động → GPS/vị trí → Đồng bộ theo thời gian → Tính toán → Hiển thị thành chỉ số
Ví dụ, trong một buổi chạy ngoài trời, hệ thống có thể dùng dữ liệu cảm biến để theo dõi bước chân và dữ liệu vị trí để xác định tuyến đường. Sau đó, ứng dụng liên kết các dữ liệu theo mốc thời gian để tạo ra các chỉ số như số bước, quãng đường, tốc độ hoặc pace.
Điểm quan trọng là các con số hiển thị trên màn hình thường là dữ liệu đã qua xử lý, không phải phép đo trực tiếp duy nhất từ một cảm biến. Apple chẳng hạn cung cấp cả dữ liệu chuyển động thô lẫn dữ liệu đã xử lý trong Core Motion, trong khi Android cung cấp các cảm biến chuyên biệt như step counter để ứng dụng không phải tự xây dựng toàn bộ bộ nhận diện bước từ đầu.
Dữ liệu theo dõi vận động có thể sai hoặc thiếu trong trường hợp nào?
Không phải mọi con số đều có độ chính xác giống nhau. Sai số phụ thuộc vào loại dữ liệu, vị trí thiết bị, môi trường và cách ứng dụng thu thập tín hiệu.
Với dữ liệu bước chân, vị trí đặt điện thoại và kiểu chuyển động có thể ảnh hưởng đến việc nhận diện. Với GPS, tín hiệu vị trí có thể thay đổi theo nguồn cung cấp, độ chính xác được yêu cầu và điều kiện môi trường. Android nêu rõ độ chính xác vị trí phụ thuộc vào các nhà cung cấp vị trí khả dụng, quyền truy cập và cấu hình của yêu cầu vị trí.
Một điểm khác cần phân biệt là số bước và quãng đường không phải cùng một phép đo. Bộ đếm bước có thể ước tính số bước mà không cần GPS liên tục, trong khi quãng đường theo lộ trình ngoài trời có thể cần dữ liệu vị trí. Vì vậy, một ứng dụng vẫn có thể ghi nhận hoạt động đi bộ nhưng không tạo được bản đồ tuyến đường tương ứng khi dịch vụ vị trí không được sử dụng.
Vì sao ứng dụng không phải lúc nào cũng bật GPS liên tục?
GPS và các cập nhật vị trí có thể tiêu tốn tài nguyên hơn việc chỉ dùng bộ đếm bước, nên ứng dụng thường phải cân bằng giữa độ chi tiết và mức tiêu thụ pin. Android khuyến nghị khoảng cập nhật vị trí phụ thuộc vào tình huống sử dụng; các trường hợp thời gian thực có thể cần cập nhật cách nhau vài giây, trong khi các trường hợp không cần phản hồi tức thời có thể dùng khoảng thời gian dài hơn để giảm tiêu thụ pin.
Đây cũng là lý do một ứng dụng có thể tiếp tục ghi bước khi không cần theo dõi tuyến đường, nhưng chỉ kích hoạt theo dõi vị trí chi tiết khi người dùng bắt đầu một phiên chạy hoặc đi bộ có bản đồ. Trên Android, step counter được thiết kế theo hướng tiêu thụ điện năng thấp; trên Apple, ứng dụng cũng có thể cấu hình cách nhận dữ liệu vị trí và quyền cập nhật khi chạy nền theo nhu cầu của tính năng.
Quyền riêng tư cũng là một phần của quá trình ghi nhận dữ liệu. Chẳng hạn, Android yêu cầu quyền ACTIVITY_RECOGNITION cho một số cảm biến nhận diện hoạt động, còn ứng dụng iOS cần khai báo quyền sử dụng dữ liệu chuyển động và vị trí phù hợp với tính năng mà ứng dụng truy cập.
Về bản chất, ứng dụng theo dõi vận động ghi dữ liệu bằng cách kết hợp nhiều nguồn thay vì phụ thuộc vào một cảm biến duy nhất. Cảm biến chuyển động giúp nhận biết bước và trạng thái vận động; bộ đếm bước cung cấp dữ liệu hoạt động đã được hệ thống xử lý; còn GPS và dịch vụ vị trí cung cấp thông tin về vị trí, quãng đường và lộ trình. Sau đó, phần mềm đồng bộ và xử lý các tín hiệu theo thời gian để biến dữ liệu cảm biến thành những chỉ số mà người dùng nhìn thấy trên ứng dụng.
