你可以使用工业机器人像机世界杯2022美洲预选赛直播床(3轴或5轴CNC)。为了达到与数控机床相同的效果,工业机器人需要先进的离线编程软件,如RoboDK,将机器程序世界杯2022美洲预选赛直播转换为机器人程序。2022世界杯8强赛时间RoboDK支持将APT、G-code ACL、TAP或NCI等机器程序转换为机器人仿真和机器人程序。
机器人加工包括不同的材料去除应用,如铣削、钻孔、倒角和去毛刺,通常由自动化机床(CNC)完成。
零件尺寸由计算机辅助设计(CAD)软件确定,再由计算机辅助制造(CAM)软件转换成制造程序(如g码)。然后,可以使用RoboDK的离线编程工具将制造程序转换为机器人程序。2022世界杯8强赛时间
附加轴,如转盘和/或线性轨道可以创建而且同步配合机器人扩展工作空间。
本节展示了一些涉及机器人加工的例子。其中一些示例包括使用插件来显示如何生成CAM工具路径。但是,您可以在RoboDK中加载任何通用的5轴工具路径,如APT、NC或G-code文件。
请访问我们文档中的CAM插件部分,以获得更多关于机器人加工项目的示例,例如一种数控编程,MecSoft / RhinoCAM,发明家,FeatureCAM或Fusion360.
本示例将帮助您理解RoboDK中机器人加工的基础知识,以及如何将3轴机器人加工作业转换为机器人加工仿真和机器人程序。
本示例将帮助您理解如何在RoboDK中配置机器人加工设置,以及如何将5轴机器人加工作业转换为机器人加工仿真和机器人程序。
此示例还将帮助您在不同的加工作业操作之间创建一个安全的进/退动作。
这个例子展示了如何使用带有3个额外外部轴的KUKA机器人进行机器人加工。该单元包括一个6轴机械臂,一个单轴导轨和一个2轴转台。
更多信息,请参阅RhinoCAM示例部分.RhinoCAM与RoboDK的集成会自动将rhino ocam中的APT文件加载到RoboDK中。
这个例子展示了如何使用Yaskawa/Motoman机器人进行激光切割应用。定义了机器人切削刀具路径Autodesk Fusion的RoboDK插件.
这个例子展示了如何使用安川/Motoman机器人进行机器人加工和RoboDK一种数控编程的插件.RoboDK支持自动加载Mastercam生成的NCI或NC文件。
参观一种数控编程示例部分为更多的信息。
这个例子展示了如何使用ABB机器人去毛刺。此示例包含一个选择和放置操作。
这个例子展示了如何使用KUKA机器人进行抛光。
本节展示如何离线准备一个简单的RoboDK项目,用于机器人加工。机器人加工单元必须至少有一个机器人,一个工具(EOAT)和一个参考系(也称为坐标系,零件参考或基准)。更多关于在RoboDK中建立新站点的信息,请参见开始部分。
下面的步骤展示了如何使用KUKA KR210机器人和Teknomotor铣床主轴准备机器人加工设置(该示例可在库中的Sample-New-Project.rdk中找到)。
1 -选择一个机器人:
一个。选择文件➔开放的在线图书馆.
b。使用过滤器找到你的机器人品牌,有效载荷,…
例如,选择库卡KR210 R2700(210公斤有效载荷,2.7米延伸)。
c。选择2022世界杯国家队名单机器人应该会自动出现在主屏幕上。
2 -选择一个工具:
一个。从同一个在线库中,选择Reset以删除过滤器并通过过滤器进行过滤类型➔工具.
b。选择2022世界杯国家队名单加载主轴工具,如Teknomotor ATC71-C-LN主轴。
c。主轴将自动连接到机器人上。
d。关闭在线图书馆窗口。
3 -添加一个参考框架:
一个。选择机器人的基础框架(命名为库卡KR210 R2700底座).
b。选择程序➔添加参考帧.机器人底座将增加一个新的参考系。
c。双击参考并输入坐标:
XYZABC = [1500,1000,500,0,0,0] (mm-deg)
d。将新的参考系重命名为铣削参考输入新名称或选择F2。
4 -添加你将用于机器人加工的对象(可选):
一个。选择文件➔开放
b。选择一个名为对象象棋Rook.sld从RoboDK库:
C: / RoboDK /库
c。如果对象不是自动放置在铣削引用中(在车站树中),则将其拖放到铣削引用中。
5 -双击机器人查看机器人面板(可选)。机器人面板显示主动工具和主动参考系。通过选择和更新工具和参考系,我们应该在机器人控制器中看到相同的坐标。默认情况下,Teknomotor主轴的TCP位于刀架的根。该工具(TCP)将具有一定的长度。在这个例子中,我们将更新TCP来表示刀具的长度:
一个。更新工具X坐标(TCP)为375毫米。您将看到TCP沿着轴移动。
b。(可选)您还可以创建第二个工具,并通过沿Z轴添加一个转换来定义与第一个工具相关的TCP。
c。关闭机器人面板窗口。
按照以下步骤在RoboDK中设置一个新的机器人加工项目,给定一个使用CAM软件(如G-code或APT)生成的NC文件:
1.选择公用事业公司➔机器人加工项目(Ctrl + M)。
将弹出一个新的窗口,如图所示。
2.选择选择数控文件在路径输入部分
3.提供一份NC文件,如以下APT加工文件:
C: / RoboDK /图书馆/ Example-02。e-Robot Machining Chess rookk .apt
4.将机器人加工项目重命名为加工设置右键单击树中的新项目并选择重命名(F2).
在菜单的左上角选择机器人、参考系和工具,如下图所示。相对于正确的坐标系,工具路径应该以绿色显示。
加工刀具路径显示为绿色,路径法线显示为白色向量。取消勾选“可见工具路径”以隐藏工具路径。
您可以选择更新看看您是否可以创建一个机器人加工程序与默认设置。如果程序成功生成,您将看到一个绿色的复选标记。然后您可以选择模拟或者双击生成的程序以查看模拟开始。
如果你看到一个带有警告信息的红色十字,这意味着你的机器人加工程序是不可行的。你可能需要改变一些设置,如工具的方向,优化参数,起始点或零件的位置。
以下部分提供了关于如何定制机器人加工设置的更多信息。
路径输入允许您选择不同的方式来提供工具路径。
·选择数控文件:作为一个NC文件(从CAM软件获取),如本节所述。
·选择曲线:作为一条或多条曲线,如曲线跟踪项目部分。
这是可能的进口曲线作为RoboDK中的坐标列表。
·选择分:一个或多个点,如点跟进项目部分。
这是可能的进口分作为RoboDK中的坐标列表。
·3 d打印对象:作为3D打印的对象。切片器用于将几何图形转换为工具路径
选择项目活动显示在生成机器人程序时需要考虑的特殊事件。这包括触发工具更改,设置转速中的主轴转速,或在程序启动或程序结束时触发特定的程序。
您可以指定舍入值在程序的事件。这将在程序开始时自动创建一个舍入指令,有助于使机器人加工程序更流畅,防止机器人抖动。例如,在ABB机器人上,这将以毫米为单位设置ZoneData值,在Fanuc机器人上,这将以百分比为单位设置CNT值,在通用机器人控制器上,它将以毫米为单位设置混合值。
如果你正在使用G-code或NCI文件,自定义M代码将被默认触发,作为M_RunCode的函数调用(M代码作为参数传递)。您可以通过删除对M_RunCode的调用来删除自定义M调用。
将鼠标光标移到相应的字段上以获得更多信息,以自定义每个部分。
例如,在更改工具时,您可以使用%1值来表示CAM软件提供的工具ID。如果你更喜欢触发静态函数而不是传递参数,你可以替换SetTool (% 1)通过SetTool % 1.当使用工具2时,这将生成SetTool2而不是SetTool(2)。
您可以自定义您的方法,并从机器人加工菜单的右上角收回运动。默认情况下,RoboDK增加了100毫米的靠近和收回运动沿正常。
选择添加增加一个额外的回缩动作。绿色路径将相应更新。可以选择沿着特定的轴移动,提供坐标,采用弧线方式等。您还可以通过选择多个靠近/缩回动作来组合添加按钮。
选择删除移开:移开一个特定的靠近或后退的动作
刀具偏移的路径允许沿刀具路径改变刀具的首选方向。该选项主要用于将工具围绕TCP的Z轴旋转。这允许处理6th围绕工具轴的自由度。根据应用程序及其需求,提供了几个选项。例如,您可以选择最小化工具方向或沿着路径遵循工具方向。
由于6轴机器人用于遵循3轴或5轴CNC制造程序,我们有一个额外的自由度来定义。这个自由度通常是围绕TCP的Z轴旋转。这种额外的自由度对于避免奇点、关节限制、碰撞或可达性问题特别有用。
默认情况下,工具偏移的路径显示为rotz (0)转换。这意味着你可以在工具的Z轴上增加一个额外的旋转。可以修改该值以建立工具的首选方向,修改TCP的Z轴方向或与其他轴结合的方向。首选方向是机器人在沿着工具路径行走时试图保持的方向。
默认情况下,RoboDK使用最小的刀具方向变化算法。这意味着刀具的方向在刀具路径上尽可能保持不变。一般来说,该选项适用于铣削操作,因为它最小化了机器人关节的运动。也可以使用其他算法/方法,例如工具方向遵循工具路径(适用于切割应用,其中刀片需要沿路径保持切线),或机器人拿着物体如果需要遵循附加到机器人工具上的工具路径(例如,用于分配或抛光应用,也称为远程TCP配置)。
给定一个首选的工具方向,机器人可以有一定的自由度绕工具的Z轴旋转。这允许机器人解决程序避免机器人奇点,关节限制,并确保所有点都是可达的。默认情况下,RoboDK允许工具绕TCP轴旋转+/-180度,每增加20度。
建议根据应用程序限制这种旋转。例如,可以输入+/-90度来将允许的旋转限制一半。降低此参数也将减少获取程序的处理时间。
如果路径的某些点无法到达,建议旋转参照系或使用工具Z旋转更允许。参照系可以通过握住Alt按下并拖动坐标系统,以更好地适应机器人工作空间内的零件。
RoboDK自动选择更接近首选启动接头的启动配置(起始点的首选关节).从这一点开始,机器人将遵循线性运动,所以机器人的构型不会改变。
下拉菜单将显示启动程序的所有可能解决方案。如果需要,选择首选的机器人关节配置,并选择更新重新计算程序。
选择更新根据所提供的设置生成机器人程序。如果程序可以成功创建,则会显示一个绿色的复选标记。然后你会在电台看到一个新节目叫做加工.
双击生成的程序或选择模拟启动机器人加工仿真。
右键单击程序并选择生成机器人程序(F6)生成机器人程序。有关程序生成的更多信息程序部分。
你可以设置算法来保持沿路径的工具方向恒定。这种行为可能对切割或焊接应用很有用。
选择工具取向是路径在选择算法下拉菜单重新计算首选工具路径。其他设置与有加工项目具有恒定的工具方向。
当机器人在进行制造操作时握住物体/刀具路径时,就可以对机器人进行编程。这是有用的胶水分配或抛光应用程序,例如。这种类型的机器人编程也称为远程TCP。
选择机器人拥有对象在选择算法下拉菜单正确地将工具路径放在TCP引用上。其他设置与有加工项目具有恒定的工具方向。
更多信息可在RoboDKAutodesk Fusion插件部分。
使用RoboDK可以让机器人在3D空间中遵循曲线。RoboDK中的曲线可以从物体的边缘或进口作为CSV文件中的点列表。例如,这个选项对于机器人焊接应用非常有用。
选择公用事业公司➔曲线跟踪项目打开曲线跟随设置。这些设置与a相同机器人加工项目,唯一的区别是路输入预设是选择曲线.
选择选择曲线在屏幕上选择曲线。
用鼠标左键点击选择曲线。两次选择相同的曲线将切换运动方向。此外,右键单击之前选择的曲线可以切换之前选择的曲线的含义或取消选择。
右键单击屏幕并选择完成或按Esc键返回设置菜单。绿色的路径将显示机器人相对于物体的运动。
一些额外的选项可以在设置的右上角,如工具的速度和是否必须应用于每个曲线的接近/收回移动。默认设置如下图所示:
通过选择,可以在RoboDK中从CSV文件或文本文件导入曲线公用事业公司➔进口曲线.站中将出现一个新项目,将曲线显示为一个对象。
该文件可以是带有曲线上每个点的3D坐标的文本文件。可选地,工具Z轴的方向可以提供为i,j,k向量。所有坐标必须相对于零件的坐标系。
还可以将对象已有的曲线导出为CSV文件(右键单击曲线,然后选择导出曲线),修改后重新导入到RoboDK中。
有关如何将CSV或TXT文件自定义导入为曲线或点的更多信息和示例,请参阅RoboDK API的示例部分.
你可以很容易地模拟机器人跟随点与RoboDK。RoboDK中的点可以从物体、曲线或进口作为CSV文件中的点列表。这个选项对于点焊或钻井应用非常有用。下面的视频展示了一个建立点焊应用程序的例子:观看视频.
选择公用事业公司➔点跟进项目按设置打开点。这些设置与a相同机器人加工项目,唯一的区别是路输入预设是选择分.
选择选择分选择屏幕上的点。
用鼠标左键单击选择点。选择同一点两次将改变接近方向。此外,右键单击一个点允许通过选择来选择后面的点选择next.
右键单击屏幕并选择完成或按Esc键返回设置菜单。绿色的路径将显示机器人相对于物体的运动。
在设置的右上角还有一些其他选项,如工具速度和接近距离。默认设置如下图所示:
通过选择,可以从文本文件或CSV文件导入点列表公用事业公司➔进口分.站中将出现一个新项目,将这些点作为一个对象显示出来。
该文件可以是带有曲线上每个点的3D坐标的文本文件。可选地,工具Z轴的方向可以提供为i,j,k向量。
通过右键单击曲线,然后进行选择,可以将对象的现有曲线转换为点提取曲线点.
增材制造(或3D打印)是从数字文件制造三维实体的过程。世界杯2022美洲预选赛直播工业机械臂可以使用RoboDK作为3轴或5轴3D打印机。以下视频概述了如何离线设置RoboDK 3D打印:观看视频.
机器人3D打印可以通过以下方式之一实现:
·用RoboDK直接将G-code程序(NC文件)转换为机器人程序,如机器人加工项目.物料流动速率(挤出机指令E)被正确地计算为每个运动,它可以集成到生成的程序作为一个项目活动.G-code是RoboDK支持的一种NC文件,也是许多3D打印机支持的格式。在给定STL文件的情况下,大多数切片软件都可以生成g代码。
·选择公用事业公司➔3 d打印项目打开3D打印设置。
默认情况下,RoboDK将E指令转换为一个程序调用给一个名为挤出机并将E值作为参数传递。选择项目活动要改变这种行为。
挤出器值(E)表示在每次移动前需要挤出多少材料。考虑到机器人的速度和点之间的距离,这个值可以用来驱动挤出机从机器人进给。
或者,也可以使用后处理器计算挤出机进料,并相应地生成适当的代码。下面的部分提供了一个示例。
本节介绍如何修改机器人后置处理程序计算挤出机速度,然后执行3D打印的运动指令。或者,这些操作可以通过Extruder程序调用在机器人控制器上执行(驱动挤出机的默认命令)。
通过定制机器人后处理器,在将程序发送给机器人之前,可以更容易地集成3D打印的挤出机。为了完成这一任务,我们需要在机器人后处理器中生成程序时进行一些计算并输出定制代码。
第一步是拦截Extruder调用并读取后处理器RunCode部分中的新的Extruder值(E值)。以下部分处理为一个程序生成的所有程序调用:
defRunCode(自我,代码,is_function_call=假):
如果is_function_call:
如果代码.startswith(挤出机():
#拦截挤出命令。
#如果程序调用是Extruder(123.56)
#我们将数字提取为字符串
#并将其转换为一个数字
自我。PRINT_E_NEW=浮动(代码[9: -1])
#跳过程序调用生成
返回
其他:
自我.addline(代码+“()”)
其他的:
#输出程序代码
自我.addline(代码)
Extruder值(length/E)作为PRINT_E_NEW变量保存在机器人后处理器中。
我们需要触发一个名为new_move每一个新的直线运动指令。我们可以在MoveL命令的开头添加这个调用:
defMoveL(自我,构成,关节,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程序定义之前添加以下代码。
defcalculate_time(自我,距离,Vmax,Amax= -1):
计算以最大加速度和最大速度移动一段距离所需的时间
如果Amax<0:
假设速度恒定(必须设置合适的平滑/舍入参数)
Ttot=距离/Vmax
其他的:
#假设我们加速和减速
tacc=Vmax/Amax;
Xacc=0.5*Amax*tacc*tacc;
如果距离<=2*Xacc:
# Vmax未达到
tacc=√6(距离/Amax)
Ttot=tacc*2
其他的:
# Vmax已经达到
Xvmax=距离-2*Xacc
Tvmax=Xvmax/Vmax
Ttot=2*tacc+Tvmax
返回Ttot
defnew_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
#计算机器人速度和挤出机信号
extruder_signal=0
如果add_material>0:
distance_mm=规范(subs3(自我.PRINT_POSE_LAST.Pos(),new_pose.Pos()))
#以秒为单位计算移动时间
time_s=自我.calculate_time(distance_mm,自我.SPEED_MMS,自我.PRINT_ACCEL_MMSS)
#避免除0
如果time_s>0:
#这可能看起来多余,但它可以让你考虑到加速,我们可以应用小的速度调整
speed_mms=distance_mm/time_s
计算挤出机转速/ RPM*Ratio (PRINT_SPEED_2_SIGNAL)
extruder_signal=speed_mms*自我.PRINT_SPEED_2_SIGNAL
#确认信号在可接受值范围内
extruder_signal=马克斯(0,最小值(自我.PRINT_FLOW_MAX_SIGNAL,extruder_signal))
#在需要时更新挤出机速度
如果自我.PRINT_LAST_SIGNAL是没有一个或腹肌(extruder_signal-自我.PRINT_LAST_SIGNAL)>1 e-6:
自我.PRINT_LAST_SIGNAL=extruder_signal
使用内置的setDO函数设置模拟输出
自我.setDO(自我.PRINT_E_AO,“% .3f”%extruder_signal)
#或者,触发一个程序调用并处理与机器人控制器的集成
# self.addline(“ExtruderSpeed (% .3f) % extruder_signal)
#记住最后一个姿势
自我.PRINT_POSE_LAST=new_pose