线程评级:
  • 0 (s) - 0平均投票
  • 1
  • 2
  • 3
  • 4
  • 5
降低机器人的速度
# 1
问题
亲爱的所有,

在RoboDK API功能:
代码:
setSpeed (speed_linear speed_joints = 1, accel_linear = 1, accel_joints = 1)

如果我理解正确的话,线性和关节加速度可能只有积极吗?
有可能放缓机器人虽然从开始到结束点的方法?
例如开始运动速度100 mm / s和接近目标点减少速度与这个函数5毫米/秒。
# 2
嗨Civgineer,
如果你的机器人从A点到B点他自然减速之前到达B点。看一看附件。当你使用setSpeed你得到一个斜坡函数速度。在某种程度上运动的机器人将有5毫米/秒的速度。这个点是你的目标点距离B取决于你设定的加速/减速。数学有无限多的方法。
也许你可以提供更多的细节你要做什么。我不确定如果你想满足一个特定的速度在一个特定的距离从某个点或你如果你只想跑过去某一点以较慢的速度。


附加文件 缩略图(s)

# 3
你好DavidG,

谢谢你的回应!
更具体地说:
你可以想象,我想要一个机器人从a点移动速度100毫米/秒开始
并关闭到B点(距离= 1000毫米)这应该减少几乎为0。
我需要这个能够停止手动机器人如果我看到它会粉碎障碍
(他们的位置可能会改变)。
请找到下面的图像。我希望我的解释是清楚的。


附加文件 缩略图(s)

# 4
在这种情况下,我建议你添加一些辅助指向您的程序。
如果你的实际目标是做类似
代码:
robot.MoveL (Target01) # B点
robot.MoveL (Target02) # C点
等等……
您可以添加这样的指令:

代码:
robot.MoveL (Target01) # B点
robot.MoveL (AuxiliaryPoint01) #点,接近Target02
setSpeed (1)
robot.MoveL (Target02) # C点
setSpeed (100)
如果你准备好你的项目你可以做这个非常简单的脚本只运行一次。
额外的点必须被放置在的取决于某些你对象的位置。
当使用MoveL你可以计算两点之间的距离,增加一个辅助点99%(例如)的运动。仅供MoveJ这也应该是可能的数学可能更加棘手。
请记住,这种方法很原始。
我很好奇你的应用程序是什么样子的。这听起来像你正在使用一个程序移动机器人但不能真正信任它,这样你需要干预的能力。我不确定使用什么程序可以在这种情况下。问题是,你如何停止后进行机器人吗?你正确的对象的位置吗?别误会我,但是,这听起来像是你可以移动机器人完全手册。
你使用什么类型的机器人?
# 5
你好DavidG,

再次感谢你。
这个解决方案是在我的脑海里,但我想能否用一行代码使用的RoboDK API(加速度setSpeed()函数)。
# 6
我认为你可以做的最好的事setSpeed命令设置加速度参数低,这样你的斜坡函数变得相对平坦。我怀疑这个解决方案是你的实践。运动时间会显著增加,我认为加速度参数可能被期望的速度和距离约束(即旅游时间)。




用户浏览这个线程:
1客人(年代)