(57)【要約】【課題】  簡単な操作で対象物に応じた適切なハンドリング用プログラムに更新できるロボットプログラム更新方法を提供する。【解決手段】  ロボットプログラム更新方法は、ロボット制御装置１１に設けた無線タグ読み取り装置１３に対象物１６に貼付した無線タグ１５を接近させて読ませ、ロボット制御装置１１の上で実行される処理により、無線タグ１５から読み出した識別番号１９に基づきデータベース１４に問い合わせ、データベース１４から対象物１６に対応したハンドリング用のロボット制御プログラムのプログラムモジュールの提供を受けて、プログラムモジュールをダウンロードする。これにより、ロボットプログラムを更新する。【選択図】  図１
2006338219.tif 000002
【特許請求の範囲】
【請求項１】
無線タグが貼付された対象物をハンドリングするロボットプログラムを更新するロボットプログラム更新方法であって、
無線タグが貼付された対象物をロボットに装備された読み取り装置に近接させて当該読み取り装置により前記無線タグの保持する固有情報を取得するステップと、
前記固有情報と前記対象物をハンドリングするためのロボット制御プログラムとの対応を保持するデータベースに対して前記固有情報によりロボット制御プログラムの問い合わせを行うステップと、
前記データベースから問い合わせの結果に基づきロボット制御プログラムを検索して対応するロボット制御プログラムをダウンロードするステップと、
ダウンロードしたロボット制御プログラムにより前記ロボットプログラムを更新するステップと
の処理を実行することを特徴とするロボットプログラム更新方法。
【請求項２】
請求項１に記載のロボットプログラム更新方法において、
前記固有情報と前記対象物をハンドリングするためのロボット制御プログラムとの対応を保持する第１のデータベースと、ロボット制御プログラムを保持している第２のデータベースと、ロボット制御装置とはネットワークを介して接続されており、
問い合わせを行うステップは第１のデータベースに対して前記固有情報によりロボット制御プログラムの問い合わせを行い、
ダウンロードするステップは、第２のデータベースから前記データベースから問い合わせの結果に基づきロボット制御プログラムを検索して対応するロボット制御プログラムをダウンロードする
ことを特徴とするロボットプログラム更新方法。
【請求項３】
無線タグが貼付された対象物をハンドリングするロボットプログラムを更新するロボットプログラム更新システムであって、
前記無線タグの固有情報と前記対象物をハンドリングするためのロボット制御プログラムとを対応づけて保持するデータベースと、
ロボットに装備された無線タグ読み取り装置により接近した対象物に貼付された無線タグの固有情報を読み取って当該無線タグの保持する固有情報を取得する固有情報所得手段と、
前記データベースに対して固有情報所得手段により取得した前記固有情報により対象物をハンドリングするためのロボット制御プログラムを問い合わせる問い合わせ手段と、
問い合わせ結果に基づき対象物をハンドリングのためのプログラムを前記データベースからダウンロードするダウンロード手段と、
ダウンロードしたロボット制御プログラムにより前記ロボットプログラムを更新する更新手段と
を有することを特徴とするロボットプログラム更新システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線タグによるロボットプログラム更新方法及びシステムに関するものであり、特に、簡単な操作で対象物に対応した適切なハンドリング用のロボット制御プログラムをダウンロードできてロボットプログラムを更新できるロボットプログラム更新方法及びシステムに関するものである。
【背景技術】
【０００２】
ロボットは元来ソフトウェアを変更することで多様な機能を実現する装置であり、産業用からホビー用まで用途を問わず、多種類の動作をロボットに実行させるために制御プログラムの更新を迅速に、簡単に、不具合なく、実施する技術が公開されている。
【０００３】
例えば、特許文献１に記載されている情報処理装置では、ロボットハードウェアの機能に対応したデータ項目をあらかじめ決めておき、更新のために追加されるプログラムがデータ項目と合致するかを調べて、不具合なくプログラム更新できるかどうか判断するようにしている。
【０００４】
また、普及しているＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）向け商用オペレーティングシステムでは、使用者に煩雑な操作を要求することなく最新バージョンのプログラムを自動的かつ不具合なくアップデートする方法が実施されている。
【特許文献１】特開２００５−０７４６０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
多種類の対象物をハンドリングするロボットにおいては、事前にすべての必要なプログラムをロボット内部（ロボット制御装置）に用意することは現実的ではなく、ハンドリングする対象物に応じて適切なそれぞれのプログラムを選択して外部からダウンロードして実行することが所望される。
【０００６】
そのためには、例えば、ロボット（計算機）外部の実世界にある対象物とロボット（計算機）内部の記号の世界にあるデータ項目とを照合して、そのロボット制御プログラムを選択する必要があるが、従来の技術では、計算機内部の記号の世界でデータ項目の照合を行うことに限られており、特定の外部の対象物の照合を行うことは困難であった。
【０００７】
例えば、画像認識機能を有するヒューマノイドロボットが、ロボット自体に装着されたカメラにより撮像された画像の認識を行い、その画像認識処理により一つの白い小さな箱を見たとの認識結果を得たときに、ロボットは画像を計算機内部に取り込んで処理してそれが白い小さな箱であると認識できるが、外観が同じ箱が複数ある場合にあっては、どの特定の白い小さな箱かは認識できない。このように処理に対応するには適切なハンドリング用のロボット制御プログラムに処理の制御が渡される必要があり、事前にロボット制御プログラムを更新する必要がある。
【０００８】
本発明は、このような問題点を解決するためになされたものであり、本発明の目的は、多種類の対象物をハンドリングするロボットにおいて、簡単な操作で多種類の対象物をハンドリングするためのそれぞれの適切なハンドリング用のロボット制御プログラムをダウンロードできてロボットプログラムを更新することができる無線タグによるロボットプログラム更新方法およびロボットプログラム更新システムを提供することにある。
【課題を解決するための手段】
【０００９】
上記のような目的を達成するため、本発明は第１の態様として、本発明による無線タグによるロボットプログラム更新方法は、無線タグが貼付された対象物をハンドリングするロボットプログラムを更新するロボットプログラム更新方法であって、無線タグが貼付された対象物をロボットに装備された読み取り装置に近接させて当該読み取り装置により前記無線タグの保持する固有情報を取得するステップと、前記固有情報と前記対象物をハンドリングするためのロボット制御プログラムとの対応を保持するデータベースに対して前記固有情報によりロボット制御プログラムの問い合わせを行うステップと、前記データベースから問い合わせの結果に基づきロボット制御プログラムを検索して対応するロボット制御プログラムをダウンロードするステップと、ダウンロードしたロボット制御プログラムにより前記ロボットプログラムを更新するステップと、の処理を実行することを特徴とする。
【００１０】
また、第２の態様として、本発明によるロボットプログラム更新方法において、前記固有情報と前記対象物をハンドリングするためのロボット制御プログラムとの対応を保持する第１のデータベースと、ロボット制御プログラムを保持している第２のデータベースと、ロボット制御装置とはネットワークを介して接続されており、問い合わせを行うステップは第１のデータベースに対して前記固有情報によりロボット制御プログラムの問い合わせを行い、ダウンロードするステップは、第２のデータベースから前記データベースから問い合わせの結果に基づきロボット制御プログラムを検索して対応するロボット制御プログラムをダウンロードすることを特徴とするものである。
【００１１】
また、本発明は第３の態様として、本発明によるロボットプログラム更新システムは、無線タグが貼付された対象物をハンドリングするロボットプログラムを更新するロボットプログラム更新システムであって、前記無線タグの固有情報と前記対象物をハンドリングするためのロボット制御プログラムとを対応づけて保持するデータベースと、ロボットに装備された無線タグ読み取り装置により接近した対象物に貼付された無線タグの固有情報を読み取って当該無線タグの保持する固有情報を取得する固有情報所得手段と、前記データベースに対して固有情報所得手段により取得した前記固有情報により対象物をハンドリングするためのロボット制御プログラムを問い合わせる問い合わせ手段と、問い合わせ結果に基づき対象物をハンドリングのためのプログラムを前記データベースからダウンロードするダウンロード手段と、ダウンロードしたロボット制御プログラムにより前記ロボットプログラムを更新する更新手段を有することを特徴とするものである。
【発明の効果】
【００１２】
本発明によるロボットプログラム更新方法によれば、多種類の対象物をハンドリングするロボットに対して、多種類の対象物に対応して適切なそれぞれのロボット制御プログラムに更新する場合に、対象物に貼付されている無線タグから、当該無線タグの固有情報を読み取り装置に近接させて読み取り、この固有情報に基づき適切なロボット制御プログラムを選択し、データベースからダウンロードして更新する。これにより、ハンドリングする対象物が変更された場合についても、対応のロボット制御プログラムについて、使用者によるプログラム名称やバージョン番号の入力操作なしに簡単な操作で、多種類の対象物をハンドリングするため適切なそれぞれのハンドリング用のロボット制御プログラムをダウンロードしてロボットプログラムを更新することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明を実施する場合の一形態を説明する。図１は、本発明にかかるロボットプログラム更新システムのシステム構成を説明するブロック図である。図１において、参照番号１０はグリッパ付きの腕型ロボットを示している。グリッパ付き腕型ロボット１０は、ロボット制御装置１１にインストールされたロボット制御プログラム１２の制御処理にしたがって腕の動きが制御され、その先端に装備されたグリッパ部分により、例えば、対象物１６を把持して移動させるなどのハンドリング動作を行う。このような対象物１６に対するハンドリング動作は、ロボット制御装置１１にインストールされたロボット制御プログラム１２の処理が実行されて制御される。
【００１４】
したがって、この腕型ロボット１０のグリッパ部分によりハンドリングする対象物１６を異なったものとする場合、それに対応したロボット制御プログラム１２に更新する必要がある。本発明によるロボットプログラム更新システムおいては、簡単な操作により、ロボット制御装置１１にインストールされているロボット制御プログラム１２を、取り扱う対象物１６に対応して適切なロボット制御プログラムを選択して、例えばデータベースからダウンロードし、当該ロボット制御プログラム１２を更新する。
【００１５】
本発明にかかるロボットプログラム更新システムにおけるシステム要素は、図１に示すように、グリッパ付き腕型ロボット１０のロボット制御装置１１，無線タグ読み取り装置１３，ロボット制御装置１１において実行されるロボット制御プログラム１２、多種類のプログラムが格納されているデータベース１４，および無線タグ１５が貼付された対象物１６、ロボット制御装置１１とデータベースを結ぶネットワーク１７の構成要素から構成されている。
【００１６】
データベース１４は、ネットワーク１７に接続されていて、イントラネットのＬＡＮまたはインターネットよりアクセスする手段が提供されている情報処理装置である。例えば、クライアントサーバ型のデータベースシステムが利用される。ここではデータベース１４を単一のブロックとして図示しているが、複数のデータベースがネットワーク接続されて総合されて１つのデータベース機能を提供するものであっても良い。
【００１７】
ロボット制御プログラム１２は、グリッパ付きの腕の動作を制御するプログラムであるが、これは、例えば、コンパイル時ではなくプログラムの実行時にあらかじめコンパイルされた実行可能なプログラム（以下プログラムモジュールと表記）をリンクして使うことができるダイナミックリンキングまたはダイナミックローディングと呼ばれる機能をサポートするソフトウエアプラットフォームの上で実行されるロボット制御プログラムであってもよい。
【００１８】
ロボットプログラムは、具体例で説明すると、このようなロボット制御プログラムの中には、ＬｉｎｕｘオペレーティングシステムではＡＰＩとして名前を指定してプログラムモジュールをロードできるｄｌｏｐｅｎ、および、名前を指定しプログラムモジュールが公開している関数のアドレスを取得できるｄｌｓｙｍが用意されているので、これらが用いられる。Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステムでは、ＡＰＩとして同じくプログラムモジュールをロードできるＬｏａｄＬｉｂｒａｒｙ、および同じく関数のアドレスを取得できるＧｅｔＰｒｏｃＡｄｄｒｅｓｓが用意されているので、これらが用いられる。ロボット制御装置１１は上記に相当する機能をサポートするソフトウェアプラットフオームを備えており、更新されるロボット制御プロクラムがインストールされる。
【００１９】
また、ここでのロボットプログラムの更新が、ロボット制御プログラム１２において、上記の機能を利用してダウンロードされたプログラムモジュールを、実行時にリンクして使用するようにされても良い。
【００２０】
図２はシステムの構成要素の間のデータの流れを説明する図である。使用者は、手先に対象物をハンドリングするグリッパを装着した腕型ロボット１０に、所定の対象物１６を取り扱わせるハンドリング動作をさせる場合、ロボット制御装置１１に組み込む（インストールする）ロボット制御プログラム１２を、その対象物１６を操作するに適切なロボット制御プログラム（プログラムモジュール）に更新する。
【００２１】
このため、ロボット制御装置１１は、当該ロボット制御装置１１に装備された無線タグ読み取り装置１３に対して、無線タグ１５を貼付した対象物１６を近接させて無線タグ１５に保持されている固有情報である識別番号１９を読み取り、無線タグ１５の固有情報として読み出した識別番号１９に基づいて、データベース１４に問い合わせる。データベース１４には、後述するように、対象物１６に貼付された無線タグ１５の識別番号１９に対応して、プラットフォーム、ロボットの種類、グリッパの種類などに区分されて適切なそれぞれのプログラムモジュールのレコードデータおよび当該プログラムモジュールが格納されており、対応のプログラムモジュール２０をダウンロードして、ダウンロードしたプログラムモジュールによりロボット制御プログラム１２を更新する。
【００２２】
または、データベース１４には該当するプログラムモジュール２０の格納先のリンク情報のみが格納されており、図示しない別のデータベースにプログラムモジュールが格納されている場合には、このリンク情報にしたがい、対応のプログラムモジュールをダウンロードする。そして、ダウンロードした対象物１６に対応したプログラムモジュール２０にしたがって、ロボット制御プログラム１２が適切な内容のものに更新される。これにより、使用者は特別な操作をすることなく、対象物１６に対応したハンドリング用のロボット制御プログラムのプログラムモジュール２０がダウンロードされ、ロボット制御プログラム１２が適切なものに更新される。つまり、使用者によるプログラムの名称やバージョン番号を入力するなどの煩雑な操作なしに適切なプログラムモジュールをダウンロードされ、ロボット制御プログラム１２が適切なものに更新される。
【００２３】
図３は、システムの構成要素の動作のタイミング関係を説明する図である。まず使用者が、無線タグ１５を無線タグ読み取り装置１３に近づけることを契機として、無線タグ読み取り装置１３が無線タグ１５から識別番号１９を読み出し、無線タグ読み取り装置１３がロボット制御装置１１に識別番号１９を取得したことを通知する。ロボット制御装置１１はこの通知を契機として、データベース１４に識別番号１９の問い合わせを行い、この問い合わせを契機として、データベース１４は格納しているハンドリング用プログラムモジュール２０を検索して見つかれば選択してロボット制御装置１１に提供する。ロボット制御装置１１は、先の問い合わせに応答して提供されるロボット制御プログラムのプログラムモジュール２０をダウンロードする。そして、ダウンロードが完了したことを契機として、ダウンロードされたプログラムモジュール２０を使用して、ロボットプログラムを更新する。
【００２４】
図４は、データベースが保持している識別番号とプログラムモジュールとの対応関係を示すレコードデータのテーブル構造を説明する図である。対応テーブル４００はレコードデータを保持するデータフィールドとして、識別番号を格納する識別番号フィールド４０１、ロボット制御プログラムを実行するソフトウェア環境を指示するデータを格納するプラットフォームフィールド４０２、ロボットの種類を指示するデータを格納するロボット種類フィールド４０３、ロボットに付随するグリッパの種類を指示するデータを格納するグリッパ種類フィールド４０４、プログラムモジュールの名称のデータを格納するプログラム名称フィールド４０４、プログラムモジュールのサイズのデータを格納するプログラムサイズフィールド４０５から構成されている。これらの各データフィールド４０１〜４０６にロボット制御プログラムのプログラムモジュールに対応した各データが格納される。
【００２５】
データベース１４はクライアント（ロボット制御装置１１）から無線タグの固有情報の識別番号に基づいて問い合わせを受けたとき、この対応テーブル４００を検索してクライアントにプログラムモジュール２０を提供する。すなわち、クライアントは、対象物１６に貼付された無線タグ１５から取得した固有情報の識別番号１９に対応して、ロボット制御プログラムが動作するプラットフォームの種類、ロボットの種類、グリッパの種類に応じて適切なロボット制御プログラムのプログラム名称およびプログラムサイズのプログラムモジュールを検索して、該当するプログラムモジュールを見つけ出して、そのプログラムモジュールを格納場所からダウンロードする。
【００２６】
なお、ロボット制御装置１１には、ロボット制御を行うプログラム部分とは別に全体の制御処理プログラムの中にデータベース１４へのアクセス手段（データ検索・通信プログラム）が装備されており、このアクセス手段を起動して、ロボット制御装置１１はクライアントとしてデータベースサーバであるデータベース１４に問い合わせを行う。これは、例えば、ロボット制御装置１２がＣＯＲＢＡに代表される分散オブジェクト技術を利用してデータベース１４にアクセスし、アクセス手段はオブジェクトリファレンスのような記号列で与えられるように構成される。
【００２７】
図５はロボット制御プログラム１２が問い合わせを実施する場合に呼び出すべき関数Ｑ１の型を説明する図である。図５において、Ｃｈａｒ＊は文字の配列、ｌｏｎｇは３２ビット以上の整数、ｌｏｎｇ＊は前記整数へのポインタ、ｏｃｔｅｔ＊は８ビット以上の符号なし整数の配列、ｂｏｏｌｅａｎは関数の戻り値がＴＲＵＥまたはＦＡＬＳＥであることを表している。
【００２８】
データベースから該当するロボット制御プログラム（プログラムモジュール）を検査してダウンロードする場合に、関数Ｑ１を利用する。クライアントは、変数ｔａｇに識別番号１９を、変数ｐ１ａｔｆｏｒｍにプラットフオームを、変数ｒｏｂｏｔにロボットの種類を、変数ｇｒｉｐｐｅｒにグリッパの種類を、変数ｍｏｄｕ１ｅにダウンロードするプログラムモジュール２０を格納する配列を、変数ｍａｘに前記配列の最大のサイズを格納して関数Ｑ１を呼び出す。
【００２９】
データベース１４においては、関数Ｑ１により、変数ｍｏｄｕｌｅにプログラムモジュールを、変数ｓｉｚｅにプログラムモジュールのサイズを格納して、関数Ｑ１をクライアントにもどす。ところで、データベース１４は、識別番号１９に対応するデータが見つからないなど、なんらかのエラーがあった場合は、関数の戻り値としてＦＡＬＳＥを返し、それ以外の場合はＴＲＵＥを返すので、ロボット制御装置（クライアント）は、ロボット制御プログラムの検索の結果として、ＦＡＬＳＥが返された場合は、使用者にプログラム更新に失敗したことを通知する。
【００３０】
以上に説明したように、本発明によるロボットプログラム更新方法において、特徴的なことは、使用者が、対象物に貼付された無線タグをロボットに付随する読み取り装置に近づけて無線タグが保持する固有情報をロボットが取得すること、ロボット制御装置がネットワークに接続されたデータベースに対して固有情報により検索を行い、固有情報と個別の対象物のハンドリングのためのプログラムとの対応をレコードデータをテーブルを保持しているデータベースは、固有情報による問い合わせにしたがって、データベースにおけるプログラムモジュールのデータテーブルで固有情報を検索して、該当するロボット制御プログラムを選択して提供することである。
【００３１】
使用者とは、例えば、ロボットにハンドリングを命令する使用者であり、無線タグとはＲＦＩＤタグとも呼ばれ、ＩＣ部分および読み取り装置との通信が可能なアンテナ部分を備えた無線タグであり、読み取り装置とは、無線タグ固有の識別番号および無線タグがメモリをもつ場合はそのメモリの内容をタグの固有情報として読み出せる装置である。データベースとは、企業内ＬＡＮ上やインターネット上でアクセス可能な，情報処理装置の上で動作しているサーバクライアント型システムであり、ロボットにはあらかじめアクセス手段が通知されているデータベースである。
【産業上の利用可能性】
【００３２】
本発明のロボットプログラム更新方法では、使用者が対象物に貼付された無線タグをロボットに付随する読み取り装置に近寄せるという日常的な操作で個別の対象物に対応したプログラムがダウンロードできるので、プログラムの名称やバージョン番号をロボットに付随する端末装置から入力するという煩雑な操作を省けて計算機ならびにロボットに関する高度な知識をもたない使用者でも対象物をハンドリングすることができるロボットプログラムに更新できる。また、無線タグを使用するので汚れても、包装された対象物であってもハンドリングすることができるロボットプログラムに更新できる。
【図面の簡単な説明】
【００３３】
【図１】本発明にかかるロボットプログラム更新システムのシステム構成を説明するブロック図である。
【図２】システムの構成要素の間のデータの流れを説明する図である。
【図３】システムの構成要素の動作のタイミング関係を説明する図である。
【図４】データベースが保持している識別番号とプログラムモジュールとの対応関係を指示するテーブル構造を説明する図である。
【図５】ロボット制御プログラム１２が問い合わせを実施する場合に呼び出すべき関数Ｑ１の型を説明する図である。
【符号の説明】
【００３４】
１０  グリッパ付きの腕型ロボット
１１  ロボット制御装置
１２  ロボット制御プログラム
１３  無線タグ読み取り装置
１４  データベース
１５  無線タグ
１６  対象物
１７  ネットワーク
１９  識別番号
２０  プログラムモジュール
【図１】
2006338219.tif 000003
【図２】
2006338219.tif 000004
【図３】
2006338219.tif 000005
【図４】
2006338219.tif 000006
【図５】
2006338219.tif 000007