IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 沖電気工業株式会社の特許一覧

特開2023-119292制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム
<>
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図1
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図2
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図3
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図4
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図5
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図6
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図7
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図8
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図9
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図10
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図11
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図12
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図13
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図14
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図15
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図16
  • 特開-制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023119292
(43)【公開日】2023-08-28
(54)【発明の名称】制御装置、情報処理装置、制御方法、情報処理方法、およびプログラム
(51)【国際特許分類】
   G05D 1/02 20200101AFI20230821BHJP
【FI】
G05D1/02 K
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022022107
(22)【出願日】2022-02-16
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100140958
【弁理士】
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【弁理士】
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100190942
【弁理士】
【氏名又は名称】風間 竜司
(72)【発明者】
【氏名】大石 慶子
(72)【発明者】
【氏名】吉原 喜果
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301FF10
5H301FF16
5H301FF18
5H301GG09
(57)【要約】
【課題】ユーザが意図して貼り付けたマーカに基づく自律制御を移動体に実行させる。
【解決手段】移動体に搭載されるカメラの撮影により得られた、予め定められた位置に配置されたマーカを含む画像から前記マーカに付与された識別情報を検出する検出部と、前記検出部により検出された前記識別情報が処理対象として適切であるか否かを判定する判定部と、前記判定部により前記識別情報が前記処理対象として適切であると判定された際に、前記識別情報に基づく移動体の動作に係る指令値を生成する生成部と、を備える、制御装置。
【選択図】図2

