JP2018163546A - Programming device, control program of the same, and method for programming - Google Patents

Programming device, control program of the same, and method for programming Download PDF

Info

Publication number
JP2018163546A
JP2018163546A JP2017060810A JP2017060810A JP2018163546A JP 2018163546 A JP2018163546 A JP 2018163546A JP 2017060810 A JP2017060810 A JP 2017060810A JP 2017060810 A JP2017060810 A JP 2017060810A JP 2018163546 A JP2018163546 A JP 2018163546A
Authority
JP
Japan
Prior art keywords
programming
block
unit
target device
shape
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.)
Granted
Application number
JP2017060810A
Other languages
Japanese (ja)
Other versions
JP6910592B2 (en
Inventor
良尚 松本
Yoshihisa Matsumoto
良尚 松本
知明 長坂
Tomoaki Nagasaka
知明 長坂
章吾 橋本
Shogo Hashimoto
章吾 橋本
山口 倫治
Tomoharu Yamaguchi
倫治 山口
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2017060810A priority Critical patent/JP6910592B2/en
Publication of JP2018163546A publication Critical patent/JP2018163546A/en
Application granted granted Critical
Publication of JP6910592B2 publication Critical patent/JP6910592B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a programming device which allows the presentation easier for users of the relation between a programming operation by a tangible programming and the moving direction of a control target part according to the program generated by the operation.SOLUTION: A virtual route is determined on the basis of the relative arrangement of the entire arrangement pattern based on a start block 120S, by a programming operation of sequentially connecting programming blocks 120 to the start block 120S as a starting point, using a tangible program controller made of programming blocks 120 and a core unit 160. The moving route of a target apparatus 200 is defined by the virtual route. Also, the target apparatus 200 is caused to execute a specific functional operation at an arbitrary position on the moving route of the target apparatus 200 by a programming operation of setting function information in a programming block 120 on the virtual route which corresponds to the position.SELECTED DRAWING: Figure 1

Description

本発明は、プログラミング装置及びその制御プログラム、プログラミング方法に関する。   The present invention relates to a programming device, a control program thereof, and a programming method.

従来、コンピュータやモバイル端末等の情報通信機器の普及や、これらを含む様々な機器の制御技術の発展に伴い、プログラムの開発技術の重要性が指摘されていた。近年においては、幼児期からのプログラミング教育の重要性が世界的に認知されてきており、義務教育段階からの必修科目として採用する国が増えてきている。我が国においてもプログラミング教育が政策に盛り込まれ、今後はプログラミング教育への関心がより低年齢層にも拡大していくことが予想される。   Conventionally, the importance of program development technology has been pointed out with the spread of information communication devices such as computers and mobile terminals and the development of control technologies for various devices including them. In recent years, the importance of programming education from early childhood has been recognized worldwide, and an increasing number of countries have adopted it as a compulsory subject from the compulsory education stage. In Japan, programming education is included in the policy, and it is expected that interest in programming education will expand to younger age groups in the future.

このようなプログラミング教育への関心の高まりを背景にして、様々なプログラミング教育ツールが開発されている。例えば特許文献1には、物理的なブロック(物体)をユーザが直接手に持って実際に動かすことにより、一次元的、又は、二次元的に連結することでプログラムを生成し、当該プログラムに基づいて実行装置の動作を制御する技術が記載されている。   Various programming education tools have been developed against the background of such increasing interest in programming education. For example, in Patent Document 1, a user generates a program by connecting a physical block (object) directly in one hand or two-dimensionally by actually moving the physical block (object) in his / her hand. A technique for controlling the operation of the execution device based on the above is described.

また、非特許文献1には、所定のボード上に物理的なブロック(物体)をユーザが直接手に持って実際に動かすことにより、順番に組み付けていくことでプログラムを生成し、走行ロボットの動作を制御する技術が記載されている。また、非特許文献2には、タブレット等の情報端末の画面上でイラストアイコンからなる仮想ブロックを連結することによりプログラミングを行い、画面中のキャラクタの動きを制御する技術が記載されている。   Further, in Non-Patent Document 1, a program is generated by sequentially assembling a physical block (object) on a predetermined board by the user directly holding it in the hand, A technique for controlling the operation is described. Non-Patent Document 2 describes a technique for performing programming by connecting virtual blocks including illustration icons on the screen of an information terminal such as a tablet and controlling the movement of characters on the screen.

これらに記載された技術によれば、連結又は組み付けられた各ブロックに設定された機能を、走行ロボットやキャラクタが順次実行していくことにより、プログラムの構成や実行状況を直感的に学習することができる。本明細書では、特許文献1や非特許文献1のように、物体を直接動かすことでプログラミングすることを、タンジブルなプログラミングという。一方、非特許文献2のように、液晶表示装置などの電子的なディスプレイの画面上に表示された仮想ブロック即ち仮想的なアイコンにタッチして動かすことでプログラミングすることを、ビジュアル・プログラミングという。また、本明細書において、タンジブルであるとは、実体があり、現実空間内において手で触れて実感することができる状態にあることを意味する。しかしながら、液晶表示装置などの電子的なディスプレイ自体はタンジブルであっても、そういったディスプレイ上に電子的に表示されたアイコンなどを、そのディスプレイ画面にタッチすることで操作することは、タンジブルな操作ではない。   According to the techniques described in these, the configuration and execution status of the program can be intuitively learned by the running robot and the character sequentially executing the functions set in each connected or assembled block. Can do. In this specification, as in Patent Document 1 and Non-Patent Document 1, programming by directly moving an object is called tangible programming. On the other hand, as in Non-Patent Document 2, programming by touching and moving a virtual block, that is, a virtual icon displayed on a screen of an electronic display such as a liquid crystal display device is called visual programming. Further, in the present specification, being tangible means that there is an entity and it can be felt by touching it in the real space with a hand. However, even if an electronic display such as a liquid crystal display device itself is tangible, it is not possible to operate an icon displayed electronically on such a display by touching the display screen. Absent.

特開平5−204620号公報JP-A-5-204620

“Cubetto: コーディングとプログラミングを教えてくれる子ども向けロボット”、[online]、2016、Primo Toys、[2016年11月22日検索]、インターネット<URL:https://www.primotoys.com/ja/>“Cubetto: A robot for children who teaches coding and programming”, [online], 2016, Primo Toys, [Search November 22, 2016], Internet <URL: https://www.primotoys.com/en/ > “ScratchJr - Home”、[online]、2016年5月17日更新、MIT Media Lab、[2016年11月22日検索]、インターネット<URL:https://www.scratchjr.org/>“ScratchJr-Home”, [online], updated on May 17, 2016, MIT Media Lab, [searched on November 22, 2016], Internet <URL: https://www.scratchjr.org/>

一般に、幼児等の年少者に対するプログラミング教育においては、知能の発達の観点から、タンジブルなプログラミング、即ち、現実空間内で実際に物体に触って移動、変形等の操作をしながらプログラミングを行わせる方が、学習効果が高いと考えられている。   In general, in programming education for young children such as infants, from the viewpoint of intelligence development, tangible programming, that is, programming to be performed while actually touching an object in the real space while moving, deforming, etc. However, it is thought that the learning effect is high.

しかしながら、上記の特許文献1や非特許文献1に記載されている技術は、タンジブルなプログラミングではあるものの、機能が設定されたブロックを所定の接合部で連結させたり、所定のボードに順次組み付けさせたりしてプログラミングを行う手法であるため、連結又は組み付けたブロック全体の形状や配置と、実際に動作する実行装置や走行ロボットの進行方向とが無関係になっている。そのため、幼児にはプログラミングの際の操作内容と実行装置の移動との関係が直感的に把握、理解しにくく、プログラミングの学習効果が十分に得られない場合がある。   However, although the techniques described in Patent Document 1 and Non-Patent Document 1 described above are tangible programming, blocks having functions set are connected at a predetermined joint or sequentially assembled on a predetermined board. Therefore, the shape and arrangement of the whole connected or assembled block and the traveling direction of the execution device or the traveling robot that actually operates are irrelevant. For this reason, it may be difficult for an infant to intuitively grasp and understand the relationship between the operation content during programming and the movement of the execution device, and the programming learning effect may not be sufficiently obtained.

また、上記の非特許文献2に記載されている技術は、タンジブルなプログラミングではなくビジュアル・プログラミング、即ち、タブレット等を用いて画面上の操作のみでプログラミングを行う手法であるため、ある程度年長(概ね5歳位以上)の学習者には適しているが、3歳位までの幼児にはプログラミングの際の操作方法や操作内容等が直感的に把握、理解しにくく、プログラミングの学習効果が十分に得られない場合がある。   In addition, the technique described in Non-Patent Document 2 described above is not a tangible programming but a visual programming, that is, a technique of programming only by an operation on a screen using a tablet or the like. Suitable for learners of about 5 years old and older), but for young children up to 3 years of age, it is difficult to intuitively understand and understand the operation method and contents of programming, and the programming learning effect is sufficient May not be obtained.

このように、従来、幼児向けのプログラミング教育ツールとして、タンジブルなプログラミングを行うものやビジュアル・プログラミングを行うものが知られているが、いずれも、幼児にとってプログラミングの学習効果が十分に得られると言えるものではない。つまり、タンジブルなプログラミングによるプログラミング操作と、その操作により生成されたプログラムに応じた被制御部の移動方向との関連性を、ユーザにとってわかりやすくしたようなプログラミング教育ツールは未だ知られていない。   As described above, there are conventionally known programming education tools for infants that perform tangible programming and those that perform visual programming. It is not a thing. That is, there is not yet known a programming education tool that makes it easy for the user to understand the relationship between a programming operation based on tangible programming and the movement direction of the controlled unit corresponding to the program generated by the operation.

そこで、本発明は、上述したような課題に鑑みて、タンジブルなプログラミングによるプログラミング操作と、その操作により生成されたプログラムに応じた被制御部の移動方向との関連性を、ユーザにとってわかりやすくすることができるプログラミング装置及びその制御プログラム、プログラミング方法を提供することを目的とする。   Therefore, in view of the above-described problems, the present invention makes it easy for the user to understand the relationship between a programming operation based on tangible programming and the movement direction of the controlled unit corresponding to the program generated by the operation. An object of the present invention is to provide a programming device, a control program therefor, and a programming method.

本発明に係るプログラミング装置は、
タンジブルな複数の形状指示部がユーザ操作によって互いに相対的に配置されることで前記複数の形状支持部の相対位置が指示されたことに応じて、前記複数の形状支持部の相対位置に基づいて、第1形状を指示する第1形状指示部と、
前記第1形状指示部により指示された前記第1形状に対応させて被制御部を移動させる命令を生成する命令生成部と、
を備えることを特徴とする。
A programming device according to the present invention includes:
Based on the relative positions of the plurality of shape support portions in response to the relative position of the plurality of shape support portions being instructed by the plurality of tangible shape instruction portions being arranged relative to each other by a user operation. A first shape designating unit for designating the first shape;
A command generation unit that generates a command to move the controlled unit in correspondence with the first shape instructed by the first shape instruction unit;
It is characterized by providing.

本発明に係るプログラミング方法は、
タンジブルな複数の形状指示部がユーザ操作によって互いに相対的に配置されることで前記複数の形状支持部の相対位置が指示されたことに応じて、前記複数の形状支持部の相対位置に基づいて、第1形状を指示し、
前記指示された前記第1形状に対応させて被制御部を移動させる命令を生成する、
ことを特徴とする。
The programming method according to the present invention includes:
Based on the relative positions of the plurality of shape support portions in response to the relative position of the plurality of shape support portions being instructed by the plurality of tangible shape instruction portions being arranged relative to each other by a user operation. Indicate the first shape,
Generating a command to move the controlled portion in correspondence with the instructed first shape;
It is characterized by that.

本発明に係る制御プログラムは、
プログラミング装置を制御するための制御プログラムであって、
前記プログラミング装置は、第1形状指示部と命令生成部とを備え、
前記プログラミング装置を制御するコンピュータに、
タンジブルな複数の形状支持部がユーザ操作によって互いに相対的に配置されることで前記複数の形状支持部の相対位置が指示されたことに応じて、前記複数の形状支持部の相対位置に基づいて、前記第1形状指示部によって第1形状を指示させ、
指示された前記第1形状に対応させて被制御部を移動させる命令を、前記命令生成部によって生成させる、
ことを特徴とする。
The control program according to the present invention is:
A control program for controlling a programming device,
The programming device includes a first shape instruction unit and an instruction generation unit,
A computer for controlling the programming device;
In response to the relative position of the plurality of shape support portions being instructed by the plurality of tangible shape support portions being arranged relative to each other by a user operation, based on the relative positions of the plurality of shape support portions. , Instructing the first shape by the first shape instruction unit,
Generating a command to move the controlled unit in correspondence with the instructed first shape by the command generating unit;
It is characterized by that.

本発明によれば、タンジブルなプログラミングによるプログラミング操作と、その操作により生成されたプログラムに応じた被制御部の移動方向との関連性を、ユーザにとってわかりやすくすることができる。   ADVANTAGE OF THE INVENTION According to this invention, the relevance of the programming operation by tangible programming and the moving direction of the to-be-controlled part according to the program produced | generated by the operation can be made easy to understand for a user.

本発明に係るプログラミング装置を適用したプログラミング教育装置の第1の実施形態を示す概略図である。It is the schematic which shows 1st Embodiment of the programming education apparatus to which the programming apparatus which concerns on this invention is applied. 本実施形態に係るプログラミング教育装置に適用される構成例を示す機能ブロック図である。It is a functional block diagram which shows the structural example applied to the programming education apparatus which concerns on this embodiment. 本実施形態に係るプログラミング教育装置に適用される他の構成例を示す機能ブロック図である。It is a functional block diagram which shows the other structural example applied to the programming education apparatus which concerns on this embodiment. 本実施形態に係るプログラミング教育装置におけるプログラミング操作及びプログラム生成、実行方法の一例(ノーマルモード)を示すフローチャートである。It is a flowchart which shows an example (normal mode) of programming operation in the programming education apparatus which concerns on this embodiment, a program production | generation, and an execution method. 本実施形態に適用されるプログラミング操作処理(平面的配置)を説明するための概略図(その1)である。It is the schematic for demonstrating the programming operation process (planar arrangement | positioning) applied to this embodiment (the 1). 本実施形態に適用されるプログラミング操作処理(平面的配置)を説明するための概略図(その2)である。It is the schematic for demonstrating the programming operation process (planar arrangement | positioning) applied to this embodiment (the 2). 本実施形態に適用されるプログラム生成、実行処理(一括処理)を説明するための概略図(その1)である。It is the schematic (the 1) for demonstrating the program production | generation and execution process (batch processing) applied to this embodiment. 本実施形態に適用されるプログラム生成、実行処理(一括処理)を説明するための概略図(その2)である。It is the schematic (the 2) for demonstrating the program production | generation and execution process (batch processing) applied to this embodiment. 本実施形態に適用されるプログラム生成、実行処理(ステップ処理)を説明するための概略図(その1)である。It is the schematic (the 1) for demonstrating the program production | generation and execution process (step process) applied to this embodiment. 本実施形態に適用されるプログラム生成、実行処理(ステップ処理)を説明するための概略図(その2)である。It is the schematic for demonstrating the program production | generation and execution process (step process) applied to this embodiment (the 2). 本実施形態に適用されるプログラミング操作処理(立体的配置)を説明するための概略図である。It is the schematic for demonstrating the programming operation process (three-dimensional arrangement | positioning) applied to this embodiment. 本実施形態に適用されるプログラム生成、実行処理(一括処理)の他の例を説明するための概略図である。It is the schematic for demonstrating the other example of the program production | generation and execution process (batch processing) applied to this embodiment. 本実施形態に適用されるスタートブロックの外観表記の一例を示す概略図である。It is the schematic which shows an example of the external appearance description of the start block applied to this embodiment. 本実施形態に適用されるターゲット機器の機能動作の設定方法の一例を示す概略図である。It is the schematic which shows an example of the setting method of the functional operation | movement of the target apparatus applied to this embodiment. 本実施形態に係るプログラミング教育装置におけるプログラミング操作及びプログラム生成、実行方法の変形例(リアルタイムモード)を示すフローチャートである。It is a flowchart which shows the modification (real time mode) of programming operation in the programming education apparatus which concerns on this embodiment, a program production | generation, and an execution method. 本変形例に適用されるプログラミング操作処理及びプログラム生成、実行処理を説明するための概略図(その1)である。It is the schematic for demonstrating the programming operation process applied to this modification, a program production | generation, and an execution process (the 1). 本変形例に適用されるプログラミング操作処理及びプログラム生成、実行処理を説明するための概略図(その2)である。It is the schematic (the 2) for demonstrating the programming operation process applied to this modification, a program production | generation, and an execution process. 本実施形態に係るプログラミング教育装置におけるプログラミング操作に適用される機能動作の変形例(条件分岐、繰り返し、関数、イベント)を示す概略図である。It is the schematic which shows the modification (conditional branch, repetition, a function, an event) of the functional operation | movement applied to programming operation in the programming education apparatus concerning this embodiment. 本実施形態に係るプログラミング教育装置に適用される構成の変形例を示す機能ブロック図である。It is a functional block diagram which shows the modification of the structure applied to the programming education apparatus which concerns on this embodiment. 本変形例に適用されるプログラム生成、実行処理の一例を説明するための概略図である。It is the schematic for demonstrating an example of the program production | generation and execution process applied to this modification.

以下、本発明に係るプログラミング装置及びその制御プログラム、プログラミング方法について、実施形態を示して詳しく説明する。ここでは、説明を簡明にするために、本発明に係るプログラミング装置を適用したプログラミング教育装置を用いて、移動体であるターゲット機器の動作状態を制御するプログラムを生成する場合について説明する。   Hereinafter, a programming device, a control program thereof, and a programming method according to the present invention will be described in detail with reference to embodiments. Here, in order to simplify the description, a case will be described in which a programming education device to which the programming device according to the present invention is applied is used to generate a program for controlling the operating state of a target device that is a moving body.

<第1の実施形態>
(プログラミング教育装置)
図1は、本発明に係るプログラミング装置を適用したプログラミング教育装置の第1の実施形態を示す概略図である。また、図2は、本実施形態に係るプログラミング教育装置に適用される構成例を示す機能ブロック図であり、図3は、本実施形態に係るプログラミング教育装置に適用される他の構成例を示す機能ブロック図である。
<First Embodiment>
(Programming education device)
FIG. 1 is a schematic diagram showing a first embodiment of a programming education device to which a programming device according to the present invention is applied. 2 is a functional block diagram illustrating a configuration example applied to the programming education apparatus according to the present embodiment, and FIG. 3 illustrates another configuration example applied to the programming education apparatus according to the present embodiment. It is a functional block diagram.

第1の実施形態に係るプログラミング教育装置は、例えば図1に示すように、大別して、プログラム制御装置100と、ターゲット機器200とを有している。プログラム制御装置100は、プログラミング教育の対象者であるユーザによる入力操作を受け付け、受け付けた入力操作に応じた情報を取得して、ターゲット機器200の動作状態を制御するプログラムを生成する。また、ターゲット機器200は、タンジブルな、又はタンジブルでない移動体であって、プログラム制御装置100から転送されたプログラムを実行することにより、移動を含む動作状態が制御される以下、プログラム制御装置100及びターゲット機器200について、詳しく説明する。   For example, as shown in FIG. 1, the programming education apparatus according to the first embodiment roughly includes a program control apparatus 100 and a target device 200. The program control apparatus 100 receives an input operation by a user who is a target of programming education, acquires information according to the received input operation, and generates a program for controlling the operation state of the target device 200. Further, the target device 200 is a tangible or non-tangible mobile body, and an operation state including movement is controlled by executing a program transferred from the program control device 100. The target device 200 will be described in detail.

(プログラム制御装置)
プログラム制御装置100は、例えば図1に示すように、いずれもタンジブルである、複数のプログラミングブロック120と、コアユニット160と、を有している。
(Program control device)
As shown in FIG. 1, for example, the program control apparatus 100 includes a plurality of programming blocks 120 and a core unit 160, all of which are tangible.

(プログラミングブロック120)
プログラミングブロック120は、例えば図1に示すように、現実空間内において物理的に直接触れることができるタンジブルな物体であり、略立方体(又は、略直方体)形状を有し、後述するように、当該立方体形状の各面を介して他のプログラミングブロック120が連結接続される。このプログラミングブロック120を複数個、連結接続することにより形成される集合体の全体配置形状は、ターゲット機器200の移動経路を規定する。すなわち、プログラミングブロック120は、ターゲット機器200を動作させる際の、ターゲット機器200の移動経路を規定するための入力装置として機能する。ここで、複数のプログラミングブロック120の全体配置形状は、二次元形状(すなわち、平面的に配置された形状)を有しているものであってもよいし、三次元形状(すなわち、立体的に配置された形状)を有しているものであってもよい。また、プログラミングブロック120は、ターゲット機器200を動作させる際に、上記の移動経路上でターゲット機器200が実行する特定の機能動作を設定するための入力装置としても機能する。
(Programming block 120)
For example, as shown in FIG. 1, the programming block 120 is a tangible object that can be physically touched in a real space, has a substantially cubic (or substantially rectangular parallelepiped) shape, and will be described later. Other programming blocks 120 are connected to each other through the cube-shaped surfaces. The overall arrangement shape of the assembly formed by connecting and connecting a plurality of programming blocks 120 defines the movement path of the target device 200. That is, the programming block 120 functions as an input device for defining the movement path of the target device 200 when the target device 200 is operated. Here, the overall arrangement shape of the plurality of programming blocks 120 may have a two-dimensional shape (that is, a shape arranged in a plane) or a three-dimensional shape (that is, three-dimensionally). It may have a shape). The programming block 120 also functions as an input device for setting a specific functional operation to be executed by the target device 200 on the movement path when the target device 200 is operated.

なお、プログラミングブロック120は、他のプログラミングブロック120を連結接続した際に、プログラミングブロック120相互間、又は、コアユニット160との間で、後述するブロック情報や連結特定情報の送受信や駆動用の電力の授受を確実に行うことができる程度に、当該接続状態が強固かつ安定して保持されるものであることが好ましい。そのために、例えばプログラミングブロック120相互の接触面となる両面が凹凸形状を有し、互いに着脱可能に係止する構造を有しているものであってもよいし、両面が磁力等により吸着する構造を有しているものであってもよい。   When the programming block 120 is connected to another programming block 120, power for transmission / reception of block information and connection specific information, which will be described later, and driving power between the programming blocks 120 or the core unit 160 are connected. It is preferable that the connection state is firmly and stably maintained to such an extent that the transfer can be reliably performed. For this purpose, for example, both surfaces serving as contact surfaces between the programming blocks 120 may have a concavo-convex shape and detachably engage with each other, or a structure in which both surfaces are adsorbed by a magnetic force or the like. It may have.

また、本実施形態においては、説明を簡明にするために、プログラミングブロック120が立方体形状を有しているものとして説明するが、本発明はこれに限定されるものではなく、上記のような接続状態を保持できるものであれば、任意の多面体形状を有するものであってもよいし、この例に限られないが略円柱形状や略円錐形状、略裁頭円錐形状、略球形状、略半球形状などのように表面の一部が曲面であるものであってもよい。また、本実施形態においては、ターゲット機器200の移動動作時の始点から終点までの経路(移動経路)を規定する、連結接続された複数のプログラミングブロック120のうち、始点となるプログラミングブロック120を他のプログラミングブロック120と区別するために、便宜的に「スタートブロック120S」と記す。   In the present embodiment, the programming block 120 is described as having a cubic shape in order to simplify the description. However, the present invention is not limited to this, and the connection as described above. As long as the state can be maintained, it may have any polyhedron shape, and although not limited to this example, it is substantially cylindrical shape, substantially conical shape, substantially truncated cone shape, substantially spherical shape, substantially hemispherical shape. A part of the surface may be a curved surface such as a shape. Further, in the present embodiment, the programming block 120 that is the starting point among the plurality of connected and connected programming blocks 120 that define the route (movement route) from the starting point to the ending point during the moving operation of the target device 200 is different. In order to distinguish it from the programming block 120 of FIG.

プログラミングブロック120は、例えば図2に示すように、ブロックI/F部122と、識別変移部124と、記憶部126と、制御部128と、を有している。また、スタートブロック120Sは、プログラミングブロック120の上記の構成に加え、外部インターフェース部(以下、「外部I/F部」と略記する)130を、さらに有している。   As illustrated in FIG. 2, for example, the programming block 120 includes a block I / F unit 122, an identification transition unit 124, a storage unit 126, and a control unit 128. The start block 120S further includes an external interface unit (hereinafter abbreviated as “external I / F unit”) 130 in addition to the configuration of the programming block 120 described above.

