Robot Machining

Robot Machining เป็นกระบวนการที่วัตถุดิบถูกตัดตามรูปร่างและขนาดที่ต้องการโดยกระบวนการควบคุมจำกัดวัตถุดิบ, การใช้แขนหุ่นยนต์ แอพพลิเคชั่นจำกัดวัตถุดิบที่เต็มไปด้วยเครื่องจักรกลที่แตกต่างกัน เช่น การผสม, การขุดเจาะ, การตัดลบมุมและการขัด ซึ่งถูกดำดำเนินโดยเครื่องมือเครื่องจักร (CNC)โดยอัตโนมัติอย่างปกติ หุ่นยนต์อุตสาหกรรมสามารถถูกใช้เหมือนเครื่องมือเครื่องจักร(3 แกน or 5 แกน) โดยใช้ RoboDK

เพื่อทำให้ผลลัพธ์เหมือนเดิมหรือดีขึ้นโดยเครื่องจักร CNC, หุ่นยนต์อุตสาหกรรมต้องการเทคโนโลยีซอฟต์แวร์การเขียนโปรแกรมออฟไลน์ขั้นสูงเหมือน RoboDK ที่จะแปลงโปรแกรมเครื่องจักรเป็นโปรแกรมหุ่นยนต์

ส่วนมิติถูกกำหนดให้ใช้ซอฟต์แวร์การออกแบบคอมพิวเตอร์ช่วย จากนั้นเปลี่ยนโปรแกรมการผลิต (เช่น G-code) โดยการผลิตโดยใช้คอมพิวเตอร์ช่วย ซอฟต์แวร์ (CAM) โปรแกรมผลิตสามารถถูกแปลงเป็นโปรแกรมหุ่นยนต์เพื่อใช้เครื่องมือการเขียนโปรแกรมออฟไลน์ RoboDK’s

แกนเพิ่มเติม, เช่น ทางที่หมุนได้หรือเส้นตรงสามารถถูกประสานกันได้โดยหุ่นยนต์เพื่อขยายพื้นที่ทำงาน

ตั้งคำสำหรับเครื่องจักรกล

ในส่วนนี้แสดงวิธีการเตรียมฐานตัวอย่างออฟไลน์ RoboDK สำหรับRobot Machining ฐาน RoboDK ประกอบไปด้วยหุ่นยนต์, เครื่องมือ, หน้าต่างอ้าอิง, สิ่งของและการตั้งค่าอื่นๆ ข้อมูลเพิ่มเติมเกี่ยวกับการสร้างฐาน RoboDK ดูได้ในส่วน getting started

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

1-เลือกหุ่นยนต์:

a.เลือกFileRobot Machining - ภาพ 1 Open online library

b.ใช้ตัวกรองเพื่อหาหุ่นยนต์ของคุณโดย ยี่ห้อ, น้ำหนักที่บรรทุก , ...      
ดังตัวอย่าง, เลือกABB IRB 2600-20/1.65 (20 กิโลกรัมสำหรับบรรทุก, 1.65 เมตรที่ขยายได้)

c.เลือกDownloadและหุ่นยนต์จะปรากฏอย่างอัตโนมัติในหน้าจอหลัก

2-เลือกเครื่องมือ:

a.จากคลังออนไลน์เดียวกัน, ตัวกรองด้วยTypeTool

b.ดาวน์โหลดเครื่องมือหมุน

c.เครื่องมือควรจะถูกแนบอัตโนมัติถึงหุ่นยนต์
เมื่อเครื่องมือถูกโหลดOnline libraryสามารถถูกปิด

3-เพิ่มหน้าต่างอ้างอิง:

a.เลือกProgramRobot Machining - ภาพ 2 Add Reference Frame

b.เลือกหน้าต่างอ้างอิงในต้นไม้และเลือก F2 เพื่อเป็นชื่อเป็นMilling Reference

4-เพิ่มสิ่งของ:

