Skip to content

Latest commit

 

History

History
60 lines (45 loc) · 5.63 KB

README.md

File metadata and controls

60 lines (45 loc) · 5.63 KB

Autonomous Robot-Car Platoons System

Version -> Alpha 0.1

more information in our project report

Source Code

** หากไม่ได้ทำการ mount image ไฟล์ ลงใน Sd Card ให้ทำตามวิธีการด้านล่าง

Raspberry Pi / Robot-Car (Python 2.7)

ใช้ Raspbian OS ตัวเต็ม แล้ว Clone Repository นี้ลงใน Raspberry Pi

การเชื่อมต่อกับ Rpi จะใช้การ SSH ผ่านโปรแกรม เช่น Putty จากนั้นอาจใช้การดึงหน้าจอโดยใช้ realvnc เพื่อใช้ในการ coding

โฟลเดอร์ Rpi คือ Code ที่อยู่ในตัว Raspberry Pi ทั้งหมด เขียนด้วย Python 2.7 จำเป็นต้องลง Library ต่างๆ เพื่อให้สามารถใช้งานได้ เช่น

run file โดยใช้ terminal รัน sudo python main.py (จำเป็นต้องเชื่อมต่อ Internet เพื่อเชื่อมต่อกับ NETPIE)

NETPIE และ Freeboard

เนื่องจากใช้ NETPIE เป็น Broker จึงต้องสมัครสมาชิกเพื่อใช้งาน จากนั้นสร้าง Application ขึ้นมา แล้ว generate Key ตามอุปกรณ์และหน้าเว็บที่ต้องใช้ ดังนี้

  • Device Key สำหรับ Robot-car แต่ละคัน
  • Session Key สำหรับ Freeboard (1 หน้า Freeboard ต่อรถ 1 คัน)
  • Session Key สำหรับ Tracking Map (1 หน้า Tracking Map ต่อรถ 1 คัน)

ตัวอย่างเช่น ef5388ee38de16b254c9ab3b29c8729d.png

จากนั้นสร้าง Freeboard ขึ้นมา แล้ว Import ไฟล์ freeboard.json ในโฟลเดอร์ NETPIE เพื่อใช้เป็น Template สำหรับหน้าควบคุมรถแต่ละคัน (code ที่เขียนในแต่ละ widget ของ Freeboard ใช้ Javascript)

Tracking Map (Javascript)

ใช้ library ที่ชื่อว่า tiny-turtle มาดัดแปลงเพิ่มเติม (html หนึ่งไฟล์ ต่อรถ 1 คัน)

Source code อยู่ในโฟลเดอร์ tinyturtle

Hardware (Robot-Car & Sensors)

** เนื่องจาก Rpi3 ใช้ไฟ 3.3 v แต่ HC-020K และ HC-SR04 ใช้ไฟ 5v จึงต้องใช้ Logic Level Converter Module แปลงไฟก่อนค่อยต่อเข้ากับ Rpi

Bug / Unfinished Task or Feature / Advice

  • ถ้า Robot-Car ถอยหลัง ควรจะลบระยะทางลง ไม่ใช่เพิ่มขึ้น
  • ย้าย class SpeedSensor และ Iot ในไฟล์ main.py ไปเป็น module
  • code ส่วนควบคุม Robot-car ที่ต้อง Tuning คือ เนื่องจากประกอบรถขึ้นเอง จึงมีความไม่เป็นมาตรฐานที่เหมือนกันของรถทุกคัน จึงต้องมีการปรับแก้ code ให้คุมรถแต่ละคันให้ได้เหมาะสม คำแนะนำคือ อาจต้องเปลี่ยนไปใช้ Robot-car ที่สำเร็จรูป มีมาตรฐาน
  • Ultrasonic Sensor ยังจับระยะได้ไม่ดีพอ อาจต้องเปลี่ยนไปใช้ sensor รูปแบบอื่น
  • ควรเขียนให้รันไฟล์ main.py แบบเป็น script คือให้ autorun ตั้งแต่เปิด Rpi
  • การเลือกใช้ NETPIE เป็น broker มีข้อจำกัดเรื่อง จำนวนข้อมูลที่ส่งได้ (20 message / sec) อาจทำให้ได้ข้อมูลที่ไม่ realtime มากพอ

If you have any question or any problem. Please Contact me