ブロックI/F部122は、連結検知部と、受信部と、送信部とを有している。
連結検知部は、自己のプログラミングブロック120又はスタートブロック120Sと、他のプログラミングブロック120との連結状態を検知する。具体的には、連結検知部は、立方体の6面(便宜的に、前後左右上下の6面とする)のうちのどの面、又は、どの方向に他のプログラミングブロック120が連結接続されているか、という連結状態を特定する情報(連結特定情報)を取得する。ここで、スタートブロック120Sは、立方体の6面のうち特定の一面側の方向が、ターゲット機器200の進行方向に対応する基準方向として設定されていて、他のプログラミングブロック120が連結接続されている面について、当該基準方向(ターゲット機器200の進行方向)に対する相対的な配置(方向や位置関係)が検知される。連結検知部により取得された連結特定情報は、記憶部126の記憶領域に記憶される。
The block I / F unit 122 includes a connection detection unit, a reception unit, and a transmission unit.
The connection detection unit detects a connection state between the programming block 120 or the start block 120 </ b> S and another programming block 120. Specifically, the connection detection unit is connected to the other programming block 120 in which direction or in which direction of the six surfaces of the cube (for convenience, the front, back, left, right, up and down six surfaces). , Information for specifying the connection state (connection specifying information) is acquired. Here, in the start block 120S, a direction on one specific side of the six surfaces of the cube is set as a reference direction corresponding to the traveling direction of the target device 200, and other programming blocks 120 are connected and connected. The relative arrangement (direction and positional relationship) of the surface with respect to the reference direction (the traveling direction of the target device 200) is detected. The connection specifying information acquired by the connection detection unit is stored in the storage area of the storage unit 126.

受信部は、自己のプログラミングブロック120に対して、ターゲット機器200の移動経路の終点側となる方向側(以下、便宜的に「後方側」と記す)に連結接続された他のプログラミングブロック120(すなわち、後方側のプログラミングブロック120)から、当該後方側のプログラミングブロック120が有するブロック情報を受信する。ここで、ブロック情報は、プログラミングブロック120に固有の識別情報(ID情報)や、ターゲット機器200に実行させる特定の機能動作を規定する機能情報を有している。また、後方側のプログラミングブロック120が連結特定情報を有している場合、すなわち、後方側のプログラミングブロック120のさらに後方側に他のプログラミングブロック120が連結接続されている場合には、受信部は、当該後方側のプログラミングブロック120が有する連結特定情報を受信する。受信部により受信したブロック情報や連結特定情報は、記憶部126の記憶領域に記憶される。   The receiving unit is connected to another programming block 120 (hereinafter referred to as “rear side” for the sake of convenience) connected to its own programming block 120 on the direction side (hereinafter referred to as “rear side” for convenience). That is, the block information of the backward programming block 120 is received from the backward programming block 120). Here, the block information includes identification information (ID information) unique to the programming block 120 and functional information that defines a specific functional operation to be executed by the target device 200. In addition, when the rear programming block 120 has connection specific information, that is, when another programming block 120 is connected to the rear side of the rear programming block 120, the receiving unit The connection specifying information included in the programming block 120 on the rear side is received. The block information and the connection specifying information received by the receiving unit are stored in the storage area of the storage unit 126.

送信部は、自己のプログラミングブロック120に対して、ターゲット機器200の移動経路の始点側となる方向側(以下、便宜的に「前方側」と記す)に連結接続された他のプログラミングブロック120(すなわち、前方側のプログラミングブロック120)、又は、スタートブロック120Sに、自己のプログラミングブロック120が有するブロック情報を送信する。また、自己のプログラミングブロック120の後方側に他のプログラミングブロック120が連結接続されている場合には、当該後方側のプログラミングブロック120から受信したブロック情報、及び、連結検知部により取得された、後方側のプログラミングブロック120との連結状態を特定する連結特定情報を、前方側のプログラミングブロック120、又は、スタートブロック120Sに送信する。   The transmitting unit is connected to another programming block 120 (hereinafter, referred to as “front side” for the sake of convenience) that is connected to the programming block 120 of its own on the direction side that is the starting point side of the movement path of the target device 200. That is, the block information of its own programming block 120 is transmitted to the programming block 120) on the front side or the start block 120S. In addition, when another programming block 120 is connected and connected to the rear side of its own programming block 120, the block information received from the rear side programming block 120 and the back acquired by the connection detection unit The connection specifying information for specifying the connection state with the programming block 120 on the side is transmitted to the programming block 120 on the front side or the start block 120S.

また、各プログラミングブロック120が駆動用の電力を供給する電源部を有していない場合には、ブロックI/F部122は、上記の各構成に加え、給電及び受電機構を有し、複数のプログラミングブロック120を連結接続する際の始点となるスタートブロック120Sから受電した駆動用の電力を後方側のプログラミングブロック120に順次給電する。この場合、スタートブロック120SのブロックI/F部122は、上記の各構成に加え、給電機構を有している。   In addition, when each programming block 120 does not have a power supply unit that supplies driving power, the block I / F unit 122 includes a power feeding and power receiving mechanism in addition to the above components, and includes a plurality of power supply units. The driving power received from the start block 120S that is the starting point when the programming blocks 120 are connected and connected is sequentially supplied to the programming block 120 on the rear side. In this case, the block I / F unit 122 of the start block 120S has a power feeding mechanism in addition to the above components.

このようなブロックI/F部122は、他のプログラミングブロック120やスタートブロック120Sとの間で、上記のブロック情報や連結特定情報を送受信するために、非接触型、又は、接触型のインターフェースを有している。ここで、ブロックI/F部122として、非接触型のインターフェースを適用する場合には、例えば電子マネーカード等に用いられているNFC(Near Field Communication)等の近距離無線通信技術による方式や、赤外線等を用いた光通信方式を適用することができ、また、接触型のインターフェースを適用する場合には、端子電極相互を直接接続する方式を適用することができる。なお、ブロックI/F部122に適用されるインターフェースは、立方体の6面全て(前後左右上下の6面)に個別に設けられるものであってもよいし、6面全てに共通して設けられているものであってもよい。   Such a block I / F unit 122 uses a non-contact type or contact type interface in order to transmit / receive the block information and the connection specific information to / from other programming blocks 120 and start blocks 120S. Have. Here, when a non-contact type interface is applied as the block I / F unit 122, for example, a method based on short-range wireless communication technology such as NFC (Near Field Communication) used for an electronic money card, An optical communication method using infrared rays or the like can be applied, and when a contact type interface is applied, a method of directly connecting terminal electrodes can be applied. The interface applied to the block I / F unit 122 may be provided individually on all six surfaces of the cube (front, back, left, right, up, and down six surfaces), or provided in common on all six surfaces. It may be.

識別変移部124は、例えば発光部あるいは表示部を有し、プログラミングブロック120を用いたプログラミング操作の際に、ブロックI/F部122により自己のプログラミングブロック120が他のプログラミングブロック120やスタートブロック120Sに連結接続された状態が検知されると、発光部を所定の発光状態で発光させたり、表示部に表示される画像を変化させたりすることにより、当該プログラミングブロック120を識別可能な状態にする。   The identification transition unit 124 includes, for example, a light emitting unit or a display unit, and when a programming operation using the programming block 120 is performed, the block I / F unit 122 changes its own programming block 120 to another programming block 120 or a start block 120S. When the connected state is detected, the light emitting unit emits light in a predetermined light emitting state, or the image displayed on the display unit is changed to make the programming block 120 identifiable. .

なお、この識別変移部124に適用される表示部は、電力を使用せずに表示される画像を変化させるものであってもよい。例えば、各プログラミングブロック120の内部には永久磁石が設置され、プログラミングブロック120相互を連結接続することに伴い、それぞれのプログラミングブロック120内の永久磁石間に生じる引力又は反発力によって、表示部が回転することで画像を変化させるというように、磁力を利用したものであってもよい。また、プログラミングブロック120のうち少なくとも他のプログラミングブロック120に連結接続される側に、プログラミングブロック120の内部へ向けて押圧変位される凸部を設けておいてもよい。そして、プログラミングブロック120相互を連結接続することに伴い、プログラミングブロック120の凸部が内方へ押圧変位され、その変位に連動して表示部が回転することで画像を変化させるというように、メカニカルな機構を有するものであってもよい。   Note that the display unit applied to the identification transition unit 124 may change the displayed image without using power. For example, a permanent magnet is installed in each programming block 120, and the display unit is rotated by an attractive force or a repulsive force generated between the permanent magnets in each programming block 120 when the programming blocks 120 are connected to each other. It is also possible to use magnetic force such as changing the image by doing so. Further, a convex portion that is pressed and displaced toward the inside of the programming block 120 may be provided on the side of the programming block 120 that is connected and connected to at least another programming block 120. As the programming blocks 120 are connected to each other, the convex portions of the programming blocks 120 are pressed and displaced inward, and the image is changed by rotating the display unit in conjunction with the displacement. It may have a simple mechanism.

また、識別変移部124は、プログラミング操作に基づいて生成されたプログラムを実行して、ターゲット機器200に移動動作させたり、予め設定された特定の機能動作を実行させたりする際に、当該ターゲット機器200の移動位置や機能動作を規定したプログラミングブロック120の発光部を所定の発光状態で発光させたり、表示部に表示される画像を変化させたりすることにより、ターゲット機器200の動作状態に対応するプログラミングブロック120を識別可能な状態にする。   Further, the identification transition unit 124 executes the program generated based on the programming operation to cause the target device 200 to move or perform a specific function operation set in advance. Corresponding to the operating state of the target device 200 by causing the light emitting unit of the programming block 120 that defines the movement position and functional operation of the 200 to emit light in a predetermined light emitting state or changing the image displayed on the display unit. The programming block 120 is made identifiable.

ここで、識別変移部124に適用される発光部は、例えば発光ダイオード(LED)を適用することができ、表示部は、例えば液晶や有機EL素子による表示方式を適用することができる。そして、識別変移部124は、プログラミング操作の際やプログラムの実行時に、発光部を所定の発光色や発光強度、発光パターンで発光させたり、表示部に表示される画像を変化させたりすることにより、視覚的に識別可能な状態に変移させる。   Here, for example, a light emitting diode (LED) can be applied to the light emitting unit applied to the identification transition unit 124, and a display method using, for example, a liquid crystal or an organic EL element can be applied to the display unit. The identification changing unit 124 causes the light emitting unit to emit light with a predetermined light emission color, light emission intensity, or light emission pattern during a programming operation or execution of the program, or to change an image displayed on the display unit. , Transition to a visually identifiable state.

なお、図2においては、識別変移部124として発光部又は表示部を設けた形態を示したが、本発明はこの形態に限定されるものではなく、音響部や振動部をさらに備え、発音や振動させる形態や、当該発音や振動の繰り返し時間や振幅、周波数、パターンを変化させる形態を有しているものであってもよい。これによれば、ユーザの視覚に加え聴覚や触覚を通して、プログラミング操作の対象になっているプログラミングブロック120や、ターゲット機器200の動作状態に対応するプログラミングブロック120が、より確実に識別可能になる。   In FIG. 2, a mode in which a light emitting unit or a display unit is provided as the identification transition unit 124 is shown. However, the present invention is not limited to this mode, and further includes an acoustic unit and a vibration unit. It may have a form to vibrate, or a form to change the sound generation and vibration repetition time, amplitude, frequency, and pattern. According to this, the programming block 120 that is the target of the programming operation and the programming block 120 corresponding to the operation state of the target device 200 can be more reliably identified through hearing and touch in addition to the user's vision.

記憶部126は、自己のプログラミングブロック120又はスタートブロック120Sに固有のブロック情報を記憶するとともに、後方側に他のプログラミングブロック120が連結接続されている場合には、当該後方側のプログラミングブロック120が有するブロック情報、及び、当該後方側のプログラミングブロック120との連結状態を特定する連結特定情報を記憶する。   The storage unit 126 stores block information unique to its own programming block 120 or start block 120S, and when the other programming block 120 is connected to the rear side, the rear side programming block 120 is And block specifying information for specifying the connecting state with the programming block 120 on the rear side.

ここで、記憶部126は、ブロック情報として、自己のプログラミングブロック120又はスタートブロック120Sに固有の識別情報、及び、ターゲット機器200の機能動作を規定する機能情報を記憶する。また、記憶部126は、後方側に他のプログラミングブロック120が連結接続されている場合には、全ての後方側のプログラミングブロック120が有するブロック情報、及び、全ての後方側のプログラミングブロック120の連結状態を特定する連結特定情報を記憶する。本実施形態においては、これらの自己及び後方側に連結接続された全てのプログラミングブロック120に関するブロック情報と連結特定情報とを「入力操作情報」と総称する。したがって、スタートブロック120Sの記憶部126には、連結接続された全てのプログラミングブロック120に関する入力操作情報が記憶されることになる。   Here, the storage unit 126 stores, as block information, identification information unique to its own programming block 120 or start block 120S, and functional information that defines the functional operation of the target device 200. In addition, when the other programming block 120 is connected and connected to the rear side, the storage unit 126 includes block information included in all the rear side programming blocks 120 and connection of all the rear side programming blocks 120. The connection specifying information for specifying the state is stored. In the present embodiment, block information and connection specifying information regarding all the programming blocks 120 connected and connected to the self and the rear side are collectively referred to as “input operation information”. Therefore, the storage unit 126 of the start block 120S stores input operation information regarding all the programming blocks 120 connected and connected.

また、記憶部126は、当該プログラミングブロック120に連結接続された他のプログラミングブロック120から送信された入力操作情報を一時的に記憶領域に記憶する。さらに、記憶部126は、後述する制御部128においてプログラミングブロック120の各部の動作を制御するためのプログラムや各種の情報を記憶するものであってもよい。すなわち、記憶部126は、RAM及びROMを有するものである。   In addition, the storage unit 126 temporarily stores input operation information transmitted from another programming block 120 connected to the programming block 120 in a storage area. Furthermore, the storage unit 126 may store a program for controlling the operation of each unit of the programming block 120 and various types of information in the control unit 128 described later. That is, the storage unit 126 includes a RAM and a ROM.

外部I/F部130は、スタートブロック120Sにのみ設けられ、スタートブロック120Sと後述するコアユニット160との間で通信を行い、記憶部126の記憶領域に記憶された入力操作情報(連結接続された全てのプログラミングブロック120が有するブロック情報、及び、連結接続された全てのプログラミングブロック120相互の連結状態を特定する連結特定情報)をコアユニット160に送信する。また、スタートブロック120Sが駆動用の電力を供給する電源部を有していない場合には、外部I/F部130は、受電機構を有し、後述するコアユニット160から受電した駆動用の電力を、ブロックI/F部122を介して後方側のプログラミングブロック120に給電する。   The external I / F unit 130 is provided only in the start block 120S, performs communication between the start block 120S and a core unit 160 described later, and inputs operation information (concatenated and connected) stored in the storage area of the storage unit 126. Block information included in all the programming blocks 120 and connection specifying information for specifying connection states between all the connected programming blocks 120 are transmitted to the core unit 160. In addition, when the start block 120S does not have a power supply unit that supplies driving power, the external I / F unit 130 has a power receiving mechanism, and driving power received from a core unit 160 described later. Is supplied to the programming block 120 on the rear side via the block I / F unit 122.

このような外部I/F部130は、非接触型、又は、接触型のインターフェースを有している。ここで、外部I/F部130として、非接触型のインターフェースを適用する場合には、例えばNFCやBluetooth(登録商標)、Wi-Fi(Wireless Fidelity;登録商標)等の無線通信方式や、赤外線等を用いた光通信方式を適用することができ、また、接触型のインターフェースを適用する場合には、各種の通信ケーブルを用いた有線通信方式や、端子電極相互を直接接続する方式を適用することができる。   Such an external I / F unit 130 has a non-contact type or contact type interface. Here, when a non-contact type interface is applied as the external I / F unit 130, for example, a wireless communication system such as NFC, Bluetooth (registered trademark), Wi-Fi (Wireless Fidelity; registered trademark), or infrared Can be applied, and when a contact-type interface is applied, a wired communication method using various communication cables and a method of directly connecting terminal electrodes are applied. be able to.

制御部128は、上記のブロックI/F部122、識別変移部124、記憶部126、外部I/F部130を有するプログラミングブロック120の各部の動作を制御するコンピュータのプロセッサである。特に、プログラミングブロック120の制御部128は、ブロックI/F部122により後方側に他のプログラミングブロック120が連結接続された状態を検知した場合には、当該後方側のプログラミングブロック120が有するブロック情報を受信するとともに、当該後方側のプログラミングブロック120との連結状態を特定する連結特定情報を取得して記憶部126の記憶領域に記憶する。また、プログラミングブロック120の制御部128は、ブロックI/F部122により前方側の他のプログラミングブロック120やスタートブロック120Sに連結接続された状態を検知した場合には、記憶部126の記憶領域に記憶されたブロック情報や連結特定情報を、当該前方側のプログラミングブロック120やスタートブロック120Sに送信するとともに、識別変移部124により自己のプログラミングブロック120を所定の発光状態で発光させたり、表示画像を変化させたりして識別可能な状態にする。   The control unit 128 is a computer processor that controls the operation of each unit of the programming block 120 including the block I / F unit 122, the identification transition unit 124, the storage unit 126, and the external I / F unit 130. In particular, when the control unit 128 of the programming block 120 detects a state in which another programming block 120 is connected and connected to the rear side by the block I / F unit 122, the block information included in the rear programming block 120 is detected. And the link specifying information for specifying the link status with the programming block 120 on the rear side is acquired and stored in the storage area of the storage unit 126. Further, when the control unit 128 of the programming block 120 detects that the block I / F unit 122 is connected to the other programming block 120 or the start block 120S on the front side, the control unit 128 stores the storage area in the storage unit 126. The stored block information and connection specifying information are transmitted to the programming block 120 and the start block 120S on the front side, and the identification transition unit 124 causes the programming block 120 to emit light in a predetermined light emission state, or to display a display image. Change it so that it can be identified.

一方、スタートブロック120Sの制御部128は、ブロックI/F部122によりプログラミングブロック120が連結接続された状態を検知した場合には、連結接続された全ての後方側のプログラミングブロック120が有するブロック情報、及び、連結接続された全ての後方側のプログラミングブロック120の連結状態を特定する連結特定情報を受信して記憶部126の記憶領域に記憶する。さらに、制御部128は、外部I/F部130を介してプログラミング操作により記憶部126の記憶領域に記憶された各種情報をコアユニット160へ送信する。   On the other hand, when the control unit 128 of the start block 120S detects that the programming block 120 is connected and connected by the block I / F unit 122, the block information included in all the connected programming blocks 120 on the rear side. And the connection specific information which specifies the connection state of all the connected programming blocks 120 on the back side is received and stored in the storage area of the storage unit 126. Further, the control unit 128 transmits various information stored in the storage area of the storage unit 126 to the core unit 160 through a programming operation via the external I / F unit 130.

(コアユニット160)
コアユニット160は、例えば図1に示すように、一面側(図面、上面)に操作スイッチが配置された直方体形状や平板形状を有している。このコアユニット160は、プログラミングブロック120を用いたプログラミング操作により取得された情報に基づいて、ターゲット機器200を動作させるためのプログラムを生成するとともに、当該プログラムを実行して、ターゲット機器200の動作状態を制御するコントロール装置として機能する。
(Core unit 160)
For example, as shown in FIG. 1, the core unit 160 has a rectangular parallelepiped shape or a flat plate shape in which operation switches are arranged on one side (the drawing, the upper surface). The core unit 160 generates a program for operating the target device 200 based on the information acquired by the programming operation using the programming block 120, and executes the program to determine the operation state of the target device 200. It functions as a control device for controlling.

コアユニット160は、具体的には、例えば図2に示すように、操作部162と、外部I/F部164と、記憶部166と、通信インターフェース部(以下、「通信I/F部」と略記する) 168と、制御部170と、電源部172と、を有している。   Specifically, the core unit 160 includes, for example, an operation unit 162, an external I / F unit 164, a storage unit 166, a communication interface unit (hereinafter referred to as “communication I / F unit”) as illustrated in FIG. (Abbreviated) 168, a control unit 170, and a power supply unit 172.

操作部162は、ユーザが操作を行うことにより上述したプログラミングブロック120を用いたプログラミング操作により取得された情報に基づいてプログラムを生成するとともに、当該プログラムの実行状態を指示する。具体的には、操作部162は、生成したプログラムの実行状態を選択する複数のプッシュスイッチやタッチセンサ、あるいは、タッチパネルを有している。ここで、操作部162には、例えば図1に示すように、後述する制御部170により生成されたプログラム全体を一括して実行する一括実行スイッチ182や、当該プログラムの命令を1ステップずつ実行するステップ実行スイッチ184、実行されているプログラムを停止する実行停止スイッチ186、ターゲット機器200を初期位置(スタート地点)まで戻すホームスイッチ188等のプッシュスイッチが配置されている。そして、操作部162は、ユーザがいずれかのスイッチを押下した状態、又は、スイッチに接触した状態を検出すると、当該スイッチ操作に応じてプログラムの生成及び実行状態を指示する制御信号を後述する制御部170に出力する。   The operation unit 162 generates a program based on information acquired by a programming operation using the above-described programming block 120 when the user performs an operation, and instructs the execution state of the program. Specifically, the operation unit 162 includes a plurality of push switches, touch sensors, or a touch panel for selecting the execution state of the generated program. Here, for example, as shown in FIG. 1, the operation unit 162 executes a batch execution switch 182 that collectively executes the entire program generated by the control unit 170 described later, and the instructions of the program one step at a time. Push switches such as a step execution switch 184, an execution stop switch 186 for stopping the program being executed, and a home switch 188 for returning the target device 200 to the initial position (start point) are arranged. When the operation unit 162 detects a state in which the user has pressed any switch or a state in which the switch is touched, a control signal for instructing a program generation and execution state according to the switch operation is described later. Output to the unit 170.

外部I/F部164は、コアユニット160とスタートブロック120Sとの間で通信を行い、スタートブロック120Sから送信された入力操作情報を受信する。また、記憶部166は、スタートブロック120Sから外部I/F部164を介して受信した入力操作情報を所定の記憶領域に記憶するとともに、これらの情報に基づいて、後述する制御部170により生成されたプログラムを別の記憶領域に記憶する。また、記憶部166は、制御部170において受信した入力操作情報に基づいてターゲット機器200の動作状態を制御するためのプログラムを生成するためのプログラムや、コアユニット160の各部の動作を制御するためのプログラム、その他、各種の情報を記憶するものであってもよい。すなわち、記憶部166は、RAM及びROMを有するものである。   The external I / F unit 164 performs communication between the core unit 160 and the start block 120S, and receives input operation information transmitted from the start block 120S. The storage unit 166 stores the input operation information received from the start block 120S via the external I / F unit 164 in a predetermined storage area, and is generated by the control unit 170 described later based on the information. Stored programs in a separate storage area. In addition, the storage unit 166 controls a program for generating a program for controlling the operation state of the target device 200 based on the input operation information received by the control unit 170 and an operation of each unit of the core unit 160. These programs and other information may be stored. In other words, the storage unit 166 includes a RAM and a ROM.

通信I/F部168は、コアユニット160とターゲット機器200との間で通信を行い、記憶部166の記憶領域に記憶されたプログラムをターゲット機器200に送信する。具体的には、通信I/F部168は、非接触型、又は、接触型のインターフェースを有し、非接触型のインターフェースを適用する場合には、例えばWi-Fi(登録商標)やBluetooth(登録商標)等の無線通信方式や、赤外線等を用いた光通信方式を適用することができ、また、接触型のインターフェースを適用する場合には、通信ケーブルを用いた有線通信方式を適用することができる。   The communication I / F unit 168 performs communication between the core unit 160 and the target device 200, and transmits the program stored in the storage area of the storage unit 166 to the target device 200. Specifically, the communication I / F unit 168 has a non-contact type or contact type interface, and when a non-contact type interface is applied, for example, Wi-Fi (registered trademark) or Bluetooth ( A wireless communication system such as registered trademark) and an optical communication system using infrared rays can be applied. When a contact type interface is applied, a wired communication system using a communication cable must be applied. Can do.

制御部170は、上記の操作部162、外部I/F部164、記憶部166、通信I/F部168、及び、後述する電源部172を有するコアユニット160の各部の動作を制御するコンピュータのプロセッサである。特に、制御部170は、操作部162によりプログラムの生成、実行に関するユーザの指示を検出した場合には、スタートブロック120Sから送信される入力操作情報に基づいて、ターゲット機器200の動作状態を制御するプログラムを生成する。   The control unit 170 is a computer that controls the operation of each unit of the core unit 160 including the operation unit 162, the external I / F unit 164, the storage unit 166, the communication I / F unit 168, and the power supply unit 172 described later. It is a processor. In particular, when the operation unit 162 detects a user instruction regarding program generation and execution, the control unit 170 controls the operation state of the target device 200 based on the input operation information transmitted from the start block 120S. Generate a program.

具体的には、制御部170は、操作部162において、一括実行スイッチ182又はステップ実行スイッチ184が操作されて押下又は接触状態を検出すると、スタートブロック120Sから送信された入力操作情報(連結接続された全てのプログラミングブロック120のブロック情報及び連結特定情報)に基づいて、ターゲット機器200の動作状態(移動動作及び機能動作)を制御するための命令を有するプログラムを生成する。ここで、プログラミング操作により取得された上記の各情報はプログラムのソースコードに対応し、制御部170は、このソースコードをターゲット機器200において実行可能な機械語からなるプログラムに変換(コンパイル)して、記憶部166の記憶領域に記憶する。なお、この変換処理は、プログラム全体を一括して行うものであってもよいし、プログラムの1ステップの命令ごとに行うものであってもよい。   Specifically, when the collective execution switch 182 or the step execution switch 184 is operated in the operation unit 162 to detect a press or contact state, the control unit 170 detects input operation information (concatenated and connected) transmitted from the start block 120S. Based on the block information and connection specifying information of all the programming blocks 120, a program having a command for controlling the operation state (movement operation and functional operation) of the target device 200 is generated. Here, each piece of information obtained by the programming operation corresponds to the source code of the program, and the control unit 170 converts (compiles) the source code into a program composed of a machine language that can be executed in the target device 200. And stored in the storage area of the storage unit 166. This conversion process may be performed for the entire program in a lump, or may be performed for each instruction of one step of the program.

