JP2024020127A - 操作対象機器の操作用のプログラム - Google Patents

操作対象機器の操作用のプログラム Download PDF

Info

Publication number
JP2024020127A
JP2024020127A JP2023069066A JP2023069066A JP2024020127A JP 2024020127 A JP2024020127 A JP 2024020127A JP 2023069066 A JP2023069066 A JP 2023069066A JP 2023069066 A JP2023069066 A JP 2023069066A JP 2024020127 A JP2024020127 A JP 2024020127A
Authority
JP
Japan
Prior art keywords
operation information
area
information
target device
display device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023069066A
Other languages
English (en)
Inventor
邦典 堂野
Original Assignee
株式会社アルヴィオン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社アルヴィオン filed Critical 株式会社アルヴィオン
Priority to JP2023069066A priority Critical patent/JP2024020127A/ja
Publication of JP2024020127A publication Critical patent/JP2024020127A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • G05D1/0016Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement characterised by the operator's input device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • User Interface Of Digital Computer (AREA)
  • Selective Calling Equipment (AREA)
  • Telephone Function (AREA)
  • Mechanical Engineering (AREA)

Abstract

【課題】汎用性があり、操作に用いるタッチパネル等のデバイスのサイズを選ばない機器操作用のプログラムを提供する。【解決手段】駆動装置を有する操作対象機器を操作するためのプログラムであって、指示体による操作を受け付ける表示装置に接続される或いは当該表示装置を備える情報処理装置を、表示装置に対する指示体による操作に基づいて、操作対象機器を操作するための操作情報を生成し、指示体が表示装置を操作していない場合でも、操作情報を保持する操作情報生成保持手段と、保持されている操作情報を操作対象機器に送信することで、操作対象機器を操作する操作手段と、して機能させる。操作情報生成保持手段は、スワイプ中に表示装置を使った操作が行われているか否かを判断し、スワイプ中に表示装置を使った操作が行われていないと判断した場合に、操作対象機器に対する現在の操作情報を保持する。【選択図】図3

Description

