Mendeteksi "kurangnya gerakan" pada perangkat GPS


21

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.


7
jika Anda memiliki accelorometer yang terintegrasi ke dalam pelacak Anda, Anda dapat mengeksploitasi data acceleometer untuk mendeteksi apakah kendaraan benar-benar bergerak, dan Anda dapat mematikan pelacakan GPS jika tidak bergerak.
geogeek

2
Apakah perangkat GPS Anda mencatat kualitas sinyal, jumlah satelit, data seperti itu? Juga, sepertinya Anda akan 'nanti menampilkan gerakan ...' jadi bisakah Anda mengonfirmasi bahwa itu bukan masalah deteksi waktu-nyata , melainkan sesuatu yang akan Anda filter nanti saat diproses?
Simbamangu

Saya telah mengedit pertanyaan saya untuk memberikan informasi lebih lanjut. Singkatnya: accelerometer itu bertindak gila, kami memiliki akses ke jumlah satelit atau info kualitas, tetapi kami tidak yakin bagaimana menggunakannya, dan ya, ini BUKAN masalah deteksi waktu-nyata.
Shaamaan

2
Anda akan menemukan beberapa rekomendasi yang berguna di situs statistik terkait dengan mendeteksi pencilan dan penghalusan .
whuber

1
Geofence - ketika kendaraan berada di zona (yaitu garasi maka jangan merekam posisi) - androidzoom.com/android_applications/geofencing
Mapperz

Jawaban:


5

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:

  • stationary_speed = jika unit seluler lebih lambat dari ini, maka itu diam
  • too_fast = jika unit seluler bergerak lebih cepat dari ini, maka ia telah memberikan pembacaan GPS palsu

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.


Perangkat GPS mengembalikan sejumlah data dengan setiap paket yang dikirim, termasuk posisi dan kecepatan saat ini. Kami sudah memiliki sistem di tempat di mana, jika kecepatan lebih rendah dari nilai tertentu, kami menganggap kendaraan tidak bergerak, namun Anda adalah kasus di mana kendaraan akan mengirim data dengan kecepatan di atas ambang itu, meskipun masih (catatan: yang kecepatan tidak terlalu bagus untuk menambah batas atas). Saya tidak yakin apakah menghitung kecepatan berdasarkan posisi saja (daripada membaca GPS) adalah ide yang bagus.
Shaamaan

2

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.


Info tersebut masih berguna untuk menentukan data yang salah. Saya melakukan banyak penyaringan 'benar' berdasarkan itu. 9 masih tinggi, apakah Anda yakin chip tidak mengulangi nilai terakhir yang diketahui, mereka memiliki fungsi ini di papan dan itu diaktifkan sebagian besar kali.
Glenn Plas

Masalah utama adalah dengan kendaraan yang disimpan dalam semacam gudang untuk malam itu. Saya tidak berpikir itu mengulangi posisi tahu terakhir, karena kendaraan AKAN menghilang sepenuhnya jika mereka masuk / disimpan di garasi beton (atau apa pun yang lebih padat). Tetesan satelit adalah indikator, tetapi tampaknya halus dan ternyata jauh lebih mudah untuk hanya men-tweak dan menggunakan data sensor gerak.
Shaamaan

Bukan pada 3000+ kendaraan yang saya lacak, Anda membutuhkan jumlah sat yang digunakan untuk memperbaikinya, bukan yang terlihat. Itu bisa tetap tinggi ketika Anda memiliki atap yang masih memungkinkan sesuatu lewat sinyal. Tapi perbaikannya adalah indikator yang baik, bersama dengan nilai gain Db.
Glenn Plas

Saya dapat dengan sempurna mengatakan yang ada di dalam / di luar garasi. Saya juga tidak menderita masalah spidering karena keadaan gerakan / non-gerak menjebaknya. Saya setuju bahwa sensor memberi Anda lebih banyak untuk melanjutkan.
Glenn Plas

1
Sangat mungkin kolega saya telah mengatur jumlah satelit yang terlihat secara tidak sengaja, daripada nomor yang digunakan untuk memperbaiki (yang saya lihat hanyalah lembar Excel dengan data dengan judul kolom yang diisi secara manual). : P Dalam kasus apa pun, seperti yang saya tulis, sensor gerak yang disetel adalah jalan keluar dari masalah ini.
Shaamaan

2

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.


1
Saya harus mengomentari ide untuk mengumpulkan tegangan. Ini luar biasa! Kami mengalami sedikit masalah dengan kendaraan tertentu, dan kami tidak yakin mengapa. Kami saat ini mencurigai itu mungkin karena keterampilan yang buruk pada bagian dari orang teknis yang memasang alat pelacak yang menghasilkan masalah voltase, meskipun itu juga bisa sabotase (ya, sabotase; kami sedang memantau tingkat bahan bakar dan drivernya tidak suka itu). Jika kita dapat merekam voltase pada alat pelacak, itu akan sangat membantu. :) Besar jempol! (Saya akan memberi lebih dari satu, tetapi sayangnya, saya tidak bisa ...)
Shaamaan

Ini berfungsi untuk setiap kendaraan yang tidak memiliki pengatur tegangan antara unit pelacak Anda. Lihat tautan ini di luar dari program konfigurasi KCS, ini adalah unit yang saya bicarakan, jalankan saja dan lihat apa yang dapat Anda lakukan mengenai penginderaan gerak, Anda akan terkejut. Unduh yang ini , itu adalah perangkat lunak terbaru dari unit revisi9. Ide voltase adalah milik mereka. Anda akan melihat beberapa default bagus di sana (truk / mobil / motor)
Glenn Plas

Jumlah sat adalah indikator yang buruk, Anda benar-benar ingin jumlah sat digunakan untuk mengambil perbaikan terakhir (Itulah nilai yang Anda lihat, itu bukan indikator situasi saat ini), meskipun jumlah sat akan membuat Anda dapat tentukan poin yang benar-benar buruk, itu tidak akan membantu Anda di sekitar zona abu-abu, misalnya sampel kualitas biasa-biasa saja. Anda perlu menggabungkan sensor yang berbeda. Menghitung kecepatan pada dasarnya melakukan hal yang sama seperti yang sudah dilakukan chip GPS Anda sekarang, dan kualitas itu juga tergantung pada jumlah sampel yang Anda ambil (jalan tidak lurus ke mana-mana) dan akurasinya. Masalah ayam-telur
Glenn Plas

0

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.


1
Karena kendaraan bermasalah ketika tidak bergerak sementara di tempat parkir atau garasi, ini sama sekali tidak berguna. :(
Shaamaan

0

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.


Istilah untuk ini adalah Multipath Error
ruruskyi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.