なお、本実施形態においては、コアユニット160に設けた制御部170により、プログラミング操作により取得した入力操作情報に基づいて、ターゲット機器200を動作させるためのプログラムを生成する場合について説明した。本発明はこれに限定されるものではなく、例えば後述するターゲット機器200に設けられた制御部により、コアユニット160から送信される入力操作情報に基づいて、ターゲット機器200内でプログラムを生成するものであってもよい。   In the present embodiment, a case has been described in which the control unit 170 provided in the core unit 160 generates a program for operating the target device 200 based on input operation information acquired by a programming operation. The present invention is not limited to this, and a program is generated in the target device 200 based on input operation information transmitted from the core unit 160, for example, by a control unit provided in the target device 200 described later. It may be.

また、制御部170は、操作部162におけるスイッチ操作に応じて、生成されたプログラムをターゲット機器200に送信してターゲット機器200の動作状態を制御する。さらに、制御部170は、電源部172によりコアユニット160内の各部、及び、スタートブロック120S、プログラミングブロック120への駆動用の電力の供給状態を制御する。   Further, the control unit 170 controls the operation state of the target device 200 by transmitting the generated program to the target device 200 in accordance with the switch operation in the operation unit 162. Further, the control unit 170 controls the supply state of driving power to each unit in the core unit 160, the start block 120 </ b> S, and the programming block 120 by the power supply unit 172.

電源部172は、コアユニット160内の各部に駆動用の電力を供給する。また、電源部172は、コアユニット160とスタートブロック120Sとを接続することにより外部I/F部164、130を介して、スタートブロック120S内の各部に駆動用の電力を供給する。スタートブロック120Sに供給された電力は、ブロックI/F部122を介して、スタートブロック120Sに連結接続された複数のプログラミングブロック120に順次供給される。ここで、電源部172は、例えば商用交流電源から電力が供給されるものであってもよいし、乾電池等の一次電池やリチウムイオン電池等の二次電池を備えるものであってもよいし、環境発電技術による発電部と二次電池を備えるものであってもよい。   The power supply unit 172 supplies driving power to each unit in the core unit 160. The power supply unit 172 connects the core unit 160 and the start block 120S to supply driving power to each unit in the start block 120S via the external I / F units 164 and 130. The power supplied to the start block 120S is sequentially supplied to the plurality of programming blocks 120 connected to the start block 120S via the block I / F unit 122. Here, the power supply unit 172 may be supplied with power from, for example, a commercial AC power supply, or may be provided with a primary battery such as a dry battery or a secondary battery such as a lithium ion battery, You may provide the electric power generation part and secondary battery by an environmental power generation technique.

なお、本実施形態においては、コアユニット160にのみ電源部172を備え、スタートブロック120S及びプログラミングブロック120には電源部を備えていない形態を示した。この形態においては、コアユニット160とスタートブロック120Sとを接続することにより双方の外部I/F部164、130に設けられた給電及び受電機構を介して、コアユニット160からスタートブロック120Sへ駆動用の電力が供給される。さらに、スタートブロック120Sにプログラミングブロック120が連結接続されることにより双方のブロックI/F部122に設けられた給電及び受電機構を介して、スタートブロック120Sからプログラミングブロック120へ駆動用の電力が供給される。ここで、外部I/F部130、164や、ブロックI/F部122に設けられる給電及び受電機構としては、電磁誘導方式等の非接触型、又は、ケーブルや端子電極を直接接続する接触型の機構を適用することができる。   In the present embodiment, only the core unit 160 includes the power supply unit 172, and the start block 120S and the programming block 120 include no power supply unit. In this embodiment, the core unit 160 and the start block 120S are connected to drive the power from the core unit 160 to the start block 120S via the power feeding and power receiving mechanisms provided in both external I / F units 164 and 130. Power is supplied. Further, when the programming block 120 is connected to the start block 120S, driving power is supplied from the start block 120S to the programming block 120 via the power supply and power receiving mechanism provided in both block I / F units 122. Is done. Here, as a power feeding and power receiving mechanism provided in the external I / F units 130 and 164 and the block I / F unit 122, a non-contact type such as an electromagnetic induction method, or a contact type that directly connects cables and terminal electrodes. The mechanism can be applied.

また、本発明に適用可能な他の形態としては、例えば図3に示すように、スタートブロック120S及びプログラミングブロック120に各々固有の電源部132を有するものであってもよいし、スタートブロック120Sにのみ固有の電源部132を有するものであってもよい。スタートブロック120Sにのみ固有の電源部132を有する形態においては、ブロックI/F部122に設けられた給電及び受電機構を介して、スタートブロック120Sから連結接続された複数のプログラミングブロック120へ駆動用の電力が順次供給される。ここで、電源部132は、例えばボタン電池等の一次電池やリチウムイオン電池等の二次電池を備えるものであってもよいし、環境発電技術による発電部と二次電池を備えるものであってもよい。   As another form applicable to the present invention, for example, as shown in FIG. 3, the start block 120S and the programming block 120 may have their own power supply units 132, respectively. Only the power supply unit 132 that is unique may be included. In the embodiment having the power supply unit 132 unique to only the start block 120S, the drive unit is connected to the plurality of programming blocks 120 connected and connected from the start block 120S through the power supply and power reception mechanism provided in the block I / F unit 122. Are sequentially supplied. Here, the power supply unit 132 may include, for example, a primary battery such as a button battery or a secondary battery such as a lithium ion battery, or includes a power generation unit and a secondary battery based on energy harvesting technology. Also good.

さらに、本発明に適用可能な他の形態としては、例えば、図2に示したように、コアユニット160にのみ電源部172を備えた形態や、スタートブロック120Sにのみ電源部132を備えた形態において、スタートブロック120Sに連結接続される複数のプログラミングブロック120のうちの、任意のプログラミングブロック120に昇圧回路を備えたものであってもよいし、昇圧機能のみを有するブロックをプログラミングブロック120間に適宜連結接続するものであってもよい。これにより、スタートブロック120Sに複数のプログラミングブロック120が連結接続されている場合であっても、終端側のプログラミングブロック120にまで十分な電力を供給することができる。   Furthermore, as other forms applicable to the present invention, for example, as shown in FIG. 2, a form in which the power supply unit 172 is provided only in the core unit 160, or a form in which the power supply unit 132 is provided only in the start block 120S. In any of the plurality of programming blocks 120 connected to the start block 120S, any programming block 120 may be provided with a booster circuit, or a block having only a boosting function may be provided between the programming blocks 120. It may be connected as appropriate. Accordingly, even when a plurality of programming blocks 120 are connected to the start block 120S, sufficient power can be supplied to the programming block 120 on the end side.

少なくともスタートブロック120Sが固有の電源部132を有する形態においては、スタートブロック120Sにコアユニット160を接続しない状態においても、ユーザはスタートブロック120S及びプログラミングブロック120を用いてプログラミング操作を行うことができる。また、コアユニット160をスタートブロック120S及びプログラミングブロック120から離間させて独立した状態で(すなわち、コアユニット160単体で)、操作部162の各スイッチを操作することにより、入力操作情報に基づくプログラム生成処理や、ターゲット機器200の動作状態の制御を行うことができる。   In a form in which at least the start block 120S has a unique power supply unit 132, the user can perform a programming operation using the start block 120S and the programming block 120 even when the core unit 160 is not connected to the start block 120S. In addition, the core unit 160 is separated from the start block 120S and the programming block 120 and is independent (that is, the core unit 160 alone), and a program is generated based on input operation information by operating each switch of the operation unit 162. Processing and control of the operation state of the target device 200 can be performed.

(ターゲット機器200)
ターゲット機器200は、ユーザによる入力操作に基づいてプログラム制御装置100により生成されたプログラムの実行対象である。本実施形態ではターゲット機器200として、例えば図1に示すように、現実空間内において地上を走行する実体のある自走式の玩具や、ドローン等の飛行体を適用した場合について示す。しかしながら、ターゲット機器200は当該生成されたプログラムに基づいて動作状態が制御されるものであればよく、タンジブルな移動体の他に、スマートフォンやタブレット等のモバイル端末、パーソナルコンピュータ等の情報通信機器において実行されるアプリケーションソフトウェア、又は、当該アプリケーションソフトウェアにより実現される仮想空間内のオブジェクト、すなわち、タンジブルでない移動体であってもよい。
(Target device 200)
The target device 200 is an execution target of a program generated by the program control device 100 based on an input operation by a user. In the present embodiment, as the target device 200, for example, as shown in FIG. 1, a case where an autonomous self-propelled toy that travels on the ground in a real space or a flying body such as a drone is applied. However, the target device 200 may be any device whose operation state is controlled based on the generated program. In addition to a tangible mobile object, the target device 200 is used in a mobile terminal such as a smartphone or a tablet or an information communication device such as a personal computer. It may be an application software to be executed or an object in a virtual space realized by the application software, that is, a mobile body that is not tangible.

ターゲット機器200は、プログラミングブロック120を用いたプログラミング操作において、スタートブロック120Sに連結接続された複数のプログラミングブロック120の集合体の全体配置形状により決定された仮想経路に対応する移動経路に沿って移動する。ここで、ターゲット機器200は、仮想経路を形成する複数のプログラミングブロック120の全体配置形状を第1形状とした場合、当該第1形状を拡大した相似形状である第2形状を有する経路を移動経路として移動する。また、ターゲット機器200は、機能動作が設定されたプログラミングブロック120の連結位置に対応する位置で、当該プログラミングブロック120に設定された機能動作を実行する。   In the programming operation using the programming block 120, the target device 200 moves along a movement path corresponding to the virtual path determined by the overall arrangement shape of the assembly of the plurality of programming blocks 120 connected to the start block 120S. To do. Here, when the overall arrangement shape of the plurality of programming blocks 120 forming the virtual path is the first shape, the target device 200 moves the path having the second shape, which is a similar shape obtained by enlarging the first shape, as the moving path. Move as. Further, the target device 200 executes the functional operation set in the programming block 120 at a position corresponding to the connection position of the programming block 120 in which the functional operation is set.

ターゲット機器200は、具体的には、例えば図2に示すように、駆動部202と、機能部204と、通信I/F部206と、記憶部208と、制御部210と、電源部212と、を有している。   Specifically, the target device 200 includes, for example, a drive unit 202, a function unit 204, a communication I / F unit 206, a storage unit 208, a control unit 210, and a power supply unit 212 as illustrated in FIG. ,have.

駆動部202は、ターゲット機器200を移動動作させるための駆動輪(タイヤ)やプロペラ等であって、プログラミングブロック120を用いたプログラミング操作において決定された仮想経路に対応する移動経路に沿ってターゲット機器200を移動させる。   The drive unit 202 is a drive wheel (tire), a propeller, or the like for moving the target device 200, and the target device along the movement path corresponding to the virtual path determined in the programming operation using the programming block 120. Move 200.

機能部204は、発光部や表示部、音響部、振動部、撮像部、各種センサ等であって、プログラミング操作においてプログラミングブロック120に設定された機能情報に基づいて特定の機能動作を実行する。ここで、ターゲット機器200に設定される機能動作としては、例えば発光部を所定の発光状態で発光させる動作や、表示部に表示される画像を変化させる動作、音響部により所定の音や楽音を発生する動作、振動部を所定のパターンで振動させる動作、ターゲット機器200を当該位置で回転させたりジャンプさせたりする動作、撮像部により周囲を撮影する動作、各種のセンサによりセンシングする動作等を有する。これらに代表される機能動作は、ターゲット機器200の移動経路のうち、当該機能情報を記憶したプログラミングブロック120の連結位置に対応する位置で、移動経路の進行方向又は逆行方向への移動を伴わない動作(いわゆる、アクション)である。なお、機能情報は、これらの機能動作を単独で実行することを規定するものであってもよいし、複数の機能動作を組み合わせて実行することを規定するものであってもよい。   The functional unit 204 is a light emitting unit, a display unit, an acoustic unit, a vibration unit, an imaging unit, various sensors, and the like, and executes a specific functional operation based on functional information set in the programming block 120 in a programming operation. Here, as the functional operation set in the target device 200, for example, an operation of causing the light emitting unit to emit light in a predetermined light emission state, an operation of changing an image displayed on the display unit, or a predetermined sound or musical sound by the acoustic unit. An operation to generate, an operation to vibrate the vibration unit in a predetermined pattern, an operation to rotate or jump the target device 200 at the position, an operation to photograph the surroundings by the imaging unit, an operation to sense by various sensors, etc. . The functional operations represented by these are not accompanied by movement of the movement path in the advancing direction or the backward direction at a position corresponding to the connection position of the programming block 120 storing the function information in the movement path of the target device 200. Operation (so-called action). The function information may specify that these function operations are executed alone, or may specify that a plurality of function operations are executed in combination.

通信I/F部206は、ターゲット機器200とコアユニット160との間で通信を行い、コアユニット160の制御部170により生成されたプログラムを受信する。また、記憶部208は、コアユニット160から通信I/F部206を介して受信したプログラムを所定の記憶領域に記憶する。   The communication I / F unit 206 performs communication between the target device 200 and the core unit 160 and receives a program generated by the control unit 170 of the core unit 160. The storage unit 208 stores a program received from the core unit 160 via the communication I / F unit 206 in a predetermined storage area.

制御部210は、上記の駆動部202、機能部204、通信I/F部206、記憶部208、及び、後述する電源部212の各部の動作を制御するコンピュータのプロセッサである。特に、制御部210は、コアユニット160から通信I/F部206を介して受信し、記憶部208の記憶領域に記憶されたプログラムを実行することにより、駆動部202を制御してプログラミング操作により決定された仮想経路に対応する移動経路に沿ってターゲット機器200を移動させるとともに、機能部204を制御してプログラミング操作により設定された機能動作を実行させる。また、制御部210は、コアユニット160における操作部162のスイッチ操作に応じてプログラムの実行状態を制御する。さらに、制御部170は、電源部212によりターゲット機器200内の各部への駆動用の電力の供給状態を制御する。   The control unit 210 is a computer processor that controls the operations of the drive unit 202, the function unit 204, the communication I / F unit 206, the storage unit 208, and the power supply unit 212 described later. In particular, the control unit 210 controls the driving unit 202 by performing a program operation by executing a program received from the core unit 160 via the communication I / F unit 206 and stored in the storage area of the storage unit 208. The target device 200 is moved along the movement route corresponding to the determined virtual route, and the function operation set by the programming operation is executed by controlling the function unit 204. Further, the control unit 210 controls the execution state of the program according to the switch operation of the operation unit 162 in the core unit 160. Further, the control unit 170 controls the supply state of driving power to each unit in the target device 200 by the power supply unit 212.

電源部212は、ターゲット機器200内の各部に駆動用の電力を供給する。電源部212は、例えば商用交流電源から電力が供給されるものであってもよいし、乾電池等の一次電池やリチウムイオン電池等の二次電池を備えるものであってもよいし、環境発電技術による発電部と二次電池を備えるものであってもよい。   The power supply unit 212 supplies driving power to each unit in the target device 200. The power supply unit 212 may be supplied with power from, for example, a commercial AC power supply, or may include a primary battery such as a dry battery or a secondary battery such as a lithium ion battery, or an energy harvesting technology. A power generation unit and a secondary battery may be provided.

なお、本実施形態に適用されるターゲット機器200は、図1に示したように、二次元空間である地上を走行する自走式の玩具や、三次元空間である空中を飛行するドローン等の飛行体に限定されるものではなく、水上を移動する船体であってもよいし、水中を移動する潜水体であってもよい。ここで、ターゲット機器200が飛行体や潜水体の場合には、移動経路の始点で当該ターゲット機器200が地上から一定の高度に上昇、又は、水面から一定の水深に潜水し、移動経路の終点で地上に下降、又は、水面に浮上する動作を行うものであってもよい。   As shown in FIG. 1, the target device 200 applied to the present embodiment is a self-propelled toy that travels on the ground, which is a two-dimensional space, or a drone that flies in the air, which is a three-dimensional space. It is not limited to a flying body, and may be a hull that moves on the water or a diving body that moves in the water. Here, when the target device 200 is a flying object or a diving body, the target device 200 ascends to a certain altitude from the ground at the start point of the movement path or dives at a certain depth from the water surface, and reaches the end point of the movement path. It is possible to perform an operation of descending on the ground or surfacing to the water surface.

また、ターゲット機器200として、モバイル端末や情報通信機器において実行されるアプリケーションソフトウェアを適用する場合には、当該アプリケーションソフトウェアにより実現される仮想空間内において、前述のオブジェクト(例えばゲーム画面内のキャラクタやアイテム等)の動作状態を制御して当該仮想空間内の任意の経路で移動させたり、任意の機能を実行させたりする。   In addition, when application software executed on a mobile terminal or information communication device is applied as the target device 200, the above-described object (for example, a character or item in a game screen) in a virtual space realized by the application software. Or the like) is controlled to move along an arbitrary route in the virtual space, or an arbitrary function is executed.

(プログラミング操作及びプログラム生成、実行方法)
次に、本実施形態に係るプログラミング教育装置におけるプログラミング操作及びプログラム生成、実行方法(プログラミング方法)について説明する。
(Programming operation and program generation, execution method)
Next, programming operations, program generation, and execution methods (programming methods) in the programming education apparatus according to the present embodiment will be described.

図4は、本実施形態に係るプログラミング教育装置におけるプログラミング操作及びプログラム生成、実行方法の一例(ノーマルモード)を示すフローチャートである。図5、図6は、本実施形態に適用されるプログラミング操作処理(平面的配置)を説明するための概略図である。図5(a)、(b)及び図6の左図はプログラミング操作を説明するための斜視図であり、同右図はプログラミング操作時のプログラミングブロックの配置形状を示す平面図である。また、図7、図8は、本実施形態に適用されるプログラム生成、実行処理(一括処理)を説明するための概略図であり、図9、図10は、本実施形態に適用されるプログラム生成、実行処理(ステップ処理)を説明するための概略図である。なお、図4に示すフローチャートのうちの、モードの切り換え設定に係る処理動作(ステップS104)については、後述する変形例1において詳しく述べるため、本実施形態では説明を適宜省略する。   FIG. 4 is a flowchart showing an example (normal mode) of programming operation, program generation, and execution method in the programming education apparatus according to the present embodiment. 5 and 6 are schematic diagrams for explaining the programming operation processing (planar arrangement) applied to this embodiment. 5A, 5B, and 6 are left perspective views for explaining a programming operation, and the right figure is a plan view showing an arrangement shape of programming blocks during the programming operation. 7 and 8 are schematic diagrams for explaining program generation and execution processing (collective processing) applied to the present embodiment. FIGS. 9 and 10 are programs applied to the present embodiment. It is the schematic for demonstrating a production | generation and an execution process (step process). Note that the processing operation (step S104) relating to the mode switching setting in the flowchart shown in FIG. 4 will be described in detail in Modification 1 to be described later, and thus description thereof will be omitted as appropriate in the present embodiment.

本実施形態に係るプログラミング教育装置におけるプログラミング操作及びプログラム生成、実行方法においては、大別して、プログラミングブロック120を用いたタンジブルな入力操作によるプログラミング操作処理と、当該プログラミング操作により取得した入力操作情報に基づくプログラム生成処理と、コアユニット160とターゲット機器200とを用いたプログラム実行処理と、が実行される。プログラミング教育装置における、これらの各制御処理は、上述したプログラミングブロック120やコアユニット160、ターゲット機器200に設けられた各制御部において、独立して又は相互に連携して特定の制御プログラムを実行することにより実現されるものである。   The programming operation, program generation, and execution method in the programming education device according to the present embodiment are roughly classified into programming operation processing by tangible input operation using the programming block 120 and input operation information acquired by the programming operation. A program generation process and a program execution process using the core unit 160 and the target device 200 are executed. Each of these control processes in the programming education apparatus executes a specific control program independently or in cooperation with each other in each control unit provided in the programming block 120, the core unit 160, and the target device 200 described above. Is realized.

(プログラミング操作処理)
本実施形態に係るプログラミング教育装置におけるプログラミング操作処理においては、図4のフローチャート及び図5(a)に示すように、まず、ユーザは、プログラミング教育装置のスタートブロック120Sとコアユニット160とを接続した状態でコアユニット160の電源を投入することによりプログラム制御装置100を起動するとともに、ターゲット機器200の電源を投入して起動する(ステップS102)。
(Programming operation processing)
In the programming operation process in the programming education apparatus according to the present embodiment, as shown in the flowchart of FIG. 4 and FIG. 5A, the user first connects the start block 120S of the programming education apparatus and the core unit 160. In this state, the program control apparatus 100 is started by turning on the power of the core unit 160, and the target device 200 is turned on and started (step S102).

次いで、プログラミングブロック120を用いてプログラミング操作処理を実行する。まず、図5(a)、(b)に示すように、ユーザが、ターゲット機器200を動作させる際の移動経路をイメージして、コアユニット160に接続されたスタートブロック120Sを移動経路に対応する仮想経路の始点(スタート)として、当該始点と終点(ゴール)を含む2以上のプログラミングブロック120を順次連結接続する。   A programming operation process is then performed using programming block 120. First, as shown in FIGS. 5A and 5B, the user imagines a movement path when the target device 200 is operated, and corresponds the start block 120S connected to the core unit 160 to the movement path. As the start point (start) of the virtual path, two or more programming blocks 120 including the start point and the end point (goal) are sequentially connected and connected.

ここで、図5(a)、(b)、図6に示すように、スタートブロック120Sを始点として、移動経路の終点側となる方向に、後方側のプログラミングブロック120を順次連結接続し、複数のプログラミングブロック120を二次元空間に平面的に配置する場合には、スタートブロック120Sやプログラミングブロック120の立方体形状の6面のうち、前後左右に相当する側面(図5(a)、(b)、図6右側の平面図における上下左右の4面)のいずれかの面にプログラミングブロック120が連結接続される。これにより、図6に示すように、スタートブロック120Sを始点として終点まで連結接続された複数のプログラミングブロック120の配置形状により、ターゲット機器200の移動経路を規定する平面的な仮想経路が決定される(ステップS106)。なお、本実施形態においては、スタートブロック120Sを始点として連結接続される複数のプログラミングブロック120のうち、終点となるプログラミングブロック120を便宜的に「終端ブロック120G」と記す。   Here, as shown in FIG. 5A, FIG. 5B, and FIG. 6, the programming block 120 on the rear side is sequentially connected in a direction starting from the start block 120S to the end point of the moving path, When the programming block 120 is arranged in a two-dimensional space in a two-dimensional space, among the six cube-shaped surfaces of the start block 120S and the programming block 120, the side surfaces corresponding to the front, rear, left and right sides (FIGS. 5A and 5B). The programming block 120 is connected to any one of four surfaces (upper, lower, left and right in the plan view on the right side of FIG. 6). As a result, as shown in FIG. 6, a planar virtual path that defines the movement path of the target device 200 is determined by the arrangement shape of the plurality of programming blocks 120 that are connected and connected from the start block 120S to the end point. (Step S106). In the present embodiment, among the plurality of programming blocks 120 that are connected and connected starting from the start block 120S, the programming block 120 that is the end point is referred to as a “termination block 120G” for convenience.

また、ターゲット機器200の移動経路の任意の位置において特定の機能動作を実行させる設定をする場合には、ユーザは、移動経路に対応する仮想経路を形成する複数のプログラミングブロック120のうち、当該機能動作を実行する位置に対応するプログラミングブロック120に、所望の機能動作に関する機能情報を設定する(ステップS108)。ここで、ターゲット機器200の機能動作を設定する手法としては、例えば図5(b)、図6に示すように、予め特定の機能動作に関する機能情報が設定されたプログラミングブロック(以下、「機能設定ブロック」と記す)120Fを用意して、仮想経路を形成する複数のプログラミングブロック120のうちの、当該機能動作を実行する位置に対応するプログラミングブロック120として、上記の機能設定ブロック120Fを連結接続する。なお、ターゲット機器200の機能動作を設定する手法については、この手法に限定されるものではなく、様々な形態を適用することができる。機能動作を設定する他の手法については、詳しくは後述する。   In addition, when setting to execute a specific function operation at an arbitrary position on the movement path of the target device 200, the user selects the function among the plurality of programming blocks 120 that form a virtual path corresponding to the movement path. Functional information relating to a desired functional operation is set in the programming block 120 corresponding to the position where the operation is executed (step S108). Here, as a method for setting the functional operation of the target device 200, for example, as shown in FIG. 5B and FIG. 6, a programming block in which functional information related to a specific functional operation is set in advance (hereinafter referred to as “function setting”). 120F), and the function setting block 120F is connected and connected as the programming block 120 corresponding to the position where the functional operation is executed among the plurality of programming blocks 120 forming the virtual path. . The method for setting the functional operation of the target device 200 is not limited to this method, and various forms can be applied. Other methods for setting the functional operation will be described later in detail.

