Kami menggunakan perangkat pelacakan GPS yang dipasang di kendaraan dan kemudian menampilkan gerakan di aplikasi kami. Namun kami memiliki masalah kecil dengan kendaraan saat mereka TIDAK bergerak.
Meskipun berdiri diam, perangkat GPS akan mengirim informasi dengan berbagai posisi, kadang-kadang bahkan akan melaporkan kendaraan bergerak (sesekali akan melaporkan kendaraan bergerak cukup cepat). Hasil akhirnya adalah representasi buruk dari gerakan dalam aplikasi kita, dan lebih buruk lagi, perhitungan yang salah berkaitan dengan berapa lama kendaraan itu bergerak dan berdiri diam (kita punya beberapa analisis statistik yang sedang berlangsung juga).
Saya tahu masalahnya bukan hal baru: Navigasi Google di ponsel Android saya juga memiliki masalah ketika saya berhenti di persimpangan jalan sekali-sekali, mendeteksi bahwa saya sekarang mengemudi di arah yang berlawanan (padahal sebenarnya, saya berdiri diam ).
Tetapi kita benar-benar perlu memiliki beberapa metode untuk memberitahu kendaraan tidak bergerak, terutama untuk jangka waktu yang lama.
Masalahnya diperparah pada beberapa kendaraan yang disimpan di bawah atap untuk malam, yang menyebabkan GPS menjadi liar karena sinyal yang lebih lemah (yang masih cukup kuat untuk mendapatkan posisi).
Kita dapat mendeteksi apakah mesin kendaraan dihidupkan atau dimatikan, tetapi kita tidak dapat menganggap itu tidak bergerak dengan mesin mati (ada insiden di mana kendaraan yang rusak ditarik ... dan tentu saja ada kasus pencurian potensial yang juga perlu dilaporkan).
Apa cara terbaik untuk mendekati masalah ini?
EDIT:
Untuk menambahkan beberapa informasi lebih lanjut:
Perangkat GPS memang memiliki accelerometer, tetapi itu hanya mengembalikan informasi biner (bergerak / tidak bergerak) dan entah TERLALU sensitif atau sekadar tidak berfungsi.
Kami memang memiliki akses ke hal-hal seperti jumlah satelit atau kualitas, tetapi kami tidak yakin bagaimana cara memanfaatkan informasi itu. Demikian pertanyaan saya. :)
Masalahnya bukan tentang mendeteksi apakah kendaraan bergerak atau tidak secara real-time. Kami mengumpulkan data, dan kemudian melakukan beberapa analisis statistik dan menampilkannya. Kami memang menunjukkan posisi kendaraan saat ini, tetapi itu tidak terlalu penting. Jadi pada dasarnya kita harus bisa memberi tahu kendaraan sedang atau tidak bergerak dengan melihat data historis.
sumber
Jawaban:
Komentar di bawah pertanyaan Anda memunculkan beberapa poin bagus, terutama tentang menafsirkan kualitas data satelit (# satelit, kekuatan sinyal), dan Anda dapat menggunakan informasi ini baik di perangkat seluler atau di server untuk memfilter nilai GPS "buruk". Pertanyaannya muncul menjadi dua bagian: 1) bagaimana Anda mendefinisikan pembacaan GPS palsu, dan 2) bagaimana Anda mendefinisikan keadaan stasioner.
Mari kita mulai dengan beberapa parameter:
Sulit menghitung kecepatan ini dengan akurat. Katakanlah Anda menghitung kecepatan sebagai / antara pembacaan sebelumnya (pada t0) dan pembacaan saat ini (pada t1). Jika delta waktu besar, dan unit berputar di sekitar kurva, maka jarak sebenarnya yang ditempuh akan lebih besar dari jarak yang dihitung. Juga, jika Anda mendapatkan dua bacaan palsu berturut-turut, dan mereka cukup dekat satu sama lain, maka Anda bisa mendapatkan hasil yang tidak terduga.
Setelah Anda memiliki kecepatan, bandingkan saja dengan parameter Anda untuk melihat apakah pembacaan GPS palsu atau jika unit stasioner.
Anda dapat melakukan pemfilteran lebih canggih dengan filter Kalman , tetapi itu bisa lebih banyak melibatkan.
sumber
Kami telah berhasil mengubah data sensor gerak.
Menggunakan data sensor gerak, data pengapian, dan kecepatan yang dilaporkan oleh pelacak GPS, kita harus dapat mengetahui kapan kendaraan bergerak atau tidak dengan akurasi yang cukup baik.
Kami juga telah melihat jumlah satelit, dan itu tidak terlihat baik. Sementara jumlah satelit lebih rendah untuk kendaraan di bawah atap, itu masih relatif tinggi. 9-10 adalah nilai yang biasa untuk kendaraan seperti itu, sementara di bawah atap turun menjadi 7 (tetapi kadang-kadang bisa mendapatkan sinyal dan naik juga). Tak perlu dikatakan, jumlah satelit terbukti kurang bermanfaat.
sumber
Anda dapat menggunakan jumlah sat yang digunakan untuk melakukan perbaikan terakhir, bukan yang terlihat. Misalnya. Lihat = 11, Perbaiki = 5 Dan gunakan nilai-nilai Max DB dari sinyal sat terkuat. Ini harus lebih dari 30Db untuk mendapatkan sinyal yang layak.
Perangkat yang kami gunakan memiliki konsep bergerak / tidak bergerak, sensornya adalah: Akselerasi, getaran, tegangan input, sinyal input (dari kontak kunci), data GPS. Untuk melaporkan posisi seperti start / stop (berbasis acara) dan acara arah / jarak, perangkat harus berada dalam mode bergerak (ini adalah penghitung mundur, dapat dikonfigurasi).
Sensor memiliki kemungkinan untuk digabungkan. Tidak ada kejadian arah / jarak atau penghitung waktu yang dilaporkan saat pelacak menentukan untuk tidak berada dalam mode bergerak. Ketika sensor yang terlibat berhenti melaporkan, timer menghitung mundur ke nol dan kemudian stop-event dihasilkan + unit dimasukkan ke mode non-bergerak. Sampai nanti. Dengan cara ini Anda dapat memisahkan nilai akselerasi mesin mulai untuk 'meletakkannya' dalam mode bergerak, dan ambang bawah yang terpisah untuk 'menjaganya' dalam mode bergerak karena keduanya merupakan pola akselerasi yang sangat berbeda.
Unit yang kami gunakan akan melaporkan jika suatu titik diambil dengan data sat yang buruk, tidak yakin apakah perangkat keras Anda melakukan itu. Kami memiliki SV_Posisi atau SV_KeepAlive atau SV_TimeAlive. Keepalive akan mengulangi nilai terakhir yang tepat karena GPS tidak dapat memperbarui tabelnya atau mendapatkan perbaikan yang akurat sama sekali, bahkan tidak buruk. TimeAlive adalah apa yang akan Anda lihat ketika Anda melintasi terowongan atau seseorang telah parkir di garasi.
Salah satu cara untuk juga memantau, meskipun itu sebagian membuat dugaan berpendidikan dan itu tergantung pada jenis aset yang Anda lacak adalah catu daya tegangan. misalnya. perangkat yang beroperasi pada 12.30v adalah mobil yang mesinnya tidak bekerja. Jika Anda melihat satu yang melaporkan 14.2v Anda tahu itu adalah alternator yang berputar. Untuk kendaraan 24v ada pola yang mirip dengan spot.
Semoga ini memberi Anda beberapa ide. Itu semua tergantung sedikit pada seberapa baik perangkat keras itu. Sumber data Anda mulai di sana dan sisanya setelah itu hanya sebaik itu. Tapi saya akan sangat menyarankan Anda untuk menggunakan kemampuan unit untuk melakukan perbedaan kualitas daripada melakukan semuanya di sisi server (di belakang). Setelah Anda menyukai 3000 unit, Anda akan memerlukan server besar untuk secara konstan menganalisis semua data pelacakan, sehingga pada saat itu Anda akan menyadari bahwa itu tidak akan skala.
sumber
Saya punya masalah serupa ketika menggunakan GPS logger untuk melacak skuter. Apa yang saya lakukan adalah overlay trek GPS pada layer jalan, dan secara manual menghapus lokasi yang salah di atau dekat persimpangan atau lampu lalu lintas. Saya yakin ada alat otomatis untuk mengatasinya, mungkin buffer di sekitar persimpangan, dan menghitung waktu minimum dan maksimum masuk dan keluar dari buffer itu.
sumber
Istilah seni untuk ini adalah spidering . Pendekatan umum adalah hanya sampel saja ketika perbaikan adalah 10m dari perbaikan sebelumnya. Sebagai contoh, perbaikan catatan handheld Garmin berdasarkan jarak sementara fitness menonton perbaikan catatan berdasarkan waktu . Genggam tidak terlalu banyak laba-laba tetapi arloji melakukannya.
sumber