机器人任务的可视调试的制作方法_3

文档序号:8535928阅读:来源:国知局
情况下或在机器人12应该工作在其工作环境中的所有可能的目标上的情况下目标是否确实是正确的。
[0039]在图2中,要被抓持的物体123周围的区域提供目标标记(G)的、用于机器人12的下一个拾取动作的可视化显示。箭头A和D是显示了用于与机器人12针对目标标记(G)的动作有关的抓持动作的接近轨迹(A)和离开轨迹(D)的轨迹标记。轨迹标记(A、D)由此允许用户可视地辨别沿所指明轨迹(A、D)的路径是否存在障碍物。表面11上的其他物体223、323可以显示在工作环境中,取决于任务其可以是或可以不是障碍物,例如在末端执行器20接近物体123是对于末端执行器20来说是障碍物。
[0040]如图3所示,目的标记(O。O2)表明在未来的步骤中物体将在何处。在通过图1A的动作计划模块80计划出动作时,一个或多个目的标记(OpO2)可用于显示所有物体在被机器人操作之后期望位于的最后位置。在必须通过机器人12处理复杂的组装任务时这是有用的,因为用户可容易地评估物体的未来期望位置且可在目的标记(OpO2)未显示期望的最后结果的情况下停止机器人12。在图3中,目的标记(Op O2)显示了在示例性叠放动作中在被机器人12操作之后最后的物体位置。
[0041]参见图4,碰撞标记(C1;C2)代表机器人12的抓持器形式的示例性末端执行器20。碰撞标记C2显不这种抓持器在未来动作可能会如何碰撞物体23。图1A的动作计划器(AP)可帮助机器人12避免被其工作空间中的障碍物阻挡的无效动作(如果机器人12正确地感知到障碍物的话)。然而,例如来自图1的环境传感器25的信号噪声会使得有效动作被识别为无效。碰撞标记(C1;C2)可由此通过在任何未来动作中将发生碰撞的位置处显示机器人12和物体(例如23,123,223,323)的模型而显示机器人12将在何处且如何与物体碰撞。这种视觉显示可以用于机器人12因为可能的碰撞而停止有效动作时进行可视调试。
[0042]再次参见图1A,模拟器模块(SM)70可以实施为3D模拟器,其包含来自三个不同模型的信息,即对来自环境传感器25或其他传感器的有关周围环境的信息进行处理的环境模型(EM) 72、对有关机器人12的状态和运动的信息进行处理的机器人模型(RM) 74 (例如经由图1所示的传感器阵列33),和接收并处理标记(箭头62)且经由⑶152产生其视觉显示的标记模型(MM) 76。模拟器模块70由此在基于三个模型72、74、76的模拟世界中显示机器人12、机器人12环境中的物体、和标记。
[0043]图1A的模拟器模块70可以从图1的机器人系统10的视觉系统25和传感器阵列33接收机器人12的机器人位置和关节角度/旋转(共同显示为箭头X12),且还接收通过传感器25或其他内部或外部传感器发送的环境中所有物体的位置和取向。图1A的模拟器模块70在每次其从机器人系统10、环境传感器25或传感器阵列33接收到新的数据时更新其模块。图1A的模拟器模块70还在每次模拟器模块70从标记产生模块60经由标记(箭头62)接收新的数据时更新标记模块76。
[0044]⑶152可操作为从任何用户选择的观察点显示机器人12的3D模拟世界且还使得用户能通过与⑶152的交互而通过改变可视标记来调整机器人12的动作。四种可能的用途是轨迹修改、目标修改、未来位置修改和标记调试。
[0045]在轨迹修改中,图1A的⑶152使得用户能通过改变轨迹标记来改变动作的轨迹,即图2中的箭头A和D。这赋予用户帮助机器人12避开未被其传感器感知的障碍物的能力,在环境改变而没有重新训练机器人12时手动地修改接近方向的能力,和改变接近轨迹长度(图2的箭头A)以减少动作时间或提供更稳定的接近路径的能力。
[0046]对于目标修改,图1A的⑶152还使得用户再次经由到⑶152的控制输入命令(箭头53)通过改变目标标记(图2的G)而改变给定机器人动作的目标。这赋予在不同目标之间实时地切换的能力。
[0047]未来位置修改还可经由⑶152进行,以使得用户能改变物体在被机器人12操作之后将处于的未来位置。这可通过改变一个或多个目的标记(图3的O1,02)的位置或取向而实现。该动作赋予用户在图1A的动作计划模块80执行不适当的计划时调整物体的最后定位的能力。
[0048]对于标记调试,图1A的⑶152还在标记被用户点击时显示机器人的动作信息,这样的点击动作是到GUI52的可能的控制输入命令(箭头53)。这允许用户在具体动作不正确时更容易且更快地调试。
[0049]图1A所示的动作计划模块80配置为使用通过模拟器模块70产生的模拟世界的信息而选择用于机器人12的最佳动作。动作计划模块80可以包括两个部分:可选状态预测器(SP)82和动作选择器(AS)84。状态预测器82被编程为基于动作结果产生“未来世界状态”。这种装置在控制器50使用基于未来预测的动作计划时是有用的。动作选择器84随后选择用于基于从模拟器模块70而来的任务信息(箭头78)和从状态预测器82而来的所产生的世界状态(箭头83)而让机器人12执行的下一个动作。
[0050]状态预测器82的使用是可选的,如上所述。没有状态预测器82,动作计划模块80也能发挥功能,例如通过使用贪婪算法(greedy algorithm),其获取具有最低当前成本的下一个可用动作。示例性成本功能如上所述。该例子中的标记产生模块60仍然能产生所有标记(箭头62),除了代表未来状态中未来物体位置的任何物体标记以外。然而,如果状态预测器82被实施,则动作计划模块80将能选择在几个动作步骤之后导向最低成本的动作。
[0051]状态预测器82可以经由状态树以一定的深度产生所有可能的未来世界状态,如本领域已知的。可选状态预测器82的示例性状态产生步骤可以如下进行。在第一步骤中,来自信息(箭头78)的模拟器模块70的当前状态可以用作状态树的根节点(root),其是本领域已知的术语。随后,用于状态树的每一个叶节点的所有有效动作可以经由控制器50找至IJ,该控制器产生通过机器人12的每一个动作而改变的所有新的世界状态,且将它们作为子节点添加到状态树的相应叶节点。这会重复直到状态树达到校准深度。在新的世界状态产生时,模拟世界中的所有信息被克隆,且随后根据如何限定动作而按照需要而被改变。
[0052]动作计划模块80的动作选择器84基于来自模拟器模块70的当前模拟世界和通过状态预测器82 (如果使用的话)产生的未来世界状态(箭头83)找出具有最低成本的下一个要执行动作。在状态预测器82不被使用时,动作计划模块80选择用于机器人12的具有最低转换成本(transit1n cost)加动作成本的下一个动作(箭头86)。本文使用的转换成本是用于让图1的机器人12从其当前位置运动到“准备好”位置(在该处机器人12能执行动作)的成本。其通常设计为与机器人12需要运动到准备好位置的轨迹长度成比例。动作成本可以通过用户根据不同动作等级设定。例如,在组装任务中,组合了两个部分的下一个动作(箭头86)可被赋予负成本(negative cost),其等于机器人12执行这类动作的收益(rewarding)。在使用状态预测器82时,动作计划模块80选择在预定数量的动作之后造成最低成本的具体动作。
[0053]动作选择器84可以启动在通过状态预测器82产生的状态树上的搜索。在达到状态树中的一节点时,每一个子节点的执行成本被计算。执行成本被限定为转换成本、动作成本和子节点的节点成本之和。转换成本和动作成本是与导向子节点的每一个动作相关的成本。该节点的节点成本是该节点的所有子节点中最小的执行成本。控制器50可在用于该具体节点的所有子节点中将该节点的执行成本设定为最小执行成本。导向具有最小执行成本的子节点的动作被设定为该节点的最低成本动作。以上步骤递归地重复,直到针对状态树中的所有节点完成。状态树的根节点最低成本动作随后是被选择的动作。
[0054]在最低成本动作被控制器50选择之后,动作计划模块80的动作选择器84发送动作命令到机器人12,例如作为工作任务序列(箭头88)。动作选择器84还可基于通过⑶152对模拟器模块70中的标记模型进行的改变而修改或调整被选择的动作。因为环境中的物体会在任何时
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1