JP6959976B2 - 制御装置、制御方法、情報処理装置、情報処理方法及びプログラム - Google Patents

制御装置、制御方法、情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6959976B2
JP6959976B2 JP2019501370A JP2019501370A JP6959976B2 JP 6959976 B2 JP6959976 B2 JP 6959976B2 JP 2019501370 A JP2019501370 A JP 2019501370A JP 2019501370 A JP2019501370 A JP 2019501370A JP 6959976 B2 JP6959976 B2 JP 6959976B2
Authority
JP
Japan
Prior art keywords
hardware
program
function
control device
virtual
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.)
Active
Application number
JP2019501370A
Other languages
English (en)
Other versions
JPWO2018155483A1 (ja
Inventor
翔三郎 嶋田
和俊 柏本
シッダールタ ビジャイ ピライ
伸太郎 板本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Viviware
Original Assignee
Viviware
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 Viviware filed Critical Viviware
Publication of JPWO2018155483A1 publication Critical patent/JPWO2018155483A1/ja
Application granted granted Critical
Publication of JP6959976B2 publication Critical patent/JP6959976B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H30/00Remote-control arrangements specially adapted for toys, e.g. for toy vehicles
    • A63H30/02Electrical arrangements
    • A63H30/04Electrical arrangements using wireless transmission
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/04Building blocks, strips, or similar building parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0069Engineering, e.g. mechanical, electrical design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/40Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by components specially adapted for near-field transmission
    • H04B5/48Transceivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2209/00Arrangements in telecontrol or telemetry systems
    • H04Q2209/40Arrangements in telecontrol or telemetry systems using a wireless architecture
    • H04Q2209/43Arrangements in telecontrol or telemetry systems using a wireless architecture using wireless personal area networks [WPAN], e.g. 802.15, 802.15.1, 802.15.4, Bluetooth or ZigBee

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Educational Administration (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Technology (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)
  • Toys (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Description

本発明は、制御装置、制御方法、情報処理装置、情報処理方法及びプログラムに関する。
従来から、子供の教育を目的とした組み立て式玩具の提供は、広く普及しており、関連する技術は数多く提案されている(例えば、特許文献1)。
例えば、特許文献1に記載された技術によれば、簡単な配線やプログラミングによって組み立て式玩具を構築することができる組み立てブロックの提供がなされている。
この特許文献1に記載された技術によれば、年齢の低いユーザであっても、複雑な作業や操作を行うことなく、組み立て式玩具を構築することができる。
特開平10−108985号公報
しかしながら、上述の特許文献1の技術では、各組み立てブロックは、既存のプログラムによって単一に制御されているに過ぎず、組み立て式玩具の動作や制御の自由度には、限界があった。
即ち、例えば、上述の特許文献1の技術のみでは、各組み立てブロックの夫々の機能を組み合わせて、プログラムを作製するような処理を実行することはできなかった。
換言すれば、上述の特許文献1の技術のみでは、各組み立てブロックの夫々の機能を組み合わせるといった高度な処理を実行させるためには、別途、複雑なプログラムを作成する必要があった。
本発明は、このような状況に鑑みてなされたものであり、ユーザが視覚的な操作よって、より容易に複雑なプログラムを作製することが出来る技術を提供する。
上記目的を達成するため、本発明の一態様の制御装置は、
制御装置と、前記制御装置と近距離無線通信でペアリングする機能と他のハードウェアデバイスと通信をする機能を有する1以上の第1ハードウェアデバイスと、前記第1ハードウェアデバイスと通信をする機能と所定の機能を発揮する機能を有する1以上の第2ハードウェアデバイスとを含む情報処理システムにおける、前記制御装置であって、
前記第1ハードウェアデバイスと前記第2ハードウェアデバイスとの組を複数組み合わせて所定の一連の処理を実行させる制御を実行する制御実行手段と、
所定方式の近距離無線通信により、前記制御実行手段の制御対象となる前記第1ハードウェアデバイスと前記制御装置とのペアリングを実行するペアリング実行手段と、
前記制御実行手段の制御対象となる前記第1ハードウェアデバイスと前記制御装置とのペアリングの状態を提示する提示手段と、
を備える。
本発明の一態様の制御方法、情報処理装置、情報処理方法及びプログラムも、本発明の一態様の情報処理システムに対応する制御方法、情報処理装置、情報処理方法及びプログラムとして提供される。
本発明によれば、ユーザが視覚的な操作よって、より容易に複雑なプログラムを作製することが出来る技術を提供することができる。
本発明の一実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の一実施形態に係るユーザ端末のハードウェア構成の一例を示すブロック図である。 本発明の一実施形態に係るベーシックコアのハードウェア構成の一例を示すブロック図である。 本発明の一実施形態に係る機能モジュールのハードウェア構成の一例を示すブロック図である。 本発明の一実施形態に係るベーシックコア及び機能モジュールが接続された状態の構成の一例を示す図である。 図2のユーザ端末、図3のベーシックコア及び図4の機能モジュールの機能的構成例を示す機能ブロック図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に関する状態の遷移を示す状態遷移図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに実際に表示される画面の一例を示す図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに実際に表示される画面の一例であって図8とは異なる例を示す図である。 本発明の一実施形態に係る具体的な一例を示す図である。 本発明の一実施形態に係る情報処理システムにより実行される接続状態認識処理に際し、図2のユーザ端末に実際に表示される画面の一例を示す図である。 本発明の一実施形態に係る情報処理システムにより実行される再接続関連付け処理に際し、図2のユーザ端末に実際に表示される画面の一例を示す図である。 本発明の一実施形態に係る情報処理システムにより実行される再接続関連付け処理の図12とは異なる例の処理に際し、図2のユーザ端末に実際に表示される画面の一例を示す図である。
以下、本発明の実施形態について、図面を用いて説明する。
本発明は、ユーザが視覚的な操作よって、より容易に複雑なプログラムを作製するための技術的思想の創作である。
ユーザは、プログラム作製用に表示されるユーザインタフェース(以下、「プログラム作製画面」と呼ぶ)に表示された各種アイコンを操作することで、プログラムを作製することができる。
具体的には例えば、ユーザは、プログラム作製画面に表示された特定のハードウェアの動作を指定するプログラムの内容を示すアイコン(以下、「ハードウェアパーツ」又は「Hパーツ」と呼ぶ)及び特定のソフトウェアの実行を指定するプログラムの内容を示すアイコン(以下、「ソフトウェアパーツ」又は「Sパーツ」と呼ぶ)を視認することができる。
そして、ユーザは、これらのアイコンを任意に移動(例えば、Drag And Drop等)させることで、各種アイコンを組み合わせてプログラムを作製する。
このようにして作製されたプログラムは、例えば、組み立て式の玩具等に利用することができる。
つまり、本発明の一実施形態に係る情報処理システムは、容易な操作によってプログラムを作製することができるため、プログラムの仕組みや作成方法を子供に学ばせるための教材として極めて有用である。
図1は、本発明の一実施形態に係る情報処理システムの構成を示すブロック図である。
図1に示す情報処理システムは、ユーザにより使用されるユーザ端末1と、m個のベーシックコア2−1乃至2−m(mは1以上の任意の整数値)と、m個の機能モジュール3−1乃至3−mとを含むシステムである。
さらに、ユーザ端末1は、ベーシックコア2−1乃至2−mの夫々と、各種方式、例えばNFC(登録商標)(Near Field Communication)、Bluetooth(登録商標)等の各種方式で通信を行う。
なお、以下、ベーシックコア2−1乃至2−mの夫々を個々に区別する必要がない場合、これらをまとめて「ベーシックコア2」と、機能モジュール3−1乃至3−mを個々に区別する必要がない場合、これらをまとめて「機能モジュール3」と呼ぶ。
ここで、本実施形態で用いられる、ベーシックコア2及び機能モジュール3について簡単に説明する。
ベーシックコア2とは、後述する機能モジュール3と接続して使用するハードウェアデバイスであり、近距離無線通信(例えば、NFC(登録商標)の規格に準拠した通信)でユーザ端末1とのペアリングを行う。
ユーザ端末1は、所定のベーシックコア2−Kとペアリングを行うことで、ベーシックコア2−K(Kは、1乃至mのうち任意の整数値)と、ベーシックコア2−Kと接続された所定の機能モジュール3−Kとを認識する。
機能モジュール3−Kとは、例えば、温度センサ等の各種センサ、ブザー等の操作器具、モーターや扇風機等の駆動器具等により構成されるハードウェアデバイスである。
ここで、上述のユーザ端末1とベーシックコア2−Kとのペアリングについて説明する。本実施形態では、ベーシックコア2−Kに接続された機能モジュール3−Kの動作を少なくとも伴うプログラムの作製に際して、ユーザ端末1とベーシックコア2−Kとについて近距離無線通信を利用したペアリングを行う必要がある。
ペアリングとは、端的に言えば、近距離無線通信を用いて、ユーザ端末1に、ベーシックコア2−K及びそれに接続されている機能モジュール3−Kの種別や接続状態等を認識させることをいう。
なお、詳細については後述するが、ユーザ端末1では、機能モジュール3−Kの種別や接続の状態等を認識すると、接続された機能モジュール3−Kに対応するHパーツがプログラム作製画面に表示される。
図2は、本発明の一実施形態に係るユーザ端末1のハードウェア構成を示すブロック図である。
ユーザ端末1は、タブレット等で構成される。
ユーザ端末1は、CPU(Central Processing Unit)21と、ROM(Read Only Memory)22と、RAM(Random Access Memory)23と、バス24と、入出力インターフェース25と、タッチ操作入力部26と、表示部27と、入力部28と、記憶部29と、第一近距離無線通信部30と、第二近距離無線通信部31と、通信部32と、ドライブ33と、リムーバブルメディア34とを備えている。
CPU21は、ROM22に記録されているプログラム、又は、記憶部29からRAM23にロードされたプログラムに従って各種の処理を実行する。
RAM23には、CPU21が各種の処理を実行する上において必要な情報等も適宜記憶される。
CPU21、ROM22及びRAM23は、バス24を介して相互に接続されている。このバス24にはまた、入出力インターフェース25も接続されている。入出力インターフェース25には、タッチ操作入力部26、表示部27、入力部28、記憶部29、第一近距離無線通信部30、通信部32及びドライブ33が接続されている。また、第二近距離無線通信部31も設けられている。
タッチ操作入力部26は、例えば表示部27に積層される静電容量式又は抵抗膜式(感圧式)の位置入力センサにより構成され、タッチ操作がなされた位置の座標を検出する。
表示部27は、液晶等のディスプレイにより構成され、プログラム作製に関する画像等、各種画像を表示する。
このように、本実施形態では、タッチ操作入力部26と表示部27とにより、タッチパネルが構成されている。
入力部28は、各種ハードウェア等で構成され、ユーザの指示操作に応じて各種情報を入力する。
記憶部29は、ハードディスクやDRAM(Dynamic Random Access Memory)等で構成され、各種情報を記憶する。
第一近距離無線通信部30は、例えば、NFC(登録商標)の規格に従った方式で近距離無線通信を行う制御を実行する。具体的には例えば、上述の通り、ユーザ端末1とベーシックコア2は、NFC(登録商標)の規格に従った方式で近距離無線通信をして、ペアリングを行う。
第二近距離無線通信部31は、例えば、Bluetooth(登録商標)の規格に従った方式で近距離無線通信を行う制御を実行する。具体的には例えば、ユーザ端末1で作製したプログラムの実行結果(コマンド等を含む)を、Bluetooth(登録商標)の規格に従った方式の近距離無線通信で送信する。
通信部32は、第一近距離無線通信部30及び第二近距離無線通信部31とは別個独立して、インターネット等を介して他の装置との間で行う通信を制御する。
ドライブ33は、必要に応じて設けられる。ドライブ33には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなる、リムーバブルメディア34が適宜装着される。ドライブ33によってリムーバブルメディア34から読み出されたプログラムは、必要に応じて記憶部29にインストールされる。
また、リムーバブルメディア34は、記憶部29に記憶されている各種情報も、記憶部29と同様に記憶することができる。
図3は、本発明の一実施形態に係るベーシックコア2のハードウェア構成を示すブロック図である。
ベーシックコア2は、所定のハードウェアデバイス等で構成される。
ベーシックコア2は、CPU41と、ROM42と、RAM43と、バス44と、第一近距離無線通信部45と、第二近距離無線通信部46と、接続部47と、電源部48とを備えている。
ベーシックコア2の構成のうち、CPU41、ROM42、RAM43、バス44、第一近距離無線通信部45、第二近距離無線通信部46については、ユーザ端末1の構成と基本的に同様であるので、ここではそれらの説明は省略する。
接続部47は、他のハードウェアデバイス(例えば、図1の機能モジュール3)との接続を行う。
また、接続部47は、モジュール間通信部51と、モジュール間電力伝達部52とを備える。
モジュール間通信部51は、例えば、LAN(Local Area Network)の規格に従った方式により、データ通信を行う制御を実行する。
モジュール間電力伝達部52は、後述する電源部48からの電力の供給を受けて、他のハードウェアデバイス(例えば、図1の機能モジュール3)へと、電力を伝達する。
電源部48は、電池等のバッテリーである。電源部48は、ベーシックコア2に電力を供給するとともに、モジュール間電力伝達部52を介して、適宜、機能モジュール3へ電力を供給する。
図4は、本発明の一実施形態に係る機能モジュール3のハードウェア構成を示すブロック図である。
機能モジュール3は、所定のハードウェアデバイス等で構成される。
機能モジュール3は、CPU61と、ROM62と、RAM63と、バス64と、接続部67と、機能ハードウェア68と、電力供給部69とを備えている。
機能モジュール3の構成のうち、CPU61、ROM62、RAM63、バス64、及び接続部67については、ユーザ端末1若しくはベーシックコア2の構成と基本的に同様であるので、ここではそれらの説明は省略する。
なお、機能モジュール3にも、ベーシックコア2と同様に、第一近距離無線通信部と、第二近距離無線通信部とが設けられてもよい。
機能ハードウェア68は、例えば、温度センサやブザーであり、夫々の機能モジュールが固有の機能を発揮するためのハードウェア等である。
即ち、ユーザが作製したプログラムは、機能ハードウェア68が適切にその機能を発揮することで、実際のハードウェア上に反映されるのである。
ここで、本実施形態において、プログラムの実行には、2種類の実行方法が存在する。即ち、ユーザ端末1で作製したプログラムを、ユーザ端末1のみで仮想的に実行する種類を、「シミュレーションによる実行」と呼ぶ。他方、ユーザ端末1で作製したプログラムの実行結果に基づいて機能ハードウェア68等を動作させる種類を、「実機による実行」と呼ぶ。
電力供給部69は、モジュール間電力伝達部72を介して取得した電力、又は外部の電源(例えば図5のバッテリーユニットBU)から供給された電力を機能モジュール3へ供給する。
次に、図5を用いて、ベーシックコア2−E(Eは、1乃至mのうち任意の整数値)及び機能モジュール3−Eの接続形態の詳細について説明する。
図5は、本発明の一実施形態に係るベーシックコア2−E及び機能モジュール3−Eが接続された状態の構成の一例を示す図である。
図5には、ベーシックコア2−E、機能モジュール3−E及びバッテリーユニットPPが例示されている。
ベーシックコア2−Eには、バッテリーユニットBU(例えば、後述する図6の電源部48)、シリアルポートSP及び近距離無線通信部BT(例えば、後述する図6の第2近距離無線通信部46)が備えられている。
バッテリーユニットBUは、例えば、電池等のバッテリーであり、ベーシックコア2−Eや機能モジュール3−Eに電力を供給する。
シリアルポートSPは、ベーシックコア2−Eと他のハードウェア等とを接続するための接続口(接続コネクタ)である。
図5の例では、ベーシックコア2−Eには、シリアルポートSPが備えられ、機能モジュール3−Eには、シリアルポートPSが備えられている。そして、ベーシックコア2−Eと機能モジュール3−Eは、この二つのシリアルポートSP、PSを介して接続されている。
近距離無線通信部BTは、他のハードウェア等と所定の規格(例えば、Bluetooth(登録商標))に従った方式で近距離無線通信を行うためのICカード等が搭載されている。
図5の例では、(図5においては、図示せぬ)ユーザ端末1と、近距離無線通信部BTを備えたベーシックコア2−Eとは、Bluetooth(登録商標)に従った方式で近距離無線通信を行う。
具体的に例えば、ユーザ端末1で作製されたプログラムの実行結果(コマンド等)は、ベーシックコア2−Eにも送信される。さらに言えば、ベーシックコア2−Eでは、ユーザ端末1から送信されてきた当該プログラムの実行結果(コマンド等)を取得し、さらに、その結果を、機能モジュール3−Eへと送信する。
また、機能モジュール3−Eは、タイヤT(例えば、図4の機能ハードウェア68)を備えている。そして、上述の通り、機能モジュール3−Eは、ベーシックコア2−Eから送信されてきた上述のプログラムの実行結果(コマンド等)を取得する。図5の例の機能モジュール3−Eは、ユーザ端末1で作製されたプログラムの実行結果(コマンド等)に従って、タイヤTを駆動させる。
ここで、図5の例では、機能モジュール3−Eには、バッテリーユニットPPが接続されている。このバッテリーユニットPPは、外部電源として機能モジュール3−Eに電力を供給する。なお、上述したように、ベーシックコア2の電源部48(図3)等から、機能モジュール3−Eに電力の供給が可能であるならば、バッテリーユニットPPは必須な構成要素ではない。
このようなユーザ端末1、ベーシックコア2及び機能モジュール3の各種ハードウェアと各種ソフトウェアの協働によりプログラム作製処理の実行が可能となる。
ここで、プログラム作製処理とは、ベーシックコア2に接続された機能モジュール3を1以上機能させるためのプログラムを作成するための処理をいう。
このプログラム作製処理を実現すべく、ユーザ端末1、ベーシックコア2及び機能モジュール3は、図6に示すような機能的構成を有している。
図6は、図1のユーザ端末1、ベーシックコア2及び機能モジュール3の機能的構成の一例を示す機能ブロック図である。
図6に示すように、ユーザ端末1のCPU21においては、ペアリング部101と、プログラム作製部102と、プログラム実行部103と、表示制御部104と、通信制御部105とが機能する。
また、ユーザ端末1の記憶部29の一領域には、プログラム作製部102で作製されたプログラムを格納するプログラム格納部500と、各種Sパーツが格納されているSパーツDB(Soft ware Parts Data Base)600とが設けられている。
そして、ベーシックコア2のCPU41においては、ペアリング部201と、端末通信制御部202と、機能モジュール通信制御部203と、主制御部204とが機能する。
さらに、機能モジュール3のCPU61においては、主制御部241と、機能発揮部242とが機能する。
ユーザ端末1のペアリング部101は、第一近距離無線通信部30を介して、ユーザ端末1とベーシックコア2とのペアリングを行う。なお、このペアリングは、本実施形態ではNFC(登録商標)に準拠した近距離無線通信で行われるが、これは例示に過ぎず、任意の方式の通信で行われてもよい。
また、ペアリング部101には、接続確認部111が設けられる。接続確認部111は、ユーザ端末1とペアリングしたベーシックコア2及びそれに接続された機能モジュール3の種別や接続の状況を確認する。
なお、接続確認部111に確認された機能モジュール3の種別や接続の状況は、表示制御部104を介して、プログラム作製画面に表示される。
プログラム作製部102は、ユーザのタッチ操作を受付けて、実際にプログラムの作製を行う。
ここで、プログラム作製部102には、Hパーツ供給部121と、Sパーツ供給部122と、パーツ結合部123と、確定部124とが設けられる。
Hパーツ供給部121は、ペアリング部101によりペアリングが行われたベーシックコア2に接続されている機能モジュール3の種別に対応するHパーツを、表示制御部104を介してプログラム作製画面へ表示する。
Sパーツ供給部122は、適宜、SパーツDB600からSパーツを抽出して、表示制御部104を介してプログラム作製画面へ表示する。
パーツ結合部123は、ユーザのタッチ操作に応じて、各種Hパーツ及び各種Sパーツを結合する。
最終的に作製されるプログラムにおいては、このように結合された各種Hパーツ及びSパーツに指定されたプログラムの内容が連続的に実行される。
確定部124は、ユーザに作製されたプログラムの内容を確定し、その作製されたプログラムをプログラム格納部500へ格納する。
プログラム実行部103は、プログラム格納部500に格納されたプログラムのうちから、ユーザが実行を望むプログラムを抽出して実行する。
ここで、プログラム実行部103には、シミュレーション部131と、実機部132とが設けられている。
シミュレーション部131は、ユーザに作製されたプログラムによって、ベーシックコア2及び機能モジュール3を動作させることを目的とせずに、プログラム実行部103によって抽出されたプログラムを仮想的に実行する。
即ち、シミュレーション部131は、実際に作製されたプログラムが正常に実行できるか等をチェックするためのシミュレーションを行う。なお、プログラムの実行結果は、後述するように、表示制御部104を介して表示部27に表示される。
実機部132は、ユーザに作製されたプログラムによって、ベーシックコア2及び機能モジュール3を動作させることを目的として、プログラム実行部103によって抽出されたプログラムを実行する。
即ち、プログラム実行部103は、作製されたプログラムの実行結果(コマンド等)を、ベーシックコア2及び機能モジュール3へと送信し、機能モジュール3に機能を発揮させる。
なお、プログラムの実行結果は、表示制御部104を介して表示部27に表示されるだけでなく、後述するように、通信制御部105によってベーシックコア2へと送信される。
表示制御部104は、前述した各種情報等を表示部27に表示するための制御を実行する。
通信制御部105は、プログラム実行部103の実機部132で実行されたプログラムの実行結果を第二近距離無線通信部31を介してベーシックコア2に送信するための制御等を行う。
なお、前述の通り、本実施形態では、第二近距離無線通信部31は、Bluetooth(登録商標)の規格に従った方式で近距離無線通信を行う。
ベーシックコア2のペアリング部201は、第一近距離無線通信部45を介して、ユーザ端末1とペアリングを行う。
ここで、第一近距離無線通信部45は、ベーシックコア2においてシステムと独立している。そこで、第一近距離無線通信部45には、第二近距離無線通信部46の接続情報(例えばMACアドレス)が予め書き込まれており、ペアリング部201は、そのMACアドレスを読み込んで、Bluetooth(登録商標)によるユーザ端末1とのペアリングを実現している。
端末通信制御部202は、例えば、ユーザ端末1から送信されてきたプログラムの実行結果を第二近距離無線通信部46を介して取得するための制御等を実行する。
ここで、プログラムの実行時において、当該プログラムで機能を発揮させる機能モジュール3は、所定のベーシックコア2と接続されている必要がある。
即ち、少なくともプログラムの実行時において、ベーシックコア2と機能モジュール3は、接続部47と接続部67によって接続されている。
ここで、少なくともプログラムの実行時としたのは、ベーシックコア2と機能モジュール3との接続は、ベーシックコア2とユーザ端末1とのペアリングとは独立して行うことができるからである。つまり、ペアリング前にベーシックコア2と機能モジュール3との接続がなされていてもよいが、ペアリング後にベーシックコア2と機能モジュール3との接続がなされていてもよい。後者の場合、機能モジュール3から自身のユニークIDがユーザ端末1に送信されることで、ユーザ端末1はその機能モジュール3が何であるのか(どのような機能を発揮させるものか)を認識することができる。
また、ペアリング後に機能モジュール3をベーシックコア2から外すこともできる。その際は、ベーシックコア2は、機能モジュール3が外れたことをユーザ端末に1に通知する。ユーザ端末1は、UI(後述する図8のユーザ表示画面等)に外れた旨を表示させる。より正確には本実施形態では、ユーザ端末1は、所定の機能モジュール3がベーシックコア2から外された場合は、当該所定の機能モジュール3に対応するHパーツを示すアイコンがUIにおいて非表示状態になる。
このようにして、ペアリング後の機能モジュール3のホットスワップが実現されている。即ち、ユーザにとっては、ペアリングを一旦してしまえば、あとはベーシックコア2に対する機能モジュール3の抜き差しだけでよい。この抜き差しの状態は、ユーザー端末1上のUIでも追従される。
いずれにしても、ベーシックコア2と機能モジュール3が接続されている場合、ベーシックコア2の機能モジュール通信制御部203は、接続部47を介して接続された機能モジュール3との通信の制御を実行する。
例えば、機能モジュール通信制御部203は、後述する主制御部204で出力された動作指示等を機能モジュール3へ送信する。
主制御部204は、ベーシックコア2で実行される各種処理の主たる制御を実行する。
例えば、主制御部204は、端末通信制御部202で取得したプログラムの実行結果に基づいて、機能モジュール3の機能を発揮させるための動作指示等を出力する。
機能モジュール3の主制御部241は、機能モジュール3で実行される各種処理の主たる制御を実行する。
例えば、ベーシックコア2から送信されてきた動作指示を、接続部67を介して、取得する。
機能発揮部242は、主制御部241で取得された動作指示を、機能ハードウェア68に実行させるための制御を実行する。
即ち、機能発揮部242は、主制御部241で取得された動作指示を機能ハードウェア68に実行させることで、機能モジュール3の機能を発揮させる。
なお、図6において、電力供給部69は、モジュール間電力伝達部72を介して取得した電力を機能モジュール3へ供給する様子のみが図示されているが、上述したように、外部の電源(例えば図5のバッテリーユニットBU)から供給された電力を機能モジュール3へ供給することもできる。
図7は、本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に関する状態の遷移を示す状態遷移図である。
図7において、各状態は、1つの楕円形で示されており、夫々の状態は、SPを含む符号により判別される。
1つの状態から1つの状態への状態遷移は、所定の条件(以下、「状態遷移条件」と呼ぶ)が満たされると実行される。
このような状態遷移条件は、図7おいては、1つの状態から1つの状態への遷移を表す矢印に、Aを含む符号を付して表されている。
本実施形態においては、図7に示すように、プログラム作製状態SP1が基本の状態になる。
プログラム作製状態SP1において、ユーザは、ユーザ端末1とベーシックコア2を近接させることでペアリングを行う。
なお、ここでいう近接されるとは、NFC(登録商標)規格に従った方式で近距離無線通信を行うのに有効な距離であり、一般に10cm程度の距離まで近接させることを言う。
即ち、ユーザが、ユーザ端末1とベーシックコア2とを10cm程度の距離まで近接させることで、状態遷移条件A1が満たされる。
すると、状態は、ペアリング状態SP2へと遷移する。これにより、Hパーツ供給部121は、Hパーツを表示制御部104を介してプログラム作製画面を表示する。
そして、ペアリング後、ユーザが一定の時間、操作を行わなかった場合には、状態遷移条件A2が満たされる。
すると、状態は、プログラム作製状態SP1へと再び遷移する。
ペアリング状態SP2において、ユーザが、所定の操作子(図示せぬプログラム実行ボタン等)を押下すると、状態遷移条件A3が満たされる。
すると、状態は、プログラム実行状態SP3に遷移する。
そして、先ほどと同様に、プログラム実行状態SP3において、ユーザが、ユーザ端末1とベーシックコア2を近接させることで、状態遷移条件A4が満たされる。
すると、状態は、ペアリング状態SP2へと再び遷移する。
プログラム作製状態SP1において、ユーザが、プログラムの作成が終了して、プログラムの実行を指示する所定の操作子(図示せぬプログラム実行ボタン等)を押下すると、状態遷移条件A12が満たされる。
すると、状態は、プログラム実行状態SP3に遷移する。
なお、プログラム実行状態SP3において、ユーザが、プログラムの追加や変更を所望した場合、所定の操作子(図示せぬプログラム作製ボタン等)を押下すると、状態遷移条件A13が満たされる。
すると、状態は、プログラム実行状態SP1に遷移する。
ここで、プログラム実行状態SP3には、上述したようにシミュレーション状態と実機状態2つの状態が存在する。
プログラム実行状態SP3において、これらの2つの状態は、ユーザが所定の操作子(図示せぬシミュレーションボタン等)を押下することで、夫々の状態での、状態遷移条件A10又A11を満たす。
このように、プログラム実行状態SP3において、シミュレーション状態と実機状態は、適宜、遷移することができる。
プログラム実行状態SP3において、プログラム実行後、ユーザが所定の操作子(図示せぬプログラム実行キャンセルボタン等)を押下すると、状態遷移条件A5が満たされる。
すると、状態は、休止状態SP4へと遷移する。
そして、休止状態SP4において、ユーザが所定の操作子(図示せぬプログラム実行ボタン等)を押下すると、状態遷移条件A6が満たされる。
すると、状態は、プログラム実行状態SP3へと遷移する。
休止状態SP4において、ユーザが、所定の操作子(図示せぬプログラム作製アプリケーションの起動ボタン等)を押下すると状態遷移条件A7が満たされる。
すると、状態は、プログラム作製状態SP1へと遷移する。
そして、プログラム作製状態SP1において、ユーザのが、所定の操作子(図示せぬプログラム作製キャンセルボタン等)を押下すると、遷移条件A8が満たされる。
すると、状態は、休止状態SP4へと遷移する。
なお、図7に示す通り、ペアリング状態SP2と休止状態SP4については、直接遷移することも可能である。
次に、図8及び図9を用いて、ユーザ端末1の表示部27に表示されるプログラム作製画面の詳細について説明する。
図8は、図2のユーザ端末1が実行するプログラム作製処理に関し、ユーザに実際に表示される画面の一例を示す図である。
図8において、左半分にはユーザに表示されているプログラム作製画面(以下、「ユーザ表示画面」と呼ぶ)が、右半分には実際に作製されたプログラムに応じて、動作する各種ハードウェアの模式図(以下、「ハードウェア模式図」と呼ぶ)が示されている。
まず、図8(A)は、ユーザ端末1に、いずれのベーシックコア2のペアリングもなされていない状況を示している。
即ち、図8(A)のハードウェア模式図を見ると、ユーザ端末1には、ベーシックコア2−O及び機能モジュール3−O(Oは、1乃至mのうち任意の整数値)と、ベーシックコア2−P及び機能モジュール3−P(Pは、1乃至mのうちO以外の任意の整数値)のいずれもペアリングされていない。
なお、機能モジュール3−Oは、押しボタンの機能を発揮することができる。機能モジュール3−Pは、ブザーの機能を発揮することができる。
そして、図8(A)のユーザ表示画面を見ると、プログラム作製時表示領域DAとHパーツ表示領域DHAにはアイコンは表示されていない。なお、Sパーツ表示領域DSAには、タイマーのアイコンが表示されている。
図8(B)は、ユーザ端末1と、機能モジュール3−Oが接続されたベーシックコア2−Oとのペアリングがなされ、かつ、ユーザ端末1と、機能モジュール3−Pが接続されたベーシックコア2−Pとのペアリングがなされた状況を示している。
そして、図8(B)のユーザ表示画面を見ると、ペアリングがなされた機能モジュール3−Oに対応する押しボタンのアイコン及び機能モジュール3−Pに対応するブザーのアイコンがHパーツ表示領域DHBに夫々表示されている。
図8(C)は、ユーザによって作製されたプログラムが、実行された状況を示している。
図8の(C)のユーザ表示画面を見ると、プログラム作製時表示領域DCには、右から順に押しボタンのアイコン、タイマー(2s)、ブザーのアイコンが順番に表示され、夫々のアイコンにより夫々結合されている。
ユーザは、このように、ユーザ表示画面に表示されたアイコンを視認しながら、各種Hパーツ及び各種Sパーツを自由に組み合わせて結合させることで、夫々のアイコンが指定する内容を組み合わせて1つのプログラムを製作し、そのプログラムを実行させることができる。
図8(C)のハードウェア模式図を見ると、同図のユーザ表示画面で示されるプログラムが実行された結果として、押しボタン(機能モジュール3−O)が押されると、その2秒後に、ブザー(機能モジュール3−P)が鳴るという動作が実現されることがわかる。
図9は、図2のユーザ端末1が実行するプログラム作製処理に関し、ユーザに実際に表示される画面の一例であって図8の例とは異なる例を示す図である。
図9においては、ユーザに表示されているプログラム作製画面、即ちユーザ表示画面のみが図示されている。
図9のユーザ表示画面を見ると、プログラム作製時表示領域DDには、Hパーツとして、左にはボタンのアイコンHBが表示され、右にはフルカラーLEDのアイコンHLが表示されている。それらの間には、Sパーツとして、タイマーのアイコンST、及びスライダーのアイコンSSR,SSG,SSBが表示されている。タイマーのアイコンST、及びスライダーのアイコンSSR,SSG,SSBの夫々は、入力側にはアイコンHBが接続され、出力側にはアイコンHLが接続されている。
ここで、タイマーのアイコンSTは、設定された時間が経過すると、トリガ情報を出力するSパーツである。換言すると、タイマーのアイコンSTは、0又は1のデジタル信号を出力するSパーツである。
これに対して、スライダーのアイコンSSR,SSG,SSBは、0ないし255の間の任意の数値を出力することが可能なSパーツである。換言すると、スライダーのアイコンSSR,SSG,SSBは、アナログ信号を出力するSパーツである。
このように、Sパーツは、アナログ信号等の多種多様な情報を入出力情報として取り扱うことができる。Hパーツも、対応する機能モジュール3がアナログ信号等の多種多様な情報を入出力できるならば、それに対応してアナログ信号等の多種多様な情報を入出力情報として取り扱うことができる。
図9の例では、ユーザ表示画面で示されるプログラムが実行されると、押しボタン(図示せぬ機能モジュール)が押されると、所定期間経過後に、スライダーのアイコンSSR,SSG,SSBの夫々の出力値がR値、G値、B値の夫々としてLED(図示せぬ機能モジュール)に伝達されるので、そのR値、G値、B値で特定されるカラーでLEDが点灯するという動作が実現されることになる。
以上本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、図8に示す実施形態では、機能モジュール3−O及び機能モジュール3−Pとして、押しボタンとブザーが採用されているが、機能モジュール3の発揮する機能は特に上述した実施形態には限定されない。
以下、図10を参照しつつ、上述の実施形態とは異なる手法が採用された他の実施形態についていくつか説明する。
図10は、本発明の一実施形態に係る具体例であって、図5及び図8とは異なる例を示す図である。
図10(a)を見ると、機能モジュールM1として、プロペラ付きロケットのおもちゃが採用されている。
例えば、図10(a)の例では、所定のユーザH1によって、プログラムの実行ボタンが押下されると、10秒間のカウントダウン後にプロペラが回転するというプログラムが作製されて実行されている。
なお、機能モジュールM1と接続されたベーシックコアB1やカウントダウンの機能を発揮する機能モジュールMC(例えば、スピーカー等)については、図示されていないが、例えば、機能モジュールM1の内部に格納されている。
また、図10(b)を見ると、機能モジュールM1として、電車のおもちゃが採用されている。
例えば、図10(b)の例では、所定のユーザH2によって、プログラムの実行ボタンが押下されると、人の声等に反応して、電車が発車するというプログラムが作製されて実行されている。
なお、図10(b)では図10(a)と同様に、機能モジュールM2と接続されたベーシックコアB2や音を捉える機能を発揮する機能モジュールMA(例えば、音声センサ)については、図示されていないが、例えば、機能モジュールM2の内部に格納されている。
本発明は、このような様々な実施形態により実施することが可能であるが、多くの実施形態において、特に子供の教育用の組み立て式玩具に使用するプログラムを作製するのに極めて有用である。
プログラム作製画面に表示されたアイコンを視覚的に確認することができるため、ユーザが子供であっても、安全かつ容易にプログラムを作製することができるし、また、自身で作製したプログラムに応じて、実機によって動作させることができるため、子供は飽きることなく、プログラムの作製を楽しむことができる。
このように、子供に楽しみながらプログラムの作製を行わせることで、子供は、一般に触れることが困難であるプログラムについて、慣れ親しむことができるのである。
さらに、図10に図示せぬベーシックコア2とユーザ端末1とのペアリングをしておけば、機能モジュールM1,M2等機能モジュール3は自由に着脱が可能であり、その着脱の状態もプログラム作製画面に反映される。従って、子供は、ハードウェアの設計も楽しめることができる。
ここで、本実施形態における入出力情報について、補足する。本実施形態において、各種Hパーツや各種Sパーツを組み合わせることで、各種アイコンに指定されたプログラムの内容が連続的に実行される。
この夫々のプログラムの入出力情報は、図8に示したような単なるトリガ情報だけでなく、図9に示したようなアナログ信号等の多種多様な情報を入出力情報として取り扱うことができる。
即ち、例えば、本実施形態における入出力情報は、温度センサによって取得された情報(例えば、温度が15度)を、そのままアナログ信号等の情報として出力し、プログラムの作製に用いることができる。そのため、デジタル信号の情報だけでは、実現することのできない複雑な情報処理であっても実現することが可能となる。
次に、接続認識処理について説明する。接続認識処理とは、ユーザ端末1とペアリングされたベーシックコア2に接続される機能モジュール3をユーザ端末1が認識し、当該機能モジュール3をの各接続状態を、ユーザ端末1に表示させる一連の処理である。
図11は、本発明の一実施形態に係る情報処理システムにより実行される接続状態認識処理に際し、図2のユーザ端末1に実際に表示される画面の一例を示す図である。
図11において、図8と同様に、左半分には、ユーザ表示画面(ユーザに表示されているプログラム作製画面)が、右半分には、ハードウェア模式図(実際に作製されたプログラムに応じて、動作する各種ハードウェアの模式図)が示されている。なお、ユーザ表示画面とハードウェア模式図の図示については、後述する図12及び図13も同様である。
図11(A)は、ハードウェア模式図によれば、ユーザ端末1と、機能モジュール3−1,3−2が接続されたベーシックコア2とのペアリングがなされた状況を示している。ここで、機能モジュール3−1,3−2の夫々は、ボタンの機能を発揮することができる。
図11(A)のユーザ表示画面のHパーツ表示領域には、ペアリングがなされたベーシックコア2に接続された機能モジュール3−1,3−2のアイコン(ボタンと表示されたアイコン)が表示されている。なお、図11(A)の状態では、ユーザによるプログラム作成は未だ行われていないので、ユーザ表示画面のプログラム作製時表示領域には何も表示されていない。
図11(B)は、ハードウェア模式図によれば、図11(A)と同様に、ユーザ端末1と、機能モジュール3−1,3−2が接続されたベーシックコア2とのペアリングがなされた状況を示している。
図11(B)のユーザ表示画面のHパーツ表示領域には、ペアリングがなされたベーシックコア2に接続された機能モジュール3−1,3−2のアイコン(ボタンと表示されたアイコン)が表示されている。図11(B)の状態では、ユーザによるプログラム作成が行われており、ユーザ表示画面のプログラム作製時表示領域には、機能モジュール3−1に対応するボタンのアイコンの出力側には、「サウンド 正解」というアイコンが接続されており、機能モジュール3−2に対応するボタンのアイコンの出力側には、「テキスト読み上げ こんにちは」というアイコンが接続されている。
図11(B)の状態で、ユーザによって作製されたプログラムが実行されると、機能モジュール3−1のボタンが押下された場合には、サウンドとして「正解」が実際に出力され、また、機能モジュール3−2のボタンが押下された場合には、「こんにちは」というテキストが読み上げられることになる。
図11(C)は、ハードウェア模式図によれば、図11(B)の状態の後に何らかの原因で、ユーザ端末1とペアリングされたベーシックコア2と、機能モジュール3−1,3−2とが切断された状況を示している。
図11(C)の状態では、ユーザ表示画面のプログラム作製時表示領域には、機能モジュール3−1に対応するボタンのアイコンが消去され、同一位置に「切断」を示すアイコンが表示される。同様に、機能モジュール3−2に対応するボタンのアイコンが消去され、同一位置に「切断」を示すアイコンが表示される。
次に、再接続関連付け処理について説明する。再接続関連付け処理とは、ユーザ端末1とペアリングされたベーシックコア2に対して、一旦切断された後に再度接続された機能モジュール3をユーザ端末1が認識し、当該機能モジュール3の各接続状態を回復させて、ユーザ端末1に表示させる一連の処理である。
図12は、本発明の一実施形態に係る情報処理システムにより実行される再接続関連付け処理に際し、図2のユーザ端末に実際に表示される画面の一例を示す図である。
再接続関連付け処理が行われると、図12に示すように、ユーザ表示画面のプログラム作製時表示領域には、切断の状態(図11(C)の状態)で表示された「切断」を示す2つのアイコンが消去され、夫々の同一位置に、機能モジュール3−1,3−2の夫々に対応する2つのボタンのアイコンの表示が復活する。
ここで、接続状態が回復された同一種(ボタン等)の機能モジュール3が2以上存在する場合(例えば図12の例では、ボタンの2つの機能モジュール3−1,3−2が存在する場合)は、いずれのハードウェア部品と関連付けるべきかについて、その組み合わせが複数存在する点が問題となる。
この点において、例えば、機能モジュール3(ハードウェア部品)とソフトウェア部品とがプログラムにおいて関連付けられていた場合に、ユーザ端末1は、その機能モジュール3(ハードウェア部品)に対して一意に識別可能な符号を記憶させておき、機能モジュール3の接続状態が回復した場合に、当該符号に基づいて、ソフトウェア部品との関連付けを自動で回復させても良い。
図13は、本発明の一実施形態に係る情報処理システムにより実行される再接続関連付け処理の図12とは異なる例の処理に際し、図2のユーザ端末に実際に表示される画面の一例を示す図である。
図13の例の再接続関連付け処理では、ユーザ端末1とペアリングされたベーシックコア2に対して、一旦切断された後に再度接続された機能モジュール3−1,3−2がユーザ端末1により認識され、当該機能モジュール3−1,3−2の各接続状態の回復の際に、その回復をユーザに確認させる。
即ち、図13のハードウェア模式図によれば、接続状態が回復された機能モジュール3が複数台存在する場合(図13の例では、機能モジュール3−1,3−2という2台が存在する場合)、その回復をユーザに確認させる対象の機能モジュール3(図13の例では機能モジュール3−1)は、LEDを点灯する。これにより、ユーザは、その対象を確実に視認することができる。
そして、ユーザ表示画面のプログラム作製時表示領域において、対象の機能モジュール3(図13の例では機能モジュール3−1)に対応するボタンのアイコンに近接するように確認ダイアログが表示される。この確認ダイアログには、例えば「プラグを接続したブランチは今LEDが点灯しているボタンですか? はい いいえ」というメッセージが表示される。
ユーザは、ユーザ端末1に対して、「はい」又は「いいえ」の選択操作をすることができる。
「はい」の選択操作がなされた場合は、機能モジュール3−1に対応するボタンのアイコンの出力側に対する、「サウンド 正解」というアイコンの接続(関係付け)が回復する。
なお、機能モジュール3−2側の接続の回復は、同様に、機能モジュール3−2のLEDを表示させつつ、当該機能モジュール3−2に対応するボタンのアイコンに近接するように確認ダイアログを表示させてもよい。或いは、機能モジュール3−1の接続の回復と同時に、機能モジュール3−2の接続を自動的に回復させてもよい。
なお、図11乃至図13に図示したものは例示に過ぎない。即ち、制御装置(ユーザ端末1)と、前記制御装置(ユーザ端末1)と近距離無線通信でペアリングする機能と他のハードウェアデバイスと通信をする機能を有する1以上の第1ハードウェアデバイス(ベーシックコア2)と、前記第1ハードウェアデバイス(ベーシックコア2)と通信をする機能と所定の機能を発揮する機能を有する2以上の第2ハードウェアデバイス(機能モジュール3)とを含む情報処理システムにおける、前記制御装置(ユーザ端末1)及び前記第1ハードウェアデバイス(ベーシックコア2)は、次のようなステップを含む制御処理を実行することができる。
即ち、前記情報処理システムは、
前記制御装置(ユーザ端末1)とペアリングした前記第1ハードウェアデバイス(ベーシックコア2)と通信する前記2以上の第2ハードウェアデバイス(機能モジュール3)を組み合わせて実行させる所定の一連の処理を前記第2ハードウェアデバイス(機能モジュール3)毎に関連付けする処理関連付けステップと、
前記処理関連付けステップで所定の一連の処理を関連付けされた前記2以上の第2ハードウェアデバイス(機能モジュール3)と前記1以上の第1ハードウェアデバイス(ベーシックコア2)との間での通信状態が切断されたことを検知する通信状態検知ステップと、
前記通信状態検知ステップで前記1以上の第1ハードウェアデバイス(ベーシックコア2)との間での通信状態が切断されたことを検知された前記2以上の第2ハードウェアデバイス(機能モジュール3)が、前記1以上の第1ハードウェアデバイス(ベーシックコア2)との間での通信状態が回復した場合に、関連付けられていた処理毎に、前記2以上の第2ハードウェアデバイス(機能モジュール3)のいずれと関連付けるかについて確認を行う関連付け確認ステップと、
を含む制御処理を実行することができる。
また例えば、上述の実施形態では、ユーザ端末1とベーシックコア2のペアリングは、NFC(登録商標)規格に従った方式での近距離無線通信により行っているが、これに限定されない。ペアリングは、近距離無線通信に限らず、いかなる手段によってペアリングを行ってもよい。
さらに言えば、上述の実施形態では、ユーザ端末1で作製したプログラムの実行結果をBluetooth(登録商標)等の規格に従った方式で近距離無線通信を利用して送信しているが、特にこれに限定されない。作製したプログラムは、近距離無線通信に限らず、いかなる手段を利用して送信してもよい。
また例えば、上述の本実施形態では、ベーシックコア2の数と機能モジュール3の数をともにmとして説明を行ったが、特にこれに限定されない。即ち、ベーシックコア2の数と機能モジュール3の数は、同一でも構わないし、また、異なっていても構わない。
つまり、1台のベーシックコア2に対して、s台(sは1以上の任意の整数値)の機能モジュール3を接続してもよい。
また例えば、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図6の機能的構成は例示に過ぎず、特に限定されない。
即ち、上述した一連の処理を全体として実行できる機能が情報処理システムに備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図4の例に限定されない。また、機能ブロックの存在場所も、図6に特に限定されず、任意でよい。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
また例えば、一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであっても良い。
また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
また例えば、このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
以上を換言すると、本発明が適用される情報処理システムは、次のような構成を有する各種各様の実施形態を取ることができる。
即ち、本発明が適用される情報処理装置は、
制御装置と、前記制御装置と近距離無線通信でペアリングする機能と他のハードウェアデバイスと通信をする機能を有する1以上の第1ハードウェアデバイスと、前記第1ハードウェアデバイスと通信をする機能と所定の機能を発揮する機能を有する1以上の第2ハードウェアデバイスとを含む情報処理システムにおける、前記制御装置であって、
前記第1ハードウェアデバイスと前記第2ハードウェアデバイスとの組を複数組み合わせて所定の一連の処理を実行させる制御を実行する制御実行手段(例えば、図6のプログラム実行部103)と、
所定方式の近距離無線通信により、前記制御実行手段の制御対象となる前記第1ハードウェアデバイスと前記制御装置とのペアリングを実行するペアリング実行手段(例えば、図6のペアリング部101)と、
前記制御実行手段の制御対象となる前記第1ハードウェアデバイスと前記制御装置とのペアリングの状態を提示する提示手段(例えば、図6の接続確認部111)と、
を備える制御装置であれば足りる。
これにより、ユーザは、視覚的に作製するプログラムの内容を確認しつつ、容易な操作(アイコンを組み合わせて連結させる等)によってプログラムを作製することが出来る。
1・・・ユーザ端末、2・・・ベーシックコア、3・・・機能モジュール、21・・・CPU、27・・・表示部、30・・・第一近距離無線通信部、31・・・第二近距離無線通信部、41・・・CPU、45・・・第一近距離無線通信部、46・・・第二近距離無線通信部、47・・・接続部、48・・・電源部、51・・・モジュール間通信部、52・・・モジュール間電力伝達部、61・・・CPU、67・・・接続部、68・・・機能ハードウェア、69・・・電力供給部、71・・・モジュール間通信部、72・・・モジュール間電力伝達部、101・・・ペアリング部、102・・・プログラム作製部、103・・・プログラム実行部、104・・・表示制御部、105・・・通信制御部、111・・・接続確認部、121・・・Hパーツ供給部、122・・・Sパーツ供給部、123・・・パーツ結合部、124・・・確定部、131・・・シミュレーション部、132・・・実機部、201・・・ペアリング部、202・・・端末通信制御部、203・・・機能モジュール通信制御部、204・・・主制御部、241・・・主制御部、242・・・機能発揮部、500・・・プログラム格納部、600・・・SパーツDB

Claims (6)

  1. 制御装置と、前記制御装置と近距離無線通信でペアリングする機能と他のハードウェアデバイスと通信をする機能を有する1以上の第1ハードウェアデバイスと、前記第1ハードウェアデバイスと通信をする機能と所定の機能を発揮する機能を有する1以上の第2ハードウェアデバイスとを含む情報処理システムにおける、前記制御装置であって、
    所定方式の近距離無線通信により、制御対象となる前記第1ハードウェアデバイスと前記制御装置とのペアリングを実行するペアリング実行手段と、
    前記1以上の第2ハードウェアデバイスに対応する仮想部品を含む複数の仮想部品が配置可能な部品供給領域と、前記部品供給領域から移動させた複数の前記仮想部品を自由に組み合わせることで前記1以上の第2ハードウェアデバイスに所定の動きを実行させるためのプログラムを作成することが可能なプログラム作成時表示領域とを備えるシミュレーション画面を前記制御装置に表示させ、前記部品供給領域に前記制御装置とペアリングされた前記第1ハードウェアデバイスに接続される前記1以上の第2ハードウェアデバイスに対応する仮想ハードウェア部品と、前記仮想ハードウェア部品に対して所定の機能を発揮する仮想ソフトウェア部品とを含み入力又は出力がアナログ信号とデジタル信号に対応した複数の前記仮想部品を前記部品供給領域に配置し、前記部品供給領域から前記プログラム作成時表示領域へ移動されて組み合わされた複数の前記仮想部品によって作成されるプログラムにより前記1以上の第2ハードウェアに実行させる前記所定の動きを模した所定の処理を実行するシミュレーション手段と、
    前記プログラムを実行させることにより、前記シミュレーション手段により前記シミュレーション画面において実行される前記所定の処理に対応する前記所定の動きを、前記第1ハードウェアデバイスに接続される前記1以上の第2ハードウェアデバイスに実行させる制御を実行する制御実行手段と、
    を備える制御装置。
  2. 前記シミュレーション手段は、
    前記プログラム作成時表示領域に、前記第1ハードウェアデバイスと前記第2ハードウェアデバイスとのペアリングの状態と、前記第2ハードウェアデバイスの動きの状態と、前記第2ハードウェアデバイスどうしの接続状態とのうち1以上を模擬する、
    請求項1に記載の制御装置。
  3. 前記シミュレーション手段は、
    前記プログラム作成時表示領域に、前記第2ハードウェアデバイスどうしが切断された状態か接続が回復された状態かを提示する、
    請求項1に記載の制御装置。
  4. 前記シミュレーション手段は、
    前記プログラム作成時表示領域に、前記第2ハードウェアデバイスが複数台存在する場合、接続が回復されたものに対応する仮想部品に回復を示す情報を提示する、
    請求項1に記載の制御装置。
  5. 制御装置と、前記制御装置と近距離無線通信でペアリングする機能と他のハードウェアデバイスと通信をする機能を有する1以上の第1ハードウェアデバイスと、前記第1ハードウェアデバイスと通信をする機能と所定の機能を発揮する機能を有する1以上の第2ハードウェアデバイスとを含む情報処理システムにおける、前記制御装置が実行する制御方法であって、
    所定方式の近距離無線通信により、制御対象となる前記第1ハードウェアデバイスと前記制御装置とのペアリングを実行するペアリング実行ステップと、
    前記1以上の第2ハードウェアデバイスに対応する仮想部品を含む複数の仮想部品が配置可能な部品供給領域と、前記部品供給領域から移動させた複数の前記仮想部品を自由に組み合わせることで前記1以上の第2ハードウェアデバイスに所定の動きを実行させるためのプログラムを作成することが可能なプログラム作成時表示領域とを備えるシミュレーション画面を前記制御装置に表示させ、前記部品供給領域に前記制御装置とペアリングされた前記第1ハードウェアデバイスに接続される前記1以上の第2ハードウェアデバイスに対応する仮想ハードウェア部品と、前記仮想ハードウェア部品に対して所定の機能を発揮する仮想ソフトウェア部品とを含み入力又は出力がアナログ信号とデジタル信号に対応した複数の前記仮想部品を前記部品供給領域に配置し、前記部品供給領域から前記プログラム作成時表示領域へ移動されて組み合わされた複数の前記仮想部品によって作成されるプログラムにより前記1以上の第2ハードウェアに実行させる前記所定の動きを模した所定の処理を実行するシミュレーションステップと、
    前記プログラムを実行させることにより、前記シミュレーションステップにより前記シミュレーション画面において実行される前記所定の処理に対応する前記所定の動きを、前記第1ハードウェアデバイスに接続される前記1以上の第2ハードウェアデバイスに実行させる制御を実行する制御実行ステップと、
    を含む制御方法。
  6. 制御装置と、前記制御装置と近距離無線通信でペアリングする機能と他のハードウェアデバイスと通信をする機能を有する1以上の第1ハードウェアデバイスと、前記第1ハードウェアデバイスと通信をする機能と所定の機能を発揮する機能を有する1以上の第2ハードウェアデバイスとを含む情報処理システムにおける、前記制御装置を制御するコンピュータに、
    所定方式の近距離無線通信により、制御対象となる前記第1ハードウェアデバイスと前記制御装置とのペアリングを実行するペアリング実行ステップと、
    前記1以上の第2ハードウェアデバイスに対応する仮想部品を含む複数の仮想部品が配置可能な部品供給領域と、前記部品供給領域から移動させた複数の前記仮想部品を自由に組み合わせることで前記1以上の第2ハードウェアデバイスに所定の動きを実行させるためのプログラムを作成することが可能なプログラム作成時表示領域とを備えるシミュレーション画面を前記制御装置に表示させ、前記部品供給領域に前記制御装置とペアリングされた前記第1ハードウェアデバイスに接続される前記1以上の第2ハードウェアデバイスに対応する仮想ハードウェア部品と、前記仮想ハードウェア部品に対して所定の機能を発揮する仮想ソフトウェア部品とを含み入力又は出力がアナログ信号とデジタル信号に対応した複数の前記仮想部品を前記部品供給領域に配置し、前記部品供給領域から前記プログラム作成時表示領域へ移動されて組み合わされた複数の前記仮想部品によって作成されるプログラムにより前記1以上の第2ハードウェアに実行させる前記所定の動きを模した所定の処理を実行するシミュレーションステップと、
    前記プログラムを実行させることにより、前記シミュレーションステップにより前記シミュレーション画面において実行される前記所定の処理に対応する前記所定の動きを、前記第1ハードウェアデバイスに接続される前記1以上の第2ハードウェアデバイスに実行させる制御を実行する制御実行ステップと、
    を含む制御処理を実行させるプログラム。
JP2019501370A 2017-02-24 2018-02-21 制御装置、制御方法、情報処理装置、情報処理方法及びプログラム Active JP6959976B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017034019 2017-02-24
JP2017034019 2017-02-24
PCT/JP2018/006178 WO2018155483A1 (ja) 2017-02-24 2018-02-21 制御装置、制御方法、情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2018155483A1 JPWO2018155483A1 (ja) 2020-01-16
JP6959976B2 true JP6959976B2 (ja) 2021-11-05

Family

ID=63253294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019501370A Active JP6959976B2 (ja) 2017-02-24 2018-02-21 制御装置、制御方法、情報処理装置、情報処理方法及びプログラム

Country Status (8)

Country Link
US (1) US11024196B2 (ja)
EP (1) EP3588270B1 (ja)
JP (1) JP6959976B2 (ja)
KR (1) KR102286283B1 (ja)
CN (1) CN110462584B (ja)
SG (1) SG11201907828XA (ja)
TW (1) TWI778023B (ja)
WO (1) WO2018155483A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6861187B2 (ja) * 2018-06-20 2021-04-21 Vivita株式会社 情報処理装置
JP2020095532A (ja) * 2018-12-13 2020-06-18 Vivita株式会社 情報処理システム
WO2020220184A1 (zh) * 2019-04-29 2020-11-05 深圳市大疆创新科技有限公司 可视化编程控制装置、可编程控制的设备及其控制方法、计算机可读存储介质以及编程控制系统
CN113542852B (zh) * 2021-07-13 2023-03-24 海信视像科技股份有限公司 一种显示设备、及与外部设备快速配对的控制方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3827253B2 (ja) 1996-10-09 2006-09-27 株式会社システムワット 組立ブロック及び組立式玩具システム
JP2002007299A (ja) 2000-06-21 2002-01-11 Mitsubishi Electric Corp デバイス制御プログラム開発手段及び実行手段
DE602007009117D1 (de) * 2006-11-13 2010-10-21 Research In Motion Ltd System, verfahren und mobilvorrichtung zur anzeige von funkmodusindikatoren
US20090005071A1 (en) * 2007-06-28 2009-01-01 Apple Inc. Event Triggered Content Presentation
US8753164B2 (en) * 2007-10-11 2014-06-17 Lego A/S Toy construction system
WO2009075602A1 (en) * 2007-12-13 2009-06-18 Motorola, Inc. Scenarios creation system for a mobile device
JP4886063B2 (ja) * 2009-12-04 2012-02-29 株式会社エヌ・ティ・ティ・ドコモ 状態報知装置、状態報知方法及びプログラム
US8676991B2 (en) * 2010-01-13 2014-03-18 Qualcomm Incorporated Signaling mechanisms and systems for enabling, transmitting and maintaining interactivity features on mobile devices in a mobile broadcast communication system
JP5873671B2 (ja) * 2011-09-16 2016-03-01 大和ハウス工業株式会社 エネルギー管理システム
JP5930777B2 (ja) * 2012-03-05 2016-06-08 キヤノン株式会社 印刷装置、携帯端末及びその制御方法、印刷システム、コンピュータプログラム
KR20140090297A (ko) * 2012-12-20 2014-07-17 삼성전자주식회사 근거리 무선 통신(nfc)을 이용하는 화상 형성 방법 및 장치
US9052891B2 (en) * 2013-05-14 2015-06-09 International Business Machines Corporation Declarative configuration and execution of card content management operations for trusted service manager
CN104219374A (zh) * 2013-06-04 2014-12-17 李旭阳 基于下一代智能手机的人机交互系统
KR102147686B1 (ko) * 2013-06-21 2020-08-26 삼성전자주식회사 오브젝트 실행 장치 및 방법
US20150220246A1 (en) * 2014-02-05 2015-08-06 Rollins, Inc. Method and System for Managing, Evaluation and Treatment of Physical Structures for Pest Control
CN106462404B (zh) * 2014-05-15 2020-09-15 索尼公司 信息处理装置、显示控制方法和程序
TWM489679U (en) * 2014-05-23 2014-11-11 Genius Toy Taiwan Co Ltd Wireless remote-control toy
CN204134197U (zh) * 2014-08-07 2015-02-04 深圳市捷通语音电子有限公司 智能玩具系统
JP6149822B2 (ja) 2014-08-21 2017-06-21 コニカミノルタ株式会社 情報処理システム、情報処理装置、携帯端末装置およびプログラム
KR102288777B1 (ko) * 2014-09-22 2021-08-11 엘지이노텍 주식회사 조명 제어 장치 및 이의 조명 제어 방법
JP6425600B2 (ja) * 2015-03-30 2018-11-21 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US9854654B2 (en) * 2016-02-03 2017-12-26 Pqj Corp System and method of control of a programmable lighting fixture with embedded memory

Also Published As

Publication number Publication date
KR20190131030A (ko) 2019-11-25
CN110462584A (zh) 2019-11-15
EP3588270B1 (en) 2022-06-01
KR102286283B1 (ko) 2021-08-04
US20190378433A1 (en) 2019-12-12
EP3588270A4 (en) 2020-04-22
EP3588270A1 (en) 2020-01-01
TWI778023B (zh) 2022-09-21
CN110462584B (zh) 2022-11-25
US11024196B2 (en) 2021-06-01
WO2018155483A1 (ja) 2018-08-30
JPWO2018155483A1 (ja) 2020-01-16
SG11201907828XA (en) 2019-09-27
TW201835869A (zh) 2018-10-01

Similar Documents

Publication Publication Date Title
JP6959976B2 (ja) 制御装置、制御方法、情報処理装置、情報処理方法及びプログラム
EP3160608B1 (en) Controlling physical toys using a physics engine
JP4617322B2 (ja) 自律型ロボットとの相互作用の装置と方法
US20160147404A1 (en) New uses of smartphones and comparable mobile digital terminal devices
WO2017186001A1 (en) Education system using virtual robots
EP3669957B1 (en) Information processing device
US11660744B2 (en) Module-type robot control system
KR101832742B1 (ko) 스마트완구를 이용한 언어 프로그램 학습 시스템
US20120021732A1 (en) Cloud computing system configured for a consumer to program a smart phone or touch pad
JP2023032976A (ja) 情報処理システム
US20040072498A1 (en) System and method for controlling toy using web
JP2022100572A (ja) プログラム実行システム、制御装置及び制御プログラム
JP2022084961A (ja) 情報処理装置
EP3895771A1 (en) Information processing system
KR20100114169A (ko) 교육용 로봇키트의 로봇 가상 설계방법
Estivill-Castro et al. Mobile robots for an e-mail interface for people who are blind
WO2016134567A1 (zh) 多工同步无等待机器人控制程序系统及其控制方法
Hochenbaum et al. Arduino in Action

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210611

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211008

R150 Certificate of patent or registration of utility model

Ref document number: 6959976

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350