(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-17
(45)【発行日】2024-05-27
(54)【発明の名称】ロボット装置、ロボットシステム、ロボット装置の制御方法及びコンピュータプログラム
(51)【国際特許分類】
G05D 1/622 20240101AFI20240520BHJP
G05D 1/639 20240101ALI20240520BHJP
G05D 1/243 20240101ALI20240520BHJP
G05D 1/43 20240101ALI20240520BHJP
【FI】
G05D1/622
G05D1/639
G05D1/243
G05D1/43
(21)【出願番号】P 2021017434
(22)【出願日】2021-02-05
【審査請求日】2023-02-22
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100165179
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100175824
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100114937
【氏名又は名称】松本 裕幸
(72)【発明者】
【氏名】蕨野 貴之
【審査官】田中 友章
(56)【参考文献】
【文献】米国特許出願公開第2020/0341479(US,A1)
【文献】特開2008-021023(JP,A)
【文献】特開2006-075948(JP,A)
【文献】特開2020-006725(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/622
G05D 1/639
G05D 1/243
G05D 1/43
(57)【特許請求の範囲】
【請求項1】
自律走行を行うロボット装置において、
前記ロボット装置を制御するためのパラメータを使用して前記ロボット装置の自律走行を制御する自律走行制御部と、
前記ロボット装置が走行することが想定される環境を示す設定環境情報と、前記ロボット装置が前記設定環境情報に示される環境を自律走行する場合に前記ロボット装置を制御するための設定パラメータとを関連付けて格納するパラメータ設定情報格納部と、
前記ロボット装置が走行している環境を示す環境情報を取得する環境情報取得部と、
前記環境情報に対応する前記設定パラメータを前記パラメータ設定情報格納部から取得し、当該取得した前記設定パラメータを前記自律走行制御部に設定する動的パラメータ制御部と、
を備え、
前記設定環境情報は、通路の幅を示す情報であり、
前記環境情報は、前記ロボット装置の周辺の通路の幅を示す情報であり、
前記設定パラメータは、最大速度と障害物までの最小許容距離とインフレーション領域の半径とを含む、
ロボット装置。
【請求項2】
前記設定環境情報及び前記環境情報は位置を示す位置情報
をさらに含み、
前記環境情報取得部は、前記ロボット装置の現在位置を示す位置情報を取得する、
請求項1に記載のロボット装置。
【請求項3】
前記設定環境情報は、路面の状態を示す情報
をさらに含み、
前記環境情報は、前記ロボット装置の周辺の路面の状態を示す情報
をさらに含む、
請求項1
又は2のいずれか1項に記載のロボット装置。
【請求項4】
前記設定パラメータの値は、前記設定環境情報に示される環境と前記ロボット装置の走行に関する性能とに応じて決定された、
請求項
1に記載のロボット装置。
【請求項5】
前記設定パラメータの値は、前記設定環境情報に示される通路の状態と前記ロボット装置のサイズとに応じて決定された、
請求項
4に記載のロボット装置。
【請求項6】
前記設定パラメータの値は、前記設定環境情報に示される路面の状態と前記ロボット装置のタイヤの素材とに応じて決定された、
請求項
4に記載のロボット装置。
【請求項7】
ロボット装置の走行を制御するロボットシステムにおいて、
前記ロボット装置を制御するためのパラメータを使用して前記ロボット装置の自律走行を制御する自律走行制御部と、
前記ロボット装置が走行することが想定される環境を示す設定環境情報と、前記ロボット装置が前記設定環境情報に示される環境を自律走行する場合に前記ロボット装置を制御するための設定パラメータとを関連付けて格納するパラメータ設定情報格納部と、
前記ロボット装置が走行している環境を示す環境情報を取得する環境情報取得部と、
前記環境情報に対応する前記設定パラメータを前記パラメータ設定情報格納部から取得し、当該取得した前記設定パラメータを前記自律走行制御部に設定する動的パラメータ制御部と、
を備え、
前記設定環境情報は、通路の幅を示す情報であり、
前記環境情報は、前記ロボット装置の周辺の通路の幅を示す情報であり、
前記設定パラメータは、最大速度と障害物までの最小許容距離とインフレーション領域の半径とを含む、
ロボットシステム。
【請求項8】
自律走行を行うロボット装置の制御方法であって、
前記ロボット装置が、前記ロボット装置が走行することが想定される環境を示す設定環境情報と、前記ロボット装置が前記設定環境情報に示される環境を自律走行する場合に前記ロボット装置を制御するための設定パラメータとを関連付けてパラメータ設定情報格納部に格納するパラメータ設定情報格納ステップと、
前記ロボット装置が、前記ロボット装置を制御するためのパラメータを使用して前記ロボット装置の自律走行を制御する自律走行制御ステップと、
前記ロボット装置が、前記ロボット装置が走行している環境を示す環境情報を取得する環境情報取得ステップと、
前記ロボット装置が、前記環境情報に対応する前記設定パラメータを前記パラメータ設定情報格納部から取得し、当該取得した前記設定パラメータを前記自律走行制御ステップに設定する動的パラメータ制御ステップと、
を含み、
前記設定環境情報は、通路の幅を示す情報であり、
前記環境情報は、前記ロボット装置の周辺の通路の幅を示す情報であり、
前記設定パラメータは、最大速度と障害物までの最小許容距離とインフレーション領域の半径とを含む、
ロボット装置の制御方法。
【請求項9】
自律走行を行うロボット装置のコンピュータに、
前記ロボット装置が走行することが想定される環境を示す設定環境情報と、前記ロボット装置が前記設定環境情報に示される環境を自律走行する場合に前記ロボット装置を制御するための設定パラメータとを関連付けてパラメータ設定情報格納部に格納するパラメータ設定情報格納ステップと、
前記ロボット装置を制御するためのパラメータを使用して前記ロボット装置の自律走行を制御する自律走行制御ステップと、
前記ロボット装置が走行している環境を示す環境情報を取得する環境情報取得ステップと、
前記環境情報に対応する前記設定パラメータを前記パラメータ設定情報格納部から取得し、当該取得した前記設定パラメータを前記自律走行制御ステップに設定する動的パラメータ制御ステップと、
を実行させるためのコンピュータプログラムであり、
前記設定環境情報は、通路の幅を示す情報であり、
前記環境情報は、前記ロボット装置の周辺の通路の幅を示す情報であり、
前記設定パラメータは、最大速度と障害物までの最小許容距離とインフレーション領域の半径とを含む、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット装置、ロボットシステム、ロボット装置の制御方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
従来、自律走行を行うロボット装置を制御する技術として例えば非特許文献1,2が知られている。非特許文献1には、ロボット装置の自律走行を実現するためのオープンソースソフトウェア「ROS(Robot Operating System)」が開示されている。ROSの基本機能として、ロボット装置に搭載された「LiDAR(Light Detection and Ranging)」装置を用いてロボット装置の現在位置を推定する自己位置推定機能や、ユーザやアプリケーションがロボット装置の目的地を指定すると現在位置から目的地までの経路を生成し、当該経路に沿ってロボット装置を自律走行させる自律走行制御機能が提供されている。またROSでは、ロボット装置を制御するための各種のパラメータはプログラム起動時に指定されるが、プログラム起動後においても一部のパラメータを変更するための仕組み(Dynamic Reconfigure)が提供されている。
【0003】
非特許文献2には、ロボット装置を制御するための最適なパラメータを設定する方法として、経路生成やコストマップ生成や自己位置推定の各機能について動作に影響を与えるパラメータを抽出し、その影響について調査した結果が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】“ROS(Robot Operating System)”、インターネット<URL:http://wiki.ros.org/ja>
【文献】Kaiyu Zheng、“ROS Navigation Tuning Guide”、Sep. 2016
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上述した非特許文献1に記載された技術では、ロボット装置を制御するための一部のパラメータをROSの起動後に変更するための仕組みが提供されるが、変更するパラメータをどのようにして取得するのかまでは開示されていない。また非特許文献2に記載された技術では、経路生成やコストマップ生成や自己位置推定の各機能について動作に影響を与えるパラメータについての設定方法が開示されるが、ロボット装置の走行の途上で動的にパラメータを設定する方法までは開示されていない。
【0006】
本発明は、このような事情を考慮してなされたものであり、その目的は、ロボット装置を制御するためのパラメータを、ロボット装置の走行の途上で動的に設定することを図ることにある。
【課題を解決するための手段】
【0007】
(1)本発明の一態様は、自律走行を行うロボット装置において、前記ロボット装置を制御するためのパラメータを使用して前記ロボット装置の自律走行を制御する自律走行制御部と、前記ロボット装置が走行することが想定される環境を示す設定環境情報と、前記ロボット装置が前記設定環境情報に示される環境を自律走行する場合に前記ロボット装置を制御するための設定パラメータとを関連付けて格納するパラメータ設定情報格納部と、前記ロボット装置が走行している環境を示す環境情報を取得する環境情報取得部と、前記環境情報に対応する前記設定パラメータを前記パラメータ設定情報格納部から取得し、当該取得した前記設定パラメータを前記自律走行制御部に設定する動的パラメータ制御部と、を備え、前記設定環境情報は、通路の幅を示す情報であり、前記環境情報は、前記ロボット装置の周辺の通路の幅を示す情報であり、前記設定パラメータは、最大速度と障害物までの最小許容距離とインフレーション領域の半径とを含む、ロボット装置である。
(2)本発明の一態様は、前記設定環境情報及び前記環境情報は位置を示す位置情報をさらに含み、前記環境情報取得部は、前記ロボット装置の現在位置を示す位置情報を取得する、上記(1)のロボット装置である。
(3)本発明の一態様は、前記設定環境情報は、路面の状態を示す情報をさらに含み、前記環境情報は、前記ロボット装置の周辺の路面の状態を示す情報をさらに含む、上記(1)又は(2)のいずれかのロボット装置である。
(4)本発明の一態様は、前記設定パラメータの値は、前記設定環境情報に示される環境と前記ロボット装置の走行に関する性能とに応じて決定された、上記(1)のロボット装置である。
(5)本発明の一態様は、前記設定パラメータの値は、前記設定環境情報に示される通路の状態と前記ロボット装置のサイズとに応じて決定された、上記(4)のロボット装置である。
(6)本発明の一態様は、前記設定パラメータの値は、前記設定環境情報に示される路面の状態と前記ロボット装置のタイヤの素材とに応じて決定された、上記(4)のロボット装置である。
【0008】
(7)本発明の一態様は、ロボット装置の走行を制御するロボットシステムにおいて、前記ロボット装置を制御するためのパラメータを使用して前記ロボット装置の自律走行を制御する自律走行制御部と、前記ロボット装置が走行することが想定される環境を示す設定環境情報と、前記ロボット装置が前記設定環境情報に示される環境を自律走行する場合に前記ロボット装置を制御するための設定パラメータとを関連付けて格納するパラメータ設定情報格納部と、前記ロボット装置が走行している環境を示す環境情報を取得する環境情報取得部と、前記環境情報に対応する前記設定パラメータを前記パラメータ設定情報格納部から取得し、当該取得した前記設定パラメータを前記自律走行制御部に設定する動的パラメータ制御部と、を備え、前記設定環境情報は、通路の幅を示す情報であり、前記環境情報は、前記ロボット装置の周辺の通路の幅を示す情報であり、前記設定パラメータは、最大速度と障害物までの最小許容距離とインフレーション領域の半径とを含む、ロボットシステムである。
【0009】
(8)本発明の一態様は、自律走行を行うロボット装置の制御方法であって、前記ロボット装置が、前記ロボット装置が走行することが想定される環境を示す設定環境情報と、前記ロボット装置が前記設定環境情報に示される環境を自律走行する場合に前記ロボット装置を制御するための設定パラメータとを関連付けてパラメータ設定情報格納部に格納するパラメータ設定情報格納ステップと、前記ロボット装置が、前記ロボット装置を制御するためのパラメータを使用して前記ロボット装置の自律走行を制御する自律走行制御ステップと、前記ロボット装置が、前記ロボット装置が走行している環境を示す環境情報を取得する環境情報取得ステップと、前記ロボット装置が、前記環境情報に対応する前記設定パラメータを前記パラメータ設定情報格納部から取得し、当該取得した前記設定パラメータを前記自律走行制御ステップに設定する動的パラメータ制御ステップと、を含み、前記設定環境情報は、通路の幅を示す情報であり、前記環境情報は、前記ロボット装置の周辺の通路の幅を示す情報であり、前記設定パラメータは、最大速度と障害物までの最小許容距離とインフレーション領域の半径とを含む、ロボット装置の制御方法である。
【0010】
(9)本発明の一態様は、自律走行を行うロボット装置のコンピュータに、前記ロボット装置が走行することが想定される環境を示す設定環境情報と、前記ロボット装置が前記設定環境情報に示される環境を自律走行する場合に前記ロボット装置を制御するための設定パラメータとを関連付けてパラメータ設定情報格納部に格納するパラメータ設定情報格納ステップと、前記ロボット装置を制御するためのパラメータを使用して前記ロボット装置の自律走行を制御する自律走行制御ステップと、前記ロボット装置が走行している環境を示す環境情報を取得する環境情報取得ステップと、前記環境情報に対応する前記設定パラメータを前記パラメータ設定情報格納部から取得し、当該取得した前記設定パラメータを前記自律走行制御ステップに設定する動的パラメータ制御ステップと、を実行させるためのコンピュータプログラムであり、前記設定環境情報は、通路の幅を示す情報であり、前記環境情報は、前記ロボット装置の周辺の通路の幅を示す情報であり、前記設定パラメータは、最大速度と障害物までの最小許容距離とインフレーション領域の半径とを含む、コンピュータプログラムである。
【発明の効果】
【0011】
本発明によれば、ロボット装置を制御するためのパラメータを、ロボット装置の走行の途上で動的に設定することができるという効果が得られる。
【図面の簡単な説明】
【0012】
【
図1】第1実施形態に係るロボット装置の構成例を示すブロック図である。
【
図2】一実施形態に係るロボット装置の制御方法の全体手順の例を示すフローチャートである。
【
図3】一実施形態に係るパラメータ設定情報の例である。
【
図4】一実施形態に係るパラメータ設定情報の例である。
【
図5】一実施形態に係るパラメータ設定情報の例である。
【
図6】一実施形態に係るパラメータ設定情報の例である。
【
図7】第2実施形態に係るロボット装置の構成例を示すブロック図である。
【
図8】第3実施形態に係るロボットシステムの構成例を示すブロック図である。
【発明を実施するための形態】
【0013】
以下、図面を参照し、本発明の実施形態について説明する。
【0014】
[第1実施形態]
図1は、第1実施形態に係るロボット装置の構成例を示すブロック図である。
図1において、ロボット装置1は、カメラ部11と、LiDAR部12と、走行部13と、制御部20と、記憶部30と、を備える。制御部20は、自己位置推定機能(自己位置推定部21)と、自律走行制御機能(自律走行制御部22)と、動的パラメータ制御機能(動的パラメータ制御部23)とを有する。記憶部30は、地図情報31と、パラメータ設定情報32とを格納する。
【0015】
カメラ部11は、ロボット装置1の周辺を撮像する。LiDAR部12は、LiDAR技術により、ロボット装置1の周辺に存在する物体までの距離(点群情報)等の計測を行う。走行部13は、ロボット装置1を走行させる走行機構や走行機構を駆動する駆動装置等を備え、自律走行制御部22からの命令に従ってロボット装置1を走行させる。
【0016】
制御部20は、ロボット装置1の制御を行う。制御部20の各機能は、制御部20がCPU(Central Processing Unit:中央演算処理装置)及びメモリ等のコンピュータハードウェアを備え、CPUがメモリに格納されたコンピュータプログラムを実行することにより実現される。なお、制御部20として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。記憶部30は、各種の情報を記憶する。
【0017】
自己位置推定部21は、SLAM(Simultaneous Localization and Mapping)技術により、LiDAR部12が計測した点群情報と地図情報31とのマッチングを行ってロボット装置1の現在位置を推定する。地図情報31は、ロボット装置1が走行予定の範囲を含む地図情報である。
【0018】
自律走行制御部22は、ユーザやアプリケーションがロボット装置1の目的地を指定すると、パスプランニングの技術を用いて現在位置から目的地までの経路を生成する。自律走行制御部22は、当該経路に沿ってロボット装置を走行させるように、走行部13へ命令を出す。自律走行制御部22は、ロボット装置1を制御するためのパラメータを使用してロボット装置1の自律走行を制御する。当該パラメータは、ロボット装置1の起動時に設定されたり、ロボット装置1の起動後に変更されたりする。
【0019】
自己位置推定部21及び自律走行制御部22は、例えば非特許文献1に開示されるROSが適用されてもよい。
【0020】
動的パラメータ制御部23は、ロボット装置1が走行している環境を示す環境情報に対応する設定パラメータをパラメータ設定情報32から取得し、当該取得した設定パラメータを自律走行制御部22に設定する。パラメータ設定情報32は、ロボット装置1が走行することが想定される環境を示す設定環境情報と、ロボット装置1が当該設定環境情報に示される環境を自律走行する場合にロボット装置1を制御するための設定パラメータとを関連付けて格納する。
【0021】
設定環境情報及び環境情報は、例えば、位置を示す位置情報や通路の状態を示す通路状態情報等である。通路状態情報は、例えば、通路の幅を示す通路幅情報や、路面の状態を示す路面状態情報や、通路上に存在する障害物を示す障害物情報等である。
【0022】
次に
図2を参照して、本実施形態に係るロボット装置の制御方法の全体手順を説明する。
図2は、本実施形態に係るロボット装置の制御方法の全体手順の例を示すフローチャートである。
【0023】
(ステップS1) ロボット装置1は、パラメータ設定情報32を記憶部30に格納する。パラメータ設定情報32は、例えば通信によりロボット装置1へ送られてもよい。またパラメータ設定情報32は、ロボット装置1の走行の途上で、通信により更新されてもよい。
【0024】
(ステップS2) ロボット装置1は、自律走行を開始する。ロボット装置1の自律走行は、自律走行制御部22によって制御される。
【0025】
(ステップS3) ロボット装置1は、自己が走行している環境を示す環境情報を定常的に取得する。例えば、ロボット装置1は一定の周期で環境情報を取得する。
【0026】
(ステップS4) ロボット装置1は、ステップS3で取得した環境情報に対応する設定パラメータをパラメータ設定情報32から取得し、当該取得した設定パラメータを自律走行制御部22に設定する。自律走行制御部22は、当該設定された設定パラメータを使用してロボット装置1の自律走行を制御する。これにより、ロボット装置1が走行している環境に対応するパラメータによって、ロボット装置1の自律走行が制御される。
【0027】
次にロボット装置の制御方法についていくつかの具体例を挙げて説明する。
【0028】
[ロボット装置の制御方法の例1]
図3に、ロボット装置の制御方法の例1におけるパラメータ設定情報32の例を示す。ロボット装置の制御方法の例1では、ロボット装置1(動的パラメータ制御部23)は、ロボット装置1の現在位置に対応する設定パラメータを、パラメータ設定情報32から取得して自律走行制御部22に設定する。動的パラメータ制御部23は、自己位置推定部21によって推定されたロボット装置1の現在位置を使用する。自己位置推定部21は、LiDAR部12が計測した点群情報に基づいてロボット装置1の現在位置を推定する。この場合、LiDAR部12及び自己位置推定部21が環境情報取得部に対応する。
【0029】
図3に例示されるように、パラメータ設定情報32には、位置情報(X軸区画、Y軸区画)と、設定パラメータ(X軸最大速度、Y軸最大速度、障害物までの最小許容距離、インフレーション領域の半径)とが関連付けて格納されている。位置情報であるX軸区画とY軸区画とによって、2次元の位置の範囲が特定される。設定パラメータのうちX軸最大速度とY軸最大速度とによって、2次元における最大速度が特定される。設定パラメータのうち障害物までの最小許容距離によって、ロボット装置1が障害物に近付くことが許容される最小の距離が特定される。設定パラメータのうちインフレーション領域の半径とは、ロボット装置1(自律走行制御部22)が生成するコストマップを膨張させる距離である。自律走行制御部22は、インフレーション領域の半径が大きく設定されると、ロボット装置1と障害物との間の距離に応じて設定されるコスト値を大きくし、これにより、ロボット装置1と障害物との間の距離が大きくなるように走行経路を生成するようになる。
【0030】
図3のパラメータ設定情報32について、例えば、ロボット装置1がX軸区画「10mから20mまでの範囲」且つY軸区画「0mから10mまでの範囲」の2次元区画内に存在する場合、動的パラメータ制御部23は、X軸最大速度「0.2m/s」、Y軸最大速度「0.2m/s」、障害物までの最小許容距離「0.25m」及びインフレーション領域の半径「0.5m」をパラメータ設定情報32から取得して自律走行制御部22に設定する。
【0031】
図3の例では、X軸区画「10mから20mまでの範囲」且つY軸区画「0mから10mまでの範囲」の2次元区画に対しては、他の2次元区画よりも、X軸最大速度、Y軸最大速度及び障害物までの最小許容距離が小さい値に、インフレーション領域の半径が大きい値に設定されている。これは、X軸区画「10mから20mまでの範囲」且つY軸区画「0mから10mまでの範囲」の2次元区画内の通路の幅が他の2次元区画内の通路の幅よりも狭いために、最大速度を小さく設定することによりロボット装置1に安定した走行を行わせるとともに、相対的に回転速度のウェイトが高くなるのでロボット装置1が通路上で旋回しやすくさせるためである。また、障害物までの最小許容距離を小さく設定することにより、ロボット装置1が走行可能な範囲を広くし、ロボット装置1が通路上で旋回しやすくなる。また、インフレーション領域の半径を大きく設定することにより、ロボット装置1と障害物との間の距離が大きくなるように走行経路を生成するようになる。最小許容距離を小さくすることでロボット装置1が障害物の近くを走行しうる状態となるが、インフレーション領域の半径を大きくすることでロボット装置1が障害物からできる限り離れた状態で走行するようになる。このような設定を行うことにより、ロボット装置1は、障害物の近くを走行する必要がある場合には障害物の近くを走行し、それ以外の場合には障害物からできる限り離れて走行するようになる。
【0032】
なお、ロボット装置1の走行に関する性能に応じて、設定パラメータの値を決定してもよい。例えば、ロボット装置1のサイズと2次元区画内の通路の幅との大小関係に応じて、設定パラメータの値が決定されてもよい。
【0033】
[ロボット装置の制御方法の例2]
図4に、ロボット装置の制御方法の例2におけるパラメータ設定情報32の例を示す。ロボット装置の制御方法の例2では、ロボット装置1(動的パラメータ制御部23)は、ロボット装置1の周辺の通路の幅に対応する設定パラメータを、パラメータ設定情報32から取得して自律走行制御部22に設定する。ロボット装置1の周辺の通路の幅は、カメラ部11が撮像した撮像画像やLiDAR部12が計測した点群情報や地図情報31等から取得される。
【0034】
動的パラメータ制御部23は、例えば、カメラ部11の撮像画像に対する画像解析を行い、当該画像解析結果から通路脇に在る障害物の形状を取得して障害物間の距離を算出し、当該算出結果の距離からロボット装置1の周辺の通路の幅を取得する。この場合、カメラ部11及び動的パラメータ制御部23が環境情報取得部に対応する。
【0035】
動的パラメータ制御部23は、例えば、LiDAR部12の点群情報から通路脇に在る障害物の2次元又は3次元の形状を取得して障害物間の距離を算出し、当該算出結果の距離からロボット装置1の周辺の通路の幅を取得する。この場合、LiDAR部12及び動的パラメータ制御部23が環境情報取得部に対応する。
【0036】
また地図情報31が障害物の2次元又は3次元の形状を含む場合、動的パラメータ制御部23は、ロボット装置1の現在位置の周辺の障害物の2次元又は3次元の形状を地図情報31から取得して障害物間の距離を算出し、当該算出結果の距離からロボット装置1の周辺の通路の幅を取得する。動的パラメータ制御部23は、自己位置推定部21によって推定されたロボット装置1の現在位置を使用する。この場合、自己位置推定部21及び動的パラメータ制御部23が環境情報取得部に対応する。
【0037】
図4に例示されるように、パラメータ設定情報32には、通路の幅(通路幅)と、設定パラメータ(X軸最大速度、Y軸最大速度、障害物までの最小許容距離、インフレーション領域の半径)とが関連付けて格納されている。
図4のパラメータ設定情報32について、例えば、ロボット装置1が通路幅「0mから1mまで」の通路上に存在する場合、動的パラメータ制御部23は、X軸最大速度「0.2m/s」、Y軸最大速度「0.2m/s」、障害物までの最小許容距離「0.25m」及びインフレーション領域の半径「0.5m」をパラメータ設定情報32から取得して自律走行制御部22に設定する。
図4の例では、上記
図3の例と同様に、通路幅が狭い2次元区画に対しては、他の2次元区画よりも、X軸最大速度、Y軸最大速度及び障害物までの最小許容距離が小さい値に、インフレーション領域の半径が大きい値に設定されている。
【0038】
なお、ロボット装置1の走行に関する性能に応じて、設定パラメータの値を決定してもよい。例えば、ロボット装置1のサイズと通路幅との大小関係に応じて、設定パラメータの値が決定されてもよい。また、
図4に例示されるようにパラメータ設定情報32として通路の幅に対応する設定パラメータの値を保持する方法以外の他の方法として、パラメータ設定情報32として、通路の幅を引数として設定パラメータを出力する関数を保持してもよい。
【0039】
[ロボット装置の制御方法の例3]
図5に、ロボット装置の制御方法の例3におけるパラメータ設定情報32の例を示す。ロボット装置の制御方法の例3では、ロボット装置1(動的パラメータ制御部23)は、ロボット装置1の周辺の路面の状態に対応する設定パラメータを、パラメータ設定情報32から取得して自律走行制御部22に設定する。ロボット装置1の周辺の路面の状態は、カメラ部11が撮像した撮像画像から取得される。
【0040】
動的パラメータ制御部23は、カメラ部11の撮像画像に対する画像解析を行い、当該画像解析結果から物体検出を行って路面の状態を示す路面状態情報を取得する。この場合、カメラ部11及び動的パラメータ制御部23が環境情報取得部に対応する。路面状態情報は、例えば路面の素材や形状等を示す情報であってタイルやカーペットやグレーチング等である。路面状態情報を取得するための画像解析技術として、ディープラーニング等の機械学習を利用してもよい。
【0041】
図5に例示されるように、パラメータ設定情報32には、路面の状態と、設定パラメータ(X軸最大速度、Y軸最大速度、障害物までの最小許容距離、インフレーション領域の半径)とが関連付けて格納されている。
図5のパラメータ設定情報32について、例えば、ロボット装置1が路面の状態「グレーチング」の通路上に存在する場合、動的パラメータ制御部23は、X軸最大速度「0.2m/s」、Y軸最大速度「0.2m/s」、障害物までの最小許容距離「0.25m」及びインフレーション領域の半径「0.5m」をパラメータ設定情報32から取得して自律走行制御部22に設定する。
【0042】
図5の例では、路面の状態「グレーチング」の通路に対しては、他の路面の状態(例えばタイル)の通路よりも、X軸最大速度、Y軸最大速度及び障害物までの最小許容距離が小さい値に、インフレーション領域の半径が大きい値に設定されている。これは、グレーチングが空調のための網目上の路面であるので、ロボット装置1がグレーチング上を走行するとロボット装置1に揺れが発生してロボット装置1の走行が不安定になりやすいからである。このため、最大速度を小さく設定することによりロボット装置1に安定した走行を行わせるとともに、障害物までの最小許容距離を小さく設定することにより、ロボット装置1が走行可能な範囲を広くしている。また、インフレーション領域の半径を大きく設定することにより、ロボット装置1と障害物との間の距離が大きくなるように走行経路を生成するようになる。
【0043】
なお、ロボット装置1の走行に関する性能に応じて、設定パラメータの値を決定してもよい。例えば、ロボット装置1のサイズやタイヤの素材がグレーチング上の走行に問題がないものである場合には、路面の状態「グレーチング」の通路に対して、他の路面の状態(例えばタイル)の通路と同等以上の最大速度(X軸最大速度、Y軸最大速度)を設定パラメータに決定してもよい。
【0044】
[ロボット装置の制御方法の例4]
図6にロボット装置の制御方法の例4におけるパラメータ設定情報32の例を示す。ロボット装置の制御方法の例4では、ロボット装置1(動的パラメータ制御部23)は、ロボット装置1の周辺の通路上に存在する障害物に対応する設定パラメータを、パラメータ設定情報32から取得して自律走行制御部22に設定する。ロボット装置1の周辺の通路上に存在する障害物は、カメラ部11が撮像した撮像画像から取得される。
【0045】
動的パラメータ制御部23は、カメラ部11の撮像画像に対する画像解析を行い、当該画像解析結果から物体検出を行って通路上に存在する障害物を示す障害物情報を取得する。この場合、カメラ部11及び動的パラメータ制御部23が環境情報取得部に対応する。障害物情報は、障害物の有無や種類を示す情報である。障害物の種類として、例えばロードコーンや机やキャビネット等が挙げられる。障害物情報を取得するための画像解析技術として、ディープラーニング等の機械学習を利用してもよい。
【0046】
図6に例示されるように、パラメータ設定情報32には、障害物の有無や種類と、設定パラメータ(X軸最大速度、Y軸最大速度、障害物までの最小許容距離、インフレーション領域の半径)とが関連付けて格納されている。
図6のパラメータ設定情報32について、例えば、ロボット装置1の周辺の通路上に障害物「ロードコーン」が存在する場合、動的パラメータ制御部23は、X軸最大速度「0.2m/s」、Y軸最大速度「0.2m/s」、障害物までの最小許容距離「1.0m」及びインフレーション領域の半径「0.5m」をパラメータ設定情報32から取得して自律走行制御部22に設定する。
【0047】
図6の例では、障害物(例えばロードコーン)が存在する通路に対しては、障害物なしの通路よりも、X軸最大速度及びY軸最大速度が小さい値に、障害物までの最小許容距離及びインフレーション領域の半径が大きい値に設定されている。これは、ロボット装置1が障害物付近を走行する場合、ロボット装置1が障害物に衝突する可能性があるので、最大速度を小さく設定することによりロボット装置1に安全に走行を行わせるためである。また、障害物までの最小許容距離及びインフレーション領域の半径を大きく設定することにより、ロボット装置1と障害物との間の距離が大きくなるように走行経路が生成されて、ロボット装置1が障害物に衝突する可能性を低減させることができる。
【0048】
なお、ロボット装置1が障害物に衝突した場合の影響は、障害物の種類やロボット装置1の走行に関する性能などに応じて変わる。このため、単に障害物の有無のみで設定パラメータの値を決定するのではなく、障害物の種類やロボット装置1の走行に関する性能などに応じて設定パラメータの値を決定してもよい。例えば、障害物の種類と、ロボット装置1のサイズや重量や防護力等の性能との強弱関係に応じて、設定パラメータの値が決定されてもよい。
【0049】
以上がロボット装置の制御方法の具体例の説明である。上述したロボット装置の制御方法の例1,例2,例3,例4は、単独で適用してもよく、又は複数を組み合わせて適用してもよい。ロボット装置の制御方法の例1,例2,例3,例4のうち複数を組み合わせる場合、当該複数の例に対応する項目を有するパラメータ設定情報32を作成してもよい。又は、ロボット装置1が取得した環境情報に応じて当該例1,例2,例3,例4の中から採用する例を選択するルールを設定してもよい。
【0050】
第1実施形態によれば、ロボット装置1を制御するためのパラメータとしてロボット装置1が走行している環境に応じた設定パラメータを、ロボット装置1の走行の途上で動的に設定することができる。
【0051】
[第2実施形態]
図7は、第2実施形態に係るロボット装置の構成例を示すブロック図である。この
図7において
図1の各部に対応する部分には同一の符号を付け、その説明を省略する。上述した
図1の第1実施形態に係るロボット装置1がカメラ部11を備えるのに対して、
図7に示す第2実施形態に係るロボット装置1aはカメラ部11を備えていない。したがって、ロボット装置1aは、LiDAR部12が計測した点群情報に基づいて環境情報を取得する。
【0052】
第2実施形態においても、第1実施形態と同様に、ロボット装置1aを制御するためのパラメータとしてロボット装置1aが走行している環境に応じた設定パラメータを、ロボット装置1aの走行の途上で動的に設定することができる。
【0053】
[第3実施形態]
図8は、第3実施形態に係るロボットシステムの構成例を示すブロック図である。この
図8において
図1の各部に対応する部分には同一の符号を付け、その説明を省略する。第3実施形態では、サーバ装置3を設け、ロボット装置1bとサーバ装置3とに、
図1のロボット装置1の機能を分散配置する。
図8の機能分散の例では、ロボット装置1bにはカメラ部11やLiDAR部12や走行部13などの主にハードウェアによる機能を配置する一方、サーバ装置3には制御部20や記憶部30などの主にソフトウェアによる機能を配置する。
【0054】
ロボット装置1bは、カメラ部11とLiDAR部12と走行部13と通信部40とを備える。サーバ装置3は、制御部20(自己位置推定部21、自律走行制御部22、動的パラメータ制御部23)と、記憶部30(地図情報31、パラメータ設定情報32)と、通信部50とを備える。ロボット装置1bの通信部40とサーバ装置3の通信部50とは、通信ネットワークNWを介して通信を行う。通信ネットワークNWは、有線回線若しくは無線回線から構成されてもよく、又は有線回線及び無線回線から構成されてもよい。例えば、ロボット装置1bの通信部40が通信ネットワークNWの無線回線に接続する一方、サーバ装置3の通信部50は通信ネットワークNWの有線回線に接続してもよい。
【0055】
サーバ装置3は、ロボット装置1bからカメラ部11の撮像画像やLiDAR部12の計測結果の点群情報を受信する。サーバ装置3は、それらロボット装置1bから受信した情報を使用して、上述した第1実施形態と同様に、ロボット装置1が走行している環境を示す環境情報を取得する。次いで、サーバ装置3の動的パラメータ制御部23は、ロボット装置1が走行している環境を示す環境情報に対応する設定パラメータをパラメータ設定情報32から取得する。次いで、サーバ装置3において、動的パラメータ制御部23は、当該取得した設定パラメータを自律走行制御部22に設定する。次いで、サーバ装置3の自律走行制御部22は、当該設定された設定パラメータを使用して、ロボット装置1bの自律走行を遠隔で制御する。
【0056】
なお、ロボット装置1bとサーバ装置3とへの機能分散の仕方は、
図8の例に限定されず、様々な変形例が考えられる。例えば、自己位置推定部21がロボット装置1bに配置され、自己位置推定部21によるロボット装置1bの現在位置の推定結果がロボット装置1bからサーバ装置3へ送られてもよい。
【0057】
また、サーバ装置3の各機能は、サーバ装置3がCPU及びメモリ等のコンピュータハードウェアを備え、CPUがメモリに格納されたコンピュータプログラムを実行することにより実現される。なお、サーバ装置3として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。例えば、サーバ装置3は、インターネット等の通信ネットワークに接続されるサーバコンピュータを使用して構成されてもよい。また、サーバ装置3の各機能はクラウドコンピューティングにより実現されてもよい。また、サーバ装置3は、単独のコンピュータにより実現するものであってもよく、又はサーバ装置3の機能を複数のコンピュータに分散させて実現するものであってもよい。
【0058】
第3実施形態においても、第1実施形態と同様に、ロボット装置1bを制御するためのパラメータとしてロボット装置1bが走行している環境に応じた設定パラメータを、ロボット装置1bの走行の途上で動的に設定することができる。
【0059】
上述したように各実施形態によれば、ロボット装置を制御するためのパラメータを、ロボット装置の走行の途上で動的に設定することができる。これにより、例えば通路の幅や路面の状態や障害物などが様々に変化する走行環境において、ロボット装置に対し動的に最適なパラメータを設定することができるので、そのような走行環境の変化に適応したロボット装置のスムーズな走行を実現することが可能になる。
【0060】
上述した各実施形態に係るロボット装置は、屋内を自律走行するものであってもよく、又は屋外を自律走行するものであってもよい。上述した各実施形態に係るロボット装置として、例えば、データセンター等のセキュリティに優れる屋内を走行するものが挙げられる。データセンター等のセキュリティに優れる屋内では、無人による作業が好ましい場合があるので、上述した各実施形態に係るロボット装置はそのような場合にも好適である。
【0061】
なお、これにより、例えばロボット装置を利用する各種のサービスにおける総合的なサービス品質の向上を実現することができることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0062】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0063】
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0064】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0065】
1,1a,1b…ロボット装置、3…サーバ装置、11…カメラ部、12…LiDAR部、13…走行部、20…制御部、21…自己位置推定部、22…自律走行制御部、23…動的パラメータ制御部、30…記憶部、31…地図情報、32…パラメータ設定情報、40,50…通信部、NW…通信ネットワーク