สารบัญ:

นำทางหุ่นยนต์ด้วยเซ็นเซอร์รองเท้า, ไม่มี GPS, ไม่มีแผนที่: 13 ขั้นตอน (พร้อมรูปภาพ)
นำทางหุ่นยนต์ด้วยเซ็นเซอร์รองเท้า, ไม่มี GPS, ไม่มีแผนที่: 13 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นำทางหุ่นยนต์ด้วยเซ็นเซอร์รองเท้า, ไม่มี GPS, ไม่มีแผนที่: 13 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: นำทางหุ่นยนต์ด้วยเซ็นเซอร์รองเท้า, ไม่มี GPS, ไม่มีแผนที่: 13 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: โรคพิษสุนัขบ้า 2024, พฤศจิกายน
Anonim

โดย obluobluFollow About: oblu เป็นเซ็นเซอร์นำทางในร่ม ข้อมูลเพิ่มเติมเกี่ยวกับ oblu »

หุ่นยนต์เคลื่อนที่ในเส้นทางที่ตั้งโปรแกรมไว้ล่วงหน้าและส่งข้อมูลการเคลื่อนไหวจริงไปยังโทรศัพท์ (ผ่านบลูทูธ) เพื่อการติดตามแบบเรียลไทม์ Arduino ถูกตั้งโปรแกรมไว้ล่วงหน้าด้วยเส้นทางและ oblu ใช้สำหรับตรวจจับการเคลื่อนไหวของหุ่นยนต์ oblu ส่งข้อมูลการเคลื่อนไหวไปยัง Arduino เป็นระยะ ตามนั้น Arduino ควบคุมการเคลื่อนไหวของล้อเพื่อให้หุ่นยนต์ไปตามเส้นทางที่กำหนดไว้ล่วงหน้า

ขั้นตอนที่ 1: บทนำสั้นๆ

แนะนำโดยย่อ
แนะนำโดยย่อ

โปรเจ็กต์นี้เกี่ยวกับการทำให้หุ่นยนต์เคลื่อนที่ในเส้นทางที่กำหนดไว้ล่วงหน้าด้วยความแม่นยำ โดยไม่ต้องใช้ GPS หรือ WiFi หรือบลูทูธในการวางตำแหน่ง แม้แต่แผนที่หรือแผนผังอาคาร และวาดเส้นทางจริง (ตามมาตราส่วน) แบบเรียลไทม์ บลูทูธสามารถใช้แทนสายเพื่อส่งข้อมูลตำแหน่งแบบเรียลไทม์

ขั้นตอนที่ 2: เรื่องราวเบื้องหลังที่น่าสนใจ

เรื่องราวเบื้องหลังที่น่าสนใจ
เรื่องราวเบื้องหลังที่น่าสนใจ

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

ตัวเลือกที่ชัดเจนของเราสำหรับโมดูลเซ็นเซอร์ตรวจจับความเคลื่อนไหว (IMU) คือ "oblu" (อ้างอิงภาพด้านบน) แต่ส่วนที่ยุ่งยากที่นี่คือเฟิร์มแวร์ที่มีอยู่ของ oblu นั้นเหมาะสำหรับ Pedestrian Dead Reckoning (PDR) หรือ Pedestrian Navigation ที่ติดตั้งบนเท้าในคำง่ายๆ ประสิทธิภาพ PDR ของ oblu ในร่มเนื่องจาก IMU แบบติดตั้งบนเท้านั้นค่อนข้างน่าประทับใจ ความพร้อมใช้งานของแอพ Android (Xolu) สำหรับการติดตามแบบเรียลไทม์ของ oblu เป็นเซ็นเซอร์รองเท้า เพิ่มความได้เปรียบ อย่างไรก็ตาม ความท้าทายคือการใช้ประโยชน์จากอัลกอริธึมที่มีอยู่ซึ่งอิงตามแบบจำลองการเดินของมนุษย์ เพื่อนำทางหุ่นยนต์และเฝ้าติดตาม

ขั้นตอนที่ 3: บทนำโดยย่อของ "oblu"

Image
Image
คำอธิบายระบบ
คำอธิบายระบบ

