2 คะแนน โดย GN⁺ 2024-11-14 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • แม้อยู่ในอุโมงค์ที่ GPS·เซลลูลาร์·Wi‑Fi ใช้งานไม่ได้ GO trip ของ Transit ก็ยังแสดงตำแหน่งคาดการณ์ จำนวนสถานีที่เหลือ และ ETA ต่อไปได้
  • หัวใจสำคัญคือการใช้ สัญญาณการสั่นจากมาตรความเร่ง ของโทรศัพท์เพื่อจำแนกว่าผู้ใช้อยู่บนรถไฟที่กำลังเคลื่อนที่หรือไม่ แล้วคำนวณร่วมกับตำแหน่งยืนยันล่าสุดและตารางเวลาเดินรถ
  • ทีม Transit รวบรวมข้อมูลการติดป้ายกำกับด้วยมือจากการเดินทางหลายร้อยครั้งและจากหลายเมือง และในรถไฟใต้ดิน New York City ก็ขึ้นทุกสายเพื่อบันทึกการสั่นของรถไฟ บันไดเลื่อน และลิฟต์
  • โมเดลทำนายตำแหน่งสุดท้าย The Mixer ทายตำแหน่งปัจจุบันได้ถูกต้องด้วยความน่าจะเป็น 90% และในการทดสอบช่วงแรก รองรับการตรวจจับสถานีใต้ดิน 1.5 ล้านครั้งจากการเดินทางราว 400,000 ครั้ง
  • โมเดลทั้งสองถูกบีบอัดเป็นไฟล์ขนาดเล็กและรันบนโทรศัพท์ จึงสามารถ นับสถานีแบบออฟไลน์ ได้ และข้อมูลการสั่นจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ของ Transit

ทำไมการระบุตำแหน่งใต้ดินจึงยาก

  • ภายในอุโมงค์รถไฟใต้ดิน, metro, U-Bahn มักมีกรณีที่ บริการเซลลูลาร์, Wi‑Fi, GPS ทำงานได้ไม่เสถียร
  • ก่อนหน้านี้ หากต้องการดูสถานีที่กำลังจอดหรือ ETA ระหว่างอยู่ใต้ดิน ผู้ใช้ต้องพึ่งป้ายบนชานชาลา เสียงประกาศสถานี หรือจอดิจิทัลภายในขบวนรถ
  • Transit ไม่ได้สร้างดาวเทียม GPS ที่ทะลุพื้นดินได้ แต่ใช้ แพตเทิร์นการสั่น ของโทรศัพท์เพื่อทำนายตำแหน่งรถไฟในอุโมงค์แทน

ข้อมูลที่แสดงใน GO trip

  • ผู้ใช้เพียงเริ่ม GO trip ใน Transit
    • เริ่มได้ทันทีจากหน้ารายละเอียดเส้นทาง
    • เริ่มจากแผนการเดินทางที่วางไว้ก็ได้
  • แม้แอปจะไม่รู้พิกัด GPS ก็ยังแสดงข้อมูลต่อไปนี้ได้
    • ตำแหน่งคาดการณ์ บนแผนที่
    • การนับถอยหลังจำนวนสถานีที่เหลือ
    • ETA ที่อัปเดตแล้ว

ขั้นที่ 1: จำแนกการเคลื่อนไหวบนรถไฟ

  • เมื่อเข้าอุโมงค์ที่ GPS ใช้งานได้ไม่ดี ขั้นแรกคือต้องตัดสินว่าผู้ใช้อยู่บน รถไฟที่กำลังเคลื่อนที่ หรือไม่
  • Stephen พนักงานของ Transit บันทึกข้อมูลจากมาตรความเร่งด้วยโทรศัพท์ระหว่างเดินทางไปออฟฟิศที่ Montreal และติดป้ายกำกับแต่ละช่วงของการเดินทาง
    • ช่วงที่เริ่มเดิน
    • ช่วงที่ลงบันได
    • ช่วงที่รอบนชานชาลา
    • ช่วงที่รถไฟออกตัวและหยุด
  • ข้อมูลความเร่งถูกจัดระเบียบด้วยวิธีที่ได้แรงบันดาลใจจาก Fourier transform แล้วแปลงเป็น ข้อมูลความถี่
  • บนรถไฟที่กำลังเคลื่อนที่ โทรศัพท์สั่นที่ประมาณ 5Hz ขณะที่ตอนเดินจะอยู่ที่ประมาณ 2Hz
  • เนื่องจากมีทั้งสัญญาณรบกวนแบบสุ่มและความถี่ฮาร์มอนิก จึงอาศัยเพียงแพตเทิร์นง่าย ๆ ไม่พอ ต้องใช้โมเดลแมชชีนเลิร์นนิงที่จำแนกประเภทการเคลื่อนไหวและต้องมีข้อมูลฝึกจำนวนมาก