なお、プログラミング操作処理において、複数のプログラミングブロック120を連結接続して、ターゲット機器200の移動経路に対応する仮想経路のみを決定し、移動経路上でターゲット機器200に特定の機能動作を実行させない場合には、上記のステップS108の処理動作は省略される。   In the programming operation process, a plurality of programming blocks 120 are connected and connected, only a virtual path corresponding to the movement path of the target device 200 is determined, and the target device 200 is not allowed to execute a specific functional operation on the movement path. The processing operation in step S108 is omitted.

上記のステップS106、S108に示したプログラミング操作処理においては、具体的には次のような処理動作が実行される。
図5(a)、(b)、図6に示したように、スタートブロック120Sを始点としてターゲット機器200の移動経路に対応する仮想経路を形成する複数のプログラミングブロック120を連結接続した場合、スタートブロック120Sにおいては、まず、スタートブロック120Sの制御部128がブロックI/F部122の連結検知部により、スタートブロック120Sの立方体形状の側面にプログラミングブロック120が連結接続されているか否かを検知する。プログラミングブロック120が連結接続されている場合には、スタートブロック120Sの制御部128は当該プログラミングブロック120が連結接続されている面について、スタートブロック120Sに対する相対的な配置(すなわち、スタートブロック120Sと後方側のプログラミングブロック120との連結状態)を特定して連結特定情報を取得する。取得した連結特定情報は記憶部126の記憶領域に記憶される。
In the programming operation process shown in steps S106 and S108, specifically, the following processing operation is executed.
As shown in FIGS. 5A, 5B, and 6, when a plurality of programming blocks 120 that form a virtual path corresponding to the movement path of the target device 200 are connected and connected starting from the start block 120S, the start is started. In block 120S, first, the control unit 128 of the start block 120S detects whether or not the programming block 120 is connected to the cube-shaped side surface of the start block 120S by the connection detection unit of the block I / F unit 122. . When the programming block 120 is connected and connected, the control unit 128 of the start block 120S is arranged relative to the start block 120S with respect to the surface to which the programming block 120 is connected and connected (ie, the start block 120S and the rear side). The connection specifying information is acquired by specifying the connection state with the programming block 120 on the side. The acquired connection specifying information is stored in the storage area of the storage unit 126.

次いで、スタートブロック120Sの制御部128は、検知した後方側のプログラミングブロック120に対して、ブロックI/F部122を介してスタートブロック120Sが有するブロック情報(スタートブロックであることを示す固有の識別情報を含む)を送信する。さらに、スタートブロック120Sの制御部128は、後方側のプログラミングブロック120に対して、当該プログラミングブロック120が有するブロック情報や連結特定情報の送信を要求する命令信号を送信して、後方側のプログラミングブロック120からの応答を待機する状態に移行する。次いで、後方側のプログラミングブロック120から応答があり、当該プログラミングブロック120が有するブロック情報や連結特定情報を受信した場合には、スタートブロック120Sの制御部128は、当該プログラミングブロック120のブロック情報や連結特定情報を記憶部126の記憶領域に記憶する。   Next, the control unit 128 of the start block 120S provides the block information (the unique identification indicating the start block) that the start block 120S has via the block I / F unit 122 to the detected backward programming block 120. Information). Furthermore, the control unit 128 of the start block 120S transmits a command signal for requesting transmission of block information and connection specific information included in the programming block 120 to the programming block 120 on the rear side, so that the programming block on the rear side. Transition to a state of waiting for a response from 120. Next, when there is a response from the programming block 120 on the rear side and the block information or connection specifying information included in the programming block 120 is received, the control unit 128 of the start block 120S determines the block information or connection of the programming block 120. The specific information is stored in the storage area of the storage unit 126.

一方、スタートブロック120S又は他のプログラミングブロック120に連結接続された後方側のプログラミングブロック120においては、スタートブロック120S又は前方側のプログラミングブロックから、当該後方側のプログラミングブロック120が有するブロック情報や連結特定情報の送信を要求する命令信号を受信した場合には、当該後方側のプログラミングブロック120の制御部128は、当該後方側のプログラミングブロック120のさらに後方側にプログラミングブロック120が連結接続されているか否かを検知する。さらに後方側にプログラミングブロック120が連結接続されている場合には、当該後方側のプログラミングブロック120の制御部128は、当該後方側のプログラミングブロック120とさらに後方側のプログラミングブロック120との連結状態を特定して、取得した連結特定情報を記憶部126の記憶領域に記憶する。   On the other hand, in the backward programming block 120 connected to the start block 120S or another programming block 120, the block information and the connection specification of the backward programming block 120 are determined from the start block 120S or the front programming block. When a command signal requesting transmission of information is received, the control unit 128 of the backward programming block 120 determines whether the programming block 120 is connected to the further backward side of the backward programming block 120. Is detected. Further, when the programming block 120 is connected to the rear side, the control unit 128 of the rear side programming block 120 determines the connection state between the rear side programming block 120 and the rear side programming block 120. In particular, the acquired link specifying information is stored in the storage area of the storage unit 126.

次いで、後方側のプログラミングブロック120の制御部128は、検知したさらに後方側のプログラミングブロック120に対して、ブロックI/F部122を介して当該後方側のプログラミングブロック120が有するブロック情報(当該プログラミングブロック120であることを示す固有の識別情報を含む)、及び、全ての前方側のプログラミングブロック120に関するブロック情報を送信する。さらに、当該後方側のプログラミングブロック120の制御部128は、さらに後方側のプログラミングブロック120に対して、当該プログラミングブロック120が有するブロック情報や連結特定情報の送信を要求する命令信号を送信して、さらに後方側のプログラミングブロック120からの応答を待機する状態に移行する。次いで、さらに後方側のプログラミングブロック120から応答があり、当該プログラミングブロック120が有するブロック情報や連結特定情報を受信した場合には、後方側のプログラミングブロック120の制御部128は、当該プログラミングブロック120のブロック情報や連結特定情報、さらに後方側のプログラミングブロック120から受信した、全ての後方側のプログラミングブロック120に関するブロック情報及び連結特定情報を、スタートブロック120S又は前方側のプログラミングブロック120へ送信する。   Next, the control unit 128 of the rear programming block 120 detects the block information (the corresponding programming information) of the rear programming block 120 via the block I / F unit 122 with respect to the detected further programming block 120. Block information relating to all of the programming blocks 120 on the front side is transmitted. Furthermore, the control unit 128 of the rear programming block 120 transmits a command signal for requesting transmission of block information and connection specific information included in the programming block 120 to the rear programming block 120, Further, the process shifts to a state of waiting for a response from the programming block 120 on the rear side. Next, when there is a response from the further programming block 120 and the block information and connection specifying information included in the programming block 120 are received, the control unit 128 of the programming block 120 on the rear side Block information and connection specific information, and block information and connection specific information related to all the backward programming blocks 120 received from the backward programming block 120 are transmitted to the start block 120S or the front programming block 120.

また、後方側のプログラミングブロック120のさらに後方側にプログラミングブロック120が連結接続されていない場合には、当該後方側のプログラミングブロック120が終端ブロック120G(すなわち、仮想経路の終点)であるので、当該プログラミングブロック120が有するブロック情報(終端ブロック120Gであることを示す固有の識別情報を含む)や連結特定情報を、スタートブロック120S又は前方側のプログラミングブロック120へ送信する。   In addition, when the programming block 120 is not connected to the rear side of the rear side programming block 120, the rear side programming block 120 is the end block 120G (that is, the end point of the virtual path). The block information (including unique identification information indicating that it is the end block 120G) and the connection specifying information included in the programming block 120 are transmitted to the start block 120S or the programming block 120 on the front side.

これにより、スタートブロック120Sは、連結接続された全ての後方側のプログラミングブロック120に関するブロック情報及び連結特定情報を受信して記憶部126の記憶領域に記憶する。そして、スタートブロック120Sが有するブロック情報や連結特定情報、後方側のプログラミングブロック120から受信した、全ての後方側のプログラミングブロック120に関するブロック情報及び連結特定情報は、所定のタイミングで外部I/F部130を介してコアユニット160へ送信される。   As a result, the start block 120S receives block information and connection specifying information related to all the connected programming blocks 120 on the rear side and stores them in the storage area of the storage unit 126. The block information and the connection specifying information included in the start block 120S, the block information and the connection specifying information related to all the programming blocks 120 received from the rear programming block 120 are the external I / F unit at a predetermined timing. It is transmitted to the core unit 160 via 130.

このとき、スタートブロック120Sとの間で通信を行い、各種情報や信号の送受信を行っている後方側のプログラミングブロック120において、当該プログラミングブロック120の制御部128は、識別変移部124を所定の発光状態で発光させたり、表示画像を変化させたりして、当該プログラミングブロック120の動作状態を視覚的に識別可能な状態に変移させる(図5(b)中では便宜的に濃いハーフトーンで表記)。なお、このとき、スタートブロック120Sにおいても、識別変移部124を所定の発光状態で発光させたり、表示画像を変化させたりして、当該スタートブロック120Sの動作状態を視覚的に識別可能な状態に変移させるものであってもよい。   At this time, in the rear programming block 120 that communicates with the start block 120S and transmits and receives various types of information and signals, the control unit 128 of the programming block 120 causes the identification transition unit 124 to emit predetermined light. The operating state of the programming block 120 is changed to a visually identifiable state by emitting light in a state or changing a display image (in FIG. 5 (b), it is expressed in dark halftone for convenience). . At this time, also in the start block 120S, the operation state of the start block 120S can be visually identified by causing the identification transition unit 124 to emit light in a predetermined light emission state or changing the display image. It may be changed.

ここで、スタートブロック120S及び各プログラミングブロック120の識別変移部124が発光部を有する場合には、スタートブロック120S及び各プログラミングブロック120の制御部128は、例えば、連結接続された各プログラミングブロック120の発光部を所定の発光色や発光強度で常時発光(点灯)させたり、発光色を変化させたり、所定の発光パターンで発光(点減)させたりする動作を継続(保持)する。また、制御部128は、プログラミング操作処理中に、コアユニット160の操作部162に設けられたプログラム確認スイッチ(図示を省略)等を操作したり、一定時間プログラミング操作がなかったりした場合や定期的等の条件をトリガーとして、連結接続されて既に決定された移動経路の順番にしたがって、スタートブロック120S及び各プログラミングブロック120の発光部を時分割で順次発光させる動作を実行する。このように、スタートブロック120S及び各プログラミングブロック120における識別変移部124の変移状態(この場合は発光状態)を保持、又は、特定の条件をトリガーとして所定の変移状態を提示することにより、プログラミング操作の内容や進行状況、当該プログラミング操作により決定された現時点までの移動経路やターゲット機器200の移動順序、機能動作等を視覚的に把握、理解し易くなる。   Here, when the identification block 124 of the start block 120S and each programming block 120 includes a light emitting unit, the control unit 128 of the start block 120S and each programming block 120, for example, connects the connected programming blocks 120. The operation of causing the light emitting unit to always emit light (light up) with a predetermined light emission color or light emission intensity, change the light emission color, or emit light with a predetermined light emission pattern (point reduction) is continued (held). In addition, the control unit 128 operates a program confirmation switch (not shown) or the like provided in the operation unit 162 of the core unit 160 during the programming operation process, or when there is no programming operation for a certain period of time or periodically. Using the above conditions as a trigger, an operation is performed in which the light emitting units of the start block 120S and the programming blocks 120 are sequentially light-emitted in a time-sharing manner according to the order of movement paths that are already connected and determined. As described above, by maintaining the transition state (in this case, the light emission state) of the identification transition unit 124 in the start block 120S and each programming block 120, or by presenting a predetermined transition state using a specific condition as a trigger, a programming operation is performed. It is easy to visually grasp and understand the contents and progress status, the movement path to the current time determined by the programming operation, the movement order of the target device 200, the functional operation, and the like.

また、制御部128は、プログラミング操作処理中に連結接続したプログラミングブロック120間で正常に情報や信号の送受信が行えない場合や、予め連結接続が禁止されたプログラミングブロック120同士を接続させた場合等、プログラム制御装置100の動作に異常が発生した場合には、スタートブロック120Sや各プログラミングブロック120の発光部を発光させないようにしたり、通常とは異なる発光色や発光パターンで発光させたりする制御を行う。これにより、プログラミング操作時の誤り等をユーザに報知する。さらに、制御部128は、スタートブロック120Sや各プログラミングブロック120の識別変移部124が音響部や振動部を備えている場合には、上記の発光部における発光動作に加え、あるいは、当該発光動作に替えて、音響部や振動部における発音や振動の振幅や周波数、パターンを変化させて、プログラミング操作時の誤り等をユーザに報知するものであってもよい。   In addition, the control unit 128 cannot normally transmit and receive information and signals between the programming blocks 120 that are connected and connected during the programming operation process, or the programming block 120 that is prohibited from connecting and connecting in advance is connected. When an abnormality occurs in the operation of the program control device 100, control is performed such that the light emission portions of the start block 120S and each programming block 120 are not caused to emit light, or light is emitted with a different emission color or emission pattern. Do. This notifies the user of errors during programming operations. Further, when the start block 120S or the identification transition unit 124 of each programming block 120 includes an acoustic unit or a vibration unit, the control unit 128 performs the light emitting operation in addition to the above light emitting operation. Alternatively, the sound and vibration amplitude, frequency, and pattern in the sound unit and the vibration unit may be changed to notify the user of an error during the programming operation.

本実施形態においては、複数のプログラミングブロック120を連結接続した際の配置形状により、ターゲット機器200の全移動経路に対応する仮想経路を決定し、かつ、仮想経路上の任意の位置に機能設定ブロックを連結接続することにより、移動経路上で実行する全ての機能動作を設定するプログラミング操作が終了するまで、上記のステップS106、S108を繰り返し実行する(ステップS110のNo)。   In the present embodiment, a virtual path corresponding to all the movement paths of the target device 200 is determined based on an arrangement shape when a plurality of programming blocks 120 are connected and connected, and a function setting block is set at an arbitrary position on the virtual path. The above steps S106 and S108 are repeatedly executed until the programming operation for setting all the functional operations to be executed on the movement path is completed by linking and connecting (No in step S110).

なお、ステップS106、S108に示したプログラミング操作は、ターゲット機器200の移動経路を順次決定しつつ、ターゲット機器200における機能動作を順次設定するものであってもよいし、後述する機能動作の設定方法に示すように、ターゲット機器200の全移動経路を決定した後、ターゲット機器200における全ての機能動作を設定するものであってもよい。   Note that the programming operation shown in steps S106 and S108 may sequentially set the functional operation in the target device 200 while sequentially determining the movement path of the target device 200, or a functional operation setting method described later. As shown in FIG. 4, after all the movement paths of the target device 200 are determined, all functional operations in the target device 200 may be set.

そして、図6に示すように、プログラミングブロック120を用いたプログラミング操作処理を終了した状態においては、スタートブロック120S及び各プログラミングブロック120の制御部128は、上記のステップS106、S108に示したように、プログラミング操作により決定された全移動経路に対応し、さらに、ターゲット機器200における機能動作を設定するスタートブロック120S及び各プログラミングブロック120の識別変移部124の変移状態を保持したり、特定の条件をトリガーとして所定の変移状態を提示したりする。これにより、プログラミング操作により決定されたターゲット機器200の全移動経路やその移動順序、全ての機能動作やその実行順序等を視覚的に把握、理解し易くなる。   As shown in FIG. 6, in the state where the programming operation process using the programming block 120 is completed, the start block 120S and the control unit 128 of each programming block 120, as shown in the above steps S106 and S108. , Corresponding to all the movement paths determined by the programming operation, and further, the start block 120S for setting the functional operation in the target device 200 and the transition state of the identification transition unit 124 of each programming block 120 are held, or a specific condition is set. A predetermined transition state is presented as a trigger. This makes it easy to visually grasp and understand all the movement paths of the target device 200 determined by the programming operation, the movement order thereof, all the functional operations, the execution order thereof, and the like.

また、上記のプログラミング操作処理を終了すると(ステップS110のYes)、プログラミングブロック120及びコアユニット160を用いたプログラム生成処理の実行が可能な待機状態に設定される。   When the programming operation process is finished (Yes in step S110), a standby state in which the program generation process using the programming block 120 and the core unit 160 can be executed is set.

そして、図7(a)に示すように、ユーザが、コアユニット160の操作部162に設けられたプログラム実行スイッチ(一括実行スイッチ182又はステップ実行スイッチ184)を操作すると(ステップS112)、ステップS114〜S120のプログラム一括生成、実行処理、又は、ステップS122〜S130のプログラムステップ生成、実行処理が実行される。   7A, when the user operates a program execution switch (collective execution switch 182 or step execution switch 184) provided in the operation unit 162 of the core unit 160 (step S112), step S114 is performed. ~ S120 program batch generation and execution processing, or program step generation and execution processing of steps S122 to S130 are executed.

(プログラム一括生成、実行処理)
上記のステップS112において、図7(a)に示すように、ユーザが、コアユニット160に設けられた一括実行スイッチ182をオン操作すると、プログラム一括生成、実行処理が実行される。プログラム一括生成、実行処理においては、まず、コアユニット160の制御部170が、スタートブロック120Sの制御部128に制御信号を送信して、上記のプログラミング操作処理により取得したブロック情報や連結特定情報を有する入力操作情報を一括してスタートブロック120Sから受信する(ステップS114)。受信した入力操作情報は、記憶部166の記憶領域に記憶される。
(Program batch generation, execution processing)
In step S112, as shown in FIG. 7A, when the user turns on the batch execution switch 182 provided in the core unit 160, the program batch generation and execution processing is executed. In the program batch generation and execution process, first, the control unit 170 of the core unit 160 transmits a control signal to the control unit 128 of the start block 120S, and the block information and the connection specifying information acquired by the programming operation process are obtained. The input operation information is collectively received from the start block 120S (step S114). The received input operation information is stored in the storage area of the storage unit 166.

