使用API筛选目标

下面的代码是一个示例Python脚本,它使用RoboDK API过滤目标(姿势目标或关节目标),使用FilterTarget命令:

Pose_filt,关节=机器人。FilterTarget(nominal_pose, estimated_joints)

如果是3,这个例子很有用理查德·道金斯party应用程序(RoboDK除外)使用姿态目标生成机器人程序。

robolink进口*# API与RoboDK通信

robodk进口*#基本矩阵运算

defXYZWPR_2_Posexyzwpr):

返回KUKA_2_Posexyzwpr#转换X,Y,Z,A,B,C到一个姿势

defPose_2_XYZWPR构成):

返回Pose_2_KUKA构成#转换姿势为X,Y,Z, a,B,C

#启动RoboDK API并检索机器人:

RDKRobolink()

机器人RDK''ITEM_TYPE_ROBOT

如果机器人有效的():

提高异常“机器人不可用”

pose_tcpXYZWPR_2_Pose([00200000])#定义TCP

pose_refXYZWPR_2_Pose([40000000])#定义Ref Frame

更新机器人TCP和参考系

机器人setToolpose_tcp

机器人setFramepose_ref

#对于SolveFK和SolveIK(正/逆运动学)非常重要

机器人setAccuracyActive精度可以是ON或OFF

在关节空间中定义一个标称目标:

关节00900900

#计算关节目标的机器人标称位置:

pose_rob机器人SolveFK关节#机器人法兰WRT机器人底座

#计算pose_target:关于参考帧的TCP

pose_targetinvHpose_ref) *pose_rob*pose_tcp

打印“目标未过滤:”

打印Pose_2_XYZWPRpose_target))

joints_approx关节# joints_approx必须在20度以内

pose_target_filtreal_joints机器人FilterTargetpose_target关节

打印的目标过滤:

打印real_jointstolist())

打印Pose_2_XYZWPRpose_target_filt))