1. Python ทำสร้างฟังก์ชันเพื่อลดความยาวของโปรแกรมลงและได้เพิ่มเติมโปรแกรมในส่วนของการตรวจจับทางออกในระหว่างสำรวจแผนที่ด้วยฟังก์ชัน If-else โดยจะทำการแบ่งแผนที่ออกเป็นตาราง10×10 เมื่อมีการตรวจพบว่ารถอยู่ในตำแหน่งที่ x=0,9 หรือ y=0,9 จะใช้เงื่อนไขตรวจสอบพิเศษเช่น เมื่อหุ่นกำลังหัน0องศาที่y=0 หากไม่พบกำแพงทางซ้ายแสดงว่าช่องที่รถอยู่คือช่องทางออกจากนั้นทำการจดจำตำแหน่ง มุมการหันและทิศของทางออก เมื่อถึงการเดินรอบที่2 หุ่นจำทำการเดินมาที่จุดทางออกแล้วหมุนตัวจนกว่ามุมการหันจะตรงกับมุมที่จำไว้จากนั้นทำการเลี้ยวไปในทิศทางที่ทางออกอยู่

2.ตัวหุ่น ได้มีการเพิ่มLidarเข้าไปที่ตัวหุ่น

แต่ตัวหุ่นประสบปัญหาคือstepper motor ไม่สามารถทำให้ตัวหุ่นเคลื่อนที่ได้จึงมีแผนที่จะเปลี่ยนไปใช้ DC motor แทน จึงจำเป็นจะต้องเปลี่ยนตัวโครง โดยเลือกใช้โครงของturtlebot

และจากที่เราสามารถระบุตำแหน่งด้วย image processingได้ จึงได้แผนการcontrol ดังนี้ โดยจะมีการติดtagที่ตัวรถเพื่อให้สามารถระบุตำแหน่งจากกล้องได้หลังจากนั้นตัวopencv จะตรวจสอบว่าตอนนี้รถอยู่ที่ตำแหน่งใดของกล้องและจะคอยส่งตำแหน่งผ่าน mqttมาที่ตัวรถเป็นระยะ ๆ

สิ่งที่ได้เรียนรู้จากการทำในครั้งนี้คือ การใช้ฟังก์ชันเพื่อลดความซ้ำซ้อนของโปรแกรมเพื่อให้สามารถทำงานได้สะดวกมากยิ่งขึ้น
แหล่งที่มา:
Turtlebot 3d model: ROBOTIS TurtleBot Burger by ROBOTIS – Thingiverse
