现在的位置: 首页 > 专题 > 机器人 > Robotics Studio > 设计中心 > 文档 > 专题 > 机器人 > 正文

Robotics Studio学习教程:第二十三天——控制虚拟的KUKA LBR3机器人手臂

2014年05月10日 Robotics Studio, 文档, 机器人 ⁄ 转载:原文链接 ⁄ 共 1441字 ⁄ 字号 暂无评论 ⁄ 阅读 1,218 次
Robotics Studio学习教程

Robotics Studio学习教程

继之前分享的一篇《Robotics Studio学习教程:第二十二天——让相扑机器人动起来!》, 我们将继续分享下一篇《Robotics Studio学习教程:第二十三天——控制虚拟的KUKA LBR3机器人手臂》,让我继续开始我们学习Visual Programming Language,以及使用Robotics Studio学习开发机器人应用的道路吧。

 

[Robotics Studio] 操控虚拟 Kuka LBR3 机器人手臂 -- Day23

 

玩完车子, 换玩机器人手臂吧.

照例用简单的 VPL , 使用 GenericArticulatedArm 以及 SimpleDashboard 两个 service 就可以玩:

clip_image002

在 GenericArticulatedArm 当中我们可以选用 manifest - KUKA.LBR3.simulation.Manifest.xml :

clip_image004

就可以开始啦:

clip_image006

Dashboard 的使用方法跟操控机器车子很像, 先点选 Remote Node 里面的 Connect, 再点选 Articulated Arm 里面的 Connect:

clip_image008

你会看到一堆 Joint, Joint 在医学上就是骨头的关节 ... 当然也可以翻译成为缝合点, 接合点...

在此就是机器手臂可以旋转的关节点. Joint 在 XNA 当中可以如下旋转 (来自官方说明文件):

clip_image010

换句话说, Local Axis 旋转的, 称之为 TwistMode (Roll) , Normal Axis 的叫做 SwingMode1 , Binormal Axis 称之为 SwingMode2.

在 KUKA LBR3 当中, 每个 Joint 都只有开放 TwistMode (unlock) , 所以只能绕着 Local axis 旋转.

由下(基座) 一直到最上面(手臂尾端) 分别为 Joint0 ~ Joint 6

想要推倒骨牌, 很简单, 将 Joint0 设定为 120 (先双击 Joint0 , 然后输入 angle : 120 , 再点选 Apply Changes)
然后把  Joint1 设为 280 , 你就会看到下面的画面啰:

clip_image012

那要怎么写  VPL 来控制刚刚的动作 ?
clip_image014

先将 120 (注意 type 是 double) , 然后丢给 MathFunctions 计算 Radians (因为 GenericArticulatedArm 只吃这种, 型态还要 float!)

所以再转成 float , 丢给 GenericArticulatedArm 的 SetJointTargetPose (JointName = "Joint0"), 同时在数据产生时设定  Timer (我设定为 1000 ms)

之后 timer 的 TimerComplete 发生通知时, 改丢 280 的 Radian 给 GenericArticulatedArm 的 SetJointTargetPose (JointName = "Joint1").

而 SetJointTargetPose 的其他参数设定如下:

clip_image016

主要是设定 TargetOrientation 以及 JointName, 注意 TargetOrientation 的 Axis 只能是 x = 1, y = 0, z = 0,
因为 KAKU LBR3 的每个 Joint 只有 TwistMode 可以旋转 , 所以只能 x 有值 (当然是 1, 如果你设定其他值, Angle 就不是这样计算了)

 

让我们继续一下章教程:

《Robotics Studio学习教程:第二十四天——DSS System Services》

fgx

分享到:

Wopus问答

×