本発明は、操作対象機器の操作用のプログラムに関し、より特定的には、指などの指示体による操作によって、操作対象機器を操作するためのプログラムに関する。
従来、ドローン等の操作対象機器を操作する場合、専用の操作用のハードウエア(コントローラなど)を用いる場合と、特許文献1ないし5に記載のように、タッチパネル(タッチスクリーンともいう。以下同様。)を用いて、操作対象機器を操作する場合とがあった。
特許文献1には、撮像手段を保持する移動装置を外部から制御する操作装置が開示されている。特許文献1に記載の操作装置は、撮像手段で撮像している画像を表示する表示手段と、タッチ操作を検出するタッチ操作手段と、タッチ操作手段により検出されたタッチ操作に応答して、該タッチ操作がムーブ操作である場合に該ムーブ操作の操作方向に基づいて移動装置を移動させる指示手段とを有する。タッチ操作手段により、ムーブ操作の後、タッチオンの状態が継続して検出されている場合は、指示手段は、ムーブ操作に基づく移動を継続させる。
特許文献2には、撮像手段を保持する移動装置を外部から制御する操作装置が開示されている。特許文献2に記載の操作装置は、撮像手段で撮像している画像を表示する表示手段と、タッチ操作を検出するタッチ操作手段と、タッチ操作手段により検出されたタッチ操作に応答して、該タッチ操作がピンチアウト操作である場合に移動装置を前方向へ移動させ、該タッチ操作がピンチイン操作である場合に該移動装置を後方向へ移動させる指示手段とを有する。タッチ操作手段により、ピンチアウト操作又はピンチイン操作の後、タッチオンの状態が継続して検出されている場合は、指示手段は、ピンチアウト操作又はピンチイン操作に基づく移動を継続させる。
特許文献3の請求項4に記載の移動装置操作端末は、移動装置の撮像手段で撮像された撮像画像を画面に表示する表示手段と、撮像画像の移動方向を指定する操作を受け付ける受付手段と、移動方向が撮像されるように移動装置を移動させる制御手段とを有する。表示手段と受付手段は、タッチパネルである。制御手段は、タッチパネルに指をタッチしてスライドさせるドラッグ操作に基づき、タッチパネルの水平方向に対する指のスライド方向の角度が一定角度に含まれる場合、水平方向のドラッグ操作と判定して移動装置を回転させ、一定角度に含まれない場合、垂直方向のドラッグ操作と判定して移動装置を上昇又は下降させる。
特許文献4の段落0070及び0071には、以下のように記載されている。「図3bに示されるように、ドローンを操縦するために、ユーザは、操縦アイコン30内の自分の指を例えば灰色の円により示されるように左上へ移動させる。指のこの新たな位置にしたがって、操縦装置15は、ドローンを上昇させると同時にドローンを左へ回転させることができるようにするコマンドを生成する。そのため、ドローンは、高度を得つつ左への僅かな回転を実行する。これらの操縦コマンドを保持するために、ユーザは、自分の指を用いて、自分がロックしたい操縦コマンドの場所で操縦装置のスクリーンの接触感知領域に対して更に高い圧力を及ぼし、それにより、これらの操縦コマンドがドローンを操縦するべく印加され続ける。」
特許文献5には、表示装置と移動体と通信可能に接続される情報処理装置が開示されている。該情報処理装置は、表示装置の画面に対する、当該画面上の少なくとも2点を定める第1の操作を受付ける受付手段と、受付手段が受付けた第1の操作により定められた点の位置関係に基づいて、当該点同士を直線で結んだ経路を除く、所定のパターンの経路の移動を、移動体に実施させるための情報を、当該移動体に送信する送信手段とを備える。
特許第6855616号公報 特許第6685742号公報 特許第6470112号公報 特開2017-123148号公報 特開2021-12612号公報
従来の操作用のコントローラは、操作対象機器専用のものであり、汎用性に乏しかった。
特許文献1ないし5に記載のように、タッチパネルを用いて、操作対象機器を操作する場合でも、操作用として、実用的に使用可能なタッチパネルのサイズが限られる。
特許文献1の操作装置では、ムーブ操作の後、タッチオンの状態が継続して検出されている場合に、指示手段が、ムーブ操作に基づく移動を継続させる。特許文献2の操作装置では、ピンチアウト操作又はピンチイン操作の後、タッチオンの状態が継続して検出されている場合に、指示手段が、ピンチアウト操作又はピンチイン操作に基づく移動を継続させる。
したがって、特許文献1及び2の操作装置の場合、タッチオンの状態を継続しやすいサイズのタッチパネルが用いられなければならない。
特許文献3の移動装置操作端末では、ドラッグ操作の角度に応じて、水平移動か、垂直移動かを判定することとしている。
しかし、このような操作では、操作対象機器の細かな操作ができない。
特許文献4の装置では、ユーザは、自分の指を用いて、自分がロックしたい操縦コマンドの場所で操縦装置のスクリーンの接触感知領域に対して更に高い圧力を及ぼさなければならない。
したがって、接触感知領域に対して、指を押し続けることが可能なサイズのタッチパネルを用いなければならない。
特許文献5の情報処理装置は、少なくとも画面上の2点を定めて操作を行うものである。
しかし、このような2点を定める操作が可能なサイズのタッチパネルを用いなければならない。
このように、特許文献1ないし5のいずれに記載の装置においても、操作用に、ある程度の大きさを有するタッチパネルが必要となる。
また、操作のパターンも限られたものとなっている。
さらに、これらの装置では、指を触れ続けての操作が必要であり、小さいサイズのタッチパネルを使用した場合には、指を触れ続ける操作の難度が高くなる。
それゆえ、本発明は、汎用性があり、操作に用いるデバイスのサイズを選ばない機器操作用のプログラムを提供することを目的とする。
上記課題を解決するために、本発明は、以下の特徴を有する。本発明は、駆動装置を有する操作対象機器を操作するためのプログラムであって、指示体による操作を受け付ける表示装置に接続される或いは当該表示装置を備えるコンピュータを、表示装置に対する指示体による操作に基づいて、操作対象機器を操作するための操作情報を生成し、指示体が表示装置を使って操作していない場合でも、操作情報を保持する操作情報生成保持手段、及び、保持されている操作情報を操作対象機器に送信することで、操作対象機器を操作する操作手段として機能させ、操作情報生成保持手段は、表示装置を使った操作が再度行われた場合に、保持されている最新の操作情報に基づいて、操作情報の生成を再開することを特徴とする、プログラムである。
好ましくは、操作情報生成保持手段は、スワイプ中に表示装置を使った操作から離れたか否かを判断し、スワイプ中に表示装置を使った操作から離れたと判断した場合に、操作対象機器に対する現在の操作情報を保持する。
操作手段は、表示装置を使った操作が行われていない状態においても、保持されている現在の操作情報を操作対象機器に送信して、操作対象機器を操作する。
一実施形態において、さらに、上記プログラムは、コンピュータを、表示装置の表示領域において、操作対象機器に対する操作を行うための領域を操作領域とし、かつ、表示装置上の予め決められた範囲を表示領域判定枠として、仮想コントローラ画像を表示装置によって表示さる仮想コントローラ画像表示手段として機能させる。
操作情報生成保持手段は、指示体による操作が操作領域から始まり、操作領域をはみ出たとしても、表示領域判定枠に達するまでは、操作情報を生成する。
一実施形態において、さらに、上記プログラムは、コンピュータを、少なくとも、操作対象機器に対する第1の操作を行うための第1領域と、操作対象機器に対する第2の操作を行うための第2領域とに分けて、仮想コントローラ画像を表示装置によって表示さる仮想コントローラ画像表示手段として機能させる。
操作情報生成保持手段は、第1領域における指示体による操作に基づいて、第1の操作のための操作情報を生成し、第2領域における指示体による操作に基づいて、第2の操作のための操作情報を生成する。
一実施形態において、操作情報生成保持手段は、指示体による操作が第1領域から始まり、第1領域をはみ出て、第2領域に指示体の操作が達したとしても、第1領域での操作として、操作情報を生成する。
一実施形態において、予め決められた表示領域判定枠の外で指示体による操作が離れたと判断した場合、操作情報生成保持手段は、現在の操作情報を一段上の強度の操作情報であるとして更新する。
操作を受け付けるための操作入力部への入力が行われていない状態において、操作手段は、更新した現在の操作情報に基づいて、操作対象機器を操作し、表示装置を使った操作が再度行われた場合に、操作が再開した位置が属する領域における操作情報として保持されている現在の操作情報に基づいて、操作対象機器の操作を再開する。
一実施形態において、予め決められた表示領域判定枠の外で前記指示体による操作が離れたと判断した場合であり、かつ、離れた際の移動方向が所定の下方向であった場合に、操作情報生成保持手段は、離れた指示体に基づいて生成される現在の操作情報を一段下の強度の操作情報であるとして更新することもできる。
表示装置を使った操作が行われていない状態において、操作手段は、更新した現在の操作情報に基づいて、操作対象機器を操作する。
表示装置を使った操作が再度行われた場合に、操作手段は、操作が再開した位置が属する領域における操作情報として保持されている現在の操作情報に基づいて、操作対象機器の操作を再開する。
一実施形態において、上記プログラムは、コンピュータを、表示装置での操作が所定の上方向のフリックであるか否かを判断する上フリック判断手段として機能させる。
所定の上方向のフリックであると判断した場合に、操作情報生成保持手段は、現在の操作情報を一段上の強度の操作情報であるとして更新する。
操作を受け付けるための操作入力部への入力が行われていない状態において、操作手段は、更新した現在の操作情報に基づいて、操作対象機器を操作する。
操作入力部への入力が再度行われた場合に、操作手段は、入力が行われた位置が属する領域における操作情報として保持されている現在の操作情報に基づいて、操作対象機器の操作を再開する。
一実施形態において、上記プログラムは、コンピュータを、表示装置での操作がタップ又は所定の下方向へのフリックであるか否かを判断するタップ・下フリック判断手段として機能させる。
タップ又は所定の下方向へのフリックであると判断した場合に、操作情報生成保持手段は、離れた指示体に基づいて生成される現在の操作情報を一段下の強度の操作情報であるとして更新する。
操作を受け付けるための操作入力部への入力が行われていない状態において、操作手段は、更新した現在の操作情報に基づいて、操作対象機器を操作する。
操作入力部への入力が再度行われた場合に、操作手段は、入力が行われた位置が属する領域における操作情報として保持されている現在の操作情報に基づいて、操作対象機器の操作を再開する。
一実施形態において、上記プログラムは、コンピュータを、表示装置での操作がダブルタップであるか判断するダブルタップ判断手段として機能させる。
ダブルタップであると判断した場合に、操作情報生成保持手段は、入力が行われた位置が属する領域における操作情報として保持されている情報を破棄する。
操作手段は、操作対象機器に対して、入力が行われた領域に属する移動を停止させる操作を行う。
一実施形態において、上記プログラムは、コンピュータを、表示装置での操作が停止ボタンの押下であるかを判断する停止ボタン判断手段として機能させる。
停止ボタンの押下であると判断した場合に、操作情報生成保持手段は、予め指定された領域で停止命令を実行し、それぞれの領域に属する保持されている情報を破棄する。
操作手段は、予め指定された領域に属する移動を停止させる操作を行う。予め指定された領域が全ての領域である場合は、操作対象機器を停止又はその場で待機させる操作を行う。
一実施形態において、操作情報生成保持手段は、指示体による表示装置上でのスワイプの2次元ベクトルに基づいて、操作情報を生成する。
一実施形態において、操作情報生成保持手段は、2次元ベクトルのx成分及びy成分に基づいて、操作情報を生成する。
一実施形態において、操作対象機器がドローンである場合、操作情報生成保持手段は、x成分及びy成分によって、ラダー及びエレベーターの方向及び強度を示すように、操作情報を生成する。
一実施形態において、操作対象機器がドローンである場合、操作情報生成保持手段は、x成分及びy成分によって、エルロン及びスロットルの方向及び強度を示すように、操作情報を生成する。
一実施形態において、操作対象機器がドローンである場合、操作情報生成保持手段は、x成分及びy成分によって、ラダー、エレベーター、エルロン、及びスロットルのいずれか2つの方向及び強度を示すように、操作情報を生成する。
一実施形態において、プログラムは、さらに、コンピュータを、操作対象機器がドローンである場合、ラダー、エレベーター、エルロン及びスロットルの内2つの操作を行うための第1領域と、第1領域の操作以外の2つの操作を行うための第2領域とに分けて、仮想コントローラ画像を表示装置によって表示される仮想コントローラ画像表示手段として機能させる。
操作情報生成保持手段は、第1領域における指示体によるスワイプ操作に基づいて、第1領域における操作情報を生成し、第2領域における指示体によるスワイプ操作に基づいて、第2領域における操作情報を生成する。
本発明によれば、生成された操作情報が保持され、指示体が表示装置を使った操作を行っていない場合でも、保持されている操作情報に基づいて、操作対象機器が操作されることとなる。
これにより、ソフトウエアを用いた操作が可能となるので、専用の操作用のハードウエアが不要となるのであるから、汎用性に富んだ操作用のプログラムが提供されることとなる。
そして、指示体が表示装置を使った操作を行っていない場合でも、操作が可能となるため、操作のために、指示体で、表示装置を使った操作を行い続けている必要がなく、表示装置が小さいサイズであったとしても、操作対象機器の操作がし易くなる。表示装置のサイズを選ばずに、操作を行うことが可能なプログラムが提供されることとなる。
一つの表示領域に、複数の仮想コントローラ画像を配置することも可能となり、一つの表示装置で、複数の操作性や操作パターンを設定することが可能となる。設定した複数の操作パターンを適宜選択したり、併用したりすることも可能となり、様々な操作を実現することができる。
操作領域及び表示領域判定枠を設定しておき、操作領域をはみ出たとしても、表示領域判定枠に達するまでは、操作情報を生成するようにしておけば、操作を開始する操作領域が小さかったとしても、表示領域判定枠の全体を操作のために使用することが可能となる。よって、一つの仮想コントローラ画像はもちろんのこと、複数の仮想コントローラ画像を適宜配置して、表示領域全体を使うなどした操作が可能となり、様々な操作パターンを提供可能となる。
表示領域を、第1領域と第2領域とに分けて、仮想コントローラ画像を配置し、第1領域の第1の操作と、第2領域の第2の操作とを別々にして、操作情報を生成することで、様々な操作パターンを提供可能となる。
第1領域から始まり、第1領域をはみ出て、第2領域に指示体の操作が達したとしても、第1領域での操作として、操作情報を生成すれば、表示領域を広く利用して、第1の操作が可能となる。
スワイプ中に、表示領域判定枠の外で指が離れた場合は、一段上の強度となって、操作対象機器の操作が継続され、再操作の際には、一段上の強度から操作の継続が可能となる。
スワイプ中に、下方向への移動によって、表示領域判定枠の外に指が離れた場合には、一段下の強度となって、操作対象機器の操作が継続され、再操作の際には、一段下の強度から操作の継続が可能となる。
所定の上方向へのフリックが行われた場合、一段上の強度となって、操作対象機器の操作が継続され、再操作の際には、一段上の強度から操作の継続が可能となる。
タップ又は所定の下方向へのフリックが行われた場合、一段下の強度となって、操作対象機器の移動表示が継続され、再操作の際には、一段下の強度から操作の継続が可能となる。
ダブルタップ又は停止ボタンの押下が行われた場合は、操作対象機器を停止又はその場で待機させることが可能となる。
スワイプの2次元ベクトルに基づいて、操作情報を生成することで、正確な操作情報の生成が可能となる。
2次元ベクトルのx成分及びy成分に基づいて操作情報を生成することにすれば、たとえば、ドローンの操作が可能となる。すなわち、ラダー、エレベーター、エルロン、及びスロットルの方向及び強度を、x成分及びy成分で決めることができる。
ラダー、エレベーター、エルロン、及びスロットルに対応する仮想コントローラ画像を、第1領域と第2領域とに分けることで、表示装置に、ドローンを操作するための仮想コントローラ画像を配置することが可能となる。第1領域及び第2領域に分けたことによる効果や、表示領域判定枠を設けることの効果は、先述したのと同様である。
本発明のこれら、及び他の目的、特徴、局面、効果は、添付図面と照合して、以下の詳細な説明から一層明らかになるであろう。
図1は、本発明の一実施形態における情報処理装置1の機能的構成を示すブロック図である。 図2は、本発明の一実施形態における操作対象機器10の機能的構成を示すブロック図である。 図3は、スワイプを例としたときの情報処理装置1及び操作対象機器10の主な処理の概要を示すフローチャートである。 図4は、情報処理装置1及び操作対象機器10の処理の大枠を示す図である。 図5は、情報処理装置1と操作対象機器10との間の通信確立処理を示すフローチャートである。 図6は、情報処理装置1における通信状態の確認処理を示すフローチャートである。 図7は、操作対象機器10の行動処理を示すフローチャートである。 図8は、情報処理装置1における各種情報の送受信処理を示すフローチャートである。 図9は、情報処理装置1におけるコントローラの操作処理を示すフローチャートである。 図10は、操作対象機器10に接続する際の表示領域の表示例及び動作を説明するための図である。 図11Aは、境界線下部でスワイプしたときの表示領域の表示例及び動作を説明するための図である。 図11Bは、スワイプして、境界線を越えたとき及び表示領域判定枠に到達したときの表示領域の表示例及び動作を説明するための図である。 図11Cは、スワイプして、表示領域判定枠からはみ出したとき及び境界線下部の任意の位置に再操作したときの表示領域の表示例及び動作を説明するための図である。 図11Dは、スワイプの後、指を離したときの表示領域の表示例及び動作を説明するための図である。 図11Eは、境界線下部に再操作してスワイプしたときの表示領域の表示例及び動作を説明するための図である。 図11Fは、スワイプの後、指を離したとき及び境界線上部で再操作したときの表示領域の表示例及び動作を説明するための図である。 図11Gは、境界線上部でスワイプしたとき及び表示領域判定枠に到達したときの表示領域の表示例及び動作を説明するための図である。 図11Hは、表示領域判定枠からはみ出したとき及び境界線上部で再操作したときの表示領域の表示例及び動作を説明するための図である。 図11Iは、境界線上部でスワイプしたとき及び表示領域判定枠に到達したときの表示領域の表示例及び動作を説明するための図である。 図11Jは、表示領域判定枠からはみ出したとき及び境界線上部で再操作したときの表示領域の表示例及び動作を説明するための図である。 図12は、タップしたときの表示領域の表示例及び動作を説明するための図である。 図13Aは、ダブルタップしたときの表示領域の表示例及び動作を説明するための図である。 図13Bは、停止ボタンをタップしたときの表示領域の表示例及び動作を説明するための図である。 図14は、上方向にフリックしたときの表示領域の表示例及び動作を説明するための図である。 図15は、下方向にフリックしたときの表示領域の表示例及び動作を説明するための図である。 図16は、操作領域の担当を説明するための図である。 図17Aは、本発明の応用例を説明するための図である。 図17Bは、本発明の応用例を説明するための図である。 図17Cは、本発明の応用例を説明するための図である。 図17Dは、本発明の応用例を説明するための図である。 図17Eは、本発明の応用例を説明するための図である。 図18は、本発明の多様性を説明するための図である。
図1において、情報処理装置1は、制御部2と、記憶部3と、表示装置4と、通信部5と、入力部6とを備えるコンピュータである。なお、表示装置4は、情報処理装置1に備わっていてもよいし、情報処理装置1とは別体として、情報処理装置1に有線及び/又は無線で接続されてもよい。また、記憶部3は、情報処理装置1に備わっていてもよいし、情報処理装置1とは別体として、情報処理装置1に有線及び/又は無線若しくはネットワークを介して接続されてもよい。記憶部3としては、ネットワークに接続された外部のストレージも含むものとする。
記憶部3には、操作対象機器10を操作するためのプログラム(「操作プログラム」と表記)及びコントローラ毎の操作情報が記憶される。ここでコントローラとは、表示装置4に表示されている少なくとも1つのコントローラであり、仮想コントローラとも言う。
制御部2は、記憶部3に記憶されている操作プログラムを読み込んで実行し、操作対象機器10の操作に関する処理、及び、表示に関する処理を実行する。
表示装置4は、表示部4aと、操作入力部4bとを含む。表示装置4は、たとえば、一般に、タッチパネルと呼ばれるものであるとよいが、限定されない。表示部4aは、液晶パネルや有機ELパネル等である。操作入力部4bは、ユーザからの指やタッチペンなどの操作を受け付ける。
入力部6は、操作入力部4b以外の入力を受け付けるためのデバイスである。
通信部5は、Wi-Fi(登録商標)機器やBluetooth(登録商標)機器などの通信機器と通信を行うためのデバイスである。通信部5は、操作対象機器10の通信部15と直接又はネットワークを介して通信することができる。
図2に示すように、操作対象機器10は、駆動部11と、制御部12と、記憶部13と、通信部15とを備える。
駆動部11は、操作対象機器10を動作させるための駆動装置である。
記憶部13は、制御部12が駆動部11を制御するために必要なプログラムやデータを記憶する。
通信部15は、通信機器1の通信部5と直接又はネットワークを介して通信することができる。
たとえば、操作対象機器10がドローンであったとすると、駆動部11は、複数のモータとそれに接続されたプロペラとからなる。
制御部12は、情報処理装置1からの操作情報に基づいて、複数のモータの回転速度を制御することで、操作対象機器10の上昇/下降(スロットル)、左右旋回(ラダー)、前進/後退(エレベーター)、及び左右平行移動(エルロン)を可能としている。
ここで、ドローンを操作するときの操作情報の例について説明する。
ドローンの操作では下記の成分が使用される。
1.上昇/下降(スロットル)
2.左右旋回(ラダー)
3.前進/後退(エレベーター)
4.左右平行移動(エルロン)
表示領域に表示されているコントローラをスワイプすることで、スワイプした方向及びスワイプの長さによって、2次元ベクトルが得られる。スワイプの向きが2次元ベクトルの向きに相当し、スワイプの長さが2次元ベクトルの大きさに相当する。
ドローンの操作の場合、上記1~4の4つの成分を2つの2次元ベクトルに振り分け、それぞれの2次元ベクトルを操作することでドローンを操作する。
たとえば、表示領域に境界線を設けて、「境界線上部」と「境界線下部」とで、2つのコントローラに分けたとする。そのとき、「境界線上部」と「境界線下部」の2つのコントローラに、それぞれ上記1~4に対応する強度を、下記のように2次元ベクトルの情報として割り当てる。
A.上昇下降左右移動(境界線上部のコントローラで操作)
X軸方向:左右平行移動(エルロン)の強度
Y軸方向:上昇/下降(スロットル)の強度
B.前後旋回移動(境界線下部のコントローラで操作)
X軸方向:左右旋回(ラダー)の強度
Y軸方向:前進/後退(エレベーター)の強度
なお、このとき、X軸方向の強度は、2次元ベクトルのx成分の大きさであり、Y軸方向の強度は、2次元ベクトルのy成分の大きさである。
なお、一例として上記割り当てとしているが、上記AのX軸方向、Y軸方向、上記BのX軸方向、Y軸方向に対しては、上記1~4をどこに割り当ててもよい。
たとえば、境界線下部のコントローラを用いて、スワイプした場合を説明する。
このとき、X軸成分の強度に合わせて旋回する操作となり、X軸成分が正の場合は、右旋回であり、X軸成分が負の場合は、左旋回となる。
同時に、Y軸成分の強度に合わせて前進または後退する操作となり、Y軸成分が正の場合は、前進となり、Y軸成分が負の場合は、後退となる。
なお、表示領域の右がX軸の正、左がX軸の負、上がY軸の正、下がY軸の負としているが、限定されるものではなく、逆の関係でもよいし、表示領域の向きによって、適宜、変更されてもよい。
たとえば、境界線下部のコントローラを用いて、右上に向けてスワイプした場合、「X軸成分が正、Y軸成分が正」となるので、「右旋回しながら前進」という操作となり、操作対象機器10(ドローンなど)は上から見て右回りに円を描くように移動することとなる。同様に、左上に向けてスワイプした場合、「X軸成分が負、Y軸成分が正」となるので、「左旋回しながら前進」という操作となる。右下に向けてスワイプした場合、「X軸成分が正、Y軸成分が負」となるので、「右旋回しながら後進」という操作となる。左下に向けてスワイプした場合、「X軸成分が負、Y軸成分が負」となるので、「左旋回しながら後進」という操作となる。X軸及びY軸の各成分の強度次第で、旋回の円の半径は変動する。
完全に上方向にスワイプできた場合は、「X軸成分が0、Y軸成分が正」となるので、「前進」という操作となる。完全に下方向にスワイプできた場合は、「X軸成分が0、Y軸成分が負」となるので、「後進」という操作となる。完全に右方向にスワイプできた場合は、「X軸成分が正、Y軸成分が0」となるので、「右に旋回」という操作となる。完全に左方向にスワイプできた場合は、「X軸成分が負、Y軸成分が0」となるので、「左に旋回」という操作となる。
このような例を踏まえて、操作情報について説明する。
操作情報は、操作対象機器10に対して操作を指令するための情報である。操作情報には、コントローラ毎に、第1記憶枠に記憶されている情報と、第2記憶枠に記憶されている情報とがある。
第1記憶枠には、「現在の操作情報」として、「操作強度」、「操作強度段階」、「基本操作強度」、及び「移動方向」が記憶される。
「現在の操作情報」の「移動方向」は、スワイプしたときの2次元ベクトルの向きを表している。
「現在の操作情報」の「操作強度」は、スワイプしたときの2次元ベクトルの大きさを表している。なお、「操作強度」は、操作対象機器10での操作内容に適した形式で記憶されおり、2次元ベクトルの大きさのまま記憶されていてもよいし、X軸成分の大きさ及びY軸成分の大きさに分解されて表されていてもよく、その他の形式で記憶されていてもよい。
「現在の操作情報」の「操作強度段階」は、操作強度の段階を表している。
「現在の操作情報」の「基本操作強度」は、「操作強度段階」における基本の操作強度を表している。
第2記憶枠には、操作強度段階毎に、「基本操作強度」が記憶される。
以下、情報処理装置1及び操作対象機器10の動作について、説明する。
最初に、図3を用いて、スワイプを例としたときの情報処理装置1及び操作対象機器10の主な処理の概要を説明する。
まず、情報処理装置1は、操作対象機器10に対して、通信接続を要求する(S100)。操作対象機器10は、通信可能状態で待機していたところに(S120)、情報処理装置1からの通信接続要求を受信すると、接続を受諾する(S121)。情報処理装置1は、操作対象機器10の接続受諾を確認して、接続を確立する(S101)。
図10に、操作対象機器10への接続の際、情報処理装置1の表示領域の例を示す。図10に示されているように、同領域の左枠の「操作端末」の枠内の下段のコントローラの右下にある「接続」ボタンを押下すると、Wi-Fi(登録商標)やBluetooth(登録商標)などの無線で、ドローンやラジコンなどの操作対象機器10に接続される。同領域の右枠の「操作対象」の枠に示されている「フィールド」の範囲内は、無線接続可能な範囲である。「フィールド」は、中継機を用いて、範囲拡張も可能である。接続可能範囲内で、範囲指定がある場合は、範囲指定が優先される。ただし、接続範囲については、本発明を限定するものではない。
情報処理装置1と操作対象機器10とは、常時、接続状態確認(S102)と接続応答(S122)とを行っているものとする。
このようにして接続が確立された段階で、使用者が操作入力部4bの表示領域の任意位置で指で操作したとする(S103)。情報処理装置1は、その位置に応じて、使用するコントローラを決定する(S104)。そして、情報処理装置1は、スワイプが行われた場合(S105)、該スワイプに応じた操作情報を操作対象機器10に送信する(S106)。
操作対象機器10は、操作情報を受信して(S123)、操作対象となるモータなどのデバイスの認識や処理速度などの操作情報の仕分けを行う(S124)。操作に対応した各装置が、処理を実行する(S125)。
たとえば、図11Aに示されているように、表示領域の左枠の境界線より下の同領域下部領域で操作したら、情報処理装置1は、同領域下部領域に割り当てられているコントローラを用いて、操作対象機器10の操作を行うものとする。
ここでは、ドローンを例にして説明するが、表示領域下部領域は、操作対象機器10を左右旋回(ラダー)及び前進/後退(エレベーター)するための仮想コントローラとなっている。同領域下部領域には、仮想コントローラとして、たとえば、図示しているように、移動方向を表現する図形が仮想コントローラ画像として用いられている。ここで示す仮想コントローラ画像は、一例に過ぎず、本発明を限定するものではない。先述したとおり、スワイプの2次元ベクトルの向き及び大きさに基づいて、操作対象機器10は、左右旋回、前進、及び後進する。
表示領域の右側の「上から見た図」には、操作対象機器10の位置を、操作対象機器10が撮像した画像と重ねて表示されていてもよい。
スワイプの後、指が表示領域判定枠に到達したとする(S107)。表示領域判定枠は、予め決められた枠であり、図11Aの例であれば、境界線下部から操作が始まった場合は、図示されているように、表示領域の上下左右の枠が、表示領域判定枠となる。境界線上部から操作が始まった場合でも、表示領域の上下左右の枠が、表示領域判定枠となる。ここでは、境界線は表示領域判定枠とはしていないが、境界線を表示領域判定枠としてもよい。
なお、表示領域判定枠との表現を、画面端判定枠と置き換えて表現してもよい。
なお、表示領域との表現を、画面と置き換えて表現してもよい。
なお、操作との表現を、接触と表現してもよい。
図面上では、「画面端判定枠」及び「接触」の表現を用いる箇所があるが、「表示領域判定枠」及び「操作」の意味である。
そして、指が、表示領域判定枠からはみ出したとする(S108)。情報処理装置1は、「基本操作強度」を「はみ出す前の操作強度」に更新し(S109)、「操作強度段階」を加算し(S110)、「操作強度」をそのまま継続する(S111)。そして、情報処理装置1は、S103の動作に戻る。
このようにして、スワイプが行われた場合、操作位置に応じたコントローラが利用されて、操作に応じた操作情報が操作対象機器10に送信されて、操作対象機器10の操作が行われる。
もし、通信の切断が実行されたとすると(S112)、情報処理装置1は、通信切断実行を、操作対象機器10に対して、送信する(S113)。
操作対象機器10は、切断指示を受信し(S126)、切断前処理(S128)の後、通信を切断する(S129)。また、操作対象機器10側で、通信切断要因が発生した場合(S127)にも、切断前処理(S128)の後、通信を切断する(S129)。
また、バッテリー不足や距離等の要因で、通信状態の確認が不能になった場合(通信タイムアウトの場合)(S114)、情報処理装置1は、S100の動作に戻る。
次に、図4を用いて、情報処理装置1及び操作対象機器10において実行される処理の大枠について説明する。
情報処理装置1と操作対象機器10とは、双方向に通信可能となるように、通信確立処理を実行する(S301)。
通信が確立された後は、情報処理装置1は、通信状態確認処理を、随時実行する(S302)。
操作対象機器10は、情報処理装置1からの操作情報を受信して、操作情報に応じた処理(行動処理)を実行する(S303)。
情報処理装置1は、各種情報の送受信処理を実行する(S304)。
情報処理装置1は、コントローラの操作処理を実行して、使用者の操作によって得られる操作情報を生成する(S305)。
図5を用いて、情報処理装置1と操作対象機器10とによる通信確立処理について説明する。
情報処理装置1は、操作対象機器10に対して、通信接続を要請する(S401)。このときの通信方法は、使用している各通信規格に準拠するものとする(以下同様)。そして、情報処理装置1は、受信待機する(S402)。
操作対象機器10は、通信可能状態で待機していたときに(S501)、情報処理装置1からの要請を受けたとすると、接続を受諾して(S502)、送受信が開始される(S503)。操作対象機器10は、通信状態を情報処理装置1に送信する(S504)。
情報処理装置1は、操作対象機器10からの通信状態を受信できているか否かを判断する(S403)。受信できていない場合、情報処理装置1は、待機する(S402)。受信できた場合、情報処理装置1は、操作対象機器10との通信接続を確立する(S404)。
図6を用いて、通信状態の確認処理について説明する。
情報処理装置1は、操作対象機器10との通信状態を確認する(S601)。確認が可能であった場合(S602のYes)、情報処理装置1は、接続状態と判定し(S603)、S601に戻る。確認が出来なかった場合(S602のNo)、情報処理装置1は、通信を切断して(S604)、通信確立処理(S301)に戻る。
このように、情報処理装置1は、操作対象機器10との間で、随時、通信状態が維持できているかを確認している。
図7を用いて、操作対象機器10の行動処理について説明する。
操作対象機器10は、情報処理装置1から送信されてくる操作情報を受信し(S701)、受信に応答する(S702)。操作対象機器10は、受信した操作情報が適切か否かを判断する(S703)。適切でない場合、操作対象機器10は、処理をスキップして、S701に戻る(S704)。適切である場合、操作対象機器10は、操作情報に応じて、駆動装置11を制御するなどの処理を実行する(S705)。
図8を用いて、各種情報の送受信処理について説明する。
まず、情報処理装置1は、コントローラの画像(仮想コントローラ画像)を、表示装置に表示させる(S800)。使用者は、コントローラを指などの指示体で操作する。その操作に応じて、後述の図9の処理に従って、操作情報が生成され、保持される。
情報処理装置1は、予め決めた範囲を表示領域判定枠として、仮想コントローラ画像を生成する。
また、情報処理装置1は、操作対象機器10の位置が分かる画像を、表示装置4に表示させるとよい。
なお、ドローンを操作する場合は、一例であるが、たとえば、図11Aに示すように、境界線の上部をエルロン及びスロットルの操作のための仮想コントローラ画像とし、境界線の下部をラダー及びエレベーターの操作のための仮想コントローラ画像とするとよい。境界線の左右に、それぞれの仮想コントローラ画像を設けてもよいことは言うまでもない。また、図11Aの「上から見た図」に示すように、情報処理装置1は、操作対象機器10の位置が分かるような画像を、表示装置4に表示する。このように、操作対象機器10がドローンである場合、表示装置4における表示領域上で、ラダー及びエレベーターの操作を行うための第1領域と、エルロン及びスロットルの操作を行うための第2領域とを分けておくとよい。なお、第1領域及び第2領域とは、相対的な呼称であるので、第1領域を第2領域と呼称し、第2領域を第1領域と呼称してもよい。
情報処理装置1は、コントローラに入力された操作情報を操作対象機器10に送信し(S801)、送信が成功したか否かを判断する(S802)。送信に成功した場合(S802のYes)、情報処理装置1は、規定時間待機する(S803)。送信に失敗した場合(S802のNo)、情報処理装置1は、規定回数送信に失敗したか否かを判断する(S804)。規定回数失敗した場合(S804のYes)、情報処理装置1は、操作対象機器10との通信を切断して(S805)、通信確立処理(S301)に戻る。規定回数失敗していない場合(S804のNo)、情報処理装置1は、S801の処理に戻る。
このように、情報処理装置1は、送信情報を操作対象機器10に送信することで、操作対象機器10を操作する操作手段として機能する。情報処理装置1は、保持されている操作情報を操作対象機器10に送信する。したがって、表示装置4に対しての指示体での操作が行われていない状態においても、情報処理装置1は、操作対象機器10を操作することが可能となっている。
上記の操作情報の送信と合わせて、情報処理装置1は、操作対象機器10の状態を受信し(S806)、受信に成功したか否かを判断する(S807)。受信に成功した場合(S807のYes)、情報処理装置1は、規定時間待機する(S808)。受信に失敗した場合(S807のNo)、情報処理装置1は、規定回数受信に失敗したか否かを判断する(S809)。規定回数失敗した場合(S809のYes)、情報処理装置1は、操作対象機器10との通信を切断し(S810)、通信確立処理(S301)に戻る。規定回数失敗していない場合(S809のNo)、情報処理装置1は、S806の処理に戻る。
図9を用いて、コントローラの操作処理による操作情報の生成及び保持のフローについて説明する。なお、ここでは、指で操作として説明するが、指以外に、タッチペンなどの他の指示体で操作した場合も同様の処理の流れとなる。なお、以下の説明では、表示領域の一部に各コントローラに割り当てられた担当領域が決められているとして説明するが、表示領域の全てが一つのコントローラに担当領域として割り当てられていてもよい。
担当領域内の任意の位置に指で操作した場合(S201)、制御部2は、「現在の操作情報」の「操作強度」を、「基本操作強度」に更新する(S202)。
S201の動作の開始タイミングとしては、以下の二つがある。第1は、初めての操作や「現在の操作情報」がリセットされている場合である。第2は、「現在の操作情報」に指が離れる前の情報が保持されている場合である。
第1の場合、S202の動作では、「現在の操作情報」の「操作強度」がデフォルトの値(たとえば、「0」)に設定される。
第2の場合、後述のS212、S217、又はS223の動作より、指が離れる前の「操作強度」が「基本操作強度」として保持されることになる。第2の場合、S202の動作では、「現在の操作情報」の「操作強度」が、保持されている「基本操作強度」に更新される。よって、再度表示領域に指で操作した場合、指が離れる直前の操作が継続されることとなる。
本発明の実施形態では、仮想コントローラ画像の領域を一以上設けている。そのため、情報処理装置1が、再操作の位置を判断し、その位置が属する領域における操作情報として保持されている現在の操作情報が、再操作後の操作に利用される。すなわち、後述の第1領域に再操作されたのであれば、第1領域について保持されている現在の操作情報に基づいて、操作対象機器10の操作が再開されるのであり、後述の第2領域に再操作されたのであれば、第2領域について保持されている現在の操作情報に基づいて、操作対象機器10の操作が再開されるのである。この再操作のときに利用される現在の操作情報については、スワイプ、上フリック、下フリック、及びダブルタッチのいずれの場合についても同様である。よって、以後の説明において、再操作の際は、再操作の位置に対応する領域について保持されている操作情報に基づいて操作が再開されることを前提とし、都度の説明を省略する。
そして、行われた操作が、スワイプであるか、上方向へのフリック(図9上、「上フリック」と表記する。)であるか、タップ又は下方向へのフリック(図9上、「下フリック」と表記する。)であるか、ダブルタップであるか、停止ボタンの押下であるかを判断する(S203)。
上フリックの判別基準となる上方向とは、適宜、予め決められた所定の角度としておけばよい。したがって、所定の上方向とは、表示領域の側面に対して、完全に平行な上方向である必要はなく、所定の決められた角度の範囲内の上方向をいう。
下フリックの判別基準となる下方向についても、適宜、予め決められた角度としておけばよい。したがって、所定の下方向とは、表示領域の側面に対して、完全に平行な下方向である必要はなく、所定の決められた角度の範囲内の下方向をいう。
また、表示デバイスとの位置関係や表示デバイスの向きや傾斜方向などに基づいて、上下が決まるものであるから、上方向及び下方向とは、概念的には、第1方向及び第2方向と表現することができる。
スワイプとフリックの違いは、適宜、周知の技術に基づいて定義付けられ、両者が区別できるものとして定義付けられていればよい。
また、スワイプをスライドやスクロールと表現したとしても、それは、スワイプに含まれるものとする。
タップとは、表示領域を一回軽くタッチする操作である。ダブルタップとは、表示領域を二回連続で軽くタッチする操作である。
<スワイプの場合の動作>
S203において、制御部2がスワイプであると判断した場合(S204)、制御部2は、スワイプの長さに応じて、「現在の操作情報」の「操作強度」を、アップさせて(S208)、スワイプの方向に応じて、「現在の操作情報」の「移動方向」を変更する(S209)。このとき、再操作された場合は、一旦、基本操作強度に戻って、スワイプによる強度のアップを再開してもよいし、保持されている現在の操作強度から、スワイプによる強度のアップを再開するようにしてもよい。すなわち、再操作された場合、情報処理装置1は、保持されている操作情報に基づいて、新たな操作情報を生成していけばよいのであり、どの強度から再開するかは、任意である。
なお、実際に挙動を試行してみたところ、再操作された場合に、一旦、基本操作強度に戻って、スワイプによる強度のアップを再開する操作とすることのメリットが確認できたので、説明しておく。もちろん、本発明を限定する意図ではない。
たとえば、n-1段階の基本操作強度(「n-1段階のデフォルト」という。)が10であったとし、n段階の基本操作強度(「n段階のデフォルト」という。)が300であったとする。
仮に、再操作時に、再操作する前の保持されている現在の操作強度からスワイプによる強度のアップを再開する場合を考える。この場合、n段階中は、後述のタップでn-1段階のデフォルトには戻れるが、n段階のデフォルトには戻れない。また、n段階のデフォルトに戻るためには、n+1段階に進んだ上でタップしなければならない。加えて、n段階中にタップするとn-1段階のデフォルトに戻るため極端な減速となりやすく操作難度が高くなる。さらに、n-1段階中に再操作を繰り返すことで強度が加算され得るため表示領域判定枠のサイズで強度加算量を制限できず、操作強度段階ごとの強度差が大きくなり操作精度が落ちる。また、同じ強度段階の操作における基本操作強度のデフォルト速度としての役割や、同強度段階における強度加算範囲限定としての表示領域判定枠の役割が消失する。
一方、再操作時に、一旦、基本操作強度に戻って、スワイプによる強度のアップを再開する場合は、n段階のデフォルトから始まるので、n-1段階のデフォルト、n段階のデフォルト、及びn+1段階のデフォルトを使い分けての操作が実現でき、操作がし易いというメリットがある。
なお、先述したとおり、ドローンの操作例であれば、制御部2は、スワイプを2次元ベクトルとして認識し、当該2次元ベクトルの方向を「移動方向」とし、当該2次元ベクトルのx成分の大きさをラダーの「操作強度」とし、y成分の大きさをエレベーターの「操作強度」とするとよい。
次に、制御部2は、指が表示領域から離れたか否かを判断する(S210)。なお、この処理は、指が同領域から離れたことによる割り込み処理でもよいことは言うまでもない。指が同領域から離れない間、即ち、スワイプが続いている間、制御部2は、S208及びS209の動作を実行する。指が同領域から離れたら、制御部2は、指が離れたのが表示領域判定枠の外か否かを判定する(S211)。
ここで、「表示領域判定枠」とは、操作のための担当領域と一致してもよいし、担当領域を超えた範囲を、表示領域判定枠としてもよいし、さらに、表示領域全体を表示領域判定枠としてもよい。
上記のいずれの場合でも、仮想コントローラ画像やオブジェクト、その他の有無に関係なく、表示領域の任意の位置に触れば、操作が行われるようにしてもよいし、逆に、一部の表示部分については、操作を受け付けないようにしてもよい。同領域のどの領域で操作を受け付けるかについては、本発明を何ら限定するものではない。
S210において指が表示領域から離れたか否かの判断は、S211の表示領域判定枠の外で指が離れたか否かの判断の前にある。したがって、指が同領域から離れたという事象は、表示領域判定枠の内側で指が離れた場合と、表示領域判定枠の外側で指が離れた場合との両方を含むことになる。
なお、実装されるハードウエア又はプログラムによっては、S210及びS211のように、2段階に判断せずに、1段階の判断で、表示領域判定枠の内側で指が離れたか、表示領域判定枠の外側で指が離れたかを判断することができる可能性がある。そのような場合であっても、指が表示領域から離れたか否かが判断されていることになるのであり、そのようなハードウエア又はプログラムであっても、本発明に含まれることになる。
S211において、指が離れたのが表示領域判定枠の内側である場合(S211のNoの場合)、制御部2は、第1記憶枠に記憶されている「現在の操作情報」の「基本操作強度」を保持し(S212)、「現在の操作情報」の「操作強度段階」を保持し(S213)、「現在の操作情報」の「操作強度」を保持し(S214)、「現在の操作情報」の「移動方向」を保持し(S215)、担当領域内の任意の位置で再操作されるまで待機する。これらのデータの保持は、担当領域に対応するコントローラ毎に行われる。
このように、スワイプの後、指が表示領域判定枠の内側で離れた場合は、「現在の操作情報」が保持されたままとなる。したがって、指が離れていても、保持されている「現在の操作情報」が操作対象機器10に送信される(S801)こととなる。
また、このように、「現在の操作情報」が保持されるので、再操作した場合には、保持されている「現在の操作情報」に基づいて、S202以降のステップによって、指が離れる前の操作が継続していくことになる。再操作の際の操作判定(S203)において、同様のスワイプ操作であればもちろんのこと、スワイプ以外の操作が行われていた場合であっても、指が離れる前の操作が継続されることになり、直感的かつ優れた操作性が実現できる。
S211において、指が離れたのが表示領域判定枠の外側である場合(S211のYesの場合)、制御部2は、指が表示領域判定枠から外れる直前の第1記憶枠の「操作強度」を第2記憶枠の「基本操作強度」として記憶する(S216)。このとき、「基本操作強度」を記憶するための第2記憶枠の「操作強度段階」は、「現在の操作情報」における「操作強度段階」となる。
次に、制御部2は、第2記憶枠に記憶した第1記憶枠の「操作強度」の値を第1記憶枠の「基本操作強度」に設定して、「現在の操作情報」を更新する(S217)。
次に、制御部2は、「基本操作強度」が新たに設定されたため「操作強度段階」を加算して、一段上の操作強度にして、「現在の操作情報」を更新する(S218)。制御部2は、「現在の操作情報」の「操作強度」はそのまま保持し(S219)、「移動方向」もそのまま保持し(S220)、担当領域内の任意の位置で再操作されるまで待機する。
表示領域判定枠の外で指が離れた場合であっても、S219及びS220の動作によって、「現在の操作情報」の「操作強度」及び「移動方向」が保持されている。したがって、S212~S215のときと同様に、フレームタイミングが到来した場合、指が離れていても、保持されている「現在の操作情報」に基づいて、操作対象機器10を操作することができる。
また、「現在の操作情報」が保持されるので、再操作された場合には、保持されている「現在の操作情報」に基づいて、S202以降のステップによって、指が離れる前の操作が継続していくことになる。再操作の際の操作判定(S203)において、同様のスワイプ操作であればもちろんのこと、スワイプ以外の操作が行われていた場合であっても、指が離れる前の操作が継続されることになり、直感的かつ優れた操作性が実現できる。
そして、S216において、第1記憶枠の「現在の操作情報」の「操作強度段階」に対応する第2記憶枠の操作強度段階の「基本操作強度」が設定されることとなり、S217及びS218において、「現在の操作情報」の「操作強度段階」が加算されて、一段上の新たな操作強度段階の「操作強度」が次のスワイプ操作のとき更新されていくこととなる。よって、表示領域判定枠の外までスワイプされた場合には、次の操作において、一段上の「操作強度段階」での操作が行われることとなるので、段階的な操作が可能となる。
なお、現在の操作情報の強度を一段上げる処理は、離れた指に基づいて生成されていた現在の操作情報である。すなわち、操作していた間の領域に対応する操作情報である。
<スワイプの場合の表示例:表示例はドローンの操作表示を一例とする。他の表示例も同様とする。>
<図11Aの例:境界線下部の領域で指で操作してスワイプが始まった場合>
最初に左下部のコントローラで操作した場合について説明する。境界線下部の領域に指で操作したとする。そして、指が移動したとすると、仮想コントローラ画像は、指の移動方向を表現する画像となる。「操作強度」の数値は、指の移動距離に合わせて更新されていく。
スワイプの2次元ベクトルの向きに合わせて、操作対象機器10が前進及び右旋回するように、操作情報が情報処理装置1から操作対象機器10に対して送信される。上から見た図は、当該操作情報に応じて操作対象機器10の移動方向を表現した画像となる。
<図11Bの例:指が境界線を越えた場合>
境界線下部の領域(第1領域)に指で操作し、スワイプ操作が境界線を越えてはみ出して、境界線上部(第2領域)のコントローラに達したとしても、境界線上部(第2領域)のコントローラは反応しないこととする。境界線下部(第1領域)から始まった操作は、境界線下部(第1領域)のコントローラを使った操作とする。指の移動距離に合わせて、操作強度が更新されていく。また、仮想コントローラ画像は、指の移動方向を表している。操作対象機器10は、指の移動距離に対応した強度のy成分の大きさに合わせて、前進すると共に、同x成分の大きさに合わせて、旋回する。
<図11Cの例:指が表示領域判定枠からはみ出た場合>
指が表示領域判定枠からはみ出たとする。その場合、操作強度は保持され、操作強度段階が一つ加算され、基本操作強度が更新される。そして、操作対象機器10は、そのまま、維持されている現在の操作情報であるところの操作強度と移動方向に従って、移動を継続する。
その後、再度、指を境界線下部の任意の位置で再操作させたとする。操作強度、操作強度段階、及び基本操作強度が保持されて、再操作後の指の動きに合わせて、現在の操作情報が更新されていくこととなる。
<図11Dの例:再操作後のスワイプの場合>
境界線下部への再操作後、指の移動距離に合わせて、操作強度が更新されていく。操作強度は基本操作強度をベースとして加算される(継続加算という)。また、指の移動方向に合わせて、仮想コントローラ画像の矢印の向きが変わる。指を離したとしても、操作強度と回転角度(移動方向)は、そのまま維持されるため、操作対象機器10も、そのままの操作強度及び移動方向にしたがって、移動を継続する。
<図11Eの例:図11Dの後の再操作後のスワイプの場合>
図11Dでは、表示領域判定枠まで到達せずに、指が離れたとしている。その後、境界線下部で再操作させたとする。一度指を離して再操作させたとすると、操作強度は基本操作強度に戻る。
なお、ここでは、再操作された場合は、再操作されたら、一旦、基本操作強度に戻って、スワイプによる強度のアップを再開するとして図示しているが、再操作された場合、保持されている現在の操作強度から、スワイプによる強度のアップを再開してもよい。
そして、指の移動距離に合わせて、操作強度が加算され(継続加算)、指の移動方向に合わせて、仮想コントローラ画像の矢印の向きが変化する。
<図11Fの例:境界上部のコントローラでの操作の場合>
図11Eの後、指を離しても操作強度と回転角度(旋回方向)はそのまま維持されるため、操作対象機器10もそのまま移動する。境界線上部の任意の位置で指で操作したとする。このとき、境界線上部を担当領域とする操作となるので、境界線下部の操作強度や回転角度(旋回方向)は、更新されない。境界線上部での操作は、ここでは、操作対象機器10の上昇、下降、左右移動であるとしている。図11Fの右側の下部の図に示すように横から見た図が表示されて、操作対象機器10の上下、左右移動が表現されるとよいが、限定されない。
<図11Gの例:境界線上部のコントローラでのスワイプの場合>
指の移動距離に合わせて、操作強度が更新されていく。また、指の移動方向に合わせて、仮想コントローラ画像が回転する。境界線上部のスワイプの2次元ベクトルの方向及び大きさに合わせて、上昇/下降(スロットル)及び左右平行移動(エルロン)が行われる。横から見た図にあるように、当該2次元ベクトルのx成分の大きさが、左右平行移動(エルロン)の強度となり、y成分の大きさが上昇/下降(スロットル)の強度となる。境界線上部のコントローラの操作中、境界線下部のコントローラによる操作は解除されないので、左旋回、右旋回、前進、又は後進しながら、上昇、下降、右移動、又は左移動が可能となる。
<図11Hの例:境界線上部のコントローラを使用している場合で、指が表示領域判定枠からはみ出した場合及び境界線上部の任意の位置で再操作された場合>
図11Gの操作から、指が表示領域判定枠からはみ出した場合、境界線上部のコントローラの操作強度は保持され、操作強度段階が加算され、基本操作強度が更新される。そして、指が離れた状態でも、境界線下部の操作情報に基づいて、前進及び旋回が継続され、境界線上部の操作情報に基づいて、上昇及び移動が継続される。
この状態で、指が境界線上部の任意の位置に再操作したとして、スワイプが行われたとする。その場合を図11Iに示す。
<図11Iの例:境界線上部の任意の位置での再操作後のスワイプの場合>
境界線上部へそのまま操作する限り、境界線上部でのコントローラでの操作となる。境界線上部からそのまま境界線下部へ指が移動しても、境界線下部のコントローラは反応しない。
指の移動距離に合わせて、境界線上部のコントローラの操作強度は更新していき、指の移動方向に合わせて、仮想コントローラ画像が回転する。横から見た図に示すように、スワイプの2次元ベクトルのy成分の大きさに応じた強度で、操作対象機器10が下降し、かつ、x成分の大きさに応じた強度で、操作対象機器10が左に移動する。
そして、指が表示領域判定枠に到達したとする。
<図11Jの例:指が表示領域判定枠からはみ出した場合及び境界線上部の任意の位置に再操作した場合>
図11Iの右側の図の後、指が表示領域判定枠からはみ出したとすると、操作強度は保持され、操作強度段階が加算され、基本操作強度が更新される。そして、操作対象機器10は、その現在の操作情報に基づいて移動を継続する。
図11Jの右側の図に示すように、境界線上部で指が再操作した場合、境界線上部及び下部のコントローラによる操作は解除されずに、操作対象機器10が移動を継続する。
<上フリックの場合の動作>
S203での操作判定によって、制御部2が上フリックを認識したとする(S205:上フリック判断手段)。上フリックの場合、制御部2は、S216以降の処理に進む。すなわち、上フリックの場合には、スワイプの場合と異なり、スワイプの長さ及び方向に応じた「操作強度」のアップ及び「移動方向」の変更(S208,S209)は行われないが、「操作強度段階」が加算される処理が行われることとなる。
<図14の例:上フリックの場合>
図14の左図に示すように、境界線下部において、上方向のフリック(上フリック)が行われたとする。このとき、図9に示すように、「操作強度」のアップ及び「移動方向」の変更(S208,S209)は行われないが、S216以降の動作に進むので、指が表示領域判定枠からはみ出したときと同様の挙動が行われることとなる。すなわち、操作強度は維持され、操作強度段階が一つ加算され、基本操作強度が更新される。そして、操作対象機器10は、そのまま、維持されている現在の操作情報であるところの操作強度と移動方向に従って、移動を継続する。
<タップ又は下フリックの場合の動作>
S203での操作判定によって、制御部2がタップ又は下フリックを認識したとする(S206:タップ・下フリック判断手段)。制御部2は、記憶されている現在の操作強度段階の情報を破棄する(S221)。次に、制御部2は、「現在の操作情報」の「操作強度段階」が一段下になるように減算し(S222)、減算後の「操作強度段階」に対応した第2記憶枠に記憶されている「基本操作強度」を、「現在の操作情報」の「基本操作強度」とするように、「現在の操作情報」を更新する(S223)。そして、制御部2は、「現在の操作情報」の「操作強度」が「基本操作強度」となるように、「現在の操作情報」を更新する(S224)。制御部2は、「現在の操作情報」の「移動方向」は、保持したままとし(S225)、担当領域内の任意の位置で操作するまで待機する。
なお、現在の操作情報の強度を一段下げる処理は、離れた指に基づいて生成されていた現在の操作情報である。すなわち、操作していた間の領域に対応する操作情報である。
そして、「現在の操作情報」が保持されるので、再度、表示領域で操作した場合には、保持されている「現在の操作情報」に基づいて、S202以降のステップによって、指が離れる前の操作が継続していくことになる。再操作の際の操作判定(S203)において、同様のタップ又は下クリック操作であればもちろんのこと、タップ又はしたクリック以外の操作が行われていた場合であっても、指が離れる前の操作が継続されることになり、直感的かつ優れた操作性が実現できる。
<図12の例:タップの場合>
<タップ又は下フリックの場合の表示例>
図12の左側の図に示すように、境界線下部の任意の位置をタップしたとする。操作強度が1段階前の基本操作強度に更新されて、操作強度段階が減算され、基本操作強度が1段階前の基本操作強度に更新される。移動方向は保持される。このようにして、操作強度が基本操作強度にリセットされる。境界線上部のコントローラの各種情報及び方向は保持される。
図12の右側の図に示すように、境界線上部の任意の位置をタップしたとする。操作強度が1段階前の基本操作強度に更新されて、操作強度段階が減算され、基本操作強度が1段階前の基本操作強度に更新される。移動方向は保持される。このようにして、操作強度が基本操作強度にリセットされる。境界線下部のコントローラの各種情報及び方向は保持される。
<図15の例:下フリックの場合>
基本的には「下フリック」と「タップ」が同じ挙動となる。ただし、図15のような上昇、下降のスロットル操作においては下方向へのスワイプが「下方向への移動」となることから、操作者の感覚において「下フリック」に強度加算の概念が発生し、基本的な挙動と矛盾してしまうケースがある。
そこで、エレベーター操作時は「下フリック」と「タップ」が同じ挙動、スロットル操作時は「下フリック」と「下方向スワイプで表示領域判定枠外へ指が出た場合」が同じ挙動になるとした方が、操作者の感覚に合うため、図15は、そういったケースの一例として示している。
<ダブルタップ又は停止ボタン押下の場合の動作>
S203での操作判定によって、制御部2がダブルタップを認識した(S207:ダブルタップ判断手段)、又は、停止ボタンが押下された(S240:停止ボタン判断手段)とする。制御部2は、仮想コントローラ画像に表示されている「操作強度段階」の表示をリセットし(S226)、「操作強度段階」の表示をリセットし(S227)、「操作強度」の表示をリセットし(S228)、「移動方向」の表示をリセットする(S229)。
なお、ダブルタップによって破棄される情報は、ダブルタップの際に操作した位置が属する領域の操作情報として保持されている情報である。当該情報が破棄されたら、情報処理装置1は、操作対象機器10に対して、操作した領域に属する移動を停止させる操作を行う。
停止ボタンが押下された場合に破棄される情報は、予め指定された領域に属する保持されている情報である。全ての領域の情報が破棄されてもよいし、一部の領域の情報が破棄されてもよい。そして、情報処理装置1は、停止ボタンが押下されたら、予め指定された領域に属する移動を停止させる操作を行う。予め指定された領域が全ての領域である場合は、情報処理装置1は、操作対象機器10を停止又はその場で待機させる操作を行う。
そして、制御部2は、第1記憶枠と全ての操作強度段階の第2記憶枠に記憶の情報を破棄して(S230)、担当領域内の任意の位置で操作するまで待機する。
<図13Aの例:ダブルタップの場合>
ダブルタップされた領域のコントローラに対応する操作情報のみがリセットされて、他の領域のコントローラに対応する操作情報は、リセットされない。
図13Aの左側の図にあるように、境界線下部の任意の位置でダブルタップされた場合、下部コントローラの操作情報はリセットされるが、上部コントローラの操作情報は保持されたままとなる。
図13Aの右側の図にあるように、境界線上部の任意の位置でダブルタップされた場合、上部コントローラの操作情報はリセットされるが、下部コントローラの操作情報は保持されたままとなる。
<図13Bの例:停止ボタンのタップの場合>
図13Bに示されているように、たとえば、境界線上に、停止ボタンが配置されているとする。なお、停止ボタンの位置は、任意の位置でよい。
停止ボタンがタップされると、全てのコントローラの操作情報がリセットされる。
なお、停止ボタンによってリセットされるコントローラについては、任意にプリセット可能である。
図13Bに示す例では、境界線の上下のコントローラに対応する操作情報が同時にリセットされている。
上記に説明したように、図9の動作によって、情報処理装置1は、表示装置4に対する指示体による操作に基づいて、操作対象機器10を操作するための操作情報を生成し、指示体が表示装置4を操作していない場合でも、操作情報を保持する操作情報生成保持手段として機能していることが分かる。
<操作領域及び表示領域判定枠について>
上記においても、操作のための領域及び表示領域判定枠について、説明したが、ここで、操作領域及び表示領域判定枠について小括する。
情報処理装置1は、表示装置4の表示領域において、操作対象機器10に対する操作を行うための領域を操作領域としている。そして、操作領域と同一か又は操作領域よりも大きい範囲について、予め決められた範囲を表示領域判定枠とする。そして、情報処理装置1は、操作領域に、仮想コントローラ画像を表示させる。このように、情報処理装置1は、表示装置4の表示領域において、操作対象機器10に対する操作を行うための領域を操作領域とし、かつ、表示装置4上の予め決められた範囲を表示領域判定枠として、仮想コントローラ画像を表示装置4に表示させる仮想コントローラ画像表示手段として機能している。
そして、情報処理装置1は、操作が操作領域から始まり、操作領域をはみ出たとしても、表示領域判定枠に達するまでは、操作情報を生成していく。
また、情報処理装置1は、仮想コントローラ画像表示手段として機能する際、たとえばドローンの操作で例示したように、操作対象機器10に対する第1の操作(例示したドローンの場合であれば、ラダー及びエレベーター)を行うための第1領域と、操作対象機器10に対する第2の操作(例示したドローンの場合であれば、エルロン及びスロットル)を行うための第2領域とに分けるようにしてもよい。
そして、情報処理装置1は、操作情報生成保持手段として機能する際、第1領域における指示体による操作に基づいて、第1の操作のための操作情報を生成し、第2領域における指示体による操作に基づいて、第2の操作のための操作情報を生成して、それぞれ保持していく。
図16に示したとおり、指が離れない限り、最初に操作した位置を含む領域のコントローラが操作を担当することとする。図16の左の図であれば、境界線上部で操作したので、境界線上部のコントローラが操作を担当する。この場合、仮想の操作領域(指の移動範囲)は、境界線下部の領域まで及んでいる。
また、図16の右の図であれば、境界線下部で操作したので、境界線下部のコントローラが操作を担当する。この場合、仮想の操作領域(指の移動範囲)は、境界線上部の領域まで及んでいる。
表示領域判定枠は、図16に示した仮想操作領域の端ということになる。
<応用例>
図17A~図17Eに応用例を示す。
図17Aに示すように、広い表示領域にそれぞれ「操作特性」が異なるコントローラを配置することができる。たとえば、超微細操作から超高速操作まで多彩な操作を端末1つで実現できる。たとえば、図17Aのコントローラであれば、操作対象を目的地に急接近させた後、高精度の位置調整が可能である。
図17Bに示すように、広い表示領域にそれぞれ「操作対象部位」が異なるコントローラを配置することができる。例えば、深海探査機器、遠隔手術機器などにおけるアームA,アームB,アームC,…など、複数の部位を端末1つで操作可能である。また、例えば、人型ロボット、災害救助ロボットなど、視点変更、移動、旋回、バランスなど複数の行動を端末1つで幅広く操作可能である。
図17Cに示すように、操作強度の増加数値を微細にすることで、超高精度の操作が可能となる。
図17Dに示すように、左側のコントローラで、操作単位を調整し、右側のコントローラで操作を行うようにすることで、操作強度の単位を調整しながらの操作が可能となる。また、タッチ判定ポイントを増やすことで、複数同時操作が可能となる。
図17Eに示すように、小さな表示領域を最大限活用して精度良く操作が可能である。また、接続が可能であるならば、特性の異なる複数の操作端末での操作も可能となる。
なお、ここには、図示していないが、操作対象機器10を複数の機器として、各機器に、コントローラを当てはめて、複数の機器を1つの端末から操作することも可能である。
<多様性>
図18に示すように、使用する端末としては、スマートフォン、スマートウォッチ、タブレット、タッチスクリーン、立体映像など、種々のものが考えられる。いくつもの端末を使用しているかのような操作を多様な端末1つで実現可能である。プログラムで表示されたコントローラに触れて操作可能な機器であれば、端末の様式は問わない。
<操作対象機器の数について>
上記実施形態では、操作対象機器10は、一つであるとしたが、操作対象機器10を複数として、複数のコントローラを用いて、複数の操作対象機器10を制御するようにしてもよい。その場合、情報処理装置1は、操作対象となる機器に対して、コントローラによって得られた操作情報を送信するようにすればよく、他の動作については、上記した実施形態の技術を用いればよい。
<操作対象機器の種類について>
上記実施形態では、主に、操作対象機器10は、ドローンであるとして、説明を行ったが、操作対象機器10は、ドローンに限られない。操作対象となる機器に合せて、コントローラに入力された操作情報を操作対象機器に送信するようにすれば、操作対象機器は、本発明においては限定されない。
(変形例)
上記図9に示す実施形態では、表示領域判定枠から指が離れるか否かを判断するに際しては、上方向であるか下方向であるか、又は、それ以外の方向であるかについては判断していなかった。しかし、操作対象機器10によっては、下方向にスワイプして表示領域判定枠の外から指が離れた場合には、減速するとした方が、感覚的に適している場合がある。
また、下フリックによって、「操作強度段階」の減算を試みようとして失敗して、指が表示領域判定枠から外に出てしまった場合、上記図9に示す実施形態では、逆に、「操作強度段階」が加算されてしまい、感覚的操作と逆の操作になってしまう場合がある。
また、フリック操作には、感覚的個人差があり、操作性の良し悪しへの影響が大きい。
また、表示領域上にボタン(たとば、ポーズボタン)が配置されている環境下において、操作者が「操作強度段階」を減算(たとえば、減速)するためにタップしたときを考える。操作者が操作に夢中になっているときに、減速のためにタップしたとして、その位置に、ポーズボタンが配置されていた場合、操作者の減速の意図とは異なりポーズが実行されてしまう場合がある。このように、タップによる「操作強度段階」の減算の場合にも、操作者の意図と異なる操作が生じてしまう可能性がある。
上記図9の実施形態では、「操作段階強度」を上げたい場合、スワイプを行って、表示領域判定枠の外で指を離すか、若しくは、上フリックを行うこととなる。「操作段階強度」
を下げたい場合には、タップ又は下フリックを行うことになる。
しかし、上記したように、感覚的操作からすると、下方向へのスワイプによって、表示領域判定枠の外で指を離すことによって、「操作強度段階」を下げることができれば、操作性はさらに向上する場合がある。また、タップミスや下フリックミスなどの可能性も考慮すれば、かかる操作は、有効であると考えられる。
そこで、情報処理装置1は、スワイプ時に、表示領域判定枠の外で指が離れた場合に、指が離れた際の移動方向が所定の下方向であるか否かを判断するとよい。
ここで、所定の下方向とは、表示領域の側面に対して、完全に平行な下方向である必要はなく、所定の決められた角度の範囲内の下方向をいう。
そして、下方向以外の方向で、表示領域判定枠の外で指が離れた場合には、情報処理装置1は、S216以降の処理に進んで、「操作強度段階」を一段上げる処理を行う。一方、所定の下方向で指が離れた場合には、情報処理装置1は、タップ又は下フリックの場合と同様に、S221以降の処理に進んで、「操作強度段階」を一段下げる処理を行う。
なお、上記の一段上げる処理や一段下げる処理は、操作から離れた指が、操作中に生成していた現在の操作情報の強度である。
これによって、下方向にスワイプした場合であって、そのまま、表示領域判定枠の外で指が離れた場合には、S221以降の処理に進み、「操作強度段階」が一段下に減算されて、減算された「操作強度段階」に応じた「操作強度」に「現在の操作情報」が更新されることとなる。
その他、操作強度の加算処理や減算処理は、操作対象の特性や操作環境などに合わせて、適宜、変更するとよい。
たとえば、指が表示領域判定枠から外で離れた際に、上方向のスワイプ操作であったのか、右方向のスワイプ操作であったのか、左方向のスワイプ操作であったのか、下方向のスワイプ操作であったのか、これらの全部又は一部を判断して、スワイプ操作の方向に合わせた操作強度の加減処理を実行するようにしてもよい。
上記変形例によれば、下方向へのスワイプによって表示領域判定枠の外で指が離れた場合に、一段下に強度が下がることとなるので、感覚的に適した操作が可能となる。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本明細書に開示されている発明の構成要件は、それぞれ独立に単独した発明として成立するものとする。各構成要件をあらゆる組み合わせ方法で組み合わせた発明も、本発明に含まれることとする。
本発明は、操作対象機器の操作用のプログラムであり、産業上利用可能である。
1 情報処理装置
2 制御部
3 記憶部
4 表示装置
4a 表示部
4b 操作入力部
5 通信部
6 入力部
10 操作対象機器
11 駆動部
12 制御部
13 記憶部
15 通信部

