JP2020095532A - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
JP2020095532A
JP2020095532A JP2018233734A JP2018233734A JP2020095532A JP 2020095532 A JP2020095532 A JP 2020095532A JP 2018233734 A JP2018233734 A JP 2018233734A JP 2018233734 A JP2018233734 A JP 2018233734A JP 2020095532 A JP2020095532 A JP 2020095532A
Authority
JP
Japan
Prior art keywords
program
basic core
unit
control
functional module
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
JP2018233734A
Other languages
English (en)
Inventor
翔三郎 嶋田
Shosaburo Shimada
翔三郎 嶋田
翔太 加々見
Shota Kagami
翔太 加々見
和俊 柏本
Kazutoshi Kashimoto
和俊 柏本
伸太郎 板本
Shintaro Sakamoto
伸太郎 板本
兼大 林
Kanehiro Hayashi
兼大 林
新居 英明
Hideaki Arai
英明 新居
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.)
Vivita Co Ltd
Vivita Japan Inc
Original Assignee
Vivita Co Ltd
Vivita Japan Inc
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 Vivita Co Ltd, Vivita Japan Inc filed Critical Vivita Co Ltd
Priority to JP2018233734A priority Critical patent/JP2020095532A/ja
Priority to CN201980083090.6A priority patent/CN113474066A/zh
Priority to SG11202106286UA priority patent/SG11202106286UA/en
Priority to KR1020217018437A priority patent/KR20210093959A/ko
Priority to US17/413,136 priority patent/US20220026868A1/en
Priority to PCT/JP2019/048676 priority patent/WO2020122171A1/ja
Priority to EP19896940.4A priority patent/EP3895771A1/en
Priority to TW108145758A priority patent/TW202032367A/zh
Publication of JP2020095532A publication Critical patent/JP2020095532A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2231Master slave
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2666Toy

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)
  • Toys (AREA)

Abstract

【課題】プログラム作成支援装置により作成された制御プログラムに基づいてハードウェアデバイスが動作される際、玩具等として好ましい応答速度での動作が可能であり、かつ、ハードウェアデバイスの実機を自立駆動させることを可能とする情報処理システムを提供する。【解決手段】情報処理システムは、ユーザの指示により制御プログラムの作製を支援するユーザ端末1と、機能モジュール3−1、3−2の夫々と通信をする機能と、前記制御プログラムに基づいて機能モジュール3−1、3−2の夫々を制御する機能を有するベーシックコア2−1、2−2と、そのベーシックコア2−1と通信をする機能と、所定の機能を発揮する機能を有する機能モジュール3−1、3−2とを含む。ユーザ端末1の制御送付部104は、制御プログラムの少なくとも一部を1以上のベーシックコア2−1、2−2のうちの少なくとも1つに送付する。【選択図】図6

Description