"oblu" เป็นแพลตฟอร์มการพัฒนาโอเพ่นซอร์สขนาดเล็ก ต้นทุนต่ำ โดยมุ่งเป้าไปที่แอปพลิเคชันการตรวจจับการเคลื่อนไหวที่สวมใส่ได้ เป็นแบตเตอรี่ Li-ion แบบชาร์จไฟได้และช่วยให้สามารถชาร์จแบตเตอรี่ USB ในตัวได้ มีโมดูลบลูทูธออนบอร์ด (BLE 4.1) สำหรับการสื่อสารแบบไร้สาย "oblu" โฮสต์ไมโครคอนโทรลเลอร์จุดลอยตัว 32 บิต (AT32UC3C ของ Atmel) ซึ่งช่วยให้สามารถแก้สมการการนำทางที่ซับซ้อนบนเครื่องบินได้ ดังนั้น เราจึงดำเนินการประมวลผลการเคลื่อนไหวทั้งหมดบน oblu และส่งเพียงผลลัพธ์สุดท้าย ทำให้การรวม oblu กับระบบเชื่อมโยงทำได้ง่ายมาก "oblu" ยังโฮสต์อาร์เรย์ multi-IMU (MIMU) ซึ่งช่วยให้สามารถหลอมรวมเซ็นเซอร์และเพิ่มประสิทธิภาพในการตรวจจับการเคลื่อนไหว แนวทาง MIMU เพิ่มความเป็นเอกลักษณ์ของ "oblu"

การคำนวณภายในของ oblu ขึ้นอยู่กับการเดินของมนุษย์ oblu ให้การกระจัดระหว่างสองขั้นตอนต่อเนื่องกันและการเปลี่ยนแปลงในหัวข้อ อย่างไร - เมื่อเท้าสัมผัสกับพื้น ความเร็วของพื้นรองเท้าจะเป็นศูนย์ กล่าวคือ พื้นรองเท้าหยุดนิ่ง วิธีนี้ oblu จะตรวจจับ 'ขั้นตอน' และแก้ไขข้อผิดพลาดภายในบางอย่าง และการแก้ไขข้อผิดพลาดบ่อยครั้งนี้ ส่งผลให้ประสิทธิภาพการติดตามยอดเยี่ยม ดังนั้นที่นี่จับอยู่ จะเกิดอะไรขึ้นถ้าหุ่นยนต์ของเราเดินในลักษณะเดียวกัน - ย้าย หยุด ย้าย หยุด.. Infact, oblu สามารถใช้กับวัตถุใดๆ ที่มีการเคลื่อนไหวปกติเป็นศูนย์และช่วงเวลาที่ไม่ใช่ศูนย์ ดังนั้นเราจึงก้าวไปข้างหน้าด้วย oblu และในเวลาไม่นาน เราก็สามารถประกอบหุ่นยนต์และระบบติดตามของเราได้

ขั้นตอนที่ 4: อะไรคือประโยชน์ของ "oblu"?

เราใช้เวลาเกือบ 70% อยู่ในบ้าน ดังนั้นจึงมีแอปพลิเคชั่นมากมายที่ต้องใช้การนำทางในร่มของมนุษย์และเครื่องจักร โซลูชันการกำหนดตำแหน่งที่ใช้กันมากที่สุดคือ GPS/GNSS ที่ใช้ดาวเทียม ซึ่งดีสำหรับการนำทางกลางแจ้ง ล้มเหลวในสภาพแวดล้อมในร่มหรือในสภาพแวดล้อมในเมืองที่ไม่สามารถเข้าถึงท้องฟ้าแจ่มใส การใช้งานดังกล่าว ได้แก่ การสำรวจทางภูมิศาสตร์ของสลัมหรือพื้นที่ใต้ร่มไม้หนา การนำทางในร่มของหุ่นยนต์ ตำแหน่งของเจ้าหน้าที่กู้ภัยสำหรับการดับเพลิง อุบัติเหตุในเหมือง การทำสงครามในเมือง ฯลฯ

