1.上位机可以通过PCSDK获取机器人的当前位姿或者角度。 2.GetPosition函数返回对应机械装置的Jointtarget类型数据,GetPosition(coordinateSystem)返回机械装置的位姿。 注:根据手册,GetPosition(coordinateSystem)只能返回机器人的末端位姿,即返回的robtarget数据中,外轴值均为0. 3. 如果希望同时获得机器人的位姿和外轴数据,可以参考以下代码,即对于外轴数据,获取对应机械装置的jointtarget数据中的ext
RobTarget rbTarget = new RobTarget(); // 存储机器人 JointTarget jTarget = new JointTarget(); // 存储外轴机械装置 MechanicalUnitCollection mechanicalUnits = controller.MotionSystem.MechanicalUnits;
foreach (MechanicalUnit m in mechanicalUnits) { if (m.Type == MechanicalUnitType.TcpRobot) { rbTarget = m.GetPosition(CoordinateSystemType.World); } else { jTarget = m.GetPosition(); } } textBox1.Text= ""; textBox1.AppendText("x:" + rbTarget.Trans.X.ToString()+"\r\n"); textBox1.AppendText("y:" + rbTarget.Trans.Y.ToString() + "\r\n"); textBox1.AppendText("z:" + rbTarget.Trans.Z.ToString() + "\r\n"); textBox1.AppendText("q1:" + rbTarget.Rot.Q1.ToString() + "\r\n"); textBox1.AppendText("q2:" + rbTarget.Rot.Q2.ToString() + "\r\n"); textBox1.AppendText("q3:" + rbTarget.Rot.Q3.ToString() + "\r\n"); textBox1.AppendText("q4:" + rbTarget.Rot.Q4.ToString() + "\r\n"); textBox1.AppendText("ex1:" + jTarget.ExtAx.Eax_a.ToString()); // 显示外轴数据
******************************** 如何获取更多经典文章? 关注公众号 ABB机器人实战技巧,点击页面底部的往期经典和配置,查看更多经典内容
点击阅读原文,学习robotstudio仿真,获取完整教学视频 更多内容 ★ 如何搜索历史文章
★基于pcsdk传输文件到HOME及加载 通过总线发送实数及负整数 ★使用定时中断向PLC发送机器人位置
★信号的准确提早触发
★变位机校准
★ABB机器人零位校准的那些秘密
★创建UDP通讯
★旋转姿态的左乘与右乘 ★通过socket控制机器人启停 上位机仪表盘实时显示机器人速度
★机器人画哆啦A梦 上位机实时控制机器人运动之EGM Python控制ABB机器人运动 通过Excel批量修改EIO文件 带连杆的机器人正运动学计算 制作四连杆机构 机器人PROFINET同时做CONTROLLER和DEVICE ★语音控制ABB机器人
★手机访问web控制机器人 ★自定义伺服焊枪
★制作输送链抓取搬运码垛工作站 ★随机物料产生与抓取
★四轴机器人定义TCP ★自定义外部轴-变位机
★示教四点完成码垛 ★multimove之双机器人与变位机
Robotware6.08碰撞预测启用与关闭
SMB板针脚解释
四六关节耦合限制
求两点间距离 新I/O DSQC1030配置 ABB机器人配置伺服焊枪 转角路径故障不提示设置 外部PLC选择机器人程序 一键回HOME程序 机器人各轴上下限位修改
Wobjdata数据解释
输送链跟踪与视觉的联系
急停与自动停止接线
|