线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
RoboDK工作不正常
# 1
你好,

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

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

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

#箭头键程序示例

#买个机器人
机器人= RDK。项目(ITEM_TYPE_ROBOT”)
if not robot.Valid():
打印(“车站里没有机器人。首先加载一个机器人,然后运行这个程序。”)
暂停(5)
raise Exception(“车站里没有机器人!”)

print('正在使用机器人:%s' % robot. name ())
print(“使用箭头(左,右,上,下),Q和A键移动机器人”)
print('注意:这只在控制台模式下工作,你必须单独运行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]
Elif键== 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_joint = robot.SolveIK(new_robot_position)
如果len(new_robot_joins .tolist()) < 6:
打印(“没有机器人解决方案!!”新位置太遥远,难以触及或接近奇点”)
继续

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

如果robot_config[0] != new_robot_config[0] or robot_config[1] != new_robot_config[1] or 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库
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_position = transl([x_move,y_move,z_move]

#计算新的机器人关节
new_robot_joint = robot.SolveIK(new_robot_position)
如果len(new_robot_joins .tolist()) < 6:
打印(“没有机器人解决方案!!”新位置太遥远,难以触及或接近奇点”)
继续

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

如果robot_config[0] != new_robot_config[0] or robot_config[1] != new_robot_config[1] or 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客人(年代)