説明

ロボット制御システム及びロボット制御プログラム

【課題】物体の搬送作業を行えるロボットを好適に制御できるロボット制御システムを、提供する。
【解決手段】カメラ画像が表示されているタッチスクリーン上の或る範囲を指定する操作が行われた場合、カメラ画像に対する画像セグメンテーション処理結果を利用して、カメラ画像中の、ユーザが指定した範囲内に所定割合以上の部分が含まれているセグメント群からなる画像を探索し、探索した画像を、搬送対象物の画像として特定(S102)し、特定した画像に基づき搬送対象物をロボットに搬送させる制御処理(S110)を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体の搬送作業を実行可能なロボットを制御するためのロボット制御システムとロボット制御プログラムとに関する。
【背景技術】
【0002】
近年、掃除やモップがけを行える家事支援ロボット(例えば、特許文献1参照。)が、一般家庭で使用されるようになってきている。また、物体を持ち運ぶことが出来るロボットも開発されているため、一般家庭で使用するための、物体の搬送作業が行えるロボットが開発される日も近いと考えられる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−331434号公報
【非特許文献】
【0004】
【非特許文献1】"NyARToolKit"、[online]、[平成21年6月16日検索]、インターネット<URL:http://sourceforge.jp/projects/nyartoolkit/>
【非特許文献2】"Efficient graph-based image segmentation", International Journal of Computer Vision, vol. 59, no. 2, pp. 167-181, 2004
【非特許文献3】"Fast visual search using focused color matching - active search", System and Computers In Japan, vol. 31, no. 9, pp. 81-88, 2000
【発明の概要】
【発明が解決しようとする課題】
【0005】
そこで、本発明の課題は、物体の搬送作業を行えるロボットを好適に制御できるロボット制御システムと、それを用いることにより、そのようなロボット制御システムを実現(構築)できるロボット制御プログラムとを、提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のロボット制御システムは、物体の搬送作業を実行可能なロボットを機能させる空間であるロボット利用空間についての画像データを繰り返し生成する撮影手段と、前記撮影手段が生成する各画像データに基づき、画面上に、前記ロボット利用空間の現状を示す画像を表示する表示手段と、前記撮影手段が生成する画像データに対して画像セグメンテーション処理を行うことにより、当該画像データが示している画像を複数のセグメントに分割するセグメンテーション手段と、前記ロボットに搬送させるべき物体である搬送対象物をユーザに指定させるためのユーザインターフェース手段であって、前記画面上の或る範囲を指定する範囲指定操作がなされた場合に、前記セグメンテーション手段による処理結果を利用して、前記画面上に表示されている画像中から、前記範囲指定操作で指定された範囲内に所定割合以上の部分が含まれているセグメント群からなる画像を搬送対象物画像として探索する処理を行い、その時点における画像が当該搬送対象物画像となっている物体が、前記搬送対象物として指定されたと判断するユーザインターフェース手段と、前記ユーザインタフェース手段により探索された前記搬送対象物画像を利用して、前記搬送対象物に対する搬送作業を前記ロボットに行わせるロボット制御手段とを備える。
【0007】
すなわち、本発明のロボット制御システムは、撮影手段からの画像データに基づき、画面上に、ロボット利用空間の現状を示す画像(以下、カメラ画像と表記する)を表示する
システムであると共に、カメラ画像が表示されている画面上の或る範囲をユーザが指定すると、カメラ画像に対する画像セグメンテーション処理結果を利用して、カメラ画像中の、ユーザが指定した範囲内に所定割合以上の部分が含まれているセグメント群からなる画像を、搬送対象物画像(ユーザが搬送対象物として指定した物体の現時点における画像)として探索するシステムとなっている。
【0008】
従って、このロボット制御システムでは、他の物体と重ならない形で画面上に表示されている物体をユーザが搬送対象物として指定した場合、他の物体と重なった形で画面上に表示されている物体をユーザが搬送対象物として指定した場合のいずれの場合にも、搬送対象物画像が正確に探索(特定)されることになる。
【0009】
そして、搬送対象物画像を正確に探索できれば、その搬送対象物画像に基づき、搬送対象物の搬送作業をロボットに行わせるために必要な情報(搬送対象物の現在位置に関する情報)を得ることが出来るのであるから、本発明のロボット制御システムによれば、物体の搬送作業を行えるロボットを好適に制御できることになる。
【0010】
本発明のロボット制御システムを実現するに際しては、ロボット制御手段として、『前記セグメンテーション手段による処理結果を利用して前記画面上に表示されている画像内に含まれている幾つかの連続したセグメントからなる複数個の比較対照画像を特定し、特定した複数個の比較対照画像の中から前記搬送対象物画像と最も類似した比較対照画像を探索し、探索した比較対照画像の前記画面上での位置から、前記ロボットの制御に用いる、前記ロボット利用空間内での前記搬送対象物の現在位置情報を算出する手段』を採用しておくことが出来る。なお、そのようなロボット制御手段を採用しておけば、搬送対象物の現在位置(現在位置情報)を特に正確に把握できる(搬送対象物を見失う可能性がより低い)ロボット制御システムを実現できることになる。
【0011】
本発明のロボット制御システムは、搬送対象物の搬送場所(搬送先)を予め指定/設定しておくタイプのシステムとして実現することも、搬送作業毎に、搬送対象物の搬送場所を指定するタイプのシステム(『前記ユーザインターフェース手段が、前記搬送対象物と、前記搬送対象物を搬送すべき場所である搬送場所とを、ユーザに指定させる手段であり、前記ロボット制御手段が、前記搬送対象物画像を利用して、前記搬送対象物を前記搬送場所まで搬送する搬送作業を前記ロボットに行わせる手段である』システム)として実現することも可能なものである。
【0012】
本発明のロボット制御システムを、後者のタイプのものとして実現する場合には、ユーザインターフェース手段として、『前記搬送対象物画像を探索した後、ドラッグアンドドロップ操作が可能な搬送場所指定用アイコンを前記画面上に表示し、当該搬送場所指定用アイコンに対するドラッグアンドドロップ操作がなされたときに、その搬送場所指定用アイコンのドロップ位置に対応する前記ロボット利用空間内の場所が前記搬送場所として指定されたと判断する手段』を採用しておくことが出来る。また、ユーザインターフェース手段として、『前記搬送対象物画像をアイコン化したものを前記搬送場所指定用アイコンとして表示する手段』を採用しておくことも出来る。
【0013】
さらに、“他の物体の画像と重なっていない位置に搬送場所指定用アイコンをドロップしたにも拘わらず、指定した搬送場所に、搬送対象物を配置可能な余地がない”といったようなことが生じないようにするために、ユーザインターフェース手段として、『前記搬送場所指定用アイコンのドラッグアンドドロップ操作中に、前記搬送場所指定用アイコンのサイズを、前記搬送場所指定用アイコンの表示位置に対応する前記ロボット利用空間内の位置に前記搬送対象物が存在していた場合における前記搬送対象物の画像のサイズに変更するサイズ変更機能を有する手段』を採用しておくことも出来る。
【0014】
また、搬送場所指定用アイコンのドラッグアンドドロップ操作中に、ユーザが、搬送場所指定用アイコンのサイズの微妙な変化に起因する違和感を感じないようにするために、ユーザインターフェース手段として、上記サイズ変更機能を有する手段であると共に、『前記撮影手段の前記ロボット利用空間に対する姿勢に応じて、前記サイズ変更機能をON/OFFする手段』を採用しておくことも出来る。
【0015】
また、セットアップ作業な容易なシステムとするために、本発明のロボット制御システムを、『前記ロボットの特定の部分の形状を示す形状情報と前記撮影手段が生成した画像データとに基づき、当該画像データが示している画像中の各画素の位置から、各画素に対応する、前記ロボット利用空間内の位置についての、前記ロボットの走行面に平行な座標面を有する座標系座標を求めるための変換情報を算出する変換情報算出手段を、さらに、備え、前記ロボット制御手段が、前記変換情報算出手段により算出された変換情報を利用して前記撮影手段が生成する画像データを解析することによって、前記ロボットの制御に用いる、前記ロボット利用空間内での前記ロボットの現在位置情報と前記搬送対象物の現在位置情報とを算出する手段である』システムとして実現しておくことも出来る。
【0016】
そして、本発明のロボット制御プログラムは、コンピュータを、物体の搬送作業を実行可能なロボットを機能させる空間であるロボット利用空間に向けられたデジタルカメラからの画像データに基づき、画面上に、前記ロボット利用空間の現状を示す画像を表示する表示手段と、前記デジタルカメラからの画像データに対して画像セグメンテーション処理を行うことにより、当該画像データが示している画像を複数のセグメントに分割するセグメンテーション手段と、前記ロボットに搬送させるべき物体である搬送対象物をユーザに指定させるためのユーザインターフェース手段であって、前記画面上の或る範囲を指定する範囲指定操作がなされた場合に、前記セグメンテーション手段による処理結果を利用して、前記画面上に表示されている画像中から、前記範囲指定操作で指定された範囲内に所定割合以上の部分が含まれているセグメント群からなる画像を搬送対象物画像として探索する処理を行い、その時点における画像が当該搬送対象物画像となっている物体が、前記搬送対象物として指定されたと判断するユーザインターフェース手段と、前記ユーザインタフェース手段により探索された前記搬送対象物画像を利用して、前記搬送対象物に対する搬送作業を前記ロボットに行わせるロボット制御手段とを備える装置として機能させることが出来るものとなっている。
【0017】
従って、このロボット制御プログラムを用いれば、物体の搬送作業を行えるロボットを好適に制御できるロボット制御システム(請求項1記載のロボット制御システムに相当するシステム)を実現できることになる。
【発明の効果】
【0018】
本発明によれば、物体の搬送作業を行えるロボットを好適に制御できるロボット制御システムと、それを用いることにより、そのようなロボット制御システムを実現(構築)できるロボット制御プログラムとを、提供することが出来る。
【図面の簡単な説明】
【0019】
【図1】本発明の第1実施形態に係るロボット制御システムの構成図である。
【図2】第1実施形態に係るロボット制御システムが制御するロボットの外観図である。
【図3】第1実施形態に係るロボット制御システム内の制御装置が実行する画像セグメンテーション処理の処理内容の説明図である。
【図4】第1実施形態に係るロボット制御システム内の制御装置が実行するメイン処理の流れ図である。
【図5】メイン処理(搬送指示受付処理)の実行中にタッチスクリーン上に表示される画像の一例を示した図である。
【図6】メイン処理(搬送指示受付処理)内で実行されるD&D操作応答処理の内容を説明するための図である。
【図7】第1実施形態に係るロボット制御システム内の制御装置が実行するロボット制御処理の流れ図である。
【図8】第1実施形態に係るロボット制御システム内の制御装置が算出するカラーヒストグラムの説明図である。
【図9】本発明の第2実施形態に係るロボット制御システム内の制御装置が実行する第2D&D操作応答処理の流れ図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【0021】
《第1実施形態》
まず、図1及び図2を用いて、本発明の第1実施形態に係るロボット制御システム10の概要を説明する。
【0022】
図1に示してあるように、本実施形態に係るロボット制御システム10は、ロボット15と、制御装置11と、当該制御装置11にケーブルにて接続されたカメラ12及びタッチスクリーンディスプレイ13とを、備えている。
【0023】
このロボット制御システム10が備えるロボット15は、ロボットプラットフォームとして市販されているiRobot Create(iRobot Corporationの商標)を、Bluetooth(Bluetooth-SIG Inc.の商標)による無線制御が可能なように改造したロボットである。
【0024】
図2に示したように、このロボット15の上面中央部には、回転対称性を有さない形状のマーカー図形が描画されている板状のロボットマーカーが、その上下方向(図における上下方向)とロボット15の前後方向(図における上下方向)とが一致し、かつ、その板面とロボット15の走行面(ロボット15に物体の搬送作業を行わせる部屋の床面;以下、ロボット走行面と表記する)とが平行になる姿勢で、取り付けられている。
【0025】
カメラ12(図1)は、被写体(撮影対象)についての画像データ(カラー画像データ)を周期的に出力可能な装置(PCカメラ、Webカメラ等と称されている装置)である。本ロボット制御システム10のセットアップ時には、このカメラ12を、ロボット15に物体の搬送作業を行わせる部屋の天井近傍の箇所に当該部屋の床の様子/状況を斜め上方から撮影できる姿勢で固定する作業が、行われる。なお、本実施形態において、“物体の搬送作業”とは、“床上の物体を押す(床上の物体と接した状態で床上を物体方向に移動する)ことにより当該物体の床上での位置を変更する作業”のことである。
【0026】
タッチスクリーンディスプレイ13は、指で操作可能なタッチスクリーン14を備えた表示装置(コンピュータの周辺機器として市販されているディスプレイ)である。このタッチスクリーンディスプレイ13は、スピーカーを内蔵したものとなっている。
【0027】
制御装置11は、カメラ12、タッチスクリーンディスプレイ13及びロボット15を統合的に制御することにより、ロボット制御システム10を、『タッチスクリーン14に対する操作により、ユーザが、所望の“物体の搬送作業”をロボット15に行わせることが出来るシステム』として機能させる装置である。
【0028】
この制御装置11は、Bluetoothによる通信機能等を有するコンピュータに、本システ
ム用のものとして用意したプログラムであるロボット制御プログラムや、上記したマーカー図形の形状(各部のサイズや上下方向)を示すマーカー図形情報を、可搬型記録媒体(図示略)からインストールしたものとなっている。
【0029】
次に、ロボット制御システム10の動作を、説明する。
【0030】
なお、以下の説明では、ロボット15に物体の搬送作業を行わせる部屋ことを、ロボット利用空間と表記し、カメラ12のレンズの光軸と一致するZ軸、カメラ12の上下方向、左右方向とそれぞれ平行なY軸、X軸を有する3次元直交座標系のことを、カメラ座標系と表記する。また、カメラ12により撮影された画像(カメラ12からの画像データがその内容を表している画像)の左辺と一致する座標軸と、当該画像の上辺と一致する座標軸とを有する2次元直交座標系のことを、画像座標系と表記し、ロボット走行面上に設定される(ロボット走行面と一致する座標面を有する)2次元直交座標系のことを、制御用座標系と表記する。
【0031】
ロボット制御プログラムを起動すると、制御装置11は、カメラ12からの各画像データに基づく画像表示をタッチスクリーンディスプレイ13に行わせる処理(カメラ12により撮影された各画像を、順次、タッチスクリーン14上に表示させる処理)を開始する。また、制御装置11は、ロボット座標算出処理と画像セグメンテーション処理とを周期的に実行する状態となる。
【0032】
制御装置11が周期的に実行するロボット座標算出処理は、カメラ12からの画像データを上記したマーカー図形情報を用いて解析することにより、ロボットマーカー(正確には、ロボットマーカー上のマーカー図形)の位置や姿勢を把握し、把握結果に基づき、以下の2情報を算出する処理である。
・“ロボットマーカーの中心点を、制御用座標系の座標面(ロボット走行面)に正射影した点”の座標(制御用座標系座標)であるロボット座標
・“ロボットマーカーの前方向(図2における上方向)を向いたベクトルを制御用座標系の座標面に正射影したベクトル”である進行方向ベクトル
【0033】
なお、このロボット座標算出処理は、ロボットマーカーを初めて検出した際には、“画像座標系座標を制御用座標系座標に変換するための座標変換行列”も算出する処理となっている。また、ロボット制御プログラムは、このロボット座標算出処理を制御装置11に実行させるための部分を、NyARtoolkit(ARToolKitをJava(米国Sun Microsystem,Inc.の商標)に移植した、拡張現実アプリケーションの実装を手助けするためのクラスライブラリ:非特許文献1参照。)を利用して作成したプログラムとなっている。
【0034】
制御装置11が周期的に実行する画像セグメンテーション処理は、カメラ12からの画像データが表している画像/タッチスクリーン14上に表示されている画像(以下、カメラ画像と表記する)を、特徴が一様と見なせる複数のセグメントに分割する処理である。
【0035】
この画像セグメンテーション処理は、例えば、カメラ画像が図3(a)に示したものであった場合、当該カメラ画像を、図3(b)に示したようなセグメント群に分割するものとなっている。すなわち、画像セグメンテーション処理は、カメラ画像中の各物体に関する画像を、複数のセグメントに分割してしまうものとなっている。なお、本実施形態に係る制御装置11が実際に実行する画像セグメンテーション処理は、P. F. Felzenszwalbらが開発したアルゴリズム(非特許文献2参照。)によりカメラ画像をセグメント化する処理である。
【0036】
ロボット制御プログラムを起動すると、制御装置11は、上記したロボット座標算出処
理による情報算出が成功する(ロボット15上のロボットマーカーがカメラ12によって撮影される)のを監視する処理も開始する。そして、制御装置11は、ロボット座標算出処理による情報算出が成功した場合には、図4に示した手順のメイン処理を開始して、まず、搬送指示受付処理(ステップS101〜S106の処理)を行う。
【0037】
この搬送指示受付処理は、範囲指定操作とドラッグアンドドロップ操作とを行わせることにより、ユーザに、ロボット15による搬送作業の対象とすべき物体(以下、搬送対象物と表記する)と、その搬送場所(搬送先)とを、指定させる処理である。
【0038】
図示してあるように、搬送指示受付処理を開始した制御装置11は、まず、範囲指定操作応答処理(ステップS101)を実行する。
【0039】
この範囲指定操作応答処理は、ユーザによる範囲指定操作に応答して、範囲指定操作で指定中の範囲/指定された範囲を示す矩形枠をタッチスクリーン14上に表示する処理である。なお、範囲指定操作とは、範囲として指定したい矩形領域(搬送対象物の画像の全体/大部分が含まれる矩形領域)の一頂点位置から対角の頂点位置までタッチスクリーン14上で指を移動させる操作のことである。
【0040】
ユーザによる範囲指定操作が完了した場合(ユーザの指がタッチスクリーン14から離れた場合)、制御装置11は、当該範囲指定操作で指定された範囲(以下、指定範囲と表記する)を記憶してから、範囲指定操作応答処理(ステップS101)を終了する。
【0041】
そして、制御装置11は、その時点におけるカメラ画像の画像データ、最新の画像セグメンテーション処理結果、指定範囲に基づき、所定割合以上の部分が指定範囲内に含まれているセグメントを全て探索し、探索したセグメントからなる画像を、ユーザが指定した搬送対象物の現時点における画像(以下、搬送対象物画像と表記する)として特定する処理(ステップS102)を行う。なお、最新の画像セグメンテーション処理結果とは、最も最近行った画像セグメンテーション処理の処理結果のことである。また、所定割合とは、ロボット制御プログラム中に設定されている割合のことである。
【0042】
その後、制御装置11は、タッチスクリーン14上に表示されている画像中の搬送対象物画像をハイライト表示させるための処理(ステップS103)を行う。
【0043】
既に説明したように、ステップS102の処理時に特定される搬送対象物画像は、所定割合以上の部分が指定範囲内に含まれているセグメントからなる画像(つまり、所定割合未満の部分しか指定範囲内に含まれていないセグメントを構成要素としていない画像)である。従って、ステップS101の処理時にユーザが指定した範囲内に搬送対象物以外の物体の一部が表示されていても、ステップS102の処理時には、搬送対象物のみの画像が搬送対象物画像として特定されることになる。そして、その結果として、ステップS103の処理時には、図5に例示したように、搬送対象物(この場合、ごみ箱)のみがハイライト表示されることになる。
【0044】
ステップS103の処理(図4)を終えた制御装置11は、搬送対象物画像についてのカラーヒストグラムを生成して、基準ヒストグラム(用途は後述)として記憶する処理(ステップS104)を行う。なお、搬送対象物画像についてのカラーヒストグラムとは、搬送対象物画像の各画素のR、G、B値、それぞれについての規格化したヒストグラムからなる情報のことである。
【0045】
その後、制御装置11は、D&D操作応答処理(ステップS105)を開始して、まず、タッチスクリーン14上の搬送対象物画像を指定する操作(タッチスクリーン14の、
搬送対象物画像が表示されている部分に指を置く操作)が行われるのを監視している状態となる。そして、制御装置11は、搬送対象物画像を指定する操作が行われた場合には、図6(a)に示したように、搬送対象物画像をアイコン化した搬送場所指定用アイコンを搬送対象物画像上に表示した後、当該搬送場所指定用アイコンに対するドラッグアンドドロップ操作に実際に応答する処理(ユーザのアイコン操作に従って、搬送場所指定用アイコンの表示位置を変更する処理)を開始する。
【0046】
制御装置11は、搬送場所指定用アイコンに対するドラッグアンドドロップ操作が完了した場合(搬送場所指定用アイコン上/タッチスクリーン14上から、指が離れた場合)には、図6(b)に示したように、搬送対象物画像のハイライト表示を中止してから、D&D操作応答処理(ステップS105)を終了する。
【0047】
D&D操作応答処理を終了した制御装置11は、ロボット座標算出処理により算出されている座標変換行列を用いて、搬送場所指定用アイコンの現在位置(その時点における搬送場所指定用アイコンの中心位置の画像座標系座標)から、対応するロボット走行面位置の制御用座標系座標を算出し、算出結果を搬送場所座標として記憶する処理(ステップS106)を行う。
【0048】
そして、ステップS106の処理を終えた制御装置11は、搬送指示受付処理(ステップS101〜S106の処理)を終了する。なお、流れ図(図4)中への表記は省略してあるが、制御装置11が実際に実行する搬送指示受付処理は、ユーザが、搬送対象物画像を指定する前に、タッチスクリーン14上に表示されている矩形枠の形状を変更する操作を行った場合、ステップS102以降の処理を再実行する処理である。すなわち、搬送指示受付処理は、大きすぎる/小さすぎる範囲を指定してしまった結果として、搬送対象物以外の部分もハイライト表示されてしまった場合や搬送対象物の一部分しかハイライト表示されなかった場合に、ユーザが、範囲指定をやり直せる処理となっている。
【0049】
また、搬送指示受付処理は、搬送場所指定用アイコンに対するドラッグアンドドロップ操作の完了後、所定時間内であれば、搬送場所指定用アイコンに対するドラッグアンドドロップ操作(つまり、搬送場所座標の変更指示操作)を受け付ける処理ともなっている。また、メイン処理は、搬送指示受付処理の完了後にも、ロボット制御処理(ステップS110;詳細は後述)の完了前は、搬送場所座標の変更指示操作(搬送場所指定用アイコンに対するドラッグアンドドロップ操作)を受け付ける処理となっている。
【0050】
上記内容の搬送指示受付処理を終えた制御装置11(搬送場所指定用アイコンに対するドラッグアンドドロップ操作が完了した後、ドラッグアンドドロップ操作が再開されることなく、所定時間が経過したことを検出した制御装置11)は、ステップS110にて、図7に示した手順のロボット制御処理を実行する。
【0051】
すなわち、制御装置11は、他の処理(画像セグメンテーション処理等)を適宜実行しながら、周期的に、搬送対象物座標算出処理(ステップS201)を実行する状態となる。
【0052】
制御装置11が周期的に実行する搬送対象物座標算出処理は、搬送対象物画像と最も類似した画像(以下、最類似画像と表記する)をカメラ画像中から探索し、探索した最類似画像の中心点の画像座標系座標に対応する制御用座標系座標を、搬送対象物座標として算出する処理である。
【0053】
この搬送対象物座標算出処理は、最新の画像セグメンテーション処理結果に基づき、カメラ画像内から、“カメラ画像上で並んでいる、搬送対象物画像とほぼ同数のセグメント
からなる画像”を全て探索し、探索した各画像のカラーヒストグラムと基準ヒストグラム(図4のステップS104参照)との間の類似度をヒストグラムインターセクション(非特許文献3参照。)により算出することにより、上記最類似画像を探索する処理となっている。
【0054】
なお、“カメラ画像上で並んでいる、搬送対象物画像とほぼ同数のセグメントからなる画像”とは、“カメラ画像上で並んでいる複数のセグメント(又は、単一のセグメント)からなる、セグメント数が搬送対象物画像のセグメント数を基準とした所定範囲(本実施形態では、搬送対象物画像のセグメント数−1〜搬送対象物画像のセグメント数+1の範囲)内に入っている画像”のことである。
【0055】
搬送対象物座標算出処理(ステップS201)を終了した制御装置11は、当該搬送対象物座標算出処理時により探索された最類似画像の類似度が、類似度閾値(ロボット制御プログラム中に設定されている値)未満であるか否かを判断する(ステップS202)。
【0056】
最類似画像の類似度が類似度閾値以上であった場合(ステップS202;NO)、制御装置11は、搬送場所座標がその位置を示している点と搬送対象物座標がその位置を示している点との間の距離(以下、座標間距離と表記する)が、距離閾値(ロボット制御プログラム中に設定されている値)未満であるか否かを判断する(ステップS203)。
【0057】
そして、制御装置11は、座標間距離が距離閾値以上であった場合(ステップS203;NO)には、搬送場所座標や、その時点におけるロボット座標、進行方向ベクトル及び搬送対象物座標に基づき、ロボット15に対して実行する制御の内容を決定する処理(ステップS204)を行う。詳細説明は省略するが、このステップS204の処理は、“或る方向に或る量(〜数cm)移動させる”、“或る方向を向かせる”といったような、ロボット15の動作が短時間で完了する制御を、ロボット15に対して実行する制御の内容として決定する処理となっている。また、ステップS204の処理は、ロボット走行面上の、搬送対象物以外の物体の位置を特に考慮することなく、ロボット15の進行方向を決定する処理となっている。
【0058】
ステップS204の処理を終えた制御装置11は、当該処理により決定した内容の制御をロボット15に対して実行(ステップS205)してから、ステップS201以降の処理を再び開始する。
【0059】
そして、制御装置11は、上記手順の処理を繰り返しているうちに、座標間距離が距離閾値未満となったことを検出した場合(ステップS203;YES)には、ロボット制御処理が正常に終了した(物体の搬送作業が完了した)ことを記憶(図示せず)してから、このロボット制御処理(図7の処理)を終了する。
【0060】
また、制御装置11は、座標間距離が距離閾値未満となる前に、最類似画像の類似度が類似度閾値未満となった場合(ステップS202;YES)には、ロボット制御処理が異常終了した(搬送対象物を見失った)ことを記憶(図示せず)してから、ロボット制御処理を終了する。
【0061】
図4に戻って、ロボット制御処理終了後の制御装置11の動作を説明する。
【0062】
ロボット制御処理(ステップS110)を終えた制御装置11は、当該ロボット制御処理が正常終了していた場合(ステップS111;正常終了)には、搬送場所指定用アイコンをタッチスクリーン14上から消去する(ステップS112)。そして、制御装置11は、ステップS101以降の処理を再び開始する。
【0063】
一方、ロボット制御処理が異常終了していた場合(ステップS111;異常終了)、制御装置11は、搬送対象物再指定要求処理(ステップS113)を行う。この搬送対象物再指定要求処理は、搬送対象物の再指定をユーザに要求するために、タッチスクリーン14上に警告アイコン(本実施形態では、その内部にエクスクラメーションマークが示されている三角形状のアイコン)を表示した上で、タッチスクリーンディスプレイ13のスピーカーに所定の警告音を出力させる処理である。
【0064】
その後、制御装置11は、上記したステップS101〜S104の処理と本質的には同内容の搬送対象物再指定操作受付処理(ステップS114)を行うことにより、ユーザに、搬送対象物を再指定させる(搬送対象物を囲む範囲を再指定させる)。そして、制御装置11は、ユーザによる搬送対象物の再指定が完了したときに、ステップS110以降の処理を再び開始する。
【0065】
以上、説明したように、本実施形態に係るロボット制御システム10は、カメラ画像が表示されているタッチスクリーン14上の或る範囲を指定する操作が行われた場合、カメラ画像に対する画像セグメンテーション処理結果を利用して、カメラ画像中の、ユーザが指定した範囲内に所定割合以上の部分が含まれているセグメント群からなる画像を探索する処理を行い、探索した画像を、搬送対象物画像(ユーザが指定した搬送対象物の現時点における画像)として特定する機能を有している。
【0066】
従って、ロボット制御システム10は、常に(ユーザが、他の物体と重なった形でタッチスクリーン14上に表示されている物体を搬送対象物として指定した場合であっても)、搬送対象物画像を正確に特定できるシステムであると共に、ユーザが範囲指定を正確に行わなくても(搬送対象物を完全に包含する範囲を指定しなくても)、搬送対象物画像を正確に特定できるシステムとなっていることになる。
【0067】
また、ロボット制御システム10は、上記のようにして特定した搬送対象物画像のカラーヒストグラム(基準ヒストグラム)と、カメラ画像中の、搬送対象物画像とほぼ同数の連続したセグメントからなる各画像のカラーヒストグラムとを比較することにより、カメラ画像中の、搬送対象物画像と最も類似した画像を探索した上で、探索結果に基づき、ロボット15により搬送されている最中の搬送対象物の位置を求める機能も有している。
【0068】
そして、カラーヒストグラムは、図8(a)〜図8(d)に模式的に示したように、元々、物体によってその内容が大きく異なる情報であるし、カラーヒストグラムの比較を行う画像を、矩形画像ではなく、搬送対象物画像とほぼ同数の連続したセグメントからなる画像としておけば、背景成分の影響がない形で、搬送対象物画像に類似した画像を探索できる。従って、本実施形態に係るロボット制御システム10は、画像探索に他の手法を採用したシステムよりも、搬送対象物の位置を正確に把握できるシステム(ロボット15を正確に制御できるシステム)となっていることになる。
【0069】
また、カメラ画像から物体座標を算出する既存のシステムが、セットアップ時に、上記した座標変換行列相当のものを算出させるための処理(カメラキャリブレーション処理等と呼ばれているもの)を行わせる必要があるものとなっているのに対し、ロボット制御システム10は、ロボット15の位置を検出するためにロボット15の上面に取り付けられているロボットマーカーの位置及び姿勢から、座標変換行列を算出してしまうシステムとなっている。従って、ロボット制御システム10は、既存のシステムよりもセットアップが容易なシステム(カメラ12を固定しさえすれば、運用可能な状態となるシステム)となっていると言うことが出来る。
【0070】
《第2実施形態》
以下、第1実施形態に係るロボット制御システム10の説明時に用いたものと同じ符号を用いて、本発明の第2実施形態に係るロボット制御システム10の構成及び動作を説明する。
【0071】
本実施形態に係るロボット制御システム10は、メイン処理(図4)のステップS105にて、図9に示した手順の第2D&D操作応答処理が行われるように、第1実施形態に係るロボット制御システム10を改良したシステムである。
【0072】
すなわち、第2実施形態に係るロボット制御システム10内の制御装置11(以下、第2制御装置11と表記する)は、基準ヒストグラムを算出・記憶する処理(図4のステップS104参照)の完了後に、この第2D&D操作応答処理を開始する。
【0073】
そして、第2D&D操作応答処理を開始した第2制御装置11は、まず、タッチスクリーン14上の搬送対象物画像を指定する操作が行われるのを監視している状態(ステップS301の処理/判断を繰り返している状態)となる。
【0074】
搬送対象物画像を指定する操作が行われた場合(ステップS301;YES)、第2制御装置11は、搬送対象物画像をアイコン化した搬送場所指定用アイコンを搬送対象物画像上に表示する(ステップS302)。その後、制御装置11は、座標変換行列からカメラ12の俯角(カメラ12のレンズの光軸とロボット走行面とがなす角度)を算出し、算出した俯角が、予め設定されている俯角閾値(本実施形態では、50度)以下であるか否かを判断する処理(ステップS303)を行う。
【0075】
そして、第2制御装置11は、カメラ12の俯角が俯角閾値以下ではなかった場合(ステップS303;NO)には、搬送場所指定用アイコンに対するドラッグアンドドロップ操作に応答して搬送場所指定用アイコンの表示位置を変更するアイコン表示位置変更処理(ステップS304)を行う。第2制御装置11は、搬送場所指定用アイコンに対するドラッグアンドドロップ操作が完了したときに、このアイコン表示位置変更処理を終了する。そして、第2制御装置11は、搬送対象物画像のハイライト表示を中止(ステップS306)してから、この第2D&D操作応答処理(図9の処理)を終了する。
【0076】
一方、カメラ12の俯角が俯角閾値以下であった場合(ステップS303;YES)、第2制御装置11は、アイコン表示位置・表示サイズ変更処理(ステップS305)を行う。
【0077】
このアイコン表示位置・表示サイズ変更処理は、搬送場所指定用アイコンが新表示位置にドラッグされた場合、座標変換行列、搬送対象物画像の初期位置等を用いて、新表示位置に対応するロボット走行面上の位置に搬送対象物が実際に存在していた場合における搬送対象物の画像サイズを求め、求めた画像サイズと同サイズとなるように拡縮した搬送場所指定用アイコンを新表示位置に表示する処理である。
【0078】
第2制御装置11は、搬送場所指定用アイコンに対するドラッグアンドドロップ操作が完了したときに、このアイコン表示位置・表示サイズ変更処理を終了する。そして、第2制御装置11は、搬送対象物画像のハイライト表示を中止(ステップS306)してから、第2D&D操作応答処理を終了する。
【0079】
要するに、カメラ12の俯角が比較的に小さい場合、タッチスクリーン14上には、ロボット走行面の手前側(カメラ12に近い側)に存在する物体/領域が、ロボット走行面の奥側に存在する同サイズの物体/領域よりもかなり大きく表示される。そのため、常に
、同サイズの搬送場所指定用アイコンを表示する第1実施形態に係るロボット制御システム10では、『他の物体の画像と重なっていない位置に搬送場所指定用アイコンをドロップしたにも拘わらず、指定した搬送場所に、搬送対象物を配置可能な余地がない』、『搬送対象物を実際には配置可能な場所であるにも拘わらず、当該場所相当の位置に搬送場所指定用アイコンをドロップすると、搬送場所指定用アイコンが他の物体の画像と重なる』といったことが生じ得ることになる。
【0080】
一方、本実施形態に係るロボット制御システム10は、カメラ12の俯角が俯角閾値以下となっている場合には、タッチスクリーン14上に表示する搬送場所指定用アイコンのサイズを、その表示位置に応じたサイズ(その表示位置が指示する位置に搬送された場合における搬送対象物の画像サイズ)に変更する構成を有している。
【0081】
従って、このロボット制御システム10は、第1実施形態に係るロボット制御システム10では生じ得る上記不具合が生じないシステムとなっていることになる。
【0082】
なお、第2実施形態に係るロボット制御システム10を、カメラ12の俯角が比較的に大きい場合に、搬送場所指定用アイコンのサイズ変更を行わないシステムとして構成しているのは、カメラ12の俯角が比較的に大きい場合には、ロボット走行面上での位置による画像サイズの変化量が少ないが故に上記のような不具合が殆ど生じにないことに加え、カメラ12の俯角が比較的に大きい場合にも搬送場所指定用アイコンのサイズ変更を行うようにしておくと、搬送場所指定用アイコンのドラッグアンドドロップ操作中に、搬送場所指定用アイコンのサイズの微妙な変化に起因する違和感を感じることが分かったためである。
【0083】
《変形形態》
上記した第1、第2実施形態に係るロボット制御システム10は、各種の変形を行うことが出来る。例えば、上記した各実施形態に係るロボット制御システム10は、マーカー図形の形状を示すマーカー図形情報を利用してカメラ画像を解析することにより、座標変換行列、ロボット座標等を算出するものであったが、各実施形態に係るロボット制御システム10を、ロボット15自体の形状(外観)を示す情報に基づき、座標変換行列等を算出するシステムに変形することが出来る。
【0084】
また、セットアップ作業がより複雑なシステムとなってしまうが、各実施形態に係るロボット制御システム10を、ロボットマーカー(或いは、ロボット15自体)の位置、姿勢から、座標変換行列を算出しないシステム(セットアップ時に、座標変換行列を算出させるための作業を行うことがシステム)に変形することも出来る。
【0085】
各実施形態に係るロボット制御システム10を、上記したものとは異なる内容の処理により、搬送対象物を追跡する(搬送対象物画像と最も類似した画像をカメラ画像から探索し、その探索結果に基づき、搬送対象物の位置を特定する)システムに変形することも出来る。例えば、各実施形態に係るロボット制御システム10を、カラーヒストグラムと基準ヒストグラムとの間の類似度を、ヒストグラムインターセクション以外の方法で算出するシステムに変形することが出来る。また、各実施形態に係るロボット制御システム10を、カメラ画像内の各所の矩形画像のカラーヒストグラムと基準ヒストグラムとを比較することにより、搬送対象物を追跡するシステムに変形することも出来る。ただし、そのような変形を行うと、背景成分の影響により、搬送対象物の追跡性能が劣化してしまうことになる。従って、各実施形態に係るロボット制御システム10を変形する場合には、幾つかの連続したセグメントを組み合わせた画像のカラーヒストグラムと基準ヒストグラムとの比較により、搬送対象物が追跡されるようにしておくことが望ましい。
【0086】
各実施形態に係るロボット制御システム10を、指定された搬送対象物をロボット15が特定の場所まで搬送するシステム(搬送場所を指定する必要がないシステム)、ロボット15として物体を持ち運べるものを備えたシステムに変形することも出来る。また、各実施形態に係るロボット制御システム10を、カメラ画像のセグメント化を上記したものとは異なる内容(アルゴリズム)の処理により行うシステム、搬送場所指定用アイコンとして、規定形状のアイコン(搬送対象物画像をアイコン化したものではないアイコン)が表示されるシステムに変形することも出来る。
【0087】
各実施形態に係るロボット制御システム10を、最類似画像の探索後、搬送対象物画像を、探索した最類似画像に変更するシステムや、最類似画像の探索時に、カメラ画像内の、前回の最類似画像の近傍に位置する“カメラ画像上で並んでいる、搬送対象物画像とほぼ同数のセグメントからなる画像”のみを探索対象とするシステムに変形することも出来る。また、各実施形態に係るロボット制御システム10を、範囲指定操作やドラッグアンドドロップ操作をマウスにより行うシステム、ロボット15が構成要素となっていないシステム(自システム用に開発されたものではないロボットを制御するシステム)に変形しても良いことなどは、当然のことである。
【符号の説明】
【0088】
10・・・ロボット制御システム
11・・・制御装置
12・・・カメラ
13・・・タッチスクリーンディスプレイ
14・・・タッチスクリーン
15・・・ロボット

