Find the exit of the maze. (Search)

จัดทำโดย นายวชิรเมษฐ์ กุลธนาเรืองนนท์ 66340700405 เริ่มจากการศึกษาวิธีหาทางออกจากเขาวงกต โดยได้ศึกษามา 2 วิธีคือ 1.BFS หรือ Breadth-First Search (การค้นหาแบบกว้าง) เป็นอัลกอริทึมที่ใช้ในการค้นหาข้อมูลหรือกราฟ โดยการท่องไปทางระดับแรกของกราฟก่อน จากนั้นท่องไปทางระดับถัดไป โดยมีการท่องในทุกๆ โหนดที่อยู่ในระดับปัจจุบันก่อนที่จะขยับไปยังระดับถัดไป อัลกอริทึมนี้มักถูกใช้ในการหาทางที่สั้นที่สุด (Shortest Path) ในกราฟ หรือในการค้นหาข้อมูลในโครงสร้างข้อมูลแบบกราฟ. ขั้นตอนการทำงานของ BFS ได้แก่: 1. เริ่มต้นที่โหนดเริ่มต้น (start node) และทำเครื่องหมายว่าโหนดนั้นถูกเยือนแล้ว. 2. ท่องไปยังโหนดลูกทุกตัวของโหนดปัจจุบัน (ถ้ามี) และทำเครื่องหมายว่าลูกของโหนดนั้นถูกเยือน. …

Control the direction of a lidar-bot with MPU6050

การสื่อสารระหว่าง lidar-bot(ESP32) กับ MPU6050(IMU) การสื่อสารระหว่าง IMU และ ESP32 ใช้โปรโตคอล I2C โปรโตคอลนี้ใช้สองสายสำหรับการสื่อสาร, SCL (clock) และ SDA (data) การกำหนดทิศทางและผลลัพธ์ที่ได้จากการอ่านค่า IMU ค่าที่ได้จาก IMU ทางทิศ North มีค่าโดยประมาณ -176 Deg ทางทิศ South มีค่าโดยประมาณ 0 Deg ทางทิศ West มีค่าโดยประมาณ -85 Deg …

Class project Solved Maze

ทำการศึกษาภาพรวมของหุ่นเพื่อที่จะนำมาทำให้สำเร็จตามวัตถุประสงค์ ซึ่งวัตถุประสงค์คือ เราจะมีการทำให้หุ่นยนต์ขับเคลื่อนเพื่อหาทางออกจากเขาวงกตโดยจะมีกระบวนการคิดว่าทางไหนคือทางออกและต้องวิ่ง 2 รอบเพื่อรอบแรกจะเป็นการเก็บแผนที่และรอบที่สองจะเป็นการวิ่งเพื่อหาทางออก เพื่อตัดสินใจว่าทางนี้คือทางที่ดีที่สุด และมีการสร้างแผนที่แบบเรียลไทม์แสดงพื้นที่ของเขาวงกตทั้งหมดและยังแสดงตำแหน่งของรถอย่างเรียลไทม์ ขอบเขตของงานนี้ ขนาดพื้นที่ของ 30 * 30 cm และ มีการคงทางเข้าและทางออกไว้แต่จะสามารถแก้ไขบล็อคภายในได้ Parameter ของ M5stack_LidarBot v1 ระยะของ Lidar ระยะระหว่างกำแพงขนาด 30*30cm ในกรณีทางตรง กรณีที่เจอในสนาม

เริ่มใช้งาน lidar-bot ด้วย Arduino IDE

LidarBot เลือก DOCUMENT –> Platform “Arduino” หรือ กด link Arduino Development Environment Setup  (ทำขั้นตอนที่ 1-4) เริ่มการติดตั้ง M5Stack บน Arduino IDE เปิดโปรแกรม Arduino IDE เข้าไปที่ File –> Preferences->Settings นำ link ไปวางใน Additional Development Board Management URLs:https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json …

Camera Calibration For Robodog GO1 due

ขนาดภาพจากกล้อง Robodog GO1 due Width 464 Height 400 pixels ArUco Marker Tracking For Robodog GO1 due วิดีโอการทำงานของ Robodog GO1 due ติดตาม ArUco Marker Tracking จากวิดีโอ ได้ทำการ set ค่าโปรแกรมให้ Robodog GO1 due ติดตาม ArUco Marker ที่ระยะ …

ArUco Marker Tracking (Part 2)

Camera Calibration เป็นกระบวนการที่ใช้ในการปรับแก้พารามิเตอร์ของกล้องเพื่อให้ระบบการถ่ายภาพนั้นมีความแม่นยำที่สูงสุด ระบบถ่ายภาพจะมีความแม่นยำในการแปลงจุดในโลก 3 มิติเป็นจุดในภาพ 2 มิติ เมื่อมีข้อมูลพื้นฐานเกี่ยวกับกล้อง เช่น ค่าโฟกัส (focal length) จุดกึ่งกลางทางแสง (optical center) และค่าสิ่งกีดขวางเลนส์ (distortion coefficients) ที่ถูกใช้แก้ไขความผิดพลาดที่เกิดจากเลนส์ของกล้อง เมื่อได้ค่า cameraMatrix และ distCoeffs ที่ได้จากกระบวนการ camera calibration มีความสำคัญในการทำ ArUco Marker Tracking หรือการติดตาม ArUco Markers ด้วยกล้อง …

ArUco Marker Tracking (Part 1)

การตรวจจับและระบุตำแหน่งของ ArUco Marker ในภาพหรือวิดีโอจากกล้องหรือแหล่งข้อมูลภาพอื่น ๆ โดยใช้เทคนิคการประมวลผลภาพและความรู้ของกล้องในการหาตำแหน่งและการหมุนของ ArUco Marker ในขอบเขตของภาพหรือวิดีโอ ArUco Marker เป็นรหัสบาร์โค้ดที่สามารถระบุตำแหน่งและการหมุนของวัตถุในภาพได้ โดยการติดตาม ArUco Marker สามารถทราบได้ว่าวัตถุหรืออุปกรณ์ที่มี ArUco Marker ปรากฏในภาพอยู่ที่ไหน และมีการหมุนเท่าใด ซึ่งนี้เป็นกระบวนการที่มีประโยชน์ในการติดตามตำแหน่งของวัตถุหรือยานพาหนะในการพัฒนาและควบคุมหุ่นยนต์หรือระบบอัตโนมัติอื่น ๆ ประเภทของ ArUco Dictionary (คลังคำศัพท์ของ ArUco Markers) กระบวนการติดตาม ArUco Marker รวมถึงขั้นตอนการค้นหา (detection), การประมวลผล (processing), …

Remote Control Unitree Go1

Keys used to control Unitree GO1 L2+A L2+A L2+B เป็นการหยุดการทำงานของมอเตอร์ให้หุ่นยนต์คว่ำลงกับพื้นเพื่อเตรียมปิดเครื่อง การควมคุมหุ่นยนต์ผ่านจอยสติ๊กเป็นการควบคุมทิศทาง X, Y และความเร็วแบบปกติ ถ้ากด SELECT จะเปลี่ยนเป็นโหมดควบคุมข้อต่อแต่ละส่วนของหุ่นยนต์ได้อย่างอิสระ ถ้ากด START จะเข้าสู่โหลด Running Mode