问题标签 [kuka-krl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1072 浏览

kuka-krl - 库卡机器人。计算 TCP 周围的相对位置

我想像在慢跑模式下一样围绕 TCP 转动位置

第一次尝试是将值添加到位置:

然后我尝试了几何运算符“:”

TOOL_DATA[1]={X -22.5370,Y 145.857,Z 177.617,A 0.0,B 0.0,C 0.0}

不知何故,如果我正确更改 $TOOL 的 A、B、C,我知道几何运算符有效。指向抓图对象的方向。这意味着不同的方向确实需要 $TOOL 的其他 A、B、C 并且它不是很直观地得到它......

有没有更简单的方法来做到这一点或理解这一点?

0 投票
3 回答
470 浏览

git - 在 KRL(KUKA 机器人语言)项目中使用 git

我在我的 KRL 项目中使用 git 时遇到了一些问题,我想知道是否有一些解决方法可以改进我的工作流程。

KRL 是工业 KUKA 机器人的编程语言。它具有类似 Basic-/Pascal 的语法。一个程序由一个或多个模块组成。一个模块由两个文本文件组成,一个用于源代码 ( .src),另一个用于声明和定义 ( .dat)。

我的第一个问题是,在每个文件中,第一行构建的标题如下所示:

每个标题行都以 & 开头,对代码没有任何意义。最糟糕的部分是这个标题不断变化。因此,当我将一个文件从机器人控制器复制回我的仓库时,git 指出文件已更改,即使源代码相同。

所以我的第一个问题:有没有办法使用过滤器或钩子来忽略所有以 a 开头的行&

我的第二个问题是 *.dat 文件不仅用于声明和定义,如类 C 语言中的头文件,而且还用于存储值。这看起来像这样:

我依赖这些值,因为它们存储需要保持持久性的位置和计数器,但我不在我的回购中关心它们。不完全是,它们必须在文件和我的仓库中,但 git 不应该在这些行中寻找差异。

所以假设我在我的仓库中创建了一个模块并将这个模块复制到机器人。现在我用机器人执行这个模块并且必须覆盖一个位置值。这会更改相应 *.dat 文件中的值。一切正常,几天后我想实现一个计数器。我不能只将新的整数定义放入本地可用的 *.dat 文件中,因为这样我会覆盖机器人上的位置值。所以我必须首先将 *.dat 文件从机器人控制器复制到我的 repo 并在那里定义新变量。但当然 git 向我展示了文件不仅在新行中发生了变化,而且在机器人更改位置等值的行上也发生了变化。这使得审查变得更加困难,因为我有很多不断变化的测量值和计数器值。

所以对于我的第二个问题:有没有办法忽略=*.dat 文件之后的所有内容?这应该与来自标头的工作相同&,因此值应该在 repo 中,但我不关心这些值的任何差异。

0 投票
2 回答
104 浏览

robotics - 是否可以更改数组大小?你怎么做呢?

是否可以在 KUKA KRL 编程语言中在运行时更改数组大小?是否可以从 C# 中模仿 List 的行为?

0 投票
1 回答
219 浏览

krl - 关于 KUKA 机器人语言 (KRL) 中的 WAIT FOR 语句的奇怪错误

当程序到达“等待”(server.src,第 11 行)时,机器人停止。并且必须按下“开始”按钮才能继续运行。当程序到达“等待”时,我需要做些什么来防止机器人停止?我使用的是EthernetKRL包,源文件如下:

连接.xml:

服务器.src:

服务器.dat:

我的目的是使用计算机作为客户端,我希望机器人作为服务器。当计算机向机器人发送数据时,$OUT[14]=TRUE,然后机器人将数据返回给计算机。如果有人可以帮助我,我将不胜感激。

0 投票
0 回答
36 浏览

ros - 如何从 Kuka iiwa 机器人读取数据(例如:扭矩)并将数据(例如:扭矩)写入 Kuka 机器人?

如何从 Kuka iiwa 机器人读取数据(例如:扭矩)并将数据(例如:扭矩)写入 Kuka 机器人?我听说我应该使用 Ethercat 而不是以太网。谁能向我解释我该怎么做?