ขั้นที่ 2: เก็บข้อมูลคำตอบจริง

  • ทีม Transit ติดป้ายกำกับข้อมูลจากการเดินทางหลายร้อยครั้งและจากหลายสิบเมือง เพื่อสร้าง โมเดลทั่วไป ที่สามารถตัดสินว่าเป็น “รถไฟที่กำลังเคลื่อนที่” ได้โดยไม่ขึ้นกับชนิดของรถไฟหรือราง
  • Étienne และ Elijah เก็บข้อมูลการสั่นจากรถไฟใต้ดิน New York City ซึ่งเป็นระบบใต้ดินที่ได้รับความนิยมสูงสุดในแอป
  • ทั้งคู่ถือ iPhone, Android และ MetroCard ขึ้นรถบัสและรถไฟของ MTA ตลอดหนึ่งสัปดาห์ พร้อมติดป้ายกำกับแต่ละขั้นของการเดินทาง
  • เป้าหมายคือหาสัญญาณบอกใบ้ที่แยกการสั่นบนรถไฟออกจากการสั่นประเภทอื่นภายในสถานี
    • พวกเขาขึ้นลงบันไดเลื่อนและลิฟต์ พร้อมใส่คำอธิบายประกอบจนถึงจังหวะที่หยุดนิ่ง
    • พวกเขาโดยสารทุกสายของรถไฟใต้ดิน New York ตั้งแต่ Bronx ถึง Brighton Beach รวมทั้ง Manhattan Bridge, Williamsburg Bridge และ Canarsie Tunnel

ขั้นที่ 3: ฝึกตัวจำแนกการเคลื่อนไหว

  • จากข้อมูลเซ็นเซอร์ที่จัดระเบียบและประมวลผลแล้ว motion classifier ถูกฝึกให้แยกความต่างระหว่าง “รถไฟที่กำลังเคลื่อนที่” กับ “ไม่ใช่รถไฟที่กำลังเคลื่อนที่”
  • โมเดลรับข้อมูลเซ็นเซอร์ที่ไม่มีการติดป้ายกำกับ แล้วประเมินว่าโทรศัพท์อยู่ในรถไฟที่กำลังวิ่ง รถไฟที่หยุดนิ่ง ระหว่างเดิน หรือกำลังใช้บันไดเลื่อน
  • Transit นำผลประเมินนี้ไปเทียบกับ ground truth ที่สร้างจากการใส่คำอธิบายประกอบด้วยมือ แล้วปรับตรรกะเพื่อให้ทำนายได้แม่นยำขึ้น
  • หลังการปรับแต่ง โมเดลสามารถแยกได้ว่าผู้ใช้อยู่บนรถไฟที่กำลังเคลื่อนที่จริง หรือเป็นเพียงกรณีที่โทรศัพท์สั่นเฉย ๆ

ขั้นที่ 4: โมเดลทำนายตำแหน่ง The Mixer

  • หลังรู้แล้วว่ากำลังเคลื่อนที่หรือไม่ ขั้นต่อไปคือต้องทำนายให้ได้ว่ารถไฟของผู้ใช้อยู่ตรงไหนกันแน่
  • โมเดลสุดท้าย The Mixer คำนวณตำแหน่งปัจจุบันโดยถ่วงน้ำหนักองค์ประกอบต่อไปนี้
    • การทำนายประเภทการเคลื่อนไหว ว่าผู้ใช้อยู่บนรถไฟที่กำลังเคลื่อนที่หรือไม่
    • ตำแหน่งยืนยันล่าสุดของผู้ใช้
    • ตำแหน่งยืนยันล่าสุดนั้นเพิ่งเกิดขึ้นไม่นานหรือเกิดมานานแล้ว
    • ตารางเวลาเดินรถ
  • The Mixer ทำนายตำแหน่งปัจจุบันได้ถูกต้องด้วยความน่าจะเป็น 90%
  • ในตัวอย่างการเดินทางด้วย Paris RER มีการอัปเดตตำแหน่งเป็นระยะผ่าน GPS และการสแกน Bluetooth/Wi‑Fi ระหว่างช่วงใต้ดิน และอัปเดตเหล่านี้ใช้ช่วยปรับแก้การทำนายตำแหน่งใต้ดินในช่วงที่ไม่มีการเชื่อมต่อ
  • เมื่อผู้ใช้กลับขึ้นสู่พื้นดินและเข้าสู่พื้นที่ที่มีบริการเซลลูลาร์ แอปจะกลับไปใช้ ตำแหน่ง GPS มาตรฐานอีกครั้ง