oblu รุ่นก่อนถูกนำมาใช้เป็นเซ็นเซอร์รองเท้าขนาดกะทัดรัดมาก (หรือเซ็นเซอร์ PDR) สำหรับตำแหน่งของนักผจญเพลิง ซึ่งต่อมาได้รับการอัพเกรดและปรับเปลี่ยนเป็นแพลตฟอร์มการพัฒนาที่กำหนดค่าได้สูงสำหรับผู้ผลิตที่กำลังมองหาความแม่นยำที่ง่าย- โซลูชันการตรวจจับเฉื่อยราคาไม่แพงสำหรับการนำทางในร่มของมนุษย์และหุ่นยนต์ จนถึงตอนนี้ ผู้ใช้ของ oblu ได้สาธิตการใช้งานในการติดตามคนเดินถนน ความปลอดภัยในอุตสาหกรรมและการจัดการทรัพยากร ตำรวจทางยุทธวิธี การสำรวจทางภูมิศาสตร์ของพื้นที่ไร้ GPS หุ่นยนต์นำทางด้วยตนเอง หุ่นยนต์ช่วยเหลือ การเล่นเกม AR/VR การรักษาความผิดปกติของการเคลื่อนไหว ความเข้าใจฟิสิกส์ ของการเคลื่อนไหว ฯลฯ oblu เหมาะสำหรับการใช้งานที่มีข้อจำกัดด้านพื้นที่ เช่น การตรวจจับการเคลื่อนไหวที่สวมใส่ได้ นอกจากนี้ยังสามารถใช้เป็น IMU ไร้สายได้ด้วย Bluetooth ในตัว การมีอยู่ของความสามารถในการประมวลผลจุดลอยตัวบนกระดานพร้อมกับอาร์เรย์ IMU สี่ตัว ทำให้การหลอมรวมเซ็นเซอร์และการประมวลผลการเคลื่อนไหวเป็นไปได้ภายในตัวโมดูล ซึ่งจะทำให้การตรวจจับการเคลื่อนไหวมีความแม่นยำมาก

ขั้นตอนที่ 5: เรื่องราวของโครงการ

Image
Image

เรื่องราวของโครงการนี้อยู่ในวิดีโอ…

ขั้นตอนที่ 6: คำอธิบายระบบ

หุ่นยนต์เคลื่อนที่ในเส้นทางที่ตั้งโปรแกรมไว้ล่วงหน้าและส่งข้อมูลการเคลื่อนไหวจริงไปยังโทรศัพท์ (ผ่านบลูทูธ) เพื่อการติดตามแบบเรียลไทม์

Arduino ถูกตั้งโปรแกรมไว้ล่วงหน้าด้วยเส้นทางและ oblu ใช้สำหรับตรวจจับการเคลื่อนไหวของหุ่นยนต์ oblu ส่งข้อมูลการเคลื่อนไหวไปยัง Arduino เป็นระยะ ตามนั้น Arduino ควบคุมการเคลื่อนไหวของล้อเพื่อให้หุ่นยนต์ไปตามเส้นทางที่กำหนดไว้ล่วงหน้า

