紧急求助

机器人二次开发到底指啥?跟正常应用编程区别在哪

小宋
小宋
2026/04/07 15:46

做了十几年机器人调试,ABB、发那科、库卡、安川都摸过,常规应用编程没啥问题。最近跟人聊,人家说他在做工业机器人二次开发,我听了半天感觉像是做应用层离线编程加外扩展,说白了就是示教器不够用自己写代码往里灌?

想问问大伙这个二次开发到底严格定义是啥,是改底层firmware,还是基于品牌自家开发包(比如ABB的PC SDK、发那科的KAREL、库卡的KUKA.Roboter API)做应用层扩展?一般集成商做的二次开发包不包括写驱动或者改运动控制算法?

24 3

全部回复 (3)

随缘
随缘#1

干了七八年集成,ABB和库卡这边二次开发接触得比较多。说白了二次开发就是基于厂家开放的那套接口(PC SDK、RobotStudio二次开发、或者EKI外部启动接口、KUKA的smartHMI和RSE)做应用扩展,比如外部PLC调度、设备联动协议对接、视觉引导数据处理、焊接参数动态下发这些。核心运动控制算法比如轨迹规划、运动学逆解你动不了,那是厂家的firmware层。

真正算底层改firmware的那是极少数特殊行业,比如半导体晶圆搬运对振动抑制有定制需求,得找原厂或者走R&D通道。集成商层面的二次开发99%都是应用层,和示教器编程的区别就是:示教编程是单台机器人的点对点逻辑,二次开发是面向产线/整厂的调度、数据采集、协议适配这些,编程语言也自由,ABB用C#调PC SDK的最多,库卡用Java和C++调RSE接口。

题主说"写代码往里灌"这个说法不准确,应用层是跑在外部PC或者机器人控制柜的PC环境上,不是直接灌到运动控制器里。运动控制器跑的还是厂家固化的VxWorks或者IRT实时系统,你得通过EKI/ProfiNet/OPC UA这些开放接口去交换数据。

2026/04/07 16:59
999
999#2

反问一下题主,你说的"灌代码"是接触了什么场景让你产生这个疑问的?现在二次开发定义其实有点被泛化,有些厂子把基于示教器+扩展IO做配方切换也包装成二次开发卖项目,这个其实不算。

2026/04/08 02:45
jianjunl88
jianjunl88#3

发那科这边提一嘴,KAREL是发那科原生的机器人编程语言,能在示教器上写也能在PC端离线编,能力介于示教和SDK之间,能做条件分支、循环、位置运算、IO控制、算寄存器,水平高的老法师用KAREL加自定义协议能把单机玩出花。但KAREL的IO响应周期最快也就8ms,复杂的运动学插补做不了,真要做多机协同或者视觉引导还是得PC端C++/Python调二次开发接口。

说白了KAREL是过渡产物,现在新项目基本没人用这玩意硬扛,都是工控机+上位机软件+机器人控制柜的架构。

2026/04/08 22:47