robodk prm python文件了解

参考  碰撞检测 - robodk文档

1.确保目标在工作空间,机器人上右键->“选项”->“工作空间”->“显示当前工具”查看机器人的。 

2.创建目标

3.构建阶段

        限制J1J3关节,J1约束到工作区的一侧,J3约束上肘(或下肘)

        路线图的详细程度=样品数*每个样本边数*机械手步长:度    

        粗略 - S=10   E=5  D=4

        中等 - S=100 E=25 D=4 

        详细 - S=500 E=50 D=2 

        更新地图

4.查询阶段

        选择或右键菜单选择链接2个目标或程序

        自动产生“ MainSafe”新程序

5.变更阶段       

        工作空间添加新对象或移动现有对象时,需要完全重新生成路线图

        粗略、细化不删除更新路线图

        向路线图添加新目标,然后连接

# Documentation: https://robodk.com/doc/en/RoboDK-API.html
# Reference:     https://robodk.com/doc/en/PythonAPI/index.html
# 注意:不需要保留此文件的副本,你的 python 脚本与站点一起保存

from robolink import *    # RoboDK API
from robodk import *      # Robot toolbox
RDK = Robolink()
"""
流程:
创建一个"xxx"的程序,返回成功与否
检索当前 PRM 地图信息
添加当前机器人关节
清除PRM规划器数据
设置PRM样本数量
设置PRM边数(关节配置之间的连接)
设置新添加的关节样本的边数
计算或更新 PRM 地图
连接2个目标,返回成功与否
将样本和地图导出为 CSV 文件

"""
# “CollisionFreePlanner”插件的插件命令不区分大小写
# 连接2个机器人目标的示例(例如从目标 1 移动到目标 2 的程序=ProgSample)
#创建一个名为 Prog 123 的程序
status = RDK.PluginCommand("CollisionFreePlanner", "Join", "Target 1|Target 2|ProgSample")
# 如果可以链接两个目标,则返回“Success”。否则返回“失败”
print(status)
# 示例:检索当前 PRM 地图信息
status = RDK.PluginCommand("CollisionFreePlanner", "Info")
# 返回包含样本和边的字符串,格式如下:# “样本-边-机器人名称”
print(status)
# 示例:添加当前机器人关节(每个关节将连接到 NewNodeEdges 样本)
status = RDK.PluginCommand("CollisionFreePlanner", "Add")
print(status)
# 此函数可以在循环中多次调用,以在给定关节值列表的情况下创建自己的 PRM 映射
# 清除与 PRM collision free planner相关的数据
status = RDK.PluginCommand("CollisionFreePlanner", "Clear")
print(status)
# 设置PRM样本数量(关节配置数量)的示例:
status = RDK.PluginCommand("CollisionFreePlanner", "Samples", 25)
print(status)
# 设置PRM边数(关节配置之间的连接)的示例:
status = RDK.PluginCommand("CollisionFreePlanner", "Edges", 10)
print(status)
# 设置新添加的关节样本的边数的示例
#(使用添加命令或通过连接目标/程序添加的新关节配置的连接):
status = RDK.PluginCommand("CollisionFreePlanner", "NewNodeEdges", 5)
print(status)
# 更改碰撞检查路径步骤的示例
#(这是 RoboDK 命令,而不是 PRM 插件命令)
status = RDK.Command("PathStepCollisionDeg", 2)
print(status)
# 设置新添加节点的边数的示例
#(使用添加命令或通过连接目标/程序添加的新关节配置的连接):
status = RDK.PluginCommand("CollisionFreePlanner", "Display", 0) #设置为 1(显示)或 0(隐藏)
print(status)
# 选择机器人进行 PRM 计算的示例(仅当您在单元中有 2 个以上的机器人时才有用)
robot_name = RDK.PluginCommand("CollisionFreePlanner", "SelectRobot", "Comau")
# 它返回选定的机器人名称
print(robot_name)
# 计算或更新 PRM 地图(可能需要一段时间)
status = RDK.PluginCommand("CollisionFreePlanner", "Calc")
print(status)
#--------------------------------------------------------
# 将样本和地图导出为 CSV 文件的示例
current_rdk_file = RDK.getParam("FILE_OPENSTATION")
# 将 N 个样本保存为 CSV 文件:每组关节值将保存为一行
status_msg = RDK.PluginCommand("CollisionFreePlanner", "SaveSamples", current_rdk_file + "-Joints.csv")
print(status_msg) # 如果成功则返回“完成”
# 将地图保存为 CSV 文件(大小为 NxN 的矩阵)
status_msg = RDK.PluginCommand("CollisionFreePlanner", "SaveMap", current_rdk_file + "-Map.csv")
print(status_msg) # Returns "Done" if it worked

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值