(57)【要約】【課題】マーカを認識することで様々な処理を行うことが可能なロボット、プログラム及びマーカを提供する。【解決手段】ロボット１は、被写体を撮影して撮影画像を生成するカメラ３１と、処理内容が関連付けられたマーカ４ａを記憶するマーカ記憶部２２を参照して、カメラ３１によって得られた撮影画像からマーカ４ａを認識するマーカ認識部１２と、マーカ認識部１２によって認識されたマーカ４ａに関連付けられている処理を実行する処理実行部１８と、を備える。【選択図】図１
2018134687.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮影して撮影画像を生成する撮影部と、
処理内容が関連付けられたマーカを記憶するマーカ記憶部と、
前記マーカ記憶部を参照して、前記撮影部によって得られた前記撮影画像から前記マーカを認識するマーカ認識手段と、
前記マーカ認識手段によって認識された前記マーカに関連付けられている処理を実行する処理実行手段と、
を備えるロボット。
【請求項２】
請求項１に記載のロボットにおいて、
前記マーカ認識手段は、前記マーカの種類を含めて前記マーカを認識し、
前記処理実行手段は、前記マーカ認識手段によって認識した前記マーカの種類に対応した処理を実行すること、
を特徴とするロボット。
【請求項３】
請求項１又は請求項２に記載のロボットにおいて、
前記マーカ又は前記マーカの認識内容と、前記マーカに対応する処理データとを対応付けた処理データ記憶部を備え、
前記処理実行手段は、前記処理データ記憶部を参照し、前記マーカ認識手段によって認識された前記マーカに対応する処理データを実行すること、
を特徴とするロボット。
【請求項４】
請求項３に記載のロボットにおいて、
前記マーカ認識手段により認識された前記マーカに関連する大きさに基づいて、処理の度合いを決定する度合決定手段を備え、
前記処理実行手段は、前記度合決定手段によって決定した処理の度合いを反映させて、前記マーカに対応する処理データを実行すること、
を特徴とするロボット。
【請求項５】
請求項３に記載のロボットにおいて、
前記処理データ記憶部は、前記マーカの大きさをさらに対応付けて記憶しており、
前記マーカ認識手段により認識された前記マーカの大きさを計測する計測手段を備え、
前記処理実行手段は、前記処理データ記憶部を参照し、前記計測手段により計測された前記マーカの大きさに対応する処理を実行すること、
を特徴とするロボット。
【請求項６】
請求項５に記載のロボットにおいて、
前記計測手段によって計測した前記マーカの大きさに基づいて前記マーカまでの距離を算出する距離算出手段と、
前記距離算出手段によって算出した前記距離に対応した動作を行う動作制御手段と、
を備えること、
を特徴とするロボット。
【請求項７】
請求項１又は請求項２に記載のロボットにおいて、
前記マーカは、一定の形状及び大きさを有する１の基準マーカと、処理を示す１以上の処理マーカとを含み、
前記基準マーカと前記処理マーカとの大きさの比率又は配置位置に対応した処理データを記憶する処理データ記憶部と、
前記マーカ認識手段によって認識された前記マーカの前記基準マーカと前記処理マーカとの大きさの比率を算出し、又は配置位置を特定する関係確認手段と、
を備え、
前記処理実行手段は、前記関係確認手段により算出した前記比率、又は、前記関係確認手段により特定した前記配置位置に対応する処理データを、前記処理データ記憶部から抽出して処理を行うこと、
を特徴とするロボット。
【請求項８】
請求項７に記載のロボットにおいて、
前記マーカ認識手段によって認識された前記マーカの前記基準マーカに基づいて前記マーカまでの距離を算出する距離算出手段と、
前記距離算出手段によって算出した前記距離に対応した動作を行わせる動作制御手段と、
を備えること、
を特徴とするロボット。
【請求項９】
請求項１又は請求項２に記載のロボットにおいて、
前記マーカは、二次元コードであり、
前記マーカ認識手段によって認識された前記マーカからコード情報を抽出するコード抽出手段を備え、
前記処理実行手段は、前記コード抽出手段が抽出したコード情報に基づく処理を実行すること、
を特徴とするロボット。
【請求項１０】
請求項１から請求項９までのいずれかに記載のロボットにおいて、
前記マーカの色情報に対応した処理データを記憶する色情報記憶部と、
前記マーカ認識手段によって認識された前記マーカに含まれる前記マーカの色情報を取得する色情報取得手段と、
を備え、
前記処理実行手段は、前記色情報取得手段により取得した色情報に対応する処理データを、前記色情報記憶部から抽出して処理を行うこと、
を特徴とするロボット。
【請求項１１】
請求項１から請求項１０までのいずれかに記載のロボットとしてコンピュータを機能させるためのプログラム。
【請求項１２】
請求項１から請求項１０までのいずれかに記載のロボットが認識処理を行うマーカ。
【請求項１３】
請求項１２に記載のマーカにおいて、
操作対象物に付されており、
前記ロボットに前記操作対象物をつかむための処理に対応するものであること、
を特徴とするマーカ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、プログラム及びマーカに関する。
【背景技術】
【０００２】
従来、人との間で対話を行う人型ロボットが開示されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１６−５３６６３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のロボットは、対話をする人を、顔認識により識別したり、例えば、ＱＲコード（登録商標）等のグラフィックコードを読み取ることで識別したりするものであった。よって、グラフィックコード等のマーカは、対話する人の識別に用いられていた。
【０００５】
本発明は、マーカを認識することで様々な処理を行うことが可能なロボット、プログラム及びマーカを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、以下のような解決手段により、前記課題を解決する。
第１の発明は、被写体を撮影して撮影画像を生成する撮影部と、処理内容が関連付けられたマーカを記憶するマーカ記憶部と、前記マーカ記憶部を参照して、前記撮影部によって得られた前記撮影画像から前記マーカを認識するマーカ認識手段と、前記マーカ認識手段によって認識された前記マーカに関連付けられている処理を実行する処理実行手段と、を備えるロボットである。
第２の発明は、第１の発明のロボットにおいて、前記マーカ認識手段は、前記マーカの種類を含めて前記マーカを認識し、前記処理実行手段は、前記マーカ認識手段によって認識した前記マーカの種類に対応した処理を実行すること、を特徴とするロボットである。
第３の発明は、第１の発明又は第２の発明のロボットにおいて、前記マーカ又は前記マーカの認識内容と、前記マーカに対応する処理データとを対応付けた処理データ記憶部を備え、前記処理実行手段は、前記処理データ記憶部を参照し、前記マーカ認識手段によって認識された前記マーカに対応する処理データを実行すること、を特徴とするロボットである。
第４の発明は、第３の発明のロボットにおいて、前記マーカ認識手段により認識された前記マーカに関連する大きさに基づいて、処理の度合いを決定する度合決定手段を備え、前記処理実行手段は、前記度合決定手段によって決定した処理の度合いを反映させて、前記マーカに対応する処理データを実行すること、を特徴とするロボットである。
第５の発明は、第３の発明のロボットにおいて、前記処理データ記憶部は、前記マーカの大きさをさらに対応付けて記憶しており、前記マーカ認識手段により認識された前記マーカの大きさを計測する計測手段を備え、前記処理実行手段は、前記処理データ記憶部を参照し、前記計測手段により計測された前記マーカの大きさに対応する処理を実行すること、を特徴とするロボットである。
第６の発明は、第５の発明のロボットにおいて、前記計測手段によって計測した前記マーカの大きさに基づいて前記マーカまでの距離を算出する距離算出手段と、前記距離算出手段によって算出した前記距離に対応した動作を行う動作制御手段と、を備えること、を特徴とするロボットである。
第７の発明は、第１の発明又は第２の発明のロボットにおいて、前記マーカは、一定の形状及び大きさを有する１の基準マーカと、処理を示す１以上の処理マーカとを含み、前記基準マーカと前記処理マーカとの大きさの比率又は配置位置に対応した処理データを記憶する処理データ記憶部と、前記マーカ認識手段によって認識された前記マーカの前記基準マーカと前記処理マーカとの大きさの比率を算出し、又は配置位置を特定する関係確認手段と、を備え、前記処理実行手段は、前記関係確認手段により算出した前記比率、又は、前記関係確認手段により特定した前記配置位置に対応する処理データを、前記処理データ記憶部から抽出して処理を行うこと、を特徴とするロボットである。
第８の発明は、第７の発明のロボットにおいて、前記マーカ認識手段によって認識された前記マーカの前記基準マーカに基づいて前記マーカまでの距離を算出する距離算出手段と、前記距離算出手段によって算出した前記距離に対応した動作を行わせる動作制御手段と、を備えること、を特徴とするロボットである。
第９の発明は、第１の発明又は第２の発明のロボットにおいて、前記マーカは、二次元コードであり、前記マーカ認識手段によって認識された前記マーカからコード情報を抽出するコード抽出手段を備え、前記処理実行手段は、前記コード抽出手段が抽出したコード情報に基づく処理を実行すること、を特徴とするロボットである。
第１０の発明は、第１の発明から第９の発明までのいずれかのロボットにおいて、前記マーカの色情報に対応した処理データを記憶する色情報記憶部と、前記マーカ認識手段によって認識された前記マーカに含まれる前記マーカの色情報を取得する色情報取得手段と、を備え、前記処理実行手段は、前記色情報取得手段により取得した色情報に対応する処理データを、前記色情報記憶部から抽出して処理を行うこと、を特徴とするロボットである。
第１１の発明は、第１の発明から第１０の発明までのいずれかのロボットとしてコンピュータを機能させるためのプログラムである。
第１２の発明は、第１の発明から第１０の発明までのいずれかのロボットが認識処理を行うマーカである。
第１３の発明は、第１２の発明のマーカにおいて、操作対象物に付されており、前記ロボットに前記操作対象物をつかむための処理に対応するものであること、を特徴とするマーカである。
【発明の効果】
【０００７】
本発明によれば、マーカを認識することで様々な処理を行うことが可能なロボット、プログラム及びマーカを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係るロボットの運用例を示す図である。
【図２】本実施形態に係るロボットの機能ブロック図である。
【図３】本実施形態に係るロボットの記憶部の例を示す図である。
【図４】本実施形態に係るマーカの例を示す図である。
【図５】本実施形態に係るロボットでのロボット制御処理を示すフローチャートである。
【図６】本実施形態に係るロボットでのパターンＡ処理を示すフローチャートである。
【図７】本実施形態に係るパターンＡ処理での具体例を説明するための図である。
【図８】本実施形態に係るロボットでのパターンＢ処理を示すフローチャートである。
【図９】本実施形態に係るマーカを認識した場合の具体例を示す図である。
【図１０】本実施形態に係るロボットでのパターンＣ処理を示すフローチャートである。
【図１１】本実施形態に係るロボットによるマーカを使った具体例を説明する図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について、図を参照しながら説明する。なお、これは、あくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
（実施形態）
図１は、本実施形態に係るロボット１の運用例を示す図である。
図２は、本実施形態に係るロボット１の機能ブロック図である。
図３は、本実施形態に係るロボット１の記憶部２０の例を示す図である。
図４は、本実施形態に係るマーカ４ｂの例を示す図である。
図１（Ａ）に示すロボット１は、例えば、高さが１ｍ程度の人型のロボットである。
ロボット１は、ロボット１のカメラ３１（撮影部）（後述する）が撮影した撮影画像からマーカ４（後述するマーカ４ａ〜４ｃ）を読み取って、マーカ４に関連付けられている処理を実行する。例えば、机の上に載置されている箱５（操作対象物）に、図１（Ｂ）に示すマーカ４ａが付されている場合、ロボット１は、マーカ４ａに関連付けられている処理として、箱５を掴んで持ち上げる動作を行う。
【００１０】
図２に示すように、ロボット１は、制御部１０と、記憶部２０と、カメラ３１と、スピーカ３２と、モータ部３３とを備える。
制御部１０は、ロボット１の全体を制御する中央処理装置（ＣＰＵ）である。制御部１０は、記憶部２０に記憶されているオペレーティングシステム（ＯＳ）やアプリケーションプログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、各種機能を実行する。
制御部１０は、画像取得部１１と、マーカ認識部１２（マーカ認識手段）と、マーカ計測部１３と、度合決定部１４（度合決定手段）と、関係確認部１５（関係確認手段）と、色データ取得部１６（色情報取得手段）と、コード抽出部１７（コード抽出手段）と、処理実行部１８（処理実行手段）とを備える。
【００１１】
画像取得部１１は、カメラ３１を介して撮影画像を取得する。
マーカ認識部１２は、マーカ形状が記憶されたマーカ記憶部２２を参照して、画像取得部１１が取得した撮影画像から、マーカ４（４ａ〜４ｃ）を認識する。
マーカ計測部１３は、マーカ認識部１２によって認識されたマーカ４ａに関連する大きさを計測する。例えば、マーカ４ａの大きさが一定の大きさである場合、マーカ計測部１３は、マーカ４ａに関連する大きさとしての箱５の大きさを、基準になるマーカ４ａを含む基準画像データとの比較によって計測する。
度合決定部１４は、マーカ４ａに関連する大きさに基づいて、処理の度合いを決定する。度合決定部１４は、例えば、箱５の大きさが小さいほど、腕を左右に広げる幅を小さくし、箱５の大きさが大きいほど、腕を左右に広げる幅を大きくするように、腕を広げる幅の度合いを決定する。
【００１２】
関係確認部１５は、マーカ認識部１２が認識したマーカ４ｂのうちの基準マーカ４ｂＢに対する処理マーカ４ｂＰ（いずれも後述する）の大きさの比率や、配置位置といった、マーカ４ｂにより示される関係を確認する。
色データ取得部１６は、マーカ４の色データを取得する。色データ取得部１６は、例えば、マーカ４ｂに含まれる処理マーカ４ｂＰの色データを取得する。
コード抽出部１７は、マーカ４ｃからコード情報を抽出する処理を行う。
【００１３】
処理実行部１８は、処理データ記憶部２３の処理Ａ記憶部２３１を参照して、マーカ４ａに関連付けられた処理を実行する。処理実行部１８は、度合決定部１４によって決定された度合いを反映させて処理を行う。
また、処理実行部１８は、処理データ記憶部２３の処理Ｂ記憶部２３２を参照して、マーカ４ｂに関連付けられた処理を実行する。処理実行部１８は、関係確認部１５によって確認された関係に基づく処理を行う。そして、処理実行部１８は、色データ記憶部２４（色情報記憶部）を参照し、色データ取得部１６によって取得した色データに基づく処理を行う。
さらに、処理実行部１８は、コード抽出部１７が抽出したコード情報に基づく処理を行う。
【００１４】
記憶部２０は、制御部１０が各種の処理を実行するために必要なプログラム、データ等を記憶するための半導体メモリ素子等の記憶領域である。
記憶部２０は、プログラム記憶部２１と、マーカ記憶部２２と、処理データ記憶部２３と、色データ記憶部２４とを備える。
プログラム記憶部２１は、プログラムを記憶する記憶領域である。プログラム記憶部２１は、上述した制御部１０の各種機能を実行するための制御プログラム２１ａ（プログラム）を記憶している。
【００１５】
マーカ記憶部２２は、ロボット１が認識するマーカ４を記憶する記憶領域である。図３（Ａ）に示すように、マーカ記憶部２２は、マーカ形状と、種類と、処理内容とを対応付けて記憶している。レコード２２ａは、マーカ形状が、マーカ４ａの例を示し、これは、図１（Ｂ）に示すマーカ４ａの形状と同じ場合である。また、レコード２２ｂは、マーカ形状が、マーカ４ｂの例を示し、レコード２２ｃ及びレコード２２ｄは、マーカ形状が、マーカ４ｃの例を示す。
【００１６】
図２に戻り、処理データ記憶部２３は、マーカ４ａ，４ｂに対する処理データを記憶する記憶領域である。処理データ記憶部２３は、処理Ａ記憶部２３１と、処理Ｂ記憶部２３２とを含む。
図３（Ｂ）に示すように、処理Ａ記憶部２３１は、マーカ４ａにより認識された認識内容と、処理データとを対応付けて記憶している。レコード２３１ａは、図１（Ｂ）に示すマーカ４ａの認識内容を示す。
図３（Ｃ）に示すように、処理Ｂ記憶部２３２は、マーカ４ｂに関する関係データ（大きさの比率、配置位置）と、処理データとを対応付けて記憶する。なお、パラメータａ及びパラメータｂが何のパラメータであるかは、予め決められている。
図２に戻り、色データ記憶部２４は、色データと、処理データとを対応付けて記憶する。色データは、赤、青、黄色等の色情報の他、網掛け、濃淡等の情報をも含む。
【００１７】
カメラ３１は、撮影装置である。カメラ３１は、例えば、ロボット１の目の部分に対応する位置に設けられている。そして、カメラ３１は、ロボット１の顔が向いた方向の被写体を撮影する。
スピーカ３２は、音声出力装置である。スピーカ３２は、例えば、ロボット１の口の部分に対応する位置に設けられている。そして、スピーカ３２は、制御部１０の指示に基づいて音声を出力する。
【００１８】
モータ部３３は、ロボット１に動作をさせるためのモータである。モータ部３３は、頭部モータ３３ａと、腕部モータ３３ｂと、足部モータ３３ｃとを備える。
頭部モータ３３ａは、ロボット１の頭部を動かすモータである。頭部モータ３３ａは、制御部１０によって制御され、頭部を上下左右に動かす。
腕部モータ３３ｂは、ロボット１の腕部を動作させるためのモータである。腕部モータ３３ｂは、制御部１０によって制御され、例えば、ロボット１が箱５を掴むために腕等を動かす。
足部モータ３３ｃは、ロボット１の足部を動作させるためのモータである。足部モータ３３ｃは、制御部１０によって制御され、例えば、ロボット１の位置を移動させる。
なお、図示しないが、ロボット１は、例えば、ロボット１の耳の部分に対応する位置にマイクを備えて、外部から音声を受け付けてもよい。
【００１９】
＜マーカ４＞
次にマーカ４について説明する。
マーカ４は、ロボット１が認識する標識であり、その形状によって処理が特定できるものである。
以下では、マーカ４を、種類ごとにマーカ４ａ〜４ｃとして説明する。
マーカ４ａは、図形等の形状と、その形状内に示された英数字等の文字であるマーカＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）とによって示されるものである。
マーカ４ａは、例えば、図１（Ｂ）に示すように、一体として認識可能な形状と、形状内のマーカＩＤとによって特定できる。そして、マーカ４ａの中の一体として認識可能な形状は、予め決められており、例えば、図３（Ａ）のレコード２２ａに示すように、マーカ記憶部２２に記憶されている。なお、マーカ４ａとして認識する図１（Ｂ）の形状のものは、一例であって、他の形状であってもよい。また、マーカ４ａは、形状のみで特定できるものであってもよい。しかし、いずれの場合も、マーカ４ａの他の形状がマーカ記憶部２２に記憶されている必要がある。
【００２０】
マーカ４ｂは、図３（Ａ）のレコード２２ｂに示す１つの基準マーカ４ｂＢと、１以上の処理マーカ４ｂＰとにより構成される。
ここで、基準マーカ４ｂＢ及び処理マーカ４ｂＰの形状は、予め決められており、マーカ記憶部２２に記憶されている。そして、基準マーカ４ｂＢの大きさは、一定である。他方、処理マーカ４ｂＰの大きさは、処理内容に応じて異なる。
【００２１】
図４は、マーカ４ｂの例を示す。
図４（Ａ）及び図４（Ｂ）は、基準マーカ４ｂＢと、処理マーカ４ｂＰとが一体になっておらず、並んで配置された場合の例を示す。この場合、処理データは、例えば、処理マーカ４ｂＰの基準マーカ４ｂＢに対する比率に対応する。
図４（Ｃ）は、基準マーカ４ｂＢと、処理マーカ４ｂＰとが一体になっており、基準マーカ４ｂＢと、処理マーカ４ｂＰとが同心円状に位置する場合の例である。また、図４（Ｄ）は、基準マーカ４ｂＢと、処理マーカ４ｂＰとが一体になっており、基準マーカ４ｂＢと、処理マーカ４ｂＰとが同心円状に位置していない場合の例である。これらの場合、処理データは、例えば、処理マーカ４ｂＰの基準マーカ４ｂＢに対する比率や、処理マーカ４ｂＰと基準マーカ４ｂＢとの位置関係に対応する。
【００２２】
マーカ４ｃは、コード情報を含むものである。マーカ４ｃは、図３（Ａ）のマーカ記憶部２２において、レコード２２ｃにあるように、ＱＲコード（登録商標）等の二次元コードであってもよいし、レコード２２ｄにあるように、バーコード等の一次元コードであってもよい。
【００２３】
＜ロボット１の処理＞
次に、ロボット１の処理について説明する。
図５は、本実施形態に係るロボット１でのロボット制御処理を示すフローチャートである。
ここで、ロボット１の電源が投入され、例えば、マーカ読み取りモードに設定されている場合に、ロボット１は、このロボット制御処理を、常に実行するものとする。
ステップＳ（以下、「Ｓ」という。）１０において、ロボット１の制御部１０（画像取得部１１）は、カメラ３１を介して撮影画像を取得する。
Ｓ１１において、制御部１０（マーカ認識部１２）は、マーカ記憶部２２を参照し、撮影画像にマーカ４（例えば、マーカ４ａからマーカ４ｃまでのいずれか）を含むか否かを判断する。マーカ４を含む場合（Ｓ１１：ＹＥＳ）には、制御部１０は、処理をＳ１２に移す。他方、マーカ４を含まない場合（Ｓ１１：ＮＯ）には、制御部１０は、処理をＳ１０に移す。
【００２４】
Ｓ１２において、制御部１０（マーカ認識部１２）は、撮影画像に含まれるマーカ４を認識し、マーカ記憶部２２を参照して、マーカ４の形状が、マーカ４ａからマーカ４ｃまでのいずれであるかを特定する。そして、制御部１０は、特定したマーカ４の形状からマーカ４の種類（パターンＡからパターンＣまでのいずれか）を特定する。
Ｓ１３において、制御部１０は、特定したマーカ４の種類が、パターンＡであるか否かを判断する。ここで、マーカ４の種類が、パターンＡである場合とは、制御部１０が、マーカ４ａを認識した場合をいう。パターンＡである場合（Ｓ１３：ＹＥＳ）には、制御部１０は、処理をＳ１４に移し、後述するパターンＡ処理を実行後、本処理を終了する。他方、パターンＡではない場合（Ｓ１３：ＮＯ）には、制御部１０は、処理をＳ１５に移す。
【００２５】
Ｓ１５において、制御部１０は、特定したマーカ４の種類が、パターンＢであるか否かを判断する。ここで、マーカ４の種類が、パターンＢである場合とは、制御部１０が、基準マーカ４ｂＢと、処理マーカ４ｂＰとからなるマーカ４ｂを認識した場合をいう。パターンＢである場合（Ｓ１５：ＹＥＳ）には、制御部１０は、処理をＳ１６に移し、後述するパターンＢ処理を実行後、本処理を終了する。他方、パターンＢではない場合（Ｓ１５：ＮＯ）には、制御部１０は、処理をＳ１７に移す。
【００２６】
Ｓ１７において、制御部１０は、特定したマーカ４の種類が、パターンＣであるか否かを判断する。ここで、マーカ４の種類が、パターンＣである場合とは、制御部１０が、マーカ４ｃを認識した場合をいう。パターンＣである場合（Ｓ１７：ＹＥＳ）には、制御部１０は、処理をＳ１８に移し、後述するパターンＣ処理を実行後、本処理を終了する。他方、パターンＣではない場合（Ｓ１７：ＮＯ）には、制御部１０は、本処理を終了する。なお、パターンＣではない場合とは、例えば、マーカ記憶部２２のマーカ形状に対応するマーカを認識したが、種類がパターンＡからパターンＣまでのいずれにも該当しない場合をいう。
【００２７】
＜例１＞
次に、制御部１０が特定したマーカ４の種類がパターンＡであって、マーカ４ａを認識した場合について説明する。
図６は、本実施形態に係るロボット１でのパターンＡ処理を示すフローチャートである。
図７は、本実施形態に係るパターンＡ処理での具体例を説明するための図である。
図６のＳ２０において、制御部１０は、マーカ４ａが付された箱５を認識する。そして、制御部１０（マーカ計測部１３、度合決定部１４）は、箱５の大きさを計測し、度合いを決定する。具体的には、制御部１０は、図７（ａ）に示すような、基準となる箱５に付されたマーカ４ａの画像データである基準画像データ６０ｘを、予め記憶部２０に記憶させておく。そして、制御部１０は、撮影画像の画像データと、基準画像データ６０ｘとを比較することによって、マーカ４ａに関連する箱５の大きさを計測し、基準からの度合いを決定する。
【００２８】
例えば、撮影画像として図７（Ｂ）に示す画像データ６０ａを得た場合、制御部１０は、図７（Ａ）に示す基準画像データ６０ｘと、図７（Ｂ）に示す画像データ６０ａとを用いて、基準画像データ６０ｘに含まれる箱５の大きさに対する、画像データ６０ａに含まれる箱５の大きさの割合を算出する。実際のマーカ４ａの大きさは、一定であるので、制御部１０は、マーカ４ａの大きさが一定になるように、例えば、画像データ６０ａを拡大又は縮小する。そして、制御部１０は、図７（Ｂ）に示す画像データ６０ａの箱５の大きさの度合いを、例えば、基準の大きさ＋２０％と決定する。
また、例えば、撮影画像として図７（Ｃ）に示す画像データ６０ｂを得た場合、制御部１０は、図７（Ａ）に示す基準画像データ６０ｘと、図７（Ｃ）に示す画像データ６０ｂとを用いて、図７（Ｃ）に示す画像データ６０ｂの箱５の大きさの度合いを、例えば、基準の大きさ−１０％と決定する。
【００２９】
図６に戻り、Ｓ２１において、制御部１０（処理実行部１８）は、マーカ４ａに対応付けられた処理データを、処理Ａ記憶部２３１から抽出することで取得する。制御部１０は、マーカ４ａからマーカＩＤを認識し、マーカＩＤを認識内容として、対応する処理データを処理Ａ記憶部２３１から抽出する。図７（Ａ）に示す基準画像データ６０ｘの例では、処理データは、例えば、腕の幅を１００ｍｍに広げて掴むという内容のデータである。
Ｓ２２において、制御部１０（処理実行部１８）は、取得した処理データに、度合いを反映させて処理を実行する。図７（Ｂ）の例では、制御部１０は、１００ｍｍに＋２０％した１２０ｍｍに腕の幅を広げて手と手の間にある物を掴む処理を行う。また、図７Ｃ（）の例では、制御部１０は、１００ｍｍに−１０％した９０ｍｍに腕の幅を広げて手と手の間にある物を掴む処理を行う。この処理によって、箱５の大きさにかかわらず、ロボット１は、マーカ４ａが付された箱５を掴むことができる。その後、制御部１０は、本処理を終了し、処理を図５に移す。
【００３０】
＜例２＞
次に、特定したマーカ４の種類がパターンＢであって、マーカ４ｂを認識した場合について説明する。
図８は、本実施形態に係るロボット１でのパターンＢ処理を示すフローチャートである。
Ｓ３０において、制御部１０（関係確認部１５）は、基準マーカ４ｂＢと、処理マーカ４ｂＰとの大きさの比率を算出する。例えば、図４（Ａ）に示すマーカ４ｂを含む画像データを得た場合、制御部１０は、基準マーカ４ｂＢの直径に対する処理マーカ４ｂＰの直径の割合（比率）を、例えば、３．０と算出する。
Ｓ３１において、制御部１０（関係確認部１５）は、基準マーカ４ｂＢと、処理マーカ４ｂＰとの配置位置を特定する。例えば、図４（Ａ）に示すマーカ４ｂを含む画像データを得た場合には、制御部１０は、基準マーカ４ｂＢと、処理マーカ４ｂＰとが一体になっているものではないため、本処理を行わない。また、例えば、図４（Ｃ）に示すマーカ４ｂを含む画像データを得た場合には、制御部１０は、基準マーカ４ｂＢと、処理マーカ４ｂＰとが一体になっているので、制御部１０は、基準マーカ４ｂＢと、処理マーカ４ｂＰとの配置位置として、両者が同心円上に配置されていると特定する。
【００３１】
Ｓ３２において、制御部１０（色データ取得部１６）は、処理マーカ４ｂＰの色データを取得する。
Ｓ３３において、制御部１０（処理実行部１８）は、取得した色データに対応する処理データを、色データ記憶部２４から抽出して取得する。
Ｓ３４において、制御部１０（処理実行部１８）は、算出した大きさの比率及び特定した配置位置に対応する処理データを、処理Ｂ記憶部２３２から抽出することで取得する。
Ｓ３５において、制御部１０（処理実行部１８）は、Ｓ３３及びＳ３４で取得した処理データを実行する。その後、制御部１０は、本処理を終了し、処理を図５に移す。
【００３２】
このパターンＢ処理による具体例を説明する。
図９は、本実施形態に係るマーカ４ｂを認識した場合の具体例を示す図である。
図９（Ａ）は、図４（Ｃ）のマーカ４ｂを応用した例であり、基準マーカ４ｂＢと、複数の処理マーカ４ｂＰ（処理マーカ４ｂＰ１〜４ｂＰ３）とが一体になっているマーカ４ｂの例である。複数の処理マーカ４ｂＰの各々には、色が付されている。
図８のＳ３０に対応する処理として、制御部１０は、基準マーカ４ｂＢと、各処理マーカ４ｂＰとの大きさの比率を算出する。まず、制御部１０は、基準マーカ４ｂＢと、処理マーカ４ｂＰ１との大きさの比率を算出する。同様に、制御部１０は、基準マーカ４ｂＢと、処理マーカ４ｂＰ２との大きさの比率、及び、基準マーカ４ｂＢと、処理マーカ４ｂＰ３との大きさの比率を算出する。ここで、大きさの比率は、幅の長さに応じたものにしてもよい。そこで、制御部１０は、処理マーカ４ｂＰ１から処理マーカ４ｂＰ３までの比率を順番に、２，４，１と算出する。
【００３３】
次に、図８のＳ３１に対応する処理として、制御部１０は、基準マーカ４ｂＢと、各処理マーカ４ｂＰとの配置位置を特定する。この例の場合、基準マーカ４ｂＢと、各処理マーカ４ｂＰとは、同心円上に配置されている。そのため、制御部１０は、例えば、足部モータ３３ｃを制御して動くためのパラメータを変更しない。つまり、制御部１０は、このロボット１を移動させない。
【００３４】
図８のＳ３２及びＳ３３に対応する処理として、制御部１０は、各処理マーカ４ｂＰの色データを取得し、色データ記憶部２４を参照して、取得した色データに対応する処理データを、色データ記憶部２４から抽出する。
例えば、処理マーカ４ｂＰ１の色データに対応する処理データが、頭を左にかしげる動作に対応するものであるとする。同様に、処理マーカ４ｂＰ２の色データに対応する処理データが、頭を右にかしげる動作に対応するものであり、処理マーカ４ｂＰ３の色データに対応する処理データが、腕を前方向に伸ばす動作に対応するものであるものとする。
【００３５】
図８のＳ３４に対応する処理として、制御部１０は、算出した比率に対応する処理データを、処理Ｂ記憶部２３２から抽出して取得する。具体例としては、処理データは、例えば、色データに対応する処理を、パラメータの大きさに対応させて実行させる、というものである。図９（Ｂ）は、上述した処理内容を、処理マーカ４ｂＰごとに記載して記憶部２０に記憶させた処理テーブル２９の例を示す。制御部１０は、このような処理テーブル２９を生成してもよい。
【００３６】
図８のＳ３５に対応する処理として、制御部１０は、取得した処理データを実行する。具体例としては、制御部１０は、頭を左に２だけ（２０度）かしげる動作をし、次に、頭を右に４だけ（４０度）かしげる動作をし、そして、腕を前方向に１だけ（１０度）伸ばす動作を、順番に行う。
なお、この例では、制御部１０は、基準マーカ４ｂＢに近い処理マーカ４ｂＰから順番に処理を行うものとして説明した。しかし、これに限定されるものではなく、例えば、逆順であってもよい。
【００３７】
＜例３＞
最後に、特定したマーカ４の種類がパターンＣであって、マーカ４ｃを認識した場合について説明する。
図１０は、本実施形態に係るロボット１でのパターンＣ処理を示すフローチャートである。
Ｓ４０において、制御部１０（コード抽出部１７）は、認識したマーカ４ｃからコード情報を抽出する。
Ｓ４１において、制御部１０（処理実行部１８）は、Ｓ４０で抽出したコード情報に基づく処理を行う。その後、制御部１０は、本処理を終了し、処理を図５に移す。
【００３８】
ここで、ロボット１が次々に異なるマーカ４ｃを読み取ることで、ロボット１を連続動作させる例を説明する。
図１１は、本実施形態に係るロボット１によるマーカ４ｃを使った具体例を説明する図である。
最初に、ユーザは、ロボット１のカメラ３１による撮影範囲に、図１１（Ａ）に示すマーカ４ｃ１を含むボード５１を置くことで、ロボット１は、カメラ３１を介してマーカ４ｃ１を含む撮影画像を取得する。マーカ４ｃ１は、前方向に３歩進むことを行わせるためのコード情報を有する。これにより、ロボット１の制御部１０は、図１１（Ｂ）に示すように、ロボット１を前方向に３歩進ませる（＃１）。
【００３９】
次に、ユーザは、ロボット１のカメラ３１による撮影範囲に、図１１（Ａ）に示すマーカ４ｃ２を含むボード５２を置くことで、ロボット１は、マーカ４ｃ２を含む撮影画像を、カメラ３１を介して取得する。マーカ４ｃ２は、腕を動かして掴む動作を行わせるためのコード情報を有する。これにより、ロボット１の制御部１０は、図１１（Ｂ）に示すように、ロボット１に、前にあるりんごを掴む動作を行う（＃２）。
その後、ユーザは、ロボット１のカメラ３１による撮影範囲に、図１１（Ａ）に示すマーカ４ｃ３を含むボード５３を置くことで、ロボット１は、マーカ４ｃ３を含む撮影画像を、カメラ３１を介して取得する。マーカ４ｃ３は、向きを左に９０度変えるためのコード情報を有する。これにより、制御部１０は、図１１（Ｂ）に示すように、ロボット１を、左方向に向かせる（＃３）。
【００４０】
その後、ユーザは、ロボット１のカメラ３１による撮影範囲に、図１１（Ａ）に示すマーカ４ｃ４を含むボード５４を置くことで、ロボット１は、マーカ４ｃ４を含む撮影画像を、カメラ３１を介して取得する。マーカ４ｃ４は、前方向に２歩進むことを行わせるためのコード情報を有する。これにより、ロボット１の制御部１０は、図１１（Ｂ）に示すように、ロボット１を前方向に２歩進む（＃４）。
最後に、ユーザは、ロボット１のカメラ３１による撮影範囲に、図１１（Ａ）に示すマーカ４ｃ５を含むボード５５を置くことで、ロボット１は、マーカ４ｃ５を含む撮影画像を、カメラ３１を介して取得する。マーカ４ｃ５は、掴んでいるものを離すためのコード情報を有する。これにより、ロボット１の制御部１０は、図１１（Ｂ）に示すように、ロボット１が掴んでいるりんごを離す動作をさせる（＃５）。この動作を行った後、りんごは、ロボット１の目の前にある別の台の上に載置される。
【００４１】
このように、本実施形態のロボット１によれば、以下のような効果がある。
（１）撮影画像からマーカ４を認識し、マーカ４に関連付けられた処理を実行する。よって、マーカ４を認識することで、マーカ４に関連付けられた様々な処理を行うことができる。
（２）マーカ４の種類を含めてマーカ４を認識するので、マーカ４の種類に対応した処理を行うことができる。
【００４２】
（３）マーカ４ａに対応した処理データを記憶することで、認識したマーカ４ａに対応した処理データを実行することで、マーカ４ａに対応した処理を行うことができる。
（４）マーカ４ａが付された箱５の大きさに基づいて、処理の度合いを決定し、度合いを反映させて処理を実行するので、マーカ４ａに関連する大きさを、処理に反映させることができる。
【００４３】
（５）基準マーカ４ｂＢと、処理マーカ４ｂＰとを含むマーカ４ｂの場合に、認識したマーカ４ｂの基準マーカ４ｂＢと処理マーカ４ｂＰとの大きさの比率を特定する。そして、基準マーカ４ｂＢと処理マーカ４ｂＰとの大きさの比率に対応した処理データを記憶した処理Ｂ記憶部２３２から処理データを抽出して処理を行うので、マーカ４ｂの大きさにかかわらず、一律に処理を行うことができる。
（６）マーカ４ｃの場合に、マーカ４ｃからコード情報を抽出できるので、抽出したコード情報に基づく処理をすることができる。
【００４４】
（７）マーカ４の色データに対応した処理データを記憶する色データ記憶部２４を有し、マーカ４の色データを取得することで、取得した色データに対応した処理を、色データ記憶部２４から抽出して行うことができる。よって、同じ形状のマーカ４であっても、マーカ４の色が異なれば、異なる処理を行うことができる。
（８）マーカ４を、箱５等のロボット１が触れる操作対象物に付すことで、マーカ４によって、ロボット１に、マーカ４が付された操作対象物に対する操作をさせることができる。
【００４５】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。また、実施形態に記載した効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載したものに限定されない。なお、上述した実施形態及び後述する変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。
【００４６】
（変形形態）
（１）本実施形態では、マーカ４ａの大きさが一定である場合に、マーカ４ａが付された箱５の大きさの度合いを決定するものを例に説明したが、これに限定されない。マーカの大きさを計測し、マーカの大きさに対応する処理を実行するものであってもよい。具体的には、例えば、マーカの大きさに基づいて、マーカまでの距離を算出し、距離に対応した動作として、例えば、算出した距離に応じてロボットを移動させたり、距離に対応した大きさの音声を出力させたりするものであってもよい。
【００４７】
（２）本実施形態では、マーカ４ｃとしてＱＲコードやバーコードを用いる例を説明したが、これに限定されない。他の二次元コードであってもよいし、バーコード以外のコードであってもよく、マーカからコード情報が抽出できるものであれば、どのようなものでもよい。
（３）本実施形態では、マーカ４ａ及びマーカ４ｂの具体例として、ある形状のものを例に説明したが、これに限定されない。マーカ記憶部のマーカ形状に記憶されていれば、どのような形状のものであってもよい。但し、マーカ４ｂの基準マーカ４ｂＢは、形状及び大きさを一定にする必要がある。
【００４８】
（４）本実施形態では、マーカ４ｂの具体例として、同心円上に基準マーカ４ｂＢと、処理マーカ４ｂＰとを配置したものを例に説明したが、これに限定されない。基準マーカ４ｂＢと、処理マーカ４ｂＰとの配置位置が同心円上でなくてもよい。その場合には、その配置位置によって、処理データを、配置位置に対応したものにしてもよい。例えば、基準マーカ４ｂＢが、処理マーカ４ｂＰの左下に配置されている場合に、ロボットは、右腕を水平にし、左腕を斜め下方向にする等である。
【００４９】
（５）本実施形態では、マーカを認識することで、ロボットに物を掴む処理を行わせるものを主に説明した。掴む処理をする物としては、運搬対象物の他、人にティッシュペーパーやサンプル等を配布するような場合等、接客用のロボットとして使用してもよい。その場合には、「どうぞ」等の音声出力を行う処理データを、マーカに対応付けておけば、ロボットによる物を掴んで話す動作と、音声とをあわせて行うことができる。また、物を掴む処理に限定されず、マーカに処理を対応付けることで、ロボットを、人を相手とする教育、介護等の様々な用途に使用することができる。
【００５０】
（６）本実施形態では、ロボットがカメラを備えて撮影画像を取得するものを例に説明したが、これに限定されない。例えば、ロボットがカメラから撮影画像を受信してもよい。その場合には、カメラの位置は、近傍にすることで、ロボットがカメラを備える場合と同様の処理が可能である。
（７）本実施形態では、ロボットが各種処理を行うものを例に説明したが、これに限定されない。ロボットに対して通信可能に接続されたサーバを備え、サーバが各種処理を行ってもよい。その場合には、ロボットは、少なくとも、ロボットが動作をするためのモータ部を備えるものであればよい。また、ロボットと、サーバとの両方の装置によって各種処理を行ってもよい。
【符号の説明】
【００５１】
１    ロボット
４，４ａ，４ｂ，４ｃ，４ｃ１〜４ｃ５  マーカ
４ｂＢ  基準マーカ
４ｂＰ，４ｂＰ１〜４ｂＰ３  処理マーカ
１０  制御部
１１  画像取得部
１２  マーカ認識部
１３  マーカ計測部
１４  度合決定部
１５  関係確認部
１６  色データ取得部
１７  コード抽出部
１８  処理実行部
２０  記憶部
２１ａ  制御プログラム
２２  マーカ記憶部
２３  処理データ記憶部
２４  色データ記憶部
３１  カメラ
３３  モータ部
【図１】
2018134687.tif 000003
【図２】
2018134687.tif 000004
【図３】
2018134687.tif 000005
【図４】
2018134687.tif 000006
【図５】
2018134687.tif 000007
【図６】
2018134687.tif 000008
【図７】
2018134687.tif 000009
【図８】
2018134687.tif 000010
【図９】
2018134687.tif 000011
【図１０】
2018134687.tif 000012
【図１１】
2018134687.tif 000013