(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024108373
(43)【公開日】2024-08-13
(54)【発明の名称】自律ロボット、充電ステーション、システム、自律移動方法及び自律移動プログラム
(51)【国際特許分類】
G05D 1/43 20240101AFI20240805BHJP
【FI】
G05D1/02 J
【審査請求】未請求
【請求項の数】22
【出願形態】OL
(21)【出願番号】P 2023012701
(22)【出願日】2023-01-31
(71)【出願人】
【識別番号】521499860
【氏名又は名称】株式会社Preferred Robotics
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】寺田 耕志
(72)【発明者】
【氏名】佐々木 明彦
(72)【発明者】
【氏名】村瀬 和都
(72)【発明者】
【氏名】山名 崇博
(72)【発明者】
【氏名】礒部 達
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA02
5H301AA10
5H301CC03
5H301CC06
5H301CC10
5H301DD05
5H301DD17
5H301FF11
5H301GG03
5H301GG06
5H301GG07
5H301GG08
5H301GG09
5H301GG10
5H301GG17
5H301HH10
5H301HH19
5H301JJ06
5H301LL01
5H301LL06
5H301LL11
5H301QQ04
(57)【要約】
【課題】自律ロボットと充電ステーションとを含むシステムの実用性を高める。
【解決手段】自律ロボットは、カメラと、前記カメラにより撮影された画像を処理する制御装置と、を有し、前記制御装置は、ニューラルネットワークを用いて前記画像に含まれる充電ステーションに取り付けられたマーカを検出することで、前記充電ステーションの位置及び姿勢を算出し、算出した前記充電ステーションの位置及び姿勢に基づいて、自律ロボットの位置及び姿勢を制御することで、前記充電ステーションへのドッキング処理を行う。
【選択図】
図5
【特許請求の範囲】
【請求項1】
カメラと、
前記カメラにより撮影された画像を処理する制御装置と、を有し、
前記制御装置は、
ニューラルネットワークを用いて前記画像に含まれる充電ステーションに取り付けられたマーカを検出することで、前記充電ステーションの位置及び姿勢を算出し、
算出した前記充電ステーションの位置及び姿勢に基づいて、自律ロボットの位置及び姿勢を制御することで、前記充電ステーションへのドッキング処理を行う、
自律ロボット。
【請求項2】
前記制御装置は、
算出した前記充電ステーションの位置及び姿勢と、前記自律ロボットの位置及び姿勢との差分に基づいて、前記自律ロボットの位置及び姿勢を制御することで、前記充電ステーションへのドッキング処理を行う、
請求項1に記載の自律ロボット。
【請求項3】
前記制御装置は、
前記充電ステーションに取り付けられた前記マーカを検出した検出結果と、
前記自律ロボットの位置及び姿勢と、
に基づき、前記充電ステーションの位置及び姿勢を算出する、
請求項2に記載の自律ロボット。
【請求項4】
前記制御装置は、
前記ニューラルネットワークを用いて前記画像に含まれる前記充電ステーションを認識し、認識した前記充電ステーションの領域を画像処理することで、前記マーカを検出する、
請求項1に記載の自律ロボット。
【請求項5】
前記充電ステーションの充電端子と接続するための接続端子を更に有し、
前記制御装置は、
前記ドッキング処理において、前記接続端子において、充電用電圧よりも低い接続検知用電圧が検知されたか否かを監視する、
請求項1に記載の自律ロボット。
【請求項6】
前記制御装置は、
前記接続端子において、前記接続検知用電圧が検知された場合に、前記充電ステーションへのドッキング処理を終了する、
請求項5に記載の自律ロボット。
【請求項7】
前記制御装置は、
前記充電ステーションへのドッキング処理を終了した場合に、環境地図に格納された前記充電ステーションの位置及び姿勢を取得し、前記自律ロボットの位置及び姿勢を校正する、
請求項1に記載の自律ロボット。
【請求項8】
前記制御装置は、
前記充電ステーションへの自律移動を開始する条件が成立したか否かを判定し、
成立したと判定した場合に自律移動を開始し、前記充電ステーションへのドッキング処理を行う、
請求項1に記載の自律ロボット。
【請求項9】
前記制御装置は、
前記充電ステーションへの自律移動を開始する条件が成立したか否かを判定する際、少なくとも、
充電指示の有無、
タスク実行中か否か、
搬送対象を搬送可能な状態か否か、
バッテリ残量が所定の閾値以下か否か、
のいずれかを判定する、
請求項1に記載の自律ロボット。
【請求項10】
前記制御装置は、
前記充電ステーションへの自律移動を開始する条件として、搬送対象とドッキングしているか否かを判定する、
請求項8に記載の自律ロボット。
【請求項11】
前記制御装置は、
搬送対象とドッキングしている場合には、前記搬送対象とのドッキングを解除したうえで、前記充電ステーションへの自律移動を開始する、
請求項8に記載の自律ロボット。
【請求項12】
前記充電ステーションには、1つの前記マーカが取り付けられている、請求項1に記載の自律ロボット。
【請求項13】
ドッキングが完了した自律ロボットのバッテリを充電する充電ステーションであって、
充電端子に、充電用電圧よりも低い接続検知用電圧を印加し、前記充電端子に接触した物体のインピーダンス及びキャパシタンスを算出することで、前記充電端子に接触した物体が前記自律ロボットであるか否かを判定する判定装置と、
前記自律ロボットであると判定された場合に、前記充電用電圧を印加する充電装置と
を有する充電ステーション。
【請求項14】
前記判定装置は、
前記接続検知用電圧として、前記充電用電圧よりも低い電圧を前記充電端子に印加した際に検知した電流値に基づき、前記インピーダンスを算出し、
算出した前記インピーダンスが所定範囲に含まれるか否かを判定する、
請求項13に記載の充電ステーション。
【請求項15】
前記判定装置は、
前記インピーダンスが前記所定範囲に含まれると判定した場合に、前記接続検知用電圧として、前記充電用電圧よりも低い電圧であって時間変化する変動電圧を前記充電端子に印加し、
前記変動電圧を印加した際に検知した電流値に基づき、前記キャパシタンスを算出し、
算出した前記キャパシタンスが所定範囲に含まれるか否かを判定する、
請求項14に記載の充電ステーション。
【請求項16】
前記判定装置は、
前記キャパシタンスが前記所定範囲に含まれると判定した場合に、前記充電端子に接触した物体が前記自律ロボットであると判定する、
請求項15に記載の充電ステーション。
【請求項17】
前記判定装置は、
前記充電端子に接触した物体が前記自律ロボットであると判定した場合に、前記充電装置に、前記充電用電圧を印加するよう指示する、
請求項16に記載の充電ステーション。
【請求項18】
前記自律ロボットが移動する移動面に載置された状態で前記移動面と対向する第1の面と、前記第1の面の反対側に位置し、前記充電端子が配された第2の面とを有する基部と、
マーカが取り付けられた壁部と
を有する請求項13に記載の充電ステーション。
【請求項19】
前記壁部には、1つの前記マーカが取り付けられている、
請求項18に記載の充電ステーション。
【請求項20】
請求項1乃至12のいずれか1項に記載の自律ロボットと、
請求項13乃至19のいずれか1項に記載の充電ステーションと
を備えるシステム。
【請求項21】
カメラと、
前記カメラにより撮影された画像を処理する制御装置と、を有する自律ロボットにおける自律移動方法であって、
ニューラルネットワークを用いて前記画像に含まれる充電ステーションに取り付けられたマーカを検出することで、前記充電ステーションの位置及び姿勢を算出する工程と、
算出した前記充電ステーションの位置及び姿勢に基づいて、前記自律ロボットの位置及び姿勢を制御することで、前記充電ステーションへのドッキング処理を行う工程と
を前記制御装置が実行する自律移動方法。
【請求項22】
カメラと、
前記カメラにより撮影された画像を処理する制御装置と、を有する自律ロボットの前記制御装置に、
ニューラルネットワークを用いて前記画像に含まれる充電ステーションに取り付けられたマーカを検出することで、前記充電ステーションの位置及び姿勢を算出する工程と、
算出した前記充電ステーションの位置及び姿勢に基づいて、前記自律ロボットの位置及び姿勢を制御することで、前記充電ステーションへのドッキング処理を行う工程と
を実行させるための自律移動プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自律ロボット、充電ステーション、システム、自律移動方法及び自律移動プログラムに関する。
【背景技術】
【0002】
自律的に行動するロボット(自律ロボット)と当該自律ロボットのバッテリを充電する充電ステーションとを含むシステム(主に屋内での利用を想定したシステム)の開発が進められている。当該システムの場合、安全性及びコストの観点から、実用化に向けては種々の制約が課される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007-149115号公報
【特許文献2】特表2016-524214号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示は、自律ロボットと充電ステーションとを含むシステムの実用性を高める。
【課題を解決するための手段】
【0005】
本開示の一態様による自律ロボットは、例えば、以下のような構成を有する。即ち、
カメラと、
前記カメラにより撮影された画像を処理する制御装置と、を有し、
前記制御装置は、
ニューラルネットワークを用いて前記画像に含まれる充電ステーションに取り付けられたマーカを検出することで、前記充電ステーションの位置及び姿勢を算出し、
算出した前記充電ステーションの位置及び姿勢に基づいて、自律ロボットの位置及び姿勢を制御することで、前記充電ステーションへのドッキング処理を行う。
【図面の簡単な説明】
【0006】
【
図1】自律ロボットの利用シーンの一例を示す図である。
【
図2】自律ロボットの外観構成の一例を示す図である。
【
図3】自律ロボットの内部構成及び下面構成の一例を示す図である。
【
図4】自律ロボットの制御装置のハードウェア構成の一例を示す図である。
【
図5】自律ロボットの制御装置の機能構成の一例を示す図である。
【
図7】自律ロボットにより実行される充電用自律移動処理の流れを示すフローチャートである。
【
図8】自律ロボットにより実行されるドッキング処理の流れを示すフローチャートである。
【
図9】自律ロボットによる検出結果の具体例を示す図である。
【
図10】自律ロボットにより実行される位置情報校正処理の流れを示すフローチャートである。
【
図11】充電ステーションの外観構成の一例を示す図である。
【
図12】充電ステーションの内部構成の一例を示す図である。
【
図13】充電ステーションの判定装置により実行される判定処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0007】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0008】
[第1の実施形態]
<自律ロボットの利用シーン>
はじめに、第1の実施形態に係る自律ロボットの利用シーンについて説明する。
図1は、自律ロボットの利用シーンの一例を示す図である。
図1に示すように、自律ロボット120は、例えば、自宅のリビング等の所定空間100において、ユーザ110がソファでくつろぐシーン等で利用される。
【0009】
図1に示す利用シーンは、例えば、ユーザ110がノートPCを使用しようとして、自律ロボット120に対して、
・ウェイクワードを発声した後、
・「ノートPCを持ってきて」と発声した場合(すなわち、音声による搬送指示(以降、音声指示と呼ぶ)が行われた場合)、
を示している。この場合、自律ロボット120は、キャスタ付きの棚130~150の中から、ノートPCや書物等の仕事道具131が載置された棚130を搬送対象として特定し、棚130とドッキングした後、棚130をユーザ110の近傍の位置まで搬送する。なお、自律ロボット120は、ウェイクワードなしに行われた音声指示に従うよう構成されてもよい。
【0010】
また、
図1の例は、ユーザ110が音声指示を行った時点で、棚130が、所定空間100内のアンカ170の位置に待機していた場合を示している。また、
図1の例は、アンカ170の位置に待機していた棚130を、ユーザ110の近傍の位置172まで搬送する際に、最短の搬送経路上に、障害物として、ごみ箱180が置かれていた場合を示している。
【0011】
このような場合、自律ロボット120は、棚130の搬送中にごみ箱180を検知し、点線矢印171に示す搬送経路で棚130を搬送することで、ごみ箱180との衝突を回避する。
【0012】
また、
図1の例では、自律ロボット120が搬送対象として棚130を特定して搬送する場合について示したが、ユーザ110の音声指示の内容によっては、自律ロボット120が、棚140または棚150を搬送対象として特定して搬送してもよい。また、
図1の例では、自律ロボット120が、ユーザ110の近傍の位置を棚130の搬送先の位置として特定する場合について示した。しかしながら、ユーザ110の音声指示の内容によっては、自律ロボット120が、所定空間100内に設置された所定の設置物(例えば、家具等)の近傍の位置や、所定空間100内の任意の位置を、棚130の搬送先の位置として特定してもよい。
【0013】
また、
図1の例では、自律ロボット120が所定のタスク(ノートPCが載置された棚130を、ユーザ110の近傍の位置まで搬送するというタスク)を含む種々のタスクを実行する場合について示した。一方で、自律ロボット120は種々のタスクを実行することのほかに、バッテリの充電のために、充電ステーション160に自律移動する。
【0014】
つまり、第1の実施形態に係る自律ロボット120は、タスクを実行するためのタスク用の自律移動機能と、バッテリを充電するための充電用の自律移動機能とを備える。
【0015】
<自律ロボットの外観構成>
次に、自律ロボット120の外観構成について説明する。
図2は、自律ロボットの外観構成の一例を示す図である。
【0016】
図2(a)に示すように、自律ロボット120は、全体として直方体の形状を有しており、搬送対象となる棚の最下段の下側に進入できるよう、高さ方向(z軸方向)及び幅方向(x軸方向)の寸法が規定されている。なお、自律ロボット120の形状は直方体に限定されない。
【0017】
自律ロボット120の上面210には、搬送対象となる棚とドッキングするための棚ドッキング機構を構成する部材であるロックピン211が設置されている。また、自律ロボット120の上面210には、LIDAR(Laser Imaging Detection and Ranging)212が設置されている。LIDAR212は、自律ロボット120の上面210の高さ位置における、前後方向(y軸方向)及び幅方向(x軸方向)を測定範囲としており、LIDAR212による測定結果を用いることで、当該測定範囲にある障害物等を検知することができる。
【0018】
自律ロボット120の前面220には、前面RGBカメラ221と、ToF方式(Time of Flight方式)のカメラ(ToFカメラ222)とが設置されている。なお、本実施形態の前面RGBカメラ221は、ToFカメラ222の上側に設置されるが、前面RGBカメラ221の設置位置は、この位置に限定されない。
【0019】
前面RGBカメラ221は、自律ロボット120が前進方向に移動する際、例えば、
・搬送対象となる棚(例えば、棚130)、
・搬送先の近傍にいるユーザ(例えば、ユーザ110)、搬送先の近傍にある設置物、
・搬送経路上の障害物(例えば、ごみ箱180)、
等を撮影し、カラー画像を出力する。
【0020】
ToFカメラ222は距離画像センサの一例であり、マルチパス問題を回避するために、自律ロボット120が移動する移動面(
図2(b)に示す床面240)が測定範囲に含まれない程度に、自律ロボット120の前面220において上向きに設置される。マルチパス問題の一例として、光源から出射した光が床面240を経由して他の対象物で反射し、その反射光をToFカメラ222が受光することによる測定精度の悪化が挙げられる。本実施形態において、ToFカメラ222の自律ロボット120の前面220における上向きの設置角度Θは、床面240に対して約50度であるとする。
【0021】
また、ToFカメラ222は、自律ロボット120が前進方向に移動する際、少なくともドッキングした棚が通過する領域(ドッキングした棚の高さ×ドッキングした棚の幅分の領域)を測定範囲として障害物等を撮影し、距離画像(深度画像)を出力する。なお、本実施形態において、ToFカメラ222の垂直画角θvは70度、水平画角θhは90度であるとする。
【0022】
自律ロボット120の下面230には、駆動輪231と、従動輪232とが設置され、自律ロボット120を支持する。
【0023】
駆動輪231は、幅方向(x軸方向)に1つずつ設置されており(幅方向に計2つ設置されており)、それぞれが独立してモータ駆動されることで、自律ロボット120を、前進/後退方向(y軸方向)に移動させることができる。また、駆動輪231は、自律ロボット120を、z軸周りに旋回させることができる。
【0024】
従動輪232は、幅方向(x軸方向)に1つずつ(幅方向に計2つ)設置されている。また、従動輪232は、自律ロボット120に対して、それぞれがz軸周りに旋回可能に設置されている。なお、従動輪232の設置位置や設置数は、上記以外でもよい。
【0025】
<自律ロボットの内部構成及び下面構成の詳細>
次に、自律ロボットの内部構成及び下面構成の詳細について説明する。
図3は、ロボットの内部構成及び下面構成の一例を示す図である。
【0026】
このうち、
図3(a)は、自律ロボット120の上面カバーを取り外して、真上から見た様子を示している。以下、
図3(a)を参照しながら、自律ロボット120の内部を構成する各部について説明する。
【0027】
(a-1)第1制御基板及び第2制御基板
はじめに第1制御基板及び第2制御基板について説明する。
図3(a)に示すように、自律ロボット120は、第1制御基板311及び第2制御基板312を有する。また、第2制御基板312の下側には、バッテリ340が設置されており、第1制御基板311及び第2制御基板312は、バッテリ340より電力が供給されることで動作する。
【0028】
具体的には、第1制御基板311は、例えば、電子デバイスを制御し、第2制御基板312は、例えば、駆動デバイスを制御する。ただし、第1制御基板311と第2制御基板312の役割区分はこれに限定されない。
【0029】
なお、
図3(a)の例では、第1制御基板311と第2制御基板312とが、分かれて設置される場合を示しているが、第1制御基板311と第2制御基板312とは、1つの基板として一体的に設置されてもよい。第1制御基板311と第2制御基板312とを分けて設置するか、一体的に設置するかに関わらず、本実施形態では、第1制御基板311が有する機能と第2制御基板312が有する機能の両方を備える装置を、制御装置310と称す。
【0030】
(a-2)棚ドッキング機構
次に、棚ドッキング機構について説明する。
図3(a)に示すように、自律ロボット120は、搬送対象となる棚とドッキングするための棚ドッキング機構として、ソレノイド式のロックピン211と、フォトリフレクタ330とを有する。なお、本実施形態の棚ドッキング機構はソレノイド式のロックピンを用いているが、ロックピンの昇降を、ソレノイド以外の電磁アクチュエータで行っても、ラックアンドピニオン機構、台形ねじ機構、空気圧駆動機構など、他のアクチュエータで行ってもよい。
【0031】
本実施形態において、ソレノイド式のロックピン211は、幅方向(x軸方向)に1つずつ設置された駆動輪231の幅方向(x軸方向)の中心位置であって、駆動輪231の回転軸上に設置される(
図3(a)、(b)の一点鎖線参照)。
【0032】
ソレノイド式のロックピン211は、圧縮コイルばねを内蔵しており、ソレノイドがONになるとロックピン211が吸引されて、圧縮コイルばねが縮む。一方、ソレノイド式のロックピン211は、ソレノイドがOFFになると、圧縮コイルばねの圧縮力により、上方(z軸方向、
図3(a)の場合は紙面手前側)に突出する。なお、ソレノイドのON/OFFは、制御装置310によって制御される。
【0033】
フォトリフレクタ330は、自律ロボット120が、搬送対象となる棚の最下段の下側に進入した際に、搬送対象となる棚に取り付けられたロックガイドの孔にロックピン211を突出させることが可能であるか否かを判定するための信号を出力する。
【0034】
自律ロボット120は、フォトリフレクタ330より出力された信号に基づいて、ロックピン211を突出させることが可能であると判定した場合に、ソレノイドをOFFにする。なお、本実施形態でフォトリフレクタを用いてロックピン211とロックガイドの孔との対面状態を検知するようにしているが、フォトリフレクタ以外の方式で、この検知を行うようにしてもよい。フォトリフレクタ以外の方式としては、例えば、カメラや物理スイッチ、磁気式センサ、超音波センサ等を用いた方式が挙げられる。
【0035】
これにより、ロックピン211がロックガイドの孔に向けて突出し、突出したロックピン211がロックガイドの孔に挿入される。この結果、自律ロボット120と、搬送対象の棚とのドッキングが完了する。
【0036】
なお、上述したように、ソレノイド式のロックピン211は、幅方向(x軸方向)に1つずつ設置された駆動輪231の幅方向(x軸方向)の中心位置に設置されている(幅方向において対称である)。このため、自律ロボット120は、搬送対象となる棚の最下段の下側へ進入する際、前進方向で進入することも後退方向で進入することもできる。
【0037】
一方、自律ロボット120が、搬送対象の棚とドッキングした状態で、ソレノイドをONにすることで、ロックピン211を吸引すると、自律ロボット120と搬送対象の棚との間のドッキングが解除される。
【0038】
(a-3)各種入出力装置
次に、各種入出力装置について説明する。
図3(a)に示すように、自律ロボット120は、各種入出力装置として、上述したLIDAR212、前面RGBカメラ221、ToFカメラ222に加えて、後面RGBカメラ320、マイク301~304、スピーカ305~306を有する。
【0039】
このうち、LIDAR212、前面RGBカメラ221、ToFカメラ222の設置位置、設置方向、測定範囲、測定対象等については説明済みであるため、ここでは説明を省略する。
【0040】
後面RGBカメラ320は、自律ロボット120が後退方向に移動する際、例えば、
・搬送対象となる棚(例えば、棚130)、
・搬送対象の棚の周辺の障害物、
・充電ステーション160、
等を撮影し、カラー画像を出力する。
【0041】
マイク301~304は、音入力装置の一例であり、自律ロボット120のコーナ部4か所(前面側2か所、後面側2か所)にそれぞれ設置され、それぞれの方向からの音を検知する。このように、自律ロボット120のコーナ部4か所にマイク301~304を設置することで、自律ロボット120は、現在の3次元位置及び姿勢に対して、音声指示を行ったユーザ110がいずれの方向にいるのかを判定することができる。また、自律ロボット120は、ユーザ110の位置を推定することができる。
【0042】
スピーカ305~306は、音声出力装置の一例であり、自律ロボット120の側面方向に向かって、音声を出力する。スピーカ305~306は、例えば、ユーザ110による音声指示に対して、自律ロボット120が認識したタスクの内容を確認するための音声を出力する。
【0043】
一方、
図3(b)は、自律ロボット120を下面から見た様子を示している。以下、
図3(b)を参照しながら、自律ロボット120の下面を構成する各部について説明する。
【0044】
(b-1)駆動輪
はじめに、駆動輪231について説明する。
図3(b)に示すように、自律ロボット120は、幅方向(x軸方向)に1つずつ設置された駆動輪231を有する。上述したように、駆動輪231は、それぞれが独立してモータ駆動されることで、自律ロボット120を、前進/後退方向(y軸方向)に移動させたり、z軸周りに旋回させたりすることができる。
【0045】
具体的には、駆動輪231の両方を正転させることで、自律ロボット120を前進方向に移動させ、駆動輪231の両方を逆転させることで、自律ロボット120を後退方向に移動させることができる。また、駆動輪231の一方を正転させ、他方を逆転させることで、自律ロボット120を旋回させることができる。
【0046】
なお、上述したように、駆動輪231の一方の回転軸と他方の回転軸とは、同軸上に形成されており、ソレノイド式のロックピン211は、同軸上において、駆動輪231の一方と駆動輪231の他方との中心位置に設置されている。このため、駆動輪231の一方を正転させ、駆動輪231の他方を逆転させた場合、自律ロボット120は、ソレノイド式のロックピン211を中心に、旋回することになる。
【0047】
(b-2)従動輪
次に、従動輪232について説明する。
図3(b)に示すように、自律ロボット120は、幅方向(x軸方向)に1つずつ設置された従動輪232を有する。上述したように、従動輪232は、それぞれが、z軸周りに旋回可能に設置されている。このため、例えば、自律ロボット120が前進方向または後退方向に移動した後に旋回する場合、従動輪232は、その向きを旋回方向に直ちに追従させることができる。また、例えば、自律ロボット120が旋回した後に前進方向または後退方向に移動する場合、従動輪232は、その向きを前進または後退方向に直ちに追従させることができる。
【0048】
(b-3)充電機構
次に、バッテリ340を充電するための充電機構について説明する。
図3(b)に示すように、自律ロボット120の下面には、自律ロボット120が充電ステーション160とドッキングした際に、充電ステーション160の充電端子(詳細は後述)と接続するための接続端子233が設置されている。
【0049】
自律ロボット120は、接続端子233が充電ステーション160の充電端子に接続されたことを検知すると、充電ステーション160にドッキングするためのドッキング処理を終了する。
【0050】
なお、充電ステーション160では、自律ロボット120の接続端子233が充電端子に接続されたと判定すると、充電端子に充電用電圧を印加し、バッテリ340の充電を開始する。
【0051】
<制御装置のハードウェア構成>
次に、自律ロボット120の制御装置310のハードウェア構成について説明する。
図4は、自律ロボットの制御装置のハードウェア構成の一例を示す図である。制御装置310は、構成要素として、プロセッサ401、主記憶装置402(メモリ)、補助記憶装置403(メモリ)、ネットワークインタフェース404、デバイスインタフェース405を有する。制御装置310は、これらの構成要素がバス406を介して接続されたコンピュータとして実現されてもよい。なお、
図4の例では、制御装置310は、各構成要素を1個ずつ備えるものとして示しているが、制御装置310は、同じ構成要素を複数備えていてもよい。
【0052】
制御装置310の各種演算は、1または複数のプロセッサを用いて、並列処理で実行されてもよい。また、各種演算は、プロセッサ401内に複数ある演算コアに振り分けられて、並列処理で実行されてもよい。また、本開示の処理、手段等の一部または全部は、ネットワークインタフェース404を介して制御装置310と通信可能なクラウド上に設けられた外部装置430(プロセッサ及び記憶装置の少なくとも一方)により実行されてもよい。
【0053】
プロセッサ401は、電子回路(処理回路、Processing circuit、Processing circuitry、CPU、GPU、FPGA、又はASIC等)であってもよい。また、プロセッサ401は、専用の処理回路を含む半導体装置等であってもよい。なお、プロセッサ401は、電子論理素子を用いた電子回路に限定されるものではなく、光論理素子を用いた光回路により実現されてもよい。また、プロセッサ401は、量子コンピューティングに基づく演算機能を含むものであってもよい。
【0054】
プロセッサ401は、制御装置310の内部構成の各装置等から入力された各種データや命令に基づいて各種演算を行い、演算結果や制御信号を各装置等に出力する。プロセッサ401は、OS(Operating System)や、アプリケーション等を実行することにより、制御装置310が備える各構成要素を制御する。
【0055】
また、プロセッサ401は、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいはデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線又は無線により通信してもよい。
【0056】
主記憶装置402は、プロセッサ401が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置402に記憶された各種データがプロセッサ401により読み出される。補助記憶装置403は、主記憶装置402以外の記憶装置である。なお、これらの記憶装置は、各種データ(例えば、後述する地図情報格納部502に格納される環境地図)を格納可能な任意の電子部品を意味するものとし、半導体のメモリでもよい。半導体のメモリは、揮発性メモリ、不揮発性メモリのいずれでもよい。制御装置310において各種データを保存するための記憶装置は、主記憶装置402又は補助記憶装置403により実現されてもよく、プロセッサ401に内蔵される内蔵メモリにより実現されてもよい。
【0057】
また、1つの主記憶装置402に対して、複数のプロセッサ401が接続(結合)されてもよいし、単数のプロセッサ401が接続されてもよい。あるいは、1つのプロセッサ401に対して、複数の主記憶装置402が接続(結合)されてもよい。制御装置310が、少なくとも1つの主記憶装置402と、この少なくとも1つの主記憶装置402に接続(結合)される複数のプロセッサ401とで構成される場合、複数のプロセッサ401のうち少なくとも1つのプロセッサが、少なくとも1つの主記憶装置402に接続(結合)される構成を含んでもよい。
【0058】
ネットワークインタフェース404は、無線又は有線により、通信ネットワーク440に接続するためのインタフェースである。
【0059】
デバイスインタフェース405は、外部装置450と直接接続するUSB等のインタフェースである。
【0060】
外部装置450は、一例として、入力装置であってもよい。本実施形態において、入力装置は、例えば、カメラ(前面RGBカメラ221、ToFカメラ222、後面RGBカメラ320)、マイクロフォン(マイク301~304)、各種センサ(フォトリフレクタ330、不図示の加速度センサ、ジャイロセンサ)等の電子デバイスであり、取得した情報を制御装置310に与える。
【0061】
また、外部装置450は、一例として、出力装置であってもよい。本実施形態において、出力装置は、例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、又は有機EL(Electro Luminescence)パネル等の表示装置であってもよいし、音声等を出力するスピーカ(スピーカ305~306)等であってもよい。また、各種駆動装置(モータ、ソレノイド)等の駆動デバイスであってもよい。
【0062】
また、外部装置450は、記憶装置(メモリ)であってもよい。例えば、外部装置450はネットワークストレージ等であってもよく、外部装置450はHDD等のストレージであってもよい。
【0063】
また、外部装置450は、制御装置310の構成要素の一部の機能を有する装置でもよい。つまり、制御装置310は、外部装置450との間で処理結果を送受信してもよい。
【0064】
<制御装置の機能構成>
次に、自律ロボット120の制御装置310の機能構成について説明する。
図5は、自律ロボットの制御装置の機能構成の一例を示す図であり、ここでは、バッテリ340を充電するための充電用の自律移動機能及びそれに関わる機能について説明する。制御装置310には自律移動プログラムがインストールされており、当該プログラムが実行されることで、制御装置310は、充電用の自律移動機能及びそれに関わる機能を実現する。
【0065】
具体的には、制御装置310は、地図生成部501、バッテリ残量検知部511、充電指示受付部512、充電ステーション検出部513、ドッキング検知部514、充電用自律移動制御部515、位置姿勢情報算出部516として機能する。また、制御装置310は、タスク指示受付部521、タスク用自律移動制御部522、位置情報校正部531として機能する。
【0066】
地図生成部501は、環境地図(例えば、所定空間100内の地図)を生成し、地図情報格納部502に格納する。地図生成部501では、例えば、前面RGBカメラ221、ToFカメラ222からの画像データ(カラー画像、距離画像)及び不図示の各種センサ(加速度センサ、ジャイロセンサ等)からのセンサデータに基づいて、環境地図を生成する。
【0067】
バッテリ残量検知部511は、バッテリ340の残量を監視し、所定の閾値以下となった場合に、バッテリ340の残量が所定の閾値以下になったことを充電用自律移動制御部515に通知する。
【0068】
充電指示受付部512は、例えば、ユーザ110が自律ロボット120に対して、バッテリ340の充電を行うよう音声指示を行った場合に、これを受け付ける。また、充電指示受付部512は、当該音声指示(以下では、充電指示と称す)を充電用自律移動制御部515に通知する。なお、ユーザ110による充電指示の仕方は様々であり、例えば、"充電しなさい"といった直接な表現であっても、"ホーム位置(充電ステーション160の位置)に戻りなさい"といった間接的な表現(充電を促す表現)であってもよい。
【0069】
充電ステーション検出部513は、後面RGBカメラ320からの画像データ(カラー画像)を取得するとともに、充電用自律移動制御部515を介して位置姿勢情報算出部516より自律ロボット120の3次元位置及び姿勢を取得する。これにより、充電ステーション検出部513は、充電ステーション160の3次元位置及び姿勢を算出する。また、充電ステーション検出部513は、算出した充電ステーション160の3次元位置及び姿勢を、充電用自律移動制御部515に通知する。
【0070】
ドッキング検知部514は、接続端子233間の電圧を監視し、接続検知用電圧(例えば、1[V])を検知した場合に、ドッキング完了情報を充電用自律移動制御部515に通知する。
【0071】
充電用自律移動制御部515は、充電用の自律移動を開始するための条件が成立したか否かを判定する。また、充電用自律移動制御部515は、充電用の自律移動を開始するための条件が成立したと判定した場合、充電ステーション160近傍まで自律ロボット120を移動させるための駆動制御信号を出力する。
【0072】
なお、充電用自律移動制御部515は、充電用の自律移動を開始するための条件が成立したか否かの判定を、バッテリ残量検知部511からの通知、充電指示受付部512からの通知、タスク用自律移動制御部522からの通知に基づいて行う。
【0073】
また、充電用自律移動制御部515は、地図情報格納部502より、充電ステーション160の3次元位置及び姿勢を読み出し、充電ステーション160近傍に自律ロボット120を移動させる際に目標とする目標位置及び目標姿勢を設定する。ここでいう目標位置及び目標姿勢とは、例えば、自律ロボット120の後面RGBカメラ320が、充電ステーション160を正面から撮影することが可能な自律ロボット120の3次元位置及び姿勢を指す。なお、充電用自律移動制御部515は、目標位置を複数設定してもよい。例えば、自律ロボット120の後面RGBカメラ320が、充電ステーション160を正面から撮影することが可能な位置として、充電ステーション160から0.5[m]、0.6[m]、・・・等離れた位置を、目標位置として設定してもよい。これにより、充電用自律移動制御部515は、充電ステーション160に取り付けられたマーカ(詳細は後述)を安定して検出可能な位置まで、自律ロボット120を移動させたうえで、ドッキング処理を開始することができる。
【0074】
また、充電用自律移動制御部515は、
・自律ロボット120の現在の3次元位置及び姿勢と、
・設定した目標位置及び目標姿勢と、
・前面RGBカメラ221、ToFカメラ222からの画像データ(カラー画像、距離画像)と、
・LIDAR212からの測定データ(障害物等の検知結果)と、
に基づき、自律ロボット120を充電ステーション160近傍まで移動させるための駆動制御信号を出力する。
【0075】
また、充電用自律移動制御部515は、自律ロボット120が充電ステーション160近傍まで移動した後は(設定した目標位置及び目標姿勢に到達した後は)、
・充電ステーション160の3次元位置及び姿勢と、
・自律ロボット120の現在の3次元位置及び姿勢と、
に基づき、自律ロボット120を充電ステーション160にドッキングさせるための駆動制御信号を出力する。充電用自律移動制御部515では、自律ロボット120を充電ステーション160にドッキングさせるためのドッキング処理を、ドッキング検知部514よりドッキング完了情報が通知されるまで継続する。また、充電用自律移動制御部515では、ドッキング完了情報が通知されるとドッキング処理を終了し、ドッキング処理終了情報を位置情報校正部531に通知する。
【0076】
なお、充電用自律移動制御部515は、位置姿勢情報算出部516より、自律ロボット120の現在の3次元位置及び姿勢を取得する。
【0077】
位置姿勢情報算出部516は、自律ロボット120の所定空間100内での3次元位置及び姿勢を算出する。位置姿勢情報算出部516では、例えば、前面RGBカメラ221、ToFカメラ222からの画像データ(カラー画像、距離画像)及び不図示の各種センサ(加速度センサ、ジャイロセンサ等)からのセンサデータに基づいて算出する。
【0078】
また、位置姿勢情報算出部516は、算出した自律ロボット120の所定空間100内での3次元位置及び姿勢を、充電用自律移動制御部515及びタスク用自律移動制御部522に通知する。
【0079】
タスク指示受付部521は、ユーザ110が自律ロボット120に対して、所定のタスク(例えば、ノートPCが載置された棚130を、ユーザ110の近傍の位置まで搬送するというタスク)を行うよう音声指示を行った場合に、これを受け付ける。また、タスク指示受付部521は、タスク指示をタスク用自律移動制御部522に通知する。
【0080】
タスク用自律移動制御部522は、タスク指示受付部521よりタスク指示が通知された場合に、通知されたタスク指示に応じたタスクを自律ロボット120が行うための駆動制御信号を出力する。また、タスク用自律移動制御部522は、タスク実行中は、タスク実行中であることを示す情報を、充電用自律移動制御部515に通知する。更に、タスク用自律移動制御部522は、いずれかの棚とドッキングしているか否かを判定し、いずれかの棚とドッキングしている場合には、棚ドッキング中であることを示す情報を、充電用自律移動制御部515に通知する。
【0081】
また、タスク用自律移動制御部522は、タスク指示の内容に応じた環境地図を地図情報格納部502から読み出したうえで、
・環境地図と、
・自律ロボット120の現在の3次元位置及び姿勢と、
・前面RGBカメラ221、ToFカメラ222からの画像データ(カラー画像、距離画像)と、
・LIDAR212からの測定データ(障害物等の検知結果)と、
に基づき、自律ロボット120がタスクを行うための駆動制御信号を出力する。
【0082】
位置情報校正部531は、充電用自律移動制御部515によりドッキング処理終了情報が通知されると、地図情報格納部502より、充電ステーション160の3次元位置及び姿勢を読み出す。また、位置情報校正部531は、読み出した3次元位置及び姿勢を用いて、位置姿勢情報算出部516により算出される3次元位置及び姿勢を校正する。
【0083】
<環境地図の具体例>
次に、地図生成部501により生成され、地図情報格納部502に格納される環境地図の具体例について説明する。
図6は、環境地図の一例を示す図である。なお、
図6の例は、自律ロボット120により所定のタスク(ノートPCが載置された棚130を、ユーザ110の近傍の位置まで搬送するというタスク)が実行される前に、地図生成部501により生成された環境地図を示している。
【0084】
符号600に示すように、地図生成部501では、前面RGBカメラ221、ToFカメラ222からの画像データ(カラー画像、距離画像)及び不図示の各種センサ(加速度センサ、ジャイロセンサ等)からのセンサデータに基づいて、3次元点群座標を取得する。地図生成部501が取得する3次元点群座標は、所定空間100内の各物体の3次元位置を示している。
【0085】
また、符号600に示すように、地図生成部501では、前面RGBカメラ221、ToFカメラ222からの画像データ(カラー画像、距離画像)に基づいて、3次元点群座標に対応する各物体を認識する。更に、地図生成部501では、各物体を認識する際、不図示の各種センサ(加速度センサ、ジャイロセンサ等)からのセンサデータに基づいて、各物体の姿勢を示すベクトルを算出する。
【0086】
これにより、地図生成部501では、符号610に示す環境地図を生成することができる。符号610に示すように、環境地図は、情報の項目として、"認識した物体"、"3次元位置"、"姿勢"を含む。
【0087】
"認識した物体"には、3次元点群座標に対応する各物体の認識結果が格納される。"3次元位置"には、各物体の3次元点群座標が格納される。"姿勢"には、各物体の姿勢を示すベクトルが格納される。
【0088】
なお、
図6の符号600の例では、充電ステーション160の3次元位置及び姿勢に基づいて充電用自律移動制御部515により設定される目標位置及び目標姿勢(符号600の例では、1つの目標位置及び目標姿勢)も合わせて記載している(符号601参照)。
【0089】
<充電用自律移動処理の流れ>
次に、自律ロボット120により実行される充電用自律移動処理の流れについて説明する。
図7は、自律ロボットにより実行される充電用自律移動処理の流れを示すフローチャートである。
【0090】
ステップS701において、充電用自律移動制御部515は、充電指示受付部512から、充電指示が通知されたか否かを判定する。ステップS701において、充電指示が通知されたと判定した場合には、ユーザ110からバッテリ340の充電を行うよう音声指示があったと判断する(ステップS701においてYES)。この場合、充電用自律移動制御部515は、充電用の自律移動を開始するための条件が成立したと判定し、ステップS704に進む。
【0091】
一方、ステップS701において、充電指示が通知されていないと判定した場合には、ユーザ110からバッテリ340の充電を行うための音声指示を受け付けていないと判断し(ステップS701においてNO)、ステップS702に進む。
【0092】
ステップS702において、充電用自律移動制御部515が、充電用自律移動制御部515は、タスク用自律移動制御部522から、タスク実行中であることを示す情報が通知されていないか否かを判定する。充電用自律移動制御部515は、タスク実行中であることを示す情報が、例えば、所定時間以上(例えば、1分以上)通知されていないと判定した場合には、自律ロボット120がタスクを実行中でないと判断する。この場合、充電用自律移動制御部515は、タスク用自律移動制御部522から、棚ドッキング中であることを示す情報が通知されていないか否かを判定する。充電用自律移動制御部515は、棚ドッキング中であることを示す情報が通知されていないと判定した場合には、自律ロボット120が棚とドッキングしていないと判断する。
【0093】
この場合(つまり、ステップS702においてYESの場合)、充電用自律移動制御部515は、充電用の自律移動を開始するための条件が成立したと判定し、ステップS704に進む。
【0094】
一方、ステップS702において、タスク実行中であることを示す情報が通知されていると判定した場合には、ステップS703に進む。あるいは、ステップS702において、タスク実行中であることを示す情報が通知されていないと判定したが、棚ドッキング中であることを示す情報が通知されていると判定した場合には、ステップS703に進む。
【0095】
ステップS703において、充電用自律移動制御部515は、バッテリ残量検知部511から、バッテリ340の残量が所定の閾値以下になったことが通知されたか否かを判定する。
【0096】
ステップS703において、バッテリ340の残量が所定の閾値以下になったことが通知されていないと判定した場合には(ステップS703においてNOの場合には)、ステップS706に進む。
【0097】
一方、ステップS703において、充電用自律移動制御部515が、バッテリ340の残量が所定の閾値以下になったことが通知されたと判定したとする(ステップS703においてYES)。この場合、充電用自律移動制御部515は、充電用の自律移動を開始するための条件が成立したと判定し、ステップS704に進む。
【0098】
ステップS704において、充電用自律移動制御部515は、地図情報格納部502より、充電ステーション160の3次元位置及び姿勢を読み出し、充電ステーション160近傍に自律ロボット120を移動させる際に目標とする目標位置及び目標姿勢を設定する。また、充電用自律移動制御部515は、
・自律ロボット120の現在の3次元位置及び姿勢と、
・設定した目標位置及び目標姿勢と、
・前面RGBカメラ221、ToFカメラ222からの画像データ(カラー画像、距離画像)と、
・LIDAR212からの測定データ(障害物等の検知結果)と、
に基づき、自律ロボット120を充電ステーション160近傍まで移動させるための駆動制御信号を出力する。これにより、充電用自律移動制御部515は、自律ロボット120を充電ステーション近傍に移動させる(目標位置、目標姿勢に到達させる)。
【0099】
ステップS705において、充電用自律移動制御部515は、自律ロボット120を充電ステーション160にドッキングさせるためのドッキング処理を実行する。また、充電用自律移動制御部515は、ドッキング処理が完了すると、充電用自律移動処理を終了する。なお、ドッキング処理(ステップS705)の詳細は後述する。
【0100】
一方、ステップS706において、充電用自律移動制御部515は、充電用自律移動処理を終了するか否かを判定する。充電用自律移動制御部515では、充電用自律移動処理を継続すると判定した場合には(ステップS706においてNOの場合には)、ステップS701に戻る。また、充電用自律移動制御部515は、充電用自律移動処理を終了すると判定した場合には(ステップS706においてYESの場合には)、充電用自律移動処理を終了する。
【0101】
なお、充電用自律移動制御部515が充電用自律移動処理を終了すると判定する場合とは、例えば、自律ロボット120が既に充電ステーション160にドッキングしている場合等である。あるいは、何らかの異常が発生して、充電用自律移動処理を強制終了する必要がある場合等である。
【0102】
<ドッキング処理の流れ>
次に、自律ロボット120により実行されるドッキング処理(ステップS705)の詳細について、
図8及び
図9を参照しながら説明する。
図8は、自律ロボットにより実行されるドッキング処理の流れを示すフローチャートである。
図9は、自律ロボットによる検出結果の具体例を示す図である。
【0103】
ステップS801において、充電ステーション検出部513は、後面RGBカメラ320からの画像データ(カラー画像、例えば、
図9の画像データ900)を取得する。
【0104】
ステップS802において、充電ステーション検出部513は、取得した画像データ900に含まれる、充電ステーション160の領域(例えば、
図9の符号910)を認識する。また、充電ステーション検出部513は、認識した充電ステーション160の領域からマーカの領域(例えば、
図9の符号911)を検出する。なお、充電ステーション検出部513では、マーカの領域と充電端子との位置関係を予め把握している。このため、充電端子の3次元位置及び姿勢は、マーカの領域が検出され、充電ステーション160の3次元位置及び姿勢が算出されることで特定される。
【0105】
図9において、符号920は、充電ステーション検出部513が、充電ステーション160の領域を認識した認識結果を表している。また、
図9において、符号921は、充電ステーション検出部513が、充電ステーション160のマーカの領域を検出した検出結果を表している。
【0106】
なお、充電ステーション検出部513が充電ステーション160の領域を認識するための構成は任意であり、例えば、予め訓練されたNN(Neural Network、ニューラルネットワーク)による物体認識処理を用いてもよい。また、充電ステーション検出部513がマーカの領域を検出するための構成は任意であり、例えば、充電ステーション検出部513は、認識した充電ステーション160の領域を画像処理(二値化処理)することで、マーカの領域を検出してもよい。予め訓練されたNNによる物体認識処理を用いた場合、上記符号920は、当該物体認識処理によって充電ステーション160であるとして認識された画素領域を表す。また、物体認識処理によって認識された充電ステーション160の領域を二値化処理することで、マーカの領域を検出した場合、符号921は、二値化処理することで白色に変換された画素領域を表す。
【0107】
ステップS803において、位置姿勢情報算出部516は、自律ロボット120の所定空間100内での3次元位置及び姿勢を算出する。位置姿勢情報算出部516は、例えば、前面RGBカメラ221、ToFカメラ222からの画像データ(カラー画像、距離画像)及び不図示の各種センサ(加速度センサ、ジャイロセンサ等)からのセンサデータに基づいて算出する。
【0108】
ステップS804において、充電ステーション検出部513は、
・検出した充電ステーション160のマーカの領域(符号911)と、
・自律ロボット120の3次元位置及び姿勢と、
に基づき、充電ステーション160の3次元位置及び姿勢を算出する。なお、自律ロボット120から見たマーカの見え方が分かれば、充電ステーション検出部513では、自律ロボット120の3次元位置及び姿勢に基づき、充電ステーション160の3次元位置及び姿勢が導き出すことができる。
【0109】
具体的には、本実施形態における充電ステーション検出部513は、二値化処理により検出されたマーカの領域に対して、
・線分を認識して、4辺を計算、
・4つの端点をサブピクセルで推定、
・4つの端点の3次元位置と、カメラへの当該4つの端点の再投影誤差が最小になるように、マーカの3次元位置及び姿勢を決定、
することで、充電ステーション160の3次元位置及び姿勢を導き出している。
【0110】
ステップS805において、充電用自律移動制御部515は、
・充電ステーション検出部513により算出された充電ステーション160の3次元位置及び姿勢と、
・位置姿勢情報算出部516により算出された自律ロボット120の所定空間100内での3次元位置及び姿勢と、
の差分に応じて、自律ロボット120の3次元位置及び姿勢を制御する。具体的には、充電用自律移動制御部515は、充電ステーション160の充電端子と、自律ロボット120の接続端子233とが接続されるように、上記差分に基づく非ホロノミック制御により駆動制御信号を出力する。
【0111】
ステップS806において、ドッキング検知部514は、接続端子233間の電圧を監視し、接続検知用電圧(例えば、1[V])を検知したか否かを判定する。具体的には、本実施形態におけるドッキング検知部514は、所定の閾値以上の電圧を検知した場合に、接続検知用電圧を検知したと判定し、所定の閾値以上の電圧を検知していない場合に、接続検知用電圧を検知していないと判定している。
【0112】
ステップS806において、接続検知用電圧を検知していないと判定した場合には(ステップS806においてNOの場合には)、ステップS801に戻る。
【0113】
一方、ステップS806において、接続検知用電圧を検知したと判定した場合には(ステップS806においてYESの場合には)、ドッキング完了情報を充電用自律移動制御部515に通知する。これにより、充電用自律移動制御部515は、ドッキング処理を終了し、ドッキング処理終了情報を位置情報校正部531に通知するとともに、ステップS807に進む。
【0114】
ステップS807において、位置情報校正部531は、位置姿勢情報算出部516により算出される3次元位置及び姿勢を校正する位置情報校正処理を実行する。なお、位置情報校正処理(ステップS807)の詳細は後述する。
【0115】
このように、本実施形態における自律ロボット120では、後面RGBカメラ320からの画像データをフィードバックしながら自律ロボット120の3次元位置及び姿勢を制御するビジュアルフィードバックを行う。
【0116】
これにより、第1の実施形態における自律ロボット120によれば、例えば、充電ステーション160に光信号等を出射する機構等を取り付けて充電ステーションとのドッキング処理を行う場合と比較して、低コストで精度の高いドッキング処理を実現できる。
【0117】
<位置情報校正処理の流れ>
次に、自律ロボット120により実行される位置情報校正処理(ステップS807)の詳細について、
図10を参照しながら説明する。
図10は、自律ロボットにより実行される位置情報校正処理の流れを示すフローチャートである。
【0118】
ステップS1001において、位置姿勢情報算出部516は、自律ロボット120の所定空間100内での3次元位置及び姿勢を算出する。位置姿勢情報算出部516では、例えば、前面RGBカメラ221、ToFカメラ222からの画像データ(カラー画像、距離画像)及び不図示の各種センサ(加速度センサ、ジャイロセンサ等)からのセンサデータに基づいて算出する。
【0119】
ステップS1002において、位置情報校正部531は、地図情報格納部502より、充電ステーション160の3次元位置及び姿勢を読み出す。
【0120】
ステップS1003において、位置情報校正部531は、読み出した充電ステーション160の3次元位置及び姿勢を用いて、位置姿勢情報算出部516により算出された自律ロボット120の3次元位置及び姿勢を校正する。具体的には、本実施形態における位置情報校正部531は、自律ロボット120の現在の3次元位置及び姿勢の情報を、地図情報格納部502より読み出した充電ステーション160の3次元位置及び姿勢の情報で上書きする。
【0121】
<充電ステーションの外観構成>
次に、充電ステーション160の外観構成について説明する。
図11は、充電ステーションの外観構成の一例を示す図である。
【0122】
図11に示すように、充電ステーション160は基部1110を有する。基部1110は、自律ロボット120が移動する移動面(
図2(b)に示す床面240)に載置された状態で移動面と対向する第1の面1111と、第1の面1111の反対側に位置し、充電端子1130が配された第2の面1112とを有する。なお、第1の面1111は、基部1110が移動面に載置された状態で、移動面に一部または全部が隙間なく対向するように(つまり、接するように)構成されてもよいし、一部または全部が微小な隙間を介して移動面に対向するように構成されてもよい。
【0123】
また、充電ステーション160は壁部1120を有する。壁部1120は、第2の面1112と接続し、第2の面1112と略直交する第3の面1121に、マーカ1140が取り付けられている。
【0124】
<充電ステーションの内部構成>
次に、充電ステーション160の内部構成について説明する。
図12は、充電ステーションの内部構成の一例を示す図である。
図12に示すように、充電ステーション160の内部には、充電端子1130に接続される判定装置1210及び充電装置1220が配される。
【0125】
判定装置1210は、充電端子1130に接続検知用電圧(例えば、1[V])を印加し、自律ロボット120の接続端子233が、充電端子1130に接続したか否かを判定する。
【0126】
具体的には、判定装置1210は、充電端子1130に接続検知用電圧を印加した状態で、充電端子1130に流れる電流を検知し、検知した電流値に基づいて、充電端子1130に接続した物体のインピーダンスを算出する。また、判定装置1210は、算出したインピーダンスが所定範囲に含まれるか否かを判定し、所定範囲に含まれると判定すると、充電端子1130にのこぎり状の変動電圧(例えば、0[V]から1[V]の範囲でのこぎり状に時間変化する電圧)を印加する。
【0127】
また、判定装置1210は、変動電圧を印加した際の電流値に基づいて、充電端子1130に接続した物体のキャパシタンスを算出する。なお、判定装置1210では、例えば、下式(1)を用いて、キャパシタンスを算出する。
【0128】
【数1】
上式(1)において、i(t)は電流値、v(t)は電圧値、Cはキャパシタンスを表している。
【0129】
また、判定装置1210は、算出したキャパシタンスが所定範囲に含まれるか否かを判定し、所定範囲に含まれると判定すると、充電端子1130に、自律ロボット120の接続端子233が接続されたと判定し、充電開始指示を充電装置1220に通知する。
【0130】
充電装置1220は、判定装置1210より、充電開始指示が通知されると、充電端子1130に、充電用電圧(例えば、30[V])を印加する。これにより、自律ロボット120のバッテリ340が充電される。なお、充電装置1220は、外部電源(例えば、家庭用の100[V]電源)と接続される。
【0131】
<判定装置による判定処理>
次に、充電ステーション160の判定装置1210により実行される判定処理の流れについて説明する。
図13は、充電ステーションの判定装置により実行される判定処理の流れを示すフローチャートである。
【0132】
ステップS1301において、判定装置1210は、接続検知用電圧を充電端子1130に印加する。
【0133】
ステップS1302において、判定装置1210は、電流が検知されたか否かを判定する。ステップS1302において、電流が検知されていないと判定した場合には(ステップS1302においてNOの場合には)、電流が検知されたと判定するまで待機する。
【0134】
一方、ステップS1302において、電流が検知されたと判定した場合には(ステップS1302においてYESの場合には)、ステップS1303に進む。
【0135】
ステップS1303において、判定装置1210は、検知された電流値に基づいて、充電端子1130に接続した物体のインピーダンスを算出する。
【0136】
ステップS1304において、判定装置1210は、算出したインピーダンスが所定範囲に含まれるか否かを判定する。ステップS1304において、所定範囲に含まれないと判定した場合には(ステップS1304においてNOの場合には)、ステップS1302に戻る。
【0137】
一方、ステップS1304において、算出したインピーダンスが所定範囲に含まれると判定した場合には(ステップS1304においてYESの場合には)、ステップS1305に進む。
【0138】
ステップS1305において、判定装置1210は、充電端子1130にのこぎり状の変動電圧を印加する。
【0139】
ステップS1306において、判定装置1210は、電流が検知されたか否かを判定する。ステップS1306において、電流が検知されていないと判定した場合には(ステップS1306においてNOの場合には)、ステップS1302に戻る。
【0140】
一方、ステップS1306において、電流が検知されたと判定した場合には(ステップS1306においてYESの場合には)、ステップS1307に進む。
【0141】
ステップS1307において、判定装置1210は、検知された電流値に基づいて、充電端子1130に接続した物体のキャパシタンスを算出する。
【0142】
ステップS1308において、判定装置1210は、算出したキャパシタンスが所定範囲に含まれるか否かを判定する。ステップS1308において、所定範囲に含まれないと判定した場合には(ステップS1308においてNOの場合には)、ステップS1302に戻る。
【0143】
一方、ステップS1308において、算出したキャパシタンスが所定範囲に含まれると判定した場合には(ステップS1308においてYESの場合には)、ステップS1309に進む。
【0144】
ステップS1309において、判定装置1210は、充電装置1220に、充電開始指示を通知する。これにより、充電装置1220では、充電端子1130に、充電用電圧(例えば、30[V])を印加する。これにより、自律ロボット120のバッテリ340が充電される。
【0145】
このように、判定装置1210がインピーダンスとキャパシタンスとを算出する構成とすることで、例えば、充電端子1130に、燃えやすい針金等が接触した場合であっても、発火する等の事象を回避することができる。また、仮に、自律ロボット120のインピーダンスと同程度のインピーダンスを有する導体が充電端子1130に接触した場合であっても、キャパシタンスが所定範囲に含まれていなければ、充電端子1130に充電装置1220が充電用電圧を印加することはない。
【0146】
この結果、第1の実施形態に係る充電ステーション160によれば、安全性を向上させることができる。自律ロボット120以外の物体で、自律ロボット120とインピーダンス及びキャパシタンスが同じ物体が存在する確率は極めて低く、安全性を担保することができるからである。
【0147】
<まとめ>
以上の説明から明らかなように、第1の実施形態に係る自律ロボット120は、後面RGBカメラ320と、後面RGBカメラにより撮影された画像を処理する制御装置310とを有し、当該自律ロボット120において、
・制御装置310は、ニューラルネットワークを用いて画像に含まれる充電ステーション160を認識し、画像処理により充電ステーション160に取り付けられたマーカ1140を検出することで、充電ステーションの3次元位置及び姿勢を算出する。
・制御装置310は、算出した充電ステーション160の3次元位置及び姿勢に基づいて、自律ロボット120の3次元位置及び姿勢を制御することで、充電ステーション160へのドッキング処理を行う。
【0148】
また、第1の実施形態に係る自律移動プログラムは、後面RGBカメラ320と、後面RGBカメラにより撮影された画像を処理する制御装置310と、を有する自律ロボット120の制御装置310に、
・ニューラルネットワークを用いて画像に含まれる充電ステーション160を認識し、画像処理により充電ステーション160に取り付けられたマーカ1140を検出することで、充電ステーション160の3次元位置及び姿勢を算出する工程と、
・算出した充電ステーション160の3次元位置及び姿勢に基づいて、自律ロボット120の位置及び姿勢を制御することで、充電ステーション160へのドッキング処理を行う工程と、
を実行させる。
【0149】
また、第1の実施形態に係る自律移動プログラムを記憶する記憶媒体は、後面RGBカメラ320と、後面RGBカメラにより撮影された画像を処理する制御装置310と、を有する自律ロボット120の制御装置310に、
・ニューラルネットワークを用いて画像に含まれる充電ステーション160を認識し、画像処理により充電ステーション160に取り付けられたマーカ1140を検出することで、充電ステーション160の3次元位置及び姿勢を算出する工程と、
・算出した充電ステーション160の3次元位置及び姿勢に基づいて、自律ロボット120の位置及び姿勢を制御することで、充電ステーション160へのドッキング処理を行う工程と、
を実行させるための自律移動プログラムを記憶する。
【0150】
これにより、第1の実施形態によれば、充電ステーションに光信号を出射する機構等を取り付けて充電ステーションとのドッキング処理を行う場合と比較して、低コストで精度の高いドッキング処理を実現することができる。
【0151】
また、第1の実施形態に係る充電ステーション160は、ドッキングが完了した自律ロボット120のバッテリ340を充電するよう構成され、
・充電端子1130に、充電用電圧よりも低い接続検知用電圧を印加し、充電端子1130に接触した物体のインピーダンス及びキャパシタンスを算出することで、充電端子1130に接触した物体が自律ロボット120であるか否かを判定する。
・自律ロボットであると判定した場合に、充電端子1130に充電用電圧を印加する。
【0152】
これにより、第1の実施形態によれば、充電ステーションの安全性を向上させることができる。
【0153】
つまり、第1の実施形態によれば、自律ロボットと充電ステーションとを含むシステムにおいて、安全性及びコストの観点で実用性を高めることができる。
【0154】
[第2の実施形態]
上記第1の実施形態では、充電用自律移動処理(
図7)を実行する際、
・充電指示があったか(ステップS701)、
・タスク実行中でなく、かつ、棚ドッキング中でないか(ステップS702)、
・バッテリ残量が所定の閾値以下か(ステップS703)、
を充電用の自律移動を開始するための条件としたが、充電用の自律移動を開始するための条件はこれら3つに限定されない。例えば、他の条件が加わってもよいし、他の条件が、上記3つの条件のいずれかの条件と置き換わってもよい。あるいは、これら3つの条件のうちの一部が除外されてもよい。例えば、タスクが完了した場合には、棚ドッキング中であるか否かに関わらず、充電用の自律移動を開始するように構成してもよい。つまり、タスク実行中でない場合には、棚とドッキングしたままであっても充電用の自律移動を開始し、充電ステーション160とドッキングするように構成してもよい。あるいは、タスク実行中は、ユーザ110からの充電指示を受け付けないように構成してもよい。
【0155】
なお、上記の条件によれば、例えば、充電指示があった場合、あるいは、バッテリ残量が所定の閾値以下になった場合には、そもそも、棚ドッキング中であるか否かに関わらず、充電用の自律移動を開始する。しかしながら、棚ドッキング中に充電用の自律移動を開始するのは、他の条件が加わった場合に限定してもよい。例えば、充電指示が、棚とドッキングした状態で充電することの指示であった場合には、棚とドッキングしたまま、充電用の自律移動を開始し、充電ステーション160とドッキングするように構成してもよい。あるいは、バッテリ残量が所定の閾値以下となった場合であって、所定の条件を満たす場合には、棚とドッキングしたまま、充電用の自律移動を開始し、充電ステーション160とドッキングするように構成してもよい。
【0156】
あるいは、充電用の自律移動を開始するにあたり、自律ロボット120は、必要な動作を行ってから充電用の自律移動を開始するよう構成されてもよい。
【0157】
必要な動作を行うケースとは、例えば、充電指示があった場合(あるいは、バッテリ残量が所定の閾値以下になった場合)に、自律ロボット120がタスクは実行していないが依然として棚にドッキングした状態を維持しているケース等が想定される。このようなケースでは、自律ロボット120は、充電指示が通知されると(あるいは、バッテリ残量が所定の閾値以下であることが通知されると)、棚とのドッキングを解除したうえで、充電用の自律移動を開始する。
【0158】
ただし、必要な動作が行われるのは、充電用の自律移動を開始する際に限定されない。必要な動作は、充電用の自律移動を開始するための条件を成立させるために行われてもよい。
【0159】
また、上記第1の実施形態では、上記3つの条件のいずれか1つの条件が成立した場合に、充電用の自律移動を開始する構成としたが、いずれか2つ以上の条件が成立した場合に、充電用の自律移動を開始する構成としてもよい。例えば、バッテリ残量が所定の閾値以下であり、かつ、タスク実行中でなく、かつ、棚ドッキング中でない場合に、充電用の自律移動を開始するように構成してもよい。あるいは、充電指示があり、かつ、タスク実行中でなく、かつ、棚ドッキング中でない場合に、充電用の自律移動を開始するように構成してもよい。
【0160】
これにより、例えば、タスク実行中に、充電用の自律移動が開始されることがなくなり、予期せぬ充電用の自律移動を回避することができる。
【0161】
また、上記第1の実施形態では、上記3つの条件を判定する順序を、ステップS701→ステップS702→ステップS703の順序としたが、上記3つの条件を判定する順序はこれに限定されない。
【0162】
また、上記第1の実施形態では、充電用の自律移動を開始する際に実行される自律ロボット120の詳細機能について言及しなかったが、自律ロボット120は、例えば、充電用の自律移動を開始する際に、移動方向に光を照射する機能を有していてもよい。
【0163】
[第3の実施形態]
上記第1の実施形態では、ドッキング処理において充電ステーション160の領域を認識する際、予め訓練されたNNを用いるものとして説明した。しかしながら、ドッキング処理において充電ステーション160の領域を認識する際に用いるモデルは、NN以外のモデルであって、予め訓練されたモデルを用いてもよい。
【0164】
また、上記第1の実施形態では、ドッキング処理において充電ステーション160の領域を認識する際に用いるNNが、予め訓練されたものであるとして説明した。しかしながら、ドッキング処理において充電ステーション160の領域を認識する際に用いるNNは、対象とする空間(例えば、所定空間100)ごとに訓練されてもよい。あるいは、予め訓練されたNNを用いる場合にあっては、照明条件、背景等を変えた種々の訓練用データを用いて訓練されたNNを用いてもよい。これにより、NNのロバスト性を高めることができる。
【0165】
また、上記第1の実施形態では、マーカ1140の形状を矩形としたが、マーカ1140の形状は矩形に限定されない。また、上記第1の実施形態では、マーカ1140の色について言及しなかったが、マーカ1140の色は任意であり、壁部1120の第3の面1121とのコントラストが大きい色であることが好ましい。また、上記第1の実施形態では、マーカ1140の材質について言及しなかったが、マーカ1140の材質は任意であり、壁部1120とは異なる反射率を有する材質であることが好ましい。
【0166】
更に、上記第1の実施形態では、マーカの個数を1個としたが、壁部1120に取り付けられるマーカの数は、複数であってもよい。なお、複数のマーカが取り付けられる場合にあっては、充電ステーション検出部513は、検出した複数のマーカの領域に基づいて、充電ステーション160の3次元位置及び姿勢を算出してもよい。あるいは、充電ステーション検出部513は、いずれか1つまたは複数のマーカの領域に基づいて、充電ステーション160の3次元位置及び姿勢を算出してもよい。
【0167】
また、上記第1の実施形態では、ドッキング処理において充電ステーション160の領域を認識し、認識した領域を対象に画像処理することでマーカ1140の領域を検出する処理の利点について言及しなかったが、当該処理の利点は以下のとおりである。
・充電ステーション160に対して、直射日光が当たる場合等のように、マーカ1140の領域の外縁が適切に検出しにくい状況でも、充電ステーション160の領域を対象に二値化処理等の画像処理を行うため、マーカ1140の領域の外縁を適切に検出できる。
・充電ステーション160の領域を対象に認識処理を行う構成とすると、マーカ1140の領域以外の領域を、マーカ1140の領域と誤認識する場合がある。一方で、充電ステーション160の領域を対象に画像処理を行う構成とすると、マーカ1140の領域を正しく検出できる。
・認識した充電ステーション160の領域を対象に画像処理を行うことでマーカ1140の領域を検出する処理の場合、シンプルなマーカであっても誤検出する確率を低減できるため、意匠性の高いマーカを取り付けることできる。
【0168】
なお、上記第1の実施形態では、充電ステーション160とドッキングする場合について説明したが、上記ドッキング処理は、充電ステーション160以外のステーション(充電機能を有していないステーション)とドッキングする場合に適用してもよい。
【0169】
また、上記第1の実施形態では、充電ステーション検出部513が、後面RGBカメラ320からの画像データ(カラー画像)を用いて、充電ステーション160の3次元位置及び姿勢を算出する構成とした。しかしながら、充電ステーション検出部513が充電ステーション160の3次元位置及び姿勢を算出する際に用いる画像データは、カラー画像に限定されず、モノクロ画像であってもよい。
【0170】
[第4の実施形態]
上記第1の実施形態では、画像処理によりマーカ1140の領域を検出する構成としたが、マーカ1140の領域は、NNを用いて認識することで検出してもよい。この場合、充電ステーション160の領域を、NNを用いて認識する処理は不要となる。
【0171】
つまり、NNを用いたマーカ1140の検出には、少なくとも
・NNを用いて、充電ステーション160の領域を認識し、画像処理によりマーカ1140の領域を検出するケース(第1の実施形態)と、
・NNを用いて、マーカ1140の領域を認識することで検出するケース(本実施形態)と、
が含まれる。
【0172】
なお、NNは、物体検出やセグメンテーション等により物体を認識するモデルであってもよい。
【0173】
[第5の実施形態]
上記第1の実施形態では、マーカ1140の領域を検出し、充電ステーション160の3次元位置及び姿勢を算出することで、充電端子の3次元位置及び姿勢を特定する構成とした。しかしながら、充電端子の3次元位置及び姿勢の特定方法はこれに限定されない。
【0174】
例えば、自律ロボット120の後面に距離画像センサを配し、充電端子の3次元位置及び姿勢を測定する構成としてもよい。あるいは、充電ステーション160の壁部1120の3次元位置及び姿勢を測定することで、充電端子の3次元位置及び姿勢を特定する構成としてもよい。なお、充電端子の3次元位置及び姿勢を測定するにあたっては、自律ロボット120の後面に距離画像センサを配する代わりに、2以上のカメラ(ステレオカメラ)を配してもよい。
【0175】
あるいは、充電ステーション160の領域を、NNを用いて認識した際の認識結果に基づき、充電ステーション160の3次元位置及び姿勢を算出することで、充電端子の3次元位置及び姿勢を特定する構成としてもよい。
【0176】
あるいは、充電ステーション160の領域を認識する代わりに、NNを用いてマーカ1140の領域を認識し、マーカ1140の3次元位置及び姿勢を算出することで、充電端子の3次元位置及び姿勢を特定する構成としてもよい。
【0177】
あるいは、充電ステーション160の壁部1120に、充電端子を取り付け、NNを用いて充電端子の領域を認識することで、充電端子の3次元位置及び姿勢を特定するように構成してもよい。つまり、充電端子がマーカとしての役割を備えてもよい。充電端子がマーカとしての役割を備える場合、NNを用いた充電ステーション160の領域の認識と画像処理(二値化処理等)とを組み合わせることで、マーカとしての充電端子の3次元位置及び姿勢を特定する構成としてもよい。
【0178】
あるいは、充電ステーション160の壁部1120に、充電端子を取り付け、NNを用いて充電ステーション160の領域を認識し、充電端子の領域を二値化処理により検出することで、充電端子の3次元位置及び姿勢を特定するように構成してもよい。
【0179】
[第6の実施形態]
上記第1の実施形態では、判定装置1210が物体のキャパシタンスを算出する際、のこぎり状に変動する変動電圧を充電端子1130に印加するものとして説明した。しかしながら、キャパシタンスを算出する際に判定装置1210が充電端子1130に印加する変動電圧の形状は、のこぎり状に限定されない。
【0180】
図14は、変動電圧の形状の一例を示す図である。このうち、
図14(c)は参考として、上述したのこぎり状の変動電圧の一例を示したものである。一方、
図14(a)は、0[V]から1[V]の範囲で漸増する変動電圧の一例を示したものである。また、
図14(b)は、1[V]から0[V]の範囲で漸減する変動電圧の一例を示したものである。
【0181】
このように、物体のキャパシタンスを算出する際に判定装置1210が充電端子1130に印加する変動電圧は、単位時間あたりの変化量が一定であれば、任意の形状が許容される。
【0182】
[第7の実施形態]
上記各実施形態では、ユーザ110が自律ロボット120に対して、直接、音声指示を行う場合について説明したが、ユーザ110による音声指示の方法はこれに限定されない。例えば、自律ロボット120と通信可能なユーザ端末(スマートフォン、タブレット、パーソナルコンピュータ等)を介して、自律ロボット120に対して、音声指示を行う構成としてもよい。また、ユーザ端末を介して自律ロボット120に対して指示する場合にあっては、音声指示に限定されず、ユーザ端末上の操作画面を操作することで指示してもよい。
【0183】
また、上記各実施形態では、タスク用の自律移動機能及び充電用の自律移動機能を、制御装置310において実現する場合について説明したが、タスク用の自律移動機能及び充電用の自律移動機能の実現方法はこれに限定されない。例えば、自律ロボット120を不図示のサーバ装置と通信可能に接続し、タスク用の自律移動機能及び充電用の自律移動機能の一部を、当該サーバ装置において実現するように構成してもよい。
【0184】
また、上記各実施形態では、位置及び姿勢として、3次元の情報を用いる場合について説明したが、位置及び姿勢は、2次元の情報であってもよい。
【0185】
また、上記各実施形態では、自律ロボットにより搬送される搬送対象が棚であるとして説明したが、自律ロボットにより搬送される搬送対象は棚に限定されない。例えば、自律ロボットは、他の物品(家具等)を搬送してもよい。また、上記各実施形態では、自律ロボットとして、棚にドッキングすることで棚を搬送する自律ロボットを挙げたが、自律ロボットによる棚の搬送方法はこれに限定されず、ドッキング以外の状態で、棚を搬送してもよい。
【0186】
つまり、自律ロボットが搬送対象を搬送可能な状態には、搬送対象とドッキングしている状態のほか、
・搬送対象を牽引可能な状態(搬送対象と物理的につながっている状態)、
・搬送対象をつかんでいる状態、
・搬送対象を持ち上げている状態、
・自律ロボットが移動すると搬送対象も連動して移動する状態、
等が含まれる。
【0187】
また、上記各実施形態では、自律ロボットが特定のタスクを実行する場合について説明したが、自律ロボットは特定のタスクを行うロボットに限定されない。例えば、お手伝いロボット、家事ロボット(例えば、掃除ロボット)等のように、様々なタスクを行うロボットであってもよい。あるいは、自律ロボットは、床面240を走行するロボットに限定されず、例えば、ドローン等のように、飛行するロボットであってもよい。また、自律ロボットは自律走行車であってもよい。
【0188】
また、上記各実施形態では、主に、充電用の自律移動機能について説明したため、バッテリ残量検知部511からの通知は、充電用自律移動制御部515に対して行うものとした。しかしながら、バッテリ残量検知部511からの通知は、タスク用自律移動制御部522に対して行う構成としてもよい。
【0189】
この場合、タスク用自律移動制御部522は、例えば、タスクを実行する前に、タスクを実行するのに要する消費電力を予測し、タスクの実行可否を判断してもよい。また、タスク用自律移動制御部522は、タスクの実行が不可と判断した場合にあっては、バッテリ残量が原因で実行が不可であることを、ユーザ110に(あるいは、ユーザ端末)に通知してもよい。なお、消費電力の予測は、例えば、棚の移動距離に基づいて予測してもよいし、同様のタスクを実行した際の過去の消費電力の実績値に基づいて予測してもよい。更に、消費電力の予測に際しては、棚の大きさや重さ等が考慮されてもよい。
【0190】
[その他の実施形態]
本明細書(請求項を含む)において、「a、bおよびcの少なくとも1つ(一方)」又は「a、b又はcの少なくとも1つ(一方)」の表現(同様な表現を含む)が用いられる場合は、a、b、c、a-b、a-c、b-c、又はa-b-cのいずれかを含む。また、a-a、a-b-b、a-a-b-b-c-c等のように、いずれかの要素について複数のインスタンスを含んでもよい。さらに、a-b-c-dのようにdを有する等、列挙された要素(a、b及びc)以外の他の要素を加えることも含む。
【0191】
また、本明細書(請求項を含む)において、「データを入力として/データに基づいて/に従って/に応じて」等の表現(同様な表現を含む)が用いられる場合は、特に断りがない場合、各種データそのものを入力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を入力として用いる場合を含む。また「データに基づいて/に従って/に応じて」何らかの結果が得られる旨が記載されている場合、当該データのみに基づいて当該結果が得られる場合を含むとともに、当該データ以外の他のデータ、要因、条件、及び/又は状態等にも影響を受けて当該結果が得られる場合をも含み得る。また、「データを出力する」旨が記載されている場合、特に断りがない場合、各種データそのものを出力として用いる場合や、各種データに何らかの処理を行ったもの(例えば、ノイズ加算したもの、正規化したもの、各種データの中間表現等)を出力とする場合も含む。
【0192】
また、本明細書(請求項を含む)において、「接続される(connected)」及び「結合される(coupled)」との用語が用いられる場合は、直接的な接続/結合、間接的な接続/結合、電気的(electrically)な接続/結合、通信的(communicatively)な接続/結合、機能的(operatively)な接続/結合、物理的(physically)な接続/結合等のいずれをも含む非限定的な用語として意図される。当該用語は、当該用語が用いられた文脈に応じて適宜解釈されるべきであるが、意図的に或いは当然に排除されるのではない接続/結合形態は、当該用語に含まれるものして非限定的に解釈されるべきである。
【0193】
また、本明細書(請求項を含む)において、「AがBするよう構成される(A configured to B)」との表現が用いられる場合は、要素Aの物理的構造が、動作Bを実行可能な構成を有するとともに、要素Aの恒常的(permanent)又は一時的(temporary)な設定(setting/configuration)が、動作Bを実際に実行するように設定(configured/set)されていることを含んでよい。例えば、要素Aが汎用プロセッサである場合、当該プロセッサが動作Bを実行可能なハードウェア構成を有するとともに、恒常的(permanent)又は一時的(temporary)なプログラム(命令)の設定により、動作Bを実際に実行するように設定(configured)されていればよい。また、要素Aが専用プロセッサ又は専用演算回路等である場合、制御用命令及びデータが実際に付属しているか否かとは無関係に、当該プロセッサの回路的構造が動作Bを実際に実行するように構築(implemented)されていればよい。
【0194】
また、本明細書(請求項を含む)において、含有又は所有を意味する用語(例えば、「含む(comprising/including)」及び「有する(having)」等)が用いられる場合は、当該用語の目的語により示される対象物以外の物を含有又は所有する場合を含む、open-endedな用語として意図される。これらの含有又は所有を意味する用語の目的語が数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)である場合は、当該表現は特定の数に限定されないものとして解釈されるべきである。
【0195】
また、本明細書(請求項を含む)において、ある箇所において「1つ又は複数(one or more)」又は「少なくとも1つ(at least one)」等の表現が用いられ、他の箇所において数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)が用いられているとしても、後者の表現が「1つ」を意味することを意図しない。一般に、数量を指定しない又は単数を示唆する表現(a又はanを冠詞とする表現)は、必ずしも特定の数に限定されないものとして解釈されるべきである。
【0196】
また、本明細書において、ある実施例の有する特定の構成について特定の効果(advantage/result)が得られる旨が記載されている場合、別段の理由がない限り、当該構成を有する他の1つ又は複数の実施例についても当該効果が得られると理解されるべきである。但し当該効果の有無は、一般に種々の要因、条件、及び/又は状態等に依存し、当該構成により必ず当該効果が得られるものではないと理解されるべきである。当該効果は、種々の要因、条件、及び/又は状態等が満たされたときに実施例に記載の当該構成により得られるものに過ぎず、当該構成又は類似の構成を規定したクレームに係る発明において、当該効果が必ずしも得られるものではない。
【0197】
また、本明細書(請求項を含む)において、複数のハードウェアが所定の処理を行う場合、各ハードウェアが協働して所定の処理を行ってもよいし、一部のハードウェアが所定の処理の全てを行ってもよい。また、一部のハードウェアが所定の処理の一部を行い、別のハードウェアが所定の処理の残りを行ってもよい。本明細書(請求項を含む)において、「1又は複数のハードウェアが第1の処理を行い、前記1又は複数のハードウェアが第2の処理を行う」等の表現が用いられている場合、第1の処理を行うハードウェアと第2の処理を行うハードウェアは同じものであってもよいし、異なるものであってもよい。つまり、第1の処理を行うハードウェア及び第2の処理を行うハードウェアが、前記1又は複数のハードウェアに含まれていればよい。なお、ハードウェアは、電子回路、又は、電子回路を含む装置等を含んでよい。
【0198】
また、本明細書(請求項を含む)において、複数の記憶装置(メモリ)がデータの記憶を行う場合、複数の記憶装置(メモリ)のうち個々の記憶装置(メモリ)は、データの一部のみを記憶してもよいし、データの全体を記憶してもよい。
【0199】
以上、本開示の実施形態について詳述したが、本開示は上記した個々の実施形態に限定されるものではない。特許請求の範囲に規定された内容及びその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲において種々の追加、変更、置き換え及び部分的削除等が可能である。例えば、前述した全ての実施形態において、説明に用いた数値は、一例として示したものであり、これらに限られるものではない。また、実施形態における各動作の順序は、一例として示したものであり、これらに限られるものではない。
【0200】
なお、開示の技術では、以下に記載する付記のような形態が考えられる。
(付記1)
カメラと、
前記カメラにより撮影された画像を処理する制御装置と、を有し、
前記制御装置は、
ニューラルネットワークを用いて前記画像に含まれる充電ステーションに取り付けられたマーカを検出することで、前記充電ステーションの位置及び姿勢を算出し、
算出した前記充電ステーションの位置及び姿勢に基づいて、自律ロボットの位置及び姿勢を制御することで、前記充電ステーションへのドッキング処理を行う、
自律ロボット。
(付記2)
前記制御装置は、
算出した前記充電ステーションの位置及び姿勢と、前記自律ロボットの位置及び姿勢との差分に基づいて、前記自律ロボットの位置及び姿勢を制御することで、前記充電ステーションへのドッキング処理を行う、
付記1に記載の自律ロボット。
(付記3)
前記制御装置は、
前記充電ステーションに取り付けられた前記マーカを検出した検出結果と、
前記自律ロボットの位置及び姿勢と、
に基づき、前記充電ステーションの位置及び姿勢を算出する、
付記2に記載の自律ロボット。
(付記4)
前記制御装置は、
前記ニューラルネットワークを用いて前記画像に含まれる前記充電ステーションを認識し、認識した前記充電ステーションの領域を画像処理することで、前記マーカを検出する、
付記1に記載の自律ロボット。
(付記5)
前記充電ステーションの充電端子と接続するための接続端子を更に有し、
前記制御装置は、
前記ドッキング処理において、前記接続端子において、充電用電圧よりも低い接続検知用電圧が検知されたか否かを監視する、
付記1に記載の自律ロボット。
(付記6)
前記制御装置は、
前記接続端子において、前記接続検知用電圧が検知された場合に、前記充電ステーションへのドッキング処理を終了する、
付記5に記載の自律ロボット。
(付記7)
前記制御装置は、
前記充電ステーションへのドッキング処理を終了した場合に、環境地図に格納された前記充電ステーションの位置及び姿勢を取得し、前記自律ロボットの位置及び姿勢を校正する、
付記1に記載の自律ロボット。
(付記8)
前記制御装置は、
前記充電ステーションへの自律移動を開始する条件が成立したか否かを判定し、
成立したと判定した場合に自律移動を開始し、前記充電ステーションへのドッキング処理を行う、
付記1に記載の自律ロボット。
(付記9)
前記制御装置は、
前記充電ステーションへの自律移動を開始する条件が成立したか否かを判定する際、少なくとも、
充電指示の有無、
タスク実行中か否か、
搬送対象を搬送可能な状態か否か、
バッテリ残量が所定の閾値以下か否か、
のいずれかを判定する、
付記1に記載の自律ロボット。
(付記10)
前記制御装置は、
前記充電ステーションへの自律移動を開始する条件として、搬送対象とドッキングしているか否かを判定する、
付記9に記載の自律ロボット。
(付記11)
前記制御装置は、
搬送対象とドッキングしている場合には、前記搬送対象とのドッキングを解除したうえで、前記充電ステーションへの自律移動を開始する、
付記8に記載の自律ロボット。
(付記12)
前記充電ステーションには、1つの前記マーカが取り付けられている、付記1に記載の自律ロボット。
(付記13)
ドッキングが完了した自律ロボットのバッテリを充電する充電ステーションであって、
充電端子に、充電用電圧よりも低い接続検知用電圧を印加し、前記充電端子に接触した物体のインピーダンス及びキャパシタンスを算出することで、前記充電端子に接触した物体が前記自律ロボットであるか否かを判定する判定装置と、
前記自律ロボットであると判定された場合に、前記充電用電圧を印加する充電装置と
を有する充電ステーション。
(付記14)
前記判定装置は、
前記接続検知用電圧として、前記充電用電圧よりも低い電圧を前記充電端子に印加した際に検知した電流値に基づき、前記インピーダンスを算出し、
算出した前記インピーダンスが所定範囲に含まれるか否かを判定する、
付記13に記載の充電ステーション。
(付記15)
前記判定装置は、
前記インピーダンスが前記所定範囲に含まれると判定した場合に、前記接続検知用電圧として、前記充電用電圧よりも低い電圧であって時間変化する変動電圧を前記充電端子に印加し、
前記変動電圧を印加した際に検知した電流値に基づき、前記キャパシタンスを算出し、
算出した前記キャパシタンスが所定範囲に含まれるか否かを判定する、
付記14に記載の充電ステーション。
(付記16)
前記判定装置は、
前記キャパシタンスが前記所定範囲に含まれると判定した場合に、前記充電端子に接触した物体が前記自律ロボットであると判定する、
付記15に記載の充電ステーション。
(付記17)
前記判定装置は、
前記充電端子に接触した物体が前記自律ロボットであると判定した場合に、前記充電装置に、前記充電用電圧を印加するよう指示する、
付記16に記載の充電ステーション。
(付記18)
前記自律ロボットが移動する移動面に載置された状態で前記移動面と対向する第1の面と、前記第1の面の反対側に位置し、前記充電端子が配された第2の面とを有する基部と、
マーカが取り付けられた壁部と
を有する付記13に記載の充電ステーション。
(付記19)
前記壁部には、1つの前記マーカが取り付けられている、
付記18に記載の充電ステーション。
(付記20)
付記1乃至12のいずれかの付記に記載の自律ロボットと、
付記13乃至19のいずれかの付記に記載の充電ステーションと
を備えるシステム。
(付記21)
カメラと、
前記カメラにより撮影された画像を処理する制御装置と、を有する自律ロボットにおける自律移動方法であって、
ニューラルネットワークを用いて前記画像に含まれる充電ステーションに取り付けられたマーカを検出することで、前記充電ステーションの位置及び姿勢を算出する工程と、
算出した前記充電ステーションの位置及び姿勢に基づいて、前記自律ロボットの位置及び姿勢を制御することで、前記充電ステーションへのドッキング処理を行う工程と
を前記制御装置が実行する自律移動方法。
(付記22)
カメラと、
前記カメラにより撮影された画像を処理する制御装置と、を有する自律ロボットの前記制御装置に、
ニューラルネットワークを用いて前記画像に含まれる充電ステーションに取り付けられたマーカを検出することで、前記充電ステーションの位置及び姿勢を算出する工程と、
算出した前記充電ステーションの位置及び姿勢に基づいて、前記自律ロボットの位置及び姿勢を制御することで、前記充電ステーションへのドッキング処理を行う工程と
を実行させるための自律移動プログラム。