本発明は、情報処理システムに関する。
従来より、子供の教育を目的とした組み立て式玩具の提供は、広く普及しており、関連する技術は数多く提案されている(例えば、特許文献1)。
例えば、特許文献1に記載された技術によれば、簡単な配線やプログラミングによって組み立て式玩具を構築することができる組み立てブロックの提供がなされている。
この特許文献1に記載された技術によれば、年齢の低いユーザであっても、複雑な作業や操作を行うことなく、組み立て式玩具を構築することができる。
特開平10−108985号公報
しかしながら、上述の特許文献1の技術では、各組み立てブロックは、既存のプログラムによって単一に制御されているに過ぎず、組み立て式玩具の動作や制御の自由度には、限界があった。
即ち、例えば、上述の特許文献1の技術のみでは、各組み立てブロックの夫々の機能を組み合わせて、プログラムを作製するような処理を実行することはできなかった。
換言すれば、上述の特許文献1の技術のみでは、各組み立てブロックの夫々の機能を組み合わせるといった高度な処理を実行させるためには、別途、複雑なプログラムを作成する必要があった。
また、組み立て式玩具の動作や制御の自由度は、有線式の接続での組み立てでは、配線のとりまわしの都合上の制限を受けることとなり、無線式の接続での組み立てでは、高速通信では電力の消耗による制限を受けることとなる。
例えば、無線式高速通信の一例であるWLAN(Wi−Fi)では、回路が物理的に大きいことによる制限を受けることとなり、更には高価格である点でも採用は困難である。
一方、低消費電力の無線式の接続での組み立てでは通信速度が十分ではない、又は通信間隔が長く(例えば、BLE(Blutooth Low Energy)では5ms〜100ms)、ボトルネックとなって動作に遅れが生じてしまい、玩具として好ましいものではなかった。
また、表示画面付きのデバイスは高価格になりがちであるので、これを占有することは好ましくなかった。
本発明は、このような状況に鑑みてなされたものであり、プログラム作成支援装置により作成された制御プログラムに基づいてハードウェアデバイスが動作される際において、プログラム作成支援装置と各ハードウェアデバイスとの間の通信を不要とすることにより、例えば玩具等として好ましい応答速度での動作が可能であり、かつ、ハードウェアデバイスの実機を自立駆動させることを可能とする技術を提供することを目的とする。
上記目的を達成するため、本発明の一態様の情報処理システムは、
ユーザの指示により制御プログラムの作製を支援するプログラム作製支援装置と、
他のハードウェアデバイスと通信をする機能と前記制御プログラムに基づいて前記他のハードウェアデバイスを制御する機能を有する1以上の第1ハードウェアデバイスと、
前記第1ハードウェアデバイスと通信をする機能と所定の機能を発揮する機能を有する前記他のハードウェアデバイスとしての1以上の第2ハードウェアデバイスとを含む情報処理システムにおいて、
前記プログラム作製支援装置は、
前記制御プログラムの少なくとも一部を前記1以上の第1ハードウェアデバイスのうちの少なくとも1つに送付する制御送付手段、
を備える。
本発明によれば、プログラム作成支援装置により作成された制御プログラムに基づいてハードウェアデバイスが動作される際において、プログラム作成支援装置と各ハードウェアデバイスとの間の通信を不要とすることにより、例えば玩具等として好ましい応答速度での動作が可能とし、かつ、ハードウェアデバイスの実機を自立駆動させることを可能とする技術を提供することができる。
本発明の一実施形態に係る情報処理システムの構成を示すブロック図である。 本発明の一実施形態に係るユーザ端末のハードウェア構成の一例を示すブロック図である。 本発明の一実施形態に係るベーシックコアのハードウェア構成の一例を示すブロック図である。 本発明の一実施形態に係る機能モジュールのハードウェア構成の一例を示すブロック図である。 本発明の一実施形態に係るベーシックコア及び機能モジュールが接続された状態の構成の一例を示す図である。 図2のユーザ端末、図3のベーシックコア及び図4の機能モジュールの機能的構成例を示す機能ブロック図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に関する状態の遷移を示す状態遷移図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに実際に表示される画面の一例を示す図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の例を示す図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9とは異なる例を示す図である。 本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9及び図10とは異なる例を示す図である。
以下、本発明の実施形態について、図面を用いて説明する。
本発明は、ユーザが視覚的な操作よって、より容易に複雑なプログラムを作製するための技術的思想の創作である。
ユーザは、プログラム作製用に表示されるユーザインタフェース(以下、「プログラム作製画面」と呼ぶ)に表示された各種アイコンを操作することで、プログラムを作製することができる。
具体的には例えば、ユーザは、プログラム作製画面に表示された特定のハードウェアの動作を指定するプログラムの内容を示すアイコン(以下、「ハードウェアパーツ」又は「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(Kは、1乃至mのうち任意の整数値)とペアリングを行うことで、ベーシックコア2−Kと、ベーシックコア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等を動作させる種類を、「実機による実行」と呼ぶ。
更に、「実機による実行」には、ユーザ端末1で作製したプログラムに基づく制御をユーザ端末1で行う実行方法と、1以上のベーシックコア2で行う実行方法とが存在する。
電力供給部69は、モジュール間電力伝達部72を介して取得した電力、又は外部の電源(例えば図5のバッテリーユニットPP)から供給された電力を機能モジュール3へ供給する。
次に、図5を用いて、ベーシックコア2−E(Eは、1乃至mのうち任意の整数値)及び機能モジュール3−Eの接続形態の詳細について説明する。
図5は、本発明の一実施形態に係るベーシックコア2−E及び機能モジュール3−Eが接続された状態の構成の一例を示す図である。
図5には、ベーシックコア2−E、機能モジュール3−E及びバッテリーユニットPPが例示されている。
ベーシックコア2−Eには、バッテリーユニットBU(例えば、図3の電源部48)、シリアルポートS及び近距離無線通信部BT(例えば、図3の第2近距離無線通信部46)が備えられている。
バッテリーユニットBUは、例えば、電池等のバッテリーであり、ベーシックコア2−Eや機能モジュール3−Eに電力を供給する。
シリアルポートSは、ベーシックコア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へと送信する。
また、或いは、具体的に例えば、ユーザ端末1で作製されたプログラムは、ベーシックコア2−Eに送信され、ベーシックコア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と、通信制御部106とが機能する。
また、ユーザ端末1の記憶部29の一領域には、プログラム作製部102で作製されたプログラムを格納するプログラム格納部500と、各種Sパーツが格納されているSパーツDB(Soft ware Parts Data Base)600とが設けられている。
そして、ベーシックコア2−1のCPU41−1においては、端末通信制御部201−1と、プログラム実行部202−1と、機能モジュール通信制御部203−1とが機能する。
ここで、ベーシックコア2−1の記憶部49−1の一領域には、端末通信制御部201−1を介して受信したプログラムを格納するプログラム格納部500−1が設けられている。
また、ベーシックコア2−2のCPU41−2においては、端末通信制御部201−2と、プログラム実行部202−2と、機能モジュール通信制御部203−2とが機能する。
また、ここで、ベーシックコア2−2の記憶部49−2の一領域には、端末通信制御部201−2を介して受信したプログラムを格納するプログラム格納部500−2が設けられている。
なお、以下、ベーシックコア2−1乃至2−2の各構成の夫々を個々に区別する必要がない場合、これらをまとめて「CPU41」、「記憶部49」、「端末通信制御部201」、「プログラム実行部202」、「機能モジュール通信制御部203」、及び「プログラム格納部500」と呼ぶ。
ユーザ端末1のペアリング部101は、第一近距離無線通信部30を介して、ユーザ端末1とベーシックコア2とのペアリングを行う。なお、このペアリングは、本実施形態ではNFC(登録商標)に準拠した近距離無線通信で行われるが、これは例示に過ぎず、任意の方式の通信で行われてもよい。
また、ペアリング部101は、ユーザ端末1とペアリングしたベーシックコア2及びそれに接続された機能モジュール3の種別や接続の状況を確認する。
なお、ペアリング部101に確認された機能モジュール3の種別や接続の状況は、表示制御部105を介して、プログラム作製画面に表示される。
プログラム作製部102は、ユーザのタッチ操作を受付けて、実際にプログラムの作製を行う。
また、プログラム作製部102は、ペアリング部101によりペアリングが行われたベーシックコア2に接続されている機能モジュール3の種別に対応するHパーツを、表示制御部105を介してプログラム作製画面へ表示する。
また、プログラム作製部102は、適宜、SパーツDB600からSパーツを抽出して、表示制御部105を介してプログラム作製画面へ表示する。
また、プログラム作製部102は、ユーザのタッチ操作に応じて、各種Hパーツ及び各種Sパーツを結合する。
最終的に作製されるプログラムにおいては、このように結合された各種Hパーツ及びSパーツに指定されたプログラムの内容が連続的に実行されて良い。
そして、プログラム作製部102は、ユーザに作製されたプログラムの内容を確定し、その作製されたプログラムをプログラム格納部500へ格納する。
制御送付先決定部103は、所定のルールに基づいて、プログラム格納部500に格納されたプログラムの少なくとも一部を送付する第1ハードウェアデバイスを決定する。
即ち、制御送付先決定部103は、プログラム格納部500に格納されたプログラムのうちから、ユーザが実行を望むプログラムを抽出し、これに所定のルールを適用して、制御の送付先とするベーシックコア2と、これに送付するプログラムの一部とを決定する。
ここで、ベーシックコア2を1個使って実機を構成した場合は、当該ベーシックコア2を制御送付先として決定することにより、自立制御が可能となり、ユーザ端末1とも、他の機器とも、近距離無線通信を利用した信号伝達が不要となるので、例えば、玩具として好ましい応答速度での動作をさせることができる。
しかし、ここで、ベーシックコア2を2個以上使って実機を構成した場合は、いずれを制御送付先とすべきかが問題となる。
即ち、ユーザ端末1の中央集権制御ではないため、各々のベーシックコア2が自分に関連するロジック(プログラムの一部)について把握し、各々が自立して制御する必要がある。
具体的には、ロジックの始点から終点までのデータの経路をどうするかや、ハードウェアの介在しないSパーツのロジック(例えばNOT(信号の反転)演算)は、ベーシックコア2が2個以上の場合にどのベーシックコア2が制御するのかや、それらを最適化するアルゴリズムが望まれる。
これについての一方策としては、一番終点のベーシックコア2が自機に関わる全ての始点の情報を取得し、終点から始点の間にあるロジックを、全て当該ベーシックコア2に処理させて良い。この様にすることにより、データの伝達経路としては最短となる。
なお、例えば、後述する図11(C)の場合、全く同じ論理和演算処理をベーシックコア2−3でもベーシックコア2−4でも行うこととなる。この様に、実機全体としての処理効率についてはトレードオフとなる場合が有る。
また、各ベーシックコア2は、自立制御のみならず、ベーシックコア2同士で同期をとる等の協調を行うことが望ましい。
この様にすることで、様々な不都合を回避することが可能となる。
ここで、制御送付先決定部103には、所定のルールに基づいて前記制御プログラムの少なくとも一部を送付する第1ハードウェアデバイスを決定する為、終点部品抽出部121と、先行部品特定部122と、送信先変更部123とが設けられている。
制御送付先決定部103が制御の送付先とするベーシックコア2は、1であって良く、また2以上であって良い。
この様にすることにより、ベーシックコア2を何個使って実機を構成されても、制御プログラムを適正に分割して、処理をさせることが可能になる。
終点部品抽出部121は、前記制御プログラムを解析して、他の前記プログラミング部品に信号を送らない前記プログラミング部品を終点部品として抽出する。
この様にすることにより、終点部品のそれぞれから信号の伝達経路を遡って、他のプログラミング部品との関係を調べることが可能となる。
先行部品特定部122は、抽出された前記終点部品のそれぞれから遡ってその始点までの全ての前記プログラミング部品を、当該終点部品についての先行部品として特定する。
この様にすることにより、直接又は間接に、処理の対象の終点部品に信号を伝達する前記プログラミング部品を特定することが、可能となる。
また、この様にすることにより、信号の伝達経路の中継部分を特定することが、可能となる。
送信先変更部123は、前記終点部品の夫々についての前記先行部品の前記制御プログラムにおける信号の送り先を当該終点部品に変更する。
この様にすることにより、信号の伝達経路を最大で1段階のみにまで減少させることができるので、信号伝達に要する時間を短縮させることができる。
これに伴い、プログラムの必要な一部を実行させるベーシックコア2を終点部品のものとすべく、その制御送付先を制御送付先決定部103として決定することにより、実行結果については維持することができるので、本発明に係る例えば玩具を、良好な応答速度で正しく動作させることができる。
なお、「送り先を変更する」とは、一の既存の送り先を一の新たな送り先に入れ替えるのみならず、既存の送り先を残して新たな送り先を追加して良く、又は後述する図11(C)に示す通り、二以上の新たな送り先に入れ替えて良い。
制御送付部104は、制御プログラムの少なくとも一部を1以上の第1ハードウェアデバイスのうちの少なくとも1つに送付する。
即ち、制御送付部104は、制御送付先決定部103が所定のルールに基づいて送付先として決定したベーシックコア2に、制御プログラムの少なくとも一部を送付する。
即ち、制御送付部104は、ユーザが実行を望むプログラム格納部500に格納されたプログラムを適宜改変することにより、制御プログラムの少なくとも一部を生成して送付する。
なお、ユーザ端末1は、ユーザに作製されたプログラムによって、ベーシックコア2及び機能モジュール3を動作させることを目的とせずに、抽出されたプログラムを仮想的に実行できて良い。
即ち、ユーザ端末1は、実際に作製されたプログラムが正常に実行できるか等をチェックするためのシミュレーションを行うことができて良い。なお、プログラムの実行結果は、後述するように、表示制御部105を介して表示部27に表示される。
また、ユーザ端末1は、ユーザに作製されたプログラムによって、ベーシックコア2及び機能モジュール3を動作させることを目的として、抽出されたプログラムを実行できて良い。
即ち、ユーザ端末1は、作製されたプログラムの実行結果(コマンド等)を、ベーシックコア2及び機能モジュール3へと送信し、機能モジュール3に機能を発揮させることができて良い。
なお、プログラムの実行結果は、表示制御部105を介して表示部27に表示されるだけでなく、後述するように、通信制御部106によってベーシックコア2へと送信されて良い。
表示制御部105は、前述した各種情報等を表示部27に表示するための制御を実行する。
通信制御部106は、制御送付部104による制御プログラムの少なくとも一部の送付を、第二近距離無線通信部31を介して1以上のベーシックコア2に送信することにより実現するための制御等を行う。
また、通信制御部106は、ユーザ端末1で実行されたプログラムの実行結果を第二近距離無線通信部31を介してベーシックコア2に送信するための制御等を行って良い。
なお、前述の通り、本実施形態では、第二近距離無線通信部31は、Bluetooth(登録商標)の規格に従った方式で近距離無線通信を行う。
ベーシックコア2は、第一近距離無線通信部45を介して、ユーザ端末1とペアリングを行う。
ここで、第一近距離無線通信部45は、ベーシックコア2においてシステムと独立している。そこで、第一近距離無線通信部45には、第二近距離無線通信部46の接続情報(例えばMACアドレス)が予め書き込まれており、ベーシックコア2は、そのMACアドレスを読み込んで、Bluetooth(登録商標)によるユーザ端末1とのペアリングを実現しているが、これは例示に過ぎず、接続情報の読み込みは任意の方式で行われてよい。
即ち、ペアリングにおける接続情報の読み込みには、例えば、カメラとQRコード(登録商標)との組み合わせ、ホールセンサと磁石との組み合わせ、加速度センサと振動モータとの組み合わせ等を採用することができる。
端末通信制御部201は、例えば、ユーザ端末1から送信されてきたプログラムの一部又はプログラムの実行結果を第二近距離無線通信部46を介して取得するための制御等を実行する。
この場合は、例えばBLEによる近距離無線通信を採用する場合は、各ベーシックコア2がBLEサーバとなり、ユーザ端末1がBLEクライアントとなって、近距離無線通信を行って良い。
また、端末通信制御部201は、他のベーシックコア2と、機能モジュール3からの信号又はプログラムの実行結果の通信をするための制御等を実行する。
この場合は、例えば、BLE機器(ベーシックコア2)一つで、BLEサーバと、BLEクライアントの両方を担わせることとして良い。
即ち、二つのベーシックコア2の間で、BLEサーバと、BLEクライアントの関係が通信方向によって、入れ替わることとして良い。
この場合、ベーシックコア2が2つの場合は、ペアリングは2つ行うこととなり、ベーシックコア2が3つの場合は、ペアリングは6つ行うこととなる。
この他には、BLEでアドバタイジングパケットで送信することにより、データをブロードキャストすることとして良い。
即ち、ブロードキャスト情報の中に宛先情報を入れて送信し、受信者であるベーシックコア2は自分宛の場合のみ取得させ、それ以外の情報は破棄することとして良い。
この場合において、BLEブロードキャストは、送信間隔を数ms以下まで変更でき、かつ動的に送信間隔を変更できることが望ましい。
ここで、プログラムの実行時において、当該プログラムで機能を発揮させる機能モジュール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は、後述するプログラム実行部202で出力された動作指示等を機能モジュール3へ送信する。
プログラム実行部202は、ベーシックコア2で実行される各種処理の主たる制御を実行する。
例えば、プログラム実行部202は、端末通信制御部201で取得したプログラムの一部を実行して、その実行結果に基づいて、機能モジュール3の機能を発揮させるための動作指示等を出力する。
なお、ベーシックコア2のCPU41は、端末通信制御部201でのBLEインターフェースとのデータのやりとり、機能モジュール通信制御部203での機能モジュール3とのデータのやりとり、及びプログラム実行部202でのロジックの処理の3つを並行してμ秒オーダーで行う演算処理能力を備えていることが望ましい。
機能モジュール3は、機能モジュール3で実行される各種処理の主たる制御を実行する。
例えば、ベーシックコア2から送信されてきた動作指示を、接続部67を介して、取得する。
機能モジュール3は、取得した動作指示を、機能ハードウェア68に実行させるための制御を実行する。
即ち、機能モジュール3は、取得した動作指示を機能ハードウェア68に実行させることで、機能モジュール3の機能を発揮させる。
なお、電力供給部69は、モジュール間電力伝達部72を介して取得した電力を機能モジュール3へ供給するが、上述したように、外部の電源(例えば図5のバッテリーユニットPP)から供給された電力を機能モジュール3へ供給することもできる。
図7は、本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に関する状態の遷移を示す状態遷移図である。
図7において、各状態は、1つの楕円形で示されており、夫々の状態は、SPを含む符号により判別される。
1つの状態から1つの状態への状態遷移は、所定の条件(以下、「状態遷移条件」と呼ぶ)が満たされると実行される。
このような状態遷移条件は、図7おいては、1つの状態から1つの状態への遷移を表す矢印に、Aを含む符号を付して表されている。
本実施形態においては、図7に示すように、プログラム作製状態SP1が基本の状態になる。
プログラム作製状態SP1において、ユーザは、ユーザ端末1とベーシックコア2を近接させることでペアリングを行う。
なお、ここでいう近接されるとは、NFC(登録商標)規格に従った方式で近距離無線通信を行うのに有効な距離であり、一般に10cm程度の距離まで近接させることを言う。
即ち、ユーザが、ユーザ端末1とベーシックコア2とを10cm程度の距離まで近接させることで、状態遷移条件A1が満たされる。
すると、状態は、ペアリング状態SP2へと遷移する。これにより、プログラム作製部102は、Hパーツを表示制御部105を介してプログラム作製画面に表示する。
そして、ペアリング後、ユーザが一定の時間、操作を行わなかった場合には、状態遷移条件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を用いて、ユーザ端末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乃至11を用いて、ユーザ端末1がプログラム作製画面において表示するプログラムに基づく制御の詳細について説明する。
図9は、本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御と対応関係の例を示す図である。
図9(A)はプログラム作製画面に表示されるプログラムの模式図である。
プログラム作製画面には、Hパーツとして、左には例えばボタンであるHパーツHA及びHパーツHBのアイコンが表示され、右には例えばLEDライトであるHパーツHCのアイコンが表示されている。それらの間には、Sパーツとして、論理回路S1のアイコンが表示されている。論理回路S1のアイコンは、入力側にはHパーツHA及びHパーツHBのアイコンが接続され、出力側にはHパーツHCのアイコンが接続されている。
図9(B)はプログラム作製画面に表示されるプログラムに基づいて実行される制御の第一の態様の模式図である。
ここで、ベーシックコア2−1は、プログラム作製画面におけるHパーツHAとしてペアリングされた例えば押しボタンAである機能モジュール3と接続されているものとする。同様に、ベーシックコア2−2は、HパーツHBとしてペアリングされた例えば押しボタンBである機能モジュール3と、ベーシックコア2−3は、HパーツHCとしてペアリングされた例えばLEDライトCである機能モジュール3と、それぞれ接続されているものとする。
また、ここで、各ベーシックコア2間の波線矢印は、低消費電力近接無線通信(例えばBLE(Blutooth Low Energy))による信号の伝達方向を示している。
本制御の態様は、ベーシックコア2−2から、ベーシックコア2−1に信号が伝達され、ベーシックコア2−1において、HパーツHA及びHパーツHBからの信号を例えばANDゲート回路である論理回路S1に入力し、その結果の信号を、ベーシックコア2−3に伝達する。
係る例においては、プログラムに基づいて、押しボタンAと押しボタンBとが、共に押されている間に、LEDライトCが発光することとなる。
この場合において、ベーシックコア2−1は、論理回路S1の結果の信号を、そのままベーシックコア2−3に伝達して、ベーシックコア2−3に、LEDライトCを発光させる制御をさせて良い。
またあるいは、ベーシックコア2−1は、LEDライトCをも制御して良い。即ち、論理回路S1の結果に基づいてLEDライトCを発光させる信号を、ベーシックコア2−1において生成し、これをベーシックコア2−3に伝達して、LEDライトCを発光させても良い。
図9(C)はプログラム作製画面に表示されるプログラムに基づいて実行される制御の第二の態様の模式図である。
ここで、各ベーシックコア2と、各Hパーツとしてペアリングされた機能モジュール3との接続関係は、図9(B)における場合と、同様である。
本制御の態様は、ベーシックコア2−1及びベーシックコア2−2から、ベーシックコア2−3に信号が伝達され、ベーシックコア2−3において、押しボタンA及び押しボタンBからの信号を例えばANDゲート回路である論理回路S1に入力する。
係る例においても、図9(B)における場合と同様に、プログラムに基づいて、押しボタンAと押しボタンBとが、共に押されている間に、LEDライトCが発光することとなる。
本制御の態様においては、図9(B)に示す第一の態様の場合に比較して、押しボタンBの信号の、ベーシックコア2−3への伝達経路が1段階短くなる。
このことにより、信号伝達に要する時間が減少する為、本制御の態様においては、玩具として良好な速さで動作することとなる。
図10は、本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9とは異なる例を示す図である。
図10(A)はプログラム作製画面に表示されるプログラムの模式図である。
プログラム作製画面には、Hパーツとして、左には例えばボタンであるHパーツHA及びHパーツHBのアイコンが表示され、右には例えばLEDライトであるHパーツHDのアイコンが表示されている。それらの間には、例えばボタンであるHパーツHAと、Sパーツとして、論理回路S1、及び論理回路S2のアイコンが表示されている。論理回路S1のアイコンは、入力側にはHパーツHA及びHパーツHBのアイコンが接続され、出力側には論理回路S2のアイコンが接続されている。論理回路S2のアイコンは、入力側には論理回路S1のアイコン及びHパーツHCのアイコンが接続され、出力側にはHパーツHDのアイコンが接続されている。
図10(B)はプログラム作製画面に表示されるプログラムに基づいて実行される制御の第一の態様の模式図である。
ここで、ベーシックコア2−1は、プログラム作製画面におけるHパーツHAとしてペアリングされた例えば押しボタンAである機能モジュール3と接続されているものとする。同様に、ベーシックコア2−2は、HパーツHBとしてペアリングされた例えば押しボタンBである機能モジュール3と、ベーシックコア2−3は、HパーツHCとしてペアリングされた例えば押しボタンCである機能モジュール3と、ベーシックコア2−4は、HパーツHDとしてペアリングされた例えばLEDライトDである機能モジュール3と、それぞれ接続されているものとする。
本制御の態様は、ベーシックコア2−1及びベーシックコア2−2から、ベーシックコア2−3に信号が伝達され、ベーシックコア2−3において、HパーツHA及びHパーツHBからの信号を例えばANDゲート回路である論理回路S1に入力し、その結果の信号及びHパーツHCからの信号を、ベーシックコア2−4に伝達し、これらを例えばANDゲート回路である論理回路S2に入力する。
係る例においては、プログラムに基づいて、押しボタンAと、押しボタンBと、押しボタンCとが、共に押されている間に、LEDライトDが発光することとなる。
図10(C)はプログラム作製画面に表示されるプログラムに基づいて実行される制御の第二の態様の模式図である。
本制御の態様は、信号の送信先を、二以上の新たな送り先に入れ替える場合の例である。
ここで、各ベーシックコア2と、各Hパーツとしてペアリングされた機能モジュール3との接続関係は、図10(B)における場合と、同様である。
本制御の態様は、ベーシックコア2−1、ベーシックコア2−2及びベーシックコア2−3から、ベーシックコア2−4に信号が伝達され、ベーシックコア2−4において、HパーツHA及びHパーツHBからの信号を例えばANDゲート回路である論理回路S1に入力し、その結果の信号及びHパーツHCからの信号を、更に例えばANDゲート回路である論理回路S2に入力する。
係る例においても、プログラムに基づいて、押しボタンAと、押しボタンBと、押しボタンCとが、共に押されている間に、LEDライトDが発光することとなる。
本制御の態様においては、図10(B)に示す第一の態様の場合に比較して、押しボタンA及び押しボタンBの信号の、ベーシックコア2−4への伝達経路が1段階短くなる。
このことにより、信号伝達に要する時間が減少する為、本制御の態様においては、玩具として良好な速さで動作することとなる。
図11は、本発明の一実施形態に係る情報処理システムを利用したプログラム作製処理に際し、ユーザに表示される画面と実際の制御との対応関係の一例であって図9及び図10とは異なる例を示す図である。
図11(A)はプログラム作製画面に表示されるプログラムの模式図である。
プログラム作製画面には、Hパーツとして、左には例えばボタンであるHパーツHA及びHパーツHBのアイコンが表示され、右には例えばLEDライトであるHパーツHC及びHパーツHDのアイコンが表示されている。それらの間には、Sパーツとして、論理回路S1のアイコンが表示されている。論理回路S1のアイコンは、入力側にはHパーツHA及びHパーツHBのアイコンが接続され、出力側にはHパーツHC及びHパーツHDのアイコンが接続されている。
図11(B)はプログラム作製画面に表示されるプログラムに基づいて実行される制御の第一の態様の模式図である。
ここで、ベーシックコア2−1は、プログラム作製画面におけるHパーツHAとしてペアリングされた例えば押しボタンAである機能モジュール3と接続されているものとする。同様に、ベーシックコア2−2は、HパーツHBとしてペアリングされた例えば押しボタンBである機能モジュール3と、ベーシックコア2−3は、HパーツHCとしてペアリングされた例えばLEDライトCである機能モジュール3と、ベーシックコア2−4は、HパーツHDとしてペアリングされた例えばLEDライトDである機能モジュール3と、それぞれ接続されているものとする。
本制御の態様は、ベーシックコア2−1及びベーシックコア2−2から、ベーシックコア2−3に信号が伝達され、ベーシックコア2−3において、HパーツHA及びHパーツHBからの信号を例えばANDゲート回路である論理回路S1に入力し、その結果の信号を、ベーシックコア2−4に伝達する。
係る例においては、プログラムに基づいて、押しボタンAと押しボタンBとが、共に押されている間に、LEDライトCとLEDライトDとが発光することとなる。
この場合において、ベーシックコア2−3は、論理回路S1の結果の信号を、そのままベーシックコア2−4に伝達して、ベーシックコア2−4に、LEDライトCを発光させる制御をさせて良い。
またあるいは、ベーシックコア2−3は、LEDライトDをも制御して良い。即ち、論理回路S1の結果に基づいてLEDライトDを発光させる信号を、ベーシックコア2−3において生成し、これをベーシックコア2−4に伝達して、LEDライトDを発光させても良い。
図11(C)はプログラム作製画面に表示されるプログラムに基づいて実行される制御の第二の態様の模式図である。
ここで、各ベーシックコア2と、各Hパーツとしてペアリングされた機能モジュール3との接続関係は、図11(B)における場合と、同様である。
本制御の態様は、ベーシックコア2−1及びベーシックコア2−2から、ベーシックコア2−3及びベーシックコア2−4にそれぞれ信号が伝達され、ベーシックコア2−3及びベーシックコア2−4において、押しボタンA及び押しボタンBからの信号を例えばANDゲート回路である論理回路S1にそれぞれ入力する。
係る例においても、図11(B)における場合と同様に、プログラムに基づいて、押しボタンAと押しボタンBとが、共に押されている間に、LEDライトC及びLEDライトDが発光することとなる。
本制御の態様においては、図11(B)に示す第一の態様の場合に比較して、ベーシックコア2−4への信号の伝達経路が1段階短くなる。
このことにより、信号伝達に要する時間が減少する為、本制御の態様においては、玩具として良好な速さで動作することとなる。
以上本発明の一実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、図8に示す実施形態では、機能モジュール3−O及び機能モジュール3−Pとして、押しボタンとブザーが採用されているが、機能モジュール3の発揮する機能は特に上述した実施形態には限定されない。
本発明は、上述した様々な実施形態により実施することが可能であるが、多くの実施形態において、特に子供の教育用の組み立て式玩具に使用するプログラムを作製するのに極めて有用である。
プログラム作製画面に表示されたアイコンを視覚的に確認することができるため、ユーザが子供であっても、安全かつ容易にプログラムを作製することができる。また、自身で作製したプログラムに応じて、実機によって動作させることができるため、子供は飽きることなく、プログラムの作製を楽しむことができる。
このように、子供に楽しみながらプログラムの作製を行わせることで、子供は、一般に触れることが困難であるプログラムについて、慣れ親しむことができるのである。
さらに、ベーシックコア2とユーザ端末1とのペアリングをしておけば、機能モジュール3は自由に着脱が可能であり、その着脱の状態もプログラム作製画面に反映される。従って、子供は、ハードウェアの設計も楽しむことができる。
ここで、本実施形態における入出力情報について、補足する。本実施形態において、各種Hパーツや各種Sパーツを組み合わせることで、各種アイコンに指定されたプログラムの内容が連続的に実行される。
この夫々のプログラムの入出力情報は、図8に示したような単なるトリガ情報だけでなく、アナログ信号等の多種多様な情報を入出力情報として取り扱うことができる。
即ち、例えば、本実施形態における入出力情報は、温度センサによって取得された情報(例えば、温度が15度)を、そのままアナログ信号等の情報として出力し、プログラムの作製に用いることができる。そのため、デジタル信号の情報だけでは、実現することのできない複雑な情報処理であっても実現することが可能となる。
また例えば、上述の実施形態では、ユーザ端末1とベーシックコア2のペアリングは、
NFC(登録商標)規格に従った方式での近距離無線通信により行っているが、これに限定されない。ペアリングは、近距離無線通信に限らず、いかなる手段によってペアリングを行ってもよい。
さらに言えば、上述の実施形態では、ユーザ端末1で作製したプログラムの実行結果をBluetooth(登録商標)等の規格に従った方式で近距離無線通信を利用して送信しているが、特にこれに限定されない。作製したプログラムは、近距離無線通信に限らず、いかなる手段を利用して送信してもよい。
また例えば、上述の本実施形態では、ベーシックコア2の数と機能モジュール3の数をともにmとして説明を行ったが、特にこれに限定されない。即ち、ベーシックコア2の数と機能モジュール3の数は、同一でも構わないし、また、異なっていても構わない。
つまり、1台のベーシックコア2に対して、s台(sは1以上の任意の整数値)の機能モジュール3を接続してもよい。
また例えば、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
換言すると、図6の機能的構成は例示に過ぎず、特に限定されない。
即ち、上述した一連の処理を全体として実行できる機能が情報処理システムに備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に図4の例に限定されない。また、機能ブロックの存在場所も、図6に特に限定されず、任意でよい。
また、1つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。
また例えば、一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。
コンピュータは、専用のハードウェアに組み込まれているコンピュータであっても良い。
また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えばサーバの他汎用のスマートフォンやパーソナルコンピュータであってもよい。
また例えば、このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布される図示せぬリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムの用語は、複数の装置や複数の手段等より構成される全体的な装置を意味するものとする。
以上を換言すると、本発明が適用される情報処理システムは、次のような構成を有する各種各様の実施形態を取ることができる。
即ち、本発明が適用される情報処理システムは、
ユーザの指示により制御プログラム(例えば図6のプログラム格納部500に格納されたプログラム)の作製を支援するプログラム作製支援装置(例えば、図1のユーザ端末1)と、
他のハードウェアデバイスと通信をする機能と前記制御プログラムに基づいて前記他のハードウェアデバイスを制御する機能を有する1以上の第1ハードウェアデバイス(例えば、図1のベーシックコア2)と、
前記第1ハードウェアデバイスと通信をする機能と所定の機能を発揮する機能を有する前記他のハードウェアデバイスとしての1以上の第2ハードウェアデバイス(例えば、図1の機能モジュール3)とを含む情報処理システムにおいて、
前記プログラム作製支援装置は、
前記制御プログラムの少なくとも一部を前記1以上の第1ハードウェアデバイスのうちの少なくとも1つに送付する制御送付手段(例えば、図6の制御送付部104)、
を備える情報処理システムであれば足りる。
これにより、プログラム作成支援装置により作成された制御プログラムに基づいてハードウェアデバイスが動作される際において、プログラム作成支援装置と各ハードウェアデバイスとの間の通信が不要になるため、例えば玩具等として好ましい応答速度での動作が可能になり、かつ、ハードウェアデバイスの実機を自立駆動させることが可能になる。
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・・・表示制御部、106・・・通信制御部、121・・・終点部品抽出部、122・・・先行部品特定部、123・・・送信先変更部、201・・・端末通信制御部、202・・・プログラム実行部、203・・・機能モジュール通信制御部、500・・・プログラム格納部、600・・・SパーツDB

Claims (3)

  1. ユーザの指示により制御プログラムの作製を支援するプログラム作製支援装置と、
    他のハードウェアデバイスと通信をする機能と前記制御プログラムに基づいて前記他のハードウェアデバイスを制御する機能を有する1以上の第1ハードウェアデバイスと、
    前記第1ハードウェアデバイスと通信をする機能と所定の機能を発揮する機能を有する前記他のハードウェアデバイスとしての1以上の第2ハードウェアデバイスとを含む情報処理システムにおいて、
    前記プログラム作製支援装置は、
    前記制御プログラムの少なくとも一部を前記1以上の第1ハードウェアデバイスのうちの少なくとも1つに送付する制御送付手段、
    を備える情報処理システム。
  2. 前記プログラム作製支援装置は、
    前記1以上のハードウェアデバイスの中から、所定のルールに基づいて前記制御プログラムの少なくとも一部を送付する第1ハードウェアデバイスを決定する制御送付先決定手段、
    を更に備える請求項1に記載された情報処理システム。
  3. 前記制御プログラムは、前記第2ハードウェアデバイスに対応付けられたハードウェア部品を含むプログラミング部品を結合させて定義され、
    前記制御送付先決定手段は、
    前記制御プログラムを解析して、他の前記プログラミング部品に信号を送らない前記プログラミング部品を終点部品として抽出する終点部品抽出手段と、
    抽出された前記終点部品のそれぞれから遡ってその始点までの全ての前記プログラミング部品を、当該終点部品についての先行部品として特定する先行部品特定手段と、
    前記終点部品の夫々についての前記先行部品の前記制御プログラムにおける信号の送り先を当該終点部品に変更する送信先変更手段と、
    を更に備える請求項1又は2に記載された情報処理システム。
JP2018233734A 2018-12-13 2018-12-13 情報処理システム Pending JP2020095532A (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2018233734A JP2020095532A (ja) 2018-12-13 2018-12-13 情報処理システム
CN201980083090.6A CN113474066A (zh) 2018-12-13 2019-12-12 信息处理系统
SG11202106286UA SG11202106286UA (en) 2018-12-13 2019-12-12 Information processing system
KR1020217018437A KR20210093959A (ko) 2018-12-13 2019-12-12 정보 처리 시스템
US17/413,136 US20220026868A1 (en) 2018-12-13 2019-12-12 Information processing system
PCT/JP2019/048676 WO2020122171A1 (ja) 2018-12-13 2019-12-12 情報処理システム
EP19896940.4A EP3895771A1 (en) 2018-12-13 2019-12-12 Information processing system
TW108145758A TW202032367A (zh) 2018-12-13 2019-12-13 資訊處理系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018233734A JP2020095532A (ja) 2018-12-13 2018-12-13 情報処理システム

Publications (1)

Publication Number Publication Date
JP2020095532A true JP2020095532A (ja) 2020-06-18

Family

ID=71076497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018233734A Pending JP2020095532A (ja) 2018-12-13 2018-12-13 情報処理システム

Country Status (8)

Country Link
US (1) US20220026868A1 (ja)
EP (1) EP3895771A1 (ja)
JP (1) JP2020095532A (ja)
KR (1) KR20210093959A (ja)
CN (1) CN113474066A (ja)
SG (1) SG11202106286UA (ja)
TW (1) TW202032367A (ja)
WO (1) WO2020122171A1 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3827253B2 (ja) 1996-10-09 2006-09-27 株式会社システムワット 組立ブロック及び組立式玩具システム
WO2009011056A1 (ja) * 2007-07-19 2009-01-22 Fujitsu Limited アプリケーション改善支援プログラム、アプリケーション改善支援方法およびアプリケーション改善支援装置
US8869287B2 (en) * 2012-12-31 2014-10-21 International Business Machines Corporation Hybrid analysis of vulnerable information flows
KR101568224B1 (ko) * 2014-12-26 2015-11-11 고려대학교 산학협력단 소프트웨어 취약점 분석방법 및 분석장치
JP6576884B2 (ja) * 2016-07-12 2019-09-18 株式会社日立製作所 制御アプリケーション生成支援装置、及び制御アプリケーション生成支援方法
CN110462584B (zh) * 2017-02-24 2022-11-25 葳葳维尔股份有限公司 控制方法、信息处理系统及装置、和计算机可读储存介质
KR102304692B1 (ko) * 2018-09-21 2021-09-24 주식회사 럭스로보 소스 코드 및 모듈 추천 시스템 및 모듈 어셈블리

Also Published As

Publication number Publication date
KR20210093959A (ko) 2021-07-28
US20220026868A1 (en) 2022-01-27
EP3895771A1 (en) 2021-10-20
CN113474066A (zh) 2021-10-01
WO2020122171A1 (ja) 2020-06-18
TW202032367A (zh) 2020-09-01
SG11202106286UA (en) 2021-07-29

Similar Documents

Publication Publication Date Title
WO2020220184A1 (zh) 可视化编程控制装置、可编程控制的设备及其控制方法、计算机可读存储介质以及编程控制系统
KR102286283B1 (ko) 제어 장치, 제어 방법, 정보 처리 장치, 정보 처리 방법 및 프로그램
KR101676676B1 (ko) 저항과 자석이 내장된 카드키 및 보드를 이용한 로봇 프로그래밍 교육용 키트 및 방법
US20190227776A1 (en) System for co-ordination of logical sequence of instructions across electronic devices using visual programming and wireless communication
CN103839398A (zh) 遥控器的键值信息处理方法及控制设备、遥控器
US10275222B2 (en) Technologies for physical programming
WO2020122171A1 (ja) 情報処理システム
KR102186719B1 (ko) 블록형 무선 코딩 명령어 입력 장치 및 방법
EP3815855B1 (en) Modular robot system
US11463128B2 (en) Information processing device
JP2022100572A (ja) プログラム実行システム、制御装置及び制御プログラム
JP2023032976A (ja) 情報処理システム
KR20200020756A (ko) 학습용 무선 마이크로컨트롤러 키트
KR20210119709A (ko) 모듈형 로봇 제어 시스템
Srividhya et al. IoT Based Vigilance Robot using Gesture Control
JP2019087927A (ja) 赤外線操作システム
KR102203829B1 (ko) 코딩용 카드를 이용하여 코딩로봇의 제어를 위한 알고리즘을 생성하는 코딩보드장치 및 방법
WO2004068891A1 (en) Remote controller for transmitting display messages to display panel
KR20230127711A (ko) 오토마타를 활용한 프로그래밍 교육 방법 및 장치
JP4162146B2 (ja) 画像表示装置、画像表示方法及びプログラム
KR20160031192A (ko) 단말기를 통한 로봇 제어 방법
JP2012194611A (ja) Kvmスイッチ及びプログラム
JP2002218564A (ja) マルチリモコン