การทำงานแบบออฟไลน์และการจัดการข้อมูลส่วนตัว

  • เมื่อทำนายตำแหน่งได้แล้ว ก็สามารถอัปเดต ETA ของผู้ใช้ได้แม้อยู่ใต้ดิน
  • ผู้ใช้สามารถนับสถานีได้โดยไม่ต้องพึ่ง GPS ที่ไม่เสถียรหรือคอยมองจอภายในขบวนรถ
  • การนับสถานีทำงานแบบ ออฟไลน์ ทั้งหมด
  • motion classifier และ The Mixer ถูกบีบอัดเป็นไฟล์ขนาดเล็กและทำงานบนโทรศัพท์
  • ข้อมูลการสั่นจะไม่ถูกส่งไปยังเซิร์ฟเวอร์ของ Transit
    • ไม่มีการติดตาม
    • ไม่มีคุกกี้
    • ข้อมูลการสั่นจะอยู่ในอุปกรณ์ของผู้ใช้

วิธีใช้และขนาดของการทดสอบช่วงแรก

  • ผู้ใช้เพียงค้นหารถไฟใต้ดิน เปิด Transit และเริ่มการเดินทางด้วย GO ก็จะเห็นจำนวนสถานีลดลงทีละสถานี
  • ระหว่างการทดสอบช่วงแรก Transit รองรับการตรวจจับสถานีใต้ดิน 1.5 ล้านครั้ง จาก การเดินทางราว 400,000 ครั้ง
  • ระบบนำทางแบบทีละขั้นของ GO มีผู้เดินทางบนพื้นดินหลายล้านคนใช้งานอยู่แล้วใน มากกว่า 600 เมือง
  • หลังจากเปิดตัว GO Bike เมื่อเดือนที่แล้ว ผู้ใช้จักรยานก็ใช้งาน GO เช่นกัน
  • ด้วยฟีเจอร์นี้ ผู้โดยสารรถไฟใต้ดินจะเชื่อถือ GO ได้มากขึ้นแม้อยู่ในช่วงที่สัญญาณสื่อสารไม่ดี
  • แอปใช้งานได้จาก หน้าดาวน์โหลด Transit