【特許請求の範囲】
【請求項1】
物体の搬送作業を実行可能なロボットを機能させる空間であるロボット利用空間についての画像データを繰り返し生成する撮影手段と、
前記撮影手段が生成する各画像データに基づき、画面上に、前記ロボット利用空間の現状を示す画像を表示する表示手段と、
前記撮影手段が生成する画像データに対して画像セグメンテーション処理を行うことにより、当該画像データが示している画像を複数のセグメントに分割するセグメンテーション手段と、
前記ロボットに搬送させるべき物体である搬送対象物をユーザに指定させるためのユーザインターフェース手段であって、前記画面上の或る範囲を指定する範囲指定操作がなされた場合に、前記セグメンテーション手段による処理結果を利用して、前記画面上に表示されている画像中から、前記範囲指定操作で指定された範囲内に所定割合以上の部分が含まれているセグメント群からなる画像を搬送対象物画像として探索する処理を行い、その時点における画像が当該搬送対象物画像となっている物体が、前記搬送対象物として指定されたと判断するユーザインターフェース手段と、
前記ユーザインタフェース手段により探索された前記搬送対象物画像を利用して、前記搬送対象物に対する搬送作業を前記ロボットに行わせるロボット制御手段と
を備えることを特徴とするロボット制御システム。
【請求項2】
前記ロボット制御手段が、
前記セグメンテーション手段による処理結果を利用して前記画面上に表示されている画像内に含まれている幾つかの連続したセグメントからなる複数個の比較対照画像を特定し、特定した複数個の比較対照画像の中から前記搬送対象物画像と最も類似した比較対照画像を探索し、探索した比較対照画像の前記画面上での位置から、前記ロボットの制御に用いる、前記ロボット利用空間内での前記搬送対象物の現在位置情報を算出する手段である
ことを特徴とする請求項1に記載のロボット制御システム。
【請求項3】
前記ユーザインターフェース手段が、
前記搬送対象物と、前記搬送対象物を搬送すべき場所である搬送場所とを、ユーザに指定させる手段であり、
前記ロボット制御手段が、
前記搬送対象物画像を利用して、前記搬送対象物を前記搬送場所まで搬送する搬送作業を前記ロボットに行わせる手段である
ことを特徴とする請求項1又は請求項2に記載のロボット制御システム。
【請求項4】
前記ユーザインターフェース手段が、
前記搬送対象物画像を探索した後、ドラッグアンドドロップ操作が可能な搬送場所指定用アイコンを前記画面上に表示し、当該搬送場所指定用アイコンに対するドラッグアンドドロップ操作がなされたときに、その搬送場所指定用アイコンのドロップ位置に対応する前記ロボット利用空間内の場所が前記搬送場所として指定されたと判断する手段である
ことを特徴とする請求項3に記載のロボット制御システム。
【請求項5】
前記ユーザインターフェース手段が、
前記搬送対象物画像をアイコン化したものを前記搬送場所指定用アイコンとして表示する手段である
ことを特徴とする請求項4に記載のロボット制御システム。
【請求項6】
前記ユーザインターフェース手段が、
前記搬送場所指定用アイコンのドラッグアンドドロップ操作中に、前記搬送場所指定用
アイコンのサイズを、前記搬送場所指定用アイコンの表示位置に対応する前記ロボット利用空間内の位置に前記搬送対象物が存在していた場合における前記搬送対象物の画像のサイズに変更するサイズ変更機能を有する手段である
ことを特徴とする請求項5に記載のロボット制御システム。
【請求項7】
前記ユーザインターフェース手段が、
前記撮影手段の前記ロボット利用空間に対する姿勢に応じて、前記サイズ変更機能をON/OFFする手段である
ことを特徴とする請求項6に記載のロボット制御システム。
【請求項8】
前記ロボットの特定の部分の形状を示す形状情報と前記撮影手段が生成した画像データとに基づき、当該画像データが示している画像中の各画素の位置から、各画素に対応する、前記ロボット利用空間内の位置についての、前記ロボットの走行面に平行な座標面を有する座標系座標を求めるための変換情報を算出する変換情報算出手段を、さらに、備え、
前記ロボット制御手段が、
前記変換情報算出手段により算出された変換情報を利用して前記撮影手段が生成する画像データを解析することによって、前記ロボットの制御に用いる、前記ロボット利用空間内での前記ロボットの現在位置情報と前記搬送対象物の現在位置情報とを算出する手段である
ことを特徴とする請求項1乃至請求項7のいずれか一項に記載のロボット制御システム。
【請求項9】
コンピュータを、
物体の搬送作業を実行可能なロボットを機能させる空間であるロボット利用空間に向けられたデジタルカメラからの画像データに基づき、画面上に、前記ロボット利用空間の現状を示す画像を表示する表示手段と、
前記デジタルカメラからの画像データに対して画像セグメンテーション処理を行うことにより、当該画像データが示している画像を複数のセグメントに分割するセグメンテーション手段と、
前記ロボットに搬送させるべき物体である搬送対象物をユーザに指定させるためのユーザインターフェース手段であって、前記画面上の或る範囲を指定する範囲指定操作がなされた場合に、前記セグメンテーション手段による処理結果を利用して、前記画面上に表示されている画像中から、前記範囲指定操作で指定された範囲内に所定割合以上の部分が含まれているセグメント群からなる画像を搬送対象物画像として探索する処理を行い、その時点における画像が当該搬送対象物画像となっている物体が、前記搬送対象物として指定されたと判断するユーザインターフェース手段と、
前記ユーザインタフェース手段により探索された前記搬送対象物画像を利用して、前記搬送対象物に対する搬送作業を前記ロボットに行わせるロボット制御手段と
を備える装置として機能させることを特徴とするロボット制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2011−22700(P2011−22700A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2009−165668(P2009−165668)
【出願日】平成21年7月14日(2009.7.14)
【出願人】(503360115)独立行政法人科学技術振興機構 (1,734)
【Fターム(参考)】