次いで、制御部170は、スタートブロック120Sから受信した入力操作情報をソースコードとして、ターゲット機器200の動作状態(移動動作及び機能動作)を制御するための命令を有するプログラムを一括して生成する(ステップS116)。具体的には、制御部170は、入力操作情報に含まれる連結特定情報に基づいて、連結接続された複数のプログラミングブロック120の全体配置形状を特定するとともに、入力操作情報に含まれるブロック情報(機能情報)に基づいて、連結接続された各プログラミングブロック120の任意の位置で実行される機能動作を特定する。ここで、連結接続された複数のプログラミングブロック120の全体配置形状は、ターゲット機器200の移動経路を規定する。制御部170は、特定した内容に基づいて、ターゲット機器200が実行可能な形式のプログラムを生成する。制御部170において生成されたプログラムは、コアユニット160の記憶部166の所定の記憶領域に記憶される。   Next, the control unit 170 collectively generates a program having a command for controlling the operation state (movement operation and functional operation) of the target device 200 using the input operation information received from the start block 120S as a source code ( Step S116). Specifically, the control unit 170 specifies the overall arrangement shape of the plurality of connected programming blocks 120 based on the connection specifying information included in the input operation information, and includes block information ( On the basis of the function information, a function operation to be executed at an arbitrary position of each of the connected programming blocks 120 is specified. Here, the overall arrangement shape of the plurality of connected programming blocks 120 defines the movement path of the target device 200. The control unit 170 generates a program in a format that can be executed by the target device 200 based on the specified contents. The program generated in the control unit 170 is stored in a predetermined storage area of the storage unit 166 of the core unit 160.

次いで、制御部170は、図7(a)に示すように、生成されたプログラムを、通信I/F部168を介して、ターゲット機器200に一括して転送する(ステップS118)。ターゲット機器200の制御部210は、転送されたプログラムを実行して、駆動部202及び機能部204を動作させることにより、図7(a)、(b)、図8に示すように、上述したプログラミングブロック120を用いたプログラミング操作処理において決定された平面的な仮想経路に対応する移動経路(図中、太点線で表記)に沿って順次移動する全体動作を行う(ステップS120)。   Next, as illustrated in FIG. 7A, the control unit 170 collectively transfers the generated program to the target device 200 via the communication I / F unit 168 (step S <b> 118). The control unit 210 of the target device 200 executes the transferred program to operate the driving unit 202 and the function unit 204, thereby causing the above-described operation as illustrated in FIGS. 7A, 7B, and 8. The entire operation of sequentially moving along a movement path (indicated by a bold dotted line in the figure) corresponding to the planar virtual path determined in the programming operation process using the programming block 120 is performed (step S120).

このとき、コアユニット160の制御部170は、通信I/F部168を介して、ターゲット機器200からプログラムの実行状態(すなわち、ターゲット機器200の移動位置や機能動作の実行状態)に関する情報を随時受信し、スタートブロック120S及び各プログラミングブロック120の制御部128にプログラム実行情報として送信する。各制御部128は、コアユニット160から受信したプログラム実行情報に基づいて、図7(a)、(b)、図8に示すように、現在時点におけるターゲット機器200の移動経路上での位置に対応する各プログラミングブロック120の識別変移部124を特定の発光状態で発光させたり、表示画像を変化させたりして視覚的に識別可能な状態に変移させる(図7(a)、(b)中では便宜的に濃いハーフトーン、図8中では便宜的に濃いハッチングで表記)。   At this time, the control unit 170 of the core unit 160 receives information on the execution state of the program (that is, the movement position of the target device 200 and the execution state of the functional operation) from the target device 200 via the communication I / F unit 168 as needed. It is received and transmitted as program execution information to the start block 120S and the control unit 128 of each programming block 120. Based on the program execution information received from the core unit 160, each control unit 128 takes the position on the movement path of the target device 200 at the current time point as shown in FIGS. 7 (a), (b), and FIG. The identification transition unit 124 of each corresponding programming block 120 is caused to emit light in a specific light emission state, or the display image is changed to change to a visually identifiable state (in FIGS. 7A and 7B). (In this case, it is dark halftone for convenience, and in FIG. 8 it is dark hatching for convenience.)

また、図8に示すように、ターゲット機器200が、プログラミング操作において特定の機能動作を設定した位置に移動し、当該機能動作を実行している場合には、当該機能動作を設定した機能設定ブロック120Fの制御部128は、ターゲット機器200から受信したプログラム実行情報に基づいて、識別変移部124を特定の発光状態で発光させたり、表示画像を変化させたりして視覚的に識別可能な状態に変移させる。なお、図8においては、ターゲット機器200の機能動作として特定の楽音を発生する場合を示し、当該機能動作に対応する機能設定ブロック120Fを濃いハッチングで表記した。   In addition, as shown in FIG. 8, when the target device 200 moves to a position where a specific functional operation is set in the programming operation and executes the functional operation, a function setting block in which the functional operation is set Based on the program execution information received from the target device 200, the control unit 128 of 120F causes the identification transition unit 124 to emit light in a specific light emission state or change the display image so that it can be visually identified. Change. In FIG. 8, a case where a specific musical sound is generated as a functional operation of the target device 200 is shown, and the function setting block 120F corresponding to the functional operation is indicated by dark hatching.

ここで、プログラミングブロック120の識別変移部124が発光部を有する場合には、プログラミングブロック120の制御部128は、例えば次のように発光状態を制御することにより、ターゲット機器200におけるプログラムの実行状態を視覚的に識別可能にする。これにより、ターゲット機器200におけるプログラムの実行状態等を視覚的に把握、理解し易くなる。   Here, when the identification transition unit 124 of the programming block 120 includes a light emitting unit, the control unit 128 of the programming block 120 controls the light emitting state as follows, for example, thereby executing the program execution state in the target device 200. Is visually identifiable. This makes it easier to visually grasp and understand the execution state of the program in the target device 200.

制御部128は、例えば、プログラミング操作により決定された移動経路及び機能動作に対応する全てのプログラミングブロック120の発光部を所定の発光色や発光強度で常時発光させた状態で、プログラム実行情報に基づいて、現在時点におけるターゲット機器200の位置や、ターゲット機器200が実行している機能動作に対応するプログラミングブロック120の発光部を、他のプログラミングブロック120とは異なる発光色や、より高い発光強度、あるいは、発光パターン(例えば、点滅)で発光させる。   The control unit 128, for example, based on the program execution information in a state in which the light emitting units of all the programming blocks 120 corresponding to the movement path and the functional operation determined by the programming operation are always emitted with a predetermined light emission color and light emission intensity. Thus, the position of the target device 200 at the current time point and the light emitting unit of the programming block 120 corresponding to the functional operation being executed by the target device 200 are changed to a different emission color, higher emission intensity, Alternatively, light is emitted with a light emission pattern (for example, blinking).

また、他の形態として、制御部128は、例えば、プログラム実行情報に基づいて、現在時点におけるターゲット機器200の位置や、ターゲット機器200が実行している機能動作に対応するプログラミングブロック120の発光部を所定の発光色や発光強度で発光させ、他のプログラミングブロック120の発光部を発光させない(消灯させる)。   Further, as another form, the control unit 128, for example, based on the program execution information, the light emitting unit of the programming block 120 corresponding to the position of the target device 200 at the current time point and the functional operation being executed by the target device 200 Is emitted with a predetermined emission color or emission intensity, and the light emitting portions of the other programming blocks 120 are not caused to emit light (turn off).

さらに他の形態として、例えば、各プログラミングブロック120の識別変移部124はいずれも、プログラミング操作時の状況を示す第1の発光部とプログラム実行時の状況を示す第2の発光部とを別個に備え、制御部128は、現在時点におけるターゲット機器200の位置や、ターゲット機器200が実行している機能動作に対応するプログラミングブロック120では第1及び第2の発光部をともに発光させ、他のプログラミングブロック120では第1の発光部のみを発光させる。   As yet another form, for example, each of the identification transition units 124 of each programming block 120 separately includes a first light emitting unit that indicates the status during programming operation and a second light emitting unit that indicates the status during program execution. The control unit 128 causes the first and second light emitting units to emit light in the programming block 120 corresponding to the position of the target device 200 at the current time point and the functional operation executed by the target device 200, and performs other programming. In block 120, only the first light emitting unit emits light.

また、ターゲット機器200において実行されているプログラムにエラーやバグが発生した場合には、制御部128は、ターゲット機器200から受信したプログラム実行情報に基づいて、当該エラーやバグが発生したプログラミングブロック120を、上記の通常の実行状態とは異なる発光色や発光パターンで発光させる制御を行う。これにより、プログラム実行時の異常をユーザに報知する。ここで、プログラム実行時のエラーやバグとは、例えばターゲット機器200が撮像部を備えていないにも関わらず、撮影を行う命令が実行された場合や、ターゲット機器200がプログラミング操作時には想定されていなかった障害物等に進行方向が阻まれているにも関わらず、障害物の方向にさらに移動する命令が実行された場合等である。   Further, when an error or bug occurs in the program executed in the target device 200, the control unit 128, based on the program execution information received from the target device 200, the programming block 120 in which the error or bug has occurred. Is controlled to emit light with a light emission color or light emission pattern different from the normal execution state. This notifies the user of an abnormality during program execution. Here, an error or a bug at the time of executing the program is assumed, for example, when an instruction to perform shooting is executed even when the target device 200 does not include an imaging unit, or when the target device 200 is in a programming operation. This is the case, for example, when an instruction to move further in the direction of the obstacle is executed even though the obstacle has not been obstructed in the direction of travel.

(プログラムステップ生成、実行処理)
上述したステップS112において、図9(a)に示すように、ユーザが、コアユニット160に設けられたステップ実行スイッチ184をオン操作すると、プログラムステップ生成、実行処理が実行される。プログラムステップ生成、実行処理においては、まず、コアユニット160の制御部170が、スタートブロック120Sの制御部128に制御信号を送信して、上記のプログラミング操作処理により取得したブロック情報や連結特定情報を有する入力操作情報を一括して、又は、プログラミング操作の一操作(ステップ)ごとに、スタートブロック120Sから受信し(ステップS122)、記憶部166の記憶領域に記憶する。
(Program step generation and execution processing)
In step S112 described above, as shown in FIG. 9A, when the user turns on the step execution switch 184 provided in the core unit 160, program step generation and execution processing is executed. In the program step generation and execution process, first, the control unit 170 of the core unit 160 transmits a control signal to the control unit 128 of the start block 120S, and the block information and the connection specifying information acquired by the programming operation process described above are transmitted. The input operation information is received from the start block 120S in batch or for each operation (step) of the programming operation (step S122) and stored in the storage area of the storage unit 166.

次いで、制御部170は、受信した入力操作情報に基づいてターゲット機器200の動作状態(移動動作及び機能動作)を制御するための命令を有するプログラムを一括して、又は、プログラミング操作の一操作ごとに生成し(ステップS124)、記憶部166の所定の記憶領域に記憶する。ここで、プログラミング操作の一操作とは、1つのプログラミングブロック120を連結接続する操作のことであり、本実施形態のプログラムステップ生成、実行処理における一ステップとは、この一操作により指定されるステップのまとまりのことである。ただし、後述するように、プログラミングブロック120が複数段積み重ねられて、且つ、これらのプログラミングブロック120により指定された複数の機能を同時に実行することが指示されている場合には、それらすべての機能を同時に実行するステップが一ステップとなる。   Next, the control unit 170 collects a program having a command for controlling the operation state (movement operation and functional operation) of the target device 200 based on the received input operation information, or for each operation of the programming operation. (Step S124) and stored in a predetermined storage area of the storage unit 166. Here, one operation of the programming operation is an operation of connecting and connecting one programming block 120, and one step in the program step generation and execution processing of this embodiment is a step specified by this one operation. It is a unity. However, as will be described later, when a plurality of programming blocks 120 are stacked and instructed to execute a plurality of functions specified by these programming blocks 120 at the same time, all of these functions are performed. The step executed simultaneously is one step.

次いで、制御部170は、図9(a)に示すように、生成されたプログラムを一操作分(ステップ単位)のプログラムごとに、通信I/F部168を介して、ターゲット機器200に転送する(ステップS126)。ターゲット機器200は、転送された一操作分のプログラムを実行して、駆動部202及び機能部204を動作させることにより、上述したプログラミング操作処理において決定された仮想経路に対応する移動経路(図中、太点線で表記)に沿って一操作分だけ移動したり、一操作分だけ機能を実行したりするステップ動作を行う(ステップS128)。   Next, as shown in FIG. 9A, the control unit 170 transfers the generated program to the target device 200 via the communication I / F unit 168 for each operation (step unit). (Step S126). The target device 200 executes the transferred program for one operation and operates the drive unit 202 and the function unit 204 to thereby move a movement route (in the drawing) corresponding to the virtual route determined in the above-described programming operation processing. (Indicated by a thick dotted line), a step operation of moving by one operation or executing a function by one operation is performed (step S128).

このとき、コアユニット160の制御部170は、ターゲット機器200に転送した一操作分のプログラムに関する情報(すなわち、ターゲット機器200の移動やターゲット機器200が実行する機能を規定する情報)を、スタートブロック120S及び各プログラミングブロック120の制御部128にプログラム実行情報として送信する。各制御部128は、このプログラム実行情報に基づいて、図9(a)に示すように、現在時点におけるターゲット機器200の移動経路上での位置に対応する各プログラミングブロック120を特定の発光状態で発光させたり、表示画像を変化させたりして視覚的に識別可能な状態に変移させる(図9(a)中では便宜的に濃いハーフトーンで表記)。   At this time, the control unit 170 of the core unit 160 stores information related to the program for one operation transferred to the target device 200 (that is, information defining the movement of the target device 200 and the function executed by the target device 200) as a start block. 120S and the program execution information are transmitted to the control unit 128 of each programming block 120. Based on this program execution information, each control unit 128 sets each programming block 120 corresponding to the position on the movement path of the target device 200 at the current time point in a specific light emission state, as shown in FIG. 9A. It is changed to a visually distinguishable state by emitting light or changing the display image (in FIG. 9 (a), it is expressed in dark halftone for convenience).

また、図10(a)、(b)に示すように、ターゲット機器200が、プログラミング操作において特定の機能動作を設定した位置に移動し、当該機能動作を実行している場合には、当該機能動作を設定した機能設定ブロック120Fの制御部128は、プログラム実行情報に基づいて、当該機能設定ブロック120Fを特定の発光状態で発光させたり、表示画像を変化させたりして視覚的に識別可能な状態に変移させる。なお、図10(b)においては、ターゲット機器200の機能動作として特定の楽音を発生する場合を示し、当該機能動作に対応する機能設定ブロック120Fを便宜的に濃いハッチングで表記した。   Also, as shown in FIGS. 10A and 10B, when the target device 200 moves to a position where a specific functional operation is set in the programming operation and executes the functional operation, the function Based on the program execution information, the control unit 128 of the function setting block 120F that has set the operation can visually identify the function setting block 120F by causing it to emit light in a specific light emission state or changing the display image. Change to state. In FIG. 10B, a case where a specific musical sound is generated as a functional operation of the target device 200 is shown, and the function setting block 120F corresponding to the functional operation is represented by dark hatching for convenience.

ステップS128の処理動作を実行した後、コアユニット160の制御部170は、ステップS128においてターゲット機器200に実行させたステップ動作が、プログラミング操作処理により取得した入力操作情報のうちの最後の入力操作情報に対応するものであるか否かを判定する(ステップS130)。すなわち、コアユニット160の制御部170は、ターゲット機器200が移動経路の終点位置まで移動し、且つ、当該終点位置のプログラミングブロック120に設定された機能をターゲット機器200が実行し終わっているか否かを判定する。   After executing the processing operation of step S128, the control unit 170 of the core unit 160 causes the step operation executed by the target device 200 in step S128 to be the last input operation information of the input operation information acquired by the programming operation processing. It is determined whether it corresponds to (step S130). That is, the control unit 170 of the core unit 160 determines whether or not the target device 200 has moved to the end point position of the movement path and the target device 200 has finished executing the function set in the programming block 120 at the end point position. Determine.

コアユニット160の制御部170が、ステップS128においてターゲット機器200に実行させたステップ動作が最後の入力操作情報に対応するものであると判定した場合(ステップS130のYes)には、図4のフローチャートに示したプログラミング操作及びプログラム生成、実行方法に係る一連の処理動作が終了する。一方、制御部170が、ステップS128においてターゲット機器200に実行させたステップ動作が最後の入力操作情報に対応するものでないと判定した場合(ステップS130のNo)には、前述のステップS112へ遷移する。このステップS112では、ユーザが、コアユニット160に設けられた一括実行スイッチ182、又は、ステップ実行スイッチ184のいずれをオン操作したかを判定する。   When the control unit 170 of the core unit 160 determines that the step operation executed by the target device 200 in step S128 corresponds to the last input operation information (Yes in step S130), the flowchart of FIG. A series of processing operations related to the programming operation and program generation and execution method shown in FIG. On the other hand, when the control unit 170 determines that the step operation executed by the target device 200 in step S128 does not correspond to the last input operation information (No in step S130), the process proceeds to step S112 described above. . In step S112, it is determined which of the collective execution switch 182 or the step execution switch 184 provided in the core unit 160 is turned on.

一括実行スイッチ182がオン操作されたと判定した場合、コアユニット160の制御部170は、プログラミング操作処理により取得した入力操作情報のうち、まだ実行していないすべての入力操作情報について、前述のプログラム一括生成、実行処理を行う(ステップS114〜S120)。すべての入力操作情報に対応する動作を行った後、図4のフローチャートに示したプログラミング操作及びプログラム生成、実行方法に係る一連の処理動作が終了する。また、ステップ実行スイッチ184がオン操作されたと判定した場合、コアユニット160の制御部170は、前述のステップS122〜S130に従って、プログラムステップ生成、実行処理が実行される。なお、本実施形態においては、図4に示した一連の処理動作を、便宜的に「ノーマルモード」と呼称する。   When it is determined that the batch execution switch 182 is turned on, the control unit 170 of the core unit 160 performs the above-described program batch for all input operation information that has not yet been executed among the input operation information acquired by the programming operation processing. Generation and execution processing are performed (steps S114 to S120). After performing the operation corresponding to all the input operation information, the series of processing operations related to the programming operation and the program generation and execution method shown in the flowchart of FIG. When it is determined that the step execution switch 184 is turned on, the control unit 170 of the core unit 160 executes program step generation and execution processing according to the above-described steps S122 to S130. In the present embodiment, the series of processing operations shown in FIG. 4 is referred to as “normal mode” for convenience.

このように、本実施形態においては、プログラミングブロック120とコアユニット160とからなるタンジブルなプログラム制御装置を用いて、始点となるスタートブロック120Sにプログラミングブロック120を順次連結接続するプログラミング操作により、スタートブロック120Sを基準とする、その全体配置形状の相対的な配置に基づいて仮想経路を決定することができ、この仮想経路によりターゲット機器200の移動経路を規定することができる。また、ターゲット機器200の移動経路上の任意の位置に対応する仮想経路のプログラミングブロック120に機能情報を設定するプログラミング操作により、当該位置でターゲット機器200に特定の機能動作を実行させることができる。   As described above, in the present embodiment, the tangible program control device including the programming block 120 and the core unit 160 is used to perform the start block by the programming operation of sequentially connecting and connecting the programming block 120 to the start block 120S as the starting point. The virtual route can be determined based on the relative arrangement of the entire arrangement shape with reference to 120S, and the movement route of the target device 200 can be defined by this virtual route. In addition, by performing a programming operation for setting function information in the programming block 120 of the virtual path corresponding to an arbitrary position on the movement path of the target device 200, the target device 200 can be caused to execute a specific function operation at the position.

また、本実施形態においては、プログラミング操作時に連結接続された複数のプログラミングブロック120の全体配置形状が、ターゲット機器200の移動経路に対応しているので、当該配置形状により移動経路を直感的に把握することができる。さらに、プログラミング操作に基づいて生成されたプログラムの実行時に、又は、プログラムの実行の前後(例えば、プログラミング操作中)に、連結接続された複数のプログラミングブロック120のうち、プログラミング操作やプログラム実行の対象となっているプログラミングブロック120を、視覚的に識別可能な状態に変移させることができる。   In the present embodiment, since the overall arrangement shape of the plurality of programming blocks 120 connected and connected during the programming operation corresponds to the movement path of the target device 200, the movement path is intuitively grasped by the arrangement shape. can do. In addition, when a program generated based on a programming operation is executed, or before and after the execution of the program (for example, during a programming operation), the programming operation and the program execution target among the plurality of connected programming blocks 120 are connected. The programming block 120 can be changed to a visually identifiable state.

したがって、本実施形態によれば、幼児等の年少者であっても、タンジブルなプログラム制御装置を用いてプログラミングブロック120を平面的に連結接続する簡易な操作により、ターゲット機器200の移動経路を決定することができるとともに、当該移動経路上の任意の位置でターゲット機器200に機能動作を設定するプログラミングを容易に行うことができる。また、プログラミング時の操作内容やターゲット機器200の動作状態を視覚を通して直感的に把握することができ、プログラミングの学習効果の向上を期待することができる。   Therefore, according to the present embodiment, even for a young person such as an infant, the movement path of the target device 200 is determined by a simple operation of connecting and connecting the programming blocks 120 in a plane using a tangible program control device. In addition, it is possible to easily perform programming for setting a functional operation in the target device 200 at an arbitrary position on the movement path. In addition, it is possible to intuitively grasp the operation content during programming and the operation state of the target device 200 through vision, and it can be expected to improve the learning effect of programming.

なお、上述したプログラミング操作及びプログラム生成、実行方法においては、プログラミング操作処理の終了後、ユーザが、コアユニット160の操作部162に設けられたプログラム実行スイッチ(一括実行スイッチ182又はステップ実行スイッチ184)を操作することにより、プログラミング操作処理により取得した入力操作情報を、スタートブロック120Sからコアユニット160に送信する形態を示した。本発明はこれに限定されるものではなく、例えば、プログラミング操作処理中にプログラミングブロック120を連結接続することにより新たな入力操作情報を取得するたびに、随時、又は、所定のタイミングや定期的に、当該入力操作情報をコアユニット160に送信するものであってもよい。   In the above-described programming operation and program generation / execution method, the program execution switch (batch execution switch 182 or step execution switch 184) provided in the operation unit 162 of the core unit 160 after the completion of the programming operation process is performed by the user. In this example, the input operation information acquired by the programming operation process is transmitted from the start block 120S to the core unit 160 by operating the. The present invention is not limited to this. For example, every time new input operation information is acquired by connecting and connecting the programming block 120 during the programming operation process, or at any given time or periodically. The input operation information may be transmitted to the core unit 160.

また、上述したプログラミング操作及びプログラム生成、実行方法においては、プログラミング操作処理において、スタートブロック120Sを始点として、移動経路の終点側となる方向に、後方側のプログラミングブロック120を順次連結接続し、複数のプログラミングブロック120を二次元空間に平面的に配置する場合(図5、図6参照)を示した。本発明はこれに限定されるものではなく、複数のプログラミングブロック120を三次元空間に立体的に配置するものであってもよい。   In the programming operation and program generation and execution method described above, in the programming operation process, the programming block 120 is sequentially connected and connected in the direction toward the end point of the movement path, starting from the start block 120S. The case where the programming block 120 is arranged in a two-dimensional space in a planar manner (see FIGS. 5 and 6) is shown. The present invention is not limited to this, and a plurality of programming blocks 120 may be three-dimensionally arranged in a three-dimensional space.

図11は、本実施形態に適用されるプログラミング操作処理(立体的配置)を説明するための概略図であり、図12は、本実施形態に適用されるプログラム生成、実行処理(一括処理)の他の例を説明するための概略図である。   FIG. 11 is a schematic diagram for explaining a programming operation process (three-dimensional arrangement) applied to the present embodiment, and FIG. 12 is a program generation and execution process (collective process) applied to the present embodiment. It is the schematic for demonstrating another example.

上述したプログラミング操作処理において、スタートブロック120Sを始点として、連結接続される複数のプログラミングブロック120を三次元空間に立体的に配置する場合には、スタートブロック120Sやプログラミングブロック120の立方体形状の全6面(前後左右上下の6面)のいずれかの面にプログラミングブロック120が連結接続される。これにより、図11(a)、(b)に示すように、スタートブロック120Sを始点として連結接続されたプログラミングブロック120が、水平面上だけでなく上下(天地)方向にも配置され、この配置形状に基づいてターゲット機器200の移動経路を規定する立体的な仮想経路が決定される。   In the above-described programming operation process, when a plurality of connected programming blocks 120 are three-dimensionally arranged in the three-dimensional space with the start block 120S as a starting point, all six cube shapes of the start block 120S and the programming block 120 are included. The programming block 120 is connected and connected to any one of the surfaces (front, back, left, right, up, and down six surfaces). As a result, as shown in FIGS. 11A and 11B, the programming blocks 120 connected and connected starting from the start block 120S are arranged not only on the horizontal plane but also in the vertical (top and bottom) direction. The three-dimensional virtual route that defines the movement route of the target device 200 is determined based on the above.

また、ターゲット機器200の移動経路の任意の位置において特定の機能動作を実行させる設定をする場合には、図11(a)、(b)に示すように、複数のプログラミングブロック120からなる仮想経路のうちの、当該機能動作を実行する位置に対応するプログラミングブロック120として、当該機能動作に関する機能情報が設定された機能設定ブロック120Fを連結接続する。   Further, when setting to execute a specific functional operation at an arbitrary position on the movement path of the target device 200, a virtual path including a plurality of programming blocks 120 as shown in FIGS. As a programming block 120 corresponding to a position where the functional operation is executed, a function setting block 120F in which functional information related to the functional operation is set is connected.

そして、図12(a)に示すように、ユーザが、コアユニット160の操作部162に設けられたプログラム実行スイッチ(例えば、一括実行スイッチ182)を操作すると、プログラム生成、実行処理が実行される。プログラム生成、実行処理においては、まず、コアユニット160がプログラミング操作処理により取得した入力操作情報をスタートブロック120Sから受信し、当該入力操作情報に基づいてターゲット機器200の動作状態(移動動作及び機能動作)を制御するプログラムを生成する。   Then, as shown in FIG. 12A, when the user operates a program execution switch (for example, a batch execution switch 182) provided in the operation unit 162 of the core unit 160, program generation and execution processing is executed. . In the program generation and execution processing, first, the input operation information acquired by the core unit 160 through the programming operation processing is received from the start block 120S, and the operation state (movement operation and functional operation of the target device 200 is based on the input operation information. ) Is generated.

生成されたプログラムをコアユニット160からターゲット機器200に転送して実行することにより、図12(a)、(b)に示すように、ドローン等のターゲット機器200が上述したプログラミング操作処理において決定された立体的な仮想経路に対応する移動経路(図中、太点線で表記)に沿って順次移動する全体動作を行う(ステップS120)。   By transferring the generated program from the core unit 160 to the target device 200 and executing it, the target device 200 such as a drone is determined in the above-described programming operation process, as shown in FIGS. The entire operation of sequentially moving along the movement route (indicated by a thick dotted line in the figure) corresponding to the three-dimensional virtual route is performed (step S120).

このとき、ターゲット機器200の移動経路上での位置に対応する各プログラミングブロック120は、例えば特定の発光状態で発光して視覚的に識別可能な状態に変移する(図12(a)中では便宜的に濃いハーフトーンで表記)。また、図12(b)に示すように、ターゲット機器200が移動経路上の所定の位置で機能動作を実行している場合には、当該位置に対応するプログラミングブロック120は、例えば特定の発光状態で発光して視覚的に識別可能な状態に変移する。なお、図12(b)においては、ターゲット機器200の機能動作として特定の位置で旋回する場合を示し、当該機能動作に対応する機能設定ブロック120Fを便宜的に濃いハッチングで表記した。   At this time, each programming block 120 corresponding to the position of the target device 200 on the movement path is changed to a visually distinguishable state by emitting light in a specific light emission state, for example (in FIG. 12A, for convenience). Notated with dark halftones). Also, as shown in FIG. 12B, when the target device 200 is performing a functional operation at a predetermined position on the movement path, the programming block 120 corresponding to the position is, for example, a specific light emission state. It emits light and changes to a state that can be visually identified. In FIG. 12B, a case where the target device 200 turns at a specific position is shown as a functional operation, and the function setting block 120F corresponding to the functional operation is indicated by dark hatching for convenience.

これによれば、幼児等の年少者であっても、タンジブルなプログラム制御装置を用いてプログラミングブロック120を立体的に連結接続する簡易な操作により、ターゲット機器200の移動経路を決定することができるとともに、当該移動経路上の任意の位置でターゲット機器200に機能動作を設定するプログラミングを容易に行うことができる。また、三次元空間内での動作を対象とする高度なプログラミング技術であっても、プログラミング時の操作内容やターゲット機器200の動作状態を視覚を通して直感的に把握することができ、プログラミングの学習効果の向上を期待することができる。   According to this, even a young person such as an infant can determine the movement path of the target device 200 by a simple operation of three-dimensionally connecting and connecting the programming blocks 120 using a tangible program control device. In addition, it is possible to easily perform programming for setting a functional operation in the target device 200 at an arbitrary position on the movement route. In addition, even with advanced programming technology that targets operations in a three-dimensional space, it is possible to intuitively grasp the operation content during programming and the operation state of the target device 200 through vision, and the learning effect of programming Improvement can be expected.

なお、上述したプログラミングブロック120を用いたプログラミング操作処理においては、始点となるスタートブロック120Sについて、立方体の6面のうち特定の一面側の方向が基準方向として設定され、他のプログラミングブロック120が連結接続されている面について、当該基準方向に対する相対的な配置が検知されて、連結特定情報として取得されることを示した。   In the programming operation process using the programming block 120 described above, for the start block 120S that is the starting point, the direction of one specific side of the six faces of the cube is set as the reference direction, and the other programming blocks 120 are connected. For the connected surfaces, the relative arrangement with respect to the reference direction is detected and obtained as the link specifying information.

そのため、連結接続された複数のプログラミングブロック120により決定される仮想経路は、スタートブロック120Sを基準とする相対的な配置を有している。ここで、プログラミング操作により決定される仮想経路と、ターゲット機器200の実際の移動経路とを対応付けるためには、スタートブロック120Sの基準方向とターゲット機器200の進行方向(又は、前後方向)との関係を明確にしておく必要がある。   Therefore, the virtual path determined by the plurality of connected programming blocks 120 has a relative arrangement with respect to the start block 120S. Here, in order to associate the virtual path determined by the programming operation with the actual movement path of the target device 200, the relationship between the reference direction of the start block 120S and the traveling direction (or front-rear direction) of the target device 200. It is necessary to clarify.

図13は、本実施形態に適用されるスタートブロックの外観表記の一例を示す概略図である。
このような仮想経路と移動経路との対応付けを支援、誘導する手段として、例えば図13(a)、(b)に示すように、スタートブロック120Sの立方体の各面に、ターゲット機器200の外観を模し、ターゲット機器200の進行方向を基準方向として明確にしたイラストが表記されている。図13(b)においては、スタートブロック120Sの立方体の6面のうち、例えば上面と前後左右の側面にターゲット機器200である自走式の玩具の上面図と前後側面図、左右側面図がイラストとして表記された例を示す。なお、スタートブロック120Sの外観表記については、ターゲット機器200の進行方向を基準方向として示すものであれば、上記のイラストに限らず、写真画像や記号、文字等を表記するものであってもよい。
FIG. 13 is a schematic diagram illustrating an example of the appearance notation of the start block applied to the present embodiment.
As a means for supporting and guiding the association between the virtual route and the moving route, for example, as shown in FIGS. 13A and 13B, the appearance of the target device 200 is formed on each surface of the cube of the start block 120S. The illustration which makes clear the advancing direction of the target device 200 as a reference direction is described. In FIG. 13B, among the six faces of the cube of the start block 120S, for example, the top view, the front and back side views, and the left and right side views of the self-propelled toy that is the target device 200 are illustrated on the top face and front and rear and left and right sides The example described as is shown. Note that the appearance notation of the start block 120S is not limited to the above illustration as long as the traveling direction of the target device 200 is indicated as a reference direction, and a photographic image, symbol, character, or the like may be indicated. .

