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

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

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

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

#箭头键程序示例

#找个机器人
机器人= RDK。项目(ITEM_TYPE_ROBOT”)
如果不是robot.Valid():
车站里没有机器人。先加载机器人,然后运行这个程序。”)
暂停(5)
raise Exception(“站中没有机器人!”)

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

#定义移动增量
Move_speed = 10

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

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

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

#拿机器人关节
robot_joint = robot. joint ()

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

#获取机器人配置(机器人关节状态)
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_joints.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”一个特定的值,然后运行程序,机器人就会抽搐。但它总是回到起始位置。我用的是KUKA-LBR-iiwa-14-R820。这是代码的问题吗?我也试过用其他机器人,但都有同样的经历。

我从python API文档中尝试了这个示例。我还是遇到了同样的问题。机器人只是抽搐而已。
代码:
从robolink导入* #导入robolink库
RDK = Robolink() # connect to RoboDK API(如果RoboDK尚未启动,则启动)
机器人= RDK。Item(", ITEM_TYPE_ROBOT) #取回机器人

X_move = 2
Y_move = 3
Z_move = -1

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

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

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

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

#计算新的机器人关节
new_robot_joint = robot.SolveIK(new_robot_position)
如果len(new_robot_joints.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)
# 2
好了,伙计们。我在另一台电脑上试了试,效果不错。但是第二台计算机没有许可证,而且处于试用期。我想在我自己的电脑上运行这个,而不是第二台电脑,那么我应该怎么做呢?如果我重新安装软件,我的许可密钥仍然有效吗?请建议。
# 3
嗨avpai1992,

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

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

祝你过得愉快。
杰里米
# 4
嗨,杰里米,

我想我已经取得了计算机专用许可证。由于我是一名大学生,我请求Robodk团队让我试用这个软件几个月。所以,我得到了4个月的教育机构执照,我相信这是专门针对计算机的。我重新安装了软件(甚至python),但我仍然有同样的问题(见下图)。@杰里米和@艾伯特有什么想法吗??

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

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

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

杰里米
# 6
嗨,我试着卸载和重新安装,但问题仍然存在。我在3台笔记本电脑和2台电脑上试用了这个软件,但它只在一台电脑上运行。其他人也有同样的问题,我不知道为什么。我有网络许可证,所以我想我要把它转移到另一台电脑上。由于我不能经常使用那台电脑,我想知道这个bug的原因。
# 7
RoboDK不支持库卡IIWA机器人的机器人驱动程序。更多关于机器人司机的信息请点击这里:
//m.sinclairbody.com/doc/en/Robot-Drivers....iverCustom

此问题与license类型无关。很抱歉造成了这样的混乱。

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

很抱歉造成混乱,我不想控制真正的库卡手臂。我只是想尝试离线编程模拟。2022世界杯8强赛时间
# 9
在这种情况下,你能提供RDK项目文件吗?
为KUKA IIWA机器人生成JAVA Sunrise应该没有任何问题。
嗨,伙计们,

目前,我决定使用工作计算机来运行离线键盘模拟。我会尽量看看是什么导致错误,并保持你们张贴。我还有一个小问题,我已经开始了一个新的话题。谢谢大家。




浏览此主题的用户:
1客人(年代)