帖子:69
线程:30
加入时间:2021年6月
声誉:
2
您好,我正在使用RoboDK模拟一个包含多个机构和机器人的机器,并设计和导出要执行的程序。我想知道是否有可能将(Mecademic 500)机器人设置为“慢动作”模式,以进行*真实世界*测试,并在全速运行之前检查例如碰撞。
我考虑的一个选择是简单地将所有笛卡尔线性速度或关节速度按一个因子缩小。然而,为了精确地随时间缩放所有位置,加速度需要按相同的因子平方缩放,然后是加速度,以此类推,以获得进一步的时间导数(如果有的话)。
对于一个以前可能遇到过很多次的问题,这似乎是一种笨拙的方法。有没有推荐的方法,RoboDK提供了哪些工具来实现它?
亲切的问候,
Maarten
帖子:1777
线程:1
加入:2018年4月
声誉:
95
2021年10月19日上午8点23分
(本文最后修改:10-19-2021,08:23 AM by艾伯特)。
嗨Maarteen,
您可以在RoboDK中通过右键单击程序并选择“检查路径和碰撞”来检查碰撞。这将一步一步地运行程序并寻找冲突。默认情况下,碰撞步长为4毫米和4度,你可以在这里定义这个公差:工具-选项-运动。缩放或增加5-10毫米或更多的3D模型将是一个安全检查碰撞的好主意。
您还可以使用API运行和测试它。您可以使用Update函数或MoveJ_Test和move_test函数检查整个程序的单个移动。
艾伯特
帖子:69
线程:30
加入时间:2021年6月
声誉:
2
嗨,艾伯特,谢谢你的帮助,这个论坛上的快速回复非常感谢。
带有碰撞检测的运动模拟工作得很好,但我想要的是在全速运行之前减慢执行的运动以验证它是否按计划进行,并且没有发生碰撞等问题。不是在模拟中,而是在现实世界中。
对于处于时间无关(“静态”)环境中的单个机器人,使用setSpeed命令降低最大速度就足够了。然而,由于加速度和进一步的时间导数起作用,这并不会随着时间线性缩放位置。当多个机器人和额外的轴同时移动时,这就会带来麻烦,因为它们之间的相对运动不会完美地缩放到慢速运动。碰撞可能会在全速模式下发生,当最大速度降低时是无法预见的。
那么,在RoboDK中设计的程序能否以真正的时间尺度的“慢动作”模式执行呢?
亲切的问候,
Maarten
帖子:1777
线程:1
加入:2018年4月
声誉:
95
嗨Marteen,
我相信我现在明白你的意思了。是的,您可以设置一个较慢的模拟速度,并运行运行多个机器人的模拟。你可以在这里输入模拟速度:
Tools-Options-Motion
或者移动工具栏中的模拟速度滑块。
你是对的,“检查路径和碰撞”选项不会检查多个机器人的运动(它忽略了启动线程),所以你应该通过双击它们来模拟程序(这正确地模拟加速和周期时间)。
然而,这可能需要很长时间,因为您可能要检查彼此非常接近的点上的碰撞。这个脚本可以帮助你以某种方式准确地映射关节轴与时间:
C: / RoboDK /图书馆/宏/ JointSpeedsAccel.py
因此,您可以跳过碰撞检查。
另外,这两个脚本可以帮助你完成类似的事情:
C: / / ProgramSlider.py RoboDK /图书馆/脚本
C: / / ProgramListCSV.py RoboDK /图书馆/脚本
艾伯特