放置确定方法、放置方法、放置确定系统以及机器人的制作方法_3

文档序号:9620935阅读:来源:国知局
所示,容纳表面信息获取单元27取出构成由平面检测单元26检测到的平面91的三维点群101。然后,容纳表面信息获取单元27以成组的正方形或网格的形式来表示由此取出的三维点群101。如果三维点群中的至少一个点被包含在网格的每个正方形中,则容纳表面信息获取单元27将该正方形确定为网格上的有效单元,并且将构成平面的三维点群绘制成网格的形式,以获得如图10B所示的容纳表面的网格信息102。
[0051]然后,放置确定单元28将由搁置表面信息获取单元24获得的搁置表面的网格信息61与由容纳表面信息获取单元27获得的容纳表面的网格信息102进行比较,并且确定放置对象是否可以被放置在容纳对象上(步骤S070)。图11A至图11E示意性地示出了根据第一实施方式的将搁置表面的网格信息与容纳表面的网格信息进行比较的方法。
[0052]放置确定单元28获得如图11A所示的搁置表面的网格信息111以及如图11B所示的容纳表面的网格信息112。如图11A所示,位于搁置表面的网格信息111的底部的最左边的网格单元113的左下角被设为原点,从原点延伸的向右的箭头表示X方向,从原点延伸的向上指的箭头表示Y方向。
[0053]然后,如图11C所示,放置确定单元28将搁置表面的网格信息111与容纳表面的网格信息112彼此叠加,使得位于容纳表面的网格信息112的底部的最左边的网格单元114的位置与位于搁置表面的网格信息111的底部的最左边的网格单元113的位置一致。如从图11C所理解的那样,此时,搁置表面的网格信息111的所有网格单元的位置与容纳表面的网格信息112的相应网格单元的位置一致。当搁置表面的网格信息111被叠加在容纳表面的网格信息112上时,如果搁置表面的所有网格单元的位置与容纳表面的相应网格单元的位置一致,则放置确定单元28确定当这些对象以这种方式相对于彼此来定位时放置对象可以被放置在容纳对象上。
[0054]然后,与图11C所示的布置相比较,放置确定单元28将搁置表面的网格信息111相对于容纳表面的网格信息112在X方向上移动一个网格单元,并且将搁置表面的网格信息111叠加在容纳表面的网格信息112上(未在附图中示出)。此时,搁置表面的所有网格单元的位置也与容纳表面的相应网格单元的位置一致;因此,放置确定单元28确定在以这种方式将这些对象相对于彼此来定位的情况下放置对象可以被放置在容纳对象上。
[0055]然后,与图11C所示的布置相比较,放置确定单元28将搁置表面的网格信息111相对于容纳表面的网格信息112在X方向上移动两个网格单元,并且如图11D所示,将搁置表面的网格信息111叠加在容纳表面的网格信息112上。此时,如图11D所示,在搁置表面的网格信息111的右端处的两个网格单元不被包含在由容纳表面的网格信息112表示的网格中。因此,当作为搁置表面的一部分的一个或更多个网格单元不被包含在由容纳表面的网格信息112表示的网格中时,放置确定单元28确定当这些对象以这种方式相对于彼此来定位时放置对象无法被放置在容纳对象上。
[0056]同样地,与图11C所示的布置相比较,放置确定单元28重复地将搁置表面的网格信息111相对于容纳表面的网格信息112在X方向上移动一个网格单元,并且将搁置表面的网格信息111叠加在容纳表面的网格信息112上。然后,放置确定单元28确定是否可以将放置对象放置在容纳对象上的各个位置处。
[0057]与图11C所示的布置相比较,放置确定单元28还重复地将搁置表面的网格信息111相对于容纳表面的网格信息112在X方向上和/或Y方向上移动一个或多个网格单元,并且将搁置表面的网格信息111叠加在容纳表面的网格信息112上。然后,放置确定单元28确定是否可以将放置对象放置在容纳对象上的各个位置处。
[0058]然后,放置确定单元28获得在以下情况下放置对象可以被放置在容纳对象上的确定结果:位于搁置表面的网格信息111的底部的最左边的网格单元113位于如图11E中所示的容纳表面的网格信息112的左下区域的六个网格单元115中的任意一个的位置处。
[0059]然后,放置确定单元28确定是否存在可以基于其确定放置对象可以被放置在容纳表面上的网格(步骤S080)。如果放置确定单元28确定存在可以基于其确定放置对象可以被放置在容纳表面上的至少一个网格(在步骤S080中为是),则放置确定单元28将该网格输出作为候选放置位置。
[0060]然后,放置位置确定单元31计算在步骤S050中由平面检测单元26检测到的平面91与在步骤S030中由期望放置位置指定单元30指定的期望放置位置73之间的距离,并且确定所计算的距离是否等于或小于给定的阈值(步骤S090)。
[0061]然后,当放置位置确定单元31确定平面91与期望放置位置73之间的距离等于或小于给定的阈值(在步骤S090中为是)时,放置位置输出单元32确定平面91 (其中存在有作为从放置确定单元28接收的候选放置位置的网格)是其上存在有期望放置位置73的容纳对象的容纳表面。如上所述,期望放置位置是机器人11的操作者想要将放置对象放置在该处的容纳对象中的位置。然后,放置位置输出单元32输出从放置确定单元28接收的候选放置位置作为可用放置位置(步骤S100),并且结束图3的程序。
[0062]图12示出了根据第一实施方式的由放置位置输出单元32可视化并且显示的可用放置位置121的图像。在图12中,表示可用放置位置121的图像由放置位置输出单元32可视化并且显示在如图7所示的作为容纳对象的桌子的图像上。在图12中可用放置位置121被显示在期望放置位置73的附近,该期望放置位置73是在步骤S030中由机器人11的操作者指定的作为他/她想要将杯子13放置在该处的位置。然后,机器人11将臂17移动到可用放置位置121,同时避开障碍物16a、16b、16c,并且使抓握部12释放杯子13,以将杯子13放置在可用放置位置121处。
[0063]如果放置确定单元28确定不存在可以基于其确定放置对象可以被放置在容纳表面上的网格(在步骤S080中为否),则放置位置确定单元31从由三维点群信息获取单元25获得的容纳对象的三维点群信息中删除构成由容纳表面信息获取单元27取出的三维点群的信息(步骤S110)。
[0064]如果放置位置确定单元31确定平面91与期望放置位置73之间的距离大于给定的阈值(在步骤S090中为否),则放置位置确定单元31从由三维点群信息获取单元25获得的容纳对象的三维点群信息中删除构成由容纳表面信息获取单元27取出的三维点群的
?目息。
[0065]然后,放置位置确定单元31确定在容纳对象的三维点群信息中是否剩余有由三个或更多个点构成的三维点群,作为从由三维点群信息获取单元25获得的容纳对象的三维点群信息中删除构成由容纳表面信息获取单元27取出的平面的三维点群的信息的结果(步骤 S120)。
[0066]当放置位置确定单元31确定剩余有由三个或更多个点构成的三维点群(在步骤S120中为是)时,放置位置确定单元31将剩余的三维点的三维点群信息传送至平面检测单元26,平面检测单元26转而执行步骤S050以再次检测平面。然后执行随后的步骤。如果剩余有由三个或更多个点构成的三维点群,则平面检测单元26可以检测与在最后周期中的步骤S050中检测到的平面不同的平面,并且容纳表面信息获取单元27可以获得与在最后周期中的步骤S060中获得的容纳表面的形状不同的容纳表面的形状。
[0067]另一方面,如果放置位置确定单元31确定不剩余有由三个或更多个点构成的三维点群(在步骤S120中为否),则放置位置确定单元31确定无法从容纳对象检测到放置对象被放置于其上的容纳表面,即放置对象无法被放置在容纳对象上。在这种情况下,放置位置确定单元31在位于操作者附近的显示器上显示通知,该通知告知操作者无法将放置对象放置在容纳对象上(步骤S130),并且结束图3的例程。
[0068]如上所述,根据第一实施方式的机器人11包括:放置对象指定单元22,其指定放置对象;搁置表面信息获取单元24,其
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1