จากรูป แนวทางใช้เครื่องคอมพิวเตอร์ 1 เครื่อง รัน 2 โปรแกรมเพื่อควบคุมการทำงานแต่ละแขน
**แก้ไขปัญหาการเขียนโปรแกรมที่ใช้คำสั่ง Time.sleep(second) โปรแกรมจะหยุดทำงาน หุ่นยนต์จะทำงานได้ทีละคำสั่งตามการหยุดของการตั้งเวลาในแต่ละ sequence
ตัวอย่างปัญหาการใช้ Time.Sleep() ในโปรแกรมเดียวกัน สั่งงาน 2 หุ่นยนต์
กรณี 1) หุ่นยนต์แขนซ้าย+ขวา เมื่อสั่งพร้อมกัน เมื่อใช้คำสั่ง Time.sleep(5) เราจะตั้งตามแขนที่ช้าสุด
แต่แขนซ้ายเคลื่อนที่ถึงก่อนก็จะรอคำสั่งเพราะโปรแกรมหยุด
กรณี 2) ถ้าแขนขวาสั่ง Vac เมื่อใช้คำสั่ง Time.sleep(1) ก็พอ แต่หุ่นยนต์แขวซ้ายยังเคลื่อนที่ยังไม่ถึงตำแหน่งที่ต้องการ หุ่นยนต์จะกระตุกแล้วเคลื่อนที่ไปที่ใหม่เลย แต่ถ้าตั้งช้าแขนขวาก็จะรอแขนซ้ายให้ทำงานเสร็จก่อน
ขั้นตอนการทำงานของโปรแกรม
Main Program of UR Robot Right Arm (Python control to 192.168.1.9)
- Control Python control to UR Right Arm (192.168.1.9)
- Capture image Input
- Algorithm for find Color,Shape,Position => write to .txt
Loop Program of UR Robot Right Arm (Python control to 192.168.1.9)
- Capture image
- Find object
- Take block to jig
- Send signal to Right Arm to Start
- Wait signal from Right Arm
(ส่งข้อมูลกันผ่าน Socket TCP Server,<->Client at address 127.0.0.1) ทำงาน
Loop Program of UR Robot Left Arm (Python 192.168.1.8)
- Wait signal from Left Arm
- Take block from jig to Target
- Send signal to Left Arm to Start
ความคิดเห็น
แสดงความคิดเห็น