Claims (16)

  1. 駆動装置を有する操作対象機器を操作するためのプログラムであって、指示体による操作を受け付ける表示装置に接続される或いは当該表示装置を備えるコンピュータを、
    前記表示装置に対する前記指示体による操作に基づいて、前記操作対象機器を操作するための操作情報を生成し、前記指示体が前記表示装置を使って操作していない場合でも、前記操作情報を保持する操作情報生成保持手段、及び、
    保持されている前記操作情報を前記操作対象機器に送信することで、前記操作対象機器を操作する操作手段として機能させ、
    前記操作情報生成保持手段は、
    前記表示装置を使った操作が再度行われた場合に、保持されている最新の操作情報に基づいて、前記操作情報の生成を再開することを特徴とする、プログラム。
  2. 前記操作情報生成保持手段は、
    スワイプ中に前記表示装置を使った操作から離れたか否かを判断し、
    スワイプ中に前記表示装置を使った操作から離れたと判断した場合に、前記操作対象機器に対する現在の操作情報を保持し、
    前記操作手段は、
    前記表示装置を使った操作が行われていない状態においても、保持されている前記現在の操作情報を前記操作対象機器に送信して、前記操作対象機器を操作する、請求項1に記載のプログラム。
  3. さらに、前記コンピュータを、
    前記表示装置の表示領域において、前記操作対象機器に対する操作を行うための領域を操作領域とし、かつ、前記表示装置上の予め決められた範囲を表示領域判定枠として、仮想コントローラ画像を前記表示装置によって表示される仮想コントローラ画像表示手段として機能させ、
    前記操作情報生成保持手段は、前記指示体による操作が前記操作領域から始まり、前記操作領域をはみ出たとしても、前記表示領域判定枠に達するまでは、前記操作情報を生成することを特徴とする、請求項2に記載のプログラム。
  4. さらに、前記コンピュータを、
    少なくとも、前記操作対象機器に対する第1の操作を行うための第1領域と、前記操作対象機器に対する第2の操作を行うための第2領域とに分けて、仮想コントローラ画像を前記表示装置によって表示される仮想コントローラ画像表示手段として機能させ、
    前記操作情報生成保持手段は、前記第1領域における前記指示体による操作に基づいて、前記第1の操作のための操作情報を生成し、前記第2領域における前記指示体による操作に基づいて、前記第2の操作のための操作情報を生成することを特徴とする、請求項2に記載のプログラム。
  5. 前記操作情報生成保持手段は、前記指示体による操作が前記第1領域から始まり、前記第1領域をはみ出て、前記第2領域に前記指示体の操作が達したとしても、前記第1領域での操作として、前記操作情報を生成することを特徴とする、請求項4に記載のプログラム。
  6. 予め決められた表示領域判定枠の外で前記指示体による操作が離れたと判断した場合、前記操作情報生成保持手段は、前記現在の操作情報を一段上の強度の操作情報であるとして更新し、
    前記操作を受け付けるための操作入力部への入力が行われていない状態において、前記操作手段は、更新した前記現在の操作情報に基づいて、前記操作対象機器を操作し、
    前記表示装置を使った操作が再度行われた場合に、操作が再開した位置が属する領域における操作情報として保持されている前記現在の操作情報に基づいて、前記操作対象機器の操作を再開することを特徴とする、請求項2に記載のプログラム。
  7. 予め決められた表示領域判定枠の外で前記指示体による操作が離れたと判断した場合であり、かつ、離れた際の移動方向が所定の下方向であった場合に、前記操作情報生成保持手段は、離れた指示体に基づいて生成される前記現在の操作情報を一段下の強度の操作情報であるとして更新することもでき、
    前記表示装置を使った操作が行われていない状態において、前記操作手段は、更新した前記現在の操作情報に基づいて、前記操作対象機器を操作し、
    前記表示装置を使った操作が再度行われた場合に、前記操作手段は、操作が再開した位置が属する領域における操作情報として保持されている前記現在の操作情報に基づいて、前記操作対象機器の操作を再開することを特徴とする、請求項2に記載のプログラム。
  8. 前記コンピュータを、
    前記表示装置での操作が所定の上方向のフリックであるか否かを判断する上フリック判断手段として機能させ、
    前記所定の上方向のフリックであると判断した場合に、前記操作情報生成保持手段は、前記現在の操作情報を一段上の強度の操作情報であるとして更新し、
    前記操作を受け付けるための操作入力部への入力が行われていない状態において、前記操作手段は、更新した前記現在の操作情報に基づいて、前記操作対象機器を操作し、
    前記操作入力部への入力が再度行われた場合に、前記操作手段は、入力が行われた位置が属する領域における操作情報として保持されている前記現在の操作情報に基づいて、前記操作対象機器の操作を再開することを特徴とする、請求項2に記載のプログラム。
  9. 前記コンピュータを、
    前記表示装置での操作がタップ又は所定の下方向へのフリックであるか否かを判断するタップ・下フリック判断手段として機能させ、
    タップ又は前記所定の下方向へのフリックであると判断した場合に、前記操作情報生成保持手段は、離れた指示体に基づいて生成される前記現在の操作情報を一段下の強度の操作情報であるとして更新し、
    前記操作を受け付けるための操作入力部への入力が行われていない状態において、前記操作手段は、更新した前記現在の操作情報に基づいて、前記操作対象機器を操作し、
    前記操作入力部への入力が再度行われた場合に、前記操作手段は、入力が行われた位置が属する領域における操作情報として保持されている前記現在の操作情報に基づいて、前記操作対象機器の操作を再開することを特徴とする、請求項2に記載のプログラム。
  10. 前記コンピュータを、
    前記表示装置での操作がダブルタップであるかを判断するダブルタップ判断手段として機能させ、
    ダブルタップであると判断した場合に、前記操作情報生成保持手段は、入力が行われた位置が属する領域における操作情報として保持されている情報を破棄して、
    前記操作手段は、前記操作対象機器に対して、入力が行われた領域に属する移動を停止させる操作を行う、
    ことを特徴とする、請求項2に記載のプログラム。
  11. 前記コンピュータを、
    前記表示装置での操作が停止ボタンの押下であるかを判断する停止ボタン判断手段として機能させ、
    停止ボタンの押下であると判断した場合に、前記操作情報生成保持手段は、予め指定された領域で停止命令を実行し、それぞれの領域に属する保持されている情報を破棄して、
    前記操作手段は、予め指定された領域に属する移動を停止させる操作を行うか、若しくは、予め指定された領域が全ての領域である場合は、操作対象機器を停止又はその場で待機させる操作を行う、
    ことを特徴とする、請求項2に記載のプログラム。
  12. 前記操作情報生成保持手段は、前記指示体による前記表示装置上でのスワイプの2次元ベクトルに基づいて、前記操作情報を生成することを特徴とする、請求項2に記載のプログラム。
  13. 前記操作情報生成保持手段は、前記2次元ベクトルのx成分及びy成分に基づいて、前記操作情報を生成することを特徴とする、請求項12に記載のプログラム。
  14. 前記操作対象機器がドローンである場合、前記操作情報生成保持手段は、前記x成分及び前記y成分によって、ラダー、エレベーター、エルロン及びスロットルの内2つの方向及び強度を示すように、前記操作情報を生成することを特徴とする、請求項13に記載のプログラム。
  15. 前記操作対象機器がドローンである場合、前記操作情報生成保持手段は、前記x成分及びy成分によって、ラダー、エレベーター、エルロン及びスロットルの内、前記2つの方向及び強度以外の方向及び強度を示すように、前記操作情報を生成することを特徴とする、請求項14に記載のプログラム。
  16. さらに、前記コンピュータを、
    前記操作対象機器がドローンである場合、ラダー、エレベーター、エルロン及びスロットルの内2つの操作を行うための第1領域と、前記第1領域の操作以外の2つの操作を行うための第2領域とに分けて、仮想コントローラ画像を前記表示装置によって表示される仮想コントローラ画像表示手段として機能させ、
    前記操作情報生成保持手段は、前記第1領域における前記指示体によるスワイプ操作に基づいて、前記第1領域における操作情報を生成し、前記第2領域における前記指示体によるスワイプ操作に基づいて、前記第2領域における操作情報を生成することを特徴とする、請求項2に記載のプログラム。

