(57)【要約】【課題】マニピュレータに保持されたワークが重力により変形する場合でも精度良くワークを載置することができるマニピュレータ制御装置、方法、及びプログラムを提供する。【解決手段】マニピュレータ制御装置１０は、保持した際に重力により変形するワークをロボットＲＢにより保持した際のワークの変形量、及びワークの目標姿勢を取得する取得部３０と、変形量に応じて目標姿勢を補正する補正部３２と、補正部３２で補正された補正目標姿勢に基づいて、ロボットＲＢの動作を制御する制御部３４と、を備える。【選択図】図４
2020011307.tif 000002
【特許請求の範囲】
【請求項１】
保持した際に重力により変形するワークをマニピュレータにより保持した際の前記ワークの変形量、及び前記マニピュレータの目標姿勢を取得する取得部と、
前記変形量に応じて前記目標姿勢を補正する補正部と、
前記補正部で補正された補正目標姿勢に基づいて、前記マニピュレータの動作を制御する制御部と、
を備えたマニピュレータ制御装置。
【請求項２】
前記補正部は、前記マニピュレータが水平方向を向いた第１の姿勢で前記ワークを保持した場合に補正量が最大となり、且つ、前記マニピュレータが鉛直方向を向いた第２の姿勢で前記ワークを保持した場合に前記補正量が最小となるように、前記目標姿勢を補正する
請求項１記載のマニピュレータ制御装置。
【請求項３】
前記目標姿勢及び前記変形量を水平方向に対する角度で表し、前記補正目標姿勢を表す角度をＲｙ’、前記目標姿勢を表す角度をＲｙ、前記変形量をθとした場合、前記補正部は、以下の（１）式または（２）式に従って前記目標姿勢を補正する
Ｒｙ’＝Ｒｙ−ｃｏｓ（Ｒｙ）×θ    ・・・（１）
Ｒｙ’＝Ｒｙ−ＳＩＧＮ（Ｒｙ）×｛（９０−ＡＢＳ（Ｒｙ））／９０｝×θ
・・・（２）
ここで、ＳＩＧＮ（）は符号関数、ＡＢＳ（）は絶対値を表す。
請求項１又は請求項２記載のマニピュレータ制御装置。
【請求項４】
前記補正部は、前記変形量が所定値以上の場合に、前記目標姿勢を補正する
請求項１〜３の何れか１項に記載のマニピュレータ制御装置。
【請求項５】
コンピュータが、
保持した際に重力により変形するワークをマニピュレータにより保持した際の前記ワークの変形量、及び前記マニピュレータの目標姿勢を取得する取得工程と、
前記変形量に応じて前記目標姿勢を補正する補正工程と、
前記補正工程で補正された補正目標姿勢に基づいて、前記マニピュレータの動作を制御する制御工程と、
を含む処理を実行するマニピュレータ制御方法。
【請求項６】
コンピュータを、
保持した際に重力により変形するワークをマニピュレータにより保持した際の前記ワークの変形量、及び前記マニピュレータの目標姿勢を取得する取得部、
前記変形量に応じて前記目標姿勢を補正する補正部、及び、
前記補正部で補正された補正目標姿勢に基づいて、前記マニピュレータの動作を制御する制御部、
として機能させるためのマニピュレータ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マニピュレータ制御装置、マニピュレータ制御方法、及びマニピュレータ制御プログラムに関する。
【背景技術】
【０００２】
コンビニエンスストア等において商品を陳列棚に載置する作業を自動化する場合、マニピュレータを用いて商品のピックアンドプレースを行うことが考えられる。この場合、マニピュレータは、例えばサンドウィッチ等の柔軟性を有するワークを保持して陳列棚に載置する作業を実行する。このとき、マニピュレータが水平方向を向いた姿勢で柔軟性を有するワークを保持した状態でプレース動作を行った場合には、ワークが撓むことによってワークの重心が崩れてしまい、陳列棚に載置したワークが転倒してしまう場合がある。
【０００３】
ところで、力覚センサを用いて、ワークとワークが載置される面との接触を判定しながら精度良くワークを載置する技術が提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−８５４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、柔軟性を有するワークは反力が得られにくいため、力覚センサを用いて柔軟性を有するワークを精度良く載置するのは困難である。
【０００６】
本発明は、上記の点に鑑みてなされたものであり、マニピュレータに保持されたワークが重力により変形する場合でも精度良くワークを載置することができるマニピュレータ制御装置、マニピュレータ制御方法、及びマニピュレータ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るマニピュレータ制御装置は、保持した際に重力により変形するワークをマニピュレータにより保持した際の前記ワークの変形量、及び前記マニピュレータの目標姿勢を取得する取得部と、前記変形量に応じて前記目標姿勢を補正する補正部と、前記補正部で補正された補正目標姿勢に基づいて、前記マニピュレータの動作を制御する制御部と、を備える。
【０００８】
また、前記補正部は、前記マニピュレータが水平方向を向いた第１の姿勢で前記ワークを保持した場合に補正量が最大となり、且つ、前記マニピュレータが鉛直方向を向いた第２の姿勢で前記ワークを保持した場合に前記補正量が最小となるように、前記目標姿勢を補正するようにしてもよい。
【０００９】
また、前記目標姿勢及び前記変形量を水平方向に対する角度で表し、前記補正目標姿勢を表す角度をＲｙ’、前記目標姿勢を表す角度をＲｙ、前記変形量をθとした場合、前記補正部は、以下の（１）式または（２）式に従って前記目標姿勢を補正するようにしてもよい。
Ｒｙ’＝Ｒｙ−ｃｏｓ（Ｒｙ）×θ    ・・・（１）
Ｒｙ’＝Ｒｙ−ＳＩＧＮ（Ｒｙ）×｛（９０−ＡＢＳ（Ｒｙ））／９０｝×θ    ・・・（２）
ここで、ＳＩＧＮ（）は符号関数、ＡＢＳ（）は絶対値を表す。
【００１０】
また、前記補正部は、前記変形量が所定値以上の場合に、前記目標姿勢を補正するようにしてもよい。
【００１１】
本発明に係るマニピュレータ制御方法は、コンピュータが、保持した際に重力により変形するワークをマニピュレータにより保持した際の前記ワークの変形量、及び前記マニピュレータの目標姿勢を取得する取得工程と、前記変形量に応じて前記目標姿勢を補正する補正工程と、前記補正工程で補正された補正目標姿勢に基づいて、前記マニピュレータの動作を制御する制御工程と、を含む処理を実行する。
【００１２】
本発明に係るマニピュレータ制御プログラムは、コンピュータを、保持した際に重力により変形するワークをマニピュレータにより保持した際の前記ワークの変形量、及び前記マニピュレータの目標姿勢を取得する取得部、前記変形量に応じて前記目標姿勢を補正する補正部、及び、前記補正部で補正された補正目標姿勢に基づいて、前記マニピュレータの動作を制御する制御部、として機能させるためのプログラムである。
【発明の効果】
【００１３】
本発明によれば、マニピュレータに保持されたワークが重力により変形する場合でも精度良くワークを載置することができる。
【図面の簡単な説明】
【００１４】
【図１】ピックアンドプレース装置の概略構成図である。
【図２】垂直多関節ロボットの一例を示す斜視図である。
【図３】マニピュレータ制御装置のハードウェア構成の例を示す構成図である。
【図４】マニピュレータ制御装置の機能構成の例を示すブロック図である。
【図５】ワークの変形について説明するための図である。
【図６】ワークの転倒について説明するための図である。
【図７】目標姿勢を補正する場合について説明するための図である。
【図８】マニピュレータ制御処理のフローチャートである。
【図９】吸着パッドの水平方向に対する角度について説明するための図である。
【図１０】吸着パッドの水平方向に対する角度について説明するための図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。
【００１６】
図１は、本実施形態に係るピックアンドプレース装置１の構成図である。図１に示すように、ピックアンドプレース装置１は、マニピュレータの一例としてのロボットＲＢ、画像センサＳ、及びマニピュレータ制御装置１０を備える。
【００１７】
ロボットＲＢは、台２０上に設けられた箱２２に収容された図示しないワークを保持して棚２４まで搬送し、棚２４内に載置する。
【００１８】
本実施形態では、一例としてロボットＲＢのロボットアームの先端にはエンドエフェクタとして吸着パッドＰが取り付けられており、吸着パッドＰで箱２２内のワークを吸着することによってワークを保持する。そして、ワークを保持した状態で棚２４まで搬送し、ワークの保持を解除してワークを載置する。なお、ワークを保持する部材は、吸着パッドＰに限らず、ワークを把持するロボットハンドでもよい。
【００１９】
箱２２の上方には画像センサＳが設置されている。画像センサＳは、箱２２内に収容されたワークの集合であるワーク集合を静止画として撮影する。
【００２０】
マニピュレータ制御装置１０は、ロボットＲＢの任意の初期姿勢から目標姿勢までの経路を生成する。ここで、経路とは、ロボットＲＢを初期姿勢から目標姿勢まで動作させる場合の姿勢のリストである。具体的には、マニピュレータ制御装置１０は、画像センサＳから取得した撮影画像を画像処理し、画像処理の結果に基づいて保持すべきワークの位置及び姿勢を認識する。そして、マニピュレータ制御装置１０は、箱２２内のワークを撮影するためにロボットＲＢが画像センサＳの視野範囲外の退避位置に退避した退避姿勢を初期姿勢とし、ロボットＲＢが箱２２内のワークを保持する保持姿勢を目標姿勢とする第１の経路と、ロボットＲＢが箱２２内のワークを保持した保持姿勢を初期姿勢とし、ロボットＲＢがワークを棚２４に載置する載置姿勢を目標姿勢とする第２の経路と、ロボットＲＢがワークを棚２４に載置した載置姿勢を初期姿勢とし、箱２２内のワークを撮影するためにロボットＲＢが画像センサＳの視野範囲外の退避位置に退避した退避姿勢を目標姿勢とする第３の経路と、を生成する。なお、棚２４を撮影する画像センサを備えた構成とし、画像センサで撮影された撮影画像に基づいてワークを載置すべき位置を認識するようにしてもよい。そして、マニピュレータ制御装置１０は、生成した経路に従ってロボットＲＢが動作するように動作指令値をロボットＲＢに出力する。
【００２１】
次に、ロボットＲＢについて説明する。本実施形態では、一例としてロボットＲＢが垂直多関節ロボットである場合について説明する。
【００２２】
図２は、垂直多関節ロボットであるロボットＲＢの構成を示す図である。図２に示すように、ロボットＲＢは、ベースリンクＢＬ、リンクＬ１〜Ｌ６、ジョイントＪ１〜Ｊ６を備えた６自由度の６軸ロボットである。なお、ジョイントとは、リンク同士を接続する関節である。また、以下では、リンクＬ１〜Ｌ６及びリンクＬ６に接続された吸着パッドＰを含めてロボットアームと称する。
【００２３】
ベースリンクＢＬとリンクＬ１とは、図２において鉛直軸Ｓ１を中心として矢印Ｃ１方向に回転するジョイントＪ１を介して接続されている。従って、リンクＬ１は、ベースリンクＢＬを支点として矢印Ｃ１方向に回転する。
【００２４】
リンクＬ１とリンクＬ２とは、図２において水平軸Ｓ２を中心として矢印Ｃ２方向に回転するジョイントＪ２を介して接続されている。従って、リンクＬ２は、リンクＬ１を支点として矢印Ｃ２方向に回転する。
【００２５】
リンクＬ２とリンクＬ３とは、図２において軸Ｓ３を中心として矢印Ｃ３方向に回転するジョイントＪ３を介して接続されている。従って、リンクＬ３は、リンクＬ２を支点として矢印Ｃ３方向に回転する。
【００２６】
リンクＬ３とリンクＬ４とは、図２において軸Ｓ４を中心として矢印Ｃ４方向に回転するジョイントＪ４を介して接続されている。従って、リンクＬ４は、リンクＬ３を支点として矢印Ｃ４方向に回転する。
【００２７】
リンクＬ４とリンクＬ５とは、図２において軸Ｓ５を中心として矢印Ｃ５方向に回転するジョイントＪ５を介して接続されている。従って、リンクＬ５は、リンクＬ４を支点として矢印Ｃ５方向に回転する。
【００２８】
リンクＬ５とリンクＬ６とは、図２において軸Ｓ６を中心として矢印Ｃ６方向に回転するジョイントＪ６を介して接続されている。従って、リンクＬ６は、リンクＬ５を支点として矢印Ｃ６方向に回転する。なお、図２では図示は省略したが、リンクＬ６に吸着パッドＰが取り付けられる。
【００２９】
ジョイントＪ１〜Ｊ６は、予め定めた回転角度の範囲が可動域として各々設定されている。
【００３０】
ロボットＲＢの姿勢は、ジョイントＪ１〜Ｊ６の各々の回転角度によって定まる。従って、ロボットＲＢを動作させるための動作指令値は、ロボットＲＢが取るべき姿勢に対応したジョイントＪ１〜Ｊ６の各々の回転角度である。
【００３１】
図３は、本実施形態に係るマニピュレータ制御装置１０のハードウェア構成を示すブロック図である。
【００３２】
図３に示すように、マニピュレータ制御装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ストレージ１４、入力部１５、モニタ１６、光ディスク駆動装置１７、及び通信インタフェース１８を有する。各構成は、バス１９を介して相互に通信可能に接続されている。
【００３３】
本実施形態では、ＲＯＭ１２又はストレージ１４には、マニピュレータ制御処理を実行するマニピュレータ制御プログラムが格納されている。ＣＰＵ１１は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、ＣＰＵ１１は、ＲＯＭ１２又はストレージ１４からプログラムを読み出し、ＲＡＭ１３を作業領域としてプログラムを実行する。ＣＰＵ１１は、ＲＯＭ１２又はストレージ１４に記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【００３４】
ＲＯＭ１２は、各種プログラム及び各種データを格納する。ＲＡＭ１３は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ１４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【００３５】
入力部１５は、キーボード１５１、及びマウス１５２等のポインティングデバイスを含み、各種の入力を行うために使用される。モニタ１６は、例えば、液晶ディスプレイであり、各種の情報を表示する。モニタ１６は、タッチパネル方式を採用して、入力部１５として機能してもよい。光ディスク駆動装置１７は、各種の記録媒体(ＣＤ−ＲＯＭ又はブルーレイディスクなど)に記憶されたデータの読み込みや、記録媒体に対するデータの書き込み等を行う。
【００３６】
通信インタフェース１８は、ロボットＲＢ及び画像センサＳ等の他の機器と通信するためのインタフェースであり、例えば、イーサネット（登録商標）、ＦＤＤＩ、Ｗｉ−Ｆｉ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、及びＩＥＥＥ１３９４等の規格が用いられる。
【００３７】
次に、マニピュレータ制御装置１０の機能構成について説明する。
【００３８】
図４は、マニピュレータ制御装置１０の機能構成の例を示すブロック図である。図４に示すように、マニピュレータ制御装置１０は、機能構成として、取得部３０、補正部３２、制御部３４、及び記憶部３６を有する。各機能構成は、ＣＰＵ１１がＲＯＭ１２又はストレージ１４に記憶されたマニピュレータ制御プログラムを読み出し、ＲＡＭ１３に展開して実行することにより実現される。
【００３９】
本実施形態では、ワークが、吸着パッドＰにより保持した際に重力により変形するワークである場合について説明する。例えば図５に示すように、吸着パッドＰの目標姿勢が水平方向を向いた姿勢であり、この状態でワークＷを保持した場合、ワークＷは重力によって鉛直方向、すなわち重力方向である矢印Ｇ方向に撓むことにより変形する。なお、吸着パッドＰが水平方向Ｈを向いた姿勢でワークＷを保持した場合に、ワークＷと水平方向Ｈとが成す角度を変形量θとする。
【００４０】
そして、ワークＷが撓んだ状態で棚２４の載置面２４Ａに載置するために吸着パッドＰの吸着を解除した場合、図６に示すようにワークＷが転倒し、正しい向きで載置面２４Ａに載置されない虞がある。
【００４１】
そこで、本実施形態では、図７に示すように、吸着パッドＰの目標姿勢を、変形量θに基づいて、吸着パッドＰの向きが水平方向Ｈよりも上側を向くように補正する。すなわち、変形量θを補正係数として吸着パッドＰの目標姿勢を補正する。これにより、ワークＷを転倒させずに載置面２４Ａに載置することができる。
【００４２】
取得部３０は、保持した際に重力により変形するワークＷをロボットＲＢの吸着パッドＰにより保持した際のワークＷの変形量θ、すなわち補正係数と、ロボットＲＢの目標姿勢と、を取得する。
【００４３】
補正部３２は、取得部３０が取得した補正係数に応じて目標姿勢を補正する。
【００４４】
制御部３４は、補正部３２で補正された補正目標姿勢に基づいて、ロボットＲＢの動作を制御する。
【００４５】
記憶部３６は、マニピュレータ制御プログラム及び補正係数テーブルデータ等の各種情報を記憶する。
【００４６】
補正係数テーブルデータは、ワークの種類と補正係数との対応関係を表すデータである。補正係数テーブルデータは、予め様々な種類のワークについて変形量θを測定した結果に基づいて作成される。
【００４７】
次に、マニピュレータ制御装置１０の作用について説明する。
【００４８】
図８は、マニピュレータ制御装置１０のＣＰＵ１１により実行されるマニピュレータ制御処理の流れを示すフローチャートである。オペレータによりマニピュレータ制御処理の実行が指示されると、ＣＰＵ１１がＲＯＭ１２又はストレージ１４からマニピュレータ制御プログラムを読み出して、ＲＡＭ１３に展開し実行することにより、マニピュレータ制御処理が実行される。
【００４９】
ＣＰＵ１１は、制御部３４として画像センサＳに撮影を指示し、画像センサＳが撮影した撮影画像を取得する（ステップＳ１００）。
【００５０】
ＣＰＵ１１は、制御部３４として、撮影画像に基づいて、保持するワークＷを選択し、選択したワークＷを保持するロボットＲＢの姿勢を算出する（ステップＳ１０２）。
【００５１】
保持するワークＷの選択基準としては、例えばワーク集合の中で最上部にあるワークＷを選択する、ワーク集合の中央に存在するワークＷを選択する、他のワークＷと重ならないワークＷを選択する等が挙げられるが、これらに限られるものではない。
【００５２】
保持するワークＷを選択した後、選択したワークＷを保持するための吸着パッドＰの姿勢を取得する。これは、例えばワークＷの形状に応じた吸着パッドＰの姿勢を予め記憶部３６に記憶しておき、記憶部３６から読み出せばよい。次に、取得した吸着パッドＰの姿勢と、保持するワークＷの位置及び姿勢と、に基づいて、実際にワークＷを保持するための吸着パッドＰの位置及び姿勢を算出する。最後に、逆運動学（ＩＫ：Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃｓ）と呼ばれる公知の手法を用いて、算出した吸着パッドＰの位置及び姿勢を実現するためのロボットＲＢの姿勢を算出する。
【００５３】
ＣＰＵ１１は、制御部３４として、ロボットＲＢが退避位置に退避した退避姿勢を初期姿勢とし、ロボットＲＢが箱２２内でワークを保持する保持姿勢を目標姿勢とする第１の経路を生成する（ステップＳ１０４）。第１の経路の生成は、公知の経路計画法を用いることができる。後述する第２の経路及び第３の経路についても同様である。
【００５４】
ＣＰＵ１１は、制御部３４として、ステップＳ１００で取得した撮影画像に基づいてワークＷの種類を識別する（ステップＳ１０６）。ワークＷの種類は、例えば公知のパターン認識処理等を用いて識別することができる。
【００５５】
ＣＰＵ１１は、取得部３０として、ステップＳ１０６で識別したワークＷの種類に対応する補正係数を取得する（ステップＳ１０８）。具体的には、記憶部３６に記憶された補正係数テーブルデータを参照し、ワークＷの種類に対応する補正係数を読み出す。
【００５６】
ＣＰＵ１１は、取得部３０として、第２の経路における目標姿勢、すなわち、ロボットＲＢがワークを棚２４に載置する載置姿勢を取得する（ステップＳ１１０）。
【００５７】
ロボットＲＢがワークを棚２４に載置する載置姿勢については、以下のように取得できる。例えば棚２４に設けられた複数の載置場所を予めティーチングしておき、ティーチングした複数の載置場所の位置情報及び複数の載置場所にワークを載置する載置順序を記憶部３６に記憶しておく。そして、載置順序に従って決められた載置場所にワークを載置する場合のロボットＲＢの姿勢を目標姿勢とする。なお、保持するワークを選択する場合と同様に、棚２４を撮影する画像センサを設け、棚２４を撮影した撮影画像に基づいてワークを載置する載置場所を選択してもよい。この場合、選択した載置場所にワークを載置する場合のロボットＲＢの姿勢を目標姿勢とし、前述した第１の経路の目標姿勢を算出する場合と同様に算出すればよい。なお、目標姿勢が変化しない場合は、予め定めた固定の目標姿勢を用いても良い。
【００５８】
ＣＰＵ１１は、補正部３２として、ステップＳ１１０で取得した目標姿勢を、ステップＳ１０８で取得した補正係数に基づいて補正する（ステップＳ１１２）。
【００５９】
具体的には、ロボットＲＢの目標姿勢及び補正係数を水平方向に対する角度で表し、補正後の目標姿勢である補正目標姿勢を表す角度をＲｙ’、目標姿勢を表す角度をＲｙ、補正係数θとした場合、補正部３２は、以下の（１）式または（２）式に従って目標姿勢を補正する。なお、（２）式を用いて目標姿勢を補正した場合は、角度Ｒｙと補正後の角度Ｒｙ’との関係が線形関係となる。
【００６０】
Ｒｙ’＝Ｒｙ−ｃｏｓ（Ｒｙ）×θ    ・・・（１）
Ｒｙ’＝Ｒｙ−ＳＩＧＮ（Ｒｙ）×｛（９０−ＡＢＳ（Ｒｙ））／９０｝×θ
・・・（２）
ここで、ＳＩＧＮ（）は符号関数、ＡＢＳ（）は絶対値を表す。
【００６１】
なお、図９に示すように、吸着パッドＰが水平方向であるＸ軸方向に向いている場合、目標姿勢を表す角度Ｒｙは０度である。また、本実施形態では、Ｘ軸よりも下側を正の角度とし、Ｘ軸よりも上側を負の角度とする。例えば図１０に示すように、吸着パッドＰがＸ軸よりも下側を向いている場合は、角度Ｒｙは正の角度となる。
【００６２】
上記（１）、（２）式は、吸着パッドＰが水平方向、すなわちＸ軸方向を向いた第１の姿勢でワークＷを保持した場合（Ｒｙ＝０）に補正量が最大となり、且つ、吸着パッドＰが鉛直方向、すなわちＺ軸方向を向いた第２の姿勢でワークＷを保持した場合（Ｒｙ＝９０）に補正量が最小となる補正式である。
【００６３】
ＣＰＵ１１は、制御部３４として、ロボットＲＢが箱２２内のワークＷを保持した保持姿勢である初期姿勢から、ステップＳ１１２で補正した補正目標姿勢までの第２の経路を生成する（ステップＳ１１４）。
【００６４】
ＣＰＵ１１は、制御部３４として、ロボットＲＢがワークを棚２４に載置した載置姿勢である補正目標姿勢から退避姿勢までの第３の経路を生成する（ステップＳ１１６）。
【００６５】
ＣＰＵ１１は、制御部３４として、ロボットＲＢの第１〜３の経路に基づいてロボットＲＢの動作指令値を生成し、ロボットＲＢに送信する（ステップＳ１１８）。これにより、生成された第１〜第３の経路に従ってロボットＲＢが移動する。すなわち、ロボットＲＢが、退避位置から移動して箱２２の中のワークを保持し、棚２４の所定位置に載置した後、退避位置に戻るように動作する。
【００６６】
ＣＰＵ１１は、制御部３４として、箱２２内から全てのワークＷを棚２４へ搬送したか否かを判定する（ステップＳ１２０）。具体的には、例えば箱２２内を撮影した撮影画像を取得してパターン認識処理等の公知の画像処理を実行し、撮影画像中にワークＷが存在するか否かを判定する。また、最初に箱２２内に載置されていたワークＷの数が予め判っている場合には、ワークＷを搬送した回数が最初に箱２２内に収容されていたワークＷの数に達したか否かを判定してもよい。そして、全てのワークＷを搬送した場合（ステップＳ１２０：ＹＥＳ）、本ルーチンを終了する。一方、全てのワークＷを搬送していない場合（ステップＳ１２０：ＮＯ）、ステップＳ１００へ移行し、全てのワークＷを搬送するまでステップＳ１００〜Ｓ１２０の処理を繰り返す。
【００６７】
このように、本実施形態では、吸着パッドＰが水平方向を向いた姿勢でワークＷを保持した場合のワークＷの変形量に応じてロボットＲＢの目標姿勢を補正する。このため、吸着パッドＰに保持されたワークＷが重力により変形する場合でも精度良くワークＷを棚２４に載置することができる。
【００６８】
マニピュレータ制御装置１０は、上記の実施形態に限定されず、種々の改変が可能である。例えば、本実施形態では、変形量θの大小に関係なくロボットＲＢの目標姿勢を補正する場合について説明したが、変形量θが所定値以上の場合にロボットＲＢの目標姿勢を補正するようにしてもよい。この場合、所定値は、目標姿勢を補正しなくてもワークＷを問題無く載置できる範囲の値に設定される。これにより、目標姿勢の無駄な補正を抑えることができる。
【００６９】
また、本実施形態では、画像センサＳにより撮影された撮影画像に基づいてワークＷの種類を識別する場合について説明したが、例えば各ワークにＲＦＩＤ（Radio Frequency Iidentifier）を用いたタグを貼付しておき、このタグからワークＷの種類を表す識別符号を取得することでワークＷの種類を識別してもよい。
【００７０】
また、本実施形態では、ロボットＲＢが垂直多関節ロボットである場合について説明したが、水平多関節ロボット（スカラーロボット）及びパラレルリンクロボット等にも本発明を適用可能である。ただし、水平多関節ロボット及びパラレルリンクロボットに本発明に適用する場合には、目標姿勢を表す角度であるＲｙを任意の角度に設定するには自由度が足りないため、エンドエフェクタにモータ等を取り付けてＲｙを任意の角度に設定することができるようにする必要がある。
【００７１】
なお、上記各実施形態でＣＰＵがソフトウェア（プログラム）を読み込んで実行した経路計画を、ＣＰＵ以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の製造後に回路構成を変更可能なＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、及びＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、経路計画を、これらの各種のプロセッサのうちの１つで実行してもよいし、同種又は異種の２つ以上のプロセッサの組み合わせ（例えば、複数のＦＰＧＡ、及びＣＰＵとＦＰＧＡとの組み合わせ等）で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【００７２】
また、上記各実施形態では、マニピュレータ制御プログラムがストレージ１４又はＲＯＭ１２に予め記憶（インストール）されている態様を説明したが、これに限定されない。プログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、及びＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【００７３】
１     ピックアンドプレース装置
１０   マニピュレータ制御装置
２０   台
２２   箱
２４   棚
２４Ａ 載置面
３０   取得部
３２   補正部
３４   制御部
３６   記憶部
Ｗ     ワーク
【図１】
2020011307.tif 000003
【図２】
2020011307.tif 000004
【図３】
2020011307.tif 000005
【図４】
2020011307.tif 000006
【図５】
2020011307.tif 000007
【図６】
2020011307.tif 000008
【図７】
2020011307.tif 000009
【図８】
2020011307.tif 000010
【図９】
2020011307.tif 000011
【図１０】
2020011307.tif 000012