これにより、スタートブロック120Sの外観表記を視認することにより、ターゲット機器の進行方向との対応付けが直感的に可能になるので、年少者であっても、プログラミング操作の際にスタートブロック120Sに連結接続するプログラミングブロック120の配置(方向や位置関係)を正確に把握、理解して、効率的なプログラミング学習を実現することができる。   This makes it possible to intuitively associate the target device with the direction of travel by visually recognizing the appearance of the start block 120S, so even a young person can connect to the start block 120S during programming operations. It is possible to accurately grasp and understand the arrangement (direction and positional relationship) of the programming block 120 to be connected, thereby realizing efficient programming learning.

なお、上述したプログラミング操作及びプログラム生成、実行方法においては、ターゲット機器200の機能動作の設定方法として、ターゲット機器200の移動経路に対応する仮想経路を形成する複数のプログラミングブロック120のうち、当該機能動作を実行する位置に対応するプログラミングブロック120に、予め所望の機能動作に関する機能情報を設定する手法を示した。本発明はこの形態に限定されるものではなく、次のような設定方法を適用することができる。   In the above-described programming operation and program generation / execution method, as the function operation setting method of the target device 200, the function among the plurality of programming blocks 120 that form a virtual route corresponding to the movement route of the target device 200 is used. A method of setting function information related to a desired function operation in advance in the programming block 120 corresponding to the position where the operation is executed is shown. The present invention is not limited to this form, and the following setting method can be applied.

図14は、本実施形態に適用されるターゲット機器の機能動作の設定方法の一例を示す概略図である。
ターゲット機器の機能動作の設定方法の一例としては、図14(a)、(b)に示すように、スタートブロック120Sに複数のプログラミングブロック120を順次連結接続することにより、ターゲット機器200の移動経路を規定する仮想経路が決定され、当該複数のプログラミングブロック120のうちの、所望の機能動作を実行する位置に対応するプログラミングブロック120上に、当該機能動作が設定された機能設定ブロック120Fが1又は複数個積み重なるように連結接続される。ここで、スタートブロック120Sに連結接続される複数のプログラミングブロック120は、仮想経路を決定するためだけに使用され、プログラミングブロック120上に積み重なるように連結接続される機能設定ブロック120Fは、機能動作を設定するためだけに使用される。また、機能設定ブロック120Fは、連結接続されるプログラミングブロック120と同一又は同等の外形形状及び寸法を有している。
FIG. 14 is a schematic diagram illustrating an example of a method for setting the functional operation of the target device applied to the present embodiment.
As an example of the setting method of the functional operation of the target device, as shown in FIGS. 14A and 14B, a plurality of programming blocks 120 are sequentially connected and connected to the start block 120S, thereby moving the target device 200 along the movement path. The function setting block 120F in which the function operation is set is 1 or more on the programming block 120 corresponding to the position where the desired function operation is executed among the plurality of programming blocks 120. A plurality are connected so as to be stacked. Here, the plurality of programming blocks 120 connected and connected to the start block 120S are used only for determining the virtual path, and the function setting block 120F connected and connected so as to be stacked on the programming block 120 performs the function operation. Used only for configuration. The function setting block 120F has the same or equivalent outer shape and dimensions as the programming block 120 to be connected.

このような機能動作の設定方法においては、上述した実施形態と同様に、プログラミング操作処理において、スタートブロック120Sにプログラミングブロック120が連結接続されることにより、ブロックI/F部122を介して後方側のプログラミングブロック120が有するブロック情報や連結特定情報がスタートブロック120Sに送信される。   In such a functional operation setting method, as in the above-described embodiment, in the programming operation process, the programming block 120 is connected to the start block 120S, so that the rear side is connected via the block I / F unit 122. Block information and connection specifying information included in the programming block 120 are transmitted to the start block 120S.

また、所望の機能動作を実行する位置に対応するプログラミングブロック120上に、1又は複数の機能設定ブロック120Fが積み重なるように連結接続されることにより、連結接続されたプログラミングブロック120のブロックI/F部122を介して当該機能設定ブロック120Fが有する機能情報がスタートブロック120Sに送信される。   In addition, by connecting one or a plurality of function setting blocks 120F in a stacked manner on the programming block 120 corresponding to a position where a desired function operation is executed, the block I / F of the connected programming block 120 is connected. The function information of the function setting block 120F is transmitted to the start block 120S via the unit 122.

これにより、プログラム生成、実行処理において、複数のプログラミングブロック120により決定された仮想経路に対応する移動経路に沿ってターゲット機器200が移動し、機能設定ブロック120Fが積み重ねられたプログラミングブロック120の位置に対応する移動経路上の位置にターゲット機器200が到達すると、機能設定ブロック120Fに設定された1又は複数の機能動作を実行する。ここで、図14(a)においては、一のプログラミングブロック120上に1個の機能設定ブロック120Fが積み重ねられて、ターゲット機器200の機能動作として特定の楽音を発生する場合を示し、図14(b)においては、一のプログラミングブロック120上に2個の機能設定ブロック120Fが積み重ねられて、ターゲット機器200の機能動作として特定の発光色で発光するとともに、特定の位置で回転する場合を示す。   Thereby, in the program generation and execution process, the target device 200 moves along the movement path corresponding to the virtual path determined by the plurality of programming blocks 120, and the function setting block 120F is stacked at the position of the programming block 120 stacked. When the target device 200 reaches the position on the corresponding movement route, one or a plurality of functional operations set in the function setting block 120F are executed. Here, FIG. 14A shows a case where one function setting block 120F is stacked on one programming block 120 to generate a specific musical sound as a functional operation of the target device 200. FIG. In b), two function setting blocks 120F are stacked on one programming block 120 to emit light with a specific emission color as a functional operation of the target device 200 and rotate at a specific position.

なお、図14に示したターゲット機器の機能動作の設定方法においては、仮想経路を形成する任意のプログラミングブロック120上に、同一の外形形状及び寸法を有するとともに、所望の機能動作が設定された機能設定ブロック120Fを積み重ねて連結接続する形態を示した。本発明はこれに限定されるものではなく、プログラミングブロック120上に積み重ねて連結接続される機能設定ブロック120Fと同等の、機能動作を設定する機能を有しているものであれば、プログラミングブロック120と同一の外形形状や寸法を有していないものであってもよい。すなわち、1以上の任意の機能動作を設定するための機能情報と固有の識別情報とを有するとともに、プログラミングブロック120の立方体の各面に対して良好に密着又は吸着して接続され、かつ、視覚的に識別可能な形状や色彩等を有するマーカ等を適用するものであってもよい。   In the method for setting the functional operation of the target device shown in FIG. 14, a function having the same external shape and dimensions and a desired functional operation set on an arbitrary programming block 120 forming the virtual path. The configuration in which the setting blocks 120F are stacked and connected together is shown. The present invention is not limited to this, and the programming block 120 may be used as long as it has a function setting function operation equivalent to the function setting block 120F stacked and connected on the programming block 120. They may not have the same outer shape and dimensions. In other words, it has functional information for setting one or more arbitrary functional operations and unique identification information, and is well connected or adsorbed to each surface of the cube of the programming block 120, and visually Alternatively, a marker having a shape, color, or the like that can be identified can be applied.

また、上記のマーカを利用した形態の他の例として、マーカは固有の識別情報のみを有し、また、仮想経路を形成する複数のプログラミングブロック120とは別の場所に、当該マーカに対応付けて1以上の任意の機能動作を設定するための機能情報を用意しておき、スタートブロック120Sやコアユニット160においてマーカの識別情報を認識することにより、用意された機能情報を受信して、プログラムの生成に使用するものであってもよい。さらに、他の形態として、上記のマーカは実体のある物品でもよいし、例えば任意のプログラミングブロック120の立方体の各面への接触又は押下により、識別変移部124が変移すること(例えば発光や画像の表示)により認識される実体のないものであってもよい。   In addition, as another example of the form using the marker, the marker has only unique identification information, and is associated with the marker in a place different from the plurality of programming blocks 120 forming the virtual path. Function information for setting one or more arbitrary function operations is prepared, and the prepared function information is received by recognizing the marker identification information in the start block 120S or the core unit 160, and the program is received. It may be used to generate Furthermore, as another form, the marker may be an actual article. For example, the identification transition unit 124 may be moved by touching or pressing any surface of the cube of the arbitrary programming block 120 (for example, light emission or image). It may be an entity that is not recognized by the display).

また、ターゲット機器の機能動作の設定方法の他の例としては、機能設定ブロック120Fとなるプログラミングブロック120の記憶部126に、複数の機能動作を規定する機能情報を予め記憶し、ソフトウェアによる設定変更やプログラミングブロック120の外面に設けられた切替スイッチの操作、重力センサや加速度センサによる傾きや衝撃の検知等により、当該複数の機能動作のうちから所望の機能動作を選択して実行可能なように設定するものであってもよい。なお、この形態においては、各プログラミングブロック120は、図示を省略した切替スイッチや上記の各種センサを予め備えている。   In addition, as another example of the setting method of the function operation of the target device, function information defining a plurality of function operations is stored in advance in the storage unit 126 of the programming block 120 serving as the function setting block 120F, and setting change by software The desired function operation can be selected and executed from among the plurality of function operations by operating a changeover switch provided on the outer surface of the programming block 120, detecting a tilt or impact by a gravity sensor or an acceleration sensor, etc. It may be set. In this embodiment, each programming block 120 is previously provided with a changeover switch (not shown) and the various sensors described above.

ここで、複数の機能動作から所望の機能動作を選択して設定する手法としては、例えば、プログラミングブロック120の外面にボタンスイッチやタッチセンサを設け、ユーザによる当該スイッチやセンサへの接触又は押下の回数や、その時間に応じて、機能動作をトグル切り換え(例えば、1つの機能動作のオン、オフ、又は、2つ以上の異なる機能動作の順次切り換え)をする形態を適用することができる。また、他の形態として、ユーザによる外面のボタンスイッチやタッチセンサへの接触又は押下の際の力の大きさや、ダブルクリックなどの操作の種類に応じて、機能動作を切り換えて設定するものであってもよい。   Here, as a method of selecting and setting a desired functional operation from a plurality of functional operations, for example, a button switch or a touch sensor is provided on the outer surface of the programming block 120, and the user touches or presses the switch or sensor. It is possible to apply a form in which the functional operation is toggle-switched (for example, one functional operation is turned on or off, or two or more different functional operations are sequentially switched) depending on the number of times and the time. As another form, the function operation is switched and set according to the magnitude of the force when the user touches or presses the button switch or touch sensor on the outer surface or the type of operation such as double click. May be.

また、さらに他の形態として、例えば立方体形状を有するプログラミングブロック120において、立方体の6面の各々に異なる機能動作を対応付けて、各機能動作を規定する機能情報を記憶部126の記憶領域に記憶した形態を有するものであってもよい。そして、ユーザが当該プログラミングブロック120の任意の面を、前方側のプログラミングブロック120又はスタートブロック120Sに連結接続した状態を、ブロックI/F部122の連結検知部により検知することにより、複数種類の機能動作の中から当該面に対応付けられた機能動作を設定するものであってもよい。   As yet another form, for example, in the programming block 120 having a cubic shape, different functional operations are associated with each of the six faces of the cube, and functional information defining each functional operation is stored in the storage area of the storage unit 126. It may have the form. The user detects a state where an arbitrary surface of the programming block 120 is connected to the front programming block 120 or the start block 120S by the connection detection unit of the block I / F unit 122. A function operation associated with the surface may be set from among the function operations.

なお、本実施形態においては、コアユニット160にスタートブロック120Sを接続し、当該スタートブロック120Sを始点として、ターゲット機器200の移動経路に対応させて複数のプログラミングブロック120を二次元形状(平面的配置)又は三次元形状(立体的配置)に連結接続する場合について説明した。本発明はこの形態に限定されるものではなく、仮想経路を形成する複数のプログラミングブロック120が直接コアユニット160に接続されているものであってもよい。但し、この場合には、連結接続される複数のプログラミングブロック120の配置形状がコアユニット160に干渉しないことを前提とする。   In the present embodiment, a start block 120S is connected to the core unit 160, and a plurality of programming blocks 120 are arranged in a two-dimensional shape (planar arrangement) corresponding to the movement path of the target device 200, starting from the start block 120S. ) Or three-dimensional shape (three-dimensional arrangement) has been described. The present invention is not limited to this form, and a plurality of programming blocks 120 forming a virtual path may be directly connected to the core unit 160. However, in this case, it is assumed that the arrangement shape of the plurality of programming blocks 120 connected and connected does not interfere with the core unit 160.

なお、本実施形態においては、図1に示したように、コアユニット160としてプログラミングブロック120に非接触型又は接触型のインターフェースを介して接続される専用の装置を適用した場合について説明したが、本発明はこの形態に限定されるものではなく、スマートフォンやタブレット等の汎用のモバイル端末を適用するものであってもよい。すなわち、近年市販されている汎用のモバイル端末は、上述したコアユニット160が有する全ての構成(操作部162、外部I/F部164、記憶部166、通信I/F部168、制御部170、電源部172)を備えている。したがって、このようなモバイル端末に、スタートブロック120S及びプログラミングブロック120により取得された入力操作情報に基づいて、ターゲット機器200の動作状態を制御するためのプログラムを生成するための専用のアプリケーションソフトウェア(コンパイラ)をインストールすることにより、汎用のモバイル端末(命令生成部)を上述したコアユニット160として適用することができる。ここで、コアユニット160として汎用のモバイル端末を適用する場合には、上記のコンパイラに加え、プログラミングブロック120(機能設定ブロック120Fを含む)やターゲット機器200の各種のパラメータを設定するためのソフトウェアや、上記の入力操作情報を汎用言語(テキスト)にコード変換するソフトウェア等をインストールするものであってもよい。   In the present embodiment, as illustrated in FIG. 1, a case has been described in which a dedicated device connected to the programming block 120 via a non-contact type or contact type interface is applied as the core unit 160. This invention is not limited to this form, You may apply general-purpose mobile terminals, such as a smart phone and a tablet. That is, a general-purpose mobile terminal that is commercially available in recent years has all the configurations (operation unit 162, external I / F unit 164, storage unit 166, communication I / F unit 168, control unit 170, A power supply unit 172). Therefore, dedicated application software (compiler) for generating a program for controlling the operation state of the target device 200 based on the input operation information acquired by the start block 120S and the programming block 120 in such a mobile terminal. ) Is installed, a general-purpose mobile terminal (command generation unit) can be applied as the core unit 160 described above. Here, when a general-purpose mobile terminal is applied as the core unit 160, in addition to the above-described compiler, software for setting various parameters of the programming block 120 (including the function setting block 120F) and the target device 200, Software that converts the input operation information into a general-purpose language (text) or the like may be installed.

次に、上述した実施形態に係るプログラム制御装置を有するプログラミング教育装置の各種の変形例について説明する。
<変形例1>
図15は、本実施形態に係るプログラミング教育装置におけるプログラミング操作及びプログラム生成、実行方法の変形例(リアルタイムモード)を示すフローチャートである。図16、図17は、本変形例に適用されるプログラミング操作処理及びプログラム生成、実行処理を説明するための概略図である。ここで、上述した実施形態と同等の構成についてはその説明を簡略化する。
Next, various modifications of the programming education apparatus having the program control apparatus according to the above-described embodiment will be described.
<Modification 1>
FIG. 15 is a flowchart showing a modified example (real-time mode) of the programming operation, program generation, and execution method in the programming education apparatus according to the present embodiment. 16 and 17 are schematic diagrams for explaining a programming operation process, a program generation process, and an execution process applied to this modification. Here, the description of the configuration equivalent to the above-described embodiment is simplified.

上述した実施形態に係るプログラミング教育装置におけるプログラミング操作及びプログラム生成、実行方法においては、プログラミング操作処理において、ターゲット機器200の全移動経路を決定するとともに、全ての機能動作を設定した後、プログラム生成処理及びプログラム実行処理を実行するノーマルモードについて説明した。本変形例においては、上述したノーマルモードに加え、プログラミング操作処理において、一操作分の入力操作を行うたびに、当該一操作分のプログラムを生成してターゲット機器200に転送して実行するリアルタイムモードを有し、ユーザが任意のモードを選択してプログラミング学習を行う。   In the programming operation and program generation and execution method in the programming education device according to the above-described embodiment, in the programming operation process, all the movement paths of the target device 200 are determined, and after all the functional operations are set, the program generation process The normal mode for executing the program execution process has been described. In the present modification, in addition to the normal mode described above, in the programming operation process, every time an input operation for one operation is performed, a program for the one operation is generated, transferred to the target device 200, and executed. The user selects an arbitrary mode to perform programming learning.

(プログラミング操作処理)
本変形例に係るプログラミング教育装置におけるプログラミング操作処理においては、図15のフローチャートに示すように、まず、ユーザは、スタートブロック120Sとコアユニット160とを接続してプログラム制御装置100を起動するとともに、ターゲット機器200を起動する(ステップS202)。
(Programming operation processing)
In the programming operation process in the programming education device according to this modification, as shown in the flowchart of FIG. 15, first, the user starts the program control device 100 by connecting the start block 120S and the core unit 160, and The target device 200 is activated (step S202).

次いで、コアユニット160の制御部170は、ユーザにより図16(a)に示すようなモード切換スイッチ119が操作されて、ノーマルモードに設定されたか、リアルタイムモードに設定されたかを判定する(ステップS204)。ここで、モード切換スイッチ119は、上述した実施形態に示したノーマルモードでの処理動作、又は、後述するリアルタイムモードでの処理動作のいずれを実行するかを選択するスイッチであって、例えばプッシュスイッチやスライドスイッチが適用される。ここで、モード切換スイッチ119としてプッシュスイッチを適用した場合には、ユーザがモード切換スイッチ119を押下操作しない場合(ステップS204のNo)には、初期設定(デフォルト)であるノーマルモードが保持され、押下操作した場合(ステップS204のYes)には、ノーマルモードからリアルタイムモードに切り換え設定される。また、モード切換スイッチ119は、リアルタイムモードに切り換え設定された状態で、ユーザが押下操作した場合には、リアルタイムモードから再度ノーマルモードに切り換え設定される。すなわち、モード切換スイッチ119は、押下操作のたびにノーマルモードとリアルタイムモードとが交互に切り換え設定される。   Next, the control unit 170 of the core unit 160 determines whether the mode changeover switch 119 as shown in FIG. 16A is operated by the user to set the normal mode or the real time mode (step S204). ). Here, the mode change-over switch 119 is a switch for selecting whether to perform the processing operation in the normal mode or the processing operation in the real-time mode described later, for example, a push switch. And slide switches are applied. Here, when a push switch is applied as the mode changeover switch 119, when the user does not depress the mode changeover switch 119 (No in step S204), the normal mode which is the initial setting (default) is maintained, When the pressing operation is performed (Yes in step S204), the normal mode is switched to the real time mode. In addition, when the user presses the mode changeover switch 119 while being switched to the real time mode, the mode change switch 119 is switched from the real time mode to the normal mode again. That is, the mode changeover switch 119 is alternately set between the normal mode and the real-time mode every time the pressing operation is performed.

制御部170は、モード切換スイッチ119によりノーマルモードが設定されたと判定した場合には、上述した実施形態において図4に示したフローチャートのステップS106以降の処理動作を実行する。一方、制御部170は、モード切換スイッチ119によりリアルタイムモードが設定されたと判定した場合には、ステップS206以降の処理動作を実行する。   When it is determined that the normal mode is set by the mode changeover switch 119, the control unit 170 executes the processing operations after step S106 in the flowchart shown in FIG. 4 in the above-described embodiment. On the other hand, when it is determined that the real-time mode is set by the mode changeover switch 119, the control unit 170 executes processing operations after step S206.

なお、このステップS204におけるモードの切り換え設定に係る処理動作は、上述した実施形態に示した図4のフローチャートにおいても同様に実行され、ステップS104においてユーザがモード切換スイッチ119を押下操作しない場合には、初期設定であるノーマルモードが保持されてステップS106以降の処理動作が実行され、ユーザがモード切換スイッチ119を押下操作して、ノーマルモードからリアルタイムモードに切り換え設定された場合には、以下のステップS206以降の処理動作が実行される。   Note that the processing operation related to the mode switching setting in step S204 is executed in the same manner in the flowchart of FIG. 4 shown in the above-described embodiment, and when the user does not press down the mode switching switch 119 in step S104. When the normal mode, which is the initial setting, is maintained, the processing operation after step S106 is executed, and when the user presses the mode switch 119 to switch from the normal mode to the real time mode, the following steps are performed. Processing operations after S206 are executed.

リアルタイムモードが設定された場合には、ユーザは、プログラミングブロック120を用いて、ターゲット機器200の移動経路を決定し、又は、ターゲット機器200における機能動作を設定するプログラミング操作処理を実行する(ステップS206)。   When the real-time mode is set, the user uses the programming block 120 to determine a movement path of the target device 200 or to execute a programming operation process for setting a functional operation in the target device 200 (step S206). ).

具体的には、ターゲット機器200の移動経路を決定するプログラミング操作処理においては、図16(a)に示すように、ユーザが、ターゲット機器200を動作させる際の移動経路をイメージして、コアユニット160に接続されたスタートブロック120Sを移動経路に対応する仮想経路の始点(スタート)として、移動経路の終点側となる方向に、ターゲット機器200を一操作分だけ動作させるための移動経路に対応するプログラミングブロック120を連結接続する。また、ターゲット機器200における機能動作を設定するプログラミング操作処理においては、図17(b)に示すように、ユーザが、ターゲット機器200により特定の機能動作を実行する位置に、当該機能動作が設定された機能設定ブロック120Fを連結接続する。   Specifically, in the programming operation process for determining the movement route of the target device 200, as shown in FIG. 16A, the user can imagine the movement route when the target device 200 is operated, and the core unit The start block 120S connected to 160 is used as the starting point (start) of the virtual route corresponding to the moving route, and corresponds to the moving route for operating the target device 200 for one operation in the direction toward the end point of the moving route. The programming blocks 120 are connected to each other. Further, in the programming operation process for setting the functional operation in the target device 200, as shown in FIG. 17B, the functional operation is set at the position where the user executes the specific functional operation by the target device 200. The function setting block 120F is connected and connected.

ユーザが、上記のようなプログラミング操作を行うと、スタートブロック120SのブロックI/F部122により、プログラミングブロック120が連結接続されているか否かを検知し、スタートブロック120Sとプログラミングブロック120との連結状態を特定する連結特定情報を取得することにより、図16(a)に示すように、ターゲット機器200の移動経路の一操作分に対応する仮想経路が決定される。また、スタートブロック120S又は前方側のプログラミングブロック120のブロックI/F部122により、機能設定ブロック120Fが連結接続されているか否かを検知し、機能設定ブロック120Fとの連結状態を特定する連結特定情報、及び、機能設定ブロック120Fが有する機能情報を取得することにより、図17(b)に示すように、ターゲット機器200の移動経路の一操作分に対応する仮想経路が決定されるとともに、ターゲット機器200の機能動作が設定される。   When the user performs a programming operation as described above, the block I / F unit 122 of the start block 120S detects whether or not the programming block 120 is connected and connected, and the start block 120S and the programming block 120 are connected. By acquiring the connection specifying information for specifying the state, a virtual route corresponding to one operation of the moving route of the target device 200 is determined as shown in FIG. In addition, the block I / F unit 122 of the start block 120S or the front programming block 120 detects whether or not the function setting block 120F is connected and connected, and specifies the connection state with the function setting block 120F. By acquiring the information and the function information included in the function setting block 120F, a virtual path corresponding to one operation of the movement path of the target device 200 is determined as shown in FIG. The functional operation of the device 200 is set.