JP2023069066A 2022-08-01 2023-04-20 操作対象機器の操作用のプログラム Pending JP2024020127A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023069066A JP2024020127A (ja) 2022-08-01 2023-04-20 操作対象機器の操作用のプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022122408A JP7274157B1 (ja) 2022-08-01 2022-08-01 操作対象機器の操作用のプログラム
JP2023069066A JP2024020127A (ja) 2022-08-01 2023-04-20 操作対象機器の操作用のプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2022122408A Division JP7274157B1 (ja) 2022-08-01 2022-08-01 操作対象機器の操作用のプログラム

Publications (1)

Publication Number Publication Date
JP2024020127A true JP2024020127A (ja) 2024-02-14

Family

ID=86327304

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022122408A Active JP7274157B1 (ja) 2022-08-01 2022-08-01 操作対象機器の操作用のプログラム
JP2023069066A Pending JP2024020127A (ja) 2022-08-01 2023-04-20 操作対象機器の操作用のプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2022122408A Active JP7274157B1 (ja) 2022-08-01 2022-08-01 操作対象機器の操作用のプログラム

Country Status (3)

Country Link
US (1) US20240036568A1 (ja)
EP (1) EP4318202A1 (ja)
JP (2) JP7274157B1 (ja)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01298243A (ja) 1988-05-27 1989-12-01 Mitsuhiko Yoshida 絣糸調整機
JP5790203B2 (ja) * 2011-06-29 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法、プログラム、および遠隔操作システム
JP2014155129A (ja) * 2013-02-12 2014-08-25 Tsubakimoto Chain Co 指示装置、コンピュータプログラム、移動体システム及び指示方法
JP6470112B2 (ja) * 2015-06-01 2019-02-13 日本電信電話株式会社 移動装置操作端末、移動装置操作方法及び移動装置操作プログラム
EP3101889A3 (en) * 2015-06-02 2017-03-08 LG Electronics Inc. Mobile terminal and controlling method thereof
FR3042613A1 (fr) * 2015-10-19 2017-04-21 Parrot Dispositif de pilotage d'un drone apte a maintenir des commandes de pilotage et procede de commande associe.
JP6685742B2 (ja) * 2016-02-02 2020-04-22 キヤノン株式会社 操作装置、移動装置、およびその制御システム
JP6621032B2 (ja) * 2017-01-30 2019-12-18 パナソニックIpマネジメント株式会社 運転支援装置、運転支援システム、運転支援方法、運転支援プログラム及び自動運転車両
US20190250601A1 (en) * 2018-02-13 2019-08-15 Skydio, Inc. Aircraft flight user interface
EP3880547A4 (en) * 2018-12-31 2023-01-11 Tomahawk Robotics REMOTE OPERATION IN SPACE OF SUPPORT LEG VEHICLES
CN111656313A (zh) * 2019-04-28 2020-09-11 深圳市大疆创新科技有限公司 屏幕显示切换方法、显示设备、可移动平台
JP2021012612A (ja) * 2019-07-09 2021-02-04 キヤノンマーケティングジャパン株式会社 情報処理装置、情報処理のシステム、およびそれらの制御方法、プログラム
JP6855616B2 (ja) * 2020-04-01 2021-04-07 キヤノン株式会社 操作装置、移動装置、およびその制御システム