a.เลือกFileRobot Machining - ภาพ 3 Open

b.เลือกสิ่งของซึ่งมีชื่อว่าObject wooden bowl.sld

c.ลากและวางสิ่งของถึงการอ้างอิงตัวผสาน (ภายในฐานต้นไม้)

Robot Machining - ภาพ 4

โครงการ Robot Machining

ตามขั้นตอนต่อไปนี้เพื่อตั้งค่าโครงการRobot Machining ใหม่โดยให้ไฟล์ NC ถูกสร้างขึ้นโดยใช้ซอฟต์แวร์ CAM (เช่นG-codesinv APT):

1.เลือกUtilitiesRobot Machining - ภาพ 5 Robot Machining project (Ctrl+M).       
วินโดว์ใหม่จะป็อปอัพขึ้นมา, ตามที่แสดงในภาพ

2.เลือกSelect NC fileในส่วนเส้นทางการนำเข้า

3.จัดหาไฟล์ NC เช่นไฟล์หนึ่งจากRoboDK ในคลังเริ่มต้น:       
C:/RoboDK/Library/Milling Bowl 3x.nc

Robot Machining - ภาพ 6

เลือกหุ่นยนต์, หน้าต่างอ้างอิงและเครื่องมือในส่วนบนด้านซ้ายของเมนู, แสดงในรูปดังกล่าว:

Robot Machining - ภาพ 7

เส้นทางของเครื่องมือเครื่องจักรกลถูกแสดงเป็นสีเขียวและในทางปกติซึ่งแสดงเป็นเวกเตอร์สีขาว ยกเลิกเส้นทางเครื่องมือที่เห็นเพื่อซ่อนเส้นทางเครื่องมือ

เส้นทางที่ป้อนเข้า

เส้นทางที่ป้อนเข้าอนุญาตให้เราเลือกในทางที่แตกต่างกันโดยจัดหาเส้นทางเครื่องมือ เส้นทางเครื่องมือสามารถถูกกำหนดโดย:

Select NC file:ไฟล์ NC หนึ่ง (ได้รับจากซอฟต์แวร์ CAM ), ซึ่งถูกอธิบายในส่วนนี้

Select curve: เส้นโค้งหนึ่งหรือมากกว่า, ซึ่งถูกอธิบายในส่วนCurve Follow Project   
นอกจากนี้ยังนำเข้าเส้นโค้งimport curves ตามรายการของพิกัดใน RoboDK

Select points: จุดหนึ่งหรือมากกว่า,  ซึ่งถูกอธิบายในส่วนPoint Follow Project       
นอกจากนี้ยังนำเข้าจุดimport points ตามรายการของพิกัดในRoboDK

3D print object: สิ่งของสำหรับการพิมพ์ 3 มิติ. เครื่องตัดถูกใช้เพื่อแปลงเรขาคณิตถึงเส้นทางเครื่องมือ

Robot Machining - ภาพ 8Robot Machining - ภาพ 9

การเริ่ม/ถอยกลับ

การเคลื่อนที่ของการเริ่ม/ถอยกลับ สามารถถูกจัดหา ณ มุมบนขวาของเมนู

Robot Machining - ภาพ 10

เลือกAddเพื่อเพิ่มการเคลื่อนที่เพิ่มเติม ทางสีเขียวจะถูกอัพเดทตาม นอกจากนี้ยังสามารถเลือกระหว่างการเคลื่อนที่ปกติ (ระหว่างสีขาวปกติ), เส้นสัมผัส (ระหว่างทางสีเขียว) หรือแกนเฉพาะกับส่วน

Robot Machining - ภาพ 11

ดับเบิ้ลคลิกค่าเพื่อปรับเปลี่ยนความยาวหรือเลือกเพื่อลบการเคลื่อนที่เฉพาะ

เส้นทางของเครื่องมือค่าชดเชย