このとき、スタートブロック120Sの制御部128は、ブロックI/F部122により取得された一操作分のプログラミングブロック120が有するブロック情報と連結特定情報、又は、機能設定ブロック120Fが有するブロック情報と連結特定情報を取得して記憶部126の記憶領域に記憶する。また、制御部128は、当該プログラミングブロック120又は機能設定ブロック120Fの識別変移部124を所定の発光状態で発光させたり、表示画像を変化させたりして視覚的に識別可能な状態に変移させる(図16(a)中では便宜的に濃いハーフトーン、図17(b)中では便宜的に濃いハッチングで表記)。   At this time, the control unit 128 of the start block 120S connects the block information and the connection specifying information included in the programming block 120 for one operation acquired by the block I / F unit 122, or the block information included in the function setting block 120F. The specific information is acquired and stored in the storage area of the storage unit 126. Further, the control unit 128 causes the identification transition unit 124 of the programming block 120 or the function setting block 120F to emit light in a predetermined light emission state or change the display image so as to be visually identifiable ( In FIG. 16 (a), for the sake of convenience, dark halftone is used, and in FIG. 17 (b), for convenience, it is expressed by dark hatching.

(プログラム生成、実行処理)
次いで、プログラム生成、実行処理においては、コアユニット160の制御部170が、上述したプログラミング操作処理においてスタートブロック120Sにより取得された一操作分のブロック情報と連結特定情報とを有する入力操作情報を、プログラミング操作の一操作(ステップ)ごとに受信する(ステップS208)。
(Program generation and execution processing)
Next, in the program generation and execution process, the control unit 170 of the core unit 160 obtains the input operation information including the block information for one operation acquired by the start block 120S and the connection specifying information in the above-described programming operation process. It is received for each operation (step) of the programming operation (step S208).

次いで、コアユニット160の制御部170は、受信した一操作分の入力操作情報に基づいて、ターゲット機器200の動作状態(移動又は機能動作)を制御するための命令を有する一操作分のプログラムを生成する(ステップS210)。   Next, the control unit 170 of the core unit 160 creates a program for one operation having a command for controlling the operation state (movement or functional operation) of the target device 200 based on the received input operation information for one operation. Generate (step S210).

次いで、図16(a)、図17(b)に示すように、制御部170が、生成された一操作分のプログラムをターゲット機器200に転送することにより(ステップS212)、ターゲット機器200において、当該一操作分のプログラムが実行されて、ターゲット機器200が移動経路に沿って一操作分だけ移動するステップ動作、又は、ターゲット機器200が移動経路上の特定の位置で一操作分の機能動作を実行するステップ動作が行われる(ステップS214)。   Next, as shown in FIGS. 16A and 17B, the control unit 170 transfers the generated program for one operation to the target device 200 (step S212). The program for one operation is executed, and the target device 200 performs a step operation in which the target device 200 moves by one operation along the movement route, or the target device 200 performs a function operation for one operation at a specific position on the movement route. A step operation to be executed is performed (step S214).

このようなターゲット機器200の動作状態を制御するためのプログラミング操作処理、及び、プログラム生成、実行処理は、ターゲット機器200が移動経路の終点位置に移動してプログラミング操作が終了するまで、図15(a)、(b)及び図16(a)、(b)に示すように、一操作ごとに繰り返し実行される。(ステップS216)。なお、制御部170は、移動経路の終点(ゴール)が指示されたり、終端ブロック120Gが連結接続されたりしたことに応じて、プログラミング操作が終了したと判定する。他の例では、制御部170は、プログラミング操作中の任意のタイミングで、コアユニット160の実行停止スイッチ186の押下操作を受け付けたことに応じて、プログラミング操作が終了したと判定してもよい。   Such programming operation processing for controlling the operating state of the target device 200, and program generation and execution processing are performed until the target device 200 moves to the end position of the movement path and the programming operation is completed (see FIG. 15). As shown in a), (b) and FIGS. 16 (a), (b), it is repeatedly executed for each operation. (Step S216). Note that the control unit 170 determines that the programming operation has ended in response to an instruction of the end point (goal) of the movement path or the connection of the end block 120G. In another example, the control unit 170 may determine that the programming operation has ended in response to receiving the pressing operation of the execution stop switch 186 of the core unit 160 at an arbitrary timing during the programming operation.

このように、本変形例によれば、ノーマルモードとリアルタイムモードとを任意に切り換えることにより、ターゲット機器200の動作状態を制御するためのプログラミング操作処理における操作内容や、プログラムの実行状態を一括して、又は、一操作ごとに視覚を通して把握することができるので、直感的かつ多面的に理解し易くなり、プログラミングの学習効果の向上を期待することができる。   As described above, according to the present modification, the operation content in the programming operation process for controlling the operation state of the target device 200 and the execution state of the program are collectively switched by arbitrarily switching between the normal mode and the real time mode. Or can be grasped through vision for each operation, so that it becomes easy to understand intuitively and multifacetedly, and an improvement in the learning effect of programming can be expected.

<変形例2>
図18は、本実施形態に係るプログラミング教育装置におけるプログラミング操作に適用される機能動作の変形例(条件分岐、繰り返し、関数、イベント)を示す概略図である。ここで、上述した実施形態と同等の構成についてはその説明を簡略化する。
<Modification 2>
FIG. 18 is a schematic diagram showing a modification (conditional branching, repetition, function, event) of the functional operation applied to the programming operation in the programming education device according to the present embodiment. Here, the description of the configuration equivalent to the above-described embodiment is simplified.

上述した実施形態においては、ターゲット機器200に実行させる機能動作として、移動経路上での移動を伴わない機能動作(アクション)を設定する場合について説明した。本変形例においては、アクション以外の他の機能動作に関する機能情報を、仮想経路上のプログラミングブロック120に設定することにより、ターゲット機器200を多様な動作状態で制御するプログラミング学習を行う。   In the above-described embodiment, a case has been described in which a functional operation (action) that does not involve movement on the movement path is set as the functional operation to be executed by the target device 200. In this modification, programming learning for controlling the target device 200 in various operating states is performed by setting functional information related to functional operations other than actions in the programming block 120 on the virtual path.

本変形例に係るプログラミング操作に適用されるプログラミングブロック120には、上述した実施形態に示した機能動作である「アクション」の他に、「条件分岐」、「繰り返し」、「関数」、「イベント」の4種類の機能動作が設定される。以下、各機能動作について説明する。   The programming block 120 applied to the programming operation according to this modification includes “conditional branch”, “repetition”, “function”, “event” in addition to “action” which is the functional operation shown in the above-described embodiment. 4 types of functional operations are set. Hereinafter, each functional operation will be described.

「条件分岐」が機能動作として設定されたプログラミングブロック(以下、「条件分岐ブロック」と記す)120Aは、図18(a)に示すように、仮想経路を形成する任意のプログラミングブロック120に直接、又は、条件分岐ブロック120Aを任意のプログラミングブロック120上に積み重ねて連結接続して、当該機能動作に関する機能情報を設定することにより、当該プログラミングブロック120に対応する移動経路上の位置におけるターゲット機器200が条件分岐の機能動作を実行するように設定される。ここで、条件分岐とは、当該機能動作に関連して予め指定された条件により、条件分岐ブロック120Aが連結接続された位置以降のプログラムの実行状態が異なるような動作である。例えば図18(a)では、条件に応じて、ターゲット機器200が移動する経路が分岐する。   As shown in FIG. 18A, a programming block in which “conditional branch” is set as a functional operation (hereinafter, referred to as “conditional branch block”) 120A is directly connected to an arbitrary programming block 120 that forms a virtual path. Alternatively, the conditional branch block 120A is stacked and connected on an arbitrary programming block 120, and the function information related to the functional operation is set, so that the target device 200 at the position on the movement path corresponding to the programming block 120 is Set to execute a conditional branch function operation. Here, the conditional branch is an operation in which the execution state of the program after the position where the conditional branch block 120A is connected and connected differs depending on a condition specified in advance in relation to the functional operation. For example, in FIG. 18A, the path along which the target device 200 moves is branched according to the conditions.

条件としては、例えば、ターゲット機器200に備えられた照度センサにより検出された照度が予め定めた値よりも大きいか否かに応じて、異なる動作を行うものであってよい。また、条件分岐ブロック120Aが連結接続されたプログラミングブロック120に対応する位置までターゲット機器200が移動すると、そこでターゲット機器200が一時停止するようにしてもよい。また、ターゲット機器200がマイクロフォンを備えており、その一時停止中にユーザが手を叩いた音を検出し、検出した音の回数に応じて、異なる動作を行うものであってよい。なお、これらは一例に過ぎず、他の条件を適用してよいことは言うまでもない。   As a condition, for example, different operations may be performed depending on whether or not the illuminance detected by the illuminance sensor provided in the target device 200 is larger than a predetermined value. Further, when the target device 200 moves to a position corresponding to the programming block 120 to which the conditional branch block 120A is connected and connected, the target device 200 may be temporarily stopped there. In addition, the target device 200 may include a microphone, detect a sound that the user has struck during the pause, and perform different operations depending on the number of detected sounds. Needless to say, these are merely examples, and other conditions may be applied.

なお、条件の設定方法は、次のようなものを適用することができる。 例えば、条件分岐ブロック120A自体がプログラマブルな構造であり、そこに条件を設定できるような機器、具体的には音を検知するのか光を検知するのか、また音であれば回数に応じてどう動作を行うのかを設定できる機器を用いる。 また、例えば、条件分岐ブロック120Aの上にさらに、上述のような様々な条件のうちのいずれかの条件が予め指定された、別のプログラミングブロック120を積み重ねる。 また、例えば、条件分岐ブロック120A自体に、上述のいずれかの条件が組み込まれているものを用いる。   In addition, the following can be applied as a condition setting method. For example, the conditional branch block 120A itself has a programmable structure, and a device that can set conditions there, specifically, whether to detect sound or light, and how to operate according to the number of times if it is sound Use a device that can set whether to perform. Further, for example, another programming block 120 in which any one of the various conditions as described above is specified in advance is stacked on the conditional branch block 120A. Further, for example, a conditional branch block 120A itself in which any of the above conditions is incorporated is used.

「繰り返し」が機能動作として設定されたプログラミングブロック(以下、「繰り返しブロック」と記す)は、仮想経路を形成する任意のプログラミングブロック120に直接、又は、繰り返しブロックを任意のプログラミングブロック120上に積み重ねて連結接続して、当該機能動作に関する機能情報を設定することにより、当該プログラミングブロック120に対応する移動経路上の位置におけるターゲット機器200が繰り返しの機能動作を実行するように設定される。ここで、繰り返しとは、同じ経路を指定回数だけ繰り返し移動する動作である。   A programming block in which “repetition” is set as a functional operation (hereinafter referred to as “repetition block”) is directly stacked on any programming block 120 forming a virtual path, or a repetition block is stacked on any programming block 120. By connecting and connecting and setting function information related to the function operation, the target device 200 at a position on the movement path corresponding to the programming block 120 is set to execute a repeated function operation. Here, the repetition is an operation of repeatedly moving the same route a specified number of times.

なお、繰り返しブロックの構成や設定方法は、次のようなものを適用することができる。 例えば、図18(b)に示すように、繰り返し元ブロック120Bと繰り返し先ブロック120Cとを用い、仮想経路を形成する任意のプログラミングブロック120に直接、又は、当該機能動作に関する機能情報を設定した繰り返し元ブロック120Bと繰り返し先ブロック120Cを任意のプログラミングブロック120上に積み重ねて連結接続することにより、ターゲット機器200が移動経路上の繰り返し元位置まで進んだら、繰り返し先位置へ戻る動作を、指定回数(例えば3回)だけ行う。   In addition, the following can be applied to the configuration and setting method of the repeated block. For example, as shown in FIG. 18B, the repetition source block 120B and the repetition destination block 120C are used, and the repetition is performed directly in an arbitrary programming block 120 that forms a virtual path or the function information related to the function operation is set. By stacking and connecting the original block 120B and the repetition destination block 120C on an arbitrary programming block 120, when the target device 200 advances to the repetition source position on the movement path, the operation of returning to the repetition destination position is performed a specified number of times ( For example, 3 times).

また、例えば、繰り返し元ブロック120Bのみを用い、仮想経路を形成する任意のプログラミングブロック120を繰り返し元に設定することにより、ターゲット機器200が移動経路上の繰り返し元位置まで進んだら、無条件でスタート位置に戻る動作を、指定回数だけ行う。   Also, for example, by using only the repetition source block 120B and setting any programming block 120 that forms a virtual path as the repetition source, the target device 200 starts unconditionally when it reaches the repetition source position on the movement path. The operation to return to the position is performed a specified number of times.

なお、繰り返し回数の指定方法としては、例えば、予め繰返し回数の規定されている繰り返しブロックを用いる形態や、繰り返しの回数を規定する回数ブロックを用い、繰り返し元ブロック120Bの上に回数ブロックを積み重ねる形態を適用することができる。さらに、別の繰り返し回数の指定方法としては、繰り返しブロックに設けられたダイヤルにより、繰り返し回数を指定する形態や、繰り返しブロックにテンキーと表示画面を設け、繰り返し回数を指定する形態、繰り返しブロックにカウンターボタンと表示画面を設け、カウンターボタンを押下することにより、繰り返し回数を指定する形態等を適用することができる。   As a method for specifying the number of repetitions, for example, a form using a repetition block in which the number of repetitions is defined in advance, or a form in which the number of blocks defining the number of repetitions is used and the number of blocks is stacked on the repetition source block 120B. Can be applied. Furthermore, as another method of specifying the number of repetitions, a form in which the number of repetitions is specified by a dial provided in the repetition block, a form in which a numeric keypad and a display screen are provided in the repetition block, the number of repetitions is specified, and a counter in the repetition block By providing a button and a display screen and pressing the counter button, a form for designating the number of repetitions can be applied.

「関数」が機能動作として設定されたプログラミングブロック(以下、「関数ブロック」と記す)120Dは、図18(c)に示すように、仮想経路を形成する任意のプログラミングブロック120に直接、又は、関数ブロック120Dを任意のプログラミングブロック120上に積み重ねて連結接続して、当該機能動作に関する機能情報を設定することにより、当該プログラミングブロック120に対応する移動経路上の位置におけるターゲット機器200が関数の機能動作を実行するように設定される。ここで、「関数」とは例えば、上述した実施形態に示したような様々な「アクション」の1つ以上をひとまとまりにしたものである。関数の機能動作の実行が設定されたプログラミングブロック120に対応する移動経路上の位置へターゲット機器200が移動したときに、その位置において、そのひとまとまりの「アクション」がまとめて実行される。具体的には、例えば、「その場で90°右へ回転する」、「予め定めた楽音を鳴らす」、「撮影する」、「その場で90°左へ回転する」という4つの「アクション」がひとまとまりになって一つの「関数」が構成されていて、ターゲット機器200が上記の位置へ移動すると、その位置でこれら4つの「アクション」を順次実行する。   A programming block 120D in which “function” is set as a functional operation (hereinafter referred to as “function block”) 120D is directly connected to any programming block 120 that forms a virtual path, as shown in FIG. The function block 120D is stacked on and connected to an arbitrary programming block 120, and the function information related to the functional operation is set, so that the target device 200 at the position on the movement path corresponding to the programming block 120 functions. Set to perform an action. Here, the “function” is, for example, a group of one or more of various “actions” as shown in the above-described embodiment. When the target device 200 moves to a position on the movement path corresponding to the programming block 120 in which execution of the functional operation of the function is set, the group of “actions” are collectively executed at the position. Specifically, for example, four “actions” such as “rotate 90 ° right on the spot”, “sound a predetermined tone”, “shoot”, and “turn 90 ° left on the spot”. When the target device 200 moves to the above position, the four “actions” are sequentially executed at that position.

このような「関数」の具体的内容は、例えば図18(c)に示すように、連結接続されたプログラミングブロック120の集合体とは別の場所で、任意の「アクション」が設定された1以上の機能設定ブロック120Fを接続(連結配置)するというプログラミング操作により指定される。このように別の場所で連結配置されたひとまとまりの1以上のプログラミングブロック120のことを、関数本体142という。関数本体142は、始点ブロックBLsと終点ブロックBLeとを含み、それらの間に、ユーザが所望する「アクション」を指定する1以上の機能設定ブロック120Fが連結配置されている。プログラミング実行時にはターゲット機器200は、始点ブロックBLsと終点ブロックBLeとの間に配置された「アクション」をそれらの並び順に実行する。   For example, as shown in FIG. 18C, the specific content of such a “function” is 1 in which an arbitrary “action” is set at a place different from the assembly of the connected programming blocks 120. The function setting block 120F is specified by a programming operation of connecting (linking arrangement). A group of one or more programming blocks 120 connected and arranged at different locations in this way is called a function body 142. The function main body 142 includes a start point block BLs and an end point block BLe, and one or more function setting blocks 120F for designating an “action” desired by the user are connected and arranged therebetween. When executing the programming, the target device 200 executes “actions” arranged between the start point block BLs and the end point block BLe in the order of arrangement.

なお、図18(c)に示すように、プログラミング操作により仮想経路を形成する、連結接続された複数のプログラミングブロック120のうちの2以上のプログラミングブロック120に、同一の関数ブロック120Dを連結接続してもよい。これにより、プログラミング実行時に移動経路上の異なる位置で複数回にわたって、同じひとまとまりのアクションをターゲット機器200に実行させたい場合、一つの関数をプログラミングして、且つ、上記の異なる位置に対応する複数のプログラミングブロック120に、そのひとまとまりのアクションに対応する関数ブロック120Dを連結接続するだけでよい。このため、同じひとまとまりのアクションを複数回プログラミング操作する必要がなく、プログラミング時の操作量が低減されるとともに、関数を使ったプログラミングの学習効果の向上を期待することができる。   As shown in FIG. 18C, the same function block 120D is concatenated and connected to two or more programming blocks 120 of a plurality of concatenated programming blocks 120 that form a virtual path by a programming operation. May be. Thereby, when it is desired to cause the target device 200 to execute the same batch of actions multiple times at different positions on the movement path at the time of programming execution, a single function is programmed and a plurality of numbers corresponding to the different positions described above are programmed. It is only necessary to connect the function block 120D corresponding to the group of actions to the programming block 120. For this reason, it is not necessary to perform the programming operation for the same action a plurality of times, the amount of operation during programming is reduced, and an improvement in the learning effect of programming using functions can be expected.

また、互いに異なる内容を指定する二種以上の関数ブロック120Dを、仮想経路を形成する2以上のプログラミングブロック120にそれぞれ連結接続してもよいし、一つのプログラミングブロック120に同じ又は異なる関数ブロック120Dを複数連結接続してもよい。上述のように二種以上の関数ブロック120Dを用いてプログラミング操作を行う場合は、プログラミング操作時に、各関数ブロック120Dと少なくとも各始点ブロックBLsとを互いに無線又は有線によりペアリングする操作を行う。これにより、プログラミング実行時に、各関数ブロック120Dにペアリングされた始点ブロックBLsを含む関数本体142の機能設定ブロック120Fにより指定されたひとまとまりのアクションを、ターゲット機器200に実行させることができる。   In addition, two or more types of function blocks 120D that specify different contents may be connected to two or more programming blocks 120 that form a virtual path, or the same or different function blocks 120D may be connected to one programming block 120. May be connected in a plurality. As described above, when a programming operation is performed using two or more types of function blocks 120D, an operation of pairing each function block 120D and at least each starting point block BLs with each other wirelessly or by wire is performed during the programming operation. Thereby, at the time of programming execution, it is possible to cause the target device 200 to execute a group of actions specified by the function setting block 120F of the function body 142 including the start point block BLs paired with each function block 120D.

なお、仮想経路を形成する複数のプログラミングブロック120と、これらのプログラミングブロック120とは別の場所に配置される関数本体142の機能設定ブロック120Fとは非接触型又は接触型のインターフェースを介して接続されて、関数本体142の機能情報がプログラミングブロック120又はスタートブロック120Sに送信される。そして、コアユニット160において、プログラミングブロック120を用いたプログラミング操作により取得した入力操作情報とともに、当該機能情報を加味したプログラムが生成される。   The plurality of programming blocks 120 forming the virtual path and the function setting block 120F of the function main body 142 arranged at a location different from these programming blocks 120 are connected via a non-contact type or contact type interface. Then, the function information of the function body 142 is transmitted to the programming block 120 or the start block 120S. Then, in the core unit 160, a program that takes into account the function information together with the input operation information acquired by the programming operation using the programming block 120 is generated.

「イベント処理」は割り込み処理とも言われ、ターゲット機器200の動作状態を制御するプログラムの実行中の任意のタイミングで、何らかのイベントが発生したことに応じて、ターゲット機器200が実行する処理のことである。そのようなイベントとしては、例えば、ターゲット機器200がプログラム通り動いている途中で障害物等にぶつかったことや、ユーザが「止まれ。」や「進め。」などの音声を発したこと、又は、ターゲット機器200の周囲が急に暗くなったことなどが挙げられるが、これらの例に限られるものではないことは言うまでもない。これら例示したような様々なイベントのいずれかが発生したことをターゲット機器200が検出したことをトリガーとして、そのイベントに対応させて予め設定した機能動作を、ターゲット機器200が実行する。なお、ターゲット機器200だけに限らず、プログラミングブロック120やコアユニット160のいずれかによりイベントの発生を検出する構成であってもよい。   “Event processing” is also referred to as interrupt processing, and is processing performed by the target device 200 in response to occurrence of an event at an arbitrary timing during execution of a program that controls the operation state of the target device 200. is there. As such an event, for example, the target device 200 hits an obstacle or the like while moving according to the program, the user uttered a voice such as “stop” or “progress”, or Although the surroundings of the target device 200 are suddenly darkened, it is needless to say that the present invention is not limited to these examples. Triggered by the target device 200 detecting that any one of these various events has occurred, the target device 200 executes a function operation set in advance corresponding to the event. In addition, not only the target apparatus 200 but the structure which detects generation | occurrence | production of an event by either the programming block 120 or the core unit 160 may be sufficient.

イベント処理は、図18(d)に示すように、仮想経路を形成する複数のプログラミングブロック120とは別の場所で、任意の「アクション」が設定された複数の機能設定ブロック120Fを連結接続するプログラミング操作により実現される。ここで、図18(d)においては、ターゲット機器200がユーザの拍手を検出するとLED等の発光部を点灯させるイベント処理を示す。このように別の場所で連結配置されたひとまとまりの1以上のプログラミングブロック120のことを、イベント処理本体144という。このイベント処理本体144の具体的構成は、上述した関数本体142と同様であるので詳細な説明を省略する。関数ブロック120Dの場合と同様に、互いに異なる内容を指定する二種以上のイベントブロック120Eを、仮想経路を形成する2以上のプログラミングブロック120にそれぞれ連結接続してもよいし、一つのプログラミングブロック120に同じ又は異なるイベントブロック120Eを複数連結接続してもよい。   In the event processing, as shown in FIG. 18D, a plurality of function setting blocks 120F in which arbitrary “actions” are set are connected and connected at a place different from the plurality of programming blocks 120 forming the virtual path. Realized by programming operations. Here, FIG. 18D shows event processing for turning on a light emitting unit such as an LED when the target device 200 detects a user's applause. A group of one or more programming blocks 120 connected and arranged at different locations in this way is called an event processing body 144. Since the specific configuration of the event processing body 144 is the same as that of the function body 142 described above, detailed description thereof will be omitted. Similarly to the function block 120D, two or more types of event blocks 120E that specify different contents may be connected to two or more programming blocks 120 that form a virtual path, or one programming block 120 may be connected. A plurality of the same or different event blocks 120E may be connected to each other.

なお、仮想経路を形成する複数のプログラミングブロック120と、これらのプログラミングブロック120とは別の場所に配置されるイベント処理本体144の機能設定ブロック120Fとは非接触型又は接触型のインターフェースを介して接続されて、イベント処理本体144の機能情報がプログラミングブロック120又はスタートブロック120Sに送信される。そして、コアユニット160において、プログラミングブロック120を用いたプログラミング操作により取得した入力操作情報とともに、当該機能情報を加味したプログラムが生成される。   A plurality of programming blocks 120 forming a virtual path and a function setting block 120F of the event processing body 144 arranged at a place different from these programming blocks 120 are connected via a non-contact type or contact type interface. As a result, the function information of the event processing body 144 is transmitted to the programming block 120 or the start block 120S. Then, in the core unit 160, a program that takes into account the function information together with the input operation information acquired by the programming operation using the programming block 120 is generated.

このように、本変形例によれば、プログラミングブロック120を用いたプログラミング操作において、仮想経路を形成する任意のプログラミングブロック120に直接、又は、上記の機能動作が設定された各ブロック120A〜12Fを任意のプログラミングブロック120上に積み重ねて連結接続する簡易な操作により、「アクション」の「逐次実行」に加え、「条件分岐」、「繰り返し」、「関数」、「イベント」の抽象度がより高い各機能動作をターゲット機器200に実行させるように設定することができる。   As described above, according to the present modification, in the programming operation using the programming block 120, each block 120A to 12F in which the above-described functional operation is set is directly applied to any programming block 120 that forms the virtual path. In addition to “Sequential execution” of “Action”, “Conditional branch”, “Repeat”, “Function”, and “Event” are more abstract by simple operations that are stacked and connected on any programming block 120 Each functional operation can be set to be executed by the target device 200.

これにより、幼児等の年少者であっても、ターゲット機器200の移動と各種の機能動作を組み合わせたプログラミングを、タンジブルなプログラム制御装置を用いて容易に行うことができるとともに、その操作内容やターゲット機器200の動作状態を視覚を通して直感的に把握し易くすることができ、抽象度がより高いプログラミングの学習効果の向上を期待することができる。   Thereby, even a young person such as an infant can easily perform programming combining the movement of the target device 200 and various functional operations using the tangible program control device, and the operation content and target The operation state of the device 200 can be easily grasped intuitively through vision, and an improvement in the learning effect of programming with a higher abstraction level can be expected.

なお、本変形例においては、プログラミングブロック120に設定される機能動作として、「条件分岐」、「繰り返し」、「関数」、「イベント」を個別に示して説明したが、これらは任意に組み合わせて設定するものであってもよい。   In this modification, “conditional branch”, “repetition”, “function”, and “event” are individually shown and described as functional operations set in the programming block 120, but these may be combined arbitrarily. It may be set.

<変形例3>
図19は、本実施形態に係るプログラミング教育装置に適用される構成の変形例を示す機能ブロック図であり、図20は、本変形例に適用されるプログラム生成、実行処理の一例を説明するための概略図である。ここで、上述した実施形態と同等の構成についてはその説明を簡略化する。
<Modification 3>
FIG. 19 is a functional block diagram illustrating a modified example of the configuration applied to the programming education apparatus according to the present embodiment, and FIG. 20 illustrates an example of program generation and execution processing applied to the modified example. FIG. Here, the description of the configuration equivalent to the above-described embodiment is simplified.