1 ความคิดเห็น

 
GN⁺ 2024-11-14
ความคิดเห็นจาก Hacker News
  • ราว 10 ปีก่อนผมเคยอ่านบล็อกโพสต์ของบริษัทฝรั่งเศสชื่อ snips ซึ่งเป็นวิธีที่แอปใช้เซ็นเซอร์วัดความกดอากาศเพื่อตรวจจับช่วงที่รถไฟกำลังเข้าออกสถานี
    เขาบอกว่าเมื่อรถไฟเข้าหรือออกจากอุโมงค์ระหว่างสถานี จะเกิดความกดอากาศเพิ่มขึ้น/ลดลงแบบฉับพลัน ทำให้ได้สัญญาณที่ค่อนข้างชัดเจน
    เจอแล้ว: https://medium.com/snips-ai/underground-location-tracking-3e...

    • ในรถไฟความเร็วสูง ท่อลมอัด ที่ขอบประตูบางครั้งก็ถูกอัดให้มีแรงดันสูงขึ้นก่อนเข้าอุโมงค์ด้วย
      ท่อนี้ตรวจจับแรงดันที่พุ่งขึ้นเพื่อดูว่าประตูกำลังหนีบมือคนอยู่หรือไม่ และยังใช้ลดเอฟเฟกต์เสียง “ปัง” ที่เกิดจากความต่างของแรงดันตอนเข้าอุโมงค์ด้วย
    • ผมเคยทำงานในโปรเจกต์นี้ และอธิบายได้ว่าทำไมสุดท้ายถึงไม่ได้ใช้ เซ็นเซอร์วัดความกดอากาศ
      ไม่ใช่มือถือทุกเครื่องจะมีเซ็นเซอร์วัดความกดอากาศ และคุณภาพการวัดก็แตกต่างกันมากตามรุ่น เช่น บางเครื่องแค่จับมือถือแน่นเหมือนบีบ ค่าเซ็นเซอร์ก็กระโดดแล้ว
      Transit ไม่มีสิทธิ์อ่านค่าเซ็นเซอร์วัดความกดอากาศด้วย และสำหรับการใช้งานของเรา ก็ยากจะให้เหตุผลเพียงพอในการขอสิทธิ์นั้น
    • ผมจำได้ว่าก่อนหน้านั้น Google Maps ก็เคยทดลองใช้ แมกนีโตมิเตอร์ เพื่อประเมินการเคลื่อนที่ของรถไฟ
      แต่ดูเหมือนความแม่นยำจะขึ้นกับว่ากระแสในระบบไฟฟ้าเป็น DC หรือ AC และถึงขั้นขึ้นกับอายุของตู้โดยสารด้วย
    • Berlin Airport ใช้รถไฟทำหน้าที่ระบายอากาศ
      ตัวอาคารสร้างเสร็จแล้วแต่ยังไม่ได้เปิดใช้งาน ดังนั้นเกือบ 10 ปี บริษัทเดินรถไฟท้องถิ่นจึงต้องเดินรถเข้าออกอาคาร
    • มือถือ Android ที่มี เซ็นเซอร์วัดความกดอากาศ มีน้อยมาก
  • เจ๋งมากจริง ๆ
    ตอนนี้ผมกำลังทำโปรเจกต์ บันทึกเสียง London Underground ที่วิ่งผ่านอยู่ใต้ตัวผมจริง ๆ
    ได้ยิน Northern Line ที่วิ่งผ่านใต้เราอย่างชัดเจนมาก และลึกไม่ถึง 30 เมตร
    ผมหมกมุ่นกับการบันทึกเสียงความถี่ต่ำคุณภาพสูงเพื่อจับเสียงรถไฟวิ่งผ่าน ไม่รู้เหมือนกันว่าทำไม แต่มันค้างอยู่ในหัวไม่ยอมไปไหน
    ตัวอย่างเช่น มีอุโมงค์สองเส้นคือขาขึ้นเหนือ/ขาลงใต้ ผมสงสัยว่าจะเชื่อมโยงกับข้อมูลจริงของ TfL แล้วแยกลายเซ็นเสียงของแต่ละเส้นได้ไหม
    ที่น่าสนใจกว่านั้นคือ หลังปิดให้บริการแล้ว เราจะ “จับ” รถซ่อมบำรุงที่วิ่งอยู่ใต้เราได้หรือไม่
    ผมไม่รู้ว่าโปรเจกต์นี้จะเอาไปทำอะไรต่อได้อีก แต่ผมถูกตรึงใจกับความคิดเรื่องการจับเสียงของสิ่งมีชีวิตกึ่งเลือนรางที่กำลังเคลื่อนไหวอยู่ใต้ตัวผม

    • เจ๋งดี อยากรู้ว่าคุณพิจารณา เซ็นเซอร์ แบบไหนไว้บ้าง
      ผมสนใจการสั่นสะเทือนความถี่สูงที่อ่อนมาก ๆ จากวัตถุทั่วไปที่อยู่นิ่ง ซึ่งน่าจะเป็นเป้าหมายที่แทบจะตรงข้ามกันเลย ยังไม่ค่อยคืบหน้าในการหาเซ็นเซอร์เท่าไร
      อยากได้เครื่องวัดการสั่นแบบเลเซอร์ดอปเปลอร์ แต่ราคาแพง
    • เมื่อไม่กี่สัปดาห์ก่อนผมไปงานโอเพนเฮาส์ของ Lamont-Doherty Earth Observatory มีนักวิจัยคนหนึ่งกำลังบันทึกและวิเคราะห์ เสียงแผ่นดินไหว คล้าย ๆ แบบนี้
      เดี๋ยวจะลองหาดูว่าใครเป็นคนทำ
      [0] https://lamont.columbia.edu/
    • งานที่ใช้เฉพาะสัญญาณพาสซีฟที่แอบเก็บได้จากพื้นผิว แถมบันทึกด้วยอุปกรณ์ที่ไม่ใช่ระดับมืออาชีพ เพื่อแยกแยะสิ่งที่เกิดขึ้นลึกลงไปใต้ดิน น่าจะเป็นเรื่องที่ หน่วยงานรัฐบาล บางแห่งสนใจ
    • ผมเคยอยู่ห่างจากแนวรถไฟใต้ดินวิ่งผ่านราว 300 หลา และคิดว่าได้ยินเสียงมัน
      ไม่รู้ว่าเป็นเสียงหลงเหลือจากทางออกฉุกเฉินบนทางเท้า หรือพื้นดินสั่นเหมือนระฆังกันแน่
  • อยากขอชื่นชมสั้น ๆ ว่า โทนภาษาคุยกันเอง ของบทความดีมากจริง ๆ
    แม้จะลงรายละเอียดพอสมควรอย่างกราฟความถี่ ก็ยังอ่านสนุก ผมอ่านฉบับภาษาอังกฤษ
    คนเขียนทำได้ยอดเยี่ยมจริง ๆ

    • ใช่เลย เป็นโทนที่น่ารักแบบ คนเขียนจริง ๆ ไม่ใช่ AI
    • บทความเปิดตัวผลิตภัณฑ์และบทความวิศวกรรมของพวกเขามักเขียนได้ดีมากจริง ๆ
      Transit App เป็นแอปที่เหมือนอัญมณี
  • คำว่า “ตัวจำแนกประเภท” ฟังแล้วอบอุ่นดี น่าประทับใจที่ทั้งบทความไม่พูดคำว่า AI เลยแม้แต่ครั้งเดียว

    • ดีแล้ว แปลว่า วิศวกรรม เป็นคนถือพวงมาลัย ไม่ใช่ การตลาด
  • บางเมืองติดตั้ง BLE beacon ในอุโมงค์เพื่อส่งตำแหน่ง แล้วให้หาตำแหน่งปัจจุบันจากสัญญาณบีคอนที่แรงที่สุด
    วิธีนี้ดูดีตรงที่หาคำตอบได้โดยไม่ต้องติดตั้งฮาร์ดแวร์

    • รถไฟบางขบวนก็มีเทคโนโลยีสมัยใหม่ที่เรียกว่า “หน้าจอ” ซึ่งแสดงตำแหน่งปัจจุบัน สถานีถัดไป สายรถไฟ ฯลฯ
      แต่พูดอย่างเป็นธรรม หน้าจอพวกนั้นผิดบ่อยจนน่าขำ และยังวนแสดงข้อความไร้ประโยชน์อย่าง “อย่าลืมสัมภาระของคุณ” ทำให้ต้องรอประมาณ 20 วินาทีถึงจะเห็นข้อมูลที่ต้องการ บนรถไฟนี่แย่สุด ๆ
    • London tube ค่อย ๆ มี สัญญาณมือถือ เพิ่มเข้ามาทีละสาย แต่ทุกชานชาลามี WiFi ของสถานีอยู่แล้ว แค่นั้นก็น่าจะใช้ได้
  • ความคืบหน้าระหว่างสถานีน่าจะติดตามได้ดีกว่าถ้าตรวจจับ ลายเซ็นความเร่ง ของแต่ละช่วงราง
    โดยเฉพาะถ้ารางไม่ได้ตรงและราบเรียบอย่างสมบูรณ์ และดูคล้ายระบบนำทางในรถยนต์ยุคแรกก่อนมี GPS ตอนนั้นใช้การนำทางแบบเดดเรกคอนนิง แล้วจับคู่รูปทรงของเส้นทางที่วัดได้กับข้อมูลแผนที่เพื่อแก้ดริฟต์

    • ลายเซ็นความเร่งเปลี่ยนไปตาม คนขับ ความจุและน้ำหนักบรรทุกปัจจุบันของรถไฟ รุ่นรถไฟ หรือความต่างของระบบขับเคลื่อน
      วิธีที่น่าเชื่อถือกว่าน่าจะเป็นการใช้มาตรความเร่งเพื่อตรวจสอบลักษณะของราง เช่น ความชัน การเลี้ยว ความขรุขระ หรือการผสมกันของสิ่งเหล่านี้
      เสียงตอนเข้าโค้ง การเปลี่ยนของเสียงพื้นหลังบริเวณที่อุโมงค์มาบรรจบกัน ฯลฯ ก็ใช้ได้ ความเร่งที่อินทิเกรตแล้วให้ความเร็วของรถไฟ จึงมีประโยชน์เมื่อใช้ร่วมกับอินพุตอื่น
    • ผมคิดว่าเจตนาของพวกเขาน่าจะเป็นการสร้างสิ่งที่ทำงานได้กับรางใด ๆ โดยไม่ต้องมี ข้อมูลลายเซ็น
      ถ้าเก็บลายเซ็นได้ก็คงเจ๋ง แต่ถ้าจะครอบคลุมเมืองและมือถือจำนวนมาก นั่นเป็นงานมหาศาล บริษัทอย่าง Google หรือ Apple อาจมีข้อมูลและศักยภาพ แต่บริษัทเล็ก ๆ ไม่น่าจะทำได้
    • Shazam สำหรับรางรถไฟ
    • ในเครือข่ายรถรางแถวบ้านผม แค่ฟังเสียงอินเวอร์เตอร์ที่ขับมอเตอร์ก็ทำได้แล้ว
      มันมีเสียงหึ่งที่เป็นเอกลักษณ์มากซึ่งสัมพันธ์กับรอบหมุนของล้อ ผมเคยทำมาตรวัดความเร็วแบบหยาบ ๆ ด้วย SFT, การตรวจจับพีค และการกรองคาลมาน
  • ในฐานะผู้ใช้ Transit ขอบคุณที่ทำแอปเจ๋ง ๆ แบบนี้ขึ้นมา และนี่เป็นหนึ่งในเรื่องที่น่าหงุดหงิดที่สุดมาตลอด
    ไม่ใช่แค่ Transit เท่านั้น แต่แอปไหนก็ตามที่รองรับการนำทางด้วยขนส่งสาธารณะก็เป็นเหมือนกัน และ Apple Maps ก็ไม่ใช่ข้อยกเว้น
    เคยคิดอยู่ว่าต้องมีใครสักคนกำลังทำเรื่องนี้อยู่แน่ ๆ แต่พอได้อ่านถึงความคิดที่ใส่ลงไปในการออกแบบและระดับของรายละเอียดแล้วรู้สึกสดชื่นจริง ๆ เป็นงานที่ต้องใช้ความพยายามมหาศาล
    ทีม Transit ควรภูมิใจได้เลยที่แก้หนึ่งใน ความไม่พอใจเล็ก ๆ แต่ใหญ่ ของแอปขนส่งสาธารณะได้

  • เจ๋งมาก ๆ ผมนั่ง BART บ่อย และคิดมาตลอดว่าน่าจะสนุกถ้าสร้างตัวจำแนกตำแหน่งจาก เสียงเอี๊ยดอ๊าด ที่ต่างกันไปในแต่ละตำแหน่งของอุโมงค์
    แต่การใช้ข้อมูลจากมาตรวัดความเร่งน่าจะใช้งานได้จริงกว่ามาก

    • การใช้ ไมโครโฟน เป็นเซ็นเซอร์ในแอปขนส่งสาธารณะค่อนข้างลำบาก
      อาจอัดเสียงรบกวนตอนรถไฟวิ่งเพื่อดูการเคลื่อนไหวได้ แต่ผู้ใช้คงสงสัยว่าแอปกำลังแอบฟังตัวเองอยู่
    • ก็แค่จูนเสียงเอี๊ยดอ๊าดให้แต่ละสถานีออกมาเป็นคอร์ดที่ต่างกันก็พอ
  • ถ้าเพิ่มการ นำทางแบบประมาณตำแหน่งจากการเคลื่อนที่ ด้วยมาตรวัดความเร่งและไจโรสโคปเข้าไปกับแมชชีนเลิร์นนิง จะไม่ดีขึ้นมากเหรอ?
    เช่น ตอนอยู่ในรถไฟที่กำลังวิ่ง ก็จำกัดให้เคลื่อนที่ไปตามเส้นทางอุโมงค์ที่รู้จัก และเมื่อพบว่ารถไฟออกตัว ก็จำกัดว่าผู้ใช้อยู่ภายในสี่เหลี่ยมพื้นที่จอดของขบวนนั้น
    หรือว่าต่อให้มีข้อมูลเพิ่มเติม ฮาร์ดแวร์สมาร์ตโฟนก็ยังคลาดเคลื่อนเกินไป?

    • สิ่งที่น่าจะช่วยได้มากที่สุดคงเป็น Hall sensor/แมกนีโตมิเตอร์/เข็มทิศ ทางนั้นน่าจะให้ผลการนำทางแบบประมาณตำแหน่งจากการเคลื่อนที่ที่พอใช้ได้
      ถ้าใช้ไจโรสโคปอย่างเดียว มันทำงานได้ดีมากในระยะสั้น แต่แทบไร้ประโยชน์กับโค้งยาว ๆ ที่ค่อย ๆ เลี้ยว ไจโรสโคปแบบ MEMS จะดริฟต์ไปค่อนข้างมากในช่วงหลายสิบวินาที
      ถ้าทำ sensor fusion ด้วยแมกนีโตมิเตอร์กับมาตรวัดความเร่งได้ ปัญหาก็จะน้อยลง แต่ในรถไฟความเร็วสูง แรงจากการเร่ง/ชะลอและแรงในโค้งทำให้หา “ทิศลง” ได้ยาก และก็ไม่รู้ว่าเข็มทิศจะทำงานได้ดีแค่ไหนในอุโมงค์รถไฟใต้ดิน
      ผมมีแค่ประสบการณ์ใช้แอป “ขอบฟ้าเทียม” บนเครื่องบิน ซึ่งที่นั่นมาตรวัดความเร่งไร้ประโยชน์โดยสิ้นเชิงในการหา “ทิศลง” แค่มีการบินผาดแผลงที่เกิดแรงหลาย G ครั้งเดียว ขอบฟ้าก็ไม่รู้มุม pitch เลย ถ้าสภาพแวดล้อมแม่เหล็กมีสัญญาณรบกวนมากและ GPS ก็ปิดอยู่ ก็ไม่รู้ด้วยซ้ำว่ากำลังไปทางไหน
    • นั่นแหละคือสิ่งที่พวกเขากำลังทำอยู่
      เพียงแต่ การนำทางแบบประมาณตำแหน่งจากการเคลื่อนที่ โดยทั่วไปไม่แม่นยำมาก ดังนั้นถ้ารู้ได้ว่าขึ้นรถไฟแล้ว ก็จะรู้ได้อย่างแม่นยำว่ารถไฟอยู่ที่ไหน และเพิ่มความแม่นยำได้มาก
    • การใช้ IMU ดูจะยาก สัญญาณจริงอย่างการเร่งแบบนุ่มนวลของรถไฟมีโอกาสสูงที่จะถูกกลบด้วยสัญญาณรบกวนจากแรงสั่นสะเทือนและการเคลื่อนไหวตามธรรมชาติของคน
      ถ้าผู้ใช้ยืนนิ่งหรือนั่งนิ่งพอทุกครั้งที่รถไฟหยุด ก็คงปรับแก้ bias ของ IMU ได้ แต่ถึงอย่างนั้นการนำทางแบบประมาณตำแหน่งจากการเคลื่อนที่ก็น่าจะดริฟต์ไปมากอยู่ดี
    • ถ้าทำ FFT กับสัญญาณไมโครโฟนและมาตรวัดความเร่งสำหรับทุกช่วงของระบบรถไฟใต้ดิน แล้วบันทึกเวลาเดินทางในอดีตไว้ ก็ดูค่อนข้างเรียบง่าย
      แค่ประมาณความเร็วปัจจุบันเทียบกับบันทึกในอดีตและคาดการณ์เวลาถึง ดังนั้นควรโฟกัสที่ความเร็วมากกว่าความเร่ง
    • วิธีแก้ที่นำไปใช้นั้นน่าสนใจมาก แต่ในทางปฏิบัติแล้วไม่ใช่การ “ทำนายตำแหน่งในอุโมงค์รถไฟใต้ดินจากลายเซ็นการสั่นของโทรศัพท์”
  • สัปดาห์ที่แล้วได้ลองใช้ฟีเจอร์นี้ใน New York subway ไม่รู้เลยว่าเป็นฟีเจอร์ใหม่
    ไอเดียดีมาก แต่สำหรับผมมันไม่ทำงาน แอปแสดงว่ารถไฟอยู่หลังตำแหน่งจริงไปหลายสถานี