Also Published As

Publication number Publication date
JP7274157B1 (ja) 2023-05-16
JP2024019758A (ja) 2024-02-14
US20240036568A1 (en) 2024-02-01
EP4318202A1 (en) 2024-02-07

Similar Documents

Publication Publication Date Title
US11388280B2 (en) Device, method, and graphical user interface for battery management
EP2631767B1 (en) Method, computer readable medium and portable apparatus for scrolling a screen in a touch screen display apparatus
US20190369817A1 (en) Information processing apparatus
CN102880405B (zh) 信息处理装置以及信息处理方法
KR102188097B1 (ko) 페이지 운용 방법 및 그 전자 장치
US8482527B1 (en) Apparatus and method of providing user interface on head mounted display and head mounted display thereof
US9218027B2 (en) Information processing apparatus, information processing method and program
US10042386B2 (en) Information processing apparatus, information processing method, and program
JP6222879B2 (ja) 移動体の制御方法、装置及び移動デバイス
EP2597555A1 (en) Information processing terminal and control method therefor
US10362258B2 (en) Information processing to control a movement of a focus displayed on a display screen
US20120079433A1 (en) Device and system and method for interacting with target in operation area
KR20120023867A (ko) 터치 스크린을 구비한 휴대 단말기 및 그 휴대 단말기에서 컨텐츠 표시 방법
JP2016225872A (ja) 移動装置操作端末、移動装置操作方法及び移動装置操作プログラム
US9996242B2 (en) Composite gesture for switching active regions
JP7274157B1 (ja) 操作対象機器の操作用のプログラム
JP5756682B2 (ja) 情報処理装置
CN110955340B (zh) 游标控制系统以及游标控制方法
KR20200138132A (ko) 페이지 운용 방법 및 그 전자 장치
WO2015052902A1 (en) Information processing apparatus, control method, and storage medium
CN103513881A (zh) 电子设备及电子设备中控制显示界面的方法及装置
CN116048314B (zh) 一种光标控制方法、光标控制设备及存储介质
EP4369168A1 (en) Electronic device, and method for improving movement operation of object
CN107688421A (zh) 一种在触控设备上显示3d界面的控制方法和系统
US20140225853A1 (en) Information processing device, information processing method, and program