เส้นทางของหุ่นยนต์ถูกตั้งโปรแกรมเป็นชุดของส่วนของเส้นตรง แต่ละส่วนของเส้นตรงถูกกำหนดโดยความยาวและการวางแนวเทียบกับส่วนก่อนหน้า การเคลื่อนไหวของหุ่นยนต์จะถูกเก็บไว้อย่างรอบคอบ กล่าวคือ มันเคลื่อนที่เป็นเส้นตรง แต่ในส่วนที่เล็กกว่า (เรียกว่า 'ก้าว' เพื่อความง่าย) ในตอนท้ายของทุก ๆ ก้าว oblu จะส่งความยาวก้าวและขอบเขตของการเบี่ยงเบน (เปลี่ยนทิศทาง) จากเส้นตรงไปยัง Arduino Arduino จะแก้ไขการจัดตำแหน่งหุ่นยนต์ในทุกขั้นตอนเมื่อได้รับข้อมูลดังกล่าว หากพบว่ามีการเบี่ยงเบนจากเส้นตรงที่กำหนดไว้ล่วงหน้า ตามโปรแกรม หุ่นยนต์ควรเคลื่อนที่เป็นเส้นตรงเสมอ อย่างไรก็ตาม มันอาจเบี่ยงเบนจากเส้นตรงและอาจเดินในมุมหนึ่งหรือทางเบ้เนื่องจากความไม่สมบูรณ์แบบ เช่น พื้นผิวไม่เรียบ ความไม่สมดุลของมวลในการประกอบหุ่นยนต์ ความไม่สมดุลทางสถาปัตยกรรมหรือทางไฟฟ้าในมอเตอร์กระแสตรง หรือการวางแนวแบบสุ่มของล้อหน้าวิ่งฟรี ก้าวไปหนึ่งก้าว.. แก้ไขหัวเรื่องของคุณ… ก้าวไปข้างหน้า หุ่นยนต์ยังเคลื่อนที่ถอยหลังหากเดินทางมากกว่าความยาวที่ตั้งโปรแกรมไว้ของส่วนของเส้นตรงนั้น ความยาวก้าวต่อไปขึ้นอยู่กับระยะทางที่เหลือที่จะครอบคลุมส่วนของเส้นตรงนั้น หุ่นยนต์จะก้าวใหญ่เมื่อระยะทางที่จะเดินทางมากขึ้น และก้าวเล็กลงใกล้กับจุดหมาย (เช่น สิ้นสุดทุกส่วนของเส้นตรง) oblu ส่งข้อมูลไปยัง Arduino และโทรศัพท์ (ผ่านบลูทูธ) พร้อมกัน Xolu (แอพ Android) ทำการคำนวณอย่างง่ายเพื่อสร้างเส้นทางตามข้อมูลการเคลื่อนไหวที่ได้รับจากหุ่นยนต์ ซึ่งใช้สำหรับการติดตามแบบเรียลไทม์บนโทรศัพท์ (การสร้างเส้นทางโดยใช้ Xolu แสดงอยู่ในภาพที่สอง)

โดยสรุป oblu จะตรวจจับการเคลื่อนไหวและสื่อสารข้อมูลการเคลื่อนไหวไปยัง Arduino และโทรศัพท์เป็นระยะๆ ตามเส้นทางที่ตั้งโปรแกรมไว้และข้อมูลการเคลื่อนไหว (ส่งโดย oblu) Arduino ควบคุมการเคลื่อนไหวของล้อ การเคลื่อนไหวของหุ่นยนต์ไม่ได้ถูกควบคุมจากระยะไกล ยกเว้นคำสั่งเริ่ม/หยุด

สำหรับเฟิร์มแวร์ของ oblu ไปที่

สำหรับรหัส Aurduino ของหุ่นยนต์เยี่ยมชม

ขั้นตอนที่ 7: การสร้างแบบจำลองเส้นทาง

การสร้างแบบจำลองเส้นทาง
การสร้างแบบจำลองเส้นทาง
การสร้างแบบจำลองเส้นทาง
การสร้างแบบจำลองเส้นทาง

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

ในทำนองเดียวกัน เส้นทางใดๆ ที่เป็นชุดของส่วนของเส้นตรงสามารถกำหนดและตั้งโปรแกรมใน Arduino ได้

ขั้นตอนที่ 8: การประกอบวงจร

การประกอบวงจร
การประกอบวงจร

ไดอะแกรมการรวมระบบระดับบนสุด Arduino และ oblu เป็นส่วนหนึ่งของการประกอบฮาร์ดแวร์ UART ใช้สำหรับการสื่อสารระหว่าง Arduino และ oblu (โปรดทราบว่าการเชื่อมต่อ Rx/Tx การเชื่อมต่อ) ทิศทางของกระแสข้อมูลใช้สำหรับอ้างอิงเท่านั้น ชุดฮาร์ดแวร์ทั้งหมดสื่อสารกับสมาร์ทโฟน (Xolu) โดยใช้บลูทูธ

ขั้นตอนที่ 9: แผนภาพวงจร

แผนภูมิวงจรรวม
แผนภูมิวงจรรวม

