线程评级:
RoboDK工作不正常
# 1
你好,

我最近获得了RoboDK的许可证,我想用键盘控制KUKA的手臂。我使用的是提供的样本
代码:
#这个宏允许使用键盘移动机器人
#注意:这只适用于控制台模式,你必须单独运行PY文件

更多关于RoboDK API的信息:
# //www.w5838.com/doc/en/RoboDK-API.html
输入help("robolink")或help("robodk")查看更多信息

从robolink导入* # API与RoboDK通信
从robodk导入* #基本矩阵操作
RDK = Robolink()

#方向键程序示例

#买个机器人
机器人= RDK。项目(ITEM_TYPE_ROBOT”)
如果不是robot.Valid():
打印(“车站里没有机器人。首先加载一个机器人,然后运行这个程序。”)
暂停(5)
抛出异常(“车站里没有机器人!”)

print('使用机器人:%s' % robot. name ())
打印('使用箭头(左,右,上,下),Q和A键来移动机器人')
打印('注意:这只适用于控制台模式,你必须单独运行PY文件')

#定义移动增量
Move_speed = 10

进口msvcrt
而真正的:
Key = ord(msvcrt.getch())
Move_direction = [0,0,0]
打印(关键)
如果key == 75:
print('箭头向左(Y-)')
Move_direction = [0,-1,0]
Elif键== 77:
print('箭头向右(Y+)')
Move_direction = [0,1,0]
Elif键== 72:
print('箭头向上(X-)')
Move_direction = [-1,0,0]
Elif键== 80:
print('箭头向下(X+)')
Move_direction = [1,0,0]
键== chr(113):
print (Q (Z +))
Move_direction = [0,0,10]
Elif键== 97:
打印(“(Z)”)
Move_direction = [0,0,-1]

#确保指定了移动方向
如果norm(move_direction) <= 0:
继续

#根据移动速度计算以mm为单位的移动
Xyz_move = mult3(move_direction, move_speed)

#得到机器人关节
robot_关节= robot.关节()

#从关节获取机器人位置(计算正运动学)
robot_position = robot.SolveFK(robot_关节)

#获取机器人配置(机器人关节状态)
robot_config = robot.JointsConfig(robot_joint)

#计算新的机器人位置
New_robot_position = transl(xyz_move)*robot_position

#计算新的机器人关节
new_robot_关节= robot.SolveIK(new_robot_position)
如果len(new_robot_关节.tolist()) < 6:
打印(“没有机器人解决方案!!新位置太远、够不到或接近奇点”)
继续

#计算新关节的机器人配置
new_robot_config = robot.JointsConfig(new_robot_joint)

如果robot_config[0] != new_robot_config[0]或robot_config[1] != new_robot_config[1]或robot_config[2] != new_robot_config[2]:
打印(“警告! !机器人配置改变!!这将导致意想不到的运动!”)
打印(robot_config)
打印(new_robot_config)

#移动机器人关节到新位置
robot.MoveJ (new_robot_joints)
# robot.MoveL (new_robot_joints)
但是机器人对键盘的按压没有反应。如果我给'key'一个特定的值,然后运行程序,机器人就会抽搐。但它总是回到开始的位置。我使用的是kaka - lbr -iiwa-14- r820。这是代码的问题吗?我也试过其他机器人,但都有同样的体验。

我尝试了python API文档中的这个例子。我还是有同样的问题。机器人只是抽搐,仅此而已。
代码:
从robolink import导入robolink库
RDK = Robolink() #连接到RoboDK API(如果RoboDK还没有启动就会启动
机器人= RDK。Item(", ITEM_TYPE_ROBOT) #检索机器人

X_move = 2
Y_move = 3
Z_move = -1

#获取当前机器人关节
robot_关节= robot.关节()

#从关节获取机器人位置(计算正运动学)
robot_position = robot.SolveFK(robot_关节)

#获取机器人配置(机器人关节状态)
robot_config = robot.JointsConfig(robot_joint)

#计算新的机器人位置
New_robot_position = transl([x_move,y_move,z_move])*robot_position

#计算新的机器人关节
new_robot_关节= robot.SolveIK(new_robot_position)
如果len(new_robot_关节.tolist()) < 6:
打印(“没有机器人解决方案!!新位置太远、够不到或接近奇点”)
继续

#计算新关节的机器人配置
new_robot_config = robot.JointsConfig(new_robot_joint)

如果robot_config[0] != new_robot_config[0]或robot_config[1] != new_robot_config[1]或robot_config[2] != new_robot_config[2]:
打印(“警告!机器人配置改变:这可能会导致意想不到的运动!”)
打印(robot_config)
打印(new_robot_config)

#移动机器人到新位置
robot.MoveJ (new_robot_joints)
# robot.MoveL (new_robot_joints)
好了,伙计们。我在另一台电脑上试了试,当时我正在工作。但是第二台电脑没有许可证,还在试用期。我想在自己的电脑上运行而不是第二台,我该怎么做?如果我重新安装软件,我的许可密钥是否仍然有效?请建议。
# 3
嗨avpai1992,

如果你有一个标准的专业执照,你可以毫无问题地转让它。这些是网络许可证,不连接到特定的计算机。
如果您有独立的许可证(特定于计算机),请告诉我。我们的许可证只有一小部分是特定于计算机的。

如果你重新安装RoboDK也是一样的。许可证仍然有效。

祝你有愉快的一天。
杰里米
# 4
嗨,杰里米,

我想我有计算机专用许可证。我请求Robodk团队让我试用这个软件几个月,因为我是一名大学生。因此,我获得了一个为期4个月的教育机构许可证,我相信这是计算机专用的。我重新安装了软件(甚至是python),但我仍然有同样的问题(见下面的gif)。@杰里米和@艾伯特有什么想法吗??

# 5
要知道您是否拥有计算机专用许可证或标准网络许可证,只需单击“帮助->许可证”。您将知道您是否拥有网络或独立许可证。

如果是网络电脑,你只需要将字母数字代码从一台电脑复制到另一台电脑。

另外,考虑到您的实际问题,您是否尝试从您的计算机上完全卸载RDK,并从我们的网站上安装一个新版本?(在执行此操作之前复制并越过许可代码。)

杰里米
# 6
您好,我尝试卸载和重新安装,但问题仍然存在。我在3台笔记本电脑和2台电脑上试用了该软件,但它只在一台电脑上工作。其他人也有同样的问题,我不知道为什么。我有网络许可证,所以我想我会把它转移到另一台电脑上。因为我不能一直使用那台电脑,所以我想知道这个错误的原因。
# 7
RoboDK不支持KUKA IIWA机器人的机器人驱动程序。更多关于机器人司机的信息:
//www.w5838.com/doc/en/Robot-Drivers....iverCustom

此问题与license类型无关。很抱歉给您造成了混乱。

另一方面,使用KUKA Sunrise编程(Java机器人程序文件)离线运行程序应该没有任何问题。
# 8
你好@艾伯特

抱歉造成了混乱,我不想控制一个实际的库卡手臂。我只是想试试离线编程模拟。
# 9
那样的话,你能提供RDK项目文件吗?
为KUKA IIWA机器人生成JAVA Sunrise应该没有任何问题。
嗨,伙计们,

目前,我决定使用工作计算机来运行脱机键盘模拟。我会努力调查导致错误的原因,并与你们保持联系。我还有一个小问题,我已经开始了一个新的话题。谢谢大家。




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