(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023006017
(43)【公開日】2023-01-18
(54)【発明の名称】物品搬送処理システム
(51)【国際特許分類】
B25J 13/08 20060101AFI20230111BHJP
【FI】
B25J13/08 A
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021108378
(22)【出願日】2021-06-30
(11)【特許番号】
(45)【特許公報発行日】2022-10-20
(71)【出願人】
【識別番号】000230858
【氏名又は名称】日本金銭機械株式会社
(74)【代理人】
【識別番号】100136319
【弁理士】
【氏名又は名称】北原 宏修
(74)【代理人】
【識別番号】100148275
【弁理士】
【氏名又は名称】山内 聡
(74)【代理人】
【識別番号】100142745
【弁理士】
【氏名又は名称】伊藤 世子
(74)【代理人】
【識別番号】100143498
【弁理士】
【氏名又は名称】中西 健
(72)【発明者】
【氏名】上田 貴司
(72)【発明者】
【氏名】上溝 順亮
(72)【発明者】
【氏名】北野 智範
(72)【発明者】
【氏名】伊尾瀬 晋
(72)【発明者】
【氏名】中谷 和好
(72)【発明者】
【氏名】江澤 良美
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707BS12
3C707CU02
3C707DS01
3C707FS01
3C707FT11
3C707KS03
3C707KS36
3C707KT01
3C707KT05
3C707LV05
(57)【要約】
【課題】多様な種類の移動式のカートを用いる場合であっても、効率良く、物品を移動式カートから取り出し、および/または、物品を移動式カートに載置する物品搬送処理システムを実現する。
【解決手段】物品搬送処理システムでは、移動式カートの横、縦、および、奥行きと略一致するようにして取得した横軸、縦軸、および、奥行き軸を有するカート座標系により、ロボットハンドを移動させる制御、および、ロボットハンドの姿勢制御を行うことができるので、多種多様な移動式カートがどのような向きに置かれた場合であっても、効率良く、物品を移動式カートから取り出し、および/または、物品を移動式カートに載置することができる。
【選択図】
図12
【特許請求の範囲】
【請求項1】
横フレームおよび縦フレームを有する移動式カートから物品を取り出し、および/または、前記移動式カートに物品を搬送して載置するための物品搬送処理システムであって、
物品を把持し搬送するためのロボットハンドと、
前記ロボットハンドに対して姿勢制御および移動制御を行うための移動機構と、
前記ロボットハンドおよび前記移動機構を制御する制御部と、
を備え、
前記ロボットハンドは、
フレームと、
前記フレームに設置された、伸縮機構、吸着機構、第1距離センサ、第2距離センサ、および、撮像部と、
を備え、
前記制御部は、
前記移動式カートに対して、前記ロボットハンドを所定の姿勢に姿勢制御した状態で、前記第1距離センサにより前記移動式カートの横フレーム上の第1測定点と前記第1距離センサとの距離を測定し、測定値を第1距離として取得する第1距離取得ステップと、
前記ロボットハンドを前記所定の姿勢と同一姿勢に姿勢制御した状態で、前記第1距離センサにより前記移動式カートの横フレーム上の前記第1測定点は異なる第2測定点と前記第1距離センサとの距離を測定し、測定値を第2距離として取得する第2距離取得ステップと、
前記第1距離と前記第2距離との差が所定の値以下であるか否かを判定する横誤差判定ステップと、
前記横誤差判定ステップにより、前記第1距離と前記第2距離との差が所定の値以下であると判定された場合、前記第1距離を測定したときの前記ロボットハンドの位置から前記第2距離を測定したときのロボットハンドの位置へのベクトルと略同一方向の軸を、前記ロボットハンドにより前記移動式カートに対する移動制御、および/または、姿勢制御を行うときの基準とする座標系であるカート座標系の横軸を設定するカート座標系横軸設定ステップと、
前記カート座標系に基づいて、ロボットハンドの制御を行うロボットハンド制御ステップと、
を実行する、
物品搬送処理システム。
【請求項2】
前記制御部は、
前記移動式カートに対して、前記ロボットハンドを所定の姿勢に姿勢制御した状態で、前記第1距離センサにより前記移動式カートの縦フレーム上の第3測定点と前記第1距離センサとの距離を測定し、測定値を第3距離として取得する第3距離取得ステップと、
前記ロボットハンドを前記第3距離取得ステップのときと同一の姿勢に姿勢制御した状態で、前記第1距離センサにより前記移動式カートの縦フレーム上の前記第3測定点は異なる第4測定点と前記第1距離センサとの距離を測定し、測定値を第4距離として取得する第4距離取得ステップと、
前記第3距離と前記第4距離との差が所定の値以下であるか否かを判定する縦誤差判定ステップと、
前記縦誤差判定ステップにより、前記第3距離と前記第4距離との差が所定の値以下であると判定された場合、前記第3距離を測定したときの前記ロボットハンドの位置から前記第4距離を測定したときのロボットハンドの位置へのベクトルと略同一方向の軸を、前記ロボットハンドにより前記移動式カートに対する移動制御、および/または、姿勢制御を行うときの基準とする座標系であるカート座標系の縦軸を設定するカート座標系横軸設定ステップと、
をさらに実行する、
請求項1に記載の物品搬送処理システム。
【請求項3】
前記制御部は、
前記カート座標系の横軸および縦軸の両方に略直交する方向の軸を前記カート座標系の奥行き軸として設定するカート座標系奥行き軸設定ステップをさらに実行する、
請求項1または2に記載の物品搬送処理システム。
【請求項4】
前記制御部は、
前記撮像部により、前記移動式カートの前記縦フレームまたは前記横フレーム上に貼付されている識別情報マークを撮像し、撮像画像を解析することで、前記識別情報マークに含まれる情報を取得する、
請求項1から3のいずれかに記載の物品搬送処理システム。
【請求項5】
前記制御部は、
前記移動式カートの前記縦フレームまたは前記横フレーム上に貼付されている識別情報マークの所定の位置を、前記カート座標系の原点に設定するカート座標系原点設定ステップをさらに実行する、
請求項1から4のいずれかに記載の物品搬送処理システム。
【請求項6】
前記制御部は、
前記移動式カートの所定の棚から物品を取り出す、あるいは、物品を載置する場合、前記ロボットハンドにより、前記所定の棚から物品を取り出す、あるいは、物品を載置することができる位置に、前記ロボットハンドの姿勢制御を行いつつ移動させる移動ステップと、
前記移動ステップで所定の位置に移動された前記ロボットハンドの前記撮像部により、前記所定の棚を支持する横フレームを撮像し、撮像画像を解析することで、前記横フレームの傾きを検知する傾き検知ステップと、
前記傾き検知ステップにより、前記横フレームの傾きが所定の値よりも大きい場合、当該傾きを補正するように前記ロボットハンドの姿勢制御を調節する姿勢調節ステップと、
をさらに実行する、
請求項1から5のいずれかに記載の物品搬送処理システム。
【請求項7】
前記移動式カートは、前記横フレームに物品を一列に載置したときの中心位置を特定するための基準マークを、物品を一列単位で配列する列ごとに有しており、
前記制御部は、前記基準マークに基づいて、前記ロボットハンドの姿勢制御を行いつつ移動させることで、前記ロボットハンド制御ステップを実行する、
請求項1から6のいずれかに記載の物品搬送処理システム。
【請求項8】
前記制御部は、
前記移動式カートの所定の棚から物品を取り出す場合、前記第2距離センサにより、前記物品までの距離を測定し、前記伸縮機構に取り付けた前記吸着機構が高速移動するように制御する区間である高速移動区間と、前記伸縮機構に取り付けた前記吸着機構の吸着部の吸着状態を監視しながら前記吸着機構が低速移動するように制御する区間である低速移動区間とを設定する区間設定ステップと、
前記区間設定ステップで設定された前記高速移動区間において、前記伸縮機構に取り付けた前記吸着機構が高速移動するように、前記伸縮機構を制御し、
前記区間設定ステップで設定された前記低速移動区間において、前記伸縮機構に取り付けた前記吸着機構の吸着部の吸着状態を監視しながら前記吸着機構が低速移動するように、前記伸縮機構を制御する伸縮機構制御ステップと、
をさらに実行する、
請求項1から7のいずれかに記載の物品搬送処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物品を棚等から取り出し、および/または、物品を棚等に載置する物品搬送装置を制御するための技術に関する。
【背景技術】
【0002】
近年、複数の物品を収納する棚を備える倉庫等において、効率良く、物品を棚から取り出し、または、物品を棚に載置するために、物品搬送用ロボットが開発されている。例えば、特許文献1には、平行リンク機構を利用して吸着部を前後に動かすことが可能なロボットハンドをロボットアームに連結した物品搬送用ロボットの開示がある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数の物品を収納する棚を備える倉庫等では、通常、棚が固定されており、上記先行技術文献に開示されているような物品搬送用ロボットを用いて、物品を棚から取り出し、または、物品を棚に載置することができる。つまり、棚が固定されている場合、物品搬送用ロボットにより物品が置かれている位置を予めある程度予測できるので、物品搬送用ロボットをどのように動作させれば、物品を棚から取り出し、または、物品を棚に載置することができるかを、比較的容易に知ることができ、その結果、物品搬送用ロボットにより、物品を棚(固定されている棚)から取り出し、または、物品を棚(固定されている棚)に載置することができる。
【0005】
しかしながら、棚が固定されておらず、どのような位置にどのような向きで棚が置かれるか予め知ることができない場合、物品搬送用ロボットに棚に置かれている物品を取り出す、あるいは、棚に物品を載置する作業を行わせるには、物品搬送用ロボットに対して、かなり複雑な制御処理を行うことが必要となる。
【0006】
例えば、カジノ等でキャッシュボックスを載置し運搬するカート(棚)は、移動式のカートであり、当該カートが所定の場所(例えば、キャッシュボックスを回収するための部屋)に運ばれ、当該場所で、カートに積まれたキャッシュボックスを回収する作業が行われる。このようなカート(移動式の棚)は、人によって運搬されることが多く、当該カートがキャッシュボックスを回収するための所定の場所に移動されたとき、当該カートの位置や向きがどのようになっているか不明である。このため、従来技術を用いて、当該カートからキャッシュボックスを回収する作業を効率良く行うことは困難である。
【0007】
また、カジノ等では、多くのメーカーによって製造された紙幣識別機のキャッシュボックスを運搬するためのカート(例えば、Box Cart、移動式の棚)が使用されている。さらに、一つのカジノにおいても、ゲーム機の設置台数は数十台から数千台程度であり、それにより使用されるカート(キャッシュボックスを運搬するためのカート)のサイズ、台数はまちまちで、多様な種類のカート(キャッシュボックスを運搬するためのカート)が使用されている。
【0008】
このような状況において、従来技術を用いて、多様な種類の移動式のカートからキャッシュボックスを回収する作業を効率良く行うことは困難である。
【0009】
そこで、本発明は、上記課題に鑑み、多様な種類の移動式のカートを用いる場合であっても、効率良く、物品を棚等(例えば、移動式カート)から取り出し、および/または、物品を棚等(例えば、移動式カート)に載置する物品搬送処理システムを実現することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、第1の発明は、横フレームおよび縦フレームを有する移動式カートから物品を取り出し、および/または、移動式カートに物品を搬送して載置するための物品搬送処理システムであって、物品を把持し搬送するためのロボットハンドと、ロボットハンドに対して姿勢制御および移動制御を行うための移動機構と、ロボットハンドおよび移動機構を制御する制御部と、を備える。
【0011】
ロボットハンドは、フレームと、フレームに設置された、伸縮機構、吸着機構、第1距離センサ、第2距離センサ、および、撮像部と、を備える。
【0012】
制御部は、
移動式カートに対して、ロボットハンドを所定の姿勢に姿勢制御した状態で、第1距離センサにより移動式カートの横フレーム上の第1測定点と第1距離センサとの距離を測定し、測定値を第1距離として取得する第1距離取得ステップと、
ロボットハンドを所定の姿勢と同一姿勢に姿勢制御した状態で、第1距離センサにより移動式カートの横フレーム上の第1測定点は異なる第2測定点と第1距離センサとの距離を測定し、測定値を第2距離として取得する第2距離取得ステップと、
第1距離と第2距離との差が所定の値以下であるか否かを判定する横誤差判定ステップと、
横誤差判定ステップにより、第1距離と第2距離との差が所定の値以下であると判定された場合、第1距離を測定したときのロボットハンドの位置から第2距離を測定したときのロボットハンドの位置へのベクトルと略同一方向の軸を、ロボットハンドにより移動式カートに対する移動制御、および/または、姿勢制御を行うときの基準とする座標系であるカート座標系の横軸を設定するカート座標系横軸設定ステップと、
カート座標系に基づいて、ロボットハンドの制御を行うロボットハンド制御ステップと、
を実行する。
【0013】
この物品搬送処理システムでは、移動式カートの横(横フレームの長手方向)と略一致するようにして取得した横軸を有するカート座標系により、ロボットハンドを移動させる制御、および、ロボットハンドの姿勢制御を行うことができるので、多種多様な移動式カートがどのような向きに置かれた場合であっても、効率良く、物品を棚等(例えば、移動式カート)から取り出し、および/または、物品を棚等(例えば、移動式カート)に載置することができる。
【0014】
第2の発明は、第1の発明であって、制御部は、
移動式カートに対して、ロボットハンドを所定の姿勢に姿勢制御した状態で、第1距離センサにより移動式カートの縦フレーム上の第3測定点と第1距離センサとの距離を測定し、測定値を第3距離として取得する第3距離取得ステップと、
ロボットハンドを第3距離取得ステップのときと同一の姿勢に姿勢制御した状態で、第1距離センサにより移動式カートの縦フレーム上の第3測定点は異なる第4測定点と第1距離センサとの距離を測定し、測定値を第4距離として取得する第4距離取得ステップと、
第3距離と第4距離との差が所定の値以下であるか否かを判定する縦誤差判定ステップと、
縦誤差判定ステップにより、第3距離と第4距離との差が所定の値以下であると判定された場合、第3距離を測定したときのロボットハンドの位置から第4距離を測定したときのロボットハンドの位置へのベクトルと略同一方向の軸を、ロボットハンドにより移動式カートに対する移動制御、および/または、姿勢制御を行うときの基準とする座標系であるカート座標系の縦軸を設定するカート座標系横軸設定ステップと、
をさらに実行する。
【0015】
この物品搬送処理システムでは、移動式カートの横(横フレームの長手方向)、縦(縦フレームの長手方向)と略一致するようにして取得した横軸、縦軸を有するカート座標系により、ロボットハンドを移動させる制御、および、ロボットハンドの姿勢制御を行うことができるので、多種多様な移動式カートがどのような向きに置かれた場合であっても、効率良く、物品を棚等(例えば、移動式カート)から取り出し、および/または、物品を棚等(例えば、移動式カート)に載置することができる。
【0016】
第3の発明は、第1または第2の発明であって、制御部は、カート座標系の横軸および縦軸の両方に略直交する方向の軸をカート座標系の奥行き軸として設定するカート座標系奥行き軸設定ステップをさらに実行する。
【0017】
この物品搬送処理システムでは、移動式カートの横(横フレームの長手方向)、縦(縦フレームの長手方向)、および、奥行き(横フレームの長手方向および縦フレームの長手方向の両方と略直交する方向)と略一致するようにして取得した横軸(例えば、y軸)、縦軸(例えば、z軸)、奥行き軸(例えば、x軸)を有するカート座標系により、ロボットハンドを移動させる制御、および、ロボットハンドの姿勢制御を行うことができるので、多種多様な移動式カートがどのような向きに置かれた場合であっても、効率良く、物品を棚等(例えば、移動式カート)から取り出し、および/または、物品を棚等(例えば、移動式カート)に載置することができる。
【0018】
第4の発明は、第1から第3のいずれかの発明であって、制御部は、撮像部により、移動式カートの縦フレームまたは横フレーム上に貼付されている識別情報マークを撮像し、撮像画像を解析することで、識別情報マークに含まれる情報を取得する。
【0019】
これにより、この物品搬送処理システムでは、識別情報マークにより、移動式カートを識別することができ、多種多様な移動式カートを用いた場合であっても、物品搬送処理を適切に実行することができる。
【0020】
第5の発明は、第1から第3のいずれかの発明であって、制御部は、移動式カートの縦フレームまたは横フレーム上に貼付されている識別情報マークの所定の位置を、カート座標系の原点に設定するカート座標系原点設定ステップをさらに実行する。
【0021】
これにより、この物品搬送処理システムでは、識別情報マークの所定の位置をカート座標系の原点に設定することができる。
【0022】
第6の発明は、第1から第5のいずれかの発明であって、制御部は、
移動式カートの所定の棚から物品を取り出す、あるいは、物品を載置する場合、ロボットハンドにより、所定の棚から物品を取り出す、あるいは、物品を載置することができる位置に、ロボットハンドの姿勢制御を行いつつ移動させる移動ステップと、
移動ステップで所定の位置に移動されたロボットハンドの撮像部により、所定の棚を支持する横フレームを撮像し、撮像画像を解析することで、横フレームの傾きを検知する傾き検知ステップと、
傾き検知ステップにより、横フレームの傾きが所定の値よりも大きい場合、当該傾きを補正するようにロボットハンドの姿勢制御を調節する姿勢調節ステップと、
をさらに実行する。
【0023】
これにより、移動式カートの所定の棚が歪んでいる場合であっても、ロボットハンドをそれに合わせて姿勢制御することで、移動式カートの所定の棚から物品を取り出す、あるいは、物品を載置する処理を適切に行うことができる。
【0024】
第7の発明は、第1から第6のいずれかの発明であって、移動式カートは、横フレームに物品を一列に載置したときの中心位置を特定するための基準マークを、物品を一列単位で配列する列ごとに有している。
【0025】
そして、制御部は、基準マークに基づいて、ロボットハンドの姿勢制御を行いつつ移動させることで、前記ロボットハンド制御ステップを実行する。
【0026】
これにより、移動式カートは、横フレームに付された基準マークに基づいて、ロボットハンドの移動制御、姿勢制御、姿勢制御の微調整等を行うことができる。
【0027】
第8の発明は、第1から第7のいずれかの発明であって、制御部は、
移動式カートの所定の棚から物品を取り出す場合、第2距離センサにより、物品までの距離を測定し、伸縮機構に取り付けた吸着機構が高速移動するように制御する区間である高速移動区間と、伸縮機構に取り付けた吸着機構の吸着部の吸着状態を監視しながら吸着機構が低速移動するように制御する区間である低速移動区間とを設定する区間設定ステップと、
区間設定ステップで設定された高速移動区間において、伸縮機構に取り付けた吸着機構が高速移動するように、伸縮機構を制御し、
区間設定ステップで設定された低速移動区間において、伸縮機構に取り付けた吸着機構の吸着部の吸着状態を監視しながら吸着機構が低速移動するように、伸縮機構を制御する伸縮機構制御ステップと、
をさらに実行する。
【0028】
これにより、この物品搬送処理システムでは、伸縮機構に取り付けた吸着機構の吸着部の移動制御を、高速移動区間において、高速に移動させつつ、低速移動区間において、吸着機構の吸着部の吸着状態を監視しながら吸着機構を移動させることができる。その結果、この物品搬送処理システムでは、物品までに吸着機構を移動させるトータルの時間を短くすることができるとともに、物品にたいする吸着状態を確実に検知することができる。
【発明の効果】
【0029】
本発明によれば、多様な種類の移動式のカートを用いる場合であっても、効率良く、物品を棚等(例えば、移動式カート)から取り出し、および/または、物品を棚等(例えば、移動式カート)に載置する物品搬送処理システムを実現することができる。
【図面の簡単な説明】
【0030】
【
図1】第1実施形態に係る物品搬送処理システム1000の概略構成を示す図。
【
図2】第1実施形態に係る物品搬送処理システム1000の機能的構成を示す図。
【
図3】第1実施形態に係る移動機構Rbt_arm、および、ロボットハンド100の概略構成を示す図であり、移動機構Rbt_armの各リンクの回転軸、および、ロボットハンド100の姿勢制御のための回転軸(ヨー軸、ピッチ軸、ロール軸に相当する3つの軸)を示した図。
【
図4】第1実施形態に係るロボットハンド100の概略構成を示す図。
【
図5】第1実施形態に係るロボットハンド100の概略構成を示す図であり、ロボットハンド100の姿勢制御について説明するための図。
【
図6】第1実施形態に係るロボットハンド100の概略構成を示す図(伸縮機構11、吸着機構12を抽出して示した図)。
【
図7】第1実施形態に係るロボットハンド100の第1距離センサ13の概略構成を示す図。
【
図8】第1実施形態に係るロボットハンド100の概略構成を示す図であり、伸縮機構11の伸縮方向を示す線line.absorber、第1距離センサ13の測定基準点と測定点とを結ぶ直線line.range―snsr1、第2距離センサ14の測定基準点と測定点とを結ぶ直線line.range―snsr2、および、撮像部15の光軸を示す直線line.cameraと、それらに直交する仮想平面V_plane1(y
rh-z
rh平面と平行な平面)とを示した図。
【
図9】第1実施形態に係るロボットハンド100の第2距離センサ14の概略構成を示す図。
【
図10】第1実施形態に係る移動式カート200の概略構成を示す図。
【
図11】第1実施形態に係る移動式カート200の概略構成を示す図。
【
図12】物品搬送処理システム1000で実行される処理のフローチャート。
【
図13】物品搬送処理システム1000で実行される処理のフローチャート。
【
図14】物品搬送処理システム1000で実行される処理を説明するための図。
【
図15】物品搬送処理システム1000で実行される処理を説明するための図。
【
図16】物品搬送処理システム1000で実行される処理を説明するための図。
【
図17】物品搬送処理システム1000で実行される処理を説明するための図。
【
図18】物品搬送処理システム1000で実行される処理を説明するための図。
【
図19】物品搬送処理システム1000で実行される処理を説明するための図。
【
図20】物品搬送処理システム1000で実行される処理を説明するための図。
【
図21】物品搬送処理システム1000で実行される処理を説明するための図。
【
図22】物品搬送処理システム1000で実行される処理を説明するための図。
【
図23】物品搬送処理システム1000で実行される処理を説明するための図。
【
図24】物品搬送処理システム1000で実行される処理を説明するための図。
【
図25】物品搬送処理システム1000で実行される処理を説明するための図。
【
図26】物品搬送処理システム1000で実行される処理を説明するための図。
【
図27】物品搬送処理システム1000で実行される処理を説明するための図。
【
図28】物品搬送処理システム1000で実行される処理を説明するための図。
【発明を実施するための形態】
【0031】
[第1実施形態]
第1実施形態について、図面を参照しながら、以下、説明する。
【0032】
<1.1:物品搬送処理システムの構成>
図1は、第1実施形態に係る物品搬送処理システム1000の概略構成を示す図である。
【0033】
図2は、第1実施形態に係る物品搬送処理システム1000の機能的構成を示す図である。
【0034】
図3は、第1実施形態に係る移動機構Rbt_arm、および、ロボットハンド100の概略構成を示す図であり、移動機構Rbt_armの各リンクの回転軸、および、ロボットハンド100の姿勢制御のための回転軸(ヨー軸、ピッチ軸、ロール軸に相当する3つの軸)を示した図である。
【0035】
図4は、第1実施形態に係るロボットハンド100の概略構成を示す図である。具体的には、
図4(a)は、ロボットハンド100の概略構成を示す図(斜視図)であり、
図4(b)は、ロボットハンド100の載置部10Trの概略構成を示す図(斜視図)である。また、
図4(c)は、ロボットハンド100において、伸縮機構11および吸着機構12を省略して示した図(斜視図)である。また、
図4(a)~(c)に示すように、前方向、後方向、上方向、下方向、右方向、および、左方向を規定するものとする。
【0036】
図5は、第1実施形態に係るロボットハンド100の概略構成を示す図であり、ロボットハンド100の姿勢制御について説明するための図である。また、
図5(a)~(c)に示すように、前方向、後方向、上方向、下方向、右方向、および、左方向を規定するものとする。
【0037】
図6は、第1実施形態に係るロボットハンド100の概略構成を示す図(伸縮機構11、吸着機構12を抽出して示した図)である。また、
図6の上図、下図に示すように、前方向、後方向、上方向、および、下方向を規定するものとする。
【0038】
図7は、第1実施形態に係るロボットハンド100の第1距離センサ13の概略構成を示す図である。
【0039】
図8は、第1実施形態に係るロボットハンド100の概略構成を示す図であり、伸縮機構11の伸縮方向を示す線line.absorber、第1距離センサ13の測定基準点と測定点とを結ぶ直線line.range―snsr1、第2距離センサ14の測定基準点と測定点とを結ぶ直線line.range―snsr2、および、撮像部15の光軸を示す直線line.cameraと、それらに直交する仮想平面V_plane1(y
rh-z
rh平面と平行な平面)とを示した図である。
【0040】
図9は、第1実施形態に係るロボットハンド100の第2距離センサ14の概略構成を示す図である。
【0041】
図10は、第1実施形態に係る移動式カート200の概略構成を示す図である。なお、移動式カート200についての方向については、
図10に示すように、前方向、後方向、上方向、下方向、奥方向、および、手前方向を規定するものとする。
【0042】
図11は、第1実施形態に係る移動式カート200の概略構成を示す図である。なお、移動式カート200についての方向については、
図11に示すように、前方向、後方向、上方向、下方向、奥方向、および、手前方向を規定するものとする。
【0043】
物品搬送処理システム1000は、例えば、移動式の棚(例えば、移動式カート)から物品を取り出し、および/または、物品を載置する処理を実行することができるシステムである。物品搬送処理システム1000は、例えば、
図1、
図2に示すように、移動機構Rbt_arm(例えば、ロボットアーム、多関節ロボットアーム)と、ロボットハンド100と、移動機構Rbt_armおよびロボットハンド100を制御する制御装置Dev1とを備える。そして、物品搬送処理システム1000は、移動式カート200の棚に載置された物品(例えば、キャッシュボックス)をロボットハンド100により取り出し、および/または、物品(例えば、キャッシュボックス)をロボットハンド100により運搬し、移動式カート200の棚に載置することができる。
【0044】
移動機構Rbt_armは、ロボットハンド100を、3次元空間の所定の領域において、自由に移動させるための移動機構である。移動機構Rbt_armは、例えば、多関節のロボットアームを用いて構成される。移動機構Rbt_armは、
図3に示すように、例えば、6自由度の多関節のロボットアームを用いて構成される。移動機構Rbt_armは、床FLRに設置された土台B1の上に設置される。移動機構Rbt_armは、
図3に示すように、ベースRbt_baseと、第1リンクRbt_L1と、第2リンクRbt_L2と、第3リンクRbt_L3と、第4リンクRbt_L4と、第5リンクRbt_L5と、第6リンクRbt_L6とを備える。
【0045】
第1リンクRbt_L1は、ベースRbt_baseに、軸r_ax1を回転軸として、軸r_ax1周りに回転可能(回転角はθ1)に接続されている。また、第1リンクRbt_L1は、軸r_ax2を回転軸として、軸r_ax2周りに第2リンクRbt_L2が回転可能となるように、第2リンクRbt_L2と接続されている。
【0046】
第2リンクRbt_L2は、第1リンクRbt_L1に、軸r_ax2を回転軸として、軸r_ax2周りに回転可能(回転角はθ2)に接続されている。また、第2リンクRbt_L2は、第3リンクRbt_L3に接続されている。
【0047】
第3リンクRbt_L3は、第2リンクRbt_L2に接続されている。また、第3リンクRbt_L3は、軸r_ax3を回転軸として、軸r_ax3周りに第4リンクRbt_L4が回転可能となるように、第4リンクRbt_L4と接続されている。
【0048】
第4リンクRbt_L4は、第3リンクRbt_L3に、軸r_ax3を回転軸として、軸r_ax3周りに回転可能(回転角はθ3)に接続されている。また、第4リンクRbt_L4は、軸r_ax4を回転軸として、軸r_ax4周りに第5リンクRbt_L5が回転可能となるように、第5リンクRbt_L5と接続されている。
【0049】
第5リンクRbt_L5は、第4リンクRbt_L4に、軸r_ax4を回転軸として、軸r_ax4周りに回転可能(回転角はθ4)に接続されている。また、第5リンクRbt_L5は、軸r_ax5を回転軸として、軸r_ax5周りに第6リンクRbt_L6が回転可能となるように、第5リンクRbt_L6と接続されている。
【0050】
第6リンクRbt_L6は、第5リンクRbt_L5に、軸r_ax5を回転軸として、軸r_ax5周りに回転可能(回転角はθ5)に接続されている。また、第6リンクRbt_L6は、その先端部に、ロボットハンド100を取り付ける機構(これを「ロボットハンド取り付け機構」という)を有している。
【0051】
移動機構Rbt_armは、制御部1からの指令(各関節(各リンク)を所定の角度回転させるための指令(トルク指令))に基づいて、各関節(各リンク)をアクチュエータ(不図示)により駆動し、移動機構Rbt_armの先端に取り付けられたロボットハンド100を、3次元空間の所定の位置に移動させる。
【0052】
ロボットハンド100は、移動機構Rbt_armの先端部に、姿勢制御可能に取り付けられ、例えば、移動式カート200の棚に置かれている物品(例えば、キャッシュボックス)を、移動式カート200から取り出し、所定の場所へ運搬する、および/または、物品を移動式カート200の所定の位置(所定の棚の所定の位置)に置くための機構である。
【0053】
ロボットハンド100は、
図4(a)に示すように、平板状の天板10Tと、平板状の底板10Bと、天板10Tと底板10Bとの間に配置され、天板10Tおよび底板10Bを支持する支柱として機能する側面板10S1および10S2とを備える。また、ロボットハンド100は、
図4(a)、(b)に示すように、第1側面L字板10L1と、第2側面L字板10L1と、第1側面L字板10L1と第2側面L字板10L2との間に設置される載置用平板10LTとを含む載置部10Trを備える。また、ロボットハンド100は、
図2、
図4に示すように、伸縮機構11と、吸着機構12と、第1距離センサ13と、第2距離センサ14と、撮像部15と、を備える。
【0054】
なお、ロボットハンド100のフレーム10Frは、主に、天板10Tと、底板10Bと、側面板10S1および10S2と、第1側面L字板10L1と、第2側面L字板10L1とから構成されているものとする。
【0055】
天板10Tは、略長方形の平板であり、その上面にロボットハンド接続機構JT10を有しており、ロボットハンド接続機構JT10が、移動機構Rbt_armの先端部に回動可能に(姿勢制御可能に)取り付けられる。また、天板10Tの下面には、側面板10S1および10S2と、第1側面L字板10L1と、第2側面L字板10L1とが取り付けられている。
【0056】
底板10Bは、その上面に側面板10S1および10S2が取り付けられている。また、底板10Bは、その下面に撮像部15が取り付けられている。また、底板10Bの前方の端部の下面には、載置用平板10LTが取り付けられている。
【0057】
側面板10S1および10S2は、
図4(a)に示すように、それぞれ、一端が天板10Tの下面に、他端が底板10Bの上面に取り付けられている。そして、側面板10S1および10S2は、略平行となるように互いに対向する位置に配置されており、かつ、
図4(b)に示すように、載置用平板10LTを挟むように配置されている。
【0058】
そして、ロボットハンド100のフレーム10Frは、
図5(b)に示すように、移動機構Rbt_armの回転軸r_ax
4、回転軸r_ax
5、および、回転軸r_ax
6の交点を原点Org_rbh_oriとして、互いに直交する3つの正規直交ベクトル{x
rh,y
rh,z
rh}で規定される姿勢決定用座標系により、その姿勢が決定されるものとする。ロボットハンド100のフレーム10Frにおいて、天板10Tの上面は、
図5(b)に示すように、x
rh-y
rh平面と略平行であり、かつ、y
rh-z
rh平面と略直交している。そして、天板10Tの上面の長辺とx
rh軸とが略平行であるものとする。
【0059】
なお、ロボットハンド100(のフレーム10Fr)の姿勢制御は、以下のように実行される。すなわち、移動機構Rbt_armにおいて、第5リンクRbt_L5を回転軸r_ax
4回りに角度θ
4だけ回転させ、第6リンクRbt_L6を回転軸r_ax
5回りに角度θ
5だけ回転させ、ロボットハンド100を回転軸r_ax
6回りに角度θ
6だけ回転させることで、ロボットハンド100(のフレーム10Fr)を任意の姿勢にすることができる。つまり、ロボットハンド100は、フレーム10Frを一体として、3つの回転軸r_ax
4、r_ax
5およびr_ax
6の周りを所定の角度回転させることにより、所定の姿勢(所定の向き)となるように制御される(
図5(b)を参照)。
【0060】
伸縮機構11は、ロボットハンド100のフレーム10Frの内部に設置されており、その先端部を所定の方向に移動させることができる。伸縮機構11は、例えば、マジックハンド等に利用される伸縮可能なレージトング式機構により実現される。伸縮機構11は、その後端部がフレーム10Frの後端部(例えば、天板10Tの下面の後端部)に固定され、伸縮機構11本体が所定の方向に伸張することで、伸縮機構11の先端部が所定の方向に移動する。伸縮機構は、例えば、特願2021-039180号に開示されている技術、構成を用いて実現されるものであってもよい。
【0061】
伸縮機構11の先端部には、
図6に示すように、吸着機構12を固定するための孔が設けられた固定用平板11Tが取り付けられており、固定用平板11Tの孔に吸着機構12が貫通する状態で取り付けられている。そして、伸縮機構11本体が所定の方向に伸張することで、伸縮機構11の先端部に取り付けられた吸着機構12の吸着部12Sが所定の方向(
図6では、線line.absorberで示した方向)に移動する。そして、伸縮機構11が伸縮するときの先端部の移動方向(
図6では、線line.absorberで示した方向)が、ロボットハンド100の姿勢(ロボットハンド100のフレーム10Frの向き)を特定する姿勢決定用座標系(当該座標系の正規直交ベクトルは{x
rh,y
rh,z
rh}(
図5を参照))のy
rh-z
rh平面の法線と略同一の方向となるように、伸縮機構11は構成されている。
【0062】
例えば、
図6に示すように、伸縮機構11が複数のリンクからなるレージトング式機構である場合、1番後側にあるリンクの一端にガイドGD1に沿って移動可能に取り付けれたスライダーSH1と、当該リンクの他端にガイドGD2に沿って移動可能に取り付けられたスライダーSH2とを所定の方向に移動させることで、伸縮機構11を伸張させる、または、収縮させることができる。
図6の場合、
図6の上図に示した矢印の方向にスライダーSH1およびスライダーSH2を、それぞれ、ガイドGD1およびGD2に沿って移動させることで、伸縮機構11を伸張させることができ、
図6の下図に示した矢印の方向にスライダーSH1およびスライダーSH2を、それぞれ、ガイドGD1およびGD2に沿って移動させることで、伸縮機構11を収縮させることができる。
【0063】
そして、
図6に示すように、伸縮機構11が伸縮するときの先端部の移動方向(
図6では、線line.absorberで示した方向)が、ロボットハンド100の姿勢(ロボットハンド100のフレーム10Frの向き)を特定する姿勢決定用座標系(当該座標系の正規直交ベクトルは{x
rh,y
rh,z
rh}(
図5を参照))のy
rh-z
rh平面の法線と略同一の方向(
図6の前後方向と略同一方向)となる。
【0064】
吸着機構12は、吸着用管12Tと、吸着部12Sとを備え、吸着部12Sにより棚等に置かれている物品等を吸着するための機構である。吸着機構12は、
図4~
図6に示すように、固定用平板11Tに取り付けられており、伸縮機構11が伸縮することにより、その位置が移動する。また、吸着機構12は、吸着用管12Tが可撓チューブTube1と接続されており、伸縮機構11が伸縮し、吸着部12Sの位置が移動した場合においても、吸着部12S、吸着用管12T、および、可撓チューブTube1を介して、吸着するための空気の流れを制御することができる。吸着機構12は、制御装置Dev1の制御部1により制御される。
【0065】
なお、吸着機構12は、吸着部12Sが、伸縮機構11が伸縮するときに、ロボットハンド100の姿勢(ロボットハンド100のフレーム10Frの向き)を特定する姿勢決定用座標系(当該座標系の正規直交ベクトルは{x
rh,y
rh,z
rh}(
図5を参照))のy
rh-z
rh平面の法線と略同一の方向(
図6の前後方向と略同一方向)に移動するように構成されている。
【0066】
第1距離センサ13は、ロボットハンド100と所定の点(例えば、略平面上の点(例えば、移動式カート200のフレーム上の点))との距離を測定するセンサであり、例えば、
図4に示すように、第2側面L字板10L1の側方の下側に設置される。第1距離センサ13は、例えば、近距離用の距離センサであり、
図7に示すように、CIS方式距離センサ(CIS:Contact Image Sensor)により実現される。第1距離センサ13は、
図7に示すように、レーザー光の照射点P_txと受光センサ13_CISとが同一平面上(
図7の仮想平面V_plane_CIS上)にあり、照射点P_txから測定点P_msrに向けて照射されたレーザー光が測定点P_msrで反射し、反射光が到達した受光センサ13_CIS上の位置により、距離を測定する。具体的には、
図7に示すように、測定基準点P_ref(
図7の仮想平面V_plane_CIS上の点P_ref)と測定点P_msrとの距離d_msrは、第1距離センサ13のレーザー光の照射角度(
図7の仮想平面V_plane_CISと照射されるレーザー光とのなす角度)をθ1とし、照射点P_txと受光点P_rxとの距離をd1とすると、
d_msr=0.5×d1×tan(θ1)
により算出される。第1距離センサ13は、制御装置Dev1の制御部1により制御される。
【0067】
なお、第1距離センサ13は、測定基準点P_refと測定点P_msrとを結ぶ直線を直線line.range―snsr1とすると、
図8に示すように、直線line.range―snsr1が、ロボットハンド100の姿勢(ロボットハンド100のフレーム10Frの向き)を特定する姿勢決定用座標系(当該座標系の正規直交ベクトルは{x
rh,y
rh,z
rh}(
図5を参照))のy
rh-z
rh平面の法線と略同一の方向となるように、構成されており、かつ、フレーム10Frの所定の位置に配置されている。
図8(b)、(c)に示した仮想平面V_plane1は、姿勢決定用座標系(当該座標系の正規直交ベクトルは{x
rh,y
rh,z
rh}(
図5を参照))のy
rh-z
rh平面と平行な平面であり、直線line.range―snsr1は、仮想平面V_plane1の法線と略一致する。
【0068】
第2距離センサ14は、ロボットハンド100と所定の点(例えば、略平面上の点(例えば、移動式カート200の棚に置かれた物品の表面上の点))との距離を測定するセンサであり、例えば、
図4(c)に示すように、フレーム10Fr内の所定の位置(例えば、伸縮機構11の側方であって、フレーム10Frの高さの真ん中くらいの高さの位置)に設置される。第2距離センサ14は、例えば、長距離用の距離センサであり、
図9に示すように、TOF方式距離センサ(TOF:Time Of Flight)により実現される。第12距離センサ14は、
図9に示すように、レーザー光の照射点P_txと受光点P_rxとが同一平面上(
図9の仮想平面V_plane_TOF上)にあり、照射点P_txから測定点P_msrに向けて照射されたレーザー光が測定点P_msrで反射し、反射光が受光点P_rxに到達するまでの時間により、距離を測定する。具体的には、
図9に示すように、測定基準点P_ref(
図9の仮想平面V_plane_TOF上の点P_ref)と測定点P_msrとの距離d_msrは、第2距離センサ14のレーザー光の照射角度(
図9の仮想平面V_plane_TOFと照射されるレーザー光とのなす角度)をθ2とし、レーザー光の飛行距離(点P_tx、点P_msr、点P_rx間の距離)をd_tofとすると、
d_msr=0.5×d_tof×sin(θ2)
により算出される。第2距離センサ14は、制御装置Dev1の制御部1により制御される。
【0069】
なお、第2距離センサ14は、測定基準点P_refと測定点P_msrとを結ぶ直線を直線line.range―snsr2とすると、
図8に示すように、直線line.range―snsr1が、ロボットハンド100の姿勢(ロボットハンド100のフレーム10Frの向き)を特定する姿勢決定用座標系(当該座標系の正規直交ベクトルは{x
rh,y
rh,z
rh}(
図5を参照))のy
rh-z
rh平面の法線と略同一の方向となるように、構成されており、かつ、フレーム10Frの所定の位置に配置されている。
図8(b)、(c)に示した仮想平面V_plane1は、姿勢決定用座標系(当該座標系の正規直交ベクトルは{x
rh,y
rh,z
rh}(
図5を参照))のy
rh-z
rh平面と平行な平面であり、直線line.range―snsr2は、仮想平面V_plane1の法線と略一致する。
【0070】
撮像部15は、例えば、1または複数のレンズからなる光学系、CMOSイメージセンサ、CCDイメージセンサ等を搭載した小型カメラであって、ロボットハンド100の底板10Bの下側の表面(例えば、底板10Bの下側の表面の幅方向の略中央位置)に取り付けられ、ロボットハンド100の前方を撮像する。撮像部15は、制御装置Dev1の制御部1により制御される。
【0071】
なお、撮像部15は、
図8に示すように、光学系の光軸を示す直線を直線line.cameraとすると、
図8に示すように、直線line.cameraが、ロボットハンド100の姿勢(ロボットハンド100のフレーム10Frの向き)を特定する姿勢決定用座標系(当該座標系の正規直交ベクトルは{x
rh,y
rh,z
rh}(
図5を参照))のy
rh-z
rh平面の法線と略同一の方向となるように、構成されており、かつ、フレーム10Frの所定の位置に配置されている。
図8(b)、(c)に示した仮想平面V_plane1は、姿勢決定用座標系(当該座標系の正規直交ベクトルは{x
rh,y
rh,z
rh}(
図5を参照))のy
rh-z
rh平面と平行な平面であり、直線line.cameraは、仮想平面V_plane1の法線と略一致する。
【0072】
図8に示すように、ロボットハンド100がどのような姿勢となっても(どのように姿勢制御されても)、直線line.absorber、直線line.range―snsr1、直線line.range―snsr2、および、直線line.cameraは、姿勢決定用座標系(当該座標系の正規直交ベクトルは{x
rh,y
rh,z
rh}(
図5を参照))のy
rh-z
rh平面(および仮想平面V_plane1)の法線と略一致する位置関係を常に維持されるように、伸縮機構11、第1距離センサ13、第2距離センサ14、および、撮像部15は、構成、配置される。
【0073】
制御装置Dev1は、
図2に示すように、制御部1と、通信インターフェースIF1と、記憶部Mem1とを備える。
【0074】
制御部1は、移動機構Rbt_arm、伸縮機構11、吸着機構12、第1距離センサ13、第2距離センサ14、および、撮像部15と接続されており、移動機構Rbt_arm、伸縮機構11、吸着機構12、第1距離センサ13、第2距離センサ14、および、撮像部15を制御する。また、制御部1は、ロボット座標系とカート座標系との変換処理を行う(詳細については後述)。
【0075】
通信インターフェースIF1は、外部の装置(不図示)と有線または無線により通信を行うための通信インターフェースである。
【0076】
記憶部Mem1は、データを記憶するためのメモリであり、記憶部Mem1に記憶されているデータは、制御部1から読み出すことが可能であり、また、制御部1により、所定のデータを記憶部Mem1に書き込むことが可能である。
【0077】
移動式カート200は、例えば、
図1、
図10に示すように、物品(例えば、キャッシュボックス)を載置できる複数の棚を有しており、複数のフレームにより、各棚が支持されている。移動式カート200は、例えば、
図10に示すように、縦方向に設置されたフレーム20v1、20v2、20v3、20v4、20v5、および、20v6と、水平方向(横方向)に設置されたフレーム20h1、20h2、20h3、20h4、20h5、20h6、および、20h7とを有しており、上記フレームにより、載置用平板(棚)20PL1、20PL2、20PL3、20PL4、20PL5、および、20PL6が支持されるように配置されている。なお、載置用平板(棚)20PL1~20PL6は、それぞれ平行となり、かつ、等間隔となるように配置されている。
【0078】
また、移動式カート200は、例えば、
図1、
図10に示すように、4つの車輪20h1、20h2、20h3、および、20h4(車輪20h4は、フレーム20v6の下方に設置されているが、
図1、
図10において、死角にあり、不図示。)を有しており、例えば、人手により移動可能である。
【0079】
また、移動式カート200は、例えば、
図1、
図10に示すように、縦フレーム20v2と横フレーム20h6との交差する位置付近に、移動式カートの識別情報を含む識別情報マークmk1が貼付されている。なお、識別情報マークは、移動式カート200の反対側(例えば、縦フレーム20v5と横フレーム20h6とが交差する位置付近)に貼付されていてもよい。
【0080】
また、移動式カート200には、各棚(各載置用平板上)に、整列して、物品(例えば、キャッシュボックス)が載置される。
図11に、移動式カート200の最上段の棚である載置用平板20PL1に、キャッシュボックスが整列して載置されている様子を示している。
図11の上図は、移動式カート200の最上段の棚である載置用平板20PL1を上方から見た図であり、載置用平板20PL1上に載置されているキャッシュボックスを矩形で示している。
図11の下図は、移動式カート200の最上段の棚である載置用平板20PL1を正面から見た図である。
【0081】
なお、
図11において、1点鎖線で示した位置の一部または全部にガイド(このガイドとして、例えば、特願2021-039181号に開示されている移動棚に設けられているガイド(案内板)を採用してもよい)を設け、キャッシュボックス(あるいは、略長方形の物品)の配置を規制し、キャッシュボックスが一列に整列されて載置用平板20PL1に載置されるようにしてもよい。
【0082】
なお、上記では、移動式カート200の最上段の棚である載置用平板20PL1について説明したが、他の載置用平板20PL2~20PL6についても、上記同様である。
【0083】
<1.2:物品搬送処理システムの動作>
上記のように構成された物品搬送処理システム1000の動作について、図面を参照しながら説明する。
【0084】
図12、
図13は、物品搬送処理システム1000で実行される処理のフローチャートである。
【0085】
図14~
図24は、物品搬送処理システム1000で実行される処理を説明するための図である。なお、
図14~
図16、
図18、
図20、
図21において、移動機構Rbt_arm(ロボットアームRbt_arm)は図示を省略している。
【0086】
以下では、
図12、
図13のフローチャートに基づいて、物品搬送処理システム1000の動作を説明する。
【0087】
(ステップS1):
ステップS1では、カート座標系設定処理が実行される。
【0088】
(ステップS11):
ステップS11において、カート200の概略位置を検出する処理が実行される。例えば、人手により、移動式カート200が運搬され、
図14に示す状態(向き)で置かれた場合について、説明する。制御装置Dev1の制御部1は、移動機構Rbt_armの先に接続されているロボットハンド100の撮像部15や各種センサにより、移動式カート200の概略位置を取得する処理を行う。
【0089】
(ステップS12):
ステップS12において、制御部1は、移動機構Rbt_armを駆動し、撮像部15により、移動式カート200の識別情報マークmk1の詳細を撮像できる位置(識別情報マークmk1の近傍領域)に、ロボットハンド100を移動させる。なお、このとき、制御部1は、撮像部15の光学系の光軸(直線line.camera)が、移動式カート200の識別情報マークmk1を貼付しているフレームの表面と略直交するように、ロボットハンド100の姿勢制御を行う(例えば、識別情報マークmk1の撮像画像の歪み度合いを考慮して、姿勢制御を行う)。
【0090】
(ステップS13):
ステップS13において、カート座標系の横軸(カート座標系y軸)の設定処理が実行される。なお、「カート座標系」とは、移動式カート200の状態(向き)に合わせて設定される座標系である。
【0091】
制御部1は、移動機構Rbt_armを駆動し、識別情報マークmk1を略中心として、移動式カート200の横フレーム20h6上の異なる2つの点(例えば、奥側の点および手前側の点)を距離測定点として、ロボットハンド100の第1距離センサ13により距離測定ができる位置にロボットハンド100を移動させる。具体的処理について、以下説明する。
【0092】
まず、
図15に示すように、制御部1は、移動機構Rbt_armを駆動し、横フレーム20h6上の識別情報マークよりも奥側の点を距離測定点として、ロボットハンド100の第1距離センサ13により距離測定ができる位置にロボットハンド100を姿勢制御しつつ移動させる。つまり、
図15に示すように、ロボットハンド100の第1距離センサ13から照射されたレーザー光が横フレーム20h6上の距離測定点で反射し、当該反射光が第1距離センサ13で受光され、第1距離センサ13の測定基準点と距離測定点との距離が測定できる位置にロボットハンド100を姿勢制御しつつ移動させる。そして、制御部1は、第1距離センサ13により、測定基準点と距離測定点(移動式カート200の横フレーム20h6)との距離を測定する。なお、ロボットハンド100の第1距離センサ13により、測定基準点と距離測定点との距離を測定できない場合、制御部1は、ロボットハンド100の姿勢を変更し、第1距離センサ13により、測定基準点と距離測定点との距離を測定できる姿勢とする制御(姿勢制御)を行うようにすればよい。
【0093】
第1距離センサ13により測定された、測定基準点と距離測定点との距離の測定値を距離dm1とし、当該測定値を取得したときのロボットハンド100の姿勢(向き)をベクトルvec_xrh(ベクトルvec_xrhは、ロボットハンド100の姿勢決定用座標系のxrh軸と同一方向のベクトルであるものとする)およびvec_zrh(ベクトルvec_zrhは、ロボットハンド100の姿勢決定用座標系のzrh軸と同一方向のベクトルであるものとする)を用いてOri(vec_xrh,vec_zrh)と表記する(以下同様)。なお、姿勢Ori(vec_xrh,vec_zrh)は、ロボットハンド100のxrh軸(の正方向)がベクトルvec_xrhと一致し、かつ、ロボットハンド100のzrh軸(の正方向)がベクトルvec_zrhと一致する姿勢(向き)であることを示す。
【0094】
次に、制御部1は、移動機構Rbt_armを駆動し、横フレーム20h6上の識別情報マークよりも手前側の点を距離測定点として、ロボットハンド100の第1距離センサ13により距離測定ができる位置にロボットハンド100を姿勢制御しつつ(姿勢Ori(vec_xrh,vec_zrh)を維持しつつ)移動させる。
【0095】
つまり、制御部1は、
図16に示すように、ロボットハンド100の第1距離センサ13から照射されたレーザー光が横フレーム20h6上の距離測定点で反射し、当該反射光が第1距離センサ13で受光され、第1距離センサ13の測定基準点と距離測定点との距離が測定できるできる位置にロボットハンド100を姿勢制御しつつ(姿勢Ori(vec_x
rh,vec_z
rh)を維持しつつ)移動させる。そして、制御部1は、第1距離センサ13により、測定基準点と距離測定点(移動式カート200の横フレーム20h6)との距離を測定する。この測定値を距離dm2とする。
【0096】
そして、制御部1は、上記2点の距離の測定値dm1およびdm2の差が所定の範囲内(所定の誤差ε内)であるか否かを判定する。
(1)上記2点の距離の測定値dm1とdm2との差(=|dm1-dm2|)が所定の範囲内(所定の誤差ε内)ではないと判定された場合、距離測定したときのロボットハンド100の第1距離センサ13の測定基準点と距離測定点とを結ぶ直線line.range―snsr1が、移動式カート200の横フレーム20h6の法線方向に対して大きくずれているので、ロボットハンド100の姿勢制御を再度行い(特に、回転軸r_ax6(
図8(a)を参照)の周りに回転させる姿勢制御を行い)つつ、上記2点の距離の測定を行う。なお、この処理は、上記2点の距離の測定値dm1およびdm2の差が所定の範囲内(所定の誤差ε内)となるまで、繰り返し実行される。
(2)一方、上記2点の距離の測定値dm1とdm2との差(=|dm1-dm2|)が所定の範囲内(所定の誤差ε内)であると判定された場合、距離測定したときのロボットハンド100の第1距離センサ13の測定基準点と距離測定点とを結ぶ直線line.range―snsr1(直線line.range―snsr1の方向と、ロボットハンド100の姿勢を特定するベクトルvec_x
rhの方向とは略同一方向である)が、移動式カート200の横フレーム20h6の法線方向と略一致していると判定できる。そして、制御部1は、上記2点の距離の測定値dm1とdm2とを取得したときにロボットハンド100を移動させた方向(
図17で方向DirHで示した方向)をカート座標系の横軸(カート座標系y軸)の方向に設定(決定)する。なお、制御部1は、移動機構Rbt_arm(ロボットアームRbt_arm)のロボット座標系(移動機構Rbt_arm(ロボットアームRbt_arm)を制御(位置制御)するときの位置を特定するための座標系)により、上記2点の距離の測定値dm1とdm2とを取得したときにロボットハンド100の位置を把握(取得)しており、測定値dm1を取得したときにロボットハンド100の位置の座標と測定値dm2を取得したときにロボットハンド100の位置の座標とを結ぶベクトルを取得(算出)することで、上記2点の距離の測定値dm1とdm2とを取得したときにロボットハンド100を移動させた方向(
図17で方向DirHで示した方向)を取得できる。
【0097】
なお、カート座標系y軸の設定処理(上記(2)の処理)を完了したときのロボットハンド100の姿勢(向き)をOri(vec1_xrh,vec1_zrh)とする。ベクトルvec1_xrhは、カート座標系y軸の設定処理(上記(2)の処理)を完了したときのロボットハンド100の姿勢決定用座標系のxrh軸と同一方向の向きを有するベクトルである。
【0098】
(ステップS14):
ステップS14において、原点取得処理(カート座標系の原点のロボット座標系の座標を取得する処理)が実行される。具体的には、以下の処理が実行される。
【0099】
制御部1は、移動機構Rbt_armを駆動し、ロボットハンド100の撮像部15の光軸(直線line.range―camera)が識別情報マークmk1上を通るようになる位置にロボットハンド100を姿勢制御しつつ(姿勢Ori(vec1_x
rh,vec1_z
rh)を維持しつつ)移動させる。さらに、撮像部15による撮像画像が識別情報マークmk1上で合焦状態(ピントが合っている状態)となるように、撮像部15の撮影パラメータ(焦点距離、画角等)を調節する(あるいは、撮像部15と識別情報マークmk1との距離を調節する)(例えば、
図18に示した状態)。
【0100】
上記状態とした後、制御部1は、撮像部15により、識別情報マークmk1を撮像し、識別情報マークmk1の画像を取得する。そして、制御部1は、識別情報マークmk1の所定の位置をカート座標系の原点に設定する。例えば、
図19に示すように、識別情報マークmk1が2次元バーコードである場合、制御部1は、当該2次元バーコードの右上端の黒い正方形部分をカート座標系の原点に設定する。制御部1は、撮像部15による撮像画像が識別情報マークmk1上で合焦状態(ピントが合っている状態)となっている状態において、撮像部15の撮影パラメータを把握しているので、カート座標系の原点に設定した点(
図19の場合、2次元バーコードの右上端の黒い正方形部分)のロボット座標系の座標を取得することができる。なお、カート座標系の原点に設定した点(
図19の場合、2次元バーコードの右上端の黒い正方形部分)のロボット座標系の座標を[xo
(rbt),yo
(rbt),zo
(rbt)]と表記する。「
(rbt)」は、ロボット座標系の座標であることを示すものとする。
【0101】
(ステップS15):
ステップS15において、識別情報マーク読み取り処理が実行される。具体的には、以下の処理が実行される。
【0102】
制御部1は、撮像部15により識別情報マークmk1を撮像し、識別情報マークmk1の撮像画像に対して画像処理を実行することで、識別情報マークmk1の情報を取得する(例えば、識別情報マークmk1が2次元バーコードである場合、当該2次元バーコードを読み取り、当該2次元バーコードに含まれる情報を取得する)。
【0103】
なお、本実施形態では、識別情報マークmk1(例えば、2次元バーコード)には、移動式カートを識別するための番号の情報が含まれているものとする。
【0104】
そして、制御部1は、識別情報マークmk1に含まれている移動式カートを識別するための番号の情報を取得する。
【0105】
制御装置Dev1の記憶部Mem1には、予め、あるいは、通信インターフェースIF1を介して外部から、移動式カートを識別するための番号と、当該番号に紐付けられた情報とが記憶されている。例えば、移動式カートを識別するための番号に紐付けられている情報は、下記の通り(一例)である。
(1)移動式カートのサイズ(縦、横、高さ)
(2)移動式カートの段数(棚の数)
(3)A面/B面(移動式のカートの表面(A面)か裏面(B面)かを示す情報)
(4)移動式カートの左上端の座標(カート座標系による座標)
(5)各棚の物品配列位置、配列ピッチ(配列間隔)
制御部1は、取得した移動式カートを識別するための番号に基づいて、当該番号に紐付けられた情報を記憶部Mem1から読み出す。
【0106】
(ステップS16):
ステップS16において、カート座標系の縦軸(カート座標系z軸)の設定処理が実行される。
【0107】
制御部1は、移動機構Rbt_armを駆動し、識別情報マークmk1を略中心として、移動式カート200の縦フレーム20v2上の異なる2つの点を距離測定点として、ロボットハンド100の第1距離センサ13により距離測定ができる位置にロボットハンド100を移動させる(
図20、
図21を参照)。具体的処理について、以下説明する。
【0108】
まず、
図20に示すように、制御部1は、移動機構Rbt_armを駆動し、縦フレーム20v2上の点を距離測定点として、ロボットハンド100の第1距離センサ13により距離測定ができる位置にロボットハンド100を姿勢制御しつつ(姿勢Ori(vec1_x
rh,vec1_z
rh)を維持しつつ)移動させる。つまり、
図20に示すように、ロボットハンド100の第1距離センサ13から照射されたレーザー光が縦フレーム20v2上の距離測定点で反射し、当該反射光が第1距離センサ13で受光され、第1距離センサ13の測定基準点と距離測定点との距離が測定できる位置にロボットハンド100を姿勢制御しつつ移動させる。そして、制御部1は、第1距離センサ13により、測定基準点と距離測定点(移動式カート200の縦フレーム20v2)との距離を測定する。なお、ロボットハンド100の第1距離センサ13により、測定基準点と距離測定点との距離を測定できない場合、制御部1は、ロボットハンド100の姿勢を変更し、第1距離センサ13により、測定基準点と距離測定点との距離を測定できる姿勢とする制御(姿勢制御)を行うようにすればよい。
【0109】
第1距離センサ13により測定された、測定基準点と距離測定点との距離の測定値を距離dm3とし、当該測定値を取得したときのロボットハンド100の姿勢(向き)をベクトルvec2_xrh(ベクトルvec2_xrhは、ロボットハンド100の姿勢決定用座標系のxrh軸と同一方向のベクトルであるものとする)を用いてOri(vec2_xrh,vec2_zrh)と表記する。なお、姿勢Ori(vec2_xrh,vec2_zrh)は、ロボットハンド100のxrh軸がベクトルvec2_xrhと一致する姿勢(向き)であることを示す。
【0110】
次に、制御部1は、移動機構Rbt_armを駆動し、縦フレーム20v2上の別の点を距離測定点として、ロボットハンド100の第1距離センサ13により距離測定ができる位置にロボットハンド100を姿勢制御しつつ(姿勢Ori(vec2_x
rh,vec2_z
rh)を維持しつつ)移動させる(例えば、
図20、
図21に示すように上方に移動させる)。
【0111】
つまり、制御部1は、
図21に示すように、ロボットハンド100の第1距離センサ13から照射されたレーザー光が縦フレーム20v2上の距離測定点で反射し、当該反射光が第1距離センサ13で受光され、第1距離センサ13の測定基準点と距離測定点との距離が測定できるできる位置にロボットハンド100を姿勢制御しつつ(姿勢Ori(vec2_x
rh,vec2_z
rh)を維持しつつ)移動させる。そして、制御部1は、第1距離センサ13により、測定基準点と距離測定点(移動式カート200の縦フレーム20v2)との距離を測定する。この測定値を距離dm4とする。
【0112】
そして、制御部1は、上記2点の距離の測定値dm3およびdm4の差が所定の範囲内(所定の誤差ε内)であるか否かを判定する。
(1)上記2点の距離の測定値dm3とdm4との差(=|dm3-dm4|)が所定の範囲内(所定の誤差ε内)ではないと判定された場合、距離測定したときのロボットハンド100の第1距離センサ13の測定基準点と距離測定点とを結ぶ直線line.range―snsr1が、移動式カート200の縦フレーム20v2の法線方向に対して大きくずれているので、ロボットハンド100の姿勢制御を再度行い(特に、回転軸r_ax5(
図8(a)を参照)の周りに回転させる姿勢制御を行い)つつ、上記2点の距離の測定を行う。なお、この処理は、上記2点の距離の測定値dm3およびdm4の差が所定の範囲内(所定の誤差ε内)となるまで、繰り返し実行される。
(2)一方、上記2点の距離の測定値dm3とdm4との差(=|dm3-dm4|)が所定の範囲内(所定の誤差ε内)であると判定された場合、距離測定したときのロボットハンド100の第1距離センサ13の測定基準点と距離測定点とを結ぶ直線line.range―snsr1(直線line.range―snsr1の方向と、ロボットハンド100の姿勢を特定するベクトルvec_x
rhの方向とは略同一方向である)が、移動式カート200の縦フレーム20v2の法線方向と略一致していると判定できる。そして、制御部1は、上記2点の距離の測定値dm3とdm4とを取得したときにロボットハンド100を移動させた方向(
図22で方向DirVで示した方向)をカート座標系の縦軸(カート座標系z軸)の方向に設定(決定)する。なお、制御部1は、移動機構Rbt_arm(ロボットアームRbt_arm)のロボット座標系(移動機構Rbt_arm(ロボットアームRbt_arm)を制御(位置制御)するときの位置を特定するための座標系)により、上記2点の距離の測定値dm3とdm4とを取得したときにロボットハンド100の位置を把握(取得)しており、測定値dm3を取得したときにロボットハンド100の位置の座標と測定値dm4を取得したときにロボットハンド100の位置の座標とを結ぶベクトルを取得(算出)することで、上記2点の距離の測定値dm3とdm4とを取得したときにロボットハンド100を移動させた方向(
図16で方向DirHで示した方向)を取得できる。
【0113】
なお、カート座標系y軸の設定処理(上記(2)の処理)を完了したときのロボットハンド100の姿勢(向き)をOri(vec3_xrh,vec3_zrh)とする。ベクトルvec3_xrhは、カート座標系y軸の設定処理(上記(2)の処理)を完了したときのロボットハンド100の姿勢決定用座標系のxrh軸と同一方向の向きを有するベクトルである。また、ステップS16で取得したロボットハンド100の姿勢(向き)をOri(vec3_xrh,vec3_zrh)で、再度、ステップS13の処理を行い、2点の距離の測定値dm1とdm2との差(=|dm1-dm2|)が所定の範囲内(所定の誤差ε内)であることを確認するようにしてもよい。また、2点の距離の測定値dm1とdm2との差(=|dm1-dm2|)が所定の範囲内(所定の誤差ε内)ではない場合、ステップS13からの処理を再度実行するようにしてもよい。
【0114】
(ステップS17):
ステップS17において、カート座標系の奥行き軸(カート座標系x軸)の設定処理が実行される。
【0115】
ステップS13でカート座標系y軸が設定され、ステップS16でカート座標系z軸が設定されており、カート座標系y軸およびカート座標系z軸を把握しているので、制御部1は、カート座標系y軸およびカート座標系z軸の両方に直交する方向(カート座標系y-z平面の法線方向)をカート座標系の奥行き軸(カート座標系x軸)の方向に設定する。
【0116】
そして、制御部1は、ステップS14で取得した原点をカート座標系の原点(これを原点o(cart)と表記する)とする。つまり、制御部1は、ロボット座標系の位置Po(rbt)=[xo(rbt),yo(rbt),zo(rbt)]を、カート座標系の原点の位置Po(cart)=[0(cart),0(cart),0(cart)]に設定する(「(rbt)」は、ロボット座標系の座標、位置ベクトルであることを示し、「(cart)」は、カート座標系の座標、位置ベクトルであることを示している)。
【0117】
さらに、制御部1は、(1)ステップS13で取得したカート座標系y軸と同一方向の単位ベクトルをye
(cart)とし、(2)ステップS16で取得したカート座標系z軸と同一方向の単位ベクトルをze
(cart)とし、(3)カート座標系y軸およびカート座標系z軸の両方に直交する方向と同一方向の単位ベクトルをxe
(cart)とすると、カート座標系を、原点を点o
(cart)とし、単位ベクトルxe
(cart)(カート座標系のx軸(これをx
(cart)軸と表記する)を規定するベクトル(規定ベクトル))、ye
(cart)(カート座標系のy軸(これをy
(cart)軸と表記する)を規定するベクトル(規定ベクトル))、および、ze
(cart)(カート座標系のz軸(これをz
(cart)軸と表記する)を規定するベクトル(規定ベクトル))を規定ベクトルとする座標系(3次元座標系)として設定する。これにより、
図23に示すように、カート系座標系が設定される。
【0118】
そして、制御部1は、ロボット座標系の位置ベクトル(位置座標)と、カート座標系の位置ベクトル(位置座標)とを以下の数式に相当する処理を実行することにより、変換(座標変換)する。
<カート座標系をロボット座標系に変換する場合>
【数1】
p
(rbt):ロボット座標系での位置を示すベクトル(位置ベクトル)
rbt
cartT:カート座標系をロボット座標系に変換する行列(アフィン変換行列)(4×4行列)
p
(cart):カート座標系での位置を示すベクトル(位置ベクトル)
p
(rbt)=[x
(rbt),y
(rbt),z
(rbt),1]
T
p
(cart)=[x
(cart),y
(cart),z
(cart),1]
T
<ロボット座標系をカート座標系に変換する場合>
【数2】
p
(rbt):ロボット座標系での位置を示すベクトル(位置ベクトル)
rbt
cartT
-1:アフィン変換行列
rbt
cartTの逆行列(4×4行列)
p
(cart):カート座標系での位置を示すベクトル(位置ベクトル)
p
(rbt)=[x
(rbt),y
(rbt),z
(rbt),1]
T
p
(cart)=[x
(cart),y
(cart),z
(cart),1]
T
なお、ロボット座標系およびカート座標系がともに正規直交ベクトルにより規定される座標系である場合、上記のアフィン変換行列は、同次変換行列とすることができる。
【0119】
上記により、制御部1は、ロボット座標系の位置ベクトル(位置座標)と、カート座標系の位置ベクトル(位置座標)とを変換する処理(座標系変換処理)を実行することができ、例えば、
図24に示したようなロボット座標系とカート座標系の変換処理(座標系変換処理)を行うことができる。
【0120】
以上により、カート座標系設定処理が実行される。
【0121】
(ステップS2):
ステップS2において、ループ処理(ループ1)が開始され、ループ処理の条件を満たす限り(例えば、制御部1により物品搬送処理を終了する指令が発行されるまで)、ループ処理(ループ1)が繰り返し実行される。
【0122】
(ステップS3):
ステップS3において、移動機構Rbt_armの移動処理が実行される。例えば、
図25に示すように、移動式カート200の最上段の棚の一番奥の列に載置されているキャッシュボックスCB1(物品の一例)を取り出す場合、制御部1は、移動式カート200のフレームに貼付されている識別情報マークの番号に紐付けされている情報を、記憶部Mem1から読み出し、下記の情報を取得する。
(1)移動式カート200のサイズ(縦、横、高さ)
(2)移動式カート200の段数(棚の数)
(3)A面/B面
(4)移動式カート200の左上端の基準位置の座標(カート座標系による座標)(例えば、
図25に示した点P
LT
(cart)(移動式カート200のキャッシュボックスが配列されている左上端の列(最上段の第1列目)を特定するための位置)のカート座標系による位置ベクトルに相当する情報)
(5)移動式カート200の各棚の物品配列位置、配列ピッチ(配列間隔)
(6)移動式カート200の各棚の横フレームに、キャッシュボックスを配列させて載置するときの各列の略中心位置を示すマークが付されているか否かの情報
制御部1は、移動式カート200の左上端の座標(カート座標系の位置ベクトルP
LT
(cart)=[x
LT
(cart),y
LT
(cart),z
LT
(cart)])を取得し、上記情報を考慮して、キャッシュボックスCB1を、伸縮機構11を伸張させて吸着機構で吸着し、取り出すことができる位置に移動させる。具体的処理について、以下説明する。なお、ロボットハンド100の位置を、撮像部15の焦点位置を基準として制御する場合(一例)について説明する。
【0123】
制御部1は、移動式カート200のサイズ(縦、横、高さ)、段数(棚の数)、各棚の物品配列位置、配列ピッチ(配列間隔)についての情報を取得しているので、
図26(a)に示すように、キャッシュボックスCB1の列間の距離Δyや棚間の距離Δzを取得できる。
【0124】
さらに、制御部1は、
図25に示すように、点P
LT
(cart)(=P
1
(cart))(点P
LT
(cart)の情報は、識別情報マークの番号に紐付けされている情報から取得される)から撮像部15の焦点位置(
図25において、点P
2
(cart)で示した位置)までのカート座標系のx軸方向の距離Δxを取得できる。
【0125】
したがって、制御部1は、
図26(a)の点P
1
(cart)を合焦状態(ピントが合った状態)として、撮像部15が点P
1
(cart)(横フレーム20h2上の点)(P
1
(cart)=[x
LT
(cart)―Δx,y
LT
(cart),z
LT
(cart)])を撮像できる位置(ロボットハンド100の撮像部15の焦点が点P
2
(cart)となる位置)を特定できる。
【0126】
そして、制御部1は、p(cart)=[P2
(cart),1]T=[x2
(cart),y2
(cart),z2
(cart),1]Tとして、数式1の座標変換処理を行うことで、p(rbt)(=[P2
(rbt),1]T=[x2
(rbt),y2
(rbt),z2
(rbt),1]T)を取得できるので、カート座標系の点P2
(cart)のロボット座標系の座標(位置ベクトル)P2
(rbt)(=[x2
(rbt),y2
(rbt),z2
(rbt)])を取得できる。そして、制御部1は、移動機構Rbt_armを駆動し、ロボットハンド100を、ロボット座標系の座標(位置ベクトル)P2
(rbt)に移動させることで、カート座標系の点P2
(cart)にロボットハンド100を移動させることができる。
【0127】
なお、このとき、制御部1は、ロボットハンド100の姿勢が、ロボットハンド100の姿勢決定用座標系のxrh軸の方向が、カート座標系のx(cart)軸と一致するように、ロボットハンド100の姿勢制御を行う。
【0128】
そして、この状態において、制御部1は、撮像部15により、移動式カート200の横フレーム20h2(点P1
(cart)付近)を撮像する。
【0129】
(ステップS4):
ステップS4において、移動機構Rbt_armの姿勢微調整処理が実行される。具体的には、以下の処理が実行される。
【0130】
制御部1は、ステップS3で撮像した、移動式カート200の横フレーム20h2(点P1
(cart)付近)の画像を解析し、横フレーム20h2の長手方向が、カート座標系のy軸方向と略一致しているか否かを判定する。横フレーム20h2の長手方向が、カート座標系のy軸方向に対して、所定の角度以上傾いている場合、ロボットハンド100の伸縮機構11を伸張させて、キャッシュボックスCB1を吸着して取り出すときに、キャッシュボックスCB1に対して直線的にロボットハンド100の伸縮機構11を伸張させて、吸着機構12をキャッシュボックスCB1に到達させることが困難となることがある。
【0131】
したがって、横フレーム20h2の長手方向が、カート座標系のy軸方向に対して、所定の角度以上傾いている場合、制御部1は、ロボットハンド100の姿勢を制御し、横フレーム20h2の長手方向と、ロボットハンド100の姿勢決定座標系のyrh軸とが略一致するようにする、あるいは、ロボットハンド100の載置用平板10LTの高さを横フレーム20h2の長手方向の高さに合わせて調整する。これにより、ロボットハンド100のロボットハンド100の伸縮機構11を伸張させて、キャッシュボックスCB1へ直線的に到達できるようになるので、スムーズにキャッシュボックスCB1を取り出すことが可能となる。
【0132】
なお、例えば、
図26(b)に示すように、移動式カート200が、各棚の横フレームに、キャッシュボックスCB1を配列させて載置するときの各列の略中心位置を示すマークm11~m1cが付された移動式カートである場合、当該マークm11~m1cの位置に基づいて、ロボットハンド100の位置制御(移動制御)、姿勢制御、姿勢制御の微調整等を行うようにしてもよい。この場合、移動式カート200の各棚の横フレームにあるマークm11~m1cを基準として、ロボットハンド100の位置制御(移動制御)、姿勢制御、姿勢制御の微調整等を行うことができるため、移動式カート200が変形している場合であっても、ロボットハンド100の位置制御(移動制御)、姿勢制御を適切に行うことができる。
【0133】
(ステップS5):
ステップS5において、物品取り出し処理が実行される。具体的には、以下の処理が実行される。
【0134】
ステップS4の処理が完了した時点で、
図27の状態1に示すように、ロボットハンド100の向き(姿勢)は、キャッシュボックスCB1のロボットハンド100側の表面の法線方向と略一致している可能性が高い。つまり、キャッシュボックスCB1が移動式カート200の棚に整列して載置されている場合、ロボットハンド100の向き(姿勢)は、キャッシュボックスCB1のロボットハンド100側の表面の法線方向と略一致している可能性が高い。
【0135】
そして、制御部1は、
図27の状態2に示すように、第2距離センサ14により、キャッシュボックスCB1のロボットハンド100側の表面との距離を測定する。第2距離センサ14は、指向性の高いレーザー光を使用して略平面上の測定点との距離を測定するので、正常に測定値が取得された場合、ロボットハンド100の向き(姿勢)は、キャッシュボックスCB1のロボットハンド100側の表面の法線方向と略一致していると判定できる。
【0136】
そして、制御部1は、第2距離センサ14により正常に距離測定ができた場合、キャッシュボックスCB1までの距離(測定距離)d_allよりも距離d2だけ短い位置からキャッシュボックスCB1までの距離の区間を低速移動区間(
図27のPb~Pcの区間)に設定し、ロボットハンド100(例えば、第2距離センサ14の位置(
図14のPaの位置))からキャッシュボックスCB1の表面よりも距離d2だけ手前の位置までの区間を高速移動区間(
図27のPa~Pbの区間)に設定する。
【0137】
そして、制御部1は、伸縮機構11を伸張させて、キャッシュボックスCB1の表面に吸着機構12(吸着部12S)が到達するように、伸縮機構11を駆動制御する。このとき、制御部1は、上記で設定した高速移動区間においては、伸縮機構11を駆動する制御方法を位置制御法(伸縮機構11を駆動するための電動シリンダーの制御方法を位置制御法)とし、伸縮機構11の先端に取り付けられた吸着機構12(吸着部12S)が高速で移動するように制御する。
【0138】
そして、制御部1は、伸縮機構11の先端の吸着機構12(吸着部12S)が高速移動区間を越えて低速移動区間内に入ったと判断した場合、伸縮機構11を駆動する制御方法を押し当て制御法(伸縮機構11を駆動するための電動シリンダーの制御方法を、吸着部12Sの圧力変化を監視し、吸着したと判定された場合、伸縮機構11の伸張動作を停止させる制御方法)とし、伸縮機構11の先端に取り付けられた吸着機構12(吸着部12S)が低速で移動し、吸着状態を確実に検知できるように制御する。
【0139】
そして、制御部1は、伸縮機構11の先端の吸着機構12(吸着部12S)がキャッシュボックスCB1の表面に到達し、キャッシュボックスCB1の表面を吸着した状態を検知すると(
図27の状態3)、キャッシュボックスCB1の表面を吸着した状態を維持しつつ、伸縮機構11を収縮させ、キャッシュボックスCB1をロボットハンド100へ引き戻す処理を行う。そして、制御部1は、
図28の状態4に示すように、キャッシュボックスCB1がロボットハンド100の載置部10Trに載置された状態となったことを確認し、物品取りだし処理を完了させる。
【0140】
(ステップS6):
ステップS6では、物品運搬処理が実行される。制御部1は、ステップS5で、ロボットハンド100の載置部10Trに載置したキャッシュボックスCB1を所定の位置へ運搬するように、移動機構Rbt_armを制御する。これにより、ロボットハンド100の載置部10Trに載置したキャッシュボックスCB1が所定の位置へ運搬される。
【0141】
(ステップS7):
ステップS7では、ループ処理(ループ1)の終了条件が満たされているか否かを判定し、終了条件が満たされている場合は、物品搬送処理を終了させ、終了条件が満たされていない場合は、処理をステップS2に戻し、ステップS3~S6の処理を行う。
【0142】
例えば、物品搬送処理システム1000において、ロボットハンド100により、移動式カート200の同一棚のキャッシュボックスCB1が載置されていた列の隣の列に載置されている物品(例えば、キャッシュボックス)を取り出す場合、キャッシュボックスCB1を取り出すときに、ロボットハンド100を移動させた位置P1
(cart)(=[xLT
(cart)―Δx,yLT
(cart),zLT
(cart)])のカート座標系のy座標に所定の値(例えば、Δy1(Δy1は、カート座標系のy軸方向の移動量))を減算した座標の位置に、ロボットハンド100を移動させるように制御すればよい。
【0143】
また、ロボットハンド100により、移動式カート200のキャッシュボックスCB1が載置されていた段の1段下の棚に載置されている物品(例えば、キャッシュボックス)を取り出す場合、キャッシュボックスCB1を取り出すときに、ロボットハンド100を移動させた位置P1
(cart)(=[xLT
(cart)―Δx,yLT
(cart),zLT
(cart)])のカート座標系のz座標に所定の値(例えば、Δz1(Δz1は、カート座標系のz軸方向の移動量))を減算した位置に、ロボットハンド100を移動させるように制御すればよい。
【0144】
つまり、物品搬送処理システム1000では、移動式カート200の縦、横、奥行きと略一致するようにして取得したカート座標系により、ロボットハンド100を移動させることができるので、移動式カート200の所定の位置の物品を取り出し、あるいは、移動式カート200の所定の位置へ物品を運搬する処理を簡単に行うことができる。さらに、物品搬送処理システム1000では、移動式カート200の縦、横、奥行きと略一致するようにして取得したカート座標系に基づいて、ロボットハンド100の姿勢を制御することができるので、移動式カート200の棚に載置された物品を高速かつ正確(確実)に取り出すことができ、また、移動式カート200の所定の位置に物品を高速かつ正確(確実)に載置することができる。
【0145】
以上のように、物品搬送処理システム1000では、移動式カート200の縦、横、奥行きと略一致するようにして取得したカート座標系により、ロボットハンド100を移動させる制御、および、ロボットハンド100の姿勢制御を行うことができる。また、物品搬送処理システム1000では、移動式カート200に貼付された識別情報マークにより、移動式カートの種類や構成等を知ることができ、それに応じて、ロボットハンド100を移動させる制御、および、ロボットハンド100の姿勢制御を行うことができる。
【0146】
このように、物品搬送処理システム1000では、移動式カート200の縦、横、奥行きと略一致するようにして取得したカート座標系により、ロボットハンド100を移動させる制御、および、ロボットハンド100の姿勢制御を行うことができるので、多種多様な移動式カートがどのような向きに置かれた場合であっても、効率良く、物品を棚等(例えば、移動式カート)から取り出し、および/または、物品を棚等(例えば、移動式カート)に載置することができる。
【0147】
[他の実施形態]
上記実施形態では、物品搬送処理システム1000において、ロボットハンド100が2つの距離センサ(第1距離センサ13および第2距離センサ14)を備える場合について、説明したが、これに限定されることはなく、ロボットハンド100に設ける距離センサを1つとし、当該距離センサにより、第1距離センサ13および第2距離センサ14で行う処理を実行させるようにしてもよい。
【0148】
また、ロボットハンド100において、第1距離センサ13と同一の距離センサをロボットハンド100の第2側面L字板10L2の側面下方の位置(載置用平板10LTを挟んで載置用平板10LTに対して対称となる位置)に取り付け、第1距離センサ13と、新たに取り付けた距離センサとを用いて、移動式カートの横フレームまでの距離を測定し、上記2つの距離センサの測定距離が略同一となるか否かに基づいて、ロボットハンド100の姿勢制御を行うようにしてもよい。
【0149】
また、上記実施形態では、物品搬送処理システム1000において、移動機構Rbt_armがロボットアームである場合について説明したが、これに限定されることはなく、移動機構Rbt_armは、3次元空間を移動させて姿勢制御可能な機構であれば、他の機構(移動機構)を採用してもよい。
【0150】
また、上記実施形態では、物品搬送処理システム1000において、識別情報マークmk1には、移動式カートを識別するための番号のみを記憶させている場合について説明したが、これに限定されることはなく、例えば、上記実施形態で移動式カートを識別するための番号に紐付けさせて記憶部Mem1に記憶した情報を識別情報マークmk1に記憶させるようにしてもよい。
【0151】
また、上記実施形態において、「略同一」、「略平行」等の表現があるが、これらは、目標値(あるいは設計値)として「同一」に、あるいは「平行」となるように制御等を行ったときに生じる誤差や設計誤差、あるいは、分解能によって決まる誤差等を含むものであり、当業者が「同一」である、あるいは、「平行」と判断(認識)する範囲を含む概念である。
【0152】
また、上記実施形態において、構成部材のうち、上記実施形態に必要な主要部材のみを簡略化して示している。したがって、上記実施形態において明示されなかった任意の構成部材を備えうる。また、上記実施形態および図面において、各部材の寸法は、必ずしも実際の寸法および寸法比率等を忠実に表しているわけではない。したがって、本発明の趣旨を逸脱しない範囲で寸法や寸法比率等の変更は可能である。
【0153】
上記実施形態で説明した物品搬送処理システム1000において、各ブロック(各機能部)は、LSIなどの半導体装置により個別に1チップ化されても良いし、一部または全部を含むように1チップ化されても良い。また、上記実施形態で説明した物品搬送処理システム1000の各ブロック(各機能部)は、複数のLSIなどの半導体装置により実現されるものであってもよい。
【0154】
なお、ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0155】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0156】
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
【0157】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【0158】
上記実施形態の各機能部をソフトウェアにより実現する場合、例えば、所定のハードウェア構成(例えばCPU(GPUであってもよい)、ROM、RAM、入力部、出力部、通信部、記憶部(例えば、HDD、SSD等により実現される記憶部)、外部メディア用ドライブ等をバスBusにより接続したハードウェア構成)を用いて各機能部をソフトウェア処理により実現するようにしてもよい。
【0159】
また、上記実施形態の各機能部をソフトウェアにより実現する場合、当該ソフトウェアは、上記のハードウェア構成を有する単独のコンピュータを用いて実現されるものであってもよいし、複数のコンピュータを用いて分散処理により実現されるものであってもよい。
【0160】
また、上記実施形態における処理方法の実行順序は、必ずしも上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。また、上記実施形態における処理方法において、発明の要旨を逸脱しない範囲で、一部のステップが、他のステップと並列に実行されるものであってもよい。
【0161】
前述した方法をコンピュータに実行させるコンピュータプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここでコンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
【0162】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限らず、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【0163】
なお、本発明の具体的な構成は、前述の実施形態に限られるものではなく、発明の要旨を逸脱しない範囲で種々の変更および修正が可能である。
【符号の説明】
【0164】
1000 物品搬送処理システム
100 ロボットハンド
Rbt_arm 移動機構
1 制御部
11 伸縮機構
12 吸着機構
13 第1距離センサ
14 第2距離センサ
15 撮像部
【手続補正書】
【提出日】2022-05-31
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
横フレームおよび縦フレームを有する移動式カートから物品を取り出し、および/または、前記移動式カートに物品を搬送して載置するための物品搬送処理システムであって、
物品を把持し搬送するためのロボットハンドと、
前記ロボットハンドに対して姿勢制御および移動制御を行うための移動機構と、
前記ロボットハンドおよび前記移動機構を制御する制御部と、
を備え、
前記ロボットハンドは、
フレームと、
前記フレームに設置された、伸縮機構、吸着機構、第1距離センサ、第2距離センサ、および、撮像部と、
を備え、
前記制御部は、
前記移動式カートに対して、前記ロボットハンドを所定の姿勢に姿勢制御した状態で、前記第1距離センサにより前記移動式カートの横フレーム上の第1測定点と前記第1距離センサとの距離を測定し、測定値を第1距離として取得する第1距離取得ステップと、
前記ロボットハンドを前記所定の姿勢と同一姿勢に姿勢制御した状態で、前記第1距離センサにより前記移動式カートの横フレーム上の前記第1測定点とは異なる第2測定点と前記第1距離センサとの距離を測定し、測定値を第2距離として取得する第2距離取得ステップと、
前記第1距離と前記第2距離との差が所定の値以下であるか否かを判定する横誤差判定ステップと、
前記横誤差判定ステップにより、前記第1距離と前記第2距離との差が所定の値以下であると判定された場合、前記第1距離を測定したときの前記ロボットハンドの位置から前記第2距離を測定したときのロボットハンドの位置へのベクトルと略同一方向の軸を、前記ロボットハンドにより前記移動式カートに対する移動制御、および/または、姿勢制御を行うときの基準とする座標系であるカート座標系の横軸として設定するカート座標系横軸設定ステップと、
前記カート座標系に基づいて、ロボットハンドの制御を行うロボットハンド制御ステップと、
を実行する、
物品搬送処理システム。
【請求項2】
前記制御部は、
前記移動式カートに対して、前記ロボットハンドを所定の姿勢に姿勢制御した状態で、前記第1距離センサにより前記移動式カートの縦フレーム上の第3測定点と前記第1距離センサとの距離を測定し、測定値を第3距離として取得する第3距離取得ステップと、
前記ロボットハンドを前記第3距離取得ステップのときと同一の姿勢に姿勢制御した状態で、前記第1距離センサにより前記移動式カートの縦フレーム上の前記第3測定点とは異なる第4測定点と前記第1距離センサとの距離を測定し、測定値を第4距離として取得する第4距離取得ステップと、
前記第3距離と前記第4距離との差が所定の値以下であるか否かを判定する縦誤差判定ステップと、
前記縦誤差判定ステップにより、前記第3距離と前記第4距離との差が所定の値以下であると判定された場合、前記第3距離を測定したときの前記ロボットハンドの位置から前記第4距離を測定したときのロボットハンドの位置へのベクトルと略同一方向の軸を、前記ロボットハンドにより前記移動式カートに対する移動制御、および/または、姿勢制御を行うときの基準とする座標系であるカート座標系の縦軸として設定するカート座標系縦軸設定ステップと、
をさらに実行する、
請求項1に記載の物品搬送処理システム。
【請求項3】
前記制御部は、
前記カート座標系の横軸および縦軸の両方に略直交する方向の軸を前記カート座標系の奥行き軸として設定するカート座標系奥行き軸設定ステップをさらに実行する、
請求項2に記載の物品搬送処理システム。
【請求項4】
前記制御部は、
前記撮像部により、前記移動式カートの前記縦フレームまたは前記横フレーム上に貼付されている識別情報マークを撮像し、撮像画像を解析することで、前記識別情報マークに含まれる情報を取得する、
請求項1から3のいずれか一項に記載の物品搬送処理システム。
【請求項5】
前記制御部は、
前記移動式カートの前記縦フレームまたは前記横フレーム上に貼付されている識別情報マークの所定の位置を、前記カート座標系の原点に設定するカート座標系原点設定ステップをさらに実行する、
請求項1から4のいずれか一項に記載の物品搬送処理システム。
【請求項6】
前記制御部は、
前記移動式カートの所定の棚から物品を取り出す、あるいは、物品を載置する場合、前記ロボットハンドにより、前記所定の棚から物品を取り出す、あるいは、物品を載置することができる位置に、前記ロボットハンドの姿勢制御を行いつつ移動させる移動ステップと、
前記移動ステップで所定の位置に移動された前記ロボットハンドの前記撮像部により、前記所定の棚を支持する横フレームを撮像し、撮像画像を解析することで、前記横フレームの傾きを検知する傾き検知ステップと、
前記傾き検知ステップにより、前記横フレームの傾きが所定の値よりも大きい場合、当該傾きを補正するように前記ロボットハンドの姿勢制御を調節する姿勢調節ステップと、
をさらに実行する、
請求項1から5のいずれか一項に記載の物品搬送処理システム。
【請求項7】
前記移動式カートは、前記横フレームに物品を一列に載置したときの中心位置を特定するための基準マークを、物品を一列単位で配列する列ごとに有しており、
前記制御部は、前記基準マークに基づいて、前記ロボットハンドの姿勢制御を行いつつ移動させることで、前記ロボットハンド制御ステップを実行する、
請求項1から6のいずれか一項に記載の物品搬送処理システム。
【請求項8】
前記制御部は、
前記移動式カートの所定の棚から物品を取り出す場合、前記第2距離センサにより、前記物品までの距離を測定し、前記伸縮機構に取り付けた前記吸着機構が高速移動するように制御する区間である高速移動区間と、前記伸縮機構に取り付けた前記吸着機構の吸着部の吸着状態を監視しながら前記吸着機構が低速移動するように制御する区間である低速移動区間とを設定する区間設定ステップと、
前記区間設定ステップで設定された前記高速移動区間において、前記伸縮機構に取り付けた前記吸着機構が高速移動するように、前記伸縮機構を制御し、
前記区間設定ステップで設定された前記低速移動区間において、前記伸縮機構に取り付けた前記吸着機構の吸着部の吸着状態を監視しながら前記吸着機構が低速移動するように、前記伸縮機構を制御する伸縮機構制御ステップと、
をさらに実行する、
請求項1から7のいずれか一項に記載の物品搬送処理システム。