รายละเอียดการเชื่อมต่อทางไฟฟ้าระหว่าง Arduino, oblu, ไดรเวอร์มอเตอร์ และชุดแบตเตอรี่

ขั้นตอนที่ 10: โปรโตคอลการสื่อสาร:

ด้านล่างนี้คือวิธีการสื่อสารข้อมูลระหว่างเซ็นเซอร์ oblu ที่ติดตั้งบนหุ่นยนต์และสมาร์ทโฟน เช่น Xolu:

ขั้นตอนที่ 1: Xoblu ส่งคำสั่ง START ไปที่ oblu ขั้นตอนที่ 2: oblu รับทราบคำสั่งที่ได้รับโดยส่ง ACK ที่เหมาะสมไปยัง Xoblu ขั้นตอนที่ 3: oblu ส่งแพ็กเก็ต DATA ที่มีข้อมูลการกระจัดและการวางแนวสำหรับแต่ละการก้าว ในทุกขั้นตอน ไปยัง Xoblu (ขั้นตอน = เมื่อใดก็ตามที่ตรวจพบว่าไม่มีการเคลื่อนไหวหรือตรวจพบการหยุดนิ่ง) ขั้นตอนที่ 4: Xolu รับทราบการรับแพ็กเก็ตข้อมูลล่าสุดโดยส่ง ACK ที่เหมาะสมไปยัง oblu (วนซ้ำของขั้นตอนที่ 3 และ 4 จนกว่า Xoblu จะส่ง STOP เมื่อได้รับคำสั่ง STOP แล้ว oblu จะดำเนินการขั้นตอนที่ 5) ขั้นตอนที่ 5: STOP - (i) หยุดการประมวลผลใน oblu (ii) หยุดเอาต์พุตทั้งหมดใน oblu โปรดอ้างอิงหมายเหตุแอปพลิเคชันของ oblu สำหรับ รายละเอียดของ START, ACK, DATA และ STOP

ขั้นตอนที่ 11: IMU "oblu" ทำงานอย่างไร (ไม่บังคับ):

นำเสนอข้อมูลอ้างอิงบางส่วนเกี่ยวกับภาพรวมของ oblu และหลักการทำงานของเซ็นเซอร์ PDR แบบติดตั้งที่ฐาน:

ซอร์สโค้ดที่มีอยู่ของ oblu มีเป้าหมายไปที่การนำทางแบบติดตั้งบนเท้า และเหมาะสมที่สุดสำหรับจุดประสงค์นั้น วิดีโอด้านล่างครอบคลุมหลักการทำงานขั้นพื้นฐาน:

ต่อไปนี้คือบทความง่ายๆ สองสามข้อเกี่ยวกับเซ็นเซอร์ PDR แบบติดตั้งที่เท้า:1 ติดตามขั้นตอนของฉัน

2. ติดตามขั้นตอนของฉันต่อไป

คุณสามารถดูเอกสารนี้สำหรับรายละเอียดเกี่ยวกับการคำนวณคนเดินเท้าโดยใช้เซ็นเซอร์เท้า

ขั้นตอนที่ 12: ไปที่ "oblu.io" (ไม่บังคับ)

Image
Image

ดูวิดีโอสำหรับการใช้งาน "obl" ที่เป็นไปได้:

---------------- โปรดแบ่งปันความคิดเห็นข้อเสนอแนะและแสดงความคิดเห็นด้วยความปรารถนาดี!

ขั้นตอนที่ 13: ส่วนประกอบ

1 oblu (แพลตฟอร์มการพัฒนาโอเพ่นซอร์ส IMU)

1 สมาร์ท เครื่องยนต์ หุ่นยนต์ รถ แบตเตอรี่ กล่องแชสซี ชุด DIY ตัวเข้ารหัสความเร็วสำหรับ Arduino

1 ขนาดครึ่งเขียงหั่นขนม Solderless

สายจัมเปอร์ชาย/หญิง 1 เส้น

2 ตัวเก็บประจุ 1,000 µF

1 Texas Instruments ไดรเวอร์มอเตอร์บริดจ์คู่ H-Bridge L293D

1 Arduino Mega 2560 & Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH แบบชาร์จใหม่ได้

แนะนำ: