机器人制造

您可以使用工业机器人,例如机床(3轴或5CNC)。为了获得与CNC机器相同的结果,工业机器人需要高级脱机编程软件(例如RoboDK)将机器程序转换为机器人程序。RoboDK支持将机器程序(例如APTG代码ACLTAPNCI)转换为机器人模拟和机器人程序。

机器人机械加工包括不同的材料去除应用,例如铣削,钻孔,倒角和去毛刺,通常由自动化机床(CNC)执行。

使用计算机辅助设计(CAD)软件定义零件尺寸,然后通过计算机辅助制造(CAM)软件将其转换为制造程序(例如G代码)。然后,可以使用RoboDK的离线编程工具将制造程序转换为机器人程序。

可以使用其他轴,例如转盘和/或线性导轨被创造已同步用机器人来扩展工作空间。

机器人加工实例#加工实例

本节显示一些涉及机器人加工的示例。这些示例中的大多数都包括使用插件来显示如何生成CAM工具路径。但是,您可以在RoboDK中加载任何通用的5轴刀具路径,例如APTNCG代码文件。

请访问我们文档的CAM插件部分,以获取有关机器人加工项目的更多示例,例如 摄录机 MecSoft / RhinoCAM 发明者 FeatureCAM 要么 Fusion360

机器人用外轴

本示例说明了如何使用具有3个附加外轴的KUKA机器人进行机器人加工。该单元包括一个6轴机械臂,一个1轴导轨和2轴转盘。

有关更多信息,请参见RhinoCAM示例部分RhinoCAMRoboDK之间的集成会自动将APT文件从RhinoCAM加载到RoboDK

视频:https://www.youtube.com/watch?v=FMG-CkB4CL4&t=3422

激光切割

本示例说明如何在激光切割应用中使用Yaskawa / Motoman机器人。机器人切割刀具路径使用适用于Autodesk FusionRoboDK加载项

视频: https://www.youtube.com/watch?v=MZcPXktyT8s

三轴机器人加工#ExCNC3x

本示例说明如何使用Yaskawa / Motoman机器人进行机器人加工和RoboDK Mastercam的加载项RoboDK支持自动加载Mastercam生成的NCINC文件。

造访 Mastercam示例部分 欲获得更多信息。

视频:https://www.youtube.com/watch?v=tArHbCS2HK8

5轴去毛刺#ExCNC5x

本示例说明如何使用ABB机器人进行去毛刺。此示例包括一个拾取和放置操作。

视频:https://www.youtube.com/watch?v=HaMICaEjaAk


加工设置

本节介绍如何离线准备一个简单的RoboDK项目,以进行机器人加工。机器人加工单元必须至少具有一个机器人,一个工具和一个参考系(也称为坐标系,零件参考或基准)。有关在RoboDK中构建新工作站的更多信息,请参见入门部分。

注意: 有关更多示例和教程,请参见机器人加工实例部分

Robot Machining - 图片 1

以下步骤显示了如何使用KUKA KR210机器人和Teknomotor铣削主轴准备机器人加工设置(此示例在库中以Sample-New-Project.rdk的形式提供)。

1-选择一个机器人:

a.选择文件Robot Machining - 图片 2 打开在线图书馆

b. 使用过滤器按品牌,有效载荷等查找机器人     
例如,选择KUKA KR210 R2700(有效载荷210 Kg,到达2.7 m)。

c.选择下载,该机械手应自动出现在主屏幕中。

2-选择一个工具:

a.在同一个在线图书馆中,按类型过滤工具

b.下载主轴工具,例如Teknomotor ATC71-C-LN主轴。

c.该工具应自动安装到机器人上。

d.关闭在线库窗口。

提示:您可以将3D模型作为对象加载到RoboDK中,并将其转换为工具。任何通过将对象拖放到工作站树中的机器人,可以将对象转换为工具。更多信息这里

3-添加参考框架:

a.选择机器人基座(名称为KUKA KR210 R2700 Base)。

b.选择程序Robot Machining - 图片 3 添加参考框架。新的参考系将添加到机器人基座。

c.双击参考并输入坐标:       
XYZABC = [1500,1000,500,0,0,0]
(毫米度)

d.通过输入新名称或选择F2将新参考系重命名为铣削参考

4-添加将用于机器人加工的对象(可选):

a.选择文件Robot Machining - 图片 4 打开

b.RoboDK库中选择一个名为Object Chess Rook.sld的对象:
C
/ RoboDK /

c.如果没有自动将对象拖放到铣削参考中,则将其拖放到铣削参考

注意: 不需要加载对象以从加工文件创建机器人仿真和机器人程序。但是,该对象可以帮助可视化设置并防止碰撞。

提示: 推荐给莫ve参考框架而不是对象。一旦准备好由机器人运行机器人加工程序,参考框架将用于定位零件。

5-双击机器人以查看机器人面板(可选)。机械手面板显示活动工具和活动参考系。通过选择和更新工具和参考系,我们应该在机器人控制器中看到相同的坐标。默认情况下,Teknomotor主轴的刀架根部有TCP。工具(TCP)将具有一定的长度。在此示例中,我们将更新TCP以表示刀具的长度:

a.将工具X坐标(TCP)更新为375毫米。您将看到TCP沿轴移动。

b.(可选)您还可以创建第二个工具,并通过沿Z轴添加平移来定义相对于第一个工具的相对TCP

c.关闭机器人面板窗口。

提示: 有关定义设置以及校准工具和参考框架的更多信息,请参见定义工具(TCP定义参考系部分。

Robot Machining - 图片 5

注意:RoboDK站存储在一个文件(RDK文件)中。不需要保留机械手文件,工具和对象的单独副本,因为它们与RDK文件一起保存。

机器人加工项目

遵循以下步骤,在给定使用CAM软件(例如G代码或APT)生成的NC文件的情况下,在RoboDK中设置新的机器人加工项目:

1.选择实用程序Robot Machining - 图片 6 机器人加工项目Ctrl + M)。      
如图所示,将弹出一个新窗口。

2.在路径输入部分中选择选择NC文件

3.提供一个NC文件,例如以下APT加工文件:
C
/RoboDK/Library/Example-02.e-Robot Machining Chess Rook.nc

4.通过右键单击树中的新项目并选择重命名(F2,将机器人加工项目重命名为加工设置

提示: 直接加载NC文件以自动设置项目。可以将文件拖放到RoboDK窗口中。

注意:您可以选择将窗口停靠在窗口的右侧或左侧。

Robot Machining - 图片 7

如下图所示,在菜单的左上方选择机器人,参考框架和工具。相对于正确的坐标系,刀具路径应以绿色显示。

Robot Machining - 图片 8

加工刀具路径以绿色显示,路径法线以白色矢量显示。取消选中可见刀具路径以隐藏刀具路径。

提示:可以在工具栏中设置相对于另一个TCP的工具(TCP工具选项窗口。如果您将一种工具用作参考,并根据长度偏移调整其他工具,则此功能很有用。

注意:相对于参考系的对象必须与加工路径一致。如果不是这样,对齐对象参考带有加工参考,以便可以在实际设置中找到参考。

您可以选择更新以查看是否可以使用默认设置创建机器人加工程序。如果程序生成成功,您将看到一个绿色的复选标记。然后,您可以选择模拟或双击生成的程序以查看模拟开始。

Robot Machining - 图片 9

如果看到带有警告消息的红叉,则表明您的机器人加工程序不可行。您可能必须更改一些设置,例如刀具方向,优化参数,零件的起点或位置。

以下各节提供有关如何自定义机器人加工设置的更多信息。

路径输入

路径输入允许您选择不同的方式来提供刀具路径。

   选择NC文件:作为一个NC文件(从CAM软件获得),如本节所述。

   选择曲线: 作为一条或多条曲线,如曲线追踪项目部分。     
有可能导入曲线作为RoboDK中的坐标列表。

   选择点:一或多个要点,如点跟踪项目部分。
有可能进口点作为RoboDK中的坐标列表。

   3D打印对象:作为3D打印的对象。切片器用于将几何转换为刀具路径

   Robot Machining - 图片 10

计划事件

从路径输入框中选择程序事件,以显示生成机器人程序时需要考虑的特殊事件。这包括触发换刀,以RPM设置主轴速度或在程序启动或程序结束时触发特定程序。如果使用的是G代码,则默认情况下还可以使用M_RunCodeM代码作为功能触发。

将鼠标光标移到相应的字段上以获取更多信息以自定义每个部分。

例如,更改工具时,可以使用%1值来表示CAM软件提供的工具ID。如果您希望触发静态函数而不是传递参数,则可以用SetTool1替换SetTool(%1)。使用工具2时,这将生成SetTool2而不是SetTool2)。

Robot Machining - 图片 11

提示: 您还可以使用以下内容自定义和过滤程序调用后处理器(后处理器的RunCode函数将处理从程序事件创建的程序调用或自定义代码输入)。

逼近/回缩#加工方法

您可以从机器人加工菜单的右上方自定义进场方法并撤回运动。默认情况下,RoboDK添加沿法线的100 mm进近和缩进运动。

注意:可以在工具中自定义默认的常规方法选件CAM菜单

选择添加以添加其他缩进运动。绿色路径将相应更新。可以在沿特定轴的移动中进行选择,提供余余,使用圆弧方法等。您还可以组合多个移动。

Robot Machining - 图片 12

选择删除以删除特定的进场或撤回运动。

刀具补偿路径

刀具偏移路径允许沿刀具路径更改刀具的首选方向。此选项主要用于围绕TCPZ轴旋转工具。

注意:大多数机器人加工设置的Z轴都沿切割轴,朝外。默认情况下,工具的Z轴将与法线路径匹配。

由于使用6轴机器人来遵循3轴或5CNC制造程序,因此我们有更多的自由度来定义。该自由度通常是围绕TCPZ轴的旋转。

提示:使用机器人将机器人移动到程序中的所需点或所需的方向,然后选择示教。您可以按住Alt键并拖动TCP的蓝色圆形箭头以围绕工具的Z轴旋转。此操作将更新默认设置,以使刀具路径中的方向与所需的方向匹配。

Robot Machining - 图片 13

默认情况下,刀具补偿路径显示rotz0)转换。这意味着您可以围绕工具的Z轴添加额外的旋转。可以修改此值以建立工具的首选方向,修改围绕TCPZ轴或与其他轴组合的方向。首选方向是机器人在遵循刀具路径时将尝试保持的方向。

提示:选择显示首选的刀具路径,然后将鼠标滚轮移到路径上,移至刀具偏移处,以快速查看机器人刀具路径的预览。

Robot Machining - 图片 14

提示:参考系部分提供有关输入位置和方向的其他方式的更多信息。

默认情况下,RoboDK使用最小工具方向更改算法。这意味着刀具的方向沿刀具路径保持尽可能恒定。通常,此选项适用于铣削操作,因为它可以最大程度地减少机器人关节的移动。另外,也可以使用其他算法/方法,例如沿刀具路径的刀具方向(对于切割应用很有用),或者机器人拿着物体是否需要跟随工具路径将其附加到机器人工具上(例如,用于点胶或抛光应用)。

提示: 选择显示首选刀具路径按钮,可以在更改方向后立即看到结果。

提示: 当光标位于rotz0)文本上方时,使用鼠标滚轮逐渐修改方向。

优化参数

给定首选的工具方向,机器人可以具有一定的自由度来绕工具的Z轴旋转。这样可以使机器人完成程序,从而避免了机器人的奇异之处和轴约束。默认情况下,RoboDK允许该工具绕TCP轴最多旋转+/- 180度,步进为20度。

建议根据应用限制这种旋转。例如,可以输入+/- 90度以将允许的旋转限制为一半。

提示: 选择显示估计的刀具路径以查看可达点(绿色)和不可达点(红色)。可以相对于首选刀具路径旋转可到达点,以使机器人可以到达目标。

如果无法到达路径的某些点,建议旋转参考框架,或者在工具Z旋转的情况下更宽容。按住Alt键并拖动坐标系可以移动参考系。

注意: 如果选中了自动更新选项,则估计的刀具路径将显示为参考框架或修改了TCP

提示: 较小的步长值使工具在遇到奇异点时可以更逐步地重新定向。另一方面,计算刀具路径可能需要更长的时间。

Robot Machining - 图片 15

注意:将允许绕Z轴旋转的角度设置为0度,以根据首选方向完全约束工具。对于简单的应用,其中机器人的工作距离非奇异点或轴限制远,您也可以将此旋转设置为0度。

首选配置

RoboDK会自动选择更接近首选起始关节(起始点为首选关节)的起始配置。从那时起,机器人将跟随线性运动,因此机器人配置不会改变。

下拉菜单将显示所有可能的解决方案以启动程序。如果需要,请选择首选的机器人关节配置,然后选择更新以重新计算程序。

提示: 此选项使您可以创建具有特定配置的程序,例如非翻转,弯头和前标志。

Robot Machining - 图片 16

更新程序

根据提供的设置,选择更新以生成机器人程序。如果可以成功创建程序,则会显示一个绿色的复选标记。然后,您将在工作站中看到一个名为Machining的新程序。

Robot Machining - 图片 17

双击生成的Robot Machining - 图片 18程序或选择模拟以启动机器人加工模拟。

右键单击该程序,然后选择生成机器人程序(F6)以生成机器人程序。有关程序生成的更多信息,请参见程序部分。

注意:默认情况下,RoboDK隐藏程序的指令。右键单击该程序,然后选择显示说明以查看说明列表。黄色箭头显示程序是否正在仿真以及正在执行什么指令。

Robot Machining - 图片 19


机器人切割

您可以设置算法以使刀具的方向沿路径保持恒定。例如,此行为可能对切割或焊接应用有用。

选择工具方向遵循选择算法下拉菜单中的路径,以重新计算首选工具路径。其他设置与机械加工项目具有恒定的刀具方向。

Robot Machining - 图片 20

机器人握住

在制造过程中,当机器人用工具将对象/刀具路径固定在机器人上时,可以对机器人进行编程。例如,这对于点胶或抛光应用很有用。这种类型的机器人编程也称为远程TCP

选择机器人会将对象保留在选择算法下拉列表中,以将工具路径正确放置在TCP引用上。其他设置与机械加工项目具有恒定的刀具方向。

重要:如果改变刀具方向,强烈建议使刀具路径的点彼此靠近。

Robot Machining - 图片 21

视频:该示例显示了使用Fanuc机器人的点胶应用程序:https://www.youtube.com/watch?v=YrepmoQtNnA

RoboDK中提供了更多信息 Autodesk Fusion加载项 部分。


曲线跟随项目

使用RoboDK可以使机器人在3D空间中跟随曲线。RoboDK中的曲线可以从对象边缘或进口的作为CSV文件中的点列表。例如,此选项对于机器人焊接应用很有用。

注意:大多数用于CAD软件的RoboDK插件会自动创建曲线并在曲线跟随项目中选择它们。在这种情况下,您可以按如下所示配置机器人的刀具路径机器人加工部

提示:曲线可以具有法线向量,该向量将与工具Z轴匹配(通常垂直于曲面)。

选择实用程序曲线追踪项目按照设置打开曲线。这些设置与机器人加工项目,唯一的不同是路径输入已预设为选择曲线

选择选择曲线以选择屏幕上的曲线。

Robot Machining - 图片 22

用鼠标左键选择曲线。两次选择同一条曲线将切换运动方向。同样,右键单击先前选择的曲线可以切换感应或取消选择先前选择的曲线。

Robot Machining - 图片 23

注意: 运动顺序以绿色数字显示。

提示:选择工具选件显示如果曲线彼此之间太近,则降低曲线拾取灵敏度。同样,减小箭头的大小以在路径上显示较小的绿色箭头。

右键单击屏幕,然后选择完成或按Esc键返回到设置菜单。绿色路径将显示机器人相对于对象的运动。

设置的右上方提供了一些其他选项,例如刀具速度以及是否必须为每条曲线应用逼近/后退运动。下图显示了默认设置:

Robot Machining - 图片 24

注意:除其他事项外,程序事件设置还允许在进近过程中更改运动速度并缩回运动。

导入曲线

通过选择实用程序,可以从CSV文件或文本文件在RoboDK中导入曲线导入曲线。一个新项目将出现在桩号中,将曲线显示为一个对象。

提示:拖放图像中所示的CSV文件(.csv格式),以自动将文件导入为曲线。

Robot Machining - 图片 25

该文件可以是带有曲线每个点的3D坐标的文本文件。可选地,可以将工具的Z轴的方向设置为ijk向量。

注意:在RoboDK中加载STEPIGES文件时,可以自动提取对象边缘(有关更多信息,请参见STEP / IGES导入部分)。

(可选)可以将对象的现有曲线导出为CSV文件(右键单击曲线,然后选择导出曲线),然后进行修改并重新导入RoboDK

Robot Machining - 图片 26

有关如何自定义将CSVTXT文件导入为曲线或点的更多信息和示例,请参见RoboDK API的示例部分


点关注项目

您可以轻松地模拟机器人来使用RoboDK跟踪点。RoboDK中的点可以从对象,曲线或进口的作为CSV文件中的点列表。例如,此选项对于点焊或钻孔应用很有用。以下视频显示了设置点焊应用程序的示例:看视频

注意:大多数用于CAD软件的RoboDK插件会自动创建点,并在点跟随项目中选择它们。在这种情况下,您可以按如下所示配置机器人的刀具路径机器人加工部

提示:点可以具有与工具Z轴匹配的法线向量(通常垂直于曲面)。

选择实用程序点跟踪项目打开点跟随设置。这些设置与机器人加工项目,唯一的不同是路径输入预设为选择点

选择选择点以选择屏幕上的点。

Robot Machining - 图片 27

用鼠标左键选择点。两次选择同一点将切换接近方向。同样,右键单击一个点可以通过选择选择下一个来选择随后的点。

Robot Machining - 图片 28

注意: 运动顺序以绿色数字显示。

提示:选择工具选件显示如果两个点之间的距离太近,则会降低该点的灵敏度。

右键单击屏幕,然后选择完成或按Esc键返回到设置菜单。绿色路径将显示机器人相对于对象的运动。

设置的右上方提供了一些其他选项,例如刀具速度和逼近距离。下图显示了默认设置:

Robot Machining - 图片 29

注意:除其他事项外,程序事件设置还允许在进近过程中更改运动速度并缩回运动。

导入点

通过选择实用程序,可以从文本文件或CSV文件导入点列表导入点。一个新项目将出现在测站中,将这些点显示为一个对象。

提示:拖放文本文件(.txt格式)(如图像中所示),以自动将文件导入为点列表。

Robot Machining - 图片 30

该文件可以是带有曲线每个点的3D坐标的文本文件。可选地,可以将工具的Z轴的方向设置为ijk向量。

注意:默认情况下,参数对象文件(例如STEPIGES文件)中的点将自动导入(更多信息可在STEP / IGES导入部分)。

(可选)可以通过右键单击一条曲线,然后选择提取曲线点将对象的现有曲线转换为点。

Robot Machining - 图片 31


机器人3D打印项目#Print3D

增材制造(或3D打印)是从数字文件中制作三维立体对象的过程。工业机器人手臂可与RoboDK一起用作3轴或53D打印机。以下视频概述了如何使用RoboDK脱机设置3D打印:看视频

可以通过以下方式之一使用机器人进行3D打印:

   使用RoboDKG代码程序(NC文件)直接转换为机器人程序,如机器人加工项目。每次移动都会适当考虑物料流速(挤出机指令E),并且可以将其作为程序事件集成到生成的程序中。G代码是RoboDK支持的一种NC文件,也是许多3D打印机支持的一种格式。给定一个STL文件,大多数切片器软件都可以生成G代码。

注意:切片器根据3D模型创建机器指令(G代码)。这些说明使用流速定义了挤出机的刀具路径。需要将RoboDK与切片器软件结合使用,以使用机器人正确完成3D打印。

提示: 右键单击RoboDK中的对象以将其另存为STL

   选择实用程序3D打印项目打开3D打印设置。这些设置与机器人加工项目,唯一的区别是路径输入已预设为3D打印对象。选择选择对象以在主屏幕上选择对象并自动获取刀具路径。选择3D打印选项以打开Slic3r

Robot Machining - 图片 32

重要:选择3D打印对象选项时,切片器Slic3r默认情况下可用于将对象转换为刀具路径。或者,可以通过生成G代码程序并将其转换为机器人程序来使用其他切片器,如机器人加工项目

Robot Machining - 图片 33

默认情况下,RoboDKE指令作为程序调用转换为名为Extruder的程序,并将E值作为参数传递。选择程序事件以更改此行为。

Robot Machining - 图片 34

挤出机值(E)表示每次移动前需要挤出多少物料。考虑到机械手的速度和点之间的距离,该值可用于驱动机械手的挤出机进料。

或者,可以使用后处理器计算挤出机进料并相应地生成适当的代码。以下部分提供了一个示例。

注意:一些机器人控制器可以自动使机器人运动与挤出机进料同步。在这种情况下,您需要将挤出机设置为后处理器中的外轴。

用于机器人3D打印的后处理器#Print3Dpost

本节说明如何修改机器人后处理器在执行3D打印的移动指令之前计算挤出机速度。或者,可以通过调用Extruder程序(驱动挤出机的默认命令)在机器人控制器上进行这些操作。

通过自定义机器人后处理器,可以在将程序发送到机器人之前更轻松地集成用于3D打印的挤出机。为了完成这样的任务,当在机器人后处理器中生成程序时,我们需要做一些计算并输出定制的代码。

注意:默认情况下,某些后处理器,例如ABB RAPID IRC5KUKA KRC2Comau后处理器会实现这些建议的修改。

第一步是拦截Extruder调用,并在后处理器的RunCode部分中读取新的Extruder值(E值)。以下部分处理为程序生成的所有程序调用:

 定义 运行码 is_function_call = ):

 如果 is_function_call

 如果 以。。开始挤出机():

 #拦截挤出机命令。

 #如果程序调用为Extruder123.56

 #我们将数字提取为字符串

 #并将其转换为数字

 自我。PRINT_E_NEW =浮动[9-1]

 #跳过程序调用的生成

 返回

 其他:

 附加线代码+ ()

 其他

 #输出程序代码

 附加线

挤出机值(长度/ E)被保存为机器人后处理器中的PRINT_E_NEW变量。

我们需要使用每个新的线性运动指令来触发名为new_move的函数调用。我们可以在MoveL命令的开头添加此调用:

 定义 移动 姿势 关节 conf_RLF=没有):

 “”“添加线性运动”“”

 #处理3D打印挤出机集成

 new_move姿势

 ...

