IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

特許7364505ハンドリング装置、制御装置、およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-10
(45)【発行日】2023-10-18
(54)【発明の名称】ハンドリング装置、制御装置、およびプログラム
(51)【国際特許分類】
   B25J 13/00 20060101AFI20231011BHJP
   B25J 13/08 20060101ALI20231011BHJP
【FI】
B25J13/00 Z
B25J13/08 Z
B25J13/08 A
【請求項の数】 16
(21)【出願番号】P 2020047741
(22)【出願日】2020-03-18
(65)【公開番号】P2021146434
(43)【公開日】2021-09-27
【審査請求日】2022-03-02
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】衛藤 春菜
(72)【発明者】
【氏名】十倉 征司
(72)【発明者】
【氏名】古茂田 和馬
(72)【発明者】
【氏名】姜 平
(72)【発明者】
【氏名】小川 昭人
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2002-036159(JP,A)
【文献】特開2000-254884(JP,A)
【文献】特開2013-039638(JP,A)
【文献】特開2021-037608(JP,A)
【文献】国際公開第2018/212203(WO,A1)
【文献】特開平07-186078(JP,A)
【文献】特開2018-158391(JP,A)
【文献】国際公開第2019/028242(WO,A1)
【文献】特開2019-010713(JP,A)
【文献】特開2017-052073(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
2つ以上の支持部を含み、前記2つ以上の支持部で物体を挟むことにより前記物体を保持可能な保持部と、
前記保持部が前記物体を保持する状態の安全性を示す安全率を算出する算出部と、
前記安全率に基づいて前記保持部に前記物体を保持させる制御部と、
を備え、
前記算出部は、前記支持部と前記物体とが接触する領域における基準位置と前記物体の重心を通る鉛直方向の直線との間の距離および前記物体の質量に応じて前記領域に発生する曲げ応力に基づいて前記安全率を算出する
ハンドリング装置。
【請求項2】
前記基準位置は、前記領域において前記重心から最も遠い点であり、
前記算出部は、前記領域の形状を近似する円の断面2次極モーメントと、前記距離と、前記質量と、前記基準位置と前記領域の中心位置との間の距離とに基づいて前記曲げ応力を算出する
請求項1に記載のハンドリング装置。
【請求項3】
前記算出部は、前記支持部と前記物体とが接触する領域に発生する摩擦圧力に基づいて前記安全率を算出する
請求項1または請求項2に記載のハンドリング装置。
【請求項4】
前記保持部の移動速度を含む運動方法を計画する動作計画部と、前記保持部を移動させる移動機構とをさらに備え、
前記動作計画部は、前記支持部と前記物体とが接触する領域の面積に基づいて前記移動速度を決定し、
前記制御部は、前記動作計画部が計画した前記運動方法に基づいて前記保持部を前記移動機構により前記移動速度で移動させる
請求項1から3のいずれか一項に記載のハンドリング装置。
【請求項5】
前記保持部の移動速度を含む運動方法を計画する動作計画部と、前記保持部を移動させる移動機構とをさらに備え、
前記動作計画部は、前記安全率に基づいて前記移動速度を決定し、
前記制御部は、前記動作計画部が計画した前記運動方法に基づいて前記保持部を前記移動機構により前記移動速度で移動させる
請求項1から3のいずれか一項に記載のハンドリング装置。
【請求項6】
前記制御部は、前記2つ以上の支持部間の距離を前記物体の外径よりも大きく保ち、かつ前記2つ以上の支持部を前記物体の周囲に移動させ、
前記制御部は、前記保持部に前記2つ以上の支持部を互いに近づけさせ、かつ前記保持部に前記安全率と関連付けられた前記状態で前記物体を保持させる
請求項1から5のいずれか一項に記載のハンドリング装置。
【請求項7】
内壁面および底面を有する容器の前記底面に前記物体は配置され、
前記制御部は、前記2つ以上の支持部を水平方向と交差する方向に互いに離間させ、かつ前記2つ以上の支持部を前記物体の周囲に移動させ、
前記制御部は、前記保持部に前記2つ以上の支持部を互いに近づけさせ、かつ前記保持部に前記安全率と関連付けられた前記状態で前記物体を保持させる
請求項1から6のいずれか一項に記載のハンドリング装置。
【請求項8】
前記物体の形状は扁平であり、かつ内壁面および底面を有する容器の前記底面に前記物体の扁平面が接触するように前記物体は配置され、
前記制御部は、前記2つ以上の支持部を水平方向と交差する方向に互いに離間させ、かつ前記2つ以上の支持部を前記底面に沿って前記内壁面に向かって移動させ、
前記制御部は、前記保持部に前記2つ以上の支持部を互いに近づけさせ、かつ前記保持部に前記安全率と関連付けられた前記状態で前記物体を保持させる
請求項1から7のいずれか一項に記載のハンドリング装置。
【請求項9】
前記物体の形状は扁平であり、かつ内壁面および底面を有する容器の前記底面に前記物体の扁平面が接触するように前記物体は配置され、
前記制御部は、前記2つ以上の支持部間の距離を前記物体の外径よりも大きく保ち、
前記制御部は、前記2つ以上の支持部を前記物体の周囲に移動させ、かつ前記2つ以上の支持部を前記底面に接触させ、
前記制御部は、前記保持部に前記2つ以上の支持部を互いに近づけさせ、かつ前記保持部に前記安全率と関連付けられた前記状態で前記物体を保持させる
請求項1から8のいずれか一項に記載のハンドリング装置。
【請求項10】
前記物体の形状は扁平であり、かつ内壁面および底面を有する容器の前記底面に前記物体の扁平面が立つように前記物体は配置され、
前記制御部は、前記2つ以上の支持部間の距離を前記物体の厚さよりも大きく保ち、かつ前記2つ以上の支持部を前記物体の周囲に移動させ、
前記制御部は、前記保持部に前記2つ以上の支持部を互いに近づけさせ、かつ前記保持部に前記安全率と関連付けられた前記状態で前記物体を保持させる
請求項1から9のいずれか一項に記載のハンドリング装置。
【請求項11】
2つ以上の支持部を含み、前記2つ以上の支持部で物体を挟むことにより前記物体を保持可能な保持部と、前記保持部を移動させる移動機構とに接続された制御装置であって、
前記保持部が前記物体を保持する状態の安全性を示す安全率を算出する算出部と、
前記安全率に基づいて前記保持部に前記物体を保持させる制御部と、
を備え、
前記算出部は、前記支持部と前記物体とが接触する領域における基準位置と前記物体の重心を通る鉛直方向の直線との間の距離および前記物体の質量に応じて前記領域に発生する曲げ応力に基づいて前記安全率を算出する
制御装置。
【請求項12】
前記基準位置は、前記領域において前記重心から最も遠い点であり、
前記算出部は、前記領域の形状を近似する円の断面2次極モーメントと、前記距離と、前記質量と、前記基準位置と前記領域の中心位置との間の距離とに基づいて前記曲げ応力を算出する
請求項11に記載の制御装置。
【請求項13】
前記算出部は、前記支持部と前記物体とが接触する領域に発生する摩擦圧力に基づいて前記安全率を算出する
請求項11または請求項12に記載の制御装置。
【請求項14】
前記保持部の移動速度を含む運動方法を計画する動作計画部をさらに備え、
前記動作計画部は、前記支持部と前記物体とが接触する領域の面積に基づいて前記移動速度を決定し、
前記制御部は、前記動作計画部が計画した前記運動方法に基づいて前記保持部を前記移動機構により前記移動速度で移動させる
請求項11から13のいずれか一項に記載の制御装置。
【請求項15】
前記保持部の移動速度を含む運動方法を計画する動作計画部をさらに備え、
前記動作計画部は、前記安全率に基づいて前記移動速度を決定し、
前記制御部は、前記動作計画部が計画した前記運動方法に基づいて前記保持部を前記移動機構により前記移動速度で移動させる
請求項11から13のいずれか一項に記載の制御装置。
【請求項16】
請求項11から15のいずれか一項に記載の制御装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ハンドリング装置、制御装置、およびプログラムに関する。
【背景技術】
【0002】
物流向けピッキングシステムを活用した自動化システムでは、多様なサイズかつ重さの物体を保持および搬送することが多い。物体の種類に応じてロボットシステム自体を切り替えることによりコストがかかるため、1つのロボットシステムがどれだけ多様な物体を扱えるかが課題である。例えば、ロボットシステムとしては、ピッキングハンドを用いて物体を移動させるピッキング装置を備えるピッキングシステムがある。ピッキングシステムは、物体を第1位置から第2位置に配置するための軌道上で干渉が生じない軌道を規定する軌道情報に基づいてピッキング装置を動作させる。
【0003】
ところで、物体を挟むことにより物体を保持する指または爪を有するエンドエフェクタ(ハンド)を備えるハンドリング装置がある。ハンドリング装置では、物体および指の各々の位置、および指が物体を挟む力に応じて、多様な保持方法が存在する。上記のハンドを用いた保持方法には包含保持と摩擦保持とがある。包含保持では、各指がある程度閉じることにより形成されるハンド内の空間に、ある重量の物体が位置すれば、保持は成功したと定義される。形成される空間が容器サイズまたはシステムサイズに比べてかなり小さいため、ハンドは大きな物体を保持できない。また、指の本数が少ない場合には小さい物体または細い物体が指の隙間から落下するため、ハンドはそのような物体を保持できない。
【0004】
上記の理由のため、包含保持は汎用性に欠ける。そのため、多様な物品を自在に保持する方法として、摩擦保持が主流である。従来の摩擦保持を用いるハンドリング装置では、物体が複雑な形状を有する場合、重心に近い位置を保持可能な保持方法が優先されてきた。しかし、物体の重量が大きい条件または物体が偏心している条件下では、ハンドが容器内の物体を保持できたとしても物体を安定して保持することができない場合があった。例えば、保持位置が物体の重心から遠い場合などでは、ハンドが物体を持ち上げたとき、またはハンドが物体を搬送しているときに物体が落下する可能性があった。
【先行技術文献】
【特許文献】
【0005】
【文献】特許第5558585号公報
【文献】特許第6325174号公報
【文献】特開2019-089157号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明が解決しようとする課題は、物体を安定して保持することができるハンドリング装置、制御装置、およびプログラムを提供することである。
【課題を解決するための手段】
【0007】
実施形態のハンドリング装置は、保持部と、算出部と、制御部とを持つ。前記保持部は、2つ以上の支持部を含み、前記2つ以上の支持部で物体を挟むことにより前記物体を保持可能である。前記算出部は、前記保持部が前記物体を保持する状態の安全性を示す安全率を算出する。前記制御部は、前記安全率に基づいて前記保持部に前記物体を保持させる。前記算出部は、前記支持部と前記物体とが接触する領域における基準位置と前記物体の重心を通る鉛直方向の直線との間の距離および前記物体の質量に応じて前記領域に発生する曲げ応力に基づいて前記安全率を算出する。
【図面の簡単な説明】
【0008】
図1】実施形態の搬送システムを模式的に示す斜視図。
図2】実施形態の保持部の正面図および下面図。
図3】実施形態の保持部の斜視図。
図4】実施形態の搬送システムの構成を示すブロック図。
図5】実施形態の物体外形情報の例を示す斜視図。
図6】実施形態の物体外形情報の例を示す平面図。
図7】実施形態の安全率の算出に使用されるパラメータを示す図。
図8】実施形態の保持部が物体を保持する状態を示す図。
図9】実施形態の保持部が物体を保持する状態を示す図。
図10】実施形態の安全率の算出に使用されるパラメータの例を示す図。
図11】実施形態における保持部の位置と安全率との関係を示すグラフ。
図12】実施形態の安全率の算出に使用されるパラメータの例を示す図。
図13】実施形態における摩擦圧力と安全率との関係を示すグラフ。
図14】実施形態の演算装置の処理の流れの一例を示すフローチャート。
図15】実施形態の演算装置の計画処理の流れの一例を示すフローチャート。
図16】実施形態の演算装置の計画処理の流れの一例を示すフローチャート。
図17】実施形態の演算装置の実行処理の流れの一例を示すフローチャート。
図18】実施形態の演算装置の実行処理の流れの一例を示すフローチャート。
図19】実施形態の変形例の保持部の第1の移動方法を示す図。
図20】実施形態の変形例の保持部の第2の移動方法を示す図。
図21】実施形態の変形例の保持部の第3の移動方法を示す図。
図22】実施形態の変形例の保持部の第4の移動方法を示す図。
図23】実施形態の変形例の保持部の第5の移動方法を示す図。
図24】実施形態の変形例の保持部の第6の移動方法を示す図。
【発明を実施するための形態】
【0009】
以下、実施形態のハンドリング装置を、図面を参照して説明する。以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明を省略する場合がある。また、本願でいう「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算または加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0010】
図1は、実施形態のハンドリング装置10を含む搬送システム1を模式的に示す斜視図である。搬送システム1は、例えば、物流用のハンドリングシステム(ピッキングシステム)である。搬送システム1は、第1の容器V1に位置する物体O(保持対象物、搬送対象物)を第2の容器V2に移動させる。
【0011】
第1の容器V1は、例えば、各種のコンベア、各種のパレット、または輸送用コンテナ等である。輸送用コンテナは、例えばトートまたはオリコンであり、物体Oを収容可能な部材(例えば箱状の部材)を広く意味する。第1の容器V1は、上記の例に限定されない。
【0012】
第1の容器V1には、大きさまたは重さが異なる多種類の物体Oがランダムに置かれる。例えば、保持対象の物体Oは、物体O表面の少なくとも一部に凹凸形状を有する。実施形態では、物体Oの外形は、5cm角のような小さな形状から、30cm角のような大きな形状まで様々である。また、物体Oは、数十gのような軽い物体から数kgのような重い物体まで様々である。物体Oの大きさおよび重さは、上記の例に限定されない。
【0013】
第2の容器V2は、例えば、トートまたはオリコンのような輸送用コンテナである。第2の容器V2は、上記の例に限定されない。ハンドリング装置10および搬送システム1は、輸送用コンテナ以外の第2の容器V2に物体Oを移動させてもよい。
【0014】
ハンドリング装置10および搬送システム1は、物流用のハンドリングシステムに限定されず、産業用ロボットシステムまたはその他のシステム等にも広く適用可能である。実施形態のハンドリング装置および搬送システムは、物体の搬送を主目的とする装置またはシステムに限定されず、製品組立またはその他の目的の一部として物体の搬送(移動)を伴う装置またはシステムも含む。
【0015】
搬送システム1の全体構成について説明する。図1に示すように、搬送システム1は、例えば、ハンドリング装置10、検出装置11、演算装置12、および管理装置13を有する。
【0016】
ハンドリング装置10は、例えばロボット装置である。ハンドリング装置10は、第1の容器V1に位置する物体Oを保持し、保持した物体Oを第2の容器V2(保管領域)に移動させる。ハンドリング装置10は、有線または無線で管理装置13と通信可能である。
【0017】
検出装置11は、第1の容器V1の近くに配置されている。検出装置11は、例えば、第1の容器V1の直上または斜め上方に配置されている。検出装置11は、例えば、カメラまたは各種センサである。検出装置11は、例えば、第1の容器V1に位置する物体Oに関する情報と、第1の容器V1に関する情報とを取得する。
【0018】
検出装置11により取得される情報は、例えば、画像データ、距離画像データ、および形状データの少なくとも1つである。距離画像データは、1つ以上の方向の距離情報を持つ画像データである。距離情報は、例えば、第1の容器V1の上方に設定された任意の基準面からの深さを示す。形状データは、物体Oの外形形状等を示す情報である。検出装置11により検出された情報は、演算装置12に出力される。検出装置11により検出された情報は、管理装置13に出力されてもよい。
【0019】
検出装置11は、ハンドリング装置10の一部として設けられてもよい。この場合、検出装置11により検出された情報は、ハンドリング装置10の演算装置12に直接出力されてもよい。
【0020】
ハンドリング装置10は、第1の容器V1から物体Oを取り出す前に、第1の容器V1に位置する物体Oに関する情報と、第1の容器V1に関する情報とを取得できるように構成されてもよい。この場合、第1の容器V1に位置する物体Oに関する情報と、第1の容器V1に関する情報とは、検出装置11を用いて取得されなくてもよい。
【0021】
例えば、第1の容器V1に位置する物体Oに関する情報と、第1の容器V1に関する情報とが、予めサーバ(図示せず)上のデータベースに登録されていてもよい。例えば、演算装置12または管理装置13は、第1の容器V1に位置する物体Oに関する情報と、第1の容器V1に関する情報とをデータベースから取得してもよい。
【0022】
例えば、システムの動作中に揺れ等が発生することによって物体Oの位置または姿勢等が変化する可能性がある。そのため、搬送システム1が、物体Oおよび第1の容器V1に関する最新の情報を取得することができる構成を備えてもよい。
【0023】
搬送システム1は、第2の容器V2の近くに配置された第2の検出装置を備えてもよい。第2の検出装置は、例えば、第2の容器V2の直上または斜め上方に配置されている。第2の検出装置は、例えば、カメラまたは各種センサである。第2の検出装置は、例えば、第2の容器V2の形状(内壁面または仕切りの形状を含む)に関する情報と、第2の容器V2内に先に置かれた物体Oに関する情報とを検出する。
【0024】
第2の検出装置により取得される情報は、例えば、画像データ、距離画像データ、および形状データの少なくとも1つである。第2の検出装置は、ハンドリング装置10の一部として設けられてもよい。この場合、第2の検出装置により検出された情報は、ハンドリング装置10の演算装置12に直接出力されてもよい。
【0025】
演算装置12(制御装置)は、搬送システム1の全体を制御する。例えば、演算装置12は、管理装置13が有する情報と、検出装置11により検出された情報とを取得し、取得した情報をハンドリング装置10に出力する。
【0026】
管理装置13は、搬送システム1の全体を管理する。図4に示すように、管理装置13は、例えば、物体Oの情報を管理する物体情報管理部14を有する。例えば、物体情報管理部14は、検出装置11により検出された物体の情報を取得し、取得した情報を管理する。搬送システム1が管理装置13を備えなくてもよい。例えば、管理装置13は、通信ネットワーク上の装置であってもよい。演算装置12は、サーバ等のネットワーク機器を介して管理装置13と通信を行ってもよい。
【0027】
次に、ハンドリング装置10について説明する。図1に示すように、ハンドリング装置10は、例えば、移動機構100および保持部200を有する。
【0028】
移動機構100は、保持部200を所望の位置に移動させる。例えば、移動機構100は、6軸の垂直多関節ロボットアームである。移動機構100は、例えば、複数のアーム部材101および複数の回転部102を有する。複数の回転部102は、複数のアーム部材101を互いに連結する。複数の回転部102は、回転軸を中心に第1の方向および第1の方向と反対の第2の方向に回転可能である。
【0029】
移動機構100は、3軸の直交ロボットアームであってもよい。あるいは、移動機構100は、その他の構成を使用することにより保持部200を所望の位置に移動させる機構であってもよい。例えば、移動機構100は、スカラロボットでもよいし、直動式のXYZステージを設けた装置であってもよい。移動機構100は、回転翼により保持部200を持ち上げて移動させる飛行体(例えばドローン)等であってもよい。
【0030】
保持部200は、第1の容器V1に位置する物体Oを保持する保持機構である。保持部200は、移動機構100に連結されている。例えば、保持部200は、2本以上の支持部201と、連結部202とを有する。保持部200は、例えば物体Oを2本以上の支持部201で挟み、摩擦保持により物体Oを保持する。以下では、保持部200が2本の支持部201を有する例を説明する。保持部200が3本以上の支持部201を有してもよい。連結部202は、2本の支持部201と移動機構100とを互いに連結する。
【0031】
図2は、保持部200の正面図および下面図である。図2における上側に保持部200の正面図が配置され、図2における下側に保持部200の下面図が配置されている。
【0032】
2本の支持部201の各々は、棒状の指または爪である。2本の支持部201の基端は連結部202に接続されている。2本の支持部201は、方向DR1に互いに離間している。方向DR1における2本の支持部201間の距離は可変である。保持部200は、2本の支持部201を互いに近づけることにより、2本の支持部201で物体Oを挟み、かつ保持する。2本の支持部201が互いに近づく方向は、方向DR1に平行でなくてもよい。例えば、2本の支持部201は、各支持部201の内側の面201aを物体Oに接触させ、物体Oを保持する。2つの面201aは、互いに向かい合う。支持部201の形状は、図2に示す例に限定されない。支持部201は、先端部を内側に曲げるための関節を有してもよい。
【0033】
支持部201は、ひずみゲージ、フォトセンサ、タッチセンサ、または触覚センサのようなセンサ203を有する。センサ203は、物体Oと接触する面201a上または支持部201の内部に配置されている。
【0034】
図3は、保持部200の斜視図である。2本の支持部201の間隔が物体Oの幅W1よりも大きく保たれた状態で2本の支持部201が進行方向DR2に進み、かつ物体Oの周囲に配置される。その後、2本の支持部201の間隔を小さくすることにより2本の支持部201が物体Oに接触し、かつ物体Oを挟む。以下では、2本の支持部201の間隔を小さくする動作は、2本の支持部201を閉じる動作と同じ意味を持つ。図3は、2本の支持部201が物体Oを挟んだ時の保持部200の状態を示す。2本の支持部201は物体Oの側面と接触している。このとき、各支持部201と物体Oとが接触する部分は、接触面S1を形成する。
【0035】
接触面S1の法線方向DR3は鉛直方向DR4(重力方向)と交差する。法線方向DR3と水平方向とがなす角度は法線方向DR3と鉛直方向DR4とがなす角度θよりも小さい。例えば、法線方向DR3は水平方向とほぼ同じである。
【0036】
上述したように、第1の容器V1の上部には第1の容器V1内部の物体Oを認識するための検出装置11が設けられている。物体Oの移動作業において生じる様々な誤差により、物体Oを保持する動作の前後において多少の位置ずれが生じる可能性がある。例えば、ハンドリング装置10は、保持した物体Oを移動させて、図示されていないLRF(Laser Range Finder;レーザー照準機)の前を通過させる。これにより、ハンドリング装置10は、物体Oの保持状態を確認することができ、保持部200と物体Oとの位置関係をより正確に認識することができる。
【0037】
上記のLRFは、例えば、保持部200が第2の容器V2へ向かって移動する際の移動経路の近傍に設けられることが好ましい。この場合、ハンドリング装置10は、より小さな動作で物体Oの保持状態を確認することができる。これにより、システム全体の動作時間が短縮される。
【0038】
次に、演算装置12(制御装置)について説明する。演算装置12は、ハンドリング装置10の全体を制御する。図4は、搬送システム1の構成を示すブロック図である。例えば、演算装置12は、管理装置13が有する情報と、検出装置11により検出された情報とを取得し、取得した情報をハンドリング装置10(図1参照)に出力する。演算装置12は、例えば、認識部20、計画部30、および実行部40を有する。
【0039】
演算装置12の各機能部(例えば、認識部20、計画部30、および実行部40)の全部または一部は、例えばCPU(Central Processing Unit;中央処理装置)またはGPU(Graphics Processing Unit;グラフィックスプロセッサ)のような1つ以上のプロセッサがプログラムメモリに記憶されたプログラムを実行することにより実現される。ただし、これら機能部の全部または一部は、LSI(Large Scale Integration;大規模集積回路)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、PLD(Programmable Logic Device)等のハードウェア(例えば回路部;circuity)により実現されてもよい。また、上記機能部の全部または一部は、上記ソフトウェア機能部とハードウェアとの組み合わせで実現されてもよい。記憶部は、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read-Only Memory)、ROM(Read-Only Memory;読み出し専用メモリ)、またはRAM(Random Access Memory;読み書き可能なメモリ)等により実現される。
【0040】
次に、演算装置12の各機能部について説明する。認識部20は、管理装置13が有する情報と、検出装置11により検出された情報とを取得し、ハンドリング装置10の制御に用いられる各種要素の状態を認識する。例えば、認識部20は、各種要素の状態を認識する状態認識部21を有する。例えば、状態認識部21は、画像データまたは距離画像データに対して所定の画像処理を行うことで、各種要素の状態に関する情報の少なくとも一部を生成する。例えば、各種要素の状態に関する情報は、物体外形情報、物体位置姿勢情報、物体重心情報、およびコンテナ情報を含む。認識部20は、これらの情報を計画部30に出力する。
【0041】
物体外形情報は、例えば、物体Oの画像データ、物体Oの距離画像データ、物体Oの形状データ、または、それらの少なくとも1つから生成された情報である。物体外形情報は、第1の容器V1に位置する物体O(保持対象の物体O)の外形を示す情報である。物体外形情報は、例えば特定方向D1(図1参照)に物体Oを見た場合における物体Oの外形を示す情報を含む。特定方向D1は、例えば、第2の容器V2内に物体Oを置くタイミング(例えば物体Oを解放する直前のタイミング)で、物体Oと保持部200とが重なる方向である。例えば、物体外形情報は、物体表面の平面/非平面に関する情報を含む。物体外形情報は、特定方向D1と交差する方向に物体Oを見た場合における物体Oの外形を示す情報を含んでもよい。
【0042】
例えば、物体外形情報は、物体Oに外接する直方体形状のうちの第1面F1、および第1面F1に隣接する第2面F2に関する情報を含む(図5参照)。例えば、物体表面が非平面である場合(物体表面に凹凸がある場合)、状態認識部21は、物体表面の最外凸部に外接する直方体の形状を物体外形情報として認識する(図6参照)。例えば、状態認識部21は、特定方向D1に交差する方向に物体Oを見たときの外形を物体Oの保持可能領域Fcとして認識する。保持可能領域Fcは、物体Oの表面において支持部201が保持可能な平面部である。
【0043】
物体位置姿勢情報は、例えば、物体Oの画像データ、物体Oの距離画像データ、物体Oの形状データ、または、それらの少なくとも1つから生成された情報である。物体位置姿勢情報は、第1の容器V1に位置する物体Oの位置姿勢を示す情報である。物体位置姿勢情報は、例えば、第1の容器V1における物体Oの配置位置と、物体Oの姿勢(例えば、水平面に対する物体表面の傾き度合)とを示す情報を含む。
【0044】
物体重心情報は、例えば、物体Oの画像データ、物体Oの距離画像データ、物体Oの形状データ、物体Oの重量データ、または、それらの少なくとも1つから生成された情報である。物体重心情報は、物体Oの重心位置G(図6参照)を示す情報である。例えば、物体重心情報は、物体Oが同一の材料で形成されていると仮定したときに得られる撮像画像の図心の位置情報である。例えば、状態認識部21は、物体Oが一様の密度を有すると仮定した3次元情報に基づいて物体Oの重心位置Gを認識する。
【0045】
コンテナ情報は、例えば、移動元形状情報、移動先形状情報、および移動先積載情報を含む。移動元形状情報は、第1の容器V1内の物体Oを保持部200が保持する場合に障害物となる第1の容器V1の形状を示す情報である。状態認識部21は、例えば検出装置11により検出された情報に基づいて移動元形状情報を認識する。
【0046】
移動先形状情報は、第2の容器V2に物体Oを移動させる場合に障害物となる第2の容器V2の形状を示す情報である。例えば、移動先形状情報は、第2の容器V2の内壁面を規定する壁と、第2の容器V2の内部に設けられた仕切りとを示す情報である。
【0047】
移動先積載情報は、第2の容器V2に先に置かれた物体Oを示す情報である。状態認識部21は、例えば第2の容器V2の近くに配置された第2の検出装置により検出された情報に基づいて移動先形状情報および移動先積載情報を認識する。
【0048】
次に、計画部30について説明する。例えば、計画部30は、保持計画部31(算出部)、リリース計画部32、および動作計画部33を有する。保持計画部31は、第1の容器V1内の物体Oを保持部200が保持するための保持計画を生成する。リリース計画部32は、保持部200により保持された物体Oを第2の容器V2で解放するための解放計画を生成する。動作計画部33は、保持部200により保持された物体Oを第2の容器V2に移動させるための移動計画を生成する。動作計画部33は、生成した移動計画を制御部43に出力する。
【0049】
次に、実行部40について説明する。例えば、実行部40は、第1の力検出部41、第2の力検出部42、および制御部43を有する。第1の力検出部41は、移動機構100に設けられた力センサから出力された検出値に基づいて、移動機構100に発生する力を示す第1の力情報を生成する。第1の力検出部41は、生成した第1の力情報を制御部43に出力する。第2の力検出部42は、保持部200の支持部201に設けられたセンサ203(図2参照)から出力された検出値に基づいて、支持部201に発生する力を示す第2の力情報を生成する。第2の力検出部42は、生成した第2の力情報を制御部43に出力する。
【0050】
制御部43は、動作計画部33により出力された移動計画、第1の力検出部41により出力された第1の力情報、および第2の力検出部42により出力された第2の力情報に基づいて、保持部200による物体Oの保持動作、搬送動作、および解放動作を実行する。制御部43は、保持部200の保持状態、および物体Oと周囲の他の物体との接触状態を検出し、適宜リトライ動作を実行する。
【0051】
ハンドリング装置10は、演算装置12に含まれる認識部20、計画部30、および実行部40の少なくとも一部を有してもよい。ハンドリング装置10は、少なくとも保持計画部31および制御部43を有してもよい。
【0052】
次に、保持計画部31が実行する処理について説明する。例えば、保持計画部31は、状態認識部21により出力された情報に基づいて保持部200における複数の保持方法を算出し、算出した保持方法のうち最も良い方法に対応する保持計画を動作計画部33に出力する。
【0053】
保持計画部31は、保持部200が物体Oを保持する状態の安全性(安全強度)を示す安全率を算出する。安全率は、物体Oを落下させずに物体Oを搬送できる可能性の程度を示す。保持計画部31は、保持部200が実現可能な複数の状態の各々における安全率を算出する。保持計画部31は、安全率に基づいて複数の状態のうちのいずれか1つを選択する。例えば、保持計画部31は、少なくとも所定値以上の安全率と関連付けられた保持方法を選択する。保持計画部31は、例えば、最も高い安全率と関連付けられた保持方法を選択する。これにより、保持部200は、物体を安定して保持することができ、かつ物体の落下を抑制することができる。
【0054】
次に、保持計画部31が安全率を算出する方法について説明する。図7は、安全率の算出に使用されるパラメータを示す図である。図7は、保持部200が物体Oを保持しているときに支持部201と物体Oとが重なる方向に支持部201および物体Oを見た状態を示す。例えば、その方向は水平方向である。以下では、2つの支持部201が物体Oを保持するときの安全率の算出方法を説明する。保持部200が3つ以上の支持部201を有する場合、保持計画部31は、物体Oの保持状態を2つの支持部201が物体Oを保持する状態として近似し、安全率を算出する。
【0055】
保持計画部31は、複数のパラメータを使用することにより安全率を算出する。複数のパラメータは、少なくとも直径D、距離d、長さL、および重力mgを含む。
【0056】
直径Dは、支持部201と物体Oとが接触する領域の大きさに関するパラメータである。以下では、この領域を接触領域CR1と呼ぶ。直径Dは、接触領域CR1の輪郭に内接する円C1の直径である。この例では、接触領域CR1の形状は円C1として近似される。この場合、接触領域CR1の面積が小さく見積もられるため、保持計画部31は、物体Oが落下する可能性をより大きく考慮して安全率を算出することができる。
【0057】
距離dは、接触領域CR1において最大の曲げ応力(ねじり応力)が発生する位置P1に関するパラメータである。位置P1は、接触領域CR1の輪郭において物体Oの重心位置Gから最も遠い点である。距離dは、位置P1と接触領域CR1の中心位置P2との間の距離である。
【0058】
長さLは、接触領域CR1に曲げ応力を生じさせる曲げモーメント(ねじりモーメント)に関するパラメータである。長さLは、曲げモーメントが発生する腕の長さを示す。長さLは、物体Oの重心位置Gを通る鉛直方向の直線SL1と位置P1との間の距離である。
【0059】
重力mgは、物体Oの重量に関するパラメータである。重力mgは、物体Oの質量mと重力加速度の大きさgとの積である。
【0060】
位置P1に発生する曲げモーメントであるトルクTは、以下の式(1)で表される。
【0061】
【数1】
【0062】
接触領域CR1の近似形状である円C1の断面2次極モーメントIpは、以下の式(2)で表される。
【0063】
【数2】
【0064】
トルクTにより発生する曲げ応力τは、以下の式(3)で表される。
【0065】
【数3】
【0066】
接触領域CR1に発生する摩擦圧力Fpは、以下の式(4)で表される。
【0067】
【数4】
【0068】
式(4)において、パラメータfは支持部201の保持力であり、パラメータμは物体Oに応じた摩擦係数であり、パラメータAは接触領域CR1の面積である。接触領域CR1内では、あらゆる方向に摩擦圧力Fpが発生する。
【0069】
安全率Srは、以下の式(5)で表される。
【0070】
【数5】
【0071】
鉛直下向きの応力が考慮される場合、安全率Srは、以下の式(6)で表される。
【0072】
【数6】
【0073】
保持計画部31は、物体外形情報および物体重心情報に基づいて、直径D、距離d、および長さLを算出する。認識部20は、物体Oの質量mを示す質量情報を管理装置13の物体情報管理部14から取得する。保持計画部31は、質量情報を認識部20から取得する。保持計画部31は、上記の式(1)から式(6)に従って安全率Srを算出する。
【0074】
保持計画部31は、支持部201のセンサ203から出力された検出値に基づいてトルクTを推定してもよい。
【0075】
認識部20は、物体Oの種類を示す物体情報を管理装置13の物体情報管理部14から取得してもよい。保持計画部31は、物体情報を認識部20から取得してもよい。保持計画部31は、物体情報に基づいて直径Dおよび面積Aを算出してもよい。
【0076】
以下では、物体Oの種類毎に直径Dおよび面積Aを算出する例を説明する。図8(a)、図8(b)、および図8(c)は、保持部200が物体Oを保持する状態を示す。
【0077】
図8(a)は、物体Oが直方体である例を示す。支持部201の幅W2(図7参照)および支持部201の深さDP1(図7参照)を使用することにより、直径Dおよび面積Aはそれぞれ式(7)および式(8)で表される。
【0078】
【数7】
【0079】
図8(b)は、物体Oが円筒であり、かつ保持部200が円筒の曲面状の側面を保持する例を示す。支持部201の幅W2および支持部201の深さDP1(const)を使用することにより、面積Aは式(9)で表される。
【0080】
【数8】
【0081】
保持部200が円筒の曲面を保持する場合、鉛直方向における接触領域CR1の幅は非常に小さい。そのため、支持部201の深さDP1(const)として近似値(例えば5mm)が使用される。この場合、直径Dの近似値として、例えば5mmが使用される。
【0082】
図8(c)は、物体Oが円筒であり、かつ保持部200が円筒の平面状の側面を保持する例を示す。支持部201の幅W2および支持部201の深さDP1を使用することにより、直径Dおよび面積Aはそれぞれ式(10)および式(11)で表される。
【0083】
【数9】
【0084】
保持部200が、定まった形状を持たない物体Oを保持する場合がある。物体Oが定まった形状を持たず、かつ変形する場合、支持部201の幅W2および支持部201の深さDP1を使用することにより、直径Dおよび面積Aはそれぞれ式(12)および式(13)で表されてもよい。
【0085】
【数10】
【0086】
物体Oが定まった形状を持たず、かつ変形しない場合、支持部201の幅W2および支持部201の深さDP1を使用することにより、直径Dおよび面積Aはそれぞれ式(14)および式(15)で表されてもよい。
【0087】
【数11】
【0088】
保持計画部31は、複数のパラメータの少なくとも1つの値を変更することにより安全率を繰り返し算出する。これにより、保持計画部31は、複数の状態に対応する複数の安全率を算出する。保持計画部31は、物体の種類に対応する定型式を使用することにより直径Dおよび面積Aを算出することができる。そのため、保持計画部31は、直径Dおよび面積Aを高速に算出することができる。
【0089】
上記のように、保持計画部31は、算出された安全率と関連付けられた保持方法を選択する。保持方法は、少なくとも保持位置によって定義される。保持位置は、保持部200が物体Oを保持するときに支持部201が物体Oと接触する位置を示す。例えば、保持位置は、図7に示す長さLおよび深さDP1によって定義される。
【0090】
図9(a)、図9(b)、および図9(c)は、保持部200が物体Oを保持する状態を示す。各図は、2本の支持部201の進行方向DR2(図3参照)に物体Oおよび2本の支持部201を見たときの物体Oおよび2本の支持部201の状態を示す。各図において、曲げモーメントが発生する腕の長さLが示されている。
【0091】
図9(a)は、保持部200が物体Oの重心位置Gに近い位置を保持する状態を示す。図9(b)および図9(c)は、図9(a)と比較して、保持部200が重心位置Gから遠い位置を保持する状態を示す。
【0092】
物体Oの重心位置Gに近い位置が最適な保持位置であるとは限らない。例えば、重心位置Gの周辺では物体Oの幅が2本の支持部201間の最大間隔よりも大きい場合がある。重心位置Gから離れた位置では物体Oの幅が小さいため、保持部200はその位置で物体Oを保持することができる。あるいは、重心位置Gの周辺では物体Oが変形しやすい場合がある。重心位置Gから離れた位置では物体Oが変形しにくい場合、保持部200はその位置で物体Oを安全に保持することができる。あるいは、重心位置Gの周辺では物体Oの摩擦係数が小さい場合がある。重心位置Gから離れた位置では物体Oの摩擦係数が大きい場合、保持部200はその位置で物体Oを安全に保持することができる。
【0093】
次に、算出された安全率の例を説明する。以下では、物体Oが直方体である例を説明する。図10は、安全率の算出に使用されるパラメータの例を示す。
【0094】
接触領域CR1の鉛直方向の幅および水平方向の幅は0.04mである。したがって、接触領域CR1の輪郭に内接する円の直径Dは0.04mである。物体Oの鉛直方向の幅(厚さ)は0.05mである。保持部200の位置に応じた長さL(図7参照)は、物体Oの重心位置Gと支持部201の所定位置との間の距離である。所定位置は、物体Oの重心位置Gから最も遠い点である。物体Oの質量は500gである。
【0095】
図11は、保持部200の位置(長さL)と安全率Srとの関係を示すグラフである。図11に示すグラフの横軸は長さLを示し、図11に示すグラフの縦軸は安全率Srを示す。
【0096】
保持部200の位置が物体Oの重心位置Gに近い場合、安全率Srは相対的に大きい。そのため、保持部200は物体Oを安全に保持することができる。保持部200の位置が物体Oの重心位置Gから遠い場合、安全率Srは相対的に小さい。そのため、物体Oが落下する可能性が相対的に高い。例えば、保持計画部31は、3以上の安全率Srに関連付けられた状態が安全であると判断する。保持計画部31は、安全な状態のうち最も大きな安全率Srを持つ状態を選択し、その状態に対応する保持方法を動作計画部33に出力する。
【0097】
以下では、物体Oが円筒であり、かつ保持部200が円筒の曲面状の側面を保持する例を説明する。図12は、安全率の算出に使用されるパラメータの例を示す。
【0098】
接触領域CR1の水平方向の幅は0.04mである。接触領域CR1の鉛直方向の幅の近似値は0.015mである。したがって、接触領域CR1の輪郭に内接する円の直径Dは0.015mである。保持部200の位置は、物体Oの重心位置Gから0.005mだけ離れた点である。物体Oの質量は500gである。
【0099】
図13は、摩擦圧力Fpと安全率Srとの関係を示すグラフである。図13に示すグラフの横軸は摩擦圧力Fpを示し、図13に示すグラフの縦軸は安全率Srを示す。
【0100】
摩擦圧力Fpが大きい場合、安全率Srは相対的に大きい。摩擦圧力Fpが小さい場合、安全率Srは相対的に小さい。
【0101】
保持計画部31は、認識部20から取得された画像データ等に一般的な画像処理的な手法を適用する。これにより、保持計画部31は、物体の輪郭またはくぼみの位置を検出する。また、保持計画部31は、支持部201の開き幅等の設計情報に基づいて安全率を算出し、かつ保持方法を計画する。制御部43は、優良な保持方法に基づいて2つの支持部201を物体Oの上方から物体Oに向かって進ませる。2つの支持部201が所定の位置に来たとき、制御部43は2本の支持部201を閉じる。これにより、保持部200は物体Oを挟み、かつ保持する。
【0102】
例えば、保持計画部31は、安全率を最も重要な指標として扱い、保持方法を選択してもよい。あるいは、保持計画部31は、安全率と他の指標とを線型的に結合することにより得られた指標に基づいて保持方法を選択してもよい。例えば、他の指標は、物体Oの位置、またはロボットの取りうる姿勢等である。
【0103】
例えば、接触領域CR1の面積が大きい場合、保持計画部31は、物体Oの重心位置Gからより離れた位置で物体Oを保持する保持計画を生成してもよい。この場合、実際の保持位置と重心位置Gとの間の距離は、最良の安全率に基づく保持位置と重心位置Gとの間の距離よりも大きい。接触領域CR1の面積が小さい場合、保持計画部31は、物体Oの重心位置Gにより近い位置で物体Oを保持する保持計画を生成してもよい。この場合、実際の保持位置と重心位置Gとの間の距離は、最良の安全率に基づく保持位置と重心位置Gとの間の距離よりも小さい。
【0104】
支持部201の形状は、かぎづめ形状であってもよい。この場合、包含保持と摩擦保持とが同時に実現される。支持部201のかぎづめが物体Oに接触する場合、保持計画部31は、上記のように算出された安全率に所定の係数を乗算してもよい。例えば、所定の係数は1よりも大きい。
【0105】
上記のように、保持計画部31は、保持部200が実現可能な複数の状態の各々における安全率を算出する。保持計画部31が少なくとも1つの安全率を算出したとき、動作計画部33は移動計画の生成を開始してもよい。例えば、保持計画部31が、物体Oを高速で移動できるような高い安全率を算出したとき、動作計画部33は高速移動に関する移動計画の生成を開始してもよい。このとき、保持計画部31は、まだ安全率が算出されていない状態の安全率の算出を継続してもよい。
【0106】
物体Oの形状と最適な保持方法との間の関連性が高い場合がある。保持計画部31は、状態認識部21により出力された情報(画像データ等)を入力とし、かつ最適な保持方法を出力とする機械学習(ディープラーニング等)を実行してもよい。保持計画部31は、機械学習を通して得られた学習モデルを演算装置12内のメモリに記憶してもよい。学習モデルにおいて、画像データ等の情報と最適な保持方法とが関連付けられている。保持計画部31は、状態認識部21により出力された情報と、メモリに記憶された学習モデルとに基づいて保持方法を推定してもよい。これにより、保持計画部31は、保持計画を高速に生成することができる。
【0107】
安全率の算出に使用される変数が保持方法の代わりに機械学習を通して出力されてもよい。例えば、その変数は、図7に示す直径D、距離d、または長さLである。保持計画部31は、状態認識部21により出力された情報と、メモリに記憶された学習モデルとに基づいてその変数を算出してもよい。
【0108】
次に、演算装置12の処理の流れの一例について説明する。図14は、演算装置12の処理の流れの一例を示すフローチャートである。
【0109】
認識部20は、管理装置13が有する情報と、検出装置11により検出された情報とを取得し、ハンドリング装置10の制御に用いられる各種要素の状態を認識する(認識処理、図14のステップS01)。例えば、認識部20は、画像データまたは距離画像データに対して所定の画像処理を行うことにより、各種要素の状態に関する情報として、物体外形情報、物体位置姿勢情報、物体重心情報、およびコンテナ情報を生成する。認識部20は、これらの情報を計画部30に出力する。
【0110】
計画部30は、保持計画、解放計画、および移動計画を生成する(計画処理、図14のステップS02)。計画部30は、生成した保持計画、解放計画、および移動計画を実行部40に出力する。
【0111】
実行部40は、計画部30により出力された移動計画と、第1の力検出部41により出力された力情報と、第2の力検出部42により出力された第2の力情報とに基づいて、保持部200による物体Oの保持動作、搬送動作、および解放動作を実行する(実行処理、図14のステップS03)。実行部40は、保持部200の保持状態、および物体Oと周囲の他の物体との接触状態を検出し、適宜リトライ動作を実行する。
【0112】
図15は、計画処理の流れの一例を示すフローチャートである。計画部30は、図14のステップS02において図15に示す計画処理を実行する。
【0113】
計画部30(保持計画部31およびリリース計画部32)は、保持計画および解放計画を生成する(図15のステップS111)。
【0114】
ステップS111の後、計画部30(保持計画部31)は、保持部200と物体Oとが接触する領域の面積を示す接触面積を計算する(図15のステップS112)。例えば、計画部30は、ステップS112において、物体外形情報等に基づいて接触面積を計算する。
【0115】
ステップS112の後、計画部30(動作計画部33)は、接触面積と所定の閾値とを比較し、接触面積が閾値よりも小さいか否かを判断する(図15のステップS113)。
【0116】
ステップS113において接触面積が閾値よりも小さいと計画部30が判断した場合、計画部30(動作計画部33)は、保持部200を低速で移動させる運動方法を計画する(図15のステップS114)。接触面積が小さい場合、接触面積が大きい場合よりも搬送過程で物体Oが落下する可能性が高い。そのため、計画部30は、ステップS114において、保持部200を低速で移動させる運動方法を計画し、その運動方法を示す移動計画を生成する。その後、図14のステップS03に示す実行処理において、保持部200は低速で移動する。
【0117】
ステップS113において接触面積が閾値以上であると計画部30が判断した場合、計画部30(動作計画部33)は、保持部200を高速で移動させる運動方法を計画する(図15のステップS115)。接触面積が大きい場合、搬送過程で物体Oが落下する可能性は低い。そのため、計画部30は、ステップS115において、保持部200を高速で移動させる運動方法を計画し、その運動方法を示す移動計画を生成する。その後、図14のステップS03に示す実行処理において、保持部200は高速で移動する。このとき、保持部200の移動速度は、ステップS114において生成された移動計画における移動速度よりも高い。
【0118】
図16は、計画処理の流れの他の例を示すフローチャートである。計画部30は、図14のステップS02において図16に示す計画処理を実行する。
【0119】
計画部30(保持計画部31およびリリース計画部32)は、保持計画および解放計画を生成する(図16のステップS121)。
【0120】
ステップS121の後、計画部30(動作計画部33)は、安全率と所定の閾値とを比較し、安全率が閾値よりも小さいか否かを判断する(図16のステップS122)。ステップS122において使用される閾値は、保持部200の保持方法を選択するための所定値と異なる。例えば、閾値は、所定値よりも大きい。
【0121】
ステップS122において安全率が閾値よりも小さいと計画部30が判断した場合、計画部30(動作計画部33)は、保持部200を低速で移動させる運動方法を計画する(図16のステップS123)。安全率が小さい場合、安全率が大きい場合よりも搬送過程で物体Oが落下する可能性が高い。そのため、計画部30は、ステップS123において、保持部200を低速で移動させる運動方法を計画し、その運動方法を示す移動計画を生成する。その後、図14のステップS03に示す実行処理において、保持部200は低速で移動する。
【0122】
ステップS122において安全率が閾値以上であると計画部30が判断した場合、計画部30(動作計画部33)は、保持部200を高速で移動させる運動方法を計画する(図16のステップS124)。安全率が大きい場合、搬送過程で物体Oが落下する可能性は低い。そのため、計画部30は、ステップS124において、保持部200を高速で移動させる運動方法を計画し、その運動方法を示す移動計画を生成する。その後、図14のステップS03に示す実行処理において、保持部200は高速で移動する。このとき、保持部200の移動速度は、ステップS123において生成された移動計画における移動速度よりも高い。
【0123】
図17は、実行処理の流れの一例を示すフローチャートである。実行部40は、図14のステップS03において図17に示す実行処理を実行する。
【0124】
実行部40(制御部43)は、保持計画に基づいて保持部200に保持動作を実行させる。保持部200は、物体Oを保持する(図17のステップS211)。
【0125】
ステップS211の後、実行部40(制御部43)は、保持部200と物体Oとが接触する領域の面積を示す接触面積を検出する(図17のステップS212)。例えば、実行部40は、ステップS212において、第2の力検出部42によって生成された力情報に基づいて接触面積を検出する。
【0126】
ステップS212の後、実行部40(制御部43)は、接触面積と所定の閾値とを比較し、接触面積が閾値よりも小さいか否かを判断する(図17のステップS213)。
【0127】
ステップS213において接触面積が閾値よりも小さいと実行部40が判断した場合、実行部40(制御部43)は、保持部200を低速で移動させる(図17のステップS214)。これにより、保持部200は低速で移動する。
【0128】
ステップS213において接触面積が閾値以上であると実行部40が判断した場合、実行部40(制御部43)は、保持部200を高速で移動させる(図17のステップS215)。これにより、保持部200は高速で移動する。このとき、保持部200の移動速度は、ステップS214における移動速度よりも高い。
【0129】
図18は、実行処理の流れの他の例を示すフローチャートである。実行部40は、図14のステップS03において図18に示す実行処理を実行する。
【0130】
実行部40(制御部43)は、保持計画に基づいて保持部200に保持動作を実行させる。保持部200は、物体Oを保持する(図18のステップS221)。
【0131】
ステップS221の後、実行部40(制御部43)は、安全率と所定の閾値とを比較し、安全率が閾値よりも小さいか否かを判断する(図18のステップS222)。
【0132】
ステップS222において安全率が閾値よりも小さいと実行部40が判断した場合、実行部40(制御部43)は、保持部200を低速で移動させる(図18のステップS223)。これにより、保持部200は低速で移動する。
【0133】
ステップS222において安全率が閾値以上であると実行部40が判断した場合、実行部40(制御部43)は、保持部200を高速で移動させる(図18のステップS224)。これにより、保持部200は高速で移動する。このとき、保持部200の移動速度は、ステップS223における移動速度よりも高い。
【0134】
保持部200が加速するとき、重力方向ベクトルと加速度ベクトルとを合成することにより合成ベクトルが定義される。保持部200が加速するとき、重力方向をその合成ベクトルの方向とみなすことができる。計画部30は、その合成ベクトルの方向に基づいて安全率を算出してもよい。実行部40は、その合成ベクトルの方向に基づいて保持部200を移動させてもよい。
【0135】
保持部200が物体Oを保持した後、実行部40(制御部43)は、ねじり負荷が小さい方向へ保持部200を移動させてもよい。例えば、図7に示す例では、支持部201が物体Oの重心位置Gよりも左側の位置で物体Oを保持するため、重心位置Gを中心に右回りの曲げモーメントが発生する。そのため、実行部40は、右方向へ保持部200を移動させてもよい。
【0136】
実行部40(制御部43)は、物体Oの重量に基づいて保持部200の保持力を制御してもよい。例えば、物体Oの重量が大きい場合、実行部40は保持部200の保持力を大きくしてもよい。物体Oの重量が小さい場合、実行部40は保持部200の保持力を小さくしてもよい。
【0137】
実行部40(制御部43)は、保持部200の移動速度に基づいて保持部200の保持力を制御してもよい。例えば、保持部200の移動速度が高い場合、実行部40は保持部200の保持力を大きくしてもよい。保持部200の移動速度が低い場合、実行部40は保持部200の保持力を小さくしてもよい。
【0138】
実施形態によれば、ハンドリング装置10は、保持部200と、保持計画部31と、制御部43とを持つ。保持部200は、2つ以上の支持部201を含み、2つ以上の支持部201で物体Oを挟むことにより物体Oを保持可能である。保持計画部31は、保持部200が物体Oを保持する状態の安全性を示す安全率を算出する。制御部43は、安全率に基づいて保持部200に物体Oを保持させる。保持計画部31が算出した安全率に基づいて物体Oが保持されるため、物体Oの重心位置に近い位置で物体Oを保持する方法よりも安全な保持方法が選択される場合がある。したがって、ハンドリング装置10は、物体Oを安定して保持することができる。
【0139】
保持計画部31は、支持部201と物体Oとが接触する領域(図7の接触領域CR1)の面積に関する値(図7の直径D)と、その領域における基準位置(図7の位置P1)と物体Oの重心(図7の重心位置G)との間の距離(図7の長さL)とに基づいて安全率を算出する。支持部201と物体Oとが接触する領域の面積と、物体Oの重心からのその領域の距離とが考慮されるため、ハンドリング装置10は、物体Oをより一層安定して保持することができる。
【0140】
保持計画部31は、支持部201と物体Oとが接触する領域(図7の接触領域CR1)に発生する摩擦圧力に基づいて安全率を算出する。摩擦圧力に基づいて安全率が算出されるため、ハンドリング装置10は、物体Oを安定して保持するための摩擦保持を実現することができる。
【0141】
ハンドリング装置10は、保持部200の移動速度を含む運動方法を計画する動作計画部33を有する。動作計画部33は、支持部201と物体Oとが接触する領域(図7の接触領域CR1)の面積に基づいて移動速度を決定する。制御部43は、動作計画部33が計画した運動方法に基づいて保持部200を動作させる。支持部201と物体Oとが接触する領域の面積が大きい場合、保持部200は物体Oを相対的に安定した状態で保持する。支持部201と物体Oとが接触する領域の面積が小さい場合、保持部200は物体Oを相対的に不安定な状態で保持する。ハンドリング装置10は、接触面積に応じて移動速度を制御することにより、物体Oの保持の安定性と移動の高速性との一方を優先して物体Oを搬送することができる。
【0142】
ハンドリング装置10は、保持部200の移動速度を含む運動方法を計画する動作計画部33を有する。動作計画部33は、安全率に基づいて移動速度を決定する。制御部43は、動作計画部33が計画した運動方法に基づいて保持部200を動作させる。安全率が大きい場合、保持部200は物体Oを相対的に安定した状態で保持する。安全率が小さい場合、保持部200は物体Oを相対的に不安定な状態で保持する。ハンドリング装置10は、安全率に応じて移動速度を制御することにより、物体Oの保持の安定性と移動の高速性との一方を優先して物体Oを搬送することができる。
【0143】
次に、実施形態の変形例を説明する。多くの物体が乱雑に詰まれており、多くの保持方法の候補がある場合には、計算に非常に時間を要する可能性がある。以下では、第1の容器V1内の物体群の状態はいくつかに分類され、2つの支持部201は、各状態に応じた方法で物体Oの周囲に配置される。
【0144】
例えば、認識部20は、検出装置11により検出された情報に基づいて、第1の容器V1における物体Oの配置状況を認識する。認識部20は、物体Oの配置状況を示す情報を計画部30に出力する。保持計画部31は、認識部20により出力された情報が示す物体Oの配置状況に基づいて、保持部200を物体Oの周囲に移動させるための保持部200の移動方法を計画する。保持計画部31は、移動方法および保持方法を含む保持計画を生成する。
【0145】
図19(a)、図19(b)、および図19(c)は、保持部200の第1の移動方法を示す。以下の各図において、第1の容器V1、物体O、および保持部200を水平方向に見たときの第1の容器V1、物体O、および保持部200の状態が示されている。以下の各図において、図の複雑さを避けるために、支持部201は、支持部201の位置を示す線として描かれ、かつ連結部202は描かれていない。第1の容器V1は、内壁面V11および底面V12を有する。図19(a)に示すように、物体Oは第1の容器V1の底面V12に配置されている。
【0146】
図19(a)に示すように、制御部43は、2つの支持部201を物体Oの直上に配置する。制御部43は、2つの支持部201の間の距離d1が物体Oの外径d2よりも大きくなるように2つの支持部201を開く。外径d2は、水平方向DRHにおける物体Oの幅である。
【0147】
図19(b)に示すように、制御部43は、2つの支持部201を鉛直下向きに移動させ、2つの支持部201を物体Oの周囲に配置する。
【0148】
2つの支持部201と底面V12との間の距離が所定の距離になったとき、図19(c)に示すように制御部43は2本の支持部201を閉じる。所定の距離は、2本の支持部201が閉じたときに安全率と関連付けられた状態で2つの支持部201が物体Oを保持できる距離である。2本の支持部201が閉じるため、2つの支持部201は互いに近づく。保持部200は物体Oを挟み、かつ保持する。
【0149】
図20(a)、図20(b)、および図20(c)は、保持部200の第2の移動方法を示す。図20(a)に示すように、複数の物体Oが第1の容器V1の底面V12に配置されている。複数の物体Oが等間隔に配置されている必要はない。
【0150】
図20(a)に示すように、制御部43は、2つの支持部201を1つの物体Oの直上に配置する。制御部43は、2つの支持部201の間の距離d1が物体Oの外径d2よりも大きくなるように2つの支持部201を開く。外径d2は、水平方向DRHにおける物体Oの幅である。物体Oの周囲に他の物体が配置されているため、距離d1は外径d2よりもわずかに大きいことが好ましい。
【0151】
図20(b)に示すように、制御部43は、2つの支持部201を鉛直下向きに移動させ、2つの支持部201を物体Oの周囲に配置する。物体Oと、その物体Oと隣接する他の物体との隙間に支持部201が挿入される。
【0152】
2つの支持部201と底面V12との間の距離が所定の距離になったとき、図20(c)に示すように制御部43は2本の支持部201を閉じる。所定の距離は、2本の支持部201が閉じたときに安全率と関連付けられた状態で2つの支持部201が物体Oを保持できる距離である。2本の支持部201が閉じるため、2つの支持部201は互いに近づく。保持部200は物体Oを挟み、かつ保持する。
【0153】
第1の移動方法および第2の移動方法では、制御部43は、2つ以上の支持部201間の距離d1を物体Oの外径d2よりも大きく保ち、かつ2つ以上の支持部201を物体Oの周囲に移動させる(図19(a)、図19(b)、図20(a)、および図20(b))。制御部43は、保持部200に2つ以上の支持部201を互いに近づけさせ、かつ保持部200に安全率と関連付けられた状態で物体Oを保持させる(図19(c)および図20(c))。物体Oの周囲に2本の支持部201を配置することが容易である場合、ハンドリング装置10は、第1の移動方法または第2の移動方法を使用することにより物体Oを安定して保持することができる。
【0154】
図21(a)、図21(b)、図21(c)、および図21(d)は、保持部200の第3の移動方法を示す。図21(a)に示すように、複数の物体Oが第1の容器V1の底面V12に配置されている。複数の物体Oが等間隔に配置されている必要はない。少なくとも1つの物体Oは、第1の容器V1の内壁面V11と接触している。あるいは、少なくとも1つの物体Oと内壁面V11との間の隙間の幅は、その隙間に1つの支持部201を容易に挿入できる所定の幅よりも小さい。
【0155】
図21(a)に示すように、制御部43は、2つの支持部201の各々の先端が内壁面V11を向くように2つの支持部201の姿勢(角度)を調節する。さらに、制御部43は、2つの支持部201の間の距離d1が、内壁面V11と接触している物体Oの外径d2よりも大きくなるように2つの支持部201を開く。2つの支持部201が開いた後、2つの支持部201が互いに離間している方向DR11は水平方向DRHと交差する。支持部201の長手方向DR12は鉛直方向DRVと交差する。例えば、方向DR11は水平方向DRHに対して45度傾いている。外径d2は、方向DR11における物体Oの幅である。
【0156】
図21(b)に示すように、制御部43は、2つの支持部201を支持部201の長手方向DR12に移動させ、2つの支持部201を、物体Oの周囲に配置する。図21(b)に示す例では、2つの支持部201の一方が物体Oと接触するように2つの支持部201が配置される。2つの支持部201が物体Oと接触している必要はない。2本の支持部201が閉じたときに安全率と関連付けられた状態で2つの支持部201が物体Oを保持できるように2つの支持部201が配置される。
【0157】
その後、図21(c)に示すように制御部43は2本の支持部201を閉じる。2本の支持部201が閉じるため、2つの支持部201は互いに近づく。保持部200は物体Oを挟む。
【0158】
保持部200が物体Oを挟んだ後、図21(d)に示すように制御部43は、方向DR11が水平方向DRHと平行になるように2つの支持部201の姿勢(角度)を調節する。これにより、保持部200は、安全率と関連付けられた状態で物体Oを保持する。
【0159】
第3の移動方法では、内壁面V11および底面V12を有する第1の容器V1の底面V12に物体Oは配置されている。制御部43は、2つ以上の支持部201を水平方向DRHと交差する方向DR11に互いに離間させ、かつ2つ以上の支持部201を物体Oの周囲に移動させる(図21(a)および図21(b))。制御部43は、保持部200に2つ以上の支持部201を互いに近づけさせ、かつ保持部200に安全率と関連付けられた状態で物体Oを保持させる(図21(c)および図21(d))。物体Oが第1の容器V1の内壁面V11と接触している場合、あるいは物体Oと内壁面V11との間の距離が小さい場合、ハンドリング装置10は、第3の移動方法を使用することにより物体Oを安定して保持することができる。
【0160】
図22(a)、図22(b)、図22(c)、および図22(d)は、保持部200の第4の移動方法を示す。図22(a)に示すように、扁平な複数の物体Oが第1の容器V1の底面V12に配置されている。複数の物体Oが等間隔に配置されている必要はない。物体Oは、相対的に広い面(扁平面)が底面V12と接触するように配置されている。物体Oの外径d2は、物体Oの厚さd3よりも大きい。外径d2は、水平方向DRHにおける物体Oの幅である。厚さd3は、物体Oの扁平な2つの面の間の距離であり、鉛直方向DRVにおける物体Oの幅である。
【0161】
図22(a)に示すように、制御部43は、2つの支持部201の各々の先端が内壁面V11を向くように2つの支持部201の姿勢(角度)を調節する。さらに、制御部43は、2つの支持部201の間の距離d1が物体Oの厚さd3よりも大きくなるように2つの支持部201を開く。2つの支持部201が開いた後、2つの支持部201が互いに離間している方向DR11は水平方向DRHと交差する。支持部201の長手方向DR12は鉛直方向DRVと交差する。
【0162】
制御部43は、2つの支持部201の一方が第1の容器V1の底面V12と接触するまで2つの支持部201を鉛直下向きに移動させる。その後、図22(b)に示すように、制御部43は、2つの支持部201を第1の容器V1の底面V12に沿って水平方向DRHに移動させる。2つの支持部201は、第1の容器V1の内壁面V11に向かって移動する。2つの支持部201の一方は、内壁面V11の近傍に配置された物体Oの端部を押し上げる。2つの支持部201の一方は、物体Oと底面V12との間の隙間に挿入される。物体Oが内壁面V11と接触している場合、制御部43は、支持部201を物体Oと底面V12との間の隙間に容易に挿入することができる。2本の支持部201が閉じたときに安全率と関連付けられた状態で2つの支持部201が物体Oを保持できるように2つの支持部201が配置される。
【0163】
その後、図22(c)に示すように制御部43は2本の支持部201を閉じる。2本の支持部201が閉じるため、2つの支持部201は互いに近づく。保持部200は物体Oを挟む。
【0164】
保持部200が物体Oを挟んだ後、図22(d)に示すように制御部43は、方向DR11が水平方向DRHと平行になるように2つの支持部201の姿勢(角度)を調節する。これにより、保持部200は、安全率と関連付けられた状態で物体Oを保持する。
【0165】
第4の移動方法では、物体Oの形状は扁平であり、かつ内壁面V11および底面V12を有する第1の容器V1の底面V12に物体Oの扁平面が接触するように物体Oは配置されている。制御部43は、2つ以上の支持部201を水平方向DRHと交差する方向DR11に互いに離間させ、かつ2つ以上の支持部201を底面V12に沿って内壁面V11に向かって移動させる(図22(a)および図22(b))。制御部43は、保持部200に2つ以上の支持部201を互いに近づけさせ、かつ保持部200に安全率と関連付けられた状態で物体Oを保持させる(図22(c)および図22(d))。扁平な複数の物体Oが配置されている場合、ハンドリング装置10は、第4の移動方法を使用することにより物体Oを安定して保持することができる。
【0166】
図23(a)、図23(b)、図23(c)、および図23(d)は、保持部200の第5の移動方法を示す。図23(a)に示すように、扁平な物体Oが第1の容器V1の底面V12に配置されている。物体Oは、相対的に広い面(扁平面)が底面V12と接触するように配置されている。物体Oの外径d2は、物体Oの厚さd3よりも大きい。外径d2は、水平方向DRHにおける物体Oの幅である。厚さd3は、物体Oの扁平な2つの面の間の距離であり、鉛直方向DRVにおける物体Oの幅である。
【0167】
図23(a)に示すように、制御部43は、2つの支持部201を物体Oの直上に配置する。制御部43は、2つの支持部201の間の距離d1が物体Oの外径d2よりも大きくなるように2つの支持部201を開く。
【0168】
図23(b)に示すように、制御部43は、2つの支持部201を鉛直下向きに移動させ、2つの支持部201を物体Oの周囲に配置する。2つの支持部201は底面V12と接触する。
【0169】
その後、図23(c)に示すように制御部43は2本の支持部201を閉じる。2本の支持部201を底面V12に押し付けながら物体Oを挟むために、制御部43は、例えば第1の力検出部41から出力された第1の力情報が一定値を示すように保持部200を制御する。第1の力情報は、移動機構100に発生する鉛直方向DRVの力の大きさを示す。2本の支持部201が閉じるため、2つの支持部201は互いに近づく。保持部200は物体Oを挟み、かつ保持する。
【0170】
第5の移動方法では、物体Oの形状は扁平であり、かつ内壁面V11および底面V12を有する第1の容器V1の底面V12に物体Oの扁平面が接触するように物体Oは配置されている。制御部43は、2つ以上の支持部201間の距離を物体Oの外径d2よりも大きく保つ(図23(a))。制御部43は、2つ以上の支持部201を物体Oの周囲に移動させ、かつ2つ以上の支持部201を底面V12に接触させる(図23(b))。制御部43は、保持部200に2つ以上の支持部201を互いに近づけさせ、かつ保持部200に安全率と関連付けられた状態で物体Oを保持させる(図23(c))。物体Oの扁平面が底面V12に接触するように物体Oが配置されている場合、ハンドリング装置10は、第5の移動方法を使用することにより物体Oを安定して保持することができる。
【0171】
図24(a)、図24(b)、図24(c)、および図24(d)は、保持部200の第6の移動方法を示す。図24(a)に示すように、扁平な複数の物体Oが第1の容器V1の底面V12に配置されている。複数の物体Oが等間隔に配置されている必要はない。複数の物体Oは互いに接触していてもよい。物体Oは、相対的に広い面(扁平面)が第1の容器V1の底面V12に立つように配置されている。物体Oの扁平面は第1の容器V1の内壁面V11を向く。物体Oの相対的に狭い面(側面)は底面V12と接触している。物体Oの外径d2は、物体Oの厚さd3よりも大きい。外径d2は、鉛直方向DRVにおける物体Oの幅である。厚さd3は、物体Oの扁平な2つの面の間の距離であり、水平方向DRHにおける物体Oの幅である。
【0172】
図24(a)に示すように、制御部43は、2つの支持部201を複数の物体Oの配列における最も外側の物体Oの直上に配置する。制御部43は、2つの支持部201の間の距離d1が物体Oの厚さd3よりも大きくなるように2つの支持部201を開く。
【0173】
図24(b)に示すように、制御部43は、2つの支持部201を鉛直下向きに移動させ、2つの支持部201を物体Oの周囲に配置する。物体Oと、その物体Oと隣接する他の物体との隙間に2つの支持部201の一方が挿入される。
【0174】
2つの支持部201と底面V12との間の距離が所定の距離になったとき、図24(c)に示すように制御部43は2本の支持部201を閉じる。所定の距離は、2本の支持部201が閉じたときに安全率と関連付けられた状態で2つの支持部201が物体Oを保持できる距離である。2本の支持部201が閉じるため、2つの支持部201は互いに近づく。保持部200は物体Oを挟み、かつ保持する。
【0175】
第6の移動方法では、物体Oの形状は扁平であり、かつ内壁面V11および底面V12を有する第1の容器V1の底面V12に物体Oの扁平面が立つように物体Oは配置されている。制御部43は、2つ以上の支持部201間の距離を物体Oの厚さよりも大きく保ち、かつ2つ以上の支持部201を物体Oの周囲に移動させる(図24(a)および図24(b))。制御部43は、保持部200に2つ以上の支持部201を互いに近づけさせ、かつ保持部200に安全率と関連付けられた状態で物体Oを保持させる(図24(c))。物体Oの扁平面が底面V12に立つように物体Oが配置されている場合、ハンドリング装置10は、第6の移動方法を使用することにより物体Oを安定して保持することができる。
【0176】
上記の変形例では、2つの支持部201は、第1の容器V1内の物体群の状態に応じた方法で物体Oの周囲に配置される。ハンドリング装置10は、保持計画部31が保持方法を緻密に計算する前段の処理において、複雑で多量な情報に対する処理時間の無駄を防ぐことができる。
【0177】
以上、いくつかの実施形態および変形例について説明したが、実施形態は上記例に限定されない。例えば、演算装置12のいくつかの機能部は、ハンドリング装置10に代えて、管理装置13に設けられてもよい。例えば、認識部20、計画部30、および実行部40は、管理装置13に設けられてもよい。
【0178】
以上説明した少なくともひとつの実施形態によれば、ハンドリング装置10は、保持部200と、保持計画部31と、制御部43とを持つ。保持部200は、2つ以上の支持部201を含み、2つ以上の支持部201で物体Oを挟むことにより物体Oを保持可能である。保持計画部31は、保持部200が物体Oを保持する状態の安全性を示す安全率を算出する。制御部43は、安全率に基づいて保持部200に物体Oを保持させる。このような構成によれば、ハンドリング装置10は、物体Oを安定して保持することができる。
【0179】
なお、上述した実施形態における搬送システム1の一部または全部をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、搬送システム1に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0180】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0181】
例えば、プログラムは、制御装置のコンピュータに、算出ステップと、制御ステップとを実行させてもよい。コンピュータは、算出ステップにおいて、2つ以上の支持部201で物体Oを挟むことにより物体Oを保持可能な保持部200が物体Oを保持する状態の安全性を示す安全率を算出する。コンピュータは、制御ステップにおいて、安全率に基づいて保持部200に物体Oを保持させる。
【0182】
また、上述した実施形態における搬送システム1の一部または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。搬送システム1の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0183】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0184】
10…ハンドリング装置、12…演算装置(制御装置)、31…保持計画部(算出部)、33…動作計画部、43…制御部、200…保持部、201…支持部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24