(57)【要約】      （修正有）【課題】移動体の位置及び方向を適切に表示させることができる指示装置及びプログラムを提供する。【解決手段】検知した接触箇所に対応する座標を出力する接触検知部１４２と、第１及び第２の接触箇所に対応する第１座標を前記接触検知部１４２から受け付ける第１及び第２受付部と、前記第２の接触箇所を始点として移動した接触箇所に対応する複数の座標を受け付ける移動受付部と、前記第１受付部が受け付けた第１座標に基づき、移動を指示し、前記第２受付部が受け付けた第２座標及び移動受付部が受け付けた複数の座標に基づき、回転角速度を指示する指示情報を演算する指示情報演算部と、地図と該地図における前記移動体の位置を表す標識とが記憶されている記憶部１３と、前記指示情報に基づき表示部に表示させる地図の範囲を設定する設定部と、該記憶部から読み出した標識と共に表示部１４１に表示させる信号を出力する表示処理部とを備える。【選択図】図１
2014154047.tif 000002
【特許請求の範囲】
【請求項１】
検知した接触箇所に対応する座標を出力する接触検知部と、
第１の接触箇所に対応する第１座標を前記接触検知部から受け付ける第１受付部と、
第２の接触箇所に対応する第２座標を前記接触検知部から受け付ける第２受付部と、
前記第２の接触箇所を始点として移動した接触箇所に対応する複数の座標を受け付ける移動受付部と、
前記第１受付部が受け付けた第１座標に基づき、回転しながら移動可能な移動体の移動を指示し、前記第２受付部が受け付けた第２座標及び移動受付部が受け付けた複数の座標に基づき、前記移動体の回転角速度を指示する指示情報を演算する指示情報演算部と、
該指示情報演算部が演算した指示情報を前記移動体に送信する送信部と、
地図と該地図における前記移動体の位置を表す標識とが記憶されている記憶部と、
前記指示情報に基づき表示部に表示させる地図の範囲を設定する設定部と、
該設定部の設定に従って前記記憶部から地図を読み出し、該記憶部から読み出した標識と共に表示部に表示させる信号を出力する表示処理部とを備える
ことを特徴とする指示装置。
【請求項２】
接触箇所が移動したか否かを周期的に判定する判定部を備え、
前記移動受付部は、前記判定部が移動していないと判定したときまでに移動した接触箇所に対応する座標を受け付ける
ことを特徴とする請求項１に記載の指示装置。
【請求項３】
前記判定部の判定結果に基づいて、前記移動受付部が受け付けた複数の座標から移動の終点に対応する終点座標を決定する決定部を備え、
前記指示情報演算部は、特定の座標から前記第１座標への方向に基づいて前記移動体の移動方向を演算し、前記特定の座標と前記第１座標との距離に基づいて前記移動体の移動速度を演算し、前記第１座標と前記終点座標及び第２座標の夫々とを通る２本の線分がなす角に基づいて前記移動体の回転角速度を演算するようにしてある
ことを特徴とする請求項２に記載の指示装置。
【請求項４】
前記移動受付部は、前記第１の接触箇所を始点として移動した接触箇所に対応する第２の複数の座標、及び前記終点を始点として移動した接触箇所に対応する第３の複数の座標を受け付け、
前記決定部は、前記判定部の判定結果に基づいて、前記移動受付部が受け付けた第２の複数の座標から移動の終点に対応する第３座標を決定し、第３の複数の座標から移動の終点に対応する第４座標を決定し、
前記特定の座標から前記第３座標への方向に基づいて前記移動体の移動方向を指示し、前記特定の座標と前記第３座標との距離に基づいて前記移動体の移動速度を指示し、前記第３座標と第４座標とを結ぶ線分の方向に基づいて回転角速度を指示する第２指示情報を演算する第２指示情報演算部とを備え、
前記送信部は、前記第２指示情報演算部が演算した第２指示情報を前記移動体に送信するようにしてある
ことを特徴とする請求項３に記載の指示装置。
【請求項５】
前記設定部は、前記指示情報に基づいて、地図上の方位と表示部が表示する方向との関係を設定するようにしてある
ことを特徴とする請求項１から４のいずれか一つに記載の指示装置。
【請求項６】
前記接触検知部と一体となってタッチパネルを構成する表示部を備え、
前記表示処理部は、前記地図及び標識を示す第１領域と、座標の入力を受け付ける第２領域とを表示させる信号を前記表示部に出力するようにしてある
ことを特徴とする請求項１から５のいずれか一つに記載の指示装置。
【請求項７】
前記表示処理部は、前記第１座標及び第２座標により形成される線分画像と、前記移動受付部が受け付けた複数の座標により形成される軌跡画像とを表示させる信号を出力するようにしてある
ことを特徴とする請求項１から６のいずれか一つに記載の指示装置。
【請求項８】
第１の接触箇所に対応する第１座標、第２の接触箇所に対応する第２座標、及び前記第２の接触箇所を始点として移動した接触箇所に対応する複数の座標を受け付けて、回転しながら移動可能な移動体に移動を指示する処理をコンピュータに実行させるプログラムにおいて、
特定の座標から前記第１座標への方向に基づいて前記移動体の移動方向を指示し、
前記特定の座標と前記第１座標との距離に基づいて前記移動体の移動速度を指示し、
前記複数の座標から移動の終点に対応する終点座標を決定し、
前記第１座標と前記終点座標及び第２座標の夫々とを通る２本の線分がなす角に基づいて前記移動体の回転角速度を指示し、
記憶されている地図及び該地図における前記移動体の位置を表す標識を読み出し、
前記移動方向及び移動速度に基づいて表示部に表示させる地図の範囲を設定し、
設定に従って地図及び標識を表示させる信号を作成する
処理をコンピュータに実行させることを特徴とするプログラム。
【請求項９】
前記移動方向及び移動速度に基づいて、地図上の方位と表示部が表示する方向との関係を設定する
処理をコンピュータに実行させる
ことを特徴とする請求項８に記載のプログラム。
【請求項１０】
前記標識は地図上における前記移動体の移動方向を表す形状をなし、
前記移動方向及び移動速度に基づいて、前記標識と表示部が表示する方向との関係を設定する
処理をコンピュータに実行させる
ことを特徴とする請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体を操作する指示装置及びプログラムに関する。
【背景技術】
【０００２】
路面を移動する移動体には、位置を把握して移動させるものがある。特許文献１には、ジョイスティックによって移動体の駆動を制御する駆動装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−０７１９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の駆動装置は、地図を表示しながら感覚的に操作することが困難であるという問題がある。
【０００５】
本発明は斯かる事情に鑑みてなされたものであり、地図上に並進及び回転を行う移動体の位置及び方向を表示する指示装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る指示装置は、検知した接触箇所に対応する座標を出力する接触検知部と、第１の接触箇所に対応する第１座標を前記接触検知部から受け付ける第１受付部と、第２の接触箇所に対応する第２座標を前記接触検知部から受け付ける第２受付部と、前記第２の接触箇所を始点として移動した接触箇所に対応する複数の座標を受け付ける移動受付部と、前記第１受付部が受け付けた第１座標に基づき、回転しながら移動可能な移動体の移動を指示し、前記第２受付部が受け付けた第２座標及び移動受付部が受け付けた複数の座標に基づき、前記移動体の回転角速度を指示する指示情報を演算する指示情報演算部と、該指示情報演算部が演算した指示情報を前記移動体に送信する送信部と、地図と該地図における前記移動体の位置を表す標識とが記憶されている記憶部と、前記指示情報に基づき表示部に表示させる地図の範囲を設定する設定部と、該設定部の設定に従って前記記憶部から地図を読み出し、該記憶部から読み出した標識と共に表示部に表示させる信号を出力する表示処理部とを備えることを特徴とする。
【０００７】
本発明に係る指示装置は、接触箇所が移動したか否かを周期的に判定する判定部を備え、前記移動受付部は、前記判定部が移動していないと判定したときまでに移動した接触箇所に対応する座標を受け付けることを特徴とする。
【０００８】
本発明に係る指示装置は、前記判定部の判定結果に基づいて、前記移動受付部が受け付けた複数の座標から移動の終点に対応する終点座標を決定する決定部を備え、前記指示情報演算部は、特定の座標から前記第１座標への方向に基づいて前記移動体の移動方向を演算し、前記特定の座標と前記第１座標との距離に基づいて前記移動体の移動速度を演算し、前記第１座標と前記終点座標及び第２座標の夫々とを通る２本の線分がなす角に基づいて前記移動体の回転角速度を演算するようにしてあることを特徴とする。
【０００９】
本発明に係る指示装置は、前記移動受付部は、前記第１の接触箇所を始点として移動した接触箇所に対応する第２の複数の座標、及び前記終点を始点として移動した接触箇所に対応する第３の複数の座標を受け付け、前記決定部は、前記判定部の判定結果に基づいて、前記移動受付部が受け付けた第２の複数の座標から移動の終点に対応する第３座標を決定し、第３の複数の座標から移動の終点に対応する第４座標を決定し、前記特定の座標から前記第３座標への方向に基づいて前記移動体の移動方向を指示し、前記特定の座標と前記第３座標との距離に基づいて前記移動体の移動速度を指示し、前記第３座標と第４座標とを結ぶ線分の方向に基づいて回転角速度を指示する第２指示情報を演算する第２指示情報演算部とを備え、前記送信部は、前記第２指示情報演算部が演算した第２指示情報を前記移動体に送信するようにしてあることを特徴とする。
【００１０】
本発明に係る指示装置は、前記設定部は、前記指示情報に基づいて、地図上の方位と表示部が表示する方向との関係を設定するようにしてあることを特徴とする。
【００１１】
本発明に係る指示装置は、前記接触検知部と一体となってタッチパネルを構成する表示部を備え、前記表示処理部は、前記地図及び標識を示す第１領域と、座標の入力を受け付ける第２領域とを表示させる信号を前記表示部に出力するようにしてあることを特徴とする。
【００１２】
本発明に係る指示装置は、前記表示処理部は、前記第１座標及び第２座標により形成される線分画像と、前記移動受付部が受け付けた複数の座標により形成される軌跡画像とを表示させる信号を出力するようにしてあることを特徴とする。
【００１３】
本発明に係るプログラムは、第１の接触箇所に対応する第１座標、第２の接触箇所に対応する第２座標、及び前記第２の接触箇所を始点として移動した接触箇所に対応する複数の座標を受け付けて、回転しながら移動可能な移動体に移動を指示する処理をコンピュータに実行させるプログラムにおいて、特定の座標から前記第１座標への方向に基づいて前記移動体の移動方向を指示し、前記特定の座標と前記第１座標との距離に基づいて前記移動体の移動速度を指示し、前記複数の座標から移動の終点に対応する終点座標を決定し、前記第１座標と前記終点座標及び第２座標の夫々とを通る２本の線分がなす角に基づいて前記移動体の回転角速度を指示し、記憶されている地図及び該地図における前記移動体の位置を表す標識を読み出し、前記移動方向及び移動速度に基づいて表示部に表示させる地図の範囲を設定し、設定に従って地図及び標識を表示させる信号を作成する処理をコンピュータに実行させることを特徴とする。
【００１４】
本発明に係るプログラムは、前記移動方向及び移動速度に基づいて、地図上の方位と表示部が表示する方向との関係を設定する処理をコンピュータに実行させることを特徴とする。
【００１５】
本発明に係るプログラムは、前記標識は地図上における前記移動体の移動方向を表す形状をなし、前記移動方向及び移動速度に基づいて、前記標識と表示部が表示する方向との関係を設定する処理をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、移動速度、移動方向及び回転角速度を含む指示情報に基づき表示部に表示させる地図の範囲を設定する設定部と、該設定部の設定に従って前記記憶部から地図を読み出し、該記憶部から読み出した標識と共に表示部に表示させる信号を出力する移動体の位置及び方向を適切に表示させることができる。
【図面の簡単な説明】
【００１７】
【図１】指示装置及び移動体を示すブロック図である。
【図２】移動体を示す斜視図である。
【図３】移動体を示す平面図である。
【図４】移動体を示す平面図である。
【図５】表示部の表示画面を示す模式図である。
【図６】表示部の表示画面を示す模式図である。
【図７】移動体における初期動作を示すフローチャートである。
【図８】指示装置における初期動作を示すフローチャートである。
【図９】指示装置のＣＰＵの動作を示すフローチャートである。
【図１０】地図表示更新処理についてのフローチャートである。
【図１１】コマンド判定処理１について示すフローチャートである。
【図１２】操作部の座標を示す説明図である。
【図１３】操作された移動体の軌跡を示す模式的平面図である。
【図１４】操作部の座標を示す説明図である。
【図１５】コマンド判定処理２について示すフローチャートである。
【図１６】操作された移動体の軌跡を示す模式的平面図である。
【図１７】操作部の座標を示す説明図である。
【図１８】コマンド判定処理３について示すフローチャートである。
【図１９】操作された移動体の軌跡を示す模式的平面図である。
【図２０】操作部の座標を示す説明図である。
【図２１】表示部の表示画面の他の例を示す模式図である。
【図２２】第２の実施の形態における地図表示更新処理を示すフローチャートである。
【図２３】表示部の表示画面を示す模式図である。
【図２４】表示部の表示画面を示す模式図である。
【図２５】第３の実施の形態における地図表示更新処理を示すフローチャートである。
【図２６】表示部の表示画面を示す模式図である。
【図２７】表示部の表示画面を示す模式図である。
【図２８】指示装置を示すブロック図である。
【発明を実施するための形態】
【００１８】
第１の実施の形態
以下、本発明の第１の実施の形態について説明する。図１は指示装置１及び移動体２を示すブロック図である。指示装置１は携帯電話、スマートフォン、ＰＤＡ（Personal Digital Assistant）、パーソナルコンピュータ等である。指示装置１は、ＣＰＵ（Central Processing Unit）１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２、座標記憶部１３、操作部１４及び通信部１５を備える。通信部１５は送信部として機能する。ＣＰＵ１０は、第１受付部、第２受付部、移動受付部、指示情報演算部、第２指示情報演算部、設定部、表示処理部、判定部、決定部として機能する。ＲＯＭ１１及び座標記憶部１３は記憶部として機能する。
【００１９】
ＣＰＵ１０は、操作部１４から入力された信号を通信部１５に出力する。ＣＰＵ１０はＲＯＭ１１に記憶されている制御プログラムを適宜ＲＡＭ１２にロードして実行することにより指示装置１の各部を制御する。
【００２０】
通信部１５は、アンテナを内蔵しており、ＣＰＵ１０から与えられた種々の情報を無線信号に変換し、移動体２に無線信号を送信する。また、通信部１５は、移動体２から受信した無線信号を情報に変換してＣＰＵ１０に出力する。無線信号は例えば公衆の無線ＬＡＮ（Local Area Network）通信に基づく無線信号である。その他、携帯電話の通信方式に基づく無線信号又はBluetooth（登録商標）に基づく無線信号であってもよい。
【００２１】
ＲＯＭ１１はハードディスク、フラッシュディスクを用いて構成される。座標記憶部１３は指示装置１及び移動体２の制御に必要な各種データを記憶している。なお、ＲＯＭ１１が記憶するプログラムは、座標記憶部１３に記憶されていてもよい。
【００２２】
座標記憶部１３（記憶部）は、例えばＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）又はフラッシュメモリ等の不揮発性のメモリ素子で構成されており、ＣＰＵ１０が実行する制御プログラムと、ＣＰＵ１０が処理を行う際に必要とする種々のデータとが予め記憶されている。また、座標記憶部１３には予め地図情報が記憶されていてもよく、通信網を介して配信された地図情報が記憶されていてもよい。記憶されている地図情報は絶対位置を示す情報と対応付けられて、座標記憶部１３に記憶されている。その他、座標記憶部１３には、表示画面上の移動体を示す標識である移動体アイコン３、及びさまざまなメッセージ等を表示部１４１に表示するための情報が記憶されている。地図情報によって示される地図は、描画されたものであっても、写真による画像であってもよい。
【００２３】
操作部１４は例えば表示部１４１と接触検知部１４２とが一体となったタッチパネルである。表示部１４１は例えば液晶パネル、有機ＥＬ（Electro-Luminescence）又はプラズマディスプレイ等である。表示部１４１は、ＣＰＵから出力された信号に基づいて表示画面に表示を行う。
【００２４】
また、接触検知部１４２は、表示部１４１と同等の大きさのセンサであり、人の指が接触したか否かを検知する。接触検知部１４２は、接触を検知した場合は、接触した位置を座標に変換した信号をＣＰＵ１０に出力する。操作部１４は、例えばモニターとタッチパッドのように、表示部１４１と接触検知部１４２とが別体であってもよい。
【００２５】
移動体２は、走行面上を回転しながら移動可能な車両であり、移動体制御部２０、位置測定部２１、角度測定部２２、通信部２３及び駆動モータ２４を備えている。
【００２６】
移動体制御部２０はＣＰＵ、ＲＯＭ、ＲＡＭ、モータドライバ等を含む。ＣＰＵはＲＯＭに記憶されている制御プログラムを適宜ＲＡＭにロードして実行することにより移動体２の各部を制御する。移動体制御部２０は、受信した信号より指示情報を取り出し、取り出した指示情報に基づいて、駆動モータ４０１Ｌ、４０１Ｒ、４０６Ｌ、４０６Ｒ（図３参照）を駆動する。また、移動体制御部２０は、位置測定部２１から出力された位置及び角度測定部２２から出力された角度を、通信部２３を介して指示装置１に送信する。
【００２７】
位置測定部２１は、ＧＰＳ（Global Positioning System）受信機である。移動体２の絶対位置を測定する。絶対位置とは測地座標（緯度、経度、高度）、三次元直角座標などである。なお、位置測定部２１に加えて、ＤＧＰＳ（Differential ＧＰＳ）を搭載してもよい。ＤＧＰＳは、予め位置が分かっている基準局から発信されるＦＭ放送又は中波を受信し、ＧＰＳで求めた測位位置のずれを補正する。なお、携帯電話の複数の基地局からの電波により位置を概略的に測位する方式とＧＰＳとを複合した形で測位することも可能である。更に位置測定部２１は方位センサ等を備えていてもよい。位置測定部２１は、測定した位置を移動体制御部２０に出力する。
【００２８】
角度測定部２２は、例えばジャイロコンパスであり、移動体２の正面方向と、例えば真北等、特定の方向とのなす角度を演算する。角度測定部２２は、測定した角度を移動体制御部２０に出力する。
【００２９】
通信部２３はアンテナを内蔵しており、指示装置１と通信を行う。指示装置１と移動体２との通信は有線でも、無線でも良い。通信回線は公衆回線でも専用回線でも良い。インターネット、パケット通信網などを通信回線としても良い。駆動モータ２４は、移動体制御部２０から出力された指示信号に基づいて、移動用のチェーンを駆動し移動体２を走行させる。
【００３０】
移動体２の構造について説明する。図２は、移動体２を示す斜視図である。図３及び図４は、移動体２を示す平面図である。基体３０は、チェーン５１Ｒ，５１Ｌ，５６Ｒ，５６Ｌ等が取り付けられる本体部分である。以後、並進移動は移動体２が回転をせず（向きを変えず）一定方向に平行移動することを示し、単に「移動」とあるときは並進移動を指す。回転移動とは所定の軸を中心に移動体２が回転する移動を示し、単に「回転」とあるときは回転移動を指す。
【００３１】
走行面Ｐに沿って移動する基体３０には、前部左右に相互に独立して駆動される一対のチェーン（帯状駆動体）５１Ｒ、５１Ｌが設けてあり、後部左右に相互に独立して駆動される一対のチェーン５６Ｒ、５６Ｌが設けてある。チェーン５１Ｒ，５１Ｌ，５６Ｒ，５６Ｌは、循環経路に沿って正逆両方向に駆動可能である。正方向の駆動とは、チェーンの走行面側部分（接地面側部分）である下側部分を後ろ向きに駆動するとともにチェーンの上側部分を前向きに駆動するようにチェーン全体を駆動することをいい、逆方向の駆動とは、正方向に対して逆向きにチェーン全体を駆動することをいう。
【００３２】
前後方向に配置されたチェーン５１Ｌ，５１Ｒ，５６Ｌ，５６Ｒは相互に独立して駆動される。また、移動体２の重量バランスをとることとモータの設置スペースを確保することとの両方を実現するために、図２に示すように、各駆動体ユニット５０、５５のそれぞれについて前後に一つずつ駆動モータ４０１Ｌ、４０１Ｒ、４０６Ｌ、４０６Ｒが配置されている。
【００３３】
また、移動体２は、一対のチェーン５１Ｒ，５１Ｌ及び一対のチェーン５６Ｒ，５６Ｌのそれぞれの駆動方向Ｄ１が、相互に平行である。これにより、一対のチェーン５１Ｒ，５１Ｌや一対のチェーン５６Ｒ，５６Ｌの回転駆動方向と駆動速度Ｖとの２つのパラメータを制御して基体３０の移動速度及びその方向を調整することが容易になり、簡便な駆動制御システム及び方法で基体３０を走行面Ｐに沿って多方向に円滑且つ自在に移動させるようになっている。
【００３４】
同様に、一対のチェーン５６Ｒ，５６Ｌの一方に設けられたローラ４９Ｒの回転軸４９１Ｒと一対のチェーン５６Ｒ，５６Ｌの他方に設けられたローラ４９Ｌの回転軸４９１Ｌとが、チェーン５６Ｒ，５６Ｌの駆動方向Ｄ１に対して４５°の角度を形成していることにより、各回転軸４９１Ｒ、４９１Ｌを無秩序に駆動方向Ｄ１に斜交させている場合に比べて走行面Ｐから各ローラ４９Ｒ，４９Ｌに作用する反作用力の合力方向をより一層設定しやすくなるため、移動体２は、簡便な駆動制御システム及び方法で基体３０を走行面Ｐに沿って多方向に円滑且つ自在に効率良く移動させることをより確実に実現することができる。
【００３５】
次に指示装置１の動作について説明する。第１の実施の形態では移動体２の位置と角度の取得は初期動作時のみに行い、その後は発行する命令に応じて指示装置１が軌道計算を行うものである。動作を開始するにあたり、指示装置１のＣＰＵ１０は、まず移動体２の初期位置及び方向を表示する。そのためＣＰＵ１０は、通信部１５を介して、移動体２から位置及び角度を受信する。ＣＰＵ１０（設定部）は受信した位置に基づいて所定範囲の地図情報を座標記憶部１３から読み出し、角度に基づいて地図を表示する方向を設定する。これにより、まずＣＰＵ１０は、移動体２の初期位置及び方向を設定する。また、ＣＰＵ１０は、移動体アイコン３を座標記憶部１３から読み出し、表示画面上に、設定した位置及び方向の地図及び移動体アイコン３を表示させる。
【００３６】
続いてＣＰＵ１０は操作部１４から入力された（受け付けた）入力信号の処理を行う。入力信号の処理とは、A/D変換やフィルタリング処理などである。ＣＰＵ１０は入力点数及び各点の座標を演算する。入力点数とは操作部が入力を検知した点の数である。なお、ここでは入力信号の処理並びに入力点数及び各点の座標の演算をＣＰＵ１０が行うものとしたが、信号処理用のドライバＩＣ（Integrated Circuit）等により処理を行わせ、ＣＰＵ１０はドライバＩＣから入力点数及び各点の座標を受け取ることとしても良い。なお、以下の説明において、ユーザが操作部１４の接触検知部１４２に触れている指を接触検知部１４２から離すことなく、滑らせることを「ドラッグ」と表現する。「ドラッグ中」とはユーザが指を動かし続けているという意味である。ドラッグすることにより、接触検知部１４２はドラッグされた接触箇所に対応する、異なる複数の座標を含む入力信号を出力する。
【００３７】
ＣＰＵ１０は入力点数を判定する。入力点数が０の場合、ＣＰＵ１０は移動体２が移動中であるか否かを判定する。または移動体２へ直接問い合わせても良い。移動体２が移動中である場合、ＣＰＵ１０は座標記憶部１３に記憶している座標をクリアする。ＣＰＵ１０は全停止命令を移動体２に対して発行する。入力点数が１点の場合、ＣＰＵ１０はコマンド判定処理１を行う。入力点数が２点である場合、ＣＰＵ１０はコマンド判定処理２を行う。入力点数が２点ではない場合、ＣＰＵ１０は処理を終了する。
【００３８】
ＣＰＵ１０は、入力信号により受け付けた座標に基づいて、移動速度及び移動方向と、回転角速度とを演算する。これにより、ＣＰＵ１０は、移動体２の位置及び角度を演算する。座標記憶部１３から該位置に対応する地図情報を読み出し、また、角度に従って表示方向を設定し、表示部１４１に地図を表示させる。また、ＣＰＵ１０は、併せて移動体アイコン３を示す情報を座標記憶部１３から読み出し、表示部１４１の特定位置に表示させる。
【００３９】
表示部１４１に表示される表示画面について説明する。図５及び図６は、表示部１４１の表示画面を示す模式図である。図５Ａは移動体が停止した状態を表示したものであり、図５Ｂは画面左方向に移動を行っている状態を表示したものである。この場合には、図５Ｂに示すように、地図が画面右方向に移動する。図６Ａは移動体が停止した状態を表示したものであり、図６Ｂは反時計回りに回転を行った状態を表示したものである。この場合は図６Ｂに示すように、地図が時計回りに回転する。
【００４０】
即ち、表示部１４１の表示画面における移動体アイコン３の位置及び方向は、常に固定しており、移動体２が移動を行う場合には移動方向と逆方向に地図が移動し、移動体２が回転を行う場合には地図が回転方向と逆方向に回転する。
【００４１】
次に指示装置１及び移動体２における情報処理について説明する。図７は移動体２における初期動作を示すフローチャートである。移動体２の移動体制御部２０は通信部２３を介して、指示装置１から位置、角度の送信要求を受信する（ステップＳ１）。移動体制御部２０は移動体２の位置、角度を取得する（ステップＳ２）。移動体２の位置は位置測定部２１により測定するものである。移動体２の角度は角度測定部２２により測定するものである。移動体制御部２０は取得した位置、角度を、通信部２３を介して、指示装置１に送信する（ステップＳ３）。移動体制御部２０は初期動作処理を終了する。
【００４２】
図８は指示装置１における初期動作を示すフローチャートである。ＣＰＵ１０は、移動体２より通信部１５を介して位置、角度を受信する（ステップＳ４）。ＣＰＵ１０は受信した位置に基づいて所定範囲の地図情報を読み出し（ステップＳ５）、角度に基づいて地図を表示する方向を設定する（ステップＳ６）。また、ＣＰＵ１０は、併せて移動体アイコン３を示す情報を座標記憶部１３から読み出す（ステップＳ７）。ＣＰＵ１０は、移動体アイコン３を表示部１４１の特定位置に表示させる（ステップＳ８）。ＣＰＵ１０は、初期動作処理を終了する。
【００４３】
図９は指示装置１のＣＰＵ１０の動作を示すフローチャートである。ＣＰＵ１０は、接触検知部１４２を操作することにより出力される入力信号が入力されたか否かを判定する（ステップＳ９）。入力信号が入力されなかった場合は（ステップＳ９でＮＯ）、ＣＰＵ１０は、地図表示更新処理を行い（ステップＳ１６）、処理を終了する。入力信号が入力された場合は（ステップＳ９でＹＥＳ）、ＣＰＵ１０は、接触検知部１４２を操作することにより発生する入力信号の処理を行う（ステップＳ１０）。ＣＰＵ１０は入力点数及び各点の座標を算出する（ステップＳ１１）。
【００４４】
ＣＰＵ１０は入力点数が０であるか、すなわち、ユーザによる入力があるか否かを判定する（ステップＳ１２）。入力点数が０の場合（ステップＳ１２でＹＥＳ）、ＣＰＵ１０は移動体２が移動中であるか否かを判定する（ステップＳ１３）。または移動体２へ直接問い合わせても良い。移動体２が移動中である場合（ステップＳ１３でＹＥＳ）、ＣＰＵ１０は座標記憶部１３に記憶している座標をクリアする（ステップＳ１４）。ＣＰＵ１０は全停止命令を移動体２に対して発行する（ステップＳ１５）。ＣＰＵ１０は地図表示更新処理を行い（ステップＳ１６）、処理を終了する。移動体２が移動中でない場合（ステップＳ１３でＮＯ）、ＣＰＵ１０は地図表示更新処理を行い（ステップＳ１６）、処理を終了する。
【００４５】
入力点数が０でない場合（ステップＳ１２でＮＯ）、入力点数が１点であるか否かを判定する（ステップＳ１７）。入力点数が１点の場合（ステップＳ１７でＹＥＳ）、ＣＰＵ１０はコマンド判定処理１を行う（ステップＳ１８）。ＣＰＵ１０は地図表示更新処理を行い（ステップＳ１６）、処理を終了する。
【００４６】
入力点数が１点ではない場合（ステップＳ１７でＮＯ）、ＣＰＵ１０は入力点数が２点であるか否か判定する（ステップＳ１９）。入力点数が２点である場合（ステップＳ１９でＹＥＳ）、ＣＰＵ１０はコマンド判定処理２を行う（ステップＳ２０）。ＣＰＵ１０は地図表示更新処理を行い（ステップＳ１６）、ＣＰＵ１０は処理を終了する。入力点数が２点ではない場合（ステップＳ１９でＮＯ）、ＣＰＵ１０は地図表示更新処理を行い（ステップＳ１６）、処理を終了する。
【００４７】
図１０は地図表示更新処理についてのフローチャートである。ＣＰＵ１０は、移動体２に対して命令を発行した否か判定する（ステップＳ２１）。命令を発行した場合（ステップＳ２１でＹＥＳ）、ＣＰＵ１０は命令が全停止命令であるか否か判定する（ステップＳ２２）。全停止命令でない場合（ステップＳ２２でＮＯ）、ＣＰＵ１０は、軌道計算式を命令内容（後述するＳ１１７の長さ、Ｓ１１８又はＳ１５７の角度、及びＳ１３９の角速度を含む指示情報）に従った内容に変更する（ステップＳ２３）。ＣＰＵ１０は、軌道計算式を用いて移動体２の位置、角度を演算する（ステップＳ２４）。ＣＰＵ１０は、座標記憶部１３から該位置に対応する地図情報を読み出す（ステップＳ２５）。ＣＰＵ１０は、演算した位置及び角度に従って地図の表示範囲及び方向を設定する（ステップＳ２６）。ＣＰＵ１０（表示処理部）は、地図を表示させるための信号を作成し、表示部１４１に出力する（ステップＳ２７）、表示部１４１に地図が表示される。ＣＰＵ１０は処理を終了する。
なお、移動体２の現在位置は例えば、次のように計算する。移動体２に指示された移動速度（移動方向、速力）、回転角速度（方向と速さ）を合成し、単位時間の速度ベクトルを求める。求めた速度ベクトルを単位時間で積分する。積分値より移動距離が求まるので、初期値と移動距離から現在位置が求まる。移動体２の現在の角度は、次のように計算する。回転角速度に単位時間を掛け合わせ値を３６０度で除した値を求める。求めた値と角度の初期値より、現在の角度が求まる。このような、計算を行う式を上述の軌道計算式とすれば良い。これに限らず、移動体の軌道計算する公知の技術を用いても良い。
【００４８】
発行した命令が全停止命令である場合（ステップＳ２２でＹＥＳ）、移動体２は停止したので、Ｓ２３〜Ｓ２６の処理をスキップし、ＣＰＵ１０は表示中の地図の表示を継続する（ステップＳ２７）。ＣＰＵ１０は、処理を終了する。なお、全停止命令が発行された場合においても、位置、角度演算を行い（ステップＳ２４、Ｓ２５）、地図表示の更新を行なっても良い。全停止命令が発行されてから、地図表示の更新処理までのタイムラグが大きい場合、表示の誤差をより小さくすることが可能となるからである。
【００４９】
命令を発行していない場合（ステップＳ２１でＮＯ）、ＣＰＵ１０は移動体２が停止中か否か判定する（ステップＳ２８）。停止中でない場合（ステップＳ２８でＮＯ）、ＣＰＵ１０はステップＳ２４以降の処理を行い、処理を終了する。移動体２が同じ移動を継続して行なっている場合だからである。停止中である場合（ステップＳ２８でＹＥＳ）、ＣＰＵ１０は表示中の地図の表示を継続する（ステップＳ２７）。ＣＰＵ１０は処理を終了する。
【００５０】
上述のステップＳ２１での判定のため、命令を発行したことを示すフラグ領域をＲＡＭ１２に設け、命令発行時にフラグを立て、ステップＳ２１での判定後にフラグをクリアするようにしても良い。また、現在用いている軌道計算式、直近に発行した命令内容や移動体２が停止中か否かについても、ＲＡＭ１２に記憶しておくものとする。
上述のステップＳ２８において、移動体２が停止中であるか否かの判定は、ＣＰＵ１０が自ら発行した命令の履歴をＲＡＭ１２に保存しておくことにより行う。または、ＲＡＭ１２に停止中であるか否かを示すフラグを設け、命令を発行する毎にＣＰＵ１０フラグを設定することとしても良い。さらにまた、ＣＰＵ１０が移動体２に問い合わせを行なって判定しても良い。
【００５１】
図１１はコマンド判定処理１について示すフローチャートである。図１２は、操作部１４の座標を示す説明図である。図１３は、操作された移動体２の軌跡を示す模式的平面図である。図１４は、操作部１４の座標を示す説明図である。操作部１４の接触位置は図１２で示される座標上の位置として表される。以下の記載では第一点（第１の接触箇所）、第二点（第２の接触箇所）という語を用いるので、語の示す意味を説明する。第一点とは操作部に何も入力されていない状態から一点の入力があった場合、その点のことを示す。図１４における点Ａに相当する。第一点が入力されている状態で新たな点が入力された場合、その点を第二点と言う。
【００５２】
図１２に示すように、操作部１４の接触検知部１４２に横軸１４ｂ、縦軸１４ｃの軸線が示されている。横軸をＸ軸、縦軸をＹ軸とする。Ｘ軸とＹ軸との交点を原点Ｏとする。図１４は並進移動を指示する場合の操作方法を示す説明図である。ユーザは操作に用いる指で接触検知部１４２の原点Ｏを触れる。次にユーザは触れている指を接触部上で滑らし、所定の位置に移動する。移動した後の位置をＡとする。原点Ｏと点Ａを結ぶ線分を線分ＯＡとする。線分ＯＡの長さをＬ１とする。Ｙ軸と線分ＯＡとがなす角度をｄ１とする。この場合、指示装置１は角度ｄ１の方向に速さｖ１（＝ｍ×Ｌ１）で移動するよう移動体２に対して命令（指示情報）を送信する。ここでｍは係数である。係数ｍの値は操作部１４の接触検知部１４２の面積、移動体２の仕様に合わせて適宜定めれば良い。操作を用いる指は任意の指で良いが、人差し指を用いるのが好適である。以下に示す回転移動の指示が行い易くなるからである。
【００５３】
コマンド判定処理１は入力点数が１つの場合の処理である。ＣＰＵ１０（第１受付部）は第一点の座標が（第１座標）座標記憶部１３に記憶されているか否か判定する（ステップＳ１１１）。第一点が記憶されていない場合（ステップＳ１１１でＮＯ）、ＣＰＵ１０は入力された点の座標（以下、「入力座標」と記す。）が原点であるか判定する（ステップＳ１１２）。原点である場合（ステップＳ１１２でＹＥＳ）、ＣＰＵ１０は入力座標を第一点の座標として座標記憶部１３に記憶する（ステップＳ１１３）。ＣＰＵ１０はコマンド判定処理１を終了し、処理をステップＳ１６（図９参照）に移す。これは、並進移動を指示するためにユーザが原点に指を置いた場合である。なお、ステップＳ１１２での判定では入力誤差を考慮しても良い。例えば、入力座標が原点座標に一致しなくても、入力された点と原点とのユークリッド距離が所定の値以下の場合は、原点にあるものとして扱っても良い。原点でない場合（ステップＳ１１２でＮＯ）、ＣＰＵ１０はコマンド判定処理１を終了し、処理をステップＳ１６（図９参照）に移す。
【００５４】
第一点の座標が座標記憶部１３に記憶してある場合（ステップＳ１１１でＹＥＳ）、ＣＰＵ１０は入力座標と座標記憶部１３に記憶されている第一点の座標とが一致するかを判定する（ステップＳ１１４）。座標が一致していない場合（ステップＳ１１４でＮＯ）、ＣＰＵ１０は入力された点がドラッグ中であるか否かを判定する（ステップＳ１１５）。ドラッグ中であるか否かは例えば次のように行う。最初にステップＳ１１５に達した時に入力座標をＲＡＭ１２に一時的に記憶しておく。次回以降ステップＳ１１５に達したときは、ＲＡＭ１２に記憶した座標と入力座標を比較し、一致していれば一致回数をインクリメントする。一致してなければ一致回数を０にリセットし、ＲＡＭ１２に記憶する座標を入力座標に更新する。一致回数が所定の回数に達するまではドラッグ中と判定し、一致回数が所定の回数に達したら、ドラッグ中でないと判定する。これはあくまでも一例であり、操作部等における入力点の追跡に関する従来技術を適用しても良い。
【００５５】
ドラッグ中である場合（ステップＳ１１５でＹＥＳ）、ＣＰＵ１０はコマンド判定処理１処理を終了し、処理をステップＳ１６（図９参照）に移す。ドラッグ中でない場合（ステップＳ１１５でＮＯ）、ＣＰＵ１０は移動体２が移動中であるか否かを判定する（ステップＳ１１６）。移動体２が移動中である場合（ステップＳ１１６でＹＥＳ）、ＣＰＵ１０は入力された点が原点であるか否かを判定する（ステップＳ１２０）。入力された点が原点である場合（ステップＳ１２０でＹＥＳ）、ＣＰＵ１０は並進移動停止命令を発行する（ステップＳ１２１）。すなわち、ＣＰＵ１０は並進移動停止のコマンドを、通信部１５を介して移動体２に対して送信する。ＣＰＵ１０はコマンド判定処理１を終了し、処理をステップＳ１６（図９参照）に移す。入力された点が原点ではない場合（ステップＳ１２０でＮＯ）、第一点においていた指が離され、第二点のみが入力されている場合であるので、ＣＰＵ１０は全停止命令を移動体２に対して発行する（ステップＳ１２５）。ＣＰＵ１０はコマンド判定処理１を終了し、処理をステップＳ１６（図９参照）に移す。
【００５６】
移動体２が移動中でない場合（ステップＳ１１６でＮＯ）、ＣＰＵ１０は入力された点と原点とを結ぶ線分の長さを算出する（ステップＳ１１７）。ＣＰＵ１０（第２指示情報演算部）は入力された点と原点とを結ぶ線分とＹ軸とがなす角度を算出する（ステップＳ１１８）。ＣＰＵ１０は算出した線分の長さ、角度を含む並進移動命令（第２指示情報）を発行する（ステップＳ１１９）。すなわち、並進移動のコマンドを、通信部１５を介して移動体２に対して送信する。線分の長さは並進移動の速力（移動速度）を、角度は並進方向（移動方向）を示す。送信するコマンドに速力として求めた線分の長さをそのまま含めるのではなく、所定の係数を乗じた値としても良い。並進方向は図１４を用いて上述したとおりである。なお、速力を線分の長さではなく、ドラッグした時間により定めることとしても良い。
【００５７】
入力座標と第一点の座標とが一致する場合（ステップＳ１１４でＹＥＳ）、ＣＰＵ１０は第二点の座標（第２座標）が座標記憶部１３に記憶してあるか否かを判定する（ステップＳ１２２）。第二点の座標が記憶されている場合（ステップＳ１２２でＹＥＳ）、ＣＰＵ１０は座標記憶部１３に記憶してある第二点の座標をクリアする（ステップＳ１２３）。ＣＰＵ１０は回転移動停止命令を発行する（ステップＳ１２４）。すなわち、回転移動停止のコマンドを、通信部１５を介して移動体２に対して送信する。ＣＰＵ１０はコマンド判定処理１を終了し、処理ステップＳ１６（図９参照）に移す。第二点の座標が記憶されていない場合（ステップＳ１２２でＮＯ）、ＣＰＵ１０はコマンド判定処理１を終了し、処理をステップＳ１６に移す。
【００５８】
図１５は、コマンド判定処理２について示すフローチャートである。図１６は、操作された移動体の軌跡を示す模式的平面図である。図１７は、操作部１４の座標を示す説明図である。
【００５９】
ユーザは並進移動を指示するのに用いたＡ点（第１の接触箇所）を保持しつつ、他の指で操作部１４の接触検知部１４２の他の部分を触れる。その点をＢ点（第２の接触箇所）とする（図１７参照）。次にＡ点を回転軸としてＢ点に置いている指を、接触検知部１４２上を滑らすようにして移動させる（図１７参照）。移動した後の点をＣ（終点）とする。この場合、点Ａと点Ｂを結ぶ線分ＡＢ及び点Ａと点Ｃとを結ぶ線分ＡＣがなす角度をｄ２とする。このときＣＰＵ１０は、移動体２に並進移動をしつつ、回転角速度の大きさがｖ２（＝ｎ×ｄ２）で回転移動を行うよう指示する。即ち線分ＡＢと線分ＡＣとのなす角の大きさが回転角速度に比例する。回転方向は点Ｂから点Ｃへ指を動かした際の移動方向により定める。図１７に示した例では反時計回りに指を動かしているので、移動体２の回転方向も反時計回りとなる。点Ｂにある指を時計回りに移動すると、移動体２の回転方向も時計回りとなる。なお、並進移動を指示する際、人差し指を用いた場合、回転移動を指示するのは親指を用いるのが好適である。もちろん、他の指を用いても良い。
【００６０】
ＣＰＵ１０（第２受付部）は第一点の座標（第１座標）が座標記憶部１３に記憶されているか否かを判定する（ステップＳ１３１）。第一点の座標が記憶されてない場合（ステップＳ１３１でＮＯ）、ＣＰＵ１０はコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。この場合は想定しない操作であるため、エラー処理を行なっても良い。エラー処理の例は上述したとおりである。第一点の座標が記憶されている場合（ステップＳ１３１でＹＥＳ）、ＣＰＵ１０は入力されている２点のうち、第一点の座標と座標記憶部１３に記憶されている第一点の座標とが一致するか否かを判定する（ステップＳ１３２）。第一点の座標と座標記憶部１３に記憶されている第一点の座標とが一致する場合（ステップＳ１３２でＹＥＳ）、ＣＰＵ１０は第二点の座標（第２座標）が座標記憶部１３に記憶されているか否かを判定する（ステップＳ１３３）。第二点の座標が座標記憶部１３に記憶されていない場合（ステップＳ１３３でＮＯ）、ＣＰＵ１０は入力されている２点のうち、第二点の座標を座標記憶部１３に記憶する（ステップＳ１３４）。これは、回転移動を指示するためにユーザが二本目の指を操作部１４の接触検知部１４２に置いた場合である。ＣＰＵ１０はコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。
【００６１】
第二点の座標が座標記憶部１３に記憶されている場合（ステップＳ１３３でＹＥＳ）、ＣＰＵ１０は、入力されている第二点の座標と座標記憶部１３に記憶されている第二点の座標とが一致するか否かを判定する（ステップＳ１３５）。この場合ＣＰＵ１０は判定部として機能し、接触箇所が移動したか否かを判定する。入力されている第二点の座標と座標記憶部１３に記憶されている第二点の座標とが一致している場合（ステップＳ１３５でＹＥＳ）、ＣＰＵ１０はコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。これは、まだ回転移動の指示をしておらず、ユーザは二本目の指を初期位置に置いたままの状態である。入力されている第二点の座標と座標記憶部１３に記憶されている第二点の座標とが一致しない場合（ステップＳ１３５でＮＯ）、ＣＰＵ１０は第二点がドラッグ中であるか否かを判定する（ステップＳ１３６）。ドラック中であるか否かは上述した方法のほか、公知の技術で可能であるので、説明を省略する。ドラッグ中である場合（ステップＳ１３６でＹＥＳ）、接触検知部１４２は、ドラッグ中の接触箇所に対応する座標を含む入力信号を出力し、ＣＰＵ１０（移動受付部）は受け付ける。ＣＰＵ１０はコマンド処理２を終了し、処理をステップＳ１６（図９参照）に移す。
【００６２】
ドラッグ中でない場合（ステップＳ１３６でＮＯ）、移動体２が回転移動中であるか否かを判定する（ステップＳ１３７）。これはコマンドの発行履歴により行うか、移動体２に問い合わせを行うなどの動作により判定する。移動体２が回転移動中でない場合（ステップＳ１３７でＮＯ）、ＣＰＵ１０（決定部）はすでに記憶されている第二点の座標（第２座標）を第二点の初期位置座標として記憶し、入力された第二点の座標を現在の第二点の座標（終点座標）として終点を決定し、座標記憶部１３に記憶する（ステップＳ１３８）。ＣＰＵ１０（指示情報演算部）は第一点の座標を座標記憶部１３から読み出し、第一点及び第二点の初期位置を結ぶ線分並びに第一点及び現在の第二点を結ぶ線分がなす角度を算出する（ステップＳ１３９）。ＣＰＵ１０は算出した角度を含む回転移動命令（指示情報）を発行する（ステップＳ１４０）。すなわち、ＣＰＵ１０（送信部）は回転移動のコマンドを、通信部１５を介して移動体２に対して送信する。ＣＰＵ１０はコマンド処理２を終了し、処理をステップＳ１６（図９参照）に移す。
【００６３】
移動体２が回転移動中である場合（ステップＳ１３７でＹＥＳ）、ＣＰＵ１０は第一点の座標及び第二点の初期位置の座標を座標記憶部１３から読み出し、入力された第二点が第一点及び第二点の初期位置を結ぶ線分上にあるか否かを判定する（ステップＳ１４１）。入力された第二点が第一点及び第二点の初期位置を結ぶ線分上にある場合（ステップＳ１４１でＹＥＳ）、ＣＰＵ１０は座標記憶部１３に記憶されている現在の第二点及び第二点の初期位置の座標をクリアする（ステップＳ１４２）。ＣＰＵ１０は回転移動停止命令を発行する（ステップＳ１４３）。すなわち、ＣＰＵ１０は回転移動停止のコマンドを、通信部１５を介して移動体２に対して送信する。ＣＰＵ１０はコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。入力された第二点が第一点及び第二点の初期位置を結ぶ線分上にない場合（ステップＳ１４１でＮＯ）、ＣＰＵ１０はコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。この場合は、想定しない操作であるため、上述したようなエラー処理を行なっても良い。
【００６４】
なお、入力点数が２点である場合において、一方の点がドラッグされた場合にどちらの点がドラッグされているのか、両方の点がドラッグされた場合に各点がどのような位置にドラッグされたかについては、公知の技術を用いて判定すれば良い。
【００６５】
第一点の座標と座標記憶部１３に記憶されている第一点の座標とが一致しない場合（ステップＳ１３２でＮＯ）、第一点がドラック中であるか否かを判定する（ステップＳ１４４）。ドラッグ中である場合（ステップＳ１４４でＹＥＳ）、ＣＰＵ１０はコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。ドラッグ中でない場合（ステップＳ１４４でＮＯ）、ＣＰＵ１０は第一点が原点と一致するか否かを判定する（ステップＳ１４５）。第一点が原点と一致する場合（ステップＳ１４５でＹＥＳ）、ＣＰＵ１０は並進移動停止命令を発行する（ステップＳ１４６）。すなわち、ＣＰＵ１０は並進移動停止のコマンドを、通信部１５を介して移動体２に対して送信する。これは、並進移動のみを停止し回転移動は継続するので、移動体２はその場で回転することとなる。ＣＰＵ１０はコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。
【００６６】
第一点が原点と一致しない場合（ステップＳ１４５でＮＯ）、ＣＰＵ１０はコマンド判定処理３を行う（ステップＳ１４７）。
【００６７】
図１８は、コマンド判定処理３について示すフローチャートである。図１９は、操作された移動体２の軌跡を示す模式的平面図である。図２０は、操作部１４の座標を示す説明図である。コマンド判定処理３は、移動体２が並進移動＋回転移動をしている場合に、並進移動方向を変える指示操作をしたときの処理である。
【００６８】
ユーザは並進移動を指示するのに用いた点をＡ点（第１の接触箇所）とし、他の指で操作部１４の接触検知部１４２の他の部分を触れる。その点をＣ点（終点）とする（図２０参照）。次にＡ点及びＣ点に置いている指を、接触検知部１４２上を滑らすようにして平行移動させる（図２０参照）。移動した後の点をＡ´点（第３の接触箇所）及びＣ´点（第４の接触箇所）とする。この場合、点Ａと点Ｂを結ぶ線分ＡＢ及び点Ａと点Ｃとを結ぶ線分ＡＣがなす角度をｄ２とすると、点Ａ´と点Ｂ´を結ぶ線分Ａ´Ｂ´及び点Ａ´と点Ｃ´とを結ぶ線分Ａ´Ｃ´がなす角度ｄ２は維持されている（線分ＡＢ及び線分Ａ´Ｂ´はｙ軸に平行）。この場合の移動体２の移動速度は線分ＯＡ´の長さをＬ２とし、点Ｏと点Ａ´とを結ぶＯＡ´とＹ軸とのなす角をｄ３とすると、指示装置１は角度ｄ３の方向に速さｖ２（＝ｍ×Ｌ２）で移動するよう移動体２に対して命令（指示情報）を送信する。また、角速度の大きさはｖ２（＝ｎ×ｄ２）を維持して回転移動を行うよう命令（指示情報）を送信する。
【００６９】
ＣＰＵ１０は座標記憶部１３に第二点の座標が記憶されているか否かを判定する（ステップＳ１５１）。第二点の座標が座標記憶部１３に記憶されている場合（ステップＳ１５１でＹＥＳ）、ＣＰＵ１０は入力された座標記憶部１３に記憶されている第二点の座標と入力された第二点の座標が一致するか否かを判定する（ステップＳ１５２）。座標記憶部１３に記憶されている第二点の座標と入力された第二点の座標が一致しない場合（ステップＳ１５２でＮＯ）、ＣＰＵ１０は第二点がドラック中であるか否かを判定する（ステップＳ１５３）。第二点がドラック中でない場合（ステップＳ１５３でＮＯ）、ＣＰＵ１０は座標記憶部１３に第一点の初期位置の座標（第１座標）、第二点の初期位置の座標（終点座標）を読み出す（ステップＳ１５４）。ＣＰＵ１０は第一点の座標（第１座標）及び第二点の初期位置（終点座標）を結ぶ線分と現在の第一点の座標（第３座標）及び現在の第二点の座標（第４座標）を結ぶ線分とが平行であるかを判定する（ステップＳ１５５）。例えば、２つの線分の傾きを求めて値が一致するか否かを判定すれば良い。ある程度の誤差を許容するために、傾きの値が一致する場合のみならず、傾きの値の差分が所定値以内である場合も平行と判定することとしても良い。ＣＰＵは、第一点の座標と第二点の座標とがドラッグされた軌跡に対応した座標を受け付ける。
【００７０】
第一点の座標及び第二点の初期位置を結ぶ線分と現在の第一点及び現在の第二点を結ぶ線分とが平行である場合（ステップＳ１５５でＹＥＳ）、ＣＰＵ１０は現在の第一点の座標、現在の第二点の座標を座標記憶部１３に記憶する（ステップＳ１５６）。ＣＰＵ１０は現在の第一点と原点とを結ぶ線分がＹ軸となす角度を求める（ステップＳ１５７）。第二点の初期位置が第一点及び第二点と同様に平行移動した場合の位置の座標を、ＣＰＵ１０は算出し、算出した座標を第二点の初期位置の座標であるとして、座標記憶部１３を更新する（ステップＳ１５８）。ＣＰＵ１０は算出した角度を含む並進移動命令（指示情報）を発行する（ステップＳ１５９）。すなわち、並進移動のコマンドを、通信部１５を介して移動体２に対して送信する。この場合、速力は変化させないので、最初に並進移動停止命令を発行した時の値と同一の値とすれば良い。または速力はオプショナルパラメータとし、角度のみを与えた場合は、速力を変化させずに並進方向のみを変化させることとしても良い。ＣＰＵ１０はコマンド判定処理３及びコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。
【００７１】
第二点の座標が座標記憶部１３に記憶されている場合（ステップＳ１５１でＮＯ）、ＣＰＵ１０はコマンド判定処理３及びコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。座標記憶部１３に記憶されている第二点の座標と入力された第二点の座標が一致する場合（ステップＳ１５２でＹＥＳ）、ＣＰＵ１０はコマンド判定処理３及びコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。第二点がドラック中である場合（ステップＳ１５３でＮＯ）、ＣＰＵ１０はコマンド判定処理３及びコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。第一点の座標及び第二点の初期位置を結ぶ線分と現在の第一点及び現在の第二点を結ぶ線分とが平行でない場合（ステップＳ１５５でＮＯ）、ＣＰＵ１０はコマンド判定処理３及びコマンド判定処理２を終了し、処理をステップＳ１６（図９参照）に移す。なお、いずれの場合も想定しない操作であるため、上述したようなエラー処理を行なっても良い。ＣＰＵ１０は図９のＳ１６、地図表示更新処理を行い、処理を終了する。その後、ＣＰＵ１０は図９に示した処理、必要に応じて図１０、１１、１５、１８に示した全部又は一部の処理を繰り返し行う。
【００７２】
本実施の形態において、指示情報に基づく位置及び角度の演算はＣＰＵ１０が行っているが、指示情報を受信した移動体制御部２０が行うようにしてもよい。
【００７３】
図２１は表示部１４１の表示画面の他の例を示す模式図である。ＣＰＵ１０は、移動体アイコン３の近傍に移動体２の移動する方向及び回転方向を矢印等によって示すようにしてもよい。座標記憶部１３には移動方向、移動速度、回転方向及び回転角速度を示す矢印を描画するためのプログラムが記憶されている。ＣＰＵ１０は、指示情報を入力した場合、座標記憶部１３から指示情報に合わせて斯かるプログラムを実行し、適切な矢印を表示部１４１に表示させるようにしてもよい。具体的には、ＣＰＵ１０はＳ１１７で算出した長さとＳ１１８またはＳ１５７で算出した角度に基づき、矢印の長さ及び方向を決定する。ＣＰＵ１０は決定した矢印を表示部１４１の移動体アイコン３付近に表示する。またＣＰＵ１０はＳ１３９で算出した角速度に基づき、矢印の長さと方向を決定する。ＣＰＵ１０は決定した矢印を表示部１４１の移動体アイコン３付近へ表示する。両者のアイコンを同時に表示してもよい。さらに、ＣＰＵ１０は、地図情報に基づいて、移動体２が建造物等の障害物に一定距離以上近づいたと判定した場合には、警告表示を表示部１４１に行うようにしてもよい。
【００７４】
さらに、ＣＰＵ１０は、例えば図１７Ａに点線で示した線分ＡＢ及び線分ＡＣを結ぶ線分の画像を作成し、表示部１４１に表示させるようにしてもよい。また、図１７Ａに矢印で示した点Ｂから点Ｃへドラッグした軌跡の画像を表示部１４１に表示させるようにしてもよい。
【００７５】
第２の実施の形態
第２の実施の形態について説明する。第１の実施の形態では移動体２の角度により地図の表示方向を変更したが、本実施の形態では地図の表示方向を固定する。そのため、本実施の形態では、表示部１４１における表示画面内の移動体アイコン３が移動及び回転を行う。第２の実施の形態と第１の実施の形態との相違は地図表示更新処理のみである。第２の実施の形態において、指示装置１、移動体２のハードウェア構成（図１〜４）は第１の実施の形態と同様である。また、第２の実施の形態において、移動体２の移動体制御部２０が行う処理（図７）も第１の実施の形態同様である。さらに、第２の実施の形態において、指示装置１の行う処理（図１０を除く図８〜９、１１、１５、１８）も、第１の実施の形態と同様である。ここでは、地図表示更新処理を主に説明する。
【００７６】
図２２は第２の実施の形態における地図表示更新処理を示すフローチャートである。ステップＳ２１からＳ２８は図１０と同様な処理であるので、同じ符号を付している。図２２が図１０と異なるのはステップＳ２９、Ｓ３０が追加されている点である。以下、この２つのステップを中心に説明する。
【００７７】
ＣＰＵ１０は、ステップＳ２４で演算した位置、角度に基づいて、移動体アイコン３の表示画面上の位置及び角度を演算する（ステップＳ２９）。
【００７８】
ＣＰＵ１０は、演算した位置及び角度に従って座標記憶部１３から読み出した移動体アイコン３の表示設定を行う（ステップＳ３０）。ここでいう表示設定は画像の拡大縮小、回転などの処理を言う。ＣＰＵ１０は地図と移動体アイコン３を表示させるための信号を作成し、表示部１４１に出力する（ステップＳ２７）。表示部１４１に移動体アイコンと地図が表示される。ＣＰＵ１０は処理を終了する。
【００７９】
図２３及び図２４は、表示部１４１の表示画面を示す模式図である。図２３Ａは移動体が停止した状態を表示したものであり、図２３Ｂは画面左方向に移動状態を表示したものである。ＣＰＵ１０は、例えば移動体２が矢印で示す画面左方向に移動を行う場合は、表示画面の移動体２は中央よりも左側に位置するように、移動体アイコン３を進行方向側に移動させる。図２４Ａは移動体が停止した状態を表示したものであり、図２４Ｂは時計回りに回転を行った状態を表示したものである。このように移動体２が回転を行っている場合は、移動体アイコン３も回転する。なお、移動体２の向きを把握する必要がある場合、移動体アイコン３に移動体２前後を示すマークを付したり、移動体アイコン３の形状を非対称形にしたりすれば良い。移動体２の向きを把握する必要がある場合とは、例えば、移動体２はカメラを搭載しており、カメラ画像はどの方向を撮影したものであるのか把握する必要がある場合が考えられる。
【００８０】
以上本実施の形態によれば、指示装置１の操作と、実際の移動体の動きとに差異が生じた場合であっても、移動体２の位置及び角度を適切に表示することができる。
【００８１】
第３の実施の形態
第３の実施の形態について説明する。本実施の形態では、操作部１４による操作と移動体２の位置及び角度が異なる場合に、移動体アイコン３の位置及び角度を補正する。ＣＰＵ１０は、継続して移動体２から位置測定部２１で測定した位置、及び角度測定部２２で測定した角度を受信する。ＣＰＵ１０は、指示情報より演算した移動体２の位置及び角度と受信した位置及び角度とを比較し、演算した位置又は角度が不正確な場合には、正しい位置又は角度に補正する。第３の実施の形態と第１の実施の形態との相違は地図表示更新処理のみである。第３の実施の形態において、指示装置１、移動体２のハードウェア構成（図１〜４）は第１の実施の形態と同様である。また、第３の実施の形態において、移動体２の移動体制御部２０が行う処理（図７）も第１の実施の形態同様である。さらに、第３の実施の形態において、指示装置１の行う処理（図１０を除く図８〜９、１１、１５、１８）も、第１の実施の形態と同様である。ここでは、地図表示更新処理を主に説明する。
【００８２】
図２５は第３の実施の形態における地図表示更新処理を示すフローチャートである。ステップＳ２１からＳ２８は図１０と同様な処理であるので、同じ符号を付している。図２５が図１０と異なるのはステップＳ３１〜Ｓ３３が追加されている点である。以下、この３つのステップを中心に説明する。
【００８３】
ＣＰＵ１０は、移動体２の位置及び角度を取得する（ステップＳ３１）。ＣＰＵ１０は、取得した移動体２の位置及び角度と演算した移動体２の位置及び角度との誤差を算出し、誤差を許容するか否か判定する（ステップＳ３２）。位置の誤差については、例えば取得した位置と演算した位置とのユークリッド距離を計算し、その値が予め定めた閾値以内にあるか否かで判定する。角度の誤差については、例えば取得した角度と演算した角度との差分の絶対値が予め定めた閾値以内にあるか否かで判定する。誤差を許容しないと判定した場合（Ｓ３２でＮＯ）、ＣＰＵ１０は、移動体２から取得した位置及び角度に基づいて演算した位置及び角度を補正する（ステップＳ３３）。例えば、演算した位置及び角度をそれぞれ取得した位置及び角度に置き換える。または、演算した位置及び角度並びに取得した位置及び角度それぞれの算術平均を算出し、算出した値を移動体２の位置及び角度とする。ＣＰＵ１０はステップＳ２５以降の処理を行い、処理を終了する。
【００８４】
誤差を許容すると判定した場合（Ｓ３２でＹＥＳ）、ＣＰＵ１０はステップＳ２５以降の処理を行い、処理を終了する。
【００８５】
以上本実施の形態によれば、移動体アイコン３が移動するので、進行方向又は回転している角度を感覚的に把握することができる。
【００８６】
また、指示装置１は、第１の実施の形態の表示形式と切り替え可能となるように構成してもよい。この場合、操作部１４は表示形式の切り替えを指示する信号をＣＰＵ１０に出力し、ＣＰＵ１０は、斯かる信号に基づいて、表示部１４１に表示を行わせる。
【００８７】
第４の実施の形態
第４の実施の形態について説明する。本実施の形態では、地図部分と操作部分とが分割して表示される。
【００８８】
図２６は、表示部１４１の表示画面を示す模式図である。表示画面の上側を第１領域とし、下側を第２領域とする。表示画面の第１領域は、ＣＰＵ１０が前記地図画像及び移動体画像を表示する地図部分であり、第２領域は操作部分である。ＣＰＵ１０は、操作部分には、特に画像を表示させなくてもよく、また、操作方法を示す表示を行うようにしてもよい。第１領域と第２領域とは、上下に分割されていてもよいし、左右に分割されていてもよく、例えば右下又は左下等、第１領域又は第２領域を表示画面の一部に表示させるようにしてもよい。また、３つ以上の領域に分割されていてもよい。
【００８９】
本実施の形態によれば、地図部分と操作部分とを分割することによって、接触検知部のように表示画面に接触して操作を行う場合でも、手によって地図の閲覧を遮ることなく地図を閲覧することができる。
【００９０】
第５の実施の形態
第５の実施の形態について説明する。本実施の形態では、表示画面に撮影した映像を表示する。
【００９１】
図２７は、表示部１４１の表示画面を示す模式図である。移動体２にビデオカメラを設置して撮影を行い、ＣＰＵ１０は通信部１５を介して映像信号を受信し、表示部１４１に表示させる。このとき、図に示すように画面を分割してその一部に表示するようにしてもよい。図２７では、上側の画面に地図を表示し、下側の画面に映像を表示している。また、表示画面は左右に分割されていてもよく、地図部分と操作部分と撮像部分といった３以上の画面に分割して表示するようにしてもよい。
【００９２】
本実施の形態では実際の撮像画面を表示するので、実際の景色と符合させ、位置及び角度を把握しやすくなる。
【００９３】
第６の実施の形態
第６の実施の形態について説明する。図２８は指示装置１を示すブロック図である。ＣＰＵ１０を動作させるためのプログラムは、ディスクドライブ等の読取部１６に、ＣＤ−ＲＯＭ、ＤＶＤディスクまたはＵＳＢメモリ等の可搬型記録媒体を読み取らせてＲＯＭ１１に記憶してもよい。また、当該プログラムを記憶したフラッシュメモリ等の半導体メモリをＣＰＵ１０内に実装してもよい。
【００９４】
さらに当該プログラムは、インターネット等の通信網Ｎを介して通信部１５と接続される図示しない他のサーバコンピュータからダウンロードすることも可能である。
【００９５】
ＣＰＵ１０は、上述した各種ソフトウェア処理を実行するプログラムを可搬型記録媒体又は半導体メモリから読み取り、或いは、通信網Ｎを介して図示しない他のサーバコンピュータからダウンロードする。当該プログラムは制御プログラムとしてインストールされ、座標記憶部１３にロードして実行される。これにより、上述したＣＰＵ１０として機能する。
【００９６】
各実施例で記載されている技術的特徴（構成要件）はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９７】
１  指示装置
２  移動体
３  移動体アイコン
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  座標記憶部
１４  操作部
１４１  表示部
１４２  接触検知部
１５  通信部
１６  読取部
２０  移動体制御部
２１  位置測定部
２２  角度測定部
２３  通信部
２４  駆動モータ
３０  基体
【図１】
2014154047.tif 000003
【図２】
2014154047.tif 000004
【図３】
2014154047.tif 000005
【図４】
2014154047.tif 000006
【図５】
2014154047.tif 000007
【図６】
2014154047.tif 000008
【図７】
2014154047.tif 000009
【図８】
2014154047.tif 000010
【図９】
2014154047.tif 000011
【図１０】
2014154047.tif 000012
【図１１】
2014154047.tif 000013
【図１２】
2014154047.tif 000014
【図１３】
2014154047.tif 000015
【図１４】
2014154047.tif 000016
【図１５】
2014154047.tif 000017
【図１６】
2014154047.tif 000018
【図１７】
2014154047.tif 000019
【図１８】
2014154047.tif 000020
【図１９】
2014154047.tif 000021
【図２０】
2014154047.tif 000022
【図２１】
2014154047.tif 000023
【図２２】
2014154047.tif 000024
【図２３】
2014154047.tif 000025
【図２４】
2014154047.tif 000026
【図２５】
2014154047.tif 000027
【図２６】
2014154047.tif 000028
【図２７】
2014154047.tif 000029
【図２８】
2014154047.tif 000030