เส้นทางของเครื่องมือค่าชดเชยอนุญาตการเปลี่ยนการหมุนที่ชอบของเครื่องมือระหว่างเส้นทางเครื่องมือ ในทางเลือกนี้ถูกใช้เป็นหลักเพื่อกลับเครื่องมือรอบแกน Z ของ

ตั้งแต่หุ่นยนต์ 6 แกนถูกใช้ตามโปรแกรมผลิต CNC 3 แกนและ 5 แกน พวกเรามีมุมเพิ่มเติมของอิสระเพื่อกำหนด มุมของความอิสระเป็นการหมุนรอบแกน Z ของ TCP

Robot Machining - ภาพ 12

โดยค่าเริ่มต้น, เส้นทางสำหรับเครื่องมือค่าชดเชยแสดงการแปลงrotz(0)ค่านี้สามารถถูกดัดแปลงเพื่อจัดตั้งมุมที่ต้องการ, การดัดแปลงการหมุนรอบแกน Z ของ TCP หรือในการรวมกันของแกนอื่น การหมุนที่แนะนำเป็นการหมุนหุ่นยนต์ที่จะลองเก็บขณะติดตามเส้นทางเครื่องมือ

โดยเริ่มต้น, RoboDK ใช้ขั้นตอนMinimum tool orientation changeนี้หมายความว่าการหมุนของเครื่องมือจะถูกเก็บไว้คงที่เท่าที่เส้นทางเครื่องมือเป็นไปได้ ในปกติแล้ว, ทางเลือกนี้จะเหมาสมกับการปฏิบัติการบดผสมให้ move joint ของหุ่นยนต์ลดลงอีกทางเลือกหนึ่ง, ขั้นตอนวิธี/ขั้นตอนอื่นสามารถดูได้, เช่นtool orientation following the toolpath (เป็นประโยชน์สำหรับแอพพลิเคชั่นการตัด), หรือrobot holding the object ถ้าเส้นทางเครื่องมือจำเป็นต้องทำตามการแนบเครื่องมือหุ่นยนต์(ดังตัวอย่าง, สำหับแอพพลิเคชั่นการจ่ายหรือการขัด)

Robot Machining - ภาพ 13

การทำค่าพารามิเตอร์ให้เหมาะสมที่สุด

ให้การหมุนที่ต้องการ, หุ่นยนต์สามารถมีอิสระที่แน่นอนในการหมุนรอบแกน Z ของเครื่องมือ เป็นการอนุญาตหุ่นยนต์ทำให้โปรแกรมให้สำเร็จโดยหลักเลี่ยงหุ่นยนต์เฉพาะและข้อบังคับของแกน โดนค่าเริ่มต้น, RoboDK อนุญาตให้เครื่องมือหมุนขึ้น +/-180 องศารอบแกน TCP โดยขั้นตอนของ 20 องศา

มันถูกแนะนำให้บังคับการหมุนโดยขึ้นอยู่กับแอพพลิเคชั่น ดังตัวอย่าง, สามารถป้อน +/-90 องศาเพื่อบังคับการหมุนที่อนุญาตโดยครึ่งหนึ่ง

ถ้าบางจุดของเส้นทางมาไม่ถึง, มันถูกแนะนำให้ย้ายหน้าต่างอ้างอิงหรือให้อนุญาตการหมุนเครื่องมือ Z ที่มากกว่า หน้าต่างอ้างอิงสามารถถูกย้ายโดยการกดค้างปุ่ม Alt

Robot Machining - ภาพ 14

อัพเดทโปรแกรม

เลือกอัพเดทเพื่อรับโปรแกรมตามการตั้งค่าที่จัดไว้สัญลักษณ์การตรวจสอบสีเขียวจะถูกแสดงถ้าโปรแกรมสามารถถูกสร้างอย่างสำเร็จ จากนั้นพวกเราจะเห็นโปรแกรมใหม่ในฐาน

Robot Machining - ภาพ 15

