iRobot Create
หุ่นยนต์ iROBOT CREATE
iRobot Create
ระบบขับเคลื่อน ขับเคลื่อนสองล้อ อิสระ (Differential Drive)
ระบบขับเคลื่อน ความเร็วสูงสุด 500 มม./วินาที (2 กม. / ชม.)
sensor ล้อ Encoder ล้อลอย Cliff Sensor กำแพง Bumper IR
Bumper ซ้าย / ขวา 2 x digital signal (0/1)
Cliff sensor 4 x 16-bit inputs ความแรงของ IR ที่สะท้อนกลับมา (0 .. 1800)
Cliff sensor
กำแพง 1 x 16-bit input ระยะห่างจากกำแพง (0 – 4095)
IR
ล้อลอย 3 x digital signal ตรวจวัดว่าหุ่นยนต์ถูกยกขึ้นหรือไม่ (ล้อลอยเหนือ พื้น)
การเชื่อมต่อกับ iCreate เพื่อเขียนโปรแกรม
อุปกรณ์ iRobot Create LiPo Battery Wintel mini PC DCConverter with battery LiPo Battery Wintel mini PC with dummy VGA DCConverter Data Cable
การเชื่อมต่อ
How it works? คำสั่ง (ความเร็วล้อ) ค่า sensor ต่าง ๆ
How it works? โปรแกรมทำงานอยู่บน Wintel ทดลองเข้าไปใช้งาน Wintel ได้โดยการใช้ Teamviewer ต่อเข้าไปยัง Wintel สามารถเขียนโปรแกรมบน Wintel ได้
การเขียนโปรแกรมเพื่อควบคุม iRobot Create
Development Environment Microsoft Visual Studio 2017 Community Edition OpenCV 2.4.13.3 Both are already installed in Wintel
Program Structure port ที่ต่อกับหุ่นยนต์ ตัวแปรควบคุมหุ่นยนต์ ตั้งค่าความเร็ว
The simple main loop (main.cpp) Wait for key input 30 ms ข้อมูล sensor จาก robotData
Commanding Robot สั่งความเร็ว อ่าน sensor
ตัวอย่าง 1 เคลื่อนที่แบบ open loop
เป้าหมาย เดินไปข้างหน้า 5 วินาที หันไปทางขวา 90 องศา เดินถอยหลัง 3 วินาที
วิธีการ หันขวา vx = 0 vz = 100 1 ผ่านไป 5 วินาที 3 ผ่านไป 2 วินาที ใช้ State Machine ผ่านไป 5 วินาที 3 ผ่านไป 2 วินาที หยุด vx = 0 vz = 0 ผ่านไป 3 วินาที 2 เดินหน้า vx = 100 vz = 0 ถอยหลัง vx = -100 vz = 0
Code (step 1) State/output
Code (step 2) State var transition next
ตัวอย่าง 2 การใช้ sensor
เป้าหมาย เดินไปข้างหน้า ชนแล้วให้ถอยหลัง 2 วิแล้วหยุด
วิธีการ ถอยหลัง vx = -100 vz = 0 1 ชน ผ่านไป 2 วินาที 2 หยุด vx =0 ใช้ State Machine ชน ผ่านไป 2 วินาที 2 หยุด vx =0 vz = 0 เดินหน้า vx =100 vz = 0
Code
Exercise
หุ่นยนต์ track เส้น ให้หุ่นยนวิ่งตามรอยต่อระหว่างกระเบื้องสีขาว และ สีดำ ใช้ cliffSensor เป็นตัวตรวจวัดว่าพื้นเป็นสีอะไร