线程评级:
从TXT文件导入并跟踪点
# 1
我试图写一个python脚本从TXT文件导入一个点列表,在每个点创建一个目标,然后移动机器人TCP到每个点,为预定义的时间量。问题是RDK.AddFile()函数一直给我错误,“未能打开文件:SOURCE_6PTS.txt”,当我尝试用for循环迭代导入的点时,它给出了错误,“TypeError:‘Item’对象不可迭代”。有没有办法从TXT文件导入点到可迭代对象类型?

我所写的导致错误的代码如下所示,我试图导入点的TXT文件包括在附件中。

#添加机器人和工具
robot = RDK.Item('UR10')
工具= RDK.Item('meter')

从STL文件和相应的参考系中添加对象
base = RDK。项目(“UR10基地”)
sourceFrame = RDK。AddFrame('Auto Source Reference',base)
SOURCE = RDK.AddFile(r' c:\Users\Michael\Documents\RoboDK\SOURCE_STL.STL',sourceFrame)

从TXT文件中添加分数
addfile ('SOURCE_6PTS.txt')

#设置当前位置为home
home_pos = robot.Pose()

#移动到每个点
对于point in POINTS:
Pose_i = home_pos
pose_i.setPos(点)
robot.setPoseTool(工具)
robot.MoveJ (pose_i)
robot.Pause (5000)


. txt SOURCE_6PTS.txt(大小:509字节/下载:465)
如果你想在RoboDK中导入列表点作为对象,你应该使用GetPoints,然后遍历这些点。这是一个例子:

代码:
pointsObject = RDK.AddFile(points_file_path)
pointList, featureName = POINTS.GetPoints(FEATURE_POINT)
对于pointList中的点:
# point = [x,y,z,i,j,k]
X y z i j k =点
print("XYZ = [%.3f,%.3f,%. 3f,%. "" % (x,y,z) "

或者,您也可以使用LoadList。例子:

代码:
pointList = LoadList(points_file_path)
对于pointList中的点:
# point表示文件的每一行都是一个浮点数列表
X,y,z =点
print("XYZ = [%.3f,%.3f,%. 3f,%. "" % (x,y,z) "

我附上了一个示例项目,展示了如何使用这两种方法通过点移动。

我还附上了第二个示例,该示例允许您创建一个程序,给定带有方向信息(欧拉角)的点列表。

更多例子:
//www.w5838.com/doc/en/PythonAPI/exam...ugh-points


附加文件
.rdk Example-AddFile-LoadList.rdk(大小:1.06 MB /下载:493)
. zip Example-Load-TXT-XYZWPR.zip(大小:1.88 MB /下载:489)




浏览此线程的用户:
1客人(年代)