ดับเบิ้ลการสร้างโปรแกรมRobot Machining - ภาพ 16หรือเลือกSimulateเพื่อเริ่มต้นการจำลองRobot Machining

คลิกขวาที่โปรแกรมและเลือกGenerate robot program (F6) เพื่อที่จะได้โปรแกรม ข้อมูลเพิ่มเติมเกี่ยวกับการสร้างโปรแกรมดูได้ในส่วนProgram

Robot Machining - ภาพ 17

องค์ประกอบที่แนะนำ

RoboDK เลือกการเริ่มต้นองค์ประกอบอย่างอัตโนมัติซึ่งมันใกล้จุดเริ่มต้นที่แนะนำ (Preferred joints for the start point). จากจุดนี้, หุ่นยนต์จะตามการเคลื่อนที่เส้นตรง, ดังนั้นการกำหนดค่าจะไม่เปลี่ยนแปลง

เมนูด้านล่างจะแสดงวิธีการที่เป็นไปได้ในการเริ่มต้นโปรแกรม ถ้าจำเป็น, เลือกการกำหนดค่าที่แนะนำและเลือกUpdateเพื่อคำนวณโปรแกรมใหม่อีกครั้ง

Robot Machining - ภาพ 18


การตัดหุ่นยนต์

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

เลือกเส้นทางTool orientation followsในSelect algorithmด้านล่างเพื่อคำนวณเส้นทางเครื่องมือที่แนะนำใหม่อีกครั้ง การตั้งค่าอื่นเหมือนกับการมีMachining Project ด้วยการหมุนเครื่องมือคงที่

Robot Machining - ภาพ 19

หุ่นยนต์จับสิ่งของ

มันยังเป็นไปได้ที่สามารถสั่งการหุ่นยนต์เมื่อจับสิ่งของ/ทางเครื่องมือ ด้วยเครื่องมือกับหุ่นยนต์ ขณะที่ระบบปฏิบัติการผลิตไปถึงที่ มันเป็นประโยชน์สำหรับแอพพลิเคชั่นการติดกาวหรือการขัด ดังตัวอย่าง

เลือกRobot holds objectในส่วนSelect algorithmด้านล่างเพื่อวางเส้นทางเครื่องมือย่างเหมาะสมบนการอ้างอิง TCP การตั้งค่าอื่นเป็นเหมือนการมีMachining Project ด้วยการหมุนเครื่องมือคงที่

Robot Machining - ภาพ 20

โครงการเส้นโค้งตาม

มันเป็นไปได้ที่จะสร้างหุ่นยนต์ตามเส้นโค้งในพื้นที่ 3 มิติด้วย RoboDK เส้นโค้งใน RoboDK สามารถถูกเลือกจากขอบวัตถุหรือการนำเข้า imported ตามรายการของจุดในไฟล์ CSV ตัวเลือกนี้เป็นประโยชน์สำหรับแอพพลิเคชั่นการเชื่อมหุ่นยนต์ดังตัวอย่าง

เลือกUtilitiesCurve Follow Projectเพื่อเปิดการตั้งค่าเส้นโค้ง การตั้งค่าเหล่านี้เหมือนกันกับRobot Machining Project, มีเพียงสิ่งที่แตกต่างกันคือเส้นทางสิ่งที่ป้อนเข้าPath inputเป็นการตั้งค่าล่วงหน้าSelect curve

เลือกSelect curveเพื่อเลือกเส้นโค้งบนหน้าจอ

Robot Machining - ภาพ 21

เลือกเส้นโค้งโดยการคลิกเมาส์ซ้าย การเลือกเส้นโค้งเดียวกันสองครั้งจะสลับทิศทางของการเคลื่อนที่ อีกทั้ง, การคลิกขวาก่อนหน้าการเลือกเส้นโค้งจะทำให้สลับความรู้สึกหรือยกเลิกการเลือกเส้นโค้งก่อนหน้านั้น

