(57)【要約】  複数のシートを組み合わせて配置する場合に、その複数のシートの組み合わせに対応するマップを容易に管理すること。制御システムは、座標が符号化されたパターンが印刷され、並べられる複数のシート（３１）と移動体（２０）とを含み、制御システムは、前記移動体が読み取ったパターンから生成される座標を取得し、前記取得された座標に基づいて、前のシートの上から現在のシートの上への移動体の移動を検出し、前記現在のシートの上への移動体の移動が検出された場合に、前記現在のシートへの移動に関して取得された座標に基づいて前記前のシートに対する前記現在のシートの相対的位置を検出し、前記検出された相対的位置に基づいて前記複数のシートの配置を示すマップを更新し、前記マップに基づいて移動体の動作を制御する。
2020153252.tif 000002
【特許請求の範囲】
【請求項１】
座標が符号化されたパターンが印刷され、並べられる複数のシートと、
移動体と、
前記移動体が読み取ったパターンから生成される座標を取得する座標取得手段と、
前記取得された座標に基づいて、前のシートの上から現在のシートの上への移動体の移動を検出するシート移動検出手段と、
前記現在のシートの上への移動体の移動が検出された場合に、前記現在のシートへの移動に関して取得された座標に基づいて前記前のシートに対する前記現在のシートの相対的位置を検出し、前記検出された相対的位置に基づいて前記複数のシートの配置を示すマップを更新するマップ更新手段と、
前記マップに基づいて移動体の動作を制御する移動制御手段と、
を含む制御システム。
【請求項２】
請求項１に記載の制御システムにおいて、
前記マップ更新手段は、前記現在のシートの上への移動体の移動が検出された場合に、前記現在のシートに関連付けて記憶される当該シートの上のオブジェクトの情報を取得し、前記検出された相対的位置と前記取得されたオブジェクトの情報とに基づいて、マップを更新する、
制御システム。
【請求項３】
請求項１または２に記載の制御システムにおいて、
現在または過去に前記移動体が上を走行しかつ前記マップ内に配置される複数のシートに関連付けられたイベントの情報を取得し、前記取得されたイベントの情報のうちいずれかに応じた処理を実行するイベント制御手段をさらに含む、
制御システム。
【請求項４】
請求項１から３のいずれかに記載の制御システムにおいて、
前記複数のシートと異なる座標が符号化されたパターンが印刷され、かつ、前記シートと接続するように配置されるピースと、
前記移動体が読み取ったパターンから生成される座標が前記ピースの上の座標である場合に、変換ルールに基づいて前記座標を前記シート上の座標に変換する変換手段と、をさらに含み、
前記変換手段は、前記移動体が読み取ったパターンから生成される座標が、前記複数のシート上の座標から前記ピース上の座標に変化した場合に、前記ピース上の座標を前記シート上の座標に変換する前記変換ルールを決定する、
制御システム。
【請求項５】
座標が符号化されたパターンが印刷され、並べられる複数のシートと、移動体と、を含むシステムの制御方法であって、
前記移動体が読み取ったパターンから生成される座標を取得するステップと、
前記取得された座標に基づいて、前のシートの上から現在のシートの上への移動体の移動を検出するステップと、
前記現在のシートの上への移動体の移動が検出された場合に、前記現在のシートへの移動に関して取得された座標に基づいて前記前のシートに対する前記現在のシートの相対的位置を検出し、前記検出された相対的位置に基づいて前記複数のシートの配置を示すマップを更新するステップと、
前記マップに基づいて前記移動体の動作を制御するステップと、
を含む制御方法。
【請求項６】
座標が符号化されたパターンが印刷され、並べられる複数のシートのいずれかの上で移動体が読み取ったパターンから生成される座標を取得する座標取得手段、
前記取得された座標に基づいて、前のシートの上から現在のシートの上への移動体の移動を検出するシート移動検出手段、
前記現在のシートの上への移動体の移動が検出された場合に、前記現在のシートへの移動に関して取得された座標に基づいて、前記前のシートに対する前記現在のシートの相対的位置を検出し、前記検出された相対的位置に基づいて前記複数のシートの配置を示すマップを更新するマップ更新手段、および、
前記マップに基づいて移動体の動作を制御する移動制御手段、
としてコンピュータを機能させるためのプログラム。
【請求項７】
座標が符号化されたパターンが印刷され、並べられかつ移動体が走行する複数のシートを含むシートセットであって、
前記パターンが読み取られることにより生成される座標により前記複数のシートのうち１つから他のシートの上への前記移動体の移動が検出された場合に、前記他のシートへの移動に関して生成された座標に応じて求められる、前記１つのシートに対する前記他のシートの相対的位置に基づいて前記複数のシートの配置を示しかつ前記移動体の制御に用いられるマップが更新される、
シートセット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は制御システム、制御方法、プログラムおよびシートセットに関する。
【背景技術】
【０００２】
座標のパターンが印刷された複数のシートを並べ、自走デバイスがパターンを読み取ることで台車の移動を制御するシステムがある。【０００３】
特許文献１には、複数のマットを並べ、それらのマット上を自走デバイスが走行することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１８／０２５４６７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
並べられた複数のシート上で、障害物などを避けて移動体を走行させるシステムを作成する場合、単調ではない走行環境を得るため、自由に複数のシートを組み合わせることが考えられる。しかし、このようにすると、シートの配置がわからないため、どこにどのような走行環境があるのかを把握することが難しくなる。またユーザに予めシートの配置を入力させると、ユーザの負担が大きい。【０００６】
本発明は上記課題を鑑みてなされたものであり、その目的は、複数のシートを組み合わせて配置する場合に、その複数のシートの配置に応じたマップをより容易に管理することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明にかかる制御システムは、座標が符号化されたパターンが印刷され、並べられる複数のシートと、移動体と、前記移動体が読み取ったパターンから生成される座標を取得する座標取得手段と、前記取得された座標に基づいて、前のシートの上から現在のシートの上への移動体の移動を検出するシート移動検出手段と、前記現在のシートの上への移動体の移動が検出された場合に、前記現在のシートへの移動に関して取得された座標に基づいて前記前のシートに対する前記現在のシートの相対的位置を検出し、前記検出された相対的位置に基づいて前記複数のシートの配置を示すマップを更新するマップ更新手段と、前記マップに基づいて移動体の動作を制御する移動制御手段と、を含む。【０００８】
また、本発明にかかる座標が符号化されたパターンが印刷され、並べられる複数のシートと、移動体と、を含むシステムの制御方法は、前記移動体が読み取ったパターンから生成される座標を取得するステップと、前記取得された座標に基づいて、前のシートの上から現在のシートの上への移動体の移動を検出するステップと、前記現在のシートの上への移動体の移動が検出された場合に、前記現在のシートへの移動に関して取得された座標に基づいて前記前のシートに対する前記現在のシートの相対的位置を検出し、前記検出された相対的位置に基づいて前記複数のシートの配置を示すマップを更新するステップと、前記マップに基づいて前記移動体の動作を制御するステップと、を含む。【０００９】
また、本発明にかかるプログラムは、座標が符号化されたパターンが印刷され、並べられる複数のシートのいずれかの上で移動体が読み取ったパターンから生成される座標を取得する座標取得手段、前記取得された座標に基づいて、前のシートの上から現在のシートの上への移動体の移動を検出するシート移動検出手段、前記現在のシートの上への移動体の移動が検出された場合に、前記現在のシートへの移動に関して取得された座標に基づいて、前記前のシートに対する前記現在のシートの相対的位置を検出し、前記検出された相対的位置に基づいて前記複数のシートの配置を示すマップを更新するマップ更新手段、および、前記マップに基づいて移動体の動作を制御する移動制御手段、としてコンピュータを機能させる。【００１０】
また、本発明にかかるシートセットは、座標が符号化されたパターンが印刷され、並べられかつ移動体が走行する複数のシートを含む。前記パターンが読み取られることにより生成される座標により前記複数のシートのうち１つから他のシートの上への前記移動体の移動が検出された場合に、前記他のシートへの移動に関して生成された座標に応じて求められる、前記１つのシートに対する前記他のシートの相対的位置に基づいて前記複数のシートの配置を示しかつ前記移動体の制御に用いられるマップが更新される。【００１１】
本発明によれば、複数のシートを組み合わせて配置する場合に、その複数のシートの配置に応じたマップをより容易に管理できる。【００１２】
本発明の一形態では、前記マップ更新手段は、前記現在のシートの上への移動体の移動が検出された場合に、前記現在のシートに関連付けて記憶される当該シートの上のオブジェクトの情報を取得し、前記検出された相対的位置と前記取得されたオブジェクトの情報とに基づいて、マップを更新してもよい。【００１３】
本発明の一形態では、制御システムは、現在または過去に前記移動体が上を走行しかつ前記マップ内に配置される複数のシートに関連付けられたイベントの情報を取得し、前記取得されたイベントの情報のうちいずれかに応じた処理を実行するイベント制御手段をさらに含んでもよい。【００１４】
本発明の一形態では、制御システムは、前記複数のシートと異なる座標が符号化されたパターンが印刷され、かつ、前記シートと接続するように配置されるピースと、前記移動体が読み取ったパターンから生成される座標が前記ピースの上の座標である場合に、変換ルールに基づいて前記座標を前記シート上の座標に変換する変換手段と、をさらに含み、前記変換手段は、前記移動体が読み取ったパターンから生成される座標が、前記複数のシート上の座標から前記ピース上の座標に変化した場合に、前記ピース上の座標を前記シート上の座標に変換する前記変換ルールを決定してもよい。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態にかかる制御システムの一例を示す図である。
【図２】制御システムのハードウェア構成を示す図である。
【図３】台車の一例を示す図である。
【図４】台車が配置されるシートの一例を示す図である。
【図５】座標空間に対するシートの割当の一例を示す図である。
【図６】制御システムが実現する機能を示すブロック図である。
【図７】制御システムの処理の一例を示すフロー図である。
【図８】台車のシート間の移動を説明する図である。
【図９】台車の移動により更新されるマップの一例を示す図である。
【図１０】更新されるマップの他の一例を示す図である。
【図１１】シートの交換を説明する図である。
【図１２】シートの交換の際のマップの更新を説明する図である。
【図１３】イベント管理部の処理の一例を示すフロー図である。
【図１４】イベント情報の一例を示す図である。
【図１５】シート上に貼られたピースの一例を示す図である。
【図１６】座標変換部の処理の一例を示すフロー図である。
【発明を実施するための形態】
【００１６】
以下では、本発明の実施形態について図面に基づいて説明する。出現する構成要素のうち同一機能を有するものには同じ符号を付し、その説明を省略する。本発明の実施形態では、ユーザの操作に応じて自走可能な移動デバイスが複数のシートの上を走行する。
【００１７】
図１は、本発明の実施形態にかかる制御システムの一例を示す図である。本発明にかかる制御システムは、デバイス制御装置１０と、台車２０ａ，２０ｂと、コントローラ１７と、カートリッジ１８とを含む。台車２０ａ，２０ｂはカメラ２４を有する自走式の移動デバイスであり、どちらも同じ機能を有する。以下では特に区別する必要がない限り、これらの台車２０ａ，２０ｂを台車２０と記載する。デバイス制御装置１０は、無線を介して台車２０を制御する。デバイス制御装置１０は凹部３２を有し、台車２０が凹部３２にはめ込まれると、デバイス制御装置１０は台車２０を充電する。コントローラ１７はユーザによる操作を取得する入力装置であり、ケーブルによりデバイス制御装置１０に接続されている。カートリッジ１８は不揮発性メモリを内蔵する。
【００１８】
図２は、本発明の実施形態にかかる制御システムのハードウェア構成の一例を示す図である。デバイス制御装置１０は、プロセッサ１１、記憶部１２、通信部１３、入出力部１４を含む。台車２０は、プロセッサ２１、記憶部２２、通信部２３、カメラ２４、２つのモータ２５を含む。デバイス制御装置１０は、台車２０の制御に最適化された専用の装置であってもよいし、汎用的なコンピュータであってもよい。
【００１９】
プロセッサ１１は、記憶部１２に格納されているプログラムに従って動作し、通信部１３、入出力部１４などを制御する。プロセッサ２１は、記憶部２２に格納されているプログラムに従って動作し、通信部２３、カメラ２４、モータ２５などを制御する。上記プログラムは、カートリッジ１８内のフラッシュメモリ等のコンピュータで読み取り可能な記憶媒体に格納されて提供されるが、インターネット等のネットワークを介して提供されてもよい。
【００２０】
記憶部１２は、デバイス制御装置１０に内蔵されるＤＲＡＭおよび不揮発性メモリと、カートリッジ１８内の不揮発性メモリ等によって構成されている。記憶部２２は、ＤＲＡＭおよび不揮発性メモリ等によって構成されている。記憶部１２，２２は、上記プログラムを格納する。また、記憶部１２，２２は、プロセッサ１１，２１や通信部１３，２３等から入力される情報や演算結果を格納する。
【００２１】
通信部１３，２３は他の機器と通信するための集積回路やアンテナなどにより構成されている。通信部１３，２３は、例えばBluetooth(登録商標)プロトコルに従って互いに通信する機能を有する。通信部１３，２３は、プロセッサ１１，２１の制御に基づいて、他の装置から受信した情報をプロセッサ１１，２１や記憶部１２，２２に入力し、他の装置に情報を送信する。なお、通信部１３はＬＡＮなどのネットワークを介して他の装置と通信する機能を有してもよい。
【００２２】
入出力部１４は、コントローラ１７などの入力デバイスからの情報を取得する回路と、音声出力デバイスや画像表示デバイスなどの出力デバイスを制御する回路とを含む。入出力部１４は、入力デバイスから入力信号を取得し、その入力信号が変換された情報をプロセッサ１１や記憶部１２に入力する。また入出力部１４は、プロセッサ１１などの制御に基づいて、音声をスピーカに出力させ、画像を表示デバイスに出力させる。
【００２３】
モータ２５は、プロセッサ２１により回転方向、回転量および回転速度が制御される、いわゆるサーボモータである。２つのモータ２５のそれぞれには、１つの車輪２５４が割り当てられており、モータ２５は、割り当てられた車輪２５４を駆動する。
【００２４】
カメラ２４は、台車２０の下方を撮影するように配置され、台車２０が置かれているシート３１またはピース３３（図４，１５参照）に印刷されたパターンを撮影する。本実施形態では、シート３１およびピース３３には赤外線の周波数領域で認識されるパターンが印刷されており、カメラ２４は、その赤外線の画像を撮影する。
【００２５】
図３は、台車２０の一例を示す図である。図３は、台車２０を下からみた図である。台車２０は、電源スイッチ２５０、スイッチ２２２、２つの車輪２５４をさらに含む。
【００２６】
図４は、台車２０が配置されるシート３１の一例を示す図である。複数のシート３１は、平面的にみて、互いにその境界で接するように並べられている。複数のシート３１のそれぞれには、ユーザが視認できる画像が印刷されており、さらに、カメラ２４により撮影可能なパターンが印刷されている。
【００２７】
シート３１等に印刷されるパターンについてより詳細に説明する。シート３１上には、所定の大きさ（例えば０．２ｍｍ角）の単位パターンがマトリクス状に並んでいる。単位パターンのそれぞれは、そのパターンが配置される位置の座標が符号化された画像である。シート３１には、符号化された座標が表現することが可能な座標空間のうち、シート３１の大きさに対応する領域が割り当てられている。
【００２８】
図５は、座標空間に対するシート３１の割当の一例を示す図である。図５に示すように、各シート３１の座標領域は、座標空間内において敷き詰められるように割り当てられている。
【００２９】
本実施形態にかかる制御システムでは、台車２０のカメラ２４がシート３１等に印刷された単位パターンを撮影し、台車２０またはデバイス制御装置１０がその単位パターンを復号して座標を取得する。これにより、台車２０のシート３１等の上における位置が認識される。また、台車２０またはデバイス制御装置１０は、カメラ２４により撮影された画像内にある単位パターンの向きを検出することにより、台車２０の向きも算出する。
【００３０】
本実施形態では、シート３１等に印刷されるパターンを利用することにより、ステレオカメラなどの他のデバイスを用いることなくシート３１等の上における台車２０の位置を高精度に認識することができる。
【００３１】
複数のシート３１の上にはユーザが視認できる画像として、台車２０が走行することが可能なコース、および、消防署４１、警察署４２、家４３、倉庫４４などのオブジェクトが印刷されている。この制御システムでは、ユーザが、コントローラ１７を操作し、台車２０はその操作に応じてシート３１の上を走行する。また、デバイス制御装置１０は、台車２０がコースの外を走行しないよう制御し、また消防署４１などのオブジェクトに応じて動作する。なお、コースの代わりに台車２０が走行できない禁止領域が印刷されていてもよい。
【００３２】
本実施形態では、複数のシート３１が並べられ、そのいずれかの上に台車２０が置かれた時点では、制御システムは複数のシート３１がどのように並べられているか、またそれらのシート３１上のコースやオブジェクトがどこに配置されるかを認識せず、台車２０の移動に従ってその配置を認識する。以下では、この制御システムの動作について説明する。
【００３３】
図６は、制御システムが実現する機能を示すブロック図である。制御システムは、機能的に、現在位置取得部５１、シート特定部５２、マップ更新部５３、走行制御部５４、イベント管理部５５、座標変換部５６、シート情報格納部６１、イベント情報格納部６２を含む。現在位置取得部５１、シート特定部５２、マップ更新部５３、走行制御部５４、イベント管理部５５、座標変換部５６は、主に、デバイス制御装置１０に含まれるプロセッサ１１が記憶部１２に格納されるプログラムを実行し、通信部１３を介して台車２０を制御することにより実現される。また、現在位置取得部５１などの機能の一部は、台車２０に含まれるプロセッサ２１が記憶部２２に格納されるプログラムを実行し、通信部２３を介してデバイス制御装置１０とデータをやり取りし、カメラ２４やモータ２５を制御することにより実現される。シート情報格納部６１およびイベント情報格納部６２は、デバイス制御装置１０に含まれる記憶部１２により実現される。シート情報格納部６１は複数のシート３１のそれぞれに関する情報が格納されている一種のデータベースであり、イベント情報格納部６２はシート３１に関連付けられるイベントの情報が格納される一種のデータベースである。
【００３４】
現在位置取得部５１は、カメラ２４により撮影された画像から、座標が符号化されたパターンを認識し、そのパターンが示す座標から、台車２０の位置する座標と台車２０の向きとを検出する。
【００３５】
シート特定部５２は、取得された座標に基づいて、台車２０が現在走行しているシート３１を特定する。また、シート特定部５２は、取得された座標に基づいて、台車２０が前のシート３１の上から現在のシート３１の上へ移動したか否かを検出する。
【００３６】
マップ更新部５３は、台車２０が前のシート３１から現在のシート３１へ移動したことが検出された場合に、その移動の前後に取得された座標に基づいて、前のシート３１に対する現在のシート３１の相対的位置を検出し、その相対的位置に基づいて、複数のシート３１の配置を示すマップを更新する。マップは、マップ内に配置が記憶される複数のシート３１の上に配置されるオブジェクトの情報を含む。マップ更新部５３は、台車２０が前のシート３１から現在のシート３１へ移動したことが検出された場合に、シート情報格納部６１において現在のシート３１に関連付けて記憶されるそのシート３１上のオブジェクトの情報を取得し、検出された相対的位置と取得されたオブジェクトの情報とに基づいて、マップ内のオブジェクトの情報を更新する。
【００３７】
走行制御部５４は、台車２０の座標とマップとに基づいて台車２０の動作を制御する。
【００３８】
イベント管理部５５は、現在または過去に台車２０が走行しかつマップ内に配置される複数のシート３１に関連付けられたイベントの情報を取得し、取得されたイベントの情報のうちいずれかに応じた処理を実行する。
【００３９】
座標変換部５６は、台車２０の検出された座標がシート３１の内にない場合に、変換ルールに基づいてその座標をそのシート３１を基準とする座標に変換し、向きもその変換ルールに基づいて変換する。
【００４０】
以下ではこの制御システムが実行する処理についてより詳細に説明する。図７は、制御システムの処理の一例を示すフロー図である。
【００４１】
はじめに、現在位置取得部５１は、カメラ２４が撮影したパターンに基づいて、現在の台車２０の座標および向きを取得する（ステップＳ１０１）。
【００４２】
次に、シート特定部５２は、取得された座標に基づいて、台車２０が現在走行しているシート３１を特定する（ステップＳ１０２）。より具体的には、シート特定部５２は、取得された座標が、座標空間においてシート３１に割り当てられた複数の領域の内、その領域に含まれるかを判定し、その判定された領域に相当するシート３１を現在走行しているシート３１として特定する。また、シート特定部５２は、台車２０が現在走行しているシート３１が直近に特定されたシート３１から変化しているかを判定する（ステップＳ１０３）。
【００４３】
台車２０が走行しているシート３１が変化した場合には（ステップＳ１０３のＹ）、マップ更新部５３は、前のシート３１において最後に取得された座標と、現在のシート３１において取得された座標とに基づいて、前のシート３１と現在のシート３１との相対的位置を特定する（ステップＳ１０４）。ここで、マップ更新部５３は、上記２つの座標に加え、前のシート３１または現在のシート３１における台車２０の向き、および、前の座標が取得されてから現在の座標が取得されるまでのモータ２５の回転量に基づいて、相対的位置を検出してもよい。
【００４４】
また、マップ更新部５３は、シート情報格納部６１から、現在のシート３１に配置されるオブジェクトおよびコースの情報を取得し、記憶部１２に格納されるマップを更新する（ステップＳ１０５）。ここで、マップは、シート配置情報と、オブジェクト配置情報と、コース情報とを含む。シート配置情報は、これまでに台車２０が走行した複数のシート３１であって並べられている複数のシート３１の配置を示す情報である。オブジェクト配置情報は、その複数のシート３１の上のオブジェクトの配置を示す情報である。コース情報は、その複数のシート３１の上の走行可能なコースを示す情報である。なお、台車２０が走行しているシート３１が変化しない場合には（ステップＳ１０３のＮ）、ステップＳ１０４およびＳ１０５の処理はスキップされる。
【００４５】
そして、走行制御部５４は、台車２０の座標に基づいて、台車２０がマップ内に配置されているオブジェクトに到達したか否かを判定する（ステップＳ１０６）。台車２０が到達したか否かは、台車２０の座標がオブジェクトに対応する判定領域のうちにあるか否かにより判定されてよい。その判定領域は、印刷されるオブジェクトの領域であってもよいし、そのオブジェクトを囲む領域であってもよいし、そのオブジェクトに隣接するコース内の領域であってもよい。
【００４６】
台車２０の座標が、台車２０がオブジェクトに到達したことを示す場合には（ステップＳ１０６のＹ）、走行制御部５４は、台車２０がそのオブジェクトに応じて定められる動作をするように制御する（ステップＳ１０７）。なお、台車２０の座標が、台車２０がオブジェクトに到達したことを示さない場合には（ステップＳ１０６のＮ）、走行制御部５４はステップＳ１０７をスキップする。また走行制御部５４は、台車２０のコース上の位置およびコントローラ１７からの入力に基づいて、台車２０を移動させる（ステップＳ１０８）。
【００４７】
マップの更新の例についてさらに説明する。図８は、台車２０のシート３１間の移動を説明する図である。図８の例では台車２０は、シート３１ａから、消防署４１が配置されるシート３１ｂに移動する。図９は、台車２０の移動により更新されるマップの一例を示す図である。図９において、シート３１ａは、台車２０がシート３１ｂに移動する前からマップ内に配置されている。台車２０がシート３１ｂへ移動することにより、マップ更新部５３は、一点鎖線で示されるシート３１ｂの情報を反映するようにマップを更新する。なお、シート３１ｂに配置される消防署４１の情報や、シート３１ｂにおいて走行可能なコース（図８の例では何もオブジェクトがない領域）の情報もマップに反映される。
【００４８】
マップ更新部５３は、移動元であるシート３１ａの移動元の辺と、移動先のシート３１ｂの移動先の辺とが隣接するとして、シート３１ａに対するシート３１ｂの相対的位置を求めてよい。移動元の辺は、シート３１ａにおいて最後に検出された座標（移動元座標）に最も近いシート３１ａの辺であり、移動先の辺は、シート３１ｂで最初に検出された座標（移動先座標）に最も近いシート３１ｂの辺である。マップ更新部５３は、隣接する辺に基づいてシート３１ｂが配置される向きも検出し、その相対的位置および向きに基づいてマップを更新する。
【００４９】
このように、あるシート３１から他のシート３１に移動した際にその座標の変化に基づいてマップを更新することにより、ユーザにシート３１の配置を入力させることなしにマップを管理し、そのマップを用いた台車２０を制御することが可能になる。また、そのマップは、単なるコースだけでなく、オブジェクトといった情報を含むため、台車２０の移動や操作のバリエーションを増すことも可能になる。
【００５０】
図１０は、更新されるマップの他の一例を示す図である。図１０は、シート３１ｃ，３１ｄの互いに対向する辺の一部が対向する場合の例である。図１０に示すように、マップ更新部５３は、２つのシート３１の互いに対向する辺の一部のみが隣接するケースも考慮して相対的位置を求めてもよい。この場合、マップ更新部５３は、移動元座標が示す点と移動先座標が示す点とがシート３１ｃ，３１ｄの辺を介して対向するようにシート３１ｄの相対的位置を求めてもよい。また、マップ更新部５３は、移動元座標が示す位置から予測位置を求め、移動先座標が示す位置と予測位置とが一致するように相対的位置を求めてもよい。ここで、マップ更新部５３は、台車２０の向きへ、移動元座標が取得されてから移動先座標が取得されるまでのモータ２５の回転量が示す距離だけ移動した位置を予測位置として求める。
【００５１】
また、マップ更新部５３は、一度走行しマップに反映されたシート３１が交換され、その後その交換されたシート３１を走行した場合に、交換前のシート３１に関する情報を交換後のシート３１に関する情報で上書きしてもよい。
【００５２】
図１１は、シート３１の交換を説明する図である。図１２はシート３１の交換の際のマップの更新を説明する図である。図１１は、図８に示される状態ののちに、台車２０がシート３１ａの上に戻り、シート３１ｂがシート３１ｇに交換された状態を示す図である。マップ更新部５３は、台車２０のシート３１間の移動により検出され相対的位置が求められたシート３１ｇが、マップ内において既に存在する他のシート３１ｂに対して重畳する場合には、その重畳するシート３１ｂに関するシート配置情報、オブジェクトは位置情報、コース情報をマップから削除したうえで、新たなシート３１ｇに関する情報でマップを更新する。これにより、交換により実際には並べられていないシート３１ｂに基づく誤った処理の実行を防ぐことができる。
【００５３】
さらに、マップ更新部５３は、新たにマップ内に配置されるシート３１が、すでにマップ内の他の箇所に配置されている場合に、そのすでに配置されているシート３１に関する情報を削除してもよい。もし同じ座標領域が割り当てられるシート３１が存在しない場合には、そのシート３１は新たなに配置しなおされているからである。ただし、同じ座標領域が割り当てられる複数のシート３１が存在しうる場合には、この削除の処理を行わなくてもよい。
【００５４】
次に、シート３１の配置に基づくイベント管理について説明する。図１３はイベント管理部５５の処理の一例を示すフロー図である。イベント管理部５５は、マップに格納される情報に基づいて、有効なイベントのリストを取得する（ステップＳ２０１）。
【００５５】
図１４は、イベント情報格納部６２に格納されるイベント情報の一例を示す図である。図１４の例では、イベントはオブジェクトと関連付けて記憶されている。イベントと関連付けられるオブジェクトは、そのイベントで必要とされるオブジェクトである。イベント管理部５５は、イベント情報格納部６２に格納されるそれぞれのイベントについて、そのイベントに関連付けられるすべてのオブジェクトがオブジェクト配置情報としてマップ内に配置される場合に、そのイベントを有効なイベントのリストに追加する。図１４の例では、例えば、消防署４１と家４３とがマップ内に配置されている場合に、イベント「火事」が有効とされる。イベント「火事」は、消防署４１および家４３を必要とするイベントである。
【００５６】
なお、オブジェクトはシート３１上に配置され、関連付けられているものであるので、イベントはマップと関連付けられているともいえる。また、イベントはオブジェクトではなく、マップと直接関連付けられてもよい。この場合、イベント管理部５５は、イベントに関連付けられたシート３１がマップ内に配置されている場合に、そのイベントを有効なイベントのリストに追加する。なお、イベント管理部５５は、有効なイベントのリストに、すでに実行済のイベントを追加しなくてもよい。
【００５７】
有効なイベントのリストが取得されると、イベント管理部５５は、そのリストに属する１または複数のイベントから、１つのイベントを選択する（ステップＳ２０２）。ここで、イベントの選択はランダムに行われてもよいし、いずれのイベントも選択されないことがあってもよい。そして、イベント管理部５５は、その選択されたイベントのプログラムを実行する（ステップＳ２０３）。
【００５８】
これにより、何らかのタイミングで、マップに必要なオブジェクトが配置されているイベントのうちいずれかを実行することができる。また、ユーザがシート３１を並べることにより起きるイベントが変化するため、ユーザが単調さを感じることを防ぐことができる。
【００５９】
ここまでは、シート３１の配置について説明したが、シート３１に接続するように、シート３１より小さいピース３３が配置されてもよい。図１５は、シート３１上に貼られたピース３３の一例を示す図である。ピース３３は、例えばシールであり、シート３１の上に貼りつけられる。これにより、シート３１上の領域とピース３３とが接続する。図１５の例では、ピース３３はシート３１ｉとシート３１ｊとの境界に重畳するように貼られている。
【００６０】
ピース３３には、シート３１とは異なる座標領域が割り当てられている。ピース３３の上を台車２０が走行している場合に、走行制御部５４がシート３１上のオブジェクトやコースとの相対位置を用いて制御を実行することが考えられる。この場合、ピース３３上の座標をそのまま用いると制御をすることが難しい。そこで、座標変換部５６は、現在位置取得部５１が取得したピース３３上の座標をシート３１上の座標に変換し、その変換された座標を、走行制御部５４が用いる座標として入力する。以下では、その変換について説明する。
【００６１】
図１６は、座標変換部５６の処理の一例を示すフロー図である。はじめに、現在位置取得部５１によりパターンから取得された座標が、ピース３３上の座標であるかを判定する（ステップＳ３０１）。より具体的には座標変換部５６は、取得された座標が、ピース３３に割り当てられた座標領域内にある場合に、その座標がピース３３上の座標であると判定する。ここで、パターンから取得された座標がピース３３上の座標でない場合には（ステップＳ３０１のＮ）、以下の処理は行われずに処理を終了する。
【００６２】
パターンから取得された座標がピース３３上の座標である場合には（ステップＳ３０１のＹ）、座標変換部５６はそのピース３３について座標の変換ルールがすでに決定されているかを判断する（ステップＳ３０２）。
【００６３】
座標の変換ルールが決定されていない場合には（ステップＳ３０２のＮ）、座標変換部５６は直近のシート３１上の座標およびピース３３上の現在の座標に基づいて、ピース３３上の座標をシート３１上の座標に変換する変換ルールを決定する（ステップＳ３０３）。なお、このピース３３について座標の変換ルールがすでに決定されている場合には（ステップＳ３０２のＹ）、ステップＳ３０３の処理はスキップされる。
【００６４】
ステップＳ３０３の変換ルールの決定についてさらに説明する。以下では、移動元座標が最後に検出されたシート３１の上の座標であり、移動先座標が最初に取得されたピース３３の上の座標であるとする。座標変換部５６は、移動元座標が示す位置、台車２０の向き、および、移動元座標が取得されてから移動先座標が取得されるまでのモータ２５の回転量に基づいて、仮にシート３１上を走行した場合における、現在の位置の予測座標を求める。座標変換部５６は、予測座標が示す位置と移動先座標が示す位置とが一致し、かつ、移動元座標における向きから移動先座標における向きの変化に基づいて算出されるシート３１に対するシールの傾きが反映されるように座標の変換式を生成し、その変換式を変換ルールとして決定する。
【００６５】
変換ルールが決定すると、座標変換部５６は、決定された変換ルールに基づいて、現在の座標をシート３１上の座標に変換する（ステップＳ３０４）。これにより、ピース３３上を走行している際にも、シート３１上のオブジェクトやコース等を考慮した台車２０の移動制御をおこなうことが可能になる。
【００６６】
ここで、ピース３３は、シート３１の側方に隣接するように接続してもよい。この場合、シート３１とほぼ同じ厚みであり、かつ、シート３１にピース３３がはめ込まれる篏合部が設けられてもよい。篏合部は、シート３１に設けられ、ピース３３に応じた形状を有する開口であってもよいし、平面視でシート３１の端部に設けられ、ピース３３の一部に対応する形状を有する凹凸であってもよい。
【００６７】
この場合、篏合部により相対的位置と向きの自由度が制限される。そのため、座標変換部５６は、移動元座標と移動先座標とに基づいて、変換式のパラメータを選択することにより変換ルールを決定してもよい。例えば、座標変換部５６は、移動先座標がどのピース３３に割り当てられているかにより、ピース３３に対応する変換式のパラメータ（例えばピース３３内の基準位置の座標および向き）を決定してよい。また、座標変換部５６は、移動元座標がどの篏合部に対応する範囲に含まれるかにより、篏合部に対応する変換式のパラメータ（例えばピース３３の基準位置に対応する位置のシート３１における座標）を決定してよい。篏合部によりシート３１上の座標軸の向きとピース３３における座標軸の向きが同じとみなせる場合には、パラメータとして向きを省略してもよい。
【００６８】
なお、マップ内に配置される複数のシート３１で共通する座標系を走行制御部５４の制御に用いてもよい。この場合、マップ更新部５３が新たなシート３１についてマップを更新する際に、座標変換部５６は、ピース３３の場合と同様に、その新たなシート３１上の座標をマップ上の座標に変換する変換式を決定してよい。また、座標変換部５６が、ピース３３上の座標をマップにおける座標に直接的に変換してもよい。
【図１】
2020153252.tif 000003
【図２】
2020153252.tif 000004
【図３】
2020153252.tif 000005
【図４】
2020153252.tif 000006
【図５】
2020153252.tif 000007
【図６】
2020153252.tif 000008
【図７】
2020153252.tif 000009
【図８】
2020153252.tif 000010
【図９】
2020153252.tif 000011
【図１０】
2020153252.tif 000012
【図１１】
2020153252.tif 000013
【図１２】
2020153252.tif 000014
【図１３】
2020153252.tif 000015
【図１４】
2020153252.tif 000016
【図１５】
2020153252.tif 000017
【図１６】
2020153252.tif 000018
【国際調査報告】
2020153252.tif 000019
2020153252.tif 000020
2020153252.tif 000021
2020153252.tif 000022
2020153252.tif 000023
2020153252.tif 000024