上述した実施形態においては、スタートブロック120Sを始点として、複数のプログラミングブロック120を順次連結接続するプログラミング操作処理により取得した入力操作情報(ブロック情報や連結特定情報)に基づいて、ターゲット機器200の動作状態を制御するプログラムが生成される。そして、このプログラムを実行することにより、プログラミング操作時に連結接続されたプログラミングブロック120の集合体の全体配置形状により決定された仮想経路に対応する移動経路に沿って、ターゲット機器200を移動させる制御方法について説明した。本変形例においては、上述した実施形態に示した制御方法により生成されたプログラムを実行することにより、移動経路に沿って移動するターゲット機器200に対して、当該プログラムの実行中に連結接続されたプログラミングブロック120の集合体の傾きや角度(方向)を変化させることにより、ターゲット機器200をより複雑な動作状態で制御するプログラミング学習を行う。   In the above-described embodiment, the operation of the target device 200 based on the input operation information (block information and connection specifying information) acquired by the programming operation process that sequentially connects and connects the plurality of programming blocks 120 starting from the start block 120S. A program for controlling the state is generated. Then, by executing this program, a control method for moving the target device 200 along the movement path corresponding to the virtual path determined by the overall arrangement shape of the assembly of the programming blocks 120 connected and connected during the programming operation. Explained. In this modification, by executing the program generated by the control method shown in the above-described embodiment, the target device 200 moving along the movement path is connected and connected during the execution of the program. By changing the inclination and angle (direction) of the assembly of the programming blocks 120, programming learning for controlling the target device 200 in a more complicated operation state is performed.

本変形例に係るプログラミング教育装置においては、例えば図19に示すように、上述した実施形態に示したプログラム制御装置100のスタートブロック120Sが、加速度センサ134をさらに備えた形態を有している。ここで、加速度センサ134は、スタートブロック120Sの傾きや角度(方向)を随時検出する。スタートブロック120Sの制御部128は、加速度センサ134からの検出信号の変化を監視して、スタートブロック120Sの傾きや角度(方向)に関するブロック傾斜情報を生成して記憶部126の記憶領域に記憶する。   In the programming education device according to the present modification, for example, as shown in FIG. 19, the start block 120S of the program control device 100 shown in the above-described embodiment has a form in which an acceleration sensor 134 is further provided. Here, the acceleration sensor 134 detects the inclination and angle (direction) of the start block 120S as needed. The control unit 128 of the start block 120S monitors the change in the detection signal from the acceleration sensor 134, generates block inclination information regarding the inclination and angle (direction) of the start block 120S, and stores the block inclination information in the storage area of the storage unit 126. .

本変形例に係るプログラミング操作処理においては、上述した実施形態と同様に、ユーザがターゲット機器200の移動経路をイメージして、始点となるスタートブロック120Sに対して複数のプログラミングブロック120を順次連結接続する。これにより、スタートブロック120Sの制御部128は、連結接続された全てのプログラミングブロック120に関するブロック情報及び連結特定情報を受信して記憶部126の記憶領域に記憶する。   In the programming operation processing according to this modification, the user imagines the movement path of the target device 200 and sequentially connects a plurality of programming blocks 120 to the start block 120S that is the starting point, as in the above-described embodiment. To do. As a result, the control unit 128 of the start block 120S receives the block information and the connection specific information regarding all the programming blocks 120 connected and connected, and stores them in the storage area of the storage unit 126.

このプログラミング操作処理においては、スタートブロック120Sの制御部128は、加速度センサ134からの検出信号を監視しない状態、又は、加速度センサ134の検出動作自体を停止した状態を保持する。これにより、ユーザがスタートブロック120Sにプログラミングブロック120を連結接続する際に、スタートブロック120Sを持ち上げたり、移動させたりすることによりスタートブロック120Sの傾きや角度(方向)が著しく変化する状態を検出しないようにする。   In the programming operation process, the control unit 128 of the start block 120S maintains a state where the detection signal from the acceleration sensor 134 is not monitored or a state where the detection operation itself of the acceleration sensor 134 is stopped. Accordingly, when the user connects the programming block 120 to the start block 120S, the state in which the inclination or angle (direction) of the start block 120S changes significantly by lifting or moving the start block 120S is not detected. Like that.

次いで、プログラム生成、実行処理においては、プログラミング操作処理により取得された入力操作情報に基づいて、コアユニット160の制御部170によりターゲット機器200の動作状態を制御するプログラムを生成して、ターゲットに転送する。ターゲット機器200は、転送されたプログラムを実行して、図20(a)に示すように、プログラミング操作処理において決定された仮想経路に対応する移動経路A(図中、細い点線で表記)に沿って移動する。また、ターゲット機器200の移動経路上での移動に伴って、現在時点の移動位置に対応するプログラミングブロック120が発光して視覚的に識別可能な状態になる。   Next, in the program generation and execution processing, a program for controlling the operation state of the target device 200 is generated by the control unit 170 of the core unit 160 based on the input operation information acquired by the programming operation processing, and transferred to the target. To do. The target device 200 executes the transferred program and, as shown in FIG. 20A, follows a movement route A (indicated by a thin dotted line in the figure) corresponding to the virtual route determined in the programming operation process. Move. Further, as the target device 200 moves on the moving path, the programming block 120 corresponding to the moving position at the current time point emits light and is in a state that can be visually identified.

このプログラム実行処理においては、スタートブロック120Sの制御部128は、加速度センサ134からの検出信号を監視し、検出信号に変化が生じた場合には、スタートブロック120Sの傾きや角度(方向)の変化量を含むブロック傾斜情報を生成してコアユニット160に送信する。コアユニット160の制御部170は、ブロック傾斜情報を受信すると、当該ブロック傾斜情報に含まれるスタートブロック120Sの傾きや角度(方向)の変化量を加味した新たなプログラム、又は、修正プログラムを生成してターゲットに転送する。ターゲット機器200は、現在実行中のプログラムを転送されたプログラムに更新することにより、図20(b)に示すように、現在実行中のプログラムで設定されていた移動経路Aから、現在時点以降、更新後のプログラムで設定される移動経路B(図中、太い点線で表記)に沿って移動する。   In this program execution process, the control unit 128 of the start block 120S monitors the detection signal from the acceleration sensor 134, and when a change occurs in the detection signal, the inclination or angle (direction) of the start block 120S changes. Block inclination information including the quantity is generated and transmitted to the core unit 160. When the control unit 170 of the core unit 160 receives the block inclination information, the control unit 170 generates a new program or a correction program that takes into account the amount of change in the inclination and angle (direction) of the start block 120S included in the block inclination information. To the target. As shown in FIG. 20B, the target device 200 updates the currently executing program to the transferred program, thereby moving from the moving path A set in the currently executing program to It moves along a movement path B (indicated by a thick dotted line in the figure) set by the updated program.

なお、スタートブロック120Sの傾きや角度(方向)に変化がない場合には、ターゲット機器200は、現在実行中のプログラムを継続して、図20(a)に示したように、当該プログラムで設定された移動経路Aに沿って終点位置まで移動する。   When there is no change in the inclination or angle (direction) of the start block 120S, the target device 200 continues the program currently being executed and sets the program as shown in FIG. 20 (a). It moves to the end point position along the travel path A.

ここで、本変形例に示した制御方法は、ターゲット機器200においてプログラム実行中に、スタートブロック120Sに連結接続された複数のプログラミングブロック120の集合体の傾きや角度(方向)が変化した場合に、ターゲット機器200の動作状態をどのように変化させるかという処理動作を行うものであり、これは上述した変形例2に示したイベント処理の機能動作に相当するものである。この場合は、イベント処理本体として、加速度センサによるスタートブロック120Sの傾きや角度(方向)の変化の検出、当該変化量に応じたプログラムの生成、ターゲット機器200における実行プログラムの更新、の各機能動作が予め設定されることになる。   Here, the control method shown in the present modification example is performed when the inclination or angle (direction) of the assembly of the plurality of programming blocks 120 connected and connected to the start block 120S changes during execution of the program in the target device 200. The processing operation of how to change the operation state of the target device 200 is performed, and this corresponds to the functional operation of the event processing shown in the second modification described above. In this case, as the event processing body, each functional operation of detection of a change in the inclination and angle (direction) of the start block 120S by the acceleration sensor, generation of a program corresponding to the amount of change, and update of an execution program in the target device 200 Is set in advance.

このように、本変形例によれば、ターゲット機器200のプログラム実行中に、仮想経路を形成する複数のプログラミングブロック120の集合体を持ち上げたり移動させたりして、その傾きや角度(方向)を変化させることにより、ターゲット機器200の移動経路を含む動作状態を変化させることができる。このとき、イベント処理等の高度な機能動作を含むプログラミングを、タンジブルなプログラム制御装置を用いて容易に行うことができるとともに、その操作内容やターゲット機器200の動作状態を視覚を通して直感的に把握し易くすることができ、プログラミングの学習効果の向上を期待することができる。   As described above, according to the present modification, during execution of the program of the target device 200, the aggregate of the plurality of programming blocks 120 forming the virtual path is lifted or moved, and the inclination and angle (direction) thereof are changed. By changing, the operation state including the movement route of the target device 200 can be changed. At this time, programming including advanced functional operations such as event processing can be easily performed using a tangible program control device, and the operation content and the operation state of the target device 200 are intuitively grasped visually. It is possible to improve the learning effect of programming.

なお、上述した各実施形態においては、年少の幼児を対象とするプログラミング教育装置について説明したが、本発明はこれに限定されるものではない。本発明は、タンジブルな入力操作、及び、視覚を通して操作内容やターゲット機器の動作状態を把握、理解できる特徴を有していることから、例えばプログラミングの初心者を対象とするものであってもよいし、身体の機能回復のためのリハビリテーションを必要とする人を対象とするものであってもよい。   In each of the above-described embodiments, the programming education device for young children has been described, but the present invention is not limited to this. Since the present invention has a feature that makes it possible to grasp and understand the operation content and the operating state of the target device through tangible input operations and visual senses, for example, it may be intended for a programming beginner. It may be intended for a person who needs rehabilitation for physical function recovery.

以上、本発明のいくつかの実施形態について説明したが、本発明は、上述した実施形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲とを含むものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
As mentioned above, although several embodiment of this invention was described, this invention is not limited to embodiment mentioned above, It includes the invention described in the claim, and its equivalent range.
Hereinafter, the invention described in the scope of claims of the present application will be appended.

(付記)
[1]
タンジブルな複数の形状指示部がユーザ操作によって互いに相対的に配置されることで前記複数の形状支持部の相対位置が指示されたことに応じて、前記複数の形状支持部の相対位置に基づいて、第1形状を指示する第1形状指示部と、
前記第1形状指示部により指示された前記第1形状に対応させて被制御部を移動させる命令を生成する命令生成部と、
を備えることを特徴とするプログラミング装置。
(Appendix)
[1]
Based on the relative positions of the plurality of shape support portions in response to the relative position of the plurality of shape support portions being instructed by the plurality of tangible shape instruction portions being arranged relative to each other by a user operation. A first shape designating unit for designating the first shape;
A command generation unit that generates a command to move the controlled unit in correspondence with the first shape instructed by the first shape instruction unit;
A programming device comprising:

[2]
前記複数の形状指示部のうちのいずれかの形状指示部に対応付けて前記被制御部における機能を設定する機能設定部をさらに備え、
前記命令生成部は、
前記命令に応じて前記被制御部が前記いずれかの形状指示部に対応する位置へ移動したときに、前記機能設定部により設定された前記機能を前記被制御部に実行させる命令を生成することを特徴とする[1]に記載のプログラミング装置。
[2]
A function setting unit that sets a function in the controlled unit in association with any one of the plurality of shape instruction units;
The instruction generator is
Generating a command to cause the controlled unit to execute the function set by the function setting unit when the controlled unit moves to a position corresponding to any of the shape instruction units in accordance with the command; [1] The programming device according to [1].

[3]
前記複数の形状指示部のうちのいずれかの形状指示部は、前記機能の設定を受け付ける機能受付部をさらに備え、
前記命令生成部は、
前記命令に応じて前記被制御部が前記いずれかの形状指示部に対応する位置へ移動したときに、前記機能受付部が受け付けた前記機能を該被制御部に実行させる命令を生成することを特徴とする[1]又は[2]に記載のプログラミング装置。
[3]
Any one of the plurality of shape instruction units further includes a function reception unit that receives the setting of the function,
The instruction generator is
Generating a command to cause the controlled unit to execute the function received by the function accepting unit when the controlled unit moves to a position corresponding to any of the shape designating units according to the command. The programming device according to [1] or [2], which is characterized.

[4]
前記第1形状に対応して移動する前記被制御部を、さらに備えることを特徴とする[1]乃至[3]に記載のプログラミング装置。
[4]
The programming device according to any one of [1] to [3], further including the controlled unit that moves corresponding to the first shape.

[5]
タンジブルな複数の形状指示部がユーザ操作によって互いに相対的に配置されることで前記複数の形状支持部の相対位置が指示されたことに応じて、前記複数の形状支持部の相対位置に基づいて、第1形状を指示し、
前記指示された前記第1形状に対応させて被制御部を移動させる命令を生成する、
ことを特徴とするプログラミング方法。
[5]
Based on the relative positions of the plurality of shape support portions in response to the relative position of the plurality of shape support portions being instructed by the plurality of tangible shape instruction portions being arranged relative to each other by a user operation. Indicate the first shape,
Generating a command to move the controlled portion in correspondence with the instructed first shape;
A programming method characterized by that.

[6]
プログラミング装置を制御するための制御プログラムであって、
前記プログラミング装置は、第1形状指示部と命令生成部とを備え、
前記プログラミング装置を制御するコンピュータに、
タンジブルな複数の形状支持部がユーザ操作によって互いに相対的に配置されることで前記複数の形状支持部の相対位置が指示されたことに応じて、前記複数の形状支持部の相対位置に基づいて、前記第1形状指示部によって第1形状を指示させ、
指示された前記第1形状に対応させて被制御部を移動させる命令を、前記命令生成部によって生成させる、
ことを特徴とする制御プログラム。
[6]
A control program for controlling a programming device,
The programming device includes a first shape instruction unit and an instruction generation unit,
A computer for controlling the programming device;
In response to the relative position of the plurality of shape support portions being instructed by the plurality of tangible shape support portions being arranged relative to each other by a user operation, based on the relative positions of the plurality of shape support portions. , Instructing the first shape by the first shape instruction unit,
Generating a command to move the controlled unit in correspondence with the instructed first shape by the command generating unit;
A control program characterized by that.

100 プログラム制御装置
120 プログラミングブロック(形状指示部、第1形状指示部)
120F 機能設定ブロック(機能設定部)
120S スタートブロック(第1形状指示部)
120G 終端ブロック
122 ブロックI/F部(機能受付部)
124 識別変移部
126 記憶部
128 制御部
130 外部I/F部
132 電源部
134 加速度センサ
160 コアユニット(命令生成部)
162 操作部
164 外部I/F部
166 記憶部
168 通信I/F部
170 制御部
200 ターゲット機器(被制御部)
202 駆動部
204 機能部
206 通信I/F部
208 記憶部
210 制御部
100 Program Control Device 120 Programming Block (Shape Instructing Unit, First Shape Instructing Unit)
120F Function setting block (Function setting part)
120S start block (first shape designator)
120G Terminal block 122 Block I / F part (function accepting part)
124 Identification change unit 126 Storage unit 128 Control unit 130 External I / F unit 132 Power supply unit 134 Acceleration sensor 160 Core unit (command generation unit)
162 Operation unit 164 External I / F unit 166 Storage unit 168 Communication I / F unit 170 Control unit 200 Target device (controlled unit)
202 Drive unit 204 Function unit 206 Communication I / F unit 208 Storage unit 210 Control unit

Claims (6)

タンジブルな複数の形状指示部がユーザ操作によって互いに相対的に配置されることで前記複数の形状支持部の相対位置が指示されたことに応じて、前記複数の形状支持部の相対位置に基づいて、第1形状を指示する第1形状指示部と、
前記第1形状指示部により指示された前記第1形状に対応させて被制御部を移動させる命令を生成する命令生成部と、
を備えることを特徴とするプログラミング装置。
Based on the relative positions of the plurality of shape support portions in response to the relative position of the plurality of shape support portions being instructed by the plurality of tangible shape instruction portions being arranged relative to each other by a user operation. A first shape designating unit for designating the first shape;
A command generation unit that generates a command to move the controlled unit in correspondence with the first shape instructed by the first shape instruction unit;
A programming device comprising:
前記複数の形状指示部のうちのいずれかの形状指示部に対応付けて前記被制御部における機能を設定する機能設定部をさらに備え、
前記命令生成部は、
前記命令に応じて前記被制御部が前記いずれかの形状指示部に対応する位置へ移動したときに、前記機能設定部により設定された前記機能を前記被制御部に実行させる命令を生成することを特徴とする請求項1に記載のプログラミング装置。
A function setting unit that sets a function in the controlled unit in association with any one of the plurality of shape instruction units;
The instruction generator is
Generating a command to cause the controlled unit to execute the function set by the function setting unit when the controlled unit moves to a position corresponding to any of the shape instruction units in accordance with the command; The programming device according to claim 1.
前記複数の形状指示部のうちのいずれかの形状指示部は、前記機能の設定を受け付ける機能受付部をさらに備え、
前記命令生成部は、
前記命令に応じて前記被制御部が前記いずれかの形状指示部に対応する位置へ移動したときに、前記機能受付部が受け付けた前記機能を該被制御部に実行させる命令を生成することを特徴とする請求項1又は2に記載のプログラミング装置。
Any one of the plurality of shape instruction units further includes a function reception unit that receives the setting of the function,
The instruction generator is
Generating a command to cause the controlled unit to execute the function received by the function accepting unit when the controlled unit moves to a position corresponding to any of the shape designating units according to the command. The programming device according to claim 1 or 2, characterized in that
前記第1形状に対応して移動する前記被制御部を、さらに備えることを特徴とする請求項1乃至3に記載のプログラミング装置。   The programming device according to claim 1, further comprising the controlled unit that moves corresponding to the first shape. タンジブルな複数の形状指示部がユーザ操作によって互いに相対的に配置されることで前記複数の形状支持部の相対位置が指示されたことに応じて、前記複数の形状支持部の相対位置に基づいて、第1形状を指示し、
前記指示された前記第1形状に対応させて被制御部を移動させる命令を生成する、
ことを特徴とするプログラミング方法。
Based on the relative positions of the plurality of shape support portions in response to the relative position of the plurality of shape support portions being instructed by the plurality of tangible shape instruction portions being arranged relative to each other by a user operation. Indicate the first shape,
Generating a command to move the controlled portion in correspondence with the instructed first shape;
A programming method characterized by that.
プログラミング装置を制御するための制御プログラムであって、
前記プログラミング装置は、第1形状指示部と命令生成部とを備え、
前記プログラミング装置を制御するコンピュータに、
タンジブルな複数の形状支持部がユーザ操作によって互いに相対的に配置されることで前記複数の形状支持部の相対位置が指示されたことに応じて、前記複数の形状支持部の相対位置に基づいて、前記第1形状指示部によって第1形状を指示させ、
指示された前記第1形状に対応させて被制御部を移動させる命令を、前記命令生成部によって生成させる、
ことを特徴とする制御プログラム。
A control program for controlling a programming device,
The programming device includes a first shape instruction unit and an instruction generation unit,
A computer for controlling the programming device;
In response to the relative position of the plurality of shape support portions being instructed by the plurality of tangible shape support portions being arranged relative to each other by a user operation, based on the relative positions of the plurality of shape support portions. , Instructing the first shape by the first shape instruction unit,
Generating a command to move the controlled unit in correspondence with the instructed first shape by the command generating unit;
A control program characterized by that.
JP2017060810A 2017-03-27 2017-03-27 Programming device and its control program, programming method Active JP6910592B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017060810A JP6910592B2 (en) 2017-03-27 2017-03-27 Programming device and its control program, programming method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017060810A JP6910592B2 (en) 2017-03-27 2017-03-27 Programming device and its control program, programming method

Publications (2)

Publication Number Publication Date
JP2018163546A true JP2018163546A (en) 2018-10-18
JP6910592B2 JP6910592B2 (en) 2021-07-28

Family

ID=63860138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017060810A Active JP6910592B2 (en) 2017-03-27 2017-03-27 Programming device and its control program, programming method

Country Status (1)

Country Link
JP (1) JP6910592B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109407582A (en) * 2018-10-31 2019-03-01 陈黎明 A kind of machine programming method for visualizing
KR20210000555A (en) * 2019-06-25 2021-01-05 주식회사 씨앤알테크 Unplugged Real Coding Block with blocks capable of multi-directional insertion
WO2023279699A1 (en) * 2021-07-06 2023-01-12 上海商汤智能科技有限公司 Experiment generation methods and apparatus, electronic device, storage medium and program

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH088864A (en) * 1994-06-21 1996-01-12 Nec Corp Program preparation device
JP2001228963A (en) * 2000-02-17 2001-08-24 Kaikousha:Kk Panel recognizing device
US20050026537A1 (en) * 2003-08-01 2005-02-03 Hsieh Jennifer Chia-Jen Physical programming toy
JP3206586U (en) * 2016-07-13 2016-09-23 株式会社テクノサイト Command execution toys
US20160284221A1 (en) * 2013-05-08 2016-09-29 Matternet, Inc. Route planning for unmanned aerial vehicles
US20160364004A1 (en) * 2015-06-11 2016-12-15 Intel Corporation Drone controlling device and method
US20170007915A1 (en) * 2015-07-10 2017-01-12 Play Works Studio, Inc. Systems and methods for an interactive robotic game
JP2017506781A (en) * 2013-03-12 2017-03-09 シィ, ヅェンSHI, Zheng System and method for computer programming with physical objects in interactive surfaces

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH088864A (en) * 1994-06-21 1996-01-12 Nec Corp Program preparation device
JP2001228963A (en) * 2000-02-17 2001-08-24 Kaikousha:Kk Panel recognizing device
US20050026537A1 (en) * 2003-08-01 2005-02-03 Hsieh Jennifer Chia-Jen Physical programming toy
JP2017506781A (en) * 2013-03-12 2017-03-09 シィ, ヅェンSHI, Zheng System and method for computer programming with physical objects in interactive surfaces
US20160284221A1 (en) * 2013-05-08 2016-09-29 Matternet, Inc. Route planning for unmanned aerial vehicles
US20160364004A1 (en) * 2015-06-11 2016-12-15 Intel Corporation Drone controlling device and method
US20170007915A1 (en) * 2015-07-10 2017-01-12 Play Works Studio, Inc. Systems and methods for an interactive robotic game
JP3206586U (en) * 2016-07-13 2016-09-23 株式会社テクノサイト Command execution toys

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109407582A (en) * 2018-10-31 2019-03-01 陈黎明 A kind of machine programming method for visualizing
KR20210000555A (en) * 2019-06-25 2021-01-05 주식회사 씨앤알테크 Unplugged Real Coding Block with blocks capable of multi-directional insertion
KR102268888B1 (en) 2019-06-25 2021-06-24 주식회사 씨앤알테크 Unplugged Real Coding Block with blocks capable of multi-directional insertion
WO2023279699A1 (en) * 2021-07-06 2023-01-12 上海商汤智能科技有限公司 Experiment generation methods and apparatus, electronic device, storage medium and program

Also Published As

Publication number Publication date
JP6910592B2 (en) 2021-07-28

Similar Documents

Publication Publication Date Title
US11688299B2 (en) Programming device and recording medium, and programming method
US11113036B2 (en) Programming device and recording medium, and programming method
JP6077016B2 (en) Board assembly used with toy pieces
EP2744580B1 (en) Baseplate assembly for use with toy pieces
US20160361662A1 (en) Interactive lcd display back light and triangulating toy brick baseplate
CN110832439A (en) Light emitting user input device
CN210200069U (en) Programmable robot
US20170053550A1 (en) Education System using Connected Toys
US20190022520A1 (en) System of distributed interactive objects
JP6290467B1 (en) Information processing method, apparatus, and program causing computer to execute information processing method
JP6910592B2 (en) Programming device and its control program, programming method
JP2019101050A (en) Program for assisting in performing musical instrument in virtual space, computer-implemented method for assisting in selecting musical instrument, and information processor
US11541322B1 (en) Mat controllable by remote computing device
JP6910593B2 (en) Program processing device
US11498014B1 (en) Configurable devices
US20190105579A1 (en) Baseplate assembly for use with toy pieces
WO2021092679A9 (en) Augmented reality system
JP2019170544A (en) Action device, action toy and system
US20170065878A1 (en) Block, method and user terminal for providing a game by setting control relation between the block and a toy
US20140243102A1 (en) System and methods for tele-interactive play items
KR20210020192A (en) Module-type Drone
KR20210011591A (en) Termianl connected to action robot and operating method thereof
KR20180013484A (en) ROBOT SYSTEM for SOFTWARE EDUCATION

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210205

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: 20210607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210620

R150 Certificate of patent or registration of utility model

Ref document number: 6910592

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150