Robot Machining - ภาพ 22

คลิกขวาที่หน้าจอและเลือก Done หรือกดปุ่ม Esc เพื่อกลับไปหน้าเมนูตั้งค่า เส้นสีเขียวจะแสดงผลการเคลื่อนที่หุ่นยนต์กับสิ่งของ

ทางเลือกเพิ่มเติมสามารถใช้งานได้บนมุมขวาของการตั้งค่า เช่นความเร็วเครื่องมือและถ้าการเริ่มต้น/ ถอยกลับ ย้ายจะต้องถูกประยุกต์ใช้กับแต่ละเส้น การตั้งค่าเริ่มต้นถูกแสดงในรูปภาพถัดไป:

Robot Machining - ภาพ 23

นำเข้าเส้นโค้ง

เส้นโค้งสามารถถูกนำเข้าใน RoboDK จากไฟล์ CSV หรือไฟล์อักษรโดยการเลือกUtilitiesImport Curveไอเทมใหม่จะปรากฏในฐานซึ่งแสดงเส้นโค้งตามวัตถุ

Robot Machining - ภาพ 24

ไฟล์สามารถเป็นไฟล์อักษรด้วยพิกัด 3 มิติของแต่ละจุดบนเส้นโค้ง โดยทางเลือก, การหมุนของแกน Z ของเครื่องมือสามารถหาได้จากเวกเตอร์i, j, k

โดยทางเลือก, จุดที่มีอยู่ของวัตถุสามารถถูกส่งออกเป็นไฟล์ CSV(คลิกขวาที่เส้นโค้ง, จากนั้น, เลือกนำเข้าเส้นโค้ง), ดัดแปลงและนำเข้าใหม่อีกครั้งกลับ RoboDK

Robot Machining - ภาพ 25

โครงการจุดตาม

มันยังสามารถสร้างหุ่นยนต์ตามจุดในพื้นที่ 3 มิติกับRoboDK จุดใน RoboDK สามารถถูกนำออกมาจากวัตถุ, เส้นโค้งหรือimportedตามรายการของจุดในไฟล์ CSV ทางเลือกนี้เป็นประโยชน์สำหรับแอพพลิเคชั่นจุดเชื่อมหรือขุดเจาะ ดังตัวอย่าง วีดีโอต่อไปนี้แสดงตัวอย่างของการตั้งค่าแอพพลิเคชั่นจุดเชื่อม: watch video

เลือกUtilitiesPoint Follow Projectเพื่อเปิดการตั้งค่าจุดตาม การตั้งค่าเหล่านี้เหมือนกัน Robot Machining Project, ข้อแตกต่างเดียวกันPath inputได้ถูกตั้งค่าก่อนSelect points.

เลือกSelect pointsเพื่อเลือดจุดบนหน้าจอ

Robot Machining - ภาพ 26

เลือกจุดด้วยการคลิกเมาส์ซ้าย การเลือกจุดเดียวกันจะสลับเส้นทางที่ใกล้กัน อีกทั้ง, การคลิกขวาที่จุดอนุญาตให้เลือกจุดซึ่งตามการเลือกSelect next

Robot Machining - ภาพ 27

คลิกขวาที่หน้าจอและเลือกDoneหรือกดปุ่ม Esc key เพื่อกลับไปหน้าเมนูตั้งค่าเส้นทางสีเขียวจะแสดงการเคลื่อนไหวหุ่นยนต์กับวัตถุ

ทางเลือกเพิ่มเติมสามารถดูได้ในด้านบนขวาของการตั้งค่า เช่น, ความเร็วเครื่องมือและระยะทางที่ใกล้กัน การตั้งค่าเริ่มต้นถูกแสดงในรูปถัดไป:

Robot Machining - ภาพ 28

นำเข้าจุด

