(57)【要約】【課題】移動ロボットに搭載された距離画像センサを脱着するには相応の作業を要するので、その較正を最適な条件の下で行うことは難しかった。【解決手段】移動ロボットは、移動するための移動機構と、対象空間を撮像して二次元状に配列されたピクセルごとに被写体までの距離を出力する距離画像センサと、対象空間に含まれる平面の向きと平面の少なくとも一点までの距離を検出する平面検出センサと、距離画像センサが平面を撮像した出力、平面検出センサが検出した平面の向きと距離、および距離画像センサと平面検出センサの相対位置関係を用いて距離画像センサの較正を実行する較正部とを備え、較正部は、移動機構により平面までの距離を変えて較正を複数回実行する。【選択図】図６
2018185203.tif 000002
【特許請求の範囲】
【請求項１】
移動するための移動機構と、
対象空間を撮像して二次元状に配列されたピクセルごとに被写体までの距離を出力する距離画像センサと、
前記対象空間に含まれる平面の向きと前記平面の少なくとも一点までの距離を検出する平面検出センサと、
前記距離画像センサが前記平面を撮像した出力、前記平面検出センサが検出した前記平面の向きと距離、および前記距離画像センサと前記平面検出センサの相対位置関係を用いて前記距離画像センサの較正を実行する較正部と
を備え、
前記較正部は、前記移動機構により前記平面までの距離を変えて前記較正を複数回実行する移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボットに関する。
【背景技術】
【０００２】
対象空間に向けて均一光を照射し、反射光を撮像素子で受光して、その位相差から各ピクセルが捉えた被写体までの距離を出力する距離画像センサが知られている（例えば、特許文献１を参照）。また、対象空間に向けてパターン光を照射し、反射光を撮像素子で受光して、パターンの歪みや大きさから各ピクセルが捉えた被写体までの距離を出力する距離画像センサも知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１５３７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
移動ロボットが、把持しようとする搬送物の距離や方向を距離画像センサの出力から認識しようとする場合には、検出距離の精度が足りない場合があった。検出距離の精度を低下させる要因として、一定距離に対する出力が撮像素子の二次元状に配列されたピクセルごとに異なるオフセットを含む点が挙げられる。撮像素子を静止したステージ等に固定して基準平面に正対させられるのであれば、距離画像センサの較正を精度良く行うことができる。しかし、移動ロボットに搭載された距離画像センサを脱着するには相応の作業を要するので、その較正を最適な条件下で行うことは難しかった。しかも、オフセット値は経時的にも変化するので、較正を一定の頻度で行いたいという要請もある。
【０００５】
本発明は、このような問題を解決するためになされたものであり、移動ロボットに搭載された距離画像センサの較正を簡便に行うことを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様における移動ロボットは、移動するための移動機構と、対象空間を撮像して二次元状に配列されたピクセルごとに被写体までの距離を出力する距離画像センサと、対象空間に含まれる平面の向きと平面の少なくとも一点までの距離を検出する平面検出センサと、距離画像センサが平面を撮像した出力、平面検出センサが検出した平面の向きと距離、および距離画像センサと平面検出センサの相対位置関係を用いて距離画像センサの較正を実行する較正部とを備え、較正部は、移動機構により平面までの距離を変えて較正を複数回実行する。
【発明の効果】
【０００７】
このように、例えば障害物検知などの距離画像センサとは異なる用途に用いるために搭載されているセンサを平面検出センサとして利用し、かつ、移動ロボットが移動するという特性を活用して、距離画像センサの較正を様々な距離で実行するようにした。したがって、較正時に距離画像センサを移動ロボットから取り外す必要がなく、また、適切な頻度で精度の高い較正を実行することができる。すなわち、本発明によれば、距離画像センサの出力を用いて、対象物までの距離や方向を、定常的に精度良く検出することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態にかかる移動ロボットの外観斜視図である。
【図２】移動ロボットの制御ブロック図である。
【図３】一定距離の平面に対する距離画像センサの出力特性を示す図である。
【図４】傾いた平面に対する距離画像センサの出力特性を示す図である。
【図５】あるピクセルの較正データの一例を示す図である。
【図６】距離画像センサの較正の様子を示す図である。
【図７】較正に係る処理フローを説明するフロー図である。
【発明を実施するための形態】
【０００９】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【００１０】
図１は、本実施形態にかかる移動ロボット１００の外観斜視図である。移動ロボット１００は、主な構造体として、移動機構が取り付けられた台車ベース１１０と、センサ類が取り付けられた上体ベース１２０と、搬送物等を把持するためのアーム部１５０とを備える。
【００１１】
台車ベース１１０は、移動機構として２つの駆動輪１１２と１つのキャスター１１３を備える。２つの駆動輪１１２は、台車ベース１１０の対向する側方のそれぞれに、回転軸芯が一致するように配設されている。それぞれの駆動輪１１２は、不図示のモータによって独立して回転駆動される。キャスター１１３は、従動輪であり、台車ベース１１０から鉛直方向に延びる旋回軸が車輪の回転軸から離れて車輪を軸支するように設けられており、台車ベース１１０の移動方向に倣うように追従する。移動ロボット１００は、例えば、２つの駆動輪１１２が同じ方向に同じ回転速度で回転されれば直進し、逆方向に同じ回転速度で回転されれば重心を通る鉛直軸周りに旋回する。
【００１２】
台車ベース１１０には、コントロールユニット１９０が設けられている。コントロールユニット１９０は、後述の制御部とメモリ等を含む。
【００１３】
上体ベース１２０は、台車ベース１１０に対して鉛直軸周りに旋回可能なように、台車ベース１１０に支持されている。上体ベース１２０は、不図示のモータによって旋回され、台車ベース１１０の進行方向に対して所定の方向を向くことができる。
【００１４】
上体ベース１２０には、障害物検知や周辺環境認識のための各種センサが設けられている。３Ｄライダー１３０は、そのセンサ類の一つであり、上体ベース１２０の前方に配置されている。３Ｄライダー１３０は、周辺に存在する物体までの距離を計測する障害物検出センサである。具体的には、３Ｄライダー１３０は、例えばマイクロミラーを駆動して上体ベース１２０の前方方向に水平１２０度、垂直６０度の範囲でレーザー光を走査する。そして、走査した投射光に対する反射光を検出することにより、反射点までの距離を算出する。
【００１５】
また、距離画像センサ１４０も、上体ベース１２０の前方に配置されている。距離画像センサ１４０と３Ｄライダー１３０が一つの筐体に収められ、筐体ごと上体ベース１２０の前方に配置されていても良い。距離画像センサ１４０は、例えばアーム部１５０のハンドが搬送物を把持する場合に、搬送物の距離、形状、方向等を認識するために用いられる。距離画像センサ１４０は、対象空間から入射する光学像を光電変換するピクセルが二次元状に配列された撮像素子を含む。距離画像センサ１４０は、ピクセルごとに被写体までの距離を出力する。具体的には、距離画像センサ１４０は、パターン光を対象空間に照射する照射ユニットを含み、その反射光を撮像素子で受光して、画像におけるパターンの歪みや大きさから各ピクセルが捉えた被写体までの距離を出力する。
【００１６】
なお、対象空間を撮像して、ピクセルごとに被写体までの距離を出力する距離センサであれば、距離画像センサ１４０として採用し得る。例えば、対象空間に向けて均一光を照射し、反射光を撮像素子で受光して、その位相差から各ピクセルが捉えた被写体までの距離を出力する距離センサであっても構わない。ただし、本実施形態で対象とする距離画像センサは、後述する較正を行うことにより、精度の高い距離情報を取得できるものとする。
【００１７】
アーム部１５０は、主に、複数のアームとハンドから構成される。アームの一端は、上体ベース１２０に軸支されている。アームの他端は、ハンドを軸支している。アーム部１５０は、不図示のアクチュエータによって駆動されると、搬送物を把持するなど、与えられたタスクに応じた把持動作を実行する。
【００１８】
図２は、移動ロボット１００の制御ブロック図である。制御部２００は、例えばＣＰＵであり、駆動輪ユニット２１０、アームユニット２２０、旋回ユニット２３０、メモリ２４０、３Ｄライダー１３０、距離画像センサ１４０等との間で指令やサンプリングデータ等の情報を授受することにより、移動ロボット１００の制御に関わる様々な演算を実行する。
【００１９】
駆動輪ユニット２１０は、台車ベース１１０に設けられており、駆動輪１１２を駆動するための駆動回路とモータ、モータの回転量を検出するエンコーダ等を含む。駆動輪ユニット２１０は、自律移動するための移動機構として機能する。制御部２００は、駆動輪ユニット２１０へ駆動信号を送ることにより、モータの回転制御を実行する。また、エンコーダの検出信号を受け取ることにより、移動ロボット１００の移動速度、移動距離、旋回角等を演算する。
【００２０】
アームユニット２２０は、アーム部１５０に設けられており、アームおよびハンドを駆動するための駆動回路とアクチュエータ、アクチュエータの動作量を検出するエンコーダ等を含む。制御部２００は、アームユニット２２０へ駆動信号を送ることにより、アクチュエータを動作させ、アーム部１５０の姿勢制御や把持制御を実行する。また、エンコーダの検出信号を受け取ることにより、アーム部１５０の稼働速度、稼働距離、姿勢等を演算する。
【００２１】
旋回ユニット２３０は、台車ベース１１０と上体ベース１２０に跨いで設けられており、上体ベース１２０を旋回させるための駆動回路とモータ、モータの回転量を検出するエンコーダ等を含む。制御部２００は、旋回ユニット２３０へ駆動信号を送ることにより、モータを動作させ、例えば３Ｄライダー１３０と距離画像センサ１４０を特定の方向へ向けることができる。
【００２２】
メモリ２４０は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ２４０は、移動ロボット１００を制御するための制御プログラム、制御に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶している。特に、距離画像センサ１４０に対して後述する較正データ２４１を記憶している。
【００２３】
３Ｄライダー１３０は、制御部２００から制御信号を受け取ると、マイクロミラーを駆動してレーザー光を走査し、反射光を連続的に検出してそれぞれの反射点までの距離を算出して制御部２００に返す。また、距離画像センサ１４０は、制御部２００から制御信号を受け取ると、照射ユニットからパターン光を照射し、撮像素子を駆動して画像データを取得し、画像データの画像からパターンの歪みや大きさを解析して各ピクセルに対応する距離情報を制御部に返す。
【００２４】
制御部２００は、制御に関わる様々な演算や制御を実行する機能実行部としての役割も担う。較正部２０１は、後に詳述するように、３Ｄライダー１３０を利用して、距離画像センサ１４０の較正を行い、較正データ２４１を作成する制御プログラムを実行する。移動計画部２０２は、メモリ２４０に記憶されている地図情報やセンサ出力から得られる障害物情報等を用いて、移動ロボット１００が移動する経路を計画する。
【００２５】
図３は、一定距離の平面に対する距離画像センサ１４０の出力特性を示す図である。左側の矩形は、距離センサ１１５が有する撮像素子の有効領域を示す。有効領域には、上述のように、光電変換部としてのピクセルがマトリックス状に配列されている。このうち、上方に位置する横一列のラインをａライン、中央に位置する横一列のラインをｂライン、下方に位置する横一列のラインをｃラインと称して、有効領域の代表ラインとして説明する。また、各ラインにおいて、それぞれ左側、中央、右側の代表位置をＬ，Ｃ、Ｒとする。
【００２６】
図３の右側の表は、撮像素子がターゲットする平面に０.５ｍの距離で正対した場合、１.０ｍの距離で正対した場合、１.５ｍの距離で正対した場合、２.０ｍの距離で正対した場合における、ａライン、ｂライン、ｃラインの出力を示す。なお、ここで撮像素子が平面と正対するとは、撮像素子の有効領域の全体で平面を捉えており、かつ当該平面が撮像素子の受光面と平行であることをいう。
【００２７】
図３の右側の表における各グラフは、横軸に各ラインにおけるピクセルの横方向の相対位置を表し、縦軸にそれぞれのピクセルから出力された出力距離（ｍ）を表す。例えば、撮像素子がターゲットである平面に対して０.５ｍの距離で正対した場合のａラインの出力を見ると、位置Ｌおよび位置Ｒでは、ほぼ正しい０.５ｍを出力しているものの、位置Ｃでは０.５より小さな距離を出力している。ａライン全体の出力として見ると、点線で示す０.５ｍのラインに対して、中央位置である位置Ｃを底とする下凸の湾曲ライン（太い実線）を呈している。また、撮像素子がターゲットである平面に対して２.０ｍの距離で正対した場合のｂラインの出力を見ると、位置Ｌと位置Ｃの中間付近および位置Ｃと位置Ｒの中間付近に存在するピクセルがそれぞれほぼ正しい２.０ｍを出力しているものの、他のピクセルは全体的に２.０ｍよりも大きな距離を出力している。
【００２８】
すなわち、距離画像センサ１４０の出力は、ピクセルごとに、かつ、同一のピクセルであっても検出対象までの距離ごとに、それぞれ異なるオフセット値を含む。したがって、距離画像センサ１４０の出力からより正確な距離情報を取得するためには、距離画像センサ１４０の較正を行う必要がある。具体的には、制御部２００の機能実行部である較正部２０１が、ピクセルごとに出力値を較正するための較正データ２４１を作成する。
【００２９】
図３の表に示すように、ターゲットとする平面までの距離が事前に把握できているのであれば、それぞれのピクセルが出力する距離を正しい距離に換算する換算式あるいは換算テーブルを作成すれば良い。例えば、撮像素子が０.５ｍの平面と正対する場合にａライン位置Ｃのピクセルが０.４ｍと出力するのであれば、このピクセルの較正データとして、０.４ｍを出力した場合は５／４倍するという換算式を作成することができる。
【００３０】
図３の例では、３つのラインを代表として示したが、有効領域の全ラインで較正データを作成しても良いし、一定間隔のラインごとに較正データを作成し、間引かれたラインでは作成された較正データを補間して利用するようにしても良い。また、較正データを作成する各ラインにおいても、全ピクセルで較正データを作成しても良いし、一定間隔のピクセルごとに較正データを作成し、間引かれたピクセルでは作成された較正データを補間して利用するようにしても良い。
【００３１】
図３の例では、ターゲットとしてそれぞれ０.５ｍ、１.０ｍ、１.５ｍ、２.０ｍの平面を撮像した例を示したが、もちろんこの範囲および間隔に限らない。距離画像センサ１４０の利用目的に応じて範囲を変更しても良いし、要求される精度に応じて、例えば１０ｍｍといった細かい間隔であっても良い。
【００３２】
また、較正を行うときに撮像する平面は、撮像素子に正対する平面でなくても構わない。図４は、撮像素子に対して傾いた平面を撮像したときの距離画像センサ１４０の出力特性の例である。具体的には、撮像素子のあるラインにおいて平面までの距離が、位置Ｌのピクセルからは０.４ｍ、位置Ｃのピクセルからは０.６ｍ、位置Ｒのピクセルからは０.８ｍであることがわかっている。このような平面を撮像して得られた出力（太い実線）を、ピクセルごとに正しい距離（点線）に一致させる換算式あるいは換算テーブルを作成すれば良い。すなわち、撮像素子が撮像する対象平面の向きと、当該対象平面に含まれる少なくとも一点までの距離が事前に正しく取得されているのであれば、各ピクセルからの対象平面までの距離は計算できるので、各ピクセルの較正データを作成することができる。
【００３３】
図５は、ある特定のピクセルの較正データの一例を示す図である。横軸は対象ピクセルの出力距離を表し、縦軸は較正距離を表す。
【００３４】
対象ピクセルにおいて、図３の例のように正しい距離がそれぞれ０.５ｍ、１.０ｍ、１.５ｍ、２.０ｍの平面に対して出力距離ｄ１ｍ、ｄ２ｍ、ｄ３ｍ、ｄ４ｍを得た場合には、黒点で表されるプロットデータを得る。これらのプロットデータを多項式関数を用いて滑らかに接続すると太線で示すような曲線が得られる。すなわち、曲線を表す多項式関数が較正データとしての変換式となる。なお、あてはめ関数は多項式関数でなく他の関数であっても良い。また、各プロットデータが必ずしもあてはめ関数上の値でなくても構わない。なお、較正データを変換式ではなく変換テーブルとして作成する場合には、例えば、対応する出力距離と較正距離の組を数値で表すルックアップテーブルを採用することができる。
【００３５】
次に、本実施形態における距離画像センサ１４０の較正を行う手順について説明する。図６は、距離画像センサ１４０の較正の様子を示す図である。ここでは、移動ロボット１００が自律移動する環境空間内に、壁面Ｗが存在する場合を想定している。
【００３６】
制御部２００は、３Ｄライダー１３０が壁面Ｗを走査して得た計測結果から、壁面Ｗが平面であること、その大きさ、およびその向きを認識する。そして、距離画像センサ１４０の撮像素子で壁面Ｗを撮像したときに、撮像素子の有効領域の全体が壁面Ｗを捉えることができるか否かを判断する。すなわち、撮像素子の有効領域内に、壁面Ｗ以外の対象物が写り込まないかを判断する。写り込まないと判断できたら、壁面Ｗを用いた較正作業を開始する。
【００３７】
３Ｄライダー１３０と距離画像センサ１４０は、互いに相対的な位置および姿勢が厳密に定められて上体ベース１２０に配置されている。したがって、制御部２００は、３Ｄライダー１３０がある対象物を計測して得た距離を、配置による幾何条件を用いて、距離画像センサ１４０から当該対象物までの距離に変換することができる。すなわち、３Ｄライダー１３０により壁面Ｗまでの距離が計測されれば、距離画像センサ１４０の計測結果として得られるべき距離、別言すれば較正された距離を算出することができる。
【００３８】
上述のように壁面Ｗと撮像素子の受光面が平行でなくても較正作業を行うことはできるが、演算の高速化を図るべく、ここでは３Ｄライダー１３０の出力から得られた壁面Ｗの向きを参照して上体ベース１２０を旋回させ、壁面Ｗと撮像素子の受光面を正対させる。そして、駆動輪１１２を駆動して壁面に対して垂直に近づきつつ、３Ｄライダー１３０の出力を用いて距離画像センサ１４０と壁面Ｗとの正確な距離を算出し、一定の距離ごとに撮像を実行する。
【００３９】
このように壁面Ｗまでの距離を変えて、その正確な距離とそのときの各ピクセルの出力距離とを繰り返し取得すれば、対象とするピクセルごとに図５を用いて説明したような較正データ２４１を作成することができる。完成した較正データ２４１は、メモリ２４０に記憶される。メモリ２４０に記憶された較正データ２４１は、距離画像センサ１４０の使用時において参照され、距離画像センサ１４０から出力された距離がより正確な値に変換される。
【００４０】
以上のように、移動ロボット１００の移動機構を利用して距離画像センサ１４０の較正を行えば、距離画像センサ１４０を移動ロボット１００から取り外す手間が省くことができる。また、校正作業を適当な頻度で繰り返すことも容易であり、オフセットの経時変化に対応して較正データを適切に更新することができる。すなわち、本実施形態によれば、移動ロボット１００は、距離画像センサ１４０の出力を用いて、対象物までの距離や方向を、定常的に精度良く検出することができる。
【００４１】
以上においては、移動ロボット１００が他のタスクを行うことなく較正作業のみを行う例を説明したが、他のタスクの実行中に断続的に較正作業を行って較正データを完成させるようにしても良い。図７は、他のタスクの実行中に較正に係る処理を実行する場合の処理フローを説明するフロー図である。図のフローは、移動ロボット１００が他のタスクの実行中に並行して実行する、較正作業に関する主な処理を記したものである。
【００４２】
制御部２００は、ステップＳ１０１において、移動計画部２０２が計画した経路に沿って移動するように、駆動輪ユニット２１０へ制御信号を送る。制御部２００は、移動中に周囲を走査しながら継続的に距離計測を実行する３Ｄライダー１３０の出力を取得する（ステップＳ１０２）。
【００４３】
制御部２００は、３Ｄライダー１３０の出力から周囲に所定の広さを有する平面がないかを確認する（ステップＳ１０３）。ここで、所定の広さとは、距離画像センサ１４０の撮像素子の有効領域に当該平面以外の対象物が写り込まない広さである。したがって、当該平面の広さは、撮像素子から平面までの距離や結像光学系の画角などにも依存する。制御部２００は、そのような平面を見つけることができなければ、ステップＳ１０１へ戻る。見つけることができれば、ステップＳ１０４へ進む。
【００４４】
制御部２００の較正部２０１は、ステップＳ１０４で、距離画像センサ１４０から当該平面までの距離に対応する較正データが取得済みであるか否かを確認する。取得済みであればステップＳ１０１へ戻る。まだ取得していなければ、ステップＳ１０５へ進む。
【００４５】
較正部２０１は、ステップＳ１０５で、距離画像センサ１４０に当該平面の画像データを取得させる。そしてステップＳ１０６で、撮像素子の各ピクセルから出力された距離を正しい距離に変換するための較正値を演算する。続いてステップＳ１０７へ進み、予め定められた距離の範囲および間隔で較正値の取得が完了したか否かを判断する。すなわち、較正データが完成したか否かを判断する。完成していなければステップＳ１０１へ戻り、完成していれば一連の較正作業を終了して、タスクの実行に専念する。なお、ステップＳ１０６における較正値の演算は、予め定められた距離の範囲および間隔の全てで各ピクセルの出力値を取得した後にまとめて実行しても良い。
【００４６】
以上説明した本実施形態においては、対象空間に含まれる平面の向きと平面の少なくとも一点までの距離を検出できる平面検出センサとして３Ｄライダー１３０を採用したが、他のセンサを平面検出センサとして採用しても良い。例えば、カラー画像を撮像するための撮像素子を２つ備えたステレオカメラユニットであっても良い。また、平面側に特定の二次元コードが貼着されているなどすれば、当該二次元コードを撮像してその大きさや傾きから平面までの距離や向きを検出できるコードリーダの類であっても良い。
【符号の説明】
【００４７】
１００  移動ロボット、１１０  台車ベース、１１２  駆動輪、１１３  キャスター、１２０  上体ベース、１３０  ３Ｄライダー、１４０  距離画像センサ、１５０  アーム部、１９０  コントロールユニット、２００  制御部、２０１  較正部、２０２  移動計画部、２１０  駆動輪ユニット、２２０  アームユニット、２３０  旋回ユニット、２４０  メモリ、２４１  較正データ
【図１】
2018185203.tif 000003
【図２】
2018185203.tif 000004
【図３】
2018185203.tif 000005
【図４】
2018185203.tif 000006
【図５】
2018185203.tif 000007
【図６】
2018185203.tif 000008
【図７】
2018185203.tif 000009