【特許請求の範囲】
【請求項1】
移動体に搭載されるカメラの撮影により得られた、予め定められた位置に配置されたマーカを含む画像から前記マーカに付与された識別情報を検出する検出部と、
前記検出部により検出された前記識別情報が処理対象として適切であるか否かを判定する判定部と、
前記判定部により前記識別情報が前記処理対象として適切であると判定された際に、前記識別情報に基づく移動体の動作に係る指令値を生成する生成部と、
を備える、制御装置。
【請求項2】
前記生成部は、
前記判定部により前記識別情報が前記処理対象として適切でないと判定された際に、前記移動体を所定の方向に所定の距離だけ移動させる指令値を生成する、
請求項1に記載の制御装置。
【請求項3】
前記マーカに付与された識別情報は、前記移動体を直進方向に進行させる直進指令と、前記移動体の進行方向を変更させる方向指令と、を含み、
前記判定部は、
前記検出部により検出された前記識別情報が前記方向指令を含んでいた際に、前記処理対象として適切であると判定する、
請求項2に記載の制御装置。
【請求項4】
前記直進指令を含む識別情報は、前記検出部により検出される順番を示す順番情報を含み、
前記判定部は、
前記検出部により検出された前記識別情報が前記直進指令を含み、且つ、前記識別情報に含まれる前記順番情報が前記検出部により前回検出された前記識別情報が含む順番の次の順番であった際に、前記処理対象として適切であると判定する、
請求項3に記載の制御装置。
【請求項5】
前記方向指令は、前記移動体の進行方向を反転させる反転指令を含み、
前記生成部は、
前記識別情報が前記反転指令を含んでいた際に、前記移動体の進行方向を反転させる指令値を生成する、
請求項4に記載の制御装置。
【請求項6】
前記判定部は、
前記生成部に前記移動体の進行方向を反転させる指令が生成された後、前記検出部により検出された前記識別情報が前記直進指令を含み、且つ、前記識別情報に含まれる、前記順番情報が前記検出部により前回検出された前記識別情報が含む順番の前の順番であった際に、前記処理対象として適切であると判定する、
請求項5に記載の制御装置。
【請求項7】
前記カメラの撮影により得られた画像に基づき、前記画像に含まれるマーカに対する前記移動体の相対位置を算出する算出部、
を更に備え、
前記生成部は、
前記相対位置に基づき、前記マーカごとに予め設定された目標位置に前記移動体を移動させる指令値を生成する、
請求項1から請求項6までのうちいずれか一項に記載の制御装置。
【請求項8】
前記生成部は、
前記移動体の相対位置と、前記目標位置の差分に基づき、前記マーカごとに予め設定された目標位置に前記移動体を移動させる指令値を生成する、
請求項7に記載の制御装置。
【請求項9】
前記生成部は、
前記差分が所定値未満であった際に、前記移動体を前記差分の距離を移動させる指令値を生成し、前記差分が所定値以上であった際に、前記移動体を前記所定値の距離を移動させる指令値を生成する、
請求項8に記載の制御装置。
【請求項10】
前記カメラは、前記移動体の左右いずれか一方に搭載され、
前記マーカは、前記カメラが搭載された方向と同一の方向に設置される、
請求項1から請求項9までのうちいずれか一項に記載の制御装置。
【請求項11】
移動体が移動するマップに関する情報を取得するマップ取得部と、
前記マップに含まれる任意の長さに関し、ユーザにより入力された実空間上の長さに基づき、前記マップの縮尺を算出する縮尺算出部と、
前記縮尺に基づき、前記移動体が検出するマーカの貼り付け位置を設定する位置設定部と、
を備える、情報処理装置。
【請求項12】
前記位置設定部は、
前記マップに対して前記ユーザが入力した経路を複数の区間に分解し、前記複数の区間の各々で前記マーカの貼り付け位置を設定する、
請求項11に記載の情報処理装置。
【請求項13】
前記位置設定部は、
前記複数の区間の各始点に対して前記移動体に動作を開始させる開始指令マーカの貼り付け位置、または前記移動体に進行方向を変更させる方向指令マーカの貼り付け位置として設定し、前記複数の区間の各終点に対して、前記方向指令マーカ貼り付け位置、または前記移動体に動作を終了させる終了指令マーカの貼り付け位置として設定する、
請求項12に記載の情報処理装置
【請求項14】
前記複数の区間の各終点は、前記マーカに対して予め設定された貼り付け間隔に基づき決定され、
前記位置設定部は、
前記複数の区間の各始点から各終点までの区間に対して、前記貼り付け間隔ごとに前記移動体を直進させる直進指令マーカの貼り付け位置として設定する、
請求項13に記載の情報処理装置。
【請求項15】
前記位置設定部により算出された前記マーカの貼り付け位置を出力する出力部、
を更に備える、請求項12から請求項14までのうちいずれか一項に記載の情報処理装置。
【請求項16】
前記複数の区間の各々の通路の幅に基づき、前記マーカの貼り付け位置に対応する前記移動体が移動する目標位置を算出する目標位置算出部、
を更に備える、請求項12から請求項15までのうちいずれか一項に記載の情報処理装置。
【請求項17】
移動体に搭載されるカメラの撮影により得られた、予め定められた位置に配置されたマーカを含む画像から前記マーカに付与された識別情報を検出することと、
検出された前記識別情報が処理対象として適切であるか否かを判定することと、
前記識別情報が前記処理対象として適切であると判定された際に、前記識別情報に基づく移動体の動作に係る指令値を生成することと、
を含む、コンピュータにより実行される制御方法。
【請求項18】
コンピュータに、
移動体に搭載されるカメラの撮影により得られた、予め定められた位置に配置されたマーカを含む画像から前記マーカに付与された識別情報を検出する検出機能と、
前記検出機能により検出された前記識別情報が処理対象として適切であるか否かを判定する判定機能と、
前記判定機能により前記識別情報が前記処理対象として適切であると判定された際に、前記識別情報に基づく移動体の動作に係る指令値を生成する生成機能と、
を実現させる、プログラム。
【請求項19】
移動体が移動するマップに関する情報を取得することと、
前記マップに含まれる任意の長さに関し、ユーザにより入力された実空間上の長さに基づき、前記マップの縮尺を算出することと、
前記縮尺に基づき、前記移動体が検出するマーカの貼り付け位置を設定することと、
を含む、コンピュータにより実行される情報処理方法。
【請求項20】
コンピュータに、
移動体が移動するマップに関する情報を取得するマップ取得機能と、
前記マップに含まれる任意の長さに関し、ユーザにより入力された実空間上の長さに基づき、前記マップの縮尺を算出する縮尺算出機能と、
前記縮尺に基づき、前記移動体が検出するマーカの貼り付け位置を設定する位置設定機能と、
を実現させる、プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、情報処理装置、制御方法、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
近年、ロボット等の移動体に自律移動させるための技術が開発されている。例えば、特許文献1では、ロボットの移動空間上に複数のマーカが設置され、ロボットは、マーカを検知することで得られた位置情報や、マーカ固有のIDに基づき自律移動する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-102047号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1に記載した技術では、移動空間上のあるルートにおいて、ロボットは、本来ユーザがロボットに検知させるために貼り付けた検知すべきマーカを見逃してしまう恐れがあった。
【0005】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、ユーザが意図して貼り付けたマーカに基づく自律制御を移動体に実行させることが可能な、新規かつ改良された制御装置、情報処理装置、制御方法、情報処理方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある観点によれば、移動体に搭載されるカメラの撮影により得られた、予め定められた位置に配置されたマーカを含む画像から前記マーカに付与された識別情報を検出する検出部と、前記検出部により検出された前記識別情報が処理対象として適切であるか否かを判定する判定部と、前記判定部により前記識別情報が前記処理対象として適切であると判定された際に、前記識別情報に基づく移動体の動作に係る指令値を生成する生成部と、を備える、制御装置が提供される。
【0007】
前記生成部は、前記判定部により前記識別情報が前記処理対象として適切でないと判定された際に、前記移動体を所定の方向に所定の距離だけ移動させる指令値を生成してもよい。
【0008】
前記マーカに付与された識別情報は、前記移動体を直進方向に進行させる直進指令と、前記移動体の進行方向を変更させる方向指令と、を含み、前記判定部は、前記検出部により検出された前記識別情報が前記方向指令を含んでいた際に、前記処理対象として適切であると判定してもよい。
【0009】
前記直進指令を含む識別情報は、前記検出部により検出される順番を示す順番情報を含み、前記判定部は、前記検出部により検出された前記識別情報が前記直進指令を含み、且つ、前記識別情報に含まれる前記順番情報が前記検出部により前回検出された前記識別情報が含む順番の次の順番であった際に、前記処理対象として適切であると判定してもよい。
【0010】
前記方向指令は、前記移動体の進行方向を反転させる反転指令を含み、前記生成部は、前記識別情報が前記反転指令を含んでいた際に、前記移動体の進行方向を反転させる指令値を生成してもよい。
【0011】
前記判定部は、前記生成部に前記移動体の進行方向を反転させる指令が生成された後、前記検出部により検出された前記識別情報が前記直進指令を含み、且つ、前記識別情報に含まれる、前記順番情報が前記検出部により前回検出された前記識別情報が含む順番の前の順番であった際に、前記処理対象として適切であると判定してもよい。
【0012】
前記カメラの撮影により得られた画像に基づき、前記画像に含まれるマーカに対する前記移動体の相対位置を算出する算出部、を更に備え、前記生成部は、前記相対位置に基づき、前記マーカごとに予め設定された目標位置に前記移動体を移動させる指令値を生成してもよい。
【0013】
前記生成部は、前記移動体の相対位置と、前記目標位置の差分に基づき、前記マーカごとに予め設定された目標位置に前記移動体を移動させる指令値を生成してもよい。
【0014】
前記生成部は、前記差分が所定値未満であった際に、前記移動体を前記差分の距離を移動させる指令値を生成し、前記差分が所定値以上であった際に、前記移動体を前記所定値の距離を移動させる指令値を生成してもよい。
【0015】
前記カメラは、前記移動体の左右いずれか一方に搭載され、前記マーカは、前記カメラが搭載された方向と同一の方向に設置されてもよい。
【0016】
また、上記課題を解決するために、本発明の別の観点によれば、移動体が移動するマップに関する情報を取得するマップ取得部と、前記マップに含まれる任意の長さに関し、ユーザにより入力された実空間上の長さに基づき、前記マップの縮尺を算出する縮尺算出部と、前記縮尺に基づき、前記移動体が検出するマーカの貼り付け位置を設定する位置設定部と、を備える、情報処理装置が提供される。
【0017】
前記位置設定部は、前記マップに対して前記ユーザが入力した経路を複数の区間に分解し、前記複数の区間の各々で前記マーカの貼り付け位置を設定してもよい。
【0018】
前記位置設定部は、前記複数の区間の各始点に対して前記移動体に動作を開始させる開始指令マーカの貼り付け位置、または前記移動体に進行方向を変更させる方向指令マーカの貼り付け位置として設定し、前記複数の区間の各終点に対して、前記方向指令マーカ貼り付け位置、または前記移動体に動作を終了させる終了指令マーカの貼り付け位置として設定してもよい。
【0019】
前記複数の区間の各終点は、前記マーカに対して予め設定された貼り付け間隔に基づき決定され、前記位置設定部は、前記複数の区間の各始点から各終点までの区間に対して、前記貼り付け間隔ごとに前記移動体を直進させる直進指令マーカの貼り付け位置として設定してもよい。
【0020】
前記位置設定部により算出された前記マーカの貼り付け位置を出力する出力部、を更に備えてもよい。
【0021】
前記複数の区間の各々の通路の幅に基づき、前記マーカの貼り付け位置に対応する前記移動体が移動する目標位置を算出する目標位置算出部、を更に備えてもよい。
【0022】
また、上記課題を解決するために、本発明の別の観点によれば、移動体に搭載されるカメラの撮影により得られた、予め定められた位置に配置されたマーカを含む画像から前記マーカに付与された識別情報を検出することと、検出された前記識別情報が処理対象として適切であるか否かを判定することと、前記識別情報が前記処理対象として適切であると判定された際に、前記識別情報に基づく移動体の動作に係る指令値を生成することと、を含む、コンピュータにより実行される制御方法が提供される。
【0023】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、移動体に搭載されるカメラの撮影により得られた、予め定められた位置に配置されたマーカを含む画像から前記マーカに付与された識別情報を検出する検出機能と、前記検出機能により検出された前記識別情報が処理対象として適切であるか否かを判定する判定機能と、前記判定機能により前記識別情報が前記処理対象として適切であると判定された際に、前記識別情報に基づく移動体の動作に係る指令値を生成する生成機能と、を実現させる、プログラムが提供される。
【0024】
また、上記課題を解決するために、本発明の別の観点によれば、移動体が移動するマップに関する情報を取得することと、前記マップに含まれる任意の長さに関し、ユーザにより入力された実空間上の長さに基づき、前記マップの縮尺を算出することと、前記縮尺に基づき、前記移動体が検出するマーカの貼り付け位置を設定することと、を含む、コンピュータにより実行される情報処理方法が提供される。
【0025】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、移動体が移動するマップに関する情報を取得するマップ取得機能と、前記マップに含まれる任意の長さに関し、ユーザにより入力された実空間上の長さに基づき、前記マップの縮尺を算出する縮尺算出機能と、前記縮尺に基づき、前記移動体が検出するマーカの貼り付け位置を設定する位置設定機能と、を実現させる、プログラムが提供される。
【発明の効果】
【0026】
以上説明したように本発明によれば、ユーザが意図して貼り付けたマーカに基づく自律制御を移動体に実行させることが可能である。
【図面の簡単な説明】
【0027】
図1】本実施形態に係る制御システムの概要を説明するための説明図である。
図2】本実施形態に係る制御装置10の機能構成の一例を説明するための説明図である。
図3】マーカIDと、マーカIDに基づく動作の具体例を説明するための説明図である。
図4】本実施形態に係る制御装置10の動作処理に係る全体フローの一例を説明するための説明図である。
図5】ロボット1の移動に係る動作の一例を説明するための説明図である。
図6】本実施形態に係る全体フローにおいて現処理マーカIDが直進指令マーカIDでなかった場合の一例を説明するための説明図である。
図7】マーカIDが処理対象として適切であるか否かの判定に係る動作処理の一例を説明するための説明図である。
図8】マーカIDが処理対象として適切であるか否かの判定に係る動作処理の一例を説明するための説明図である。
図9】タブレット端末50の動作処理に係る全体フローの一例を説明するための説明図である。
図10】タブレット端末50の動作処理に係る全体フローの一例を説明するための説明図である。
図11】タブレット端末50のマーカの貼り付け位置の設定に係る動作処理の一例を説明するための説明図である。
図12】ベクトルの分解から開始指令マーカの貼り付け位置として設定する概略を説明するための説明図である。
図13】マーカの貼り付け可能範囲の算出に係る具体例を説明するための説明図である。
図14】ベクトルAの区間の線の長さのヒストグラム化した一例を説明するための説明図である。
図15】直進指令マーカの数量の算出に係る具体例を説明するための説明図である。
図16】タブレット端末50の目標位置の算出に係る動作処理の一例を説明するための説明図である。
図17】本実施形態に係る制御装置10のハードウェア構成を示したブロック図である。
【発明を実施するための形態】
【0028】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0029】
<<1.制御システムの概要>>
本発明の一実施形態は、ユーザが意図して貼り付けたマーカに基づく自律制御を移動体に実行させる制御システムに関する。
【0030】
図1は、本実施形態に係る制御システムの概要を説明するための説明図である。本実施形態に係る制御システムは、ロボット1を有する。
【0031】
本実施形態に係るロボット1は、移動体の一例である。また、ロボット1は、後述する制御装置10の制御に従い、自律的に移動走行することが可能である。
【0032】
ここで、ロボットとは、いわゆる「人造人間」、「人間に類似した動作、又は作業を行う装置」、又は「指示に基づいてコンピュータ制御されることで動作、又は作業を行う装置」などと定義される機械装置である。例えば、ロボットは、「自動制御によるマニピュレーション機能、又は移動機能をもち、各種の作業をプログラムによって実行でき、産業に使用される機械」(JIS B 0134-1998)、「人間にサービスするロボット」(JIS B 0187:2005)、又は「センサ、知能・制御系、駆動系の3つの要素技術を有する、知能化した機械システム」(経済産業省ロボット政策研究会)にて定義される機械装置であってもよい。
【0033】
また、本実施形態に係るロボット1は、図1に示すように、カメラ部5と、制御装置10と、移動部20と、を備える。
【0034】
カメラ部5は、撮影により画像を取得する。また、カメラ部5は、撮影により得られた画像を制御装置10に出力する。また、ロボット1に搭載されるカメラ部5の数量は単数であってもよいし、複数であってもよい。カメラ部5の数量が単数であった場合、ロボット1の左右いずれか一方の方向の画像が得られるようにカメラ部5が設置されてもよい。
【0035】
本実施形態に係る制御装置10は、ロボット1の動作全般を制御する装置である。例えば、制御装置10は、カメラ部5から入力された画像に基づく指令値を生成し、生成した指令値を移動部20に出力する。本実施形態に係る制御装置10の機能構成に係る詳細は後述する。
【0036】
本実施形態に係る移動部20は、制御装置10の制御に従い、ロボット1を任意の位置に移動させることが可能な移動機構である。例えば、移動部20は、制御装置10から入力された指令値に従い、ロボット1の位置を移動させる。
【0037】
移動部20は、例えば、車輪式、脚式、無限軌道式、又はエアクッション式などの種々の方式の移動機構であってもよい。
【0038】
また、移動部20は、三次元的な移動が可能な移動機構であってもよい。例えば、移動部20は、回転翼などにより空中を移動可能な移動機構であってもよく、スクリューなどにより水上又は水中を移動可能な移動機構であってもよい。
【0039】
以上、本実施形態に係る制御システムの概要を説明した。続いて、図2を参照し、本実施形態に係る制御装置10の機能構成の一例を説明する。
【0040】
<<2.制御装置10の機能構成の一例>>
図2は、本実施形態に係る制御装置10の機能構成の一例を説明するための説明図である。本実施形態に係る制御装置10は、図2に示すように、制御部110と、記憶部150と、を備える。
【0041】
(制御部110)
本実施形態に係る制御部110は、制御装置10の動作全般を制御する。本実施形態に係る制御部110は、図2に示すように、マーカ検出部111と、相対位置算出部113と、移動量算出部115と、目標到達判定部117と、ID検出部119と、処理ID判定部121と、移動指令部123と、を備える。
【0042】
{マーカ検出部111}
本実施形態に係るマーカ検出部111は、カメラ部5から入力された画像に含まれるマーカを検出する。
【0043】
{相対位置算出部113}
本実施形態に係る相対位置算出部113は、算出部の一例である。マーカ検出部111により検出されたマーカに対するロボット1の相対位置を算出する。
【0044】
また、相対位置算出部113は、あるマーカに対するロボット1の相対位置と、当該マーカに設定された目標位置の差分を算出する。
【0045】
{移動量算出部115}
本実施形態に係る移動量算出部115は、マーカごとに予め設定された目標位置に到達するために必要な移動距離と、移動角度をそれぞれ算出する。
【0046】
{目標到達判定部117}
本実施形態に係る目標到達判定部117は、ロボット1がマーカの目標位置に到達したか否かを判定する。例えば、目標到達判定部117は、マーカ検出部111により検出されたマーカに対するロボット1の相対位置と、当該マーカに設定された目標位置の差分が所定値未満であった際に、目標位置に到達したと判定し、差分が所定値以上であった際に、目標位置に到達していないと判定する。
【0047】
{ID検出部119}
本実施形態に係るID検出部119は、検出部の一例である。マーカ検出部111により検出されたマーカを含む画像から、当該マーカに付与された識別情報の一例であるマーカIDを検出する。
【0048】
{処理ID判定部121}
本実施形態に係る処理ID判定部121は、判定部の一例である。処理ID判定部121は、ID検出部119により検出されたマーカIDが処理対象として適切であるか否かを判定する。マーカIDが処理対象として適切であるか否かに係る処理の具体例については後述する。
【0049】
{移動指令部123}
本実施形態に係る移動指令部123は、生成部の一例である。移動指令部123は、ロボット1の動作に係る指令値を生成する。例えば、指令値は、移動部20により移動させる距離や、方向等の各種情報を含む。
【0050】
例えば、移動指令部123は、処理ID判定部121によりマーカIDが処理対象として適切であると判定された際に、当該マーカIDに基づくロボット1の動作に係る指令値を生成する。
【0051】
また、移動指令部123は、処理ID判定部121によりマーカIDが処理対象として適切でないと判定された際に、ロボット1を所定の方向に所定の距離だけ移動させる指令値を生成してもよい。
【0052】
ここで、図3を参照し、マーカIDと、マーカIDに基づく動作の具体例を説明する。
【0053】
図3は、マーカIDと、マーカIDに基づく動作の具体例を説明するための説明図である。図3に示す「ID」の列は、マーカIDを示す。また、図3に示す「動作」の列は、各マーカIDに基づく動作を示す。
【0054】
例えば、マーカIDが「0」であった場合、図3に示すように、マーカIDに基づく動作とは、ロボット1の動作の終了であってもよい。このような、ロボット1の動作を終了させるマーカを終了指令マーカと表現する場合がある。
【0055】
例えば、マーカIDが「1」であった場合、図3に示すように、マーカIDに基づく動作とは、ロボット1の進行方向を180度変更する(即ち、進行方向を反転させる)動作であってもよい。このようなロボット1の進行方向を180度変更させるマーカを後進指令マーカと表現する場合がある。なお、後進指令は、反転指令の一例である。
【0056】
例えば、マーカIDが「2」であった場合、図3に示すように、マーカIDに基づく動作とは、ロボット1の進行方向を右側に90度旋回させる動作であってもよい。
【0057】
例えば、マーカIDが「3」であった場合、図3に示すように、マーカIDに基づく動作とは、ロボット1の進行方向を左側に90度旋回させる動作であってもよい。
【0058】
例えば、マーカIDが「4」であった場合、図3に示すように、マーカIDに基づく動作とは、ロボット1の動作の開始であってもよい。このような、ロボット1の動作を開始させるマーカを開始指令マーカと表現する場合がある。
【0059】
例えば、マーカIDが「5」以降の値であった場合、図3に示すように、マーカIDに基づく動作とは、ロボット1を直進方向に進行させる動作であってもよい。
【0060】
なお、本明細書では、マーカIDが「0」から「4」までのマーカを方向指令マーカと称し、マーカIDが「5」以降のマーカを直進指令マーカと表現する場合がある。
【0061】
また、直進指令マーカには、複数個のマーカIDが存在するが、直進指令マーカの各マーカIDは、昇順(または降順)でロボット1の移動する経路上に貼り付けられてもよい。
【0062】
そして、例えば、マーカIDが「5」の直進指令マーカの次に検出する直進指令マーカは、マーカIDが「6」の直進指令マーカであるというように、直進指令マーカのマーカIDは、ID検出部119により検出される順番を示す順番情報を含んでもよい。
【0063】
そして、処理ID判定部121は、ID検出部119により検出されたマーカIDが直進指令を含み、且つ、今回検出したマーカIDが含む順番が、前回検出されたマーカIDが含む順番の次の順番であった際に、前記処理対象として適切であると判定してもよい。
【0064】
例えば、前回検出された直進指令マーカが含むマーカIDが「5」であった場合、処理ID判定部121は、今回検出されたマーカIDが「6」であった際に、当該マーカIDが処理対象として適切であると判定する。このように、前回検出されたマーカIDの順番の次に検出するマーカ(即ち、今回検出すべきマーカ)をターゲットマーカと表現し、ターゲットマーカのマーカIDをターゲットマーカIDと表現する場合がある。
【0065】
一方、前回検出された直進指令マーカが含むマーカIDが「5」であった場合、処理ID判定部121は、今回検出されたマーカIDが「7」以降の値であった際に、当該マーカIDが処理対象として適切でないと判定する。
【0066】
また、処理ID判定部121は、ID検出部119により検出されたマーカが方向指令マーカのマーカIDを含んでいた際に、当該マーカIDが処理対象として適切であると判定してもよい。
【0067】
例えば、前回検出された直進指令マーカが含むマーカIDが「5」であった場合、処理ID判定部121は、今回検出されたマーカIDが方向指令を含む「0」から「4」までのマーカIDであった場合、当該マーカIDが処理対象として適切であると判定してもよい。
【0068】
また、ID検出部119は、複数のマーカIDを検出してもよい。この場合、処理ID判定部121は、複数のマーカIDのうち、直進指令マーカまたは方向指令マーカのいずれか一方を優先して処理対象として適切であるか否かの判定をしてもよい。
【0069】
そして、移動指令部123は、上述したように、処理対象として適切であると判定されたマーカIDであった場合、当該マーカIDに基づくロボット1の動作に係る指令値を生成してもよい。
【0070】
また、移動指令部123は、処理ID判定部121によりマーカIDが処理対象として適切でないと判定された際に、ロボット1を所定の方向に所定の距離だけ移動させる指令値を生成してもよい。これにより、ID検出部119は、本来ユーザが意図して貼り付けたマーカの順番で各マーカを検出し得る。
【0071】
なお、マーカIDと、マーカIDに基づく動作の関係は図3に示した例に限定されない。例えば、マーカIDが「0」に基づく動作は、ロボット1の動作の終了ではなくロボット1の動作の開始であってもよいし、ロボット1の進行方向を右側や左側に90度旋回させる動作であってもよい。
【0072】
また、本実施形態に係るマーカは、ARマーカ等の各種マーカであってもよい。例えば、各マーカIDに対応するマーカを紙などの媒体に印刷して、ロボット1が移動する通路等の動作環境中の壁に貼り付けられてもよい。
【0073】
また、マーカは、液晶パネル上で表示されてもよい。これにより、マーカIDが変更された場合であっても、液晶パネル上の表示を変更するだけでよくなり、再度、ユーザがマーカを紙に印刷する手間や、壁に貼り付け直す手間を削減し得る。
【0074】
また、ロボット1が液晶パネルに一定の距離まで近づいた際に、液晶パネルはマーカを表示してもよい。これにより、人にロボットへの移動指示を改ざんされる恐れを低減し得る。
【0075】
また、マーカは、赤外マーカであってもよいし、カメラ部5は赤外カメラであってもよい。この場合、赤外マーカは、人からは視認されず、ロボット1のみが検出可能である。これにより、人にロボットへの移動指示を改ざんされる恐れを低減し得る。
【0076】
また、マーカは、ロボット1に搭載されたカメラ部5の検出方向である左右いずれか一方の壁に貼り付けることで設置されてもよい。
【0077】
以上、マーカIDと、各マーカIDに基づく動作の具体例を説明した。再び、図2を参照し、制御装置10の機能構成の一例の続きを説明する。なお、以下の説明では、上述したような各種処理が実行されているマーカIDを現処理マーカIDと表現する場合がある。
【0078】
(記憶部150)
本実施形態に係る記憶部150は、ソフトウェアおよび各種データを保持する。本実施形態に係る記憶部150は、図2に示すようにパラメータ記憶部151と、状態記憶部153と、を備える。
【0079】
{パラメータ記憶部151}
本実施形態に係るパラメータ記憶部151は、ロボット1の動作に必要な各種パラメーラを保持する。例えば、パラメータ記憶部151は、図3に示した、マーカIDと、マーカIDに基づく動作の関係を示す定義テーブルを保持してもよい。
【0080】
また、パラメータ記憶部151は、マーカごとに設定された目標位置や、繰り返しモードの設定値や、目標到達判定部117により目標位置に到達したか否かの判定に用いる所定値や、一回当たりのロボット1の最大移動量や、マーカIDが処理対象として適切でないと判定された際に生成される所定の方向および所定の距離に係るパラメータや、マーカ未検出時にロボット1を停止させる規定値等の各種パラメータを保持してもよい。
【0081】
{状態記憶部153}
本実施形態に係る状態記憶部153は、ロボット1の動作に必要な動的に変化する情報を保持する。例えば、状態記憶部153は、現処理マーカIDや、ターゲットマーカIDや、前回処理したマーカIDを示す前処理マーカIDや、ロボット1の進行方向や、マーカ未検出でロボット1が移動したそう移動距離や、動作開始済みのフラグなどの各種状態を保持してもよい。
【0082】
以上、本実施形態に係る制御装置10の機能構成の一例を説明した。続いて、図4図7を参照し、本実施形態に係る制御装置10の動作処理の具体例を説明する。
【0083】
<<3.制御装置10の動作処理の一例>>
<3.1.全体フロー>
図4は、本実施形態に係る制御装置10の動作処理に係る全体フローの一例を説明するための説明図である。まず、マーカ検出部111は、カメラ部5から入力された画像からマーカを検出したか否かを判定する(S101)。マーカが検出された場合(S101/Yes)、処理はS105に進められ、マーカが検出されていない場合(S101/No)、処理はS145に進められる。
【0084】
マーカが検出された場合(S101/Yes)、ID検出部119は、検出されたマーカのマーカIDを検出する(S105)。
【0085】
そして、処理ID判定部121は、検出されたマーカIDが処理対象として適切か否かを判定する(S109)。処理対象として適切であると判定された場合(S109/Yes)、処理はS113に進められ、処理対象として適切でないと判定された場合(S109/No)、処理は再びS101に戻る。
【0086】
処理対象として適切であると判定された場合(S109/Yes)、状態記憶部153は、処理対象として適切であると判定されたマーカIDを現処理マーカIDとして登録する(S113)。
【0087】
続いて、相対位置算出部113は、登録されたマーカを原点としたロボット1の相対位置を算出する(S117)。
【0088】
次に、相対位置算出部113は、マーカに対するロボット1の相対位置と、当該マーカの目標位置の差分を算出する(S125)。
【0089】
そして、移動指令部123は、現処理マーカIDに基づく移動体の動作に係る指令値を生成し、ロボット1を移動させる(S129)。ここで、図5を参照し、S121からS129の処理の具体的な例を説明する。
【0090】
図5は、ロボット1の移動に係る動作の一例を説明するための説明図である。ある空間を進行するロボット1は、例えば図4に示すように、進行方向の左側を撮影する位置にカメラ部5を備えてもよい。
【0091】
そして、カメラ部5は、撮影によりマーカMを含む画像を取得し、マーカ検出部111は、画像からマーカMを検出する。
【0092】
そして、相対位置算出部113は、マーカMに対するロボット1の相対位置を算出する。ここでの相対位置は、例えば、マーカMからロボット1までの距離D1や、角度A(即ち、ロボット1からみたマーカMの方向)等を含んでもよい。例えば、相対位置算出部113は、例えば、画像に含まれるマーカMの形状や大きさに基づき、相対位置を算出してもよい。
【0093】
また、パラメータ記憶部151は、マーカMに予め設定された目標位置Lを保持する。目標位置Lは、例えばマーカMから距離D2離れた位置に設定される。ここでの距離D2は、予め設定された任意の距離であってもよい。例えば、パラメータ記憶部151に保持される目標位置Lは、後述するタブレット端末50により算出された目標位置であってもよい。
【0094】
そして、移動量算出部115は、マーカMに対するロボット1の相対位置と、目標位置Lの差分D3に基づき、マーカMに設定された目標位置Lに到達するために必要な移動距離と、移動角度をそれぞれ算出してもよい。
【0095】
そして、移動指令部123は、算出された移動距離、移動距離に基づく指令値を生成してもよい。なお、ロボット1が一回に移動する移動量が大きくなる程、ロボット1の制御が困難になり、ロボット1は目標位置Lに到達することが困難になり得る。
【0096】
そこで、パラメータ記憶部151は、ロボット1が一回に可能な移動量として最大移動量を保持してもよい。この場合、移動指令部123は、パラメータ記憶部151に保持される最大移動量と移動量算出部115により算出された移動距離を比較し、より小さい距離をロボット1に移動させる指令値を生成してもよい。
【0097】
より具体的には、移動指令部123は、相対位置と、目標位置Lの差分D3(即ち、移動距離)が最大移動量未満であった際に、ロボット1を差分D3の距離を移動させる指令値を生成してもよい。また、移動指令部123は、差分が最大移動量以上であった際に、ロボット1を最大移動量の距離を移動させる指令値を生成してもよい。
【0098】
以上、ロボット1の移動に係る動作の一例を説明した。再び、図4を参照し、本実施形態に係る制御装置10の動作処理に係る全体フローの続きを説明する。
【0099】
移動指令部123により生成された指令値によりロボット1を移動させた後(S129)、目標到達判定部117は、ロボット1の相対位置と、目標位置の差分が誤差範囲内か否かを判定する(S133)。誤差範囲内であった場合(S133/Yes)、処理はS137に進められ、誤差範囲外であった場合(S133/No)、処理は再びS125に戻る。
【0100】
誤差範囲内であった場合(S133/Yes)、制御部110は、現処理マーカIDが直進指令マーカか否かを判定する(S137)。直進指令マーカであった場合(S137/Yes)、処理はS141に進められ、直進指令マーカでなかった場合(S137/No)、処理は、後述するS201に進められる。
【0101】
直進指令マーカであった場合(S137/Yes)、制御部110はパラメータ記憶部151に保持されるターゲットマーカIDを更新し(S141)、処理は再びS101に戻り、マーカが検出されなくなるまでS101~S141の処理が繰り返される。
【0102】
そして、マーカ検出部111によりマーカが検出されなくなった場合(S101/No)、移動指令部123は、所定の方向に所定の距離だけ移動させる指令値を生成し、ロボット1を移動させる(S145)。
【0103】
ロボット1の移動後に再び、マーカ検出部111は、カメラ部5から入力された画像からマーカを検出したか否かを判定する(S149)。マーカを検出した場合(S149/Yes)、処理は再びS105に進められ、マーカを検出していない場合(S149/No)、処理はS153に進められる。
【0104】
そして、制御部110は、マーカ未検出でロボット1が移動した総移動距離が、パラメータ記憶部151に保持されるロボット1を停止させる規定値以上か否かを判定する(S153)。規定値未満であった場合(S153/No)、処理は再びS145に戻され、規定値以上であった場合(S153/Yes)、本実施形態に係る制御装置10は動作を終了する。
【0105】
なお、S145における所定の方向は及び所定の距離は、動作環境に応じた任意の値であってもよい。例えば、所定の方向が角度0度で、所定の距離が0.1m等の前方への直進指令が設定されてもよい。
【0106】
以上、本実施形態に係る制御装置10の動作処理に係る全体フローの一例を説明した。続いて、図6を参照し、図4に示した直進指令マーカでなかった場合(S137/No)に関する動作処理の続きを説明する。
【0107】
図6は、本実施形態に係る全体フローにおいて現処理マーカIDが直進指令マーカIDでなかった場合の一例を説明するための説明図である。直進指令マーカでなかった場合(S137/No)、制御部110は、現処理マーカIDは開始指令を含むか否かを判定する(S201)。開始指令を含む場合(S201/Yes)、処理はS217に進められ、開始指令を含まない場合(S201/No)、処理はS205に進められる。
【0108】
開始指令を含まない場合(S201/No)、制御部110は、現処理マーカIDは終了指令を含むか否かを判定する(S205)。終了指令を含む場合(S205/Yes)、処理はS225に進められ、終了指令を含まない場合(S205/No)、処理はS209に進められる。
【0109】
終了指令を含まない場合(S205/No)、制御部110は、現処理マーカIDは後進指令を含むか否かを判定する(S209)。後進指令を含む場合(S209/Yes)、処理はS229に進められ、後進指令を含まない場合(S209/No)、処理はS213に進められる。
【0110】
後進指令を含まない場合(S209/No)、制御部110は、現処理マーカIDは右折指令または左折指令を含むか否かを判定する(S213)。右折指令または左折指令を含む場合(S213/Yes)、処理はS237に進められ、右折指令または左折指令を含まない場合(S213/No)、処理は図4に示したS101に再び戻される。
【0111】
開始指令を含む場合(S201/Yes)、制御部110は、開始指令の検出は一回目か否かを判定する(S217)。一回目であった場合(S217/Yes)、処理はS221に進められ、二回目以降であった場合(S217/No)、処理はS225に進められる。
【0112】
一回目であった場合(S217/Yes)、制御部110はパラメータ記憶部151に保持されるターゲットマーカIDを更新し(S221)、処理は図4に示したS101に再び戻される。
【0113】
開始指令の検出が二回目以降であった場合(S217/No)、または現処理マーカIDが終了指令を含む場合(S205/No)、制御部110は、繰り返しモードが有効か否かを判定する(S225)。繰り返しモードが有効である場合(S225/Yes)、処理はS229に進められ、繰り返しモードが無効である場合(S225/No)、本実施形態に係る制御装置10は動作を終了する。
【0114】
繰り返しモードが有効である場合(S225/Yes)、または現処理マーカIDが後進指令を含む場合(S209/Yes)、制御部110は、ターゲットマーカIDを更新する(S229)。なお、S221によるターゲットマーカIDの更新とは、前処理マーカIDから+1したマーカIDに更新する処理である。また、S229によるターゲットマーカIDの更新とは、ロボット1が前方方向に進んでいる場合は、前処理マーカIDから+1したマーカIDに更新する処理であり、ロボット1が後方に進んでいる場合は、前処理マーカIDから-1したマーカIDに更新する処理である。
【0115】
そして、制御部110は、ロボット1の進行方向を180度変更し(S233)、処理は図4に示したS101に再び戻される。
【0116】
現処理マーカIDが右折指令または左折指令を含む場合(S213/Yes)、制御部110はマーカIDに応じてロボット1を右折または左折させ(S237)、処理は図4に示したS101に再び戻される。
【0117】
以上、現処理マーカIDが直進指令マーカIDでなかった場合の一例を説明した。続いて、図7を参照し、図4に示したS109の処理において、処理ID判定部121によるマーカIDが処理対象として適切であるか否かの判定に係る動作処理の一例を説明する。
【0118】
<3.2.処理対象の判定フロー>
図7は、マーカIDが処理対象として適切であるか否かの判定に係る動作処理の一例を説明するための説明図である。まず、処理ID判定部121は、ID検出部により検出されたマーカIDに、パラメータ記憶部151に保持されるターゲットマーカIDが含まれるか否かを判定する(S301)。ターゲットマーカIDが含まれる場合(S301/Yes)、処理はS309に進められ、ターゲットマーカIDが含まれない場合(S301/No)、処理はS305に進められる。
【0119】
ターゲットマーカIDが含まれない場合(S301/No)、処理ID判定部121は、マーカIDに方向指令IDが含まれるか否かを判定する(S305)。方向指令IDが含まれる場合(S305/Yes)、処理はS307に進められ、方向指令IDが含まれない場合(S305/No)、処理は313に進められる。
【0120】
方向指令IDが含まれる場合(S305/Yes)、処理ID判定部121は、前処理マーカIDが方向指令IDか否かを判定する(S307)。前処理マーカIDが方向指令IDであった場合(S307/Yes)、処理はS313に進められ、前処理マーカIDが方向指令IDでなかった場合(S307/No)、処理はS309に進められる。
【0121】
ID検出部により検出されたマーカIDに、ターゲットマーカIDが含まれる場合(S301/Yes)、またはマーカIDに方向指令IDが含まれ、且つ前処理マーカIDが方向指令IDでなかった場合(S305/Yes)(S307/No)、処理ID判定部121は、マーカIDが処理対象として適切であると判定し(S309)、処理ID判定部121は処理を終了する。
【0122】
ID検出部により検出されたマーカIDに方向指令IDが含まれない場合(S305/No)、または、マーカIDに方向指令IDが含まれ、且つ前処理マーカIDが方向指令IDであった場合(S305/Yes)(S307/Yes)、処理ID判定部121は、マーカIDが処理対象として適切でないと判定し(S313)、処理ID判定部121は処理を終了する。
【0123】
<<4.制御装置10に係る作用効果例>>
以上説明した本実施形態によれば、多様な作用効果が得られる。例えば、本実施形態に係る処理ID判定部121は、ID検出部119により検出されたマーカIDが処理対象として適切であるか否かを判定する。そして、移動指令部123は、マーカIDが処理対象として適切であると判定された際に、当該マーカIDに基づくロボット1の動作に係る指令値を生成する。これにより、ID検出部119により検出されたマーカIDが処理対象として適切でなかった際に、移動指令部123は、当該マーカIDに基づくロボット1の動作に係る指令値を生成しない。この結果、ユーザが意図して貼り付けたマーカに基づく自律移動をロボット1は実行し得る。
【0124】
また、本実施形態に係る直進指令マーカは、直進指令マーカのマーカIDの「6」の次に検出する直進指令マーカのマーカIDは「7」であるというような順番情報を含む。これにより、処理ID判定部121により判定されるマーカIDが処理対象として適切であるか否かの判定精度が向上され得る。その結果、例えば、マーカの貼り付ける間隔が拡大され得る。
【0125】
また、移動指令部123は、マーカIDが反転指令(後進指令)を含んでいた場合にロボット1の進行方向を反転させる指令値を生成する。例えば、ロボット1は、移動部20の一例である車輪の回転方向を逆向き変えることにより進行方向を変更することが可能である。この結果、通路の左右両側にマーカを貼り付ける必要がなくなるため、ロボット1は、左右両側にカメラ部5を備える必要がなく、左右のいずれか一方にカメラ部5を備えればよい。
【0126】
以上、本実施形態に係る制御システムについて説明した。続いて、本実施形態に係る情報処理システムの概要を説明する。
【0127】
<<5.情報処理システムの概要>>
上述した制御装置10は、ユーザに貼り付けられたマーカを検出することで、当該マーカに付与されたマーカIDに基づき、ロボット1の自律移動を実行させる装置であった。即ち、ロボット1の自律移動に先行して、ユーザは、マーカIDが付与されたマーカをロボット1の動作環境中の壁に貼り付ける必要がある。
【0128】
そこで、本実施形態に係る情報処理システムは、ユーザにマーカの貼り付け位置を提示することで、マーカを貼り付け作業の負担を低減することを可能にする。更に、情報処理システムがマーカの貼り付け位置が提示されることで、ユーザは意図した位置にマーカを貼り付けることが可能になり、この結果、ロボット1は、ユーザが意図して貼り付けたマーカに基づく自律移動をより高い精度で実行し得る。まず、図8を参照し、情報処理システムの機能構成の一例を説明する。
【0129】
<<6.タブレット端末50の機能構成の一例>>
図8は、本実施形態に係るタブレット端末50の機能構成の一例を説明するための説明図である。本実施形態に係る情報処理システムは、例えば、タブレット端末50を有する。
【0130】
本実施形態に係るタブレット端末50は、情報処理装置の一例である。タブレット端末50は、ロボット1が移動するマップに関する情報を取得し、当該マップに対してロボット1が検出するマーカの貼り付け位置を設定する。
【0131】
なお、情報処理装置は、タブレット端末50に限定されない。例えば、情報処理装置は、スマートフォンや、PC(Personal Computer)や、サーバ等の各種端末であってもよい。
【0132】
また、タブレット端末50は、図8に示すように、表示部510と、入力部520と、制御部530と、記憶部540と、を備える。
【0133】
(表示部510)
本実施形態に係る表示部510は、出力部の一例であり、地図、ルート、およびマーカの貼り付け位置を表示する。なお、地図はマップの一例であり、ルートは、経路の一例である。
【0134】
また、表示部510は、例えば、マーカの貼り付け位置に係るメッセージを表示してもよい。
【0135】
また、表示部510は、例えば、タッチパネル、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置であってもよい。
【0136】
(入力部520)
本実施形態に係る入力部520は、ユーザから入力された各種情報の入力を受け付ける。例えば、入力部520は、マップ取得部の一例であり、ユーザにより入力されたロボット1が移動する地図に関するマップ情報を受け付ける。
【0137】
また、入力部520は、例えば、地図に含まれるルートに関する情報を受け付けてもよい。また、入力部520は、地図に含まれる任意の長さに関し、ユーザにより入力された実空間上の長さを受け付けてもよい。
【0138】
(制御部530)
本実施形態に係る制御部530は、タブレット端末50の動作全般を制御する。制御部530は、図8に示すように、マーカ選択部531と、ルート設定部533と、縮尺算出部535と、目標位置算出部537と、を備える。
【0139】
{マーカ選択部531}
本実施形態に係るマーカ選択部531は、ユーザから入力された設置済みマーカの状態を状態記憶部543に保存し、次に設置するマーカを選択する。
【0140】
{ルート設定部533}
本実施形態に係るルート設定部533は、位置設定部の一例であり、ユーザにより入力されたルートに対し、ロボット1が検出するマーカの貼り付け位置を設定する。
【0141】
例えば、ルート設定部533は、ユーザにより入力されたルートを複数の区間に分解し、分解された複数の区間の各々でマーカの貼り付け位置を設定してもよい。
【0142】
{縮尺算出部535}
本実施形態に係る縮尺算出部535は、地図に含まれる任意の長さに関し、ユーザにより入力された実空間上の長さに基づき、地図の縮尺を算出する。
【0143】
{目標位置算出部537}
本実施形態に係る目標位置算出部537は、ルート設定部533により貼り付け位置が設定されたマーカに対し、ロボット1の目標位置を算出する。
【0144】
例えば、目標位置算出部537は、複数の区間の各々の通路の幅に基づき、マーカの貼り付け位置に対応するロボット1が移動する目標位置を算出してもよい。
【0145】
(記憶部540)
本実施形態に係る記憶部540は、ソフトウェアおよび各種データを保持する。例えば、記憶部540は、図8に示すように、パラメータ記憶部541と、状態記憶部543と、を備える。
【0146】
{パラメータ記憶部541}
本実施形態に係るパラメータ記憶部541は、タブレット端末50の動作に必要な各種パラメーラを保持する。
【0147】
パラメータ記憶部541は、例えば、マーカのサイズや、マーカIDの最大値や、ロボット1が備えるカメラ部5の設置方向や、マーカの設置間隔や、目標位置の設定可能範囲等の各種パラメータを保持してもよい。
【0148】
{状態記憶部543}
本実施形態に係る状態記憶部543は、タブレット端末50の動作に必要な動的に変化する情報を保持する。
【0149】
状態記憶部543は、例えば、設置済みマーカや、縮尺の算出に係る変換式や、マーカごとの目標位置や、複数の区間の情報や、区間毎のマーカの貼り付け可能範囲や、各区間の通路の中央から壁までの長さ等の各種情報を保持してもよい。
【0150】
以上、本実施形態に係るタブレット端末50の機能構成の一例を説明した。続いて、図9図16を参照し、タブレット端末50の動作処理の具体例を順次説明する。
【0151】
<<7.タブレット端末50の動作処理の一例>>
<7.1.マーカの貼り付け位置の設定から表示に係る全体フロー>
図9および図10は、タブレット端末50の動作処理に係る全体フローの一例を説明するための説明図である。まず、入力部520は、ロボット1が移動する地図を読み込む(S401)。
【0152】
続いて、表示部510は、読み込んだ地図を表示する(S405)。
【0153】
そして、入力部520は、ユーザにより入力された、地図の通路の一部に対して引かれた線と、当該線の実空間の長さを、受け付ける(S409)。なお、ユーザは、例えば、マウスやペンタブや、タッチパネル状で通路に垂直な線を引いてもよい。
【0154】
続いて、縮尺算出部535は、ユーザにより入力された線に対応する表示部510上の画素数と、ユーザにより入力された当該線の実空間上での長さに基づき、地図の縮尺を算出する(S413)。
【0155】
そして、状態記憶部543は、実空間での長さと、表示部510上の画素数の関係として、算出した縮尺の算出に係る変換式を記憶する(S417)。
【0156】
次に、入力部520は、ユーザにより入力された地図上で巡回ルートを受け付ける(S421)。なお、ここでの巡回ルートは、ロボット1が移動する経路を示す。
【0157】
そして、ルート設定部533は、巡回ルートの情報から、マーカの貼り付け位置を算出する(S425)。マーカの貼り付け位置の設定に係る詳細は、図11を参照して後述する。
【0158】
そして、表示部510は、ルート設定部533により算出されたマーカの貼り付け位置を地図に重畳して表示し(S429)、タブレット端末50は動作処理を終了する。続いて、図10を参照し、マーカの貼り付け位置の表示に係る動作処理の続きを説明する。
【0159】
表示部510によりマーカの貼り付け位置を地図に重畳して表示された後(S429)、表示部510は、ユーザに開始指令マーカの貼り付け位置に移動し、開始指令マーカを貼り付けるように促すように表示する(S501)。
【0160】
そして、ユーザによりマーカが貼り付けられた後、入力部520は、表示部510上で貼り付けられたマーカが選択され、当該選択されたマーカの情報を受け付ける(S505)。
【0161】
続いて、マーカ選択部531は、選択されたマーカの状態を、貼り付け済みに変更する(S509)。
【0162】
表示部510は、貼り付け済みのマーカの色を変更して表示する(S513)。例えば、貼り付け前のマーカは、青色で地図上に表示され、貼り付け済みマーカは、赤色で地図上に表示されてもよい。
【0163】
そして、マーカ選択部531は、貼り付けしていないマーカがあるか否かを判定する(S517)。貼り付けしていないマーカがある場合(S517/Yes)、処理はS521に進められ、全てのマーカが貼り付けられた場合(S517/No)、タブレット端末50は動作処理を終了する。
【0164】
貼り付けしていないマーカがある場合(S517/Yes)、マーカ選択部531は、次に貼り付けるマーカを選択する(S521)。
【0165】
そして、ルート設定部513は、タブレット端末50の位置から次に貼り付けるマーカの貼り付け位置までの距離と、方向を算出する(S525)。
【0166】
そして、表示部510は、タブレット端末50の位置から次に貼り付けるマーカの貼り付け位置までの距離と、方向を表示し(S529)、処理は再びS505に戻される。なお、パラメータ記憶部541は、例えば、ユーザの歩幅を保持してもよい。この場合、表示部510は、次に貼り付けるマーカまでの距離を表示する際に、例えば、現処理マーカから次に貼り付けるマーカの位置までの歩数を参考情報として表示してもよい。
【0167】
以上、タブレット端末50の動作処理に係る全体フローの一例を説明した。続いて、図11を参照し、図9に示したS425におけるマーカの貼り付け位置の設定に係る詳細を説明する。
【0168】
<7.2.マーカの貼り付け位置の設定>
図11は、タブレット端末50のマーカの貼り付け位置の設定に係る動作処理の一例を説明するための説明図である。まず、ルート設定部533は、ユーザが入力したルートを複数のベクトルに分解する(S601)。ここでの、複数のベクトルとは、複数の区間の一例である。
【0169】
続いて、状態記憶部543は、分解したベクトルを入力順に並べて保存する(S605)。
【0170】
そして、ルート設定部533は、パラメータ記憶部541により保持されたロボット1が有するカメラ部5の設置方向と同じ方向に対し、マーカが貼り付けられる向きを選択する(S609)。
【0171】
続いて、ルート設定部533は、最初のベクトルの始点から垂直に引いた線と、壁との交点を開始指令マーカの貼り付け位置として設定する(S613)。ここで、図12を参照し、S601~S613の概略を説明する。
【0172】
図12は、ベクトルの分解から開始指令マーカの貼り付け位置として設定する概略を説明するための説明図である。図12の概略図は、入力部520により入力される地図の一例であり、白色部が通路を示し、着色部は部屋や障害物等の進入禁止領域であるとする。
【0173】
例えば、ルート設定部533は、ユーザが入力したルートを、ベクトルA、ベクトルB、ベクトルC、ベクトルDおよびベクトルEに分解する。ここで、ベクトルAは、最初のベクトルであり、ベクトルEは、最後のベクトルである。
【0174】
そして、ルート設定部533は、最初のベクトルであるベクトルAの始点から、図12に示すように、垂直に線を引く。そして、ルート設定部533は、垂直に引いた線と、壁の交点を開始指令マーカの貼り付け位置として設定する。
【0175】
図12に示す例では、ロボット1の進行方向左側にカメラ部5が設置された場合であり、ロボット1の進行方向右側にカメラ部5が設置された場合、図12示す方向と反対側に垂直に線が引かれてもよい。再び、図11を参照し、マーカの貼り付け位置の設定に係る動作処理の続きを説明する。
【0176】
制御部530は、未処理のベクトルがあるか否かを判定する(S617)。未処理のベクトルがある場合(S617/Yes)、処理はS621に進められ、未処理のベクトルがない場合(S617/No)、処理はS657に進められる。
【0177】
未処理のベクトルがある場合(S617/Yes)、ルート設定部533は、処理するベクトルを選択する(S621)。
【0178】
次に、ルート設定部533は、選択したベクトルに対して、マーカの貼り付け可能範囲を算出する(S625)。マーカの貼り付け可能範囲の算出に係る詳細は後述する。
【0179】
そして、ルート設定部533は、現在処理しているベクトルの次のベクトルの向きを取得する(S629)。
【0180】
続いて、ルート設定部533は、マーカの貼り付け可能範囲の最終地点に、次のベクトルの向きに応じた方向指令マーカの貼り付け位置として設定する(S633)。
【0181】
次に、ルート設定部533は、マーカの貼り付け可能範囲に基づき、直進指令マーカの数量を算出する(S637)。
【0182】
ここで、図13図15を参照し、マーカの貼り付け可能範囲の算出と、直進指令マーカの数量の算出に係る具体例を説明する。
【0183】
図13は、マーカの貼り付け可能範囲の算出に係る具体例を説明するための説明図である。図13に~図15の例では、ルート設定部533がベクトルAの区間に対してマーカの貼り付け可能範囲と、直進指令マーカの数量を算出する処理の具体例を説明する。
【0184】
パラメータ記憶部541は、予め設定されたマーカの設置間隔Wを保持する。そして、ルート設定部533は、図13に示すように、ベクトルAの区間に対し、設置間隔Wごとに壁に対して垂直な線を引く。次にルート設定部533は、引いた線の長さをヒストグラム化する。
【0185】
図14は、ベクトルAの区間の線の長さのヒストグラム化した一例を説明するための説明図である。図14に示すヒストグラムでは、横軸が画素数(即ち、垂直に引かれた線の長さ)であり、縦軸が頻度である。
【0186】
ルート設定部533は、中央値から大きく外れた線を削除してもよい。例えば、ルート設定部533は、中央値が含まれる第1群A1を残し、中央値から外れた第2群A2を削除してもよい。
【0187】
そして、ルート設定部533は、第1群A1に含まれる始点と終点の間の範囲をマーカの貼り付け可能範囲として設定してもよい。
【0188】
図15は、直進指令マーカの数量の算出に係る具体例を説明するための説明図である。ルート設定部533は、上述した処理によりベクトルAの区間において、始点P1から終点P2の間にマーカの貼り付け可能範囲を設定する。
【0189】
そして、ルート設定部533は、状態記憶部543に保持される縮尺の算出に係る変換式を用いて、マーカの貼り付け可能範囲の始点と終点を結ぶ線の長さ(画素数)から実空間上での長さを算出してもよい。
【0190】
そして、ルート設定部533は、実空間上での長さをマーカの設置間隔Wで割ることで、ベクトルAの区間に必要とされる直進指令マーカの数量を算出してもよい。そして、ルート設定部533は、未使用の直進指令マーカのうち未使用で一番小さいマーカIDから順に必要数を確保してもよい。
【0191】
以上、マーカの貼り付け可能範囲の算出と、直進指令マーカの数量の算出に係る具体例を説明した。再び、図11を参照し、マーカの貼り付け位置の設定に係る動作処理の一例の続きを説明する。
【0192】
直進指令マーカの数量が算出された後(S637)、ルート設定部533は、確保したマーカIDのうち一番大きいマーカIDが、パラメータ記憶部541により保持されるマーカIDの最大値以下であるか否かを判定する(S641)。最大値を超えた場合(S641/No)、処理はS645に進められ、最大値以下である場合(S641/Yes)、処理はS649に進められる。
【0193】
最大値を超えた場合(S641/No)、表示部510は、マーカIDが不足している旨のエラーメッセージを表示し(S645)、タブレット端末50は動作処理を終了する。
【0194】
最大値以下である場合(S641/Yes)、ルート設定部533は、カメラ部5が搭載された方向の壁に、開始指令マーカから方向指令マーカまでの間で直進指令マーカを均等に配置するように設定(S649)。
【0195】
そして、ルート設定部533は、現在処理しているベクトルのステータスを処理済みに変更し、状態記憶部543に保存する。
【0196】
そして、未処理のベクトルが無くなるまで繰り返しS617~S653の処理が実行され、未処理のベクトルが無くなった場合(S617/No)、ルート設定部533は、最後のベクトルの終点から垂直に引いた線と、壁の交点を終了指令マーカの貼り付け位置として設定し(S657)、タブレット端末50は動作処理を終了する。
【0197】
以上、タブレット端末50のマーカの貼り付け位置の設定に係る動作処理の一例を説明した。続いて、図16を参照し、マーカごとに設定される目標位置の算出に係る動作処理の一例を説明する。
【0198】
<7.3.目標位置の算出>
図16は、タブレット端末50の目標位置の算出に係る動作処理の一例を説明するための説明図である。まず、目標位置算出部537は、状態記憶部543により保持されるベクトルのマーカの貼り付け可能範囲を取得する(S701)。
【0199】
目標位置算出部537は、未処理のベクトルがあるか否かを判定する(S705)。未処理のベクトルがある場合(S705/Yes)、処理はS709に進められ、未処理のベクトルがない場合(S705/No)、処理はS729に進められる。
【0200】
未処理のベクトルがある場合(S705/Yes)、目標位置算出部537は、マーカの貼り付け可能範囲の中で、ベクトルの左右いずれか一方の壁から他方の壁までの長さ(以下、通路の幅と表現する。)を均等間隔で算出する(S709)。例えば、目標位置算出部537は、ベクトルから左右両方の壁に対して垂直に線を引いて、壁との両交点の間の距離を通路の幅として算出してもよい。
【0201】
続いて、目標位置算出部537は、算出した各通路の幅のうち、最も短い通路の幅を選択し、最も短い通路の幅に0.5を乗算し、中央から壁までの長さを算出する(S713)。
【0202】
目標位置算出部537は、算出した長さが、パラメータ記憶部541により保持される目標位置の設定可能範囲内か否かを判定する(S717)。設定可能範囲外であった場合(S717/No)、処理はS721に進められ、設定可能範囲内であった場合(S717/Yes)、処理はS725に進められる。
【0203】
設定可能範囲外であった場合(S717/No)、表示部510は、ロボット1が通行不可の通路を含む区間であるルートであることを表示し(S721)、タブレット端末50は動作処理を終了する。
【0204】
設定可能範囲内であった場合(S717/Yes)、状態記憶部543は、最も短い通路の幅に0.5を乗算した、通路の中央から壁までの長さを保存する(S725)。そして、未処理のベクトルがなくなるまでS705~S725までの処理が繰り返される。
【0205】
未処理のベクトルがない場合(S705/No)、目標位置算出部537は、状態記憶部543に保持した、全てのベクトルの各通路の中央から壁までの長さを取得する(S729)。
【0206】
そして、目標位置算出部537は、取得した各ベクトルの通路の中央から壁までの長さのうち、最も短い長さを選択する(S733)。
【0207】
そして、目標位置算出部537は、選択した長さを目標位置として設定し(S737)、タブレット端末50は動作処理を終了する。例えば、目標位置算出部537は、あるマーカの貼り付け位置として設定された位置から選択した長さの垂直な線を引いた位置が当該マーカの目標位置として設定してもよい。
【0208】
なお、上述した処理では、目標位置算出部537が全てのベクトルにおいて、一律の基準でマーカの目標位置を設定する例を説明したが、ベクトルごとにそれぞれ目標位置を設定してもよい。
【0209】
<<8.タブレット端末50に係る作用効果例>>
以上説明した本実施形態によれば、多様な作用効果が得られる。例えばタブレット端末50は、ユーザが用意した地図からマーカの貼り付け位置や種類を決定する。これにより、マーカの貼り付け手順を考える手間の削減が可能になり、マーカの貼り付けに係るユーザの負担を低減し得る。
【0210】
<<9.ハードウェア構成例>>
以上説明した情報処理は、ソフトウェアと以下に説明する制御装置10のハードウェアとの協働により実現される。なお、以下に説明するハードウェア構成はタブレット端末50にも適用可能である。
【0211】
図17は、本実施形態に係る制御装置10のハードウェア構成を示したブロック図である。制御装置10は、CPU(Central Processing Unit)1002と、ROM(Read Only Memory)1004と、RAM(Randome Access Memory)1006と、内部バス1008と、入出力インターフェース1010と、表示部1012と、入力部1013と、音声出力部1014と、記憶部150と、ドライブ1016と、ネットワークインターフェース1017と、外部インターフェース1018と、を備えることができる。
【0212】
CPU1002は、演算処理装置及び制御装置として機能し、各種プログラムに従って制御装置10内の動作全般を制御する。CPU1002が後述するROM1004、RAM1006及びソフトウェアと協働することにより、例えば、ID検出部119、処理ID判定部、および移動指令部123などの機能が実現され得る。
【0213】
ROM1004は、CPU1002が使用するプログラムおよび演算パラメータ等を記憶する。RAM1006は、CPU1002の実行において使用するプログラム、およびその実行において適宜変化するパラメータ等を一時記憶する。
【0214】
CPU1002、ROM1004、RAM1006は、内部バス1008によって相互に接続され、さらに入出力インターフェース1010を介して後述する表示部1012、入力部1013、音声出力部1014、記憶部150、ドライブ1016、ネットワークインターフェース1017、外部インターフェース1018と接続される。
【0215】
表示部1012は、例えば、CRTディスプレイ装置、液晶ディスプレイ(LCD)、OLED装置などの表示装置であり、映像データを映像に変換して出力する。また、入力部1013は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、センサ、スイッチ及びレバーなどメンバーが情報を入力するための入力手段と、メンバーによる入力に基づいて入力信号を生成し、CPU1002に出力する入力制御回路などから構成され得る。また、音声出力部1014は、スピーカ及びヘッドホンなどの音声出力装置であり、音声データなどを音声に変換して出力する。
【0216】
記憶部150は、データ記憶用の装置である。記憶部150は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置及び記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。記憶部150は、例えば、HDD(Hard Disk Drive)やSSD(Solid Strage Drive)、あるいは同等の機能を有するメモリ等で構成される。この記憶部150は、ストレージを駆動し、CPU1002が実行するプログラムや各種データを記憶する。
【0217】
ドライブ1016は、記憶媒体用リーダライタであり、制御装置10に内蔵、または外付けされる。ドライブ1016は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記憶媒体に記憶されている情報を読み出して、RAM1006に出力する。また、ドライブ1016は、リムーバブル記憶媒体に情報を書き込むことも可能である。
【0218】
ネットワークインターフェース1017は、例えば、インターネットなどの通信網に接続するためのデバイス等で構成された通信インターフェースである。また、ネットワークインターフェース1017は、有線LAN(Local Area Network)または無線LAN対応通信装置であってもよいし、有線による通信を行うワイヤー通信装置であってもよい。
【0219】
外部インターフェース1018は、例えばUSB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート、RS-232Cポートまたは光オーディオ端子などのような外部接続機器を接続するための接続ポートで構成された接続インターフェースである。
【0220】
<<10.補足>>
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0221】
例えば、本実施形態に係る制御装置10およびタブレット端末50の動作の処理におけるステップは、必ずしも説明図として記載された順序に沿って時系列に処理する必要はない。例えば、制御装置10およびタブレット端末50の動作の処理における各ステップは、説明図として記載した順序と異なる順序で処理されてもよいし、並行して処理されてもよい。
【0222】
また、制御装置10およびタブレット端末50に内蔵されるCPU、ROMおよびRAMなどのハードウェアに、上述した制御装置10およびタブレット端末50の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。
【符号の説明】
【0223】
1 ロボット
5 カメラ部
10 制御装置
110 制御部
111 マーカ検出部
113 相対位置算出部
115 移動量算出部
117 目標到達判定部
119 ID検出部
121 処理ID判定部
123 移動指令部
150 記憶部
151 パラメータ記憶部
153 状態記憶部
20 移動部
50 タブレット端末
510 表示部
520 入力部
530 制御部
531 マーカ選択部
533 ルート設定部
535 縮尺算出部
537 目標位置算出部
540 記憶部
541 パラメータ記憶部
543 状態記憶部

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17