รายการของจุดสามารถนำเข้าไฟล์อักษรหรือไฟล์ CSV โดยการเลือกUtilitiesImport Points. ไอเทมใหม่จะปรากฏขึ้นในฐานซึ่งแสดงจุดเหมือนกับสิ่งของ

Robot Machining - ภาพ 29

ไฟล์สามารถทำให้เป็นไฟล์ตัวอักษรด้วยพิกัด 3 มิติของแต่ละจุเบนเส้นโค้ง โดยทางเลือก, การหมุนของแกน Z ของเครื่องมือสามารถจัดหาโดย i,j,k

โดยทางเลือก, เส้นโค้งที่มีอยู่ของวัตถุสามารถถูกแปลงเป็นจุดโดยการคลิกขวาที่เส้นโค้ง, จากนั้น, การเลือกExtract curve points.

Robot Machining - ภาพ 30

โครงการหุ่นยนต์พิมพ์ 3 มิติ

การพิมพ์ 3 มิติหรือการเพิ่มกระบวนการผลิตเป็นขั้นตอนของการสร้างสิ่งของแข็ง 3 มิติจากไฟล์ดิจิตอล แขนหุ่นยนต์อุตสาหกรรมสามารถถูกใช้เครื่องพิมพ์ 3 มิติ 3 แกนหรือ 5 แกน 3 มิติสำหรับRoboDK วีดีโอดังกล่าวแสดงในภาพรวมของวิธีตั้งค่าเครื่องพิมพ์ 3 มิติด้วย RoboDK ออฟไลน์: watch video.

เครื่องพิมพ์ 3 มิติด้วยหุ่นยนต์เป็นหนึ่งในหลายวิธีต่อไปนี้:

แปลงโปรแกรม G-code โดยตรง (ไฟล์NC) ถึงโปรแกรมหุ่นยนต์ด้วย RoboDK, ซึ่งแสดงโดยRobot Machining project. อัตราของการไหลวัตถุ(คำสั่งเครื่องอัดรัด E) ได้ถูกนำลงบัญชีอย่างเหมาะสมสำหรับแต่ละการเคลื่อนที่และมันสามารถรวมกันในโปรแกรมที่สร้างขึ้นเป็นProgram Event. G-code เป็นชนิดของไฟล์ NC ที่ถูกสนับสนุนโดย RoboDK และมันยังเป็นรูปแบบทีถูกสนับสนุนโดยเครื่องพิมพ์ 3 มิติ ซอฟต์แวร์เครื่องตัดส่วนใหญ่สามารถสร้าง G-code ที่ให้มาในไฟล์ STL

เลือกUtilities3D Print Projectเพื่อเปิดการตั้งค่าเครื่องพิมพ์ 3 มิติการตั้งค่าเหล่านี้เป็นสิ่งที่เหมือนกับRobot Machining Project, ความแตกต่างเฉพาะคือPath inputการตั้งค่าล่วงหน้า3D print object. เลือกSelect objectเพื่อเลือกวัตถุบนหน้าจอหลักและรับเส้นทางเครื่องมืออย่างอัตโนมัติเลือกเครื่องพิมพ์ 3 มิติเพื่อเปิด Slic3r.

Robot Machining - ภาพ 31

Robot Machining - ภาพ 32

ค่าเริ่มต้น, RoboDK แปลคำสั่งการเรียกโปรแกรม E เป็นโปรแกรมที่เรียกว่าExtruderและให้ค่า E value เป็นค่าพารามิเตอร์เลือกProgram Eventsเพื่อเปลี่ยนลักษณะดังกล่าว

Robot Machining - ภาพ 33

ค่าเครื่องอัดรีด (E) เป็นตัวแทนที่แสดงว่าวัตถุดิบที่จำเป็นต้องอัดรีดก่อนการเคลื่อนที่ ค่านี้สามารถถูกขับเคลื่อนการป้อนเครื่องอัดรีดจากหุ่นยนต์ลงในบัญชีความเร็วหุ่นยนต์และระยะทางระหว่างจุด

