如果您驾驶汽车,那么它的品牌几乎没有什么不同:所有汽车都是以相同的方式驱动的。相同的计算机也适用。如果您有Windows PC,则用户界面不会受到计算机硬件的影响。对于工业机器人来说,绝对不是这种情况。
您对工业机器人进行编程的方式很大程度上取决于机器人品牌。您可能会认为机器人程序看起来像C ++或Visual Basic。事实是,某些机器人仍在类似汇编的语言中编程。
由于使用工业机器人的复杂性,机器人集成商和大多数制造商都试图将自己限制在单个机器人品牌上。不幸的是,工业机器人制造商没有提供完全等效的产品范围,其报价不断发展。例如,Stäubli是为数不多的提供适合潮湿环境的机器人的制造商之一,而FANUC是唯一提供中型付费协作机器人的制造商。此外,许多企业都可以呼吁招标。结果,有时制造商最终会带有不同品牌的机器人。
机器人编程语言发展缓慢的原因可能是由于工业机器人非常可靠且耐用的事实。因此,机器人制造商必须提供向后兼容性。出售备件和其他选择可能与出售新机器人一样有利可图。因此,机器人制造商可能不会改变其编程语言的基础知识。例如,即使四季度与使用二进制代码而不是ASCII一样,ABB坚持使用用户级别上的四元素来表示方向。ABB并没有像其他机器人制造商那样将四元素更改为Euler角度,而是添加了从一个方向表示转换为另一个方向表示的功能。大多数机器人编程语言可能看起来很棒,但如今,工程师已习惯了Java,C#和Python等现代编程语言。
Fanuc是领先的四个机器人制造商之一,不提供两种不同的编程语言:教吊坠(或TP)和Karel。TP程序是可以通过机器人的Teach Pendant按钮编辑的二进制文件(或新机器人的触摸屏)。也可以从LS文件(人类可读的ASCII文件)编译/分解TP文件。TP程序提供有限的类似组装程序的功能。另外,使用FANUC,您可以使用PC和KAREL(基于Pascal的编程语言)编程自己的算法,但是Karel不允许您进行机器人运动或从控制器的Thock Thock pendant中编辑程序。
您可以购买Roboguide离线编程和仿真软件来离线程序FANUC机器人。但是,如果您没有Roboguide的WinolPC,除非您还可以在FANUC机器人控制器中选择“ ASCII上传”,否则您将无法使用LS程序。您还需要Roboguide来编辑和创建Karel程序。
使用信息编程语言(JBI文件)对Motoman机器人进行编程。信息看起来与Fanuc的TP相似。程序变量是所有程序中共享的寄存器。但是,Motoman还为其所有机器人提供MOTOCOM:一个有据可查的库,可让您使用C ++,C#或Visual Basic(在Windows上)编程机器人。
ABB机器人的编程更简单,并且基于快速编程语言,这与Visual Basic有些相似。此外,ABB提供了RobotStudio,提供在线编程和免费的快速程序编辑器,以及通过PC和机器人之间的网络连接的简单文件传输。可选,您可以购买3D模拟器和离线编程工具。
Kuka机器人需要用KRL编程语言编写的SRC程序,除非您拥有Kuka Simulator SIM Pro,否则通常使用免费的Orangeedit编辑器编辑。有趣的是,Kuka的KRC4控制器是一台基于Windows的计算机,Teach吊坠是该计算机的远程桌面。从触摸屏感觉缓慢时,从Teach Pendant修改程序是不可行的。但是,一个值得注意的例外是Kuka的合作机器人LBR IIWA,该机器人使用Kuka的日出控制器,并在Java中进行了编程。
我们将在这里停下来,因为来自世界各地的其他数十个机器人制造商。Some brands do not have offline programming software, such as Universal Robots: the user must program UR robots through the robot’s touch pendant interface (which is highly intuitive, but also very limited) or using an ASCII editor and their UR Script language (based on Python). Other robot manufacturers focus their efforts on having plugins for CAD software, like Mitsubishi who offers MelfaWorks for SolidWorks.
没有人迈出统一机器人编程方式的事实令人失望。G代码是在50年代,在数值控制之后不久引入的,并且大多数CNC控制器当前使用它。工业机器人没有这种常见的编程语言。
几家公司提供强大的机器人离线编程(OLP)工具,可支持多个机器人品牌,每个软件工具都有其优势和缺点。但是,这些工具中的大多数也相对昂贵。还有一些免费的工具,例如Guazebo(通常与ROS一起使用),但它们需要专家编程技能,并针对机器人技术,使其在工业机器人的模拟和离线编程方面不太实用。
这就是为什么我们创建了Robodk:为工业机器人的负担得起的模拟器,它提供了一种直观的方式来编程工业机器人。模拟器支持多种应用,例如拾取和地点,绘画或机器人铣削。提供了优化工具来自动将CAM程序转换为机器人程序。Robodk是加拿大最大的机器人实验室之一Coro实验室的衍生产品,在所有主要工业机器人品牌上进行了测试。
Robodk的图书馆拥有来自30个不同机器人制造商的300多个机器人,我们期待继续增加对新机器人品牌的支持。欢迎任何机器人制造商在Robodk的图书馆中包括其机器人,并提供了一个开放的界面,以便能够进行离线编程和在线编程。离线编程是通过定义机器人的品牌后处理器来实现的。在线编程是通过开发一个机器人驱动程序来实现的,该机器人驱动程序可作为模拟器和机器人之间的桥梁。然后,可以逐步运行机器人程序,检索机器人位置或使用机器人移动到特定位置。该视频显示了用UR10的在线编程的示例:
使Robodk与众不同的是,您可以使用Python和Robodk API。Python提供了一个用于编程工具的巨大库(例如,将SVG图像转换为XY坐标,可以随后是机器人)。然后,您可以使用Python和Robodk的API使用面向对象的编程,并具有这样的代码段:
#机器人是一个对象#目标是一个姿势(4x4矩阵),定义tcp robot.movej(target*trans*trans*(0,0,-100))的位置和方向(目标)#移动(线性)到Target CloseGripper()#自定义的动作,例如抓取零件robot.movel(target*trans*trans*(0,0,0,-100))#移至接近位置
上面的脚本将通过进近位置将机器人移至特定目标。我们的图书馆(有或没有Python)提供了许多其他示例。
毫无疑问,有一天,机器人程序员将选择使用Python等通用编程语言编程任何机器人品牌。机器人程序员以及公司更喜欢此选项,因为它们不取决于品牌特定的工具。荣誉麦芽无候,Coro的另一个衍生产品,他提供了可以使用任何现代编程语言来控制的第一个工业机器人组,但是该机器人也需要使用一些专有命令。
自2015年1月推出以来,Rob亚搏手机版官方登录网站odk已下载超过30,000次。Robodk还吸引了大学作为学习工业机器人技术的工具(例如,您可以显示DH帧)以及全世界的新机器人制造商。我们还欢迎使用Robodk的API来开发其技术。优势是他们可以使用一个机器人品牌开发技术,并与任何其他机器人品牌一起部署。
可以免费尝试Robodk,并将继续免费用于教育目的。我们还认为,Robodk是当前可用的最实惠的离线机器人编程解决方案。
谢谢您的视线。我计划从Python环境中控制一个通过插座来控制一个Fanuc机器人。
惊人的!!!我是工业机器人领域的教授,并计划在课堂上使用Robodk。非常感谢大家!
你好,
感谢您的概述。
我是机器人编程的新手,您知道可以从哪里获得Kuka机器人的免费软件。
谢谢!
你好伊斯玛,
您打算使用Kuka机器人做什么?Robodk的免费版本可能足以让您模拟和编程Kuka机器人。
有一个免费的Kuka机器人程序编辑器:Orangeedit。
我在论文期间遇到的出色包裹之一,并为我提供了很多支持,尤其是当学生无法负担得起高价的柔软商品时。运动运动的好选择
似乎很有趣。我需要使用Robo DK的手册…任何人都可以共享手册文件/链接以下载“如何使用Robo DK”亚搏手机版官方登录网站
您将在我们的网站上找到一些示例应用程序:
//www.hi-ks.com/examples
请随时与我们联系info@www.hi-ks.com如果您需要更多信息。
我不知道为什么每次加载Robodk崩溃的SRC文件时。
该问题已通过新版本解决。让我们知道您是否还有问题。您可以导入KUKA SRC程序对其进行仿真,对其进行修改并再次生成SRC机器人程序。
我对这一发展感到非常惊讶,我决定将Robodk用于Kuka机器人,我正在与我的公司合作。我尝试将其安装在Ubuntu 16.04(64位)上,但是现在我整天都在努力使用错误消息(找不到QT平台插件“ XCB”)。最新的Python已安装,据我所知,也需要所有QT平台插件。我无法在网络或Robodk-Forum上找到任何解决方案 - 当然,这是一个非常简单的解决方案,但是如果没有帮助,我将无法为即将完成的任务实施Robodk。
多谢!
感谢您的意见。我们在论坛上回复了有关适当说明的请求,以安装Ubuntu的Robodk。我建议您下载最新的Ubuntu版本(当亚搏手机版官方登录网站前Robodk v2.6.7),并按照install-Instructions.txt文件中的说明进行操作。
更多信息在这里:
//www.hi-ks.com/forum/showthread.php?tid=223
如何将书面LS格式文件插入Robodk?探索机器人。
抱歉,Fanuc机器人。不奇特。
您可以选择FANUC POST处理器以离线生成LS代码。如果您有ASCII上传选项,则可以将LS程序直接传输到控制器。另外,您可以使用适当的Post处理器将LS文件编译为TP文件。
有关邮政处理器的更多信息,此处:
//www.hi-ks.com/help#postprocessor
HI GRATE软件,一直在玩试验的目标是NACHI SF166,考虑到Ether Robodk或SpruitCam的许可证,您是否计划了功能列表,以概述将来可以期待什么升级?
5轴工具路径可能没有第三方软件?
探针点云?
你好,先生,
我使用Robodk Create kuka *.src文件,当我通过FTP将文件发送到KUKA控制器时,它会在 *.txt文件中显示。现在,我无法在Kuka机器人中运行该程序。
您应该将文件重命名为SRC文件,并确保内容已正确传输。
你有什么控制器?
您是如何设置FTP连接的?
您将其发送到哪个位置?
请随时与我们联系info@www.hi-ks.com如果您需要技术帮助。
你好!Robodk
我已经阅读了有关如何将Kuka机器人与Robodk连接起来的论文。该文章提到了一个Maincom.src文件,要在KRC控制器上运行,以连接运行Robodk的PC。你能把这个文件发送给我吗?
谢谢
麦克
请与我们联系info@www.hi-ks.com我们将为您提供步骤。
这很有趣!
我已经编程了ABB机器人已有10年了,这是我必须处理的最简单的语言。FANUC非常笨拙,没有特殊程序就无法离线编辑。快速感觉与Python非常相似。如果记忆能够使用,我认为Fortran非常相似。
四元组是ABB的解决方案,是一种更紧凑的固体转化方法,而不是计算强度更强烈的均匀变换矩阵。也许是因为我已经使用了这么长时间,但是我发现与之合作非常容易。1,0,0,0是在XYZ轴上对齐两个坐标系统时。非常紧凑和高效。据我所知,ABB是程序员和数学家机器人。
我偶然发现了您的网站,因为我试图找到是否有人找到了一种在不同操作系统上运行其他制造商机器人的方法。我很想将Rapid视为标准语言。
我会喜欢尝试您的SDK!
我们很高兴听到您喜欢我们的帖子。通过使用我们的Python SDK,您可以模拟和编程任何机器人制造商的任何工业机器人臂,包括ABB,Kuka,Fanuc,Yaskawa Motoman,Universal Robots等!在我们的网站上提供了一个简短的示例:
//www.hi-ks.com/offline-programming
如果您有任何疑问,我们将很乐意提供帮助。
让我知道Robodk Python API(如果存在),以将机器人的特定关节移动到其轴上。据我所知,有一个指令movej接收目标(4×4矩阵)作为参数而不是度量。我是讲师。非常感谢。
嗨,库里亚(Kuliah),您还可以提供关节矩阵(6×1),它将使用提供的数据作为关节角度。您还可以使用robot.ychoints()检索当前机器人关节位置。
嗨,Robodk。
再会。这是您的一个很好的解释,因为我了解您的技术词。感谢那
让我自我介绍一下。我是一个机器人,教吊坠程序员fanuc abb等。机器人模拟器和Process的OLP程序员模拟了Robcad Roboguide等。好吧,我对Python C ++不太了解很多。
最近,我遇到了我的客户的要求,他们需要为Kuka机器人编程用于涡轮刀片的热喷涂涂料。如果您看一下涡轮叶片,它具有非常复杂的几何形状和棘手的离线程序,那么您知道过程模拟或ROBCAD对于OLP而言,很难进行复杂的几何形状。
我的要求是,我需要生成Kuka OLP,因为该软件应该足够好以支持复杂的几何形状。好吧,我的意思是说,使用3D CAD本机文件生成机器人路径应该很容易。HOVC热喷雾用于涂料中,以进行材料的长期性。
我可以向客户建议您的软件,但最终它取决于客户和软件的易感性。
感谢您的解释。
嗨,安德鲁,
感谢您的项目详细信息!我们希望Robodk适合您的客户需求。对于任何具体问题,请随时与我们联系info@www.hi-ks.com。
此致,
劳伦
在Robodk中,可以选择在关节移动上使用线性约束。(这意味着TCP的最大速度和加速度受到限制)。这有意义吗?此选项适用于真实情况,为什么?
先感谢您。
嗨,吉安尼斯,
对的,这是可能的。您应该使用“设定速度”指令。更多信息在这里:
//www.hi-ks.com/doc/en/robot-programs.html#insspeed
Robodk使用恒定加速度,直到达到所需的速度为止。
阿尔伯特
我正在为人类机器人的协作环境致力。正如我在ISO 15066中看到的那样,TCP的最大速度的约束就足以确保安全性,至少可以自由瞬态接触(图A.4)。在Robodk中,可以选择为关节运动设置线性约束。
传统上,通过设定角速度和加速度来限制联合移动。这样,关节移动最有可能比线性更快,正如我所看到的,这是某人更喜欢接头线性的原因之一。
那么,可以使用线性约束(而不是角约束)编程联合移动吗?
谢谢您的帮助!
您实际上可以在此处选择您的首选设置:
工具 - 选项移动时间计算
您可以将其设置为“最严格的约束”,所有速度约束将考虑到每个运动。