我们还必须在后处理器的标题中添加以下变量,以计算挤出机的增量:

 

 3D打印挤出机设置参数:

 PRINT_E_AO = 5 #模拟输出ID,用于控制挤出机流量

 PRINT_SPEED_2_SIGNAL = 0.10 #将速度/流量转换为模拟输出信号的比率

 PRINT_FLOW_MAX_SIGNAL = 24 #提供给挤出机的最大信号

 PRINT_ACCEL_MMSS = --1 #加速,如果我们使用舍入/混合,-1假设为恒定速度

 

 #内部3D打印参数

 PRINT_POSE_LAST = 没有 #最后姿势打印

 PRINT_E_LAST = 0 #最后挤出机的长度

 PRINT_E_NEW = 没有 #新挤出机长度

 PRINT_LAST_SIGNAL = 没有 #最后挤出机信号

最后,我们需要定义一个新程序,该程序将根据运动之间的距离,机器人速度和机器人加速度来生成适当的挤出机进料命令。假设挤出机的进料是由特定的模拟输出或定制的程序调用驱动的。

我们需要在def MoveL程序定义之前添加以下代码。

重要: 用一个 四舍五入值RoboDK中对机器人编程时,将有助于保持恒定的速度并最小化加速行为。在这种情况下,时间可以计算为距离/速度。

 

 定义 计算时间 距离 最大值 最大值=-1):

 “”“Amax加速度和Vmax速度计算移动距离的时间”“”“

 如果 最大值 < 0

 #假设速度恒定(必须设置适当的平滑/舍入参数)

 托特 = 距离/最大值

 其他

 #假设我们加速和减速

 tacc = 最大值/最大值;

 Xacc = 0.5*最大值*tacc*tacc;

 如果 距离 <= 2*Xacc

 #未达到Vmax

 tacc = sqrt距离/最大值

 托特 = tacc*2

 其他

 #达到Vmax

 最大速度 =距离 -- 2*Xacc

 最大电视 =最大速度/最大值

 托特 = 2*tacc + 最大电视

 返回 托特

 

 定义 new_move new_pose):

 “”“对挤出机执行3D打印操作(如果适用)”“”

 如果 PRINT_E_NEW 没有 要么 new_pose 没有

 返回

 

 #跳过第一步,记住姿势

 如果 PRINT_POSE_LAST 没有

 PRINT_POSE_LAST = new_pose

 返回

 

 #计算下一次运动的物料增加量

 add_material = PRINT_E_NEW -- PRINT_E_LAST

 PRINT_E_LAST = PRINT_E_NEW

 

 #计算机器人速度和挤出机信号

 挤出机信号 = 0

 如果 add_material > 0

 distance_mm = 规范subs3PRINT_POSE_LAST位置(), new_pose位置()))

 #计算运动时间,以秒为单位

 time_s = 计算时间distance_mm SPEED_MMS PRINT_ACCEL_MMSS

 

 #避免被0

 如果 time_s >0

 #这可能看起来很多余,但是它可以让您考虑加速度,并且我们可以应用较小的速度调整

 speed_mms = distance_mm / time_s

 

 #以RPM * RatioPRINT_SPEED_2_SIGNAL)计算挤出机速度

 挤出机信号 = speed_mms *PRINT_SPEED_2_SIGNAL

 

 #确保信号在可接受的范围内

 挤出机信号 = 最高0PRINT_FLOW_MAX_SIGNAL 挤出机信号))

 

 #根据需要更新挤出机速度

 如果 PRINT_LAST_SIGNAL 没有 要么 腹肌挤出机信号 -- PRINT_LAST_SIGNAL > 1e-6

 PRINT_LAST_SIGNAL = 挤出机信号

 #使用内置的setDO功能设置模拟输出

 setDOPRINT_E_AO .3f” 挤出机信号

 #或者,引发程序调用并处理与机器人控制器的集成

 self.addline'ExtruderSpeed(%。3f'extruder_signal

 

 #记住最后一个姿势

 PRINT_POSE_LAST = new_pose