อีกทางเลือกหนึ่ง, มันยังสามารถคำนวณการป้อนเครื่องอัดรีดโดยการใช้หน่วยประมวลผลและสร้างโค้ดที่เหมาะสมตามลำดับ ส่วนต่อไปนี้มีตัวอย่างแสดง

หน่วยประมวลผลสำหรับหุ่นยนต์เครื่องพิมพ์ 3 มิติ

ในส่วนนี้แสดงการดัดแปลงหุ่นยนต์post processorเพื่อคำนวณการป้อนเครื่องอัดรัดก่อนการดำเนินการแต่ละการเคลื่อนที่ อีกทางเลือกหนึ่ง, การคำนวณเหล่านี้สามารถถูกทำได้บนหุ่นยนต์ควบคุม

ในขั้นตอนแรกที่จะขัดขวางการเรียกเครื่องอัดรีดและการอ่านค่าเครื่องอัดรีด (ค่า E) จากส่วนของ RunCode ในหน่วยประมวลผล:

def RunCode(self, code, is_function_call = False):

    if is_function_call:

        if code.startswith("Extruder("):

            # Intercept the extruder command.

            # if the program call is Extruder(123.56)

            # we extract the number as a string

            # and convert it to a number

            self.NEW_E_LENGTH = float(code[9:-1])

            # Skip the program call generation

            return

        else:

            self.addline(code + "()")

    else:

# Output program code

        self.addline(code)

ค่าเครื่องอัดฉีดถูกบันทึกตัวแปร NEW_E_LENGTH จากนั้น, เราจำเป็นต้องกำหนดขั้นตอนใหม่ซึ่งจะสร้างคำสั่งการป้อนค่าเครื่องอัดรีดอย่างเหมาะสมตามระยะทางระหว่างการเคลื่อนที่,ความเร็วของหุ่นยนต์และความเร่งของหุ่นยนต์ สามารถประมาณได้ว่าการป้อนเครื่องอัดรีดถูกขับเคลื่อนด้วยผลลัพธ์อนาล็อกเฉพาะจากหุ่นยนต์ควบคุม (ตัวเลขผลลัพธ์อนาล็อก 5 ในตัวอย่างนี้)

def new_move(self, pose1, pose2):

    if pose1 isNone:

        return

    def Calculate_Time(Dist, Vmax, Amax):

        '''Calculate the time to move Dist with Amax acceleration and Vmax speed'''

        tacc = Vmax/Amax;

        Xacc = 0.5*Amax*tacc*tacc;

        if Dist <=2*Xacc:

            # Vmax is not reached

            tacc = sqrt(Dist/Amax)

            Ttot = tacc*2

        else:

            # Vmax is reached

            Xvmax = Dist -2*Xacc

            Tvmax = Xvmax/Vmax

            Ttot = 2*tacc + Tvmax

        return Ttot

    add_material = self.NEW_E_LENGTH - self.LAST_E_LENGTH

    self.LAST_E_LENGTH = self.NEW_E_LENGTH

    if add_material >0:

        distance_mm = norm(subs3(pose1.Pos(), pose2.Pos()))

        # calculate movement time in seconds

        time_s = Calculate_Time(distance_mm, self.SPEED_MMS, self.ACCEL_MMSS)

        # add material

        self.setDO(5, (add_material/time_s))

    else:

        # DO not add material

        self.setDO(5,0)

สุดท้าย, พวกเราจำเป็นต้องกระตุ้นคำสั่ง new_move ของแต่ละคำแนะนำการเคลื่อนที่ใหม่ พวกเราสามารถเพิ่มกาเรียกนี้ตั้งแต่เริ่มต้นของคำสั่ง MoveL:

def MoveL(self, pose, joints, conf_RLF=None):

    """Add a linear movement"""

    self.new_move(self.LAST_POSE, pose) # used for 3D printing