[POP-XT] Picking Robot EP.05 SERVO Gripper Control

ตอนที่ 5 ฟังก์ชั่นยกกระป๋อง และวางกระป๋อง

หลักการทำงานของเซอร์โวมอเตอร์

  เซอร์โวมอเตอร์ มีสายต่อใช้งาน 3 เส้นดังรูป มีวงจรขับมอเตอร์พร้อมทั้งวงจรป้อนกลับเพื่อให้รับรู้ตำแหน่งของตัวเองอยู่ภายใน การใช้งานถ้าเป็น Arduino และ POP-XT จะสั่งงานผ่านฟังก์ชั่น Servo( CH,POS)

โดย   CH    คือ ช่องของเซอร์โว POP-XT มีช่องขับ 3 ช่อง

          POS คือ ตำแหน่งของเซอร์โวอยู่ระหว่าง 0 ถึง 180 แต่ถ้าเรากำหนดเป็น -1 จะเป็นการยกเลิกการใช้เซอร์โวตัวนั้น

ตัวอย่าง

      servo(1,100); 

เป็นการสั่งให้เซอร์โวเคลื่อนที่ไปที่ตำแหน่ง 100 องศา

 

 ทดสอบยกกระป๋อง

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

จากโปรแกรมตัวอย่าง มีคำสั่งพิเศษที่เพิ่มเติมคือคำสั่ง map ใช้สำหรรับการแปลงค่าตำแหน่งของ knob ให้เป็นองศาของเซอร์โว ซึ่งสะดวกมาก ไม่ต้องเขียนสมการให้วุ่นวาย หลังจากแปลงค่าแล้วก็นำค่าที่ได้แสดงที่หน้าจอ GLCD และส่งค่าไปยังเซอร์โวมอเตอร์ด้วย

ทดลองหมุน knob จน Gripper กางออกเยอะที่สุด บันทึกค่าที่แสดงที่หน้าจอเอาไว้

ทดลองหมุน knob จน Gripper หนีบกระป๋องแล้วยก บันทึกค่าที่แสดงที่หน้าจอเอาไว้

นำค่าที่ได้มาสร้างเป็นฟังก์ชั่น ยกกระป๋อง (PICK)

จากตัวอย่างก่อนหน้านี้ถ้าทำความเข้าใจเรื่องฟังก์ชั่น LLL() หรือฟังก์ชั่น RRR() จะเข้าใจว่า โปรแกรมจะหลุดออกจากลูปคำสั่งการเดินตามเส้นปกติเข้าสู่การทำภารกิจตรวจจับทางแยกได้ ก็ต่อเมื่อ เซนเซอร์ด้านนอกซ้ายหรือขวา เจอสีดำ ทำนองเดียวกันกับฟังก์ชั่นยกกระป๋อง ในช่วงปกติเมื่อไหร่ก็เดินตามเส้นไปเรื่อยๆ เมื่อเจอเส้นตัดเมื่อไหร่ก็หยุดหุ่นยนต์แล้วยกกระป๋องทันที จากนั้นหมุนตัว แล้วจบฟังก์ชั่น นำมาเขียนเป็นโปรแกรมในชื่อฟังก์ชั่น PICK()

 

ข้อสังเกตเพิ่มเติมของฟังก์ชั่นนี้ก็คือ โปรแกรมจะหลุดจากลูปเดินตามเส้นโดยเงื่อนไขว่า analog(2) หรือ analog(3) เจอสีดำ แต่ในการเขียนโปรแกรมแทนที่เราจะใช้เครื่องหมาย OR || เรากลับใช้เป็นเครื่องหมาย AND && แทน ลองไปทบทวนวิชาตรรกศาสตร์หรือการทำงานของลอจิกดูนะครับ

ต่อด้วยฟังก์ชั่น วางกระป๋อง (PUSH)

พอเป็น Idea สำหรับไปพัฒนาต่อได้นะครับ ตอนหน้า มาว่ากันถึงวิธีการแยกสีขาวและสีดำของกระป๋องกันบ้างครับ

 

Facebook Comments