WO2019114636A1 - Reverse programming method, system and device for programming toy, and medium - Google Patents

Reverse programming method, system and device for programming toy, and medium Download PDF

Info

Publication number
WO2019114636A1
WO2019114636A1 PCT/CN2018/119915 CN2018119915W WO2019114636A1 WO 2019114636 A1 WO2019114636 A1 WO 2019114636A1 CN 2018119915 W CN2018119915 W CN 2018119915W WO 2019114636 A1 WO2019114636 A1 WO 2019114636A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
behavior
programming
visualization
user
Prior art date
Application number
PCT/CN2018/119915
Other languages
French (fr)
Chinese (zh)
Inventor
谢磊
Original Assignee
上海葡萄纬度科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海葡萄纬度科技有限公司 filed Critical 上海葡萄纬度科技有限公司
Publication of WO2019114636A1 publication Critical patent/WO2019114636A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H17/00Toy vehicles, e.g. with self-drive; ; Cranes, winches or the like; Accessories therefor
    • A63H17/26Details; Accessories
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H27/00Toy aircraft; Other flying toys
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H3/00Dolls
    • A63H3/36Details; Accessories

Definitions

  • the present invention relates to the field of programmable toys, and in particular to a method of programming a toy in reverse programming and a corresponding system, smart device, computer readable storage medium storing a computer program.
  • Patent document CN102416265A discloses a transformer robot toy and method, and discloses a platform for a fan to program the robot himself.
  • the action and shape of the robot can be freely arranged and can be controlled by multiple units. Novel, flexible, and intelligent robots.
  • Patent document CN1338965 discloses a microprocessor-controlled toy combination element having a more flexible programming function implemented by means of a communication device.
  • Patent document CN1244435 discloses a programmable toy in which a control device, which is embodied as a keyboard, issues a control command to a motor in a toy vehicle that is a controlled object by means of a microprocessor, and the execution of the control command by the motor, the toy car The corresponding behavior can be made.
  • Patent document CN1267228A discloses a programmable modular toy comprising a controllable toy unit and a programmable control system for controlling it by radio.
  • patent document CN202096722U also discloses a programmable learning robot in which programming can be performed by means of card input.
  • the patent document CN105363223A also discloses an intelligent programmable building block toy based on NFC.
  • NFC Near Field Communication
  • the application of NFC (Near Field Communication) technology to building blocks toys allows children to experience the fun of programming by building blocks, which makes building blocks more than just the stitching and combination of space shapes, enhancing the attraction to children. .
  • the controlled object including, for example, a solid object and a virtual object
  • the controlled object is extremely easy to produce an execution effect that the user is not too satisfied, or the implementation process needs to be optimized due to the high aesthetic requirements of the user, so that There is a need for a possibility that the user can make changes or further adjustments to the execution of the controlled object by means of less demanding programming techniques, such as the graphical programming environment described above.
  • a visually and editable program such as a visualization program, by analyzing the behavior of a controlled object, thereby helping the user to specifically recognize the behavior of the object, thereby inspiring the user to use his own Imagination and creativity can be personally involved in programming.
  • a reverse programming method for programming a toy according to the present invention includes the following steps:
  • Parsing the behavioral feature data to generate a visualization program wherein the visualization program includes a plurality of adjustable parameters and a plurality of program steps for combining the parameters to control the controlled object;
  • Applying the updated visualization program to the controlled object causes the controlled object to generate a second behavior.
  • the method comprises the following steps:
  • the program segment is generated according to part or all of the program steps that are continuously executed; wherein the visualization program adjustment interface includes a program segment adjustment interface for the user to adjust parameters and/or program steps in the program segment.
  • the part or all of the program steps are obtained by any of the following methods:
  • the virtual object behavior record refers to a virtual object corresponding to the controlled object, and performing a record of the generated behavior according to the visualization program or the updated visualization program;
  • the step of receiving adjustment of the parameter and/or the program step by the user comprises the following steps:
  • the controlled object is a physical object or a virtual object
  • Behavior characteristic data of the physical object including sensor data acquired by one or more sensors and/or user operation data for the physical object;
  • the behavioral feature data of the virtual object includes data collected by a software development kit from a software carrier of the virtual object.
  • the step of acquiring the behavior characteristic data characterizing the first behavior is performed continuously or by a triggering manner.
  • the generated respective visualization program includes different kinds and/or different numbers of code blocks based on different controlled objects.
  • the step of parsing the behavior characteristic data to generate a visualization program corresponding different algorithms are adopted according to different controlled objects.
  • the method is implemented manually or by a supervised learning algorithm of machine learning.
  • the program steps are stored in a sorted manner based on different controlled objects prior to the step of generating an updated visualization program.
  • a reverse programming system for programming a toy according to the present invention includes the following modules:
  • a first behavior generating module causing a controlled object to generate a first behavior
  • a feature data obtaining module acquiring behavior characteristic data representing the first behavior
  • a parsing module parsing the behavioral feature data to generate a visualization program, wherein the visualization program includes a plurality of adjustable parameters and a plurality of program steps for combining the parameters to control the controlled object;
  • Interface module providing a visual program adjustment interface for the user to adjust the parameters and/or the program steps
  • a visualization module receiving an adjustment of the parameter and/or the program step by a user, and generating an updated visualization program
  • the second behavior generating module applying the updated visualization program to the controlled object, causing the controlled object to generate a second behavior.
  • the program fragment generation module generates a program segment according to part or all of the program steps that are continuously executed; wherein the visualization program adjustment interface includes a program segment adjustment interface for the user to adjust parameters and/or program steps in the program segment.
  • the part or all of the program steps are obtained by any of the following methods:
  • the virtual object behavior record refers to a virtual object corresponding to the controlled object, and performing a record of the generated behavior according to the visualization program or the updated visualization program;
  • the manner of receiving the adjustment of the parameter and/or the program step by the user includes the following manner:
  • the controlled object is a physical object or a virtual object
  • Behavior characteristic data of the physical object including sensor data acquired by one or more sensors and/or user operation data for the physical object;
  • the behavioral feature data of the virtual object includes data collected by a software development kit from a software carrier of the virtual object.
  • the manner of obtaining the behavior characteristic data representing the first behavior is performed continuously or by a triggering manner.
  • the generated respective visualization program includes different kinds and/or different numbers of code blocks based on different controlled objects.
  • the method is implemented manually or by a supervised learning algorithm of machine learning.
  • the program steps are stored hierarchically based on different controlled objects prior to said generating the updated visualization program.
  • a computer readable storage medium storing a computer program, the computer program being executed by a processor to implement the step of the reverse programming method of programming a toy.
  • the invention provides a smart device comprising the reverse programming system of the programmed toy or the computer readable storage medium storing the computer program.
  • the present invention provides a method of reverse programming in which a controlled object generates behavior under the action of a control command, the method comprising the steps of:
  • the acquired behavioral feature data is analyzed to generate a corresponding visualization program, wherein the generated visualization program includes respective adjustable parameters and respective program steps for combining the parameters to control the controlled object.
  • the idea of the method according to the first aspect of the present invention is to re-interpret the actual behavior of the controlled object generated by the control instruction in combination with the specific execution environment in a reverse thinking and reverse operation manner.
  • Corresponding visualization program which is visual, vivid and easy to understand for users who have not undergone system learning programming, the visualization program may include one or more adjustable parameters and one or more for controlling the controlled object Program steps.
  • a controlled object can be understood as a physical object or a virtual object that can generate a specific behavior under the action of a corresponding control command in the field of programmable toys.
  • the control instructions can be understood as any executable program or sequence of programs that are transmitted to a controlled object by wired and/or wireless communication and that cause the controlled object to produce a particular behavior.
  • the control command can be a visualization program or a sequence of programs that can be edited and executed by the controlled object.
  • the physical objects described herein may include, for example, toy robots, toy cars, dolls, toy aircrafts, etc., all of which may receive control instructions in wired and/or wireless communication and generate specific behavior by executing these control instructions.
  • the behavior of the controlled object can be understood to include athletic behavior (such as toy vehicles), motion behavior (such as Transformers), expression behavior (such as dolls), and the like.
  • the method according to the first aspect of the invention may further comprise: adaptively adjusting said parameters and/or modifying said program steps to generate an updated visualization program; using said updated visualization program for said
  • the control object determines whether the updated visualization program needs to be modified again according to the result of the execution of the controlled object. Therefore, after the actual behavior of the controlled object generated by combining the specific execution environment under the action of the control instruction is re-parsed into a corresponding visualization program in a manner of obtaining feedback through actual application, the visualization program is included for the visualization program.
  • One or more adjustable parameters and one or more program steps for controlling the controlled object are adjusted as needed to implement an update or modification of the visualized program generated after the parsing, and then by updating or modifying
  • the visualization program is reused for the controlled object, and the effect of updating or modifying is fed back according to the result of the application, thereby realizing the optimal adjustment of the visualization program. It also has the advantage that due to the above-mentioned many advantages of the graphical programming environment, it is naturally the preferred way and programming environment for the user to participate in programming.
  • said step of obtaining behavioral feature data characterizing said controlled object behavior may be continued.
  • This can be understood as the step of receiving a control command from the controlled object and starting the act by executing the control command can be ongoing.
  • the advantage is that the behavior of the controlled object under the control command can be monitored comprehensively, so that the behavior of the controlled object can be monitored at any time, especially when there is a sudden or unexpected situation in the execution process.
  • said step of obtaining behavioral feature data characterizing said controlled object behavior can be implemented by means of a trigger. It can be understood that the step of obtaining behavioral feature data characterizing the behavior of the controlled object can be selectively performed according to the user's wishes as needed, such as by a triggering method. This means that the process of obtaining the behavioral feature data of the controlled object is not automatically run, and has a clear starting point and an ending point, for example, in a specific implementation, such as one or two entities or virtual button control, such as Clicking the Start button indicates the start and clicking the End button indicates the end of the process. Naturally any other way to achieve the same function can be considered.
  • the behavioral feature data may comprise sensor data acquired by one or more sensors and/or automatically recorded user operational data.
  • the one or more sensors described herein may be understood to include sensors for detecting a specific physical quantity, such as a speed sensor, an acceleration sensor, a rotational speed sensor, a displacement sensor, a pitch, installed inside the controlled object and/or outside the controlled object. Sensors, gyroscopes, etc.
  • User operational data may typically include, for example, acceleration, deceleration, left turn, right turn, etc., and the corresponding degree of operational action.
  • the behavior analysis of the controlled object is generally implemented by comprehensively considering sensor data and user operation data of the entity controlled object during execution of the corresponding control command.
  • sensor data and user operation data are used in the case of a physical object to comprehensively reflect the behavior of the physical object in order to reflect its actual behavior.
  • the user operates data such as acceleration and deceleration data, and can consider the difference between the expected value preset by the operation data and the actual parameter embodied by the sensor, thereby knowing the actual behavior of the object learned by the sensor and the desired operation through the user operation data.
  • Whether there is a difference between the behaviors of the objects so as to know whether there is an abnormality in the behavior of the object, thereby judging whether a calibration strategy such as a calibration algorithm is to be introduced.
  • a calibration strategy such as a calibration algorithm is to be introduced.
  • the controlled object is a toy car that moves on the ground
  • different friction coefficients, obstacles, and even wind conditions based on the ground may cause differences in the process of executing the user's operational data.
  • the behavioral feature data may comprise data collected by a Software Development Kit (SDK) from a software carrier of the virtual object.
  • SDK Software Development Kit
  • the data collection point is usually set in accordance with the behavior of the virtual object.
  • the behavioral characteristic data of the virtual object mainly includes related parameters and data related to the virtual rocker, the throttle, the brake, and the data to be collected is A software development kit (SDK) that accesses data acquisition during game development to set up data collection points for these operations.
  • said generated respective visualization programs may comprise different kinds and/or different numbers of code blocks based on different controlled objects.
  • the code block may include a logic code block and a behavior code block.
  • a logical code block can be understood as a code block such as a loop, a jump, a comparison judgment, and the like; and
  • a behavior code block can be understood as a code block that controls the behavior of a controlled object such as a motion or an action.
  • the corresponding data acquired mainly includes speed (for example, a parameter range of 0-100) and a direction (the parameter range is 0, 1, -1, where 0 means no change, 1 means left turn of relative position, -1 means right turn of relative position), angle (parameter range -180 degrees - 180 degrees, relative position), etc.
  • speed for example, a parameter range of 0-100
  • direction the parameter range is 0, 1, -1, where 0 means no change, 1 means left turn of relative position, -1 means right turn of relative position
  • angle parameter range -180 degrees - 180 degrees, relative position
  • this is done manually in the step of adjusting the parameters and/or modifying the program steps to generate an updated visualization program.
  • This can be understood as: in this process, the user can freely adjust the corresponding parameters according to his own wishes, such as increasing or decreasing the value of the parameter (such as speed), changing its symbol (such as direction), and freely modifying the The steps of the program, such as adding or deleting one or more program steps.
  • the advantage is that it can fully mobilize the user's enthusiasm and stimulate the user's creativity, participate in the process of programming, enjoy the fun, and create a unique sequence of programs or programs that can be saved by other users after saving. use.
  • the step of adjusting the parameters and/or modifying the program steps to generate an updated visualization program is implemented by a machine learning supervised learning algorithm.
  • the supervised learning algorithm through machine learning can automatically set correct and perfect behavior rules for the specified object, thus forming the behavior of the controlled object.
  • the data model based on this model, optimizes the segment of the object's behavior selected by the user, automatically adjusts the parameters to make it conform to the rules and tends to be perfect.
  • the program steps are stored hierarchically based on different controlled objects prior to the step of adjusting the parameters accordingly and/or modifying the program steps to generate an updated visualization program.
  • the program steps of one type of controlled object and another type of controlled object are stored separately, thereby facilitating identification on the one hand and preventing confusion and incorrect calls on the other hand.
  • the present invention also provides a reverse programming system in which a controlled object generates behavior under the action of a control command, the system comprising:
  • An obtaining unit configured to acquire behavior characteristic data that characterizes the behavior of the controlled object
  • An analysis processing unit configured to perform an analysis process on the acquired behavior feature data to generate a corresponding visualization program, wherein the generated visualization program includes each adjustable parameter and is used to combine the parameter to control the controlled Each program step of the object;
  • the acquisition unit and the analysis processing unit communicate with each other through a wired and/or wireless manner and cooperate with each other.
  • the obtaining unit may further comprise: a program updating unit for adaptively adjusting the parameter and/or modifying the program step to generate an updated visualization program; and a determining unit for visualizing the update
  • the program is for the controlled object, and determines whether the updated visualization program needs to be modified again according to the result of the controlled object execution.
  • the program update unit and the decision unit do not form part of the acquisition unit and exist separately.
  • the acquisition unit and the analysis processing unit can be embodied in one piece as a single unit.
  • the unique unit can not only obtain the behavior characteristic data representing the behavior of the controlled object, but also can be used for analyzing and processing the acquired behavior characteristic data to generate a corresponding visualization program, and if possible, the unique The unit can also issue control commands to the corresponding controlled object.
  • the acquisition unit may be configured as a data acquisition device for acquiring sensor data from one or more sensors and/or a recording device for recording user operational data. Therefore, the obtaining unit can be implemented not only by hardware, but also by software, or a combination of the two.
  • the acquisition unit can be implemented as a smart device installed with a specific App, such as a smart phone, a tablet, a smart toy handle, and the like.
  • the analysis processing unit can be constructed as a central processor or operator in a personal computer or other type of smart device.
  • the evaluation unit can be embodied as a cloud server or a cloud processor.
  • the present invention also provides a method for optimizing the behavior of a controlled object, wherein the controlled object generates the behavior under the action of a control instruction, the method comprising the following steps :
  • Parsing the behavior of the controlled object to generate a visualization program wherein the generated visualization program includes respective adjustable parameters and program steps for combining the parameters to control the controlled object;
  • the updated visualization program is used for the controlled object, and it is determined whether the updated visualization program needs to be modified again according to the result of the controlled object execution.
  • the idea of the method according to the third aspect of the present invention is to re-interpret the actual behavior of the controlled object generated by combining the specific execution environment under the action of the control instruction in a manner of obtaining feedback through actual application execution.
  • the one or more adjustable parameters included in the visualization program and one or more program steps for controlling the controlled object are adjusted as needed to implement the visualization program generated after the analysis Update or modify, and then re-use the updated or modified visualization program for the controlled object, and feedback the effect of the update or modification according to the result of the application, thereby achieving optimal adjustment of the visualization program.
  • the step of parsing the behavior of the controlled object to generate a visualization program can be implemented according to the method described in the first aspect above according to the invention.
  • the step of parsing the behavior of the controlled object to generate a visualization program can be implemented according to the method described in the first aspect above according to the invention.
  • the steps of adjusting the parameters and/or modifying the program steps to generate an updated visualization program can be implemented by manual adjustment and/or modification.
  • This can be understood as: in this process, the user can freely adjust the corresponding parameters according to his own wishes, such as increasing or decreasing the value of the parameter (such as speed), changing its symbol (such as direction), and freely modifying the The steps of the program, such as adding or deleting one or more program steps.
  • the advantage is that it can fully mobilize the user's enthusiasm and stimulate the user's creativity, participate in the process of programming, enjoy the fun, and create a unique sequence of programs or programs that can be saved by other users after saving. use.
  • generating an updated visualization program may be implemented by a machine learning supervised learning algorithm.
  • the behavior of the controlled object may have a path curve, pause, and soft motion expression
  • the supervised learning algorithm through machine learning can automatically set correct and perfect behavior rules for the specified object, thus forming the behavior of the controlled object.
  • the data model based on this model, optimizes the segment of the object's behavior selected by the user, automatically adjusts the parameters to make it conform to the rules and tends to be perfect.
  • the program steps are stored hierarchically based on different controlled objects before the parameters are adjusted accordingly and/or the program steps are modified to generate an updated visualization program.
  • the program steps of one type of controlled object and another type of controlled object are stored separately, thereby facilitating identification on the one hand and preventing confusion and incorrect calls on the other hand.
  • the present invention further provides a corresponding system for optimizing the behavior of a controlled object, wherein the controlled object generates the behavior under the action of a control instruction, the system comprising:
  • a behavior parsing unit configured to parse a behavior of the controlled object to generate a visualization program, wherein the generated visualization program includes each adjustable parameter and a program step for combining the parameter to control the controlled object;
  • a program update unit for adjusting the parameter and/or modifying the program step accordingly to generate an updated visualization program
  • a determining unit configured to use the updated visualization program for the controlled object, and determine, according to the executed result of the controlled object, whether the updated visualization program needs to be modified again;
  • the behavior parsing unit, the program updating unit, and the judging unit may communicate with each other and cooperate with each other by wire and/or wireless.
  • the parsing unit, the program update unit and the judging unit can be integrally formed as a single unit.
  • the unit can implement all the functions of the above three units and also includes a control command that can issue a corresponding controlled object.
  • the parsing unit may be configured to include a data acquisition device for acquiring sensor data from one or more sensors and/or a recording device and a central processor or operator that records user operational data. Therefore, the parsing unit can be implemented not only by hardware, but also by software, or a combination of the two.
  • the parsing unit can be implemented as or include a smart device installed with a specific App, such as a smart phone, a tablet, a smart toy handle, and the like.
  • the parsing unit can also be embodied as a central processor or an operator in a personal computer or other type of smart device.
  • the analysis processing unit can be embodied in particular as a cloud server or a cloud processor.
  • the judging unit can also be implemented not only by hardware, but also by software, or a combination of the two.
  • FIG. 1 shows an exemplary block diagram of a system 200 for reverse programming in accordance with the present invention
  • Figure 2 shows a schematic view of a toy car constructed as a controlled object 201 in the system 200 of Figure 1;
  • FIG. 3 shows a schematic diagram of a visualization program generated by the cloud server 203 in the case of FIG. 2;
  • Figure 4 shows a block diagram of an exemplary structure of the acquisition unit 203 in the system 200 according to Figure 1;
  • FIG. 5 A and b in Fig. 5 respectively show front and rear comparison diagrams of modifying and updating the visualization program by the program updating unit 2021 in the system 200 according to Fig. 4;
  • FIG. 6 shows an exemplary flow chart of a method 100 for reverse programming in accordance with the present invention
  • Figure 7 shows a schematic diagram of generating a program fragment by a plurality of program steps
  • FIG. 8 is a schematic diagram showing manually selecting one end motion track to generate a program segment
  • Fig. 9 is a diagram showing a program segment being repeatedly executed to cause a controlled object to draw a graphic.
  • a reverse programming method for programming a toy according to the present invention includes the following steps:
  • Parsing the behavioral feature data to generate a visualization program wherein the visualization program includes a plurality of adjustable parameters and a plurality of program steps for combining the parameters to control the controlled object;
  • Applying the updated visualization program to the controlled object causes the controlled object to generate a second behavior.
  • a reverse programming system for programming a toy according to the present invention includes the following modules:
  • a first behavior generating module causing a controlled object to generate a first behavior
  • a feature data obtaining module acquiring behavior characteristic data representing the first behavior
  • a parsing module parsing the behavioral feature data to generate a visualization program, wherein the visualization program includes a plurality of adjustable parameters and a plurality of program steps for combining the parameters to control the controlled object;
  • Interface module providing a visual program adjustment interface for the user to adjust the parameters and/or the program steps
  • a visualization module receiving an adjustment of the parameter and/or the program step by a user, and generating an updated visualization program
  • the second behavior generating module applying the updated visualization program to the controlled object, causing the controlled object to generate a second behavior.
  • the reverse programming method and system for the programming toy provided by the present invention, in the inventive concept, to facilitate learning programming skills, parsing behavior characteristic data generated by the first behavior generated by the controlled object into a plurality of program steps,
  • This provides the user with an initial programming base object, and the user can further program based on the programming base object, such as modifying the number of executions, the execution order, etc., thereby obtaining the updated program steps, and then according to the updated program steps.
  • the second behavior may be A part of the behavior of a behavior, that is, the second behavior is a behavioral component of the first behavior, thereby implementing program multiplexing, and the multiplexing is based on multiplexing under the premise of visualization.
  • the first act is produced. It may be in a local input program of the controlled object or in a wired manner, or may be a wireless method such as a remote controller to indicate that the controlled object generates the first behavior; specifically, the program that the carrier can be programmed, or may be a graphic
  • the means input instruction is converted into a program by the instruction transcoding technique, for example, drawing a path for the controlled object to act according to the path. It is also possible to allow recording of the behavior of the controlled object, thereby generating data information in which the first behavior is recorded.
  • the controlled object is controlled by an external device of the reverse programming system of the programming toy.
  • the first behavior generating module or step records or replays the behavior that has occurred in real time in only one or several of the time periods to complete the recording, and the first behavior generating module or step causes the controlled object
  • the first behavior is generated to control the time at which the behavior of the controlled object is recorded and recorded to produce the first behavior.
  • the first behavior can be characterized according to the information in the control link of the first behavior.
  • the toy car is controlled by the remote control handle as the controlled object, and the motion behavior of the toy vehicle corresponds to the control command of the remote control handle.
  • the composite of the control command or the plurality of control commands is mapped to a motion behavior that is mapped to the toy vehicle, such that the information in the control link of the first behavior constitutes a representation of the first behavior.
  • the voice signal command under voice control constitutes a representation of the first behavior.
  • the process of detecting the first behavior of the controlled object by means of an acceleration sensor or the like constitutes a representation of the first behavior.
  • the representation of the first behavior may directly constitute the behavior characteristic data, or may be processed by the data to form the behavior characteristic data.
  • parsing is a reverse programming method, and the program steps are obtained from the programming result.
  • different parsing algorithms can obtain different program steps, for example, the toy car is shifted forward by 2 meters, and can be resolved first. Displace 1 m forward, then 1 m forward, or resolve to shift 3 m forward and then 1 m backward. This brings flexibility and versatility to the subsequent use of reverse programming.
  • Different program steps are different under different parsing algorithms, so that different program steps provide different difficulty in further modifying the programming.
  • the present invention addresses another important purpose of reverse programming.
  • the visual program adjustment interface can be presented in the entire display screen, that is, the entire area of the display screen is adjusted as a visual program interface, and can also be presented in a partial display screen.
  • the content displayed therein can be not limited to the programming link.
  • the second act In a specific implementation of the present invention, the user may need to resolve the reverse programming method multiple times to obtain a final satisfactory programming result.
  • the previous second behavior constitutes the first behavior of the latter parsing.
  • the second behavior can be formed after the first behavior is parsed and reverse-programmed.
  • the behavior formed by the next parsing reverse programming is referred to as the third behavior, but those skilled in the art can understand that for the next parsing reverse programming, the third behavior constitutes the second behavior, and thus It is an implementation under the concept of the present invention.
  • FIG. 1 shows an exemplary block diagram of a system 200 for reverse programming suitable for programming a toy, in accordance with the present invention, including a controlled object 201, an acquisition unit 202, and an analysis processing unit 203, wherein the controlled object 201 generates a specific behavior under the control command, and is recorded as a first behavior, which may include athletic behavior (such as toy vehicles), motion behavior (such as Transformers), expression behavior (such as dolls), and the like.
  • athletic behavior such as toy vehicles
  • motion behavior such as Transformers
  • expression behavior such as dolls
  • the controlled object 201 is constructed as a toy car, and a schematic view of the toy vehicle is shown in FIG. Among them, ROBO represents a toy car, the broken line indicates its motion trajectory, and the arrow indicates the direction of motion.
  • the obtaining unit 202 is configured to acquire behavior characteristic data characterizing the behavior of the controlled object.
  • the behavior characteristic data includes sensor data of angles, directions, and the like generated on the code wheel and the gyroscope of the sensor mounted on the toy car, and recorded user operation data.
  • the acquisition unit 202 is configured as a smartphone to which a specific App is installed.
  • a specific App is installed.
  • other smart devices such as a tablet computer, a smart toy handle, and the like are all conceivable.
  • the smartphone with the specific App can realize the data of the angle, the direction, and the like generated by the code wheel and the gyroscope which are installed on the toy car by wireless communication, and the recorded user operation data.
  • the wireless communication mode is implemented by using Bluetooth.
  • other suitable wireless communication methods such as Wifi, Near Field Communication (NFC), EnOcean, Zigbee, Z-Wave, etc. are all considered. of.
  • the analysis processing unit 203 is configured to perform analysis processing on the acquired behavior characteristic data to generate a corresponding visualization program, wherein the generated visualization program includes each adjustable parameter and is used to combine the parameters to control the received The program steps of the control object.
  • the analysis processing unit 203 is configured as a cloud server.
  • the analysis processing unit 203 can also be configured as a central processing unit or an arithmetic unit in a personal computer or other type of smart device.
  • the smart phone with the specific App installed can issue corresponding control actions of the toy car through bluetooth control commands, such as straight line, turn, etc.; on the other hand, the smart phone can also obtain the acquired sensor data and record.
  • the user operation data is synchronized to the cloud server via Bluetooth. Synchronizing this data to the cloud server is primarily due to data storage, synchronization, computation, and analytics processing considerations.
  • the data is synchronized to the cloud server from the smart phone (also referred to as a remote controller in this embodiment) installed with a specific App according to the principle of timing and quantification, and the synchronized data is in the cloud server.
  • the data of the toy car is stored separately from other controlled objects such as a transformer, a remote control aircraft, etc., so that when the data is called, the data needs to be called according to the category, thereby Data that fully complies with the interface requirements can be applied to the corresponding type of controlled object or product.
  • the start and end buttons there are two trigger buttons, the start and end buttons.
  • the cloud server analyzes the synchronized behavior characteristic data including the user operation data and the sensor data to generate a corresponding visualization program.
  • This process is implemented in a cloud server.
  • the respective visualization programs thus generated may comprise different kinds and/or different numbers of code blocks based on different controlled objects.
  • the code block includes a logic code block and a behavior code block.
  • a logical code block can be understood as a code block such as a loop, a jump, a comparison judgment, and the like; and a behavior code block can be understood as a code block that controls the behavior of a controlled object such as a motion or an action.
  • FIG. 3 shows a schematic diagram of a visualization program generated by a cloud server.
  • the program includes a plurality of code blocks and the contents thereof are: First, the program starts, and executes the code block 15 times therein, the code block representing the path of the toy car with its storage (path, ie, series, associated program commands) The set) moves clockwise for the guidance. After the loop ends, it enters the next loop, and executes the code block 25 times. The code block indicates that the stored path is used to move clockwise. After the end of the loop, the toy car stops moving.
  • path ie, series, associated program commands
  • the corresponding data acquired mainly includes speed (for example, a parameter range of 0-100) and a direction (a parameter range of 0, 1, -1, wherein 0 means no change, 1 means left turn of relative position, -1 means right turn of relative position), angle (parameter range -180 degrees - 180 degrees, relative position) and other variables, thus considering all the above toy cars
  • speed for example, a parameter range of 0-100
  • direction a parameter range of 0, 1, -1, wherein 0 means no change, 1 means left turn of relative position, -1 means right turn of relative position
  • angle parameter range -180 degrees - 180 degrees, relative position
  • a block diagram of an exemplary structure of the acquisition unit 202 in the system 200 according to Fig. 1 is shown in Fig. 4.
  • a program update unit which is formed as a component of the acquisition unit 202 in this embodiment is also shown. 2021 and judging unit 2022.
  • the program update unit 2021 is configured to adjust the parameters accordingly and/or modify the program steps to generate an updated visualization program.
  • the program updating unit 2021 is implemented as an input and adjustment mechanism implemented by software in a specific App installed in the mobile phone, by which the corresponding parameters can be adjusted, and the program steps are modified (in this embodiment Code block).
  • the program update unit 2021 can be embodied as a physical input and/or adjustment device in a smart device such as a smart phone, tablet or gamepad, in the case of integration with specific software.
  • the adjustment of the parameters is implemented, and the program steps (here, the blocks) are modified, that is, increased or decreased.
  • the program update unit 2021 may also exist separately as an integral part of the acquisition unit 202.
  • the user can manually modify the program steps by means of a specific app installed in the mobile phone, as shown in Figures 5a and 5b, the visualization program is performed by the program update unit 2021 in the system 200 according to Fig. 1.
  • a modified schematic diagram is shown, in which Figure 5a represents the visualization procedure prior to modification, and Figure 5b represents the visualization procedure after modification, with the difference that the parameters of the three left-handed commands are adjusted for the toy car such that its path of operation changes.
  • the advantage of manual modification is that it can fully mobilize the user's enthusiasm and stimulate the user's creativity, participate in the process of programming, enjoy the fun, and create a unique sequence of programs or programs that can be saved by other User reference use.
  • the step of generating an updated visualization program can also be implemented by a machine learning supervision learning algorithm.
  • the supervised learning algorithm through machine learning can automatically set a correct and perfect position for the toy car, thereby forming
  • the data model of the controlled object behavior is based on this model to optimize the object behavior segment selected by the user, and automatically adjust the parameters to make it conform to the rules and tend to be perfect.
  • this automatic optimization can reduce or reduce damage to the devices or equipment involved due to improper operation of the user or different surrounding environment, such as frequent acceleration, deceleration, approaching limit or even unreasonable steering may affect the power supply device.
  • the battery and the life of the actuator such as the motor.
  • the determining unit 2022 shown in FIG. 4 is configured to use the updated visualization program for the controlled object, and cause the controlled object to generate a second behavior according to the controlled object. The result is determined to determine whether the updated visualization program needs to be modified again.
  • the determination unit 2022 can be implemented by software in a specific App installed on the smartphone.
  • any other way or means to implement the function may be considered.
  • the determining unit 2022 may not exist separately as a component of other components, such as introducing some logic determining devices or modules. Or a software function as a function of logical operation or judgment.
  • the respective functional units or modules referred to above can communicate with each other and cooperate with each other by wire and/or wireless to implement data transmission, data sharing and synchronization.
  • FIG. 6 shows an exemplary flow diagram of a method 100 of reverse programming in accordance with the present invention in which a controlled object produces the behavior under the control of an instruction.
  • the method 100 includes the following steps:
  • a first step 101 acquiring behavior characteristic data that characterizes the behavior of the controlled object
  • a second step 102 analyzing the acquired behavior feature data to generate a corresponding visualization program, wherein the generated visualization program includes each adjustable parameter and is used to combine the parameter to control the controlled object Each program step.
  • a controlled object can be understood as a physical object and/or a virtual object that can generate a specific behavior under the action of a corresponding control command in the field of programmable toys, such as, for example, a toy car according to the above embodiments.
  • the control instructions can be understood as any executable program or sequence of programs that are transmitted to a controlled object by wired and/or wireless communication and that cause the controlled object to produce a particular behavior.
  • the control command can be an editable visualization program or a sequence of programs.
  • the physical objects described herein may include, for example, toy robots, toy cars, dolls, toy aircrafts, etc., all of which may receive control instructions in wired and/or wireless communication and generate specific behavior by executing these control instructions.
  • the specific behaviors described may include athletic behavior (such as toy vehicles), motion behavior (such as Transformers), expression behavior (such as dolls), and the like.
  • the present invention also provides a computer readable storage medium storing a computer program, the computer program being executed by a processor to implement the steps of the reverse programming method of the programmed toy.
  • the computer readable storage medium may be a computer peripheral storage device, or a memory of a computer hard disk or a server, or may be a storage chip of the smart terminal.
  • the storage of the server that stores the application in the application store.
  • the present invention also provides a smart device, including the reverse programming system of the programmed toy, or a computer readable storage medium storing the computer program.
  • the smart device may be a smart phone, a smart watch, smart glasses, a VR device, a projection device, a robot, a simulated cockpit, and a controlled object itself.
  • a program segment is generated according to part or all of the program steps that are continuously executed; wherein the visualization program adjustment interface includes a program segment adjustment interface for the user to adjust parameters and/or program steps in the program segment.
  • the visualization program adjustment interface includes a program segment adjustment interface for the user to adjust parameters and/or program steps in the program segment.
  • several consecutive steps of the program can be combined to generate a program fragment.
  • they can be combined into one program fragment or multiple program fragments.
  • the program segment is configured to constitute a program set of a plurality of merged program steps, and the effect of the program program segment after execution is equivalent to the effect of sequentially executing the plurality of merged program steps.
  • the user can simplify the number of program steps in the visualization program adjustment interface. For example, as shown in FIG. 7, the five program steps on the right side are selected and merged to generate one program segment on the left side.
  • the program segments can be adjusted, combined, and multiplexed in the same manner as the program steps.
  • program steps included in a program fragment can be added, deleted, and modified.
  • the order of execution or execution logic between multiple program segments can be changed to achieve a particular combination between multiple program segments.
  • it can be implemented by repeating the corresponding program segments a plurality of times, for example, as shown in FIG. 9, a program segment corresponding to a motion route is Repeatedly, the toy car can draw the figure of Figure 9.
  • a plurality of program segments may constitute a new program segment, or a program segment and a plurality of successively executed program steps form a new program segment; therefore, adding another program segment to another Program fragments can also implement adjustments to this program fragment.
  • the visual program adjustment interface acquires program steps constituting the program segment from the visualization program or the updated visualization program according to a user operation.
  • all program steps are presented, and the user operates on all program steps or part of the program steps, for example, multiple times of selection or multiple selection of multiple program steps, and the selected method may be that the user touches the touch screen.
  • the touch can also be selected by voice control.
  • the program step constituting the program segment is obtained from the virtual object behavior record; wherein the virtual object behavior record refers to the virtual object corresponding to the controlled object, according to the visualization program or the A record of the behavior of the updated visualization program execution.
  • the controlled object is a toy car, and the toy car moves according to a visual program.
  • the record of the motion process includes the motion track of the toy car.
  • the program steps corresponding to the motion track constitute a Program fragment. For example, as shown in FIG. 8, the shorter route between the two flags in the left motion track is manually selected by the user to generate a program segment on the right side.
  • the program steps constituting the program segment are obtained from the visualization program or the updated visualization program in accordance with the set time and space parameters.
  • the space-time parameter may be a parameter such as a location area, a cumulative motion distance, an absolute motion distance, and a time.
  • system, apparatus, and modules thereof provided by the present invention can be fully implemented by logically programming the method steps, except that the system, apparatus, and various modules thereof provided by the present invention are implemented in purely computer readable program code.
  • the same program is implemented in the form of logic gates, switches, ASICs, programmable logic controllers, and embedded microcontrollers. Therefore, the system, the device and the respective modules provided by the present invention can be regarded as a hardware component, and the modules for implementing various programs included therein can also be regarded as a structure in the hardware component;
  • a module that implements various functions is considered to be either a software program that implements a method or a structure within a hardware component.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Toys (AREA)

Abstract

A reverse programming method (100), wherein a controlled object generates a behavior under the action of a control instruction. The method comprises the following steps: acquiring behavior feature data characterizing a behavior of a controlled object (101); and performing analysis processing on the acquired behavior feature data to generate a corresponding visual program (102), wherein the generated visual program comprises various adjustable parameters and various program steps for controlling the controlled object in conjunction with the parameters. Further provided are a corresponding system and device, and a medium. By parsing a behavior of a controlled object and generating a visual and editable program, for example, a visual program, a user is helped to vividly and concretely perceive a behavior of an object.

Description

编程玩具的反向编程的方法及系统、设备、介质Method and system, device and medium for programming reverse programming 技术领域Technical field
本发明涉及可编程玩具领域,具体地涉及一种编程玩具的反向编程的方法和相应的系统、智能设备、存储有计算机程序的计算机可读存储介质。The present invention relates to the field of programmable toys, and in particular to a method of programming a toy in reverse programming and a corresponding system, smart device, computer readable storage medium storing a computer program.
背景技术Background technique
专利文献CN102416265A公开一种变形金刚机器人玩具及方法,其中公开了一种让爱好者自己对机器人进行编程的平台,其中机器人的动作、形态可以自由自主编排,能够多单元接听控制命令,是一种新颖,灵活,具有一定智能性的机器人。Patent document CN102416265A discloses a transformer robot toy and method, and discloses a platform for a fan to program the robot himself. The action and shape of the robot can be freely arranged and can be controlled by multiple units. Novel, flexible, and intelligent robots.
专利文献CN1338965公开一种具有借助于通信装置实现的更灵活的编程功能的微处理器控制的玩具组合元件。Patent document CN1338965 discloses a microprocessor-controlled toy combination element having a more flexible programming function implemented by means of a communication device.
专利文献CN1244435公开一种可编程的玩具,其中通过构成为键盘的操作装置借助于微处理器发出控制命令给构成为受控对象的玩具汽车中的马达,通过马达对控制命令的执行,玩具汽车可以做出相应的行为动作。Patent document CN1244435 discloses a programmable toy in which a control device, which is embodied as a keyboard, issues a control command to a motor in a toy vehicle that is a controlled object by means of a microprocessor, and the execution of the control command by the motor, the toy car The corresponding behavior can be made.
专利文献CN1267228A公开一种可编程组合式玩具,其中包括可控玩具单元和通过无线电对其进行控制的可编程控制系统。Patent document CN1267228A discloses a programmable modular toy comprising a controllable toy unit and a programmable control system for controlling it by radio.
此外,专利文献CN202096722U还公开一种可编程学习型机器人,其中可以通过卡片输入的方式进行编程。Furthermore, the patent document CN202096722U also discloses a programmable learning robot in which programming can be performed by means of card input.
此外,专利文献CN105363223A还公开一种基于NFC的智能可编程 积木玩具。其中,将NFC(近场通信)技术应用至积木玩具上,通过搭建积木的形式使得儿童体验到编程的乐趣,从而使得积木玩具不仅仅是空间形状的拼接与组合,增强了对儿童的吸引力。Furthermore, the patent document CN105363223A also discloses an intelligent programmable building block toy based on NFC. Among them, the application of NFC (Near Field Communication) technology to building blocks toys allows children to experience the fun of programming by building blocks, which makes building blocks more than just the stitching and combination of space shapes, enhancing the attraction to children. .
当前可知的是一款由麻省理工学院(MIT,Massachusetts Institute of Technology)设计开发的一款面向少年的简易编程工具Scratch。这个软件的特点是:使用者可以不认识英文单词,也可以不会使用键盘。构成程序的命令和参数通过积木形状的模块来实现。用鼠标拖动模块到程序编辑栏就可以了。其中主要涉及可以用来选择的功能模块和由此编辑出的程序代码,编辑好的程序代码可以执行用于控制某个对象执行相应的运动、交互、形态变化、表情改变以及相应的发出声音。一般而言,编程能力需要用户拥有一定的编程技术知识以及逻辑思考能力,而这对于没有经过系统学习编程的用户来说,在具体操作中容易遇到问题,或者无法在操作中完成预期的效果,感觉枯燥乏味,从而放弃学习。因此,在将编辑好的程序代码执行用于控制某个受控对象(其中例如包括实体对象和虚拟对象)执行相应的运动、交互、形态变化、表情改变以及相应的发出声音的过程中,由于执行环境的多样性以及执行过程中的具体情况的变化,受控对象极其容易产生令用户并不是太满意的执行效果,或者由于用户可能在美学方面的高要求从而使得执行过程有待优化,这样就需要一种可能,也就是用户可以通过对编程技巧要求并不高的途径(例如上述图形化编程环境)实现对受控对象的执行过程进行改变或者进一步调整。What is currently known is Scratch, a simple programming tool for teenagers designed and developed by the Massachusetts Institute of Technology (MIT). The feature of this software is that the user can not know the English words or use the keyboard. The commands and parameters that make up the program are implemented by modules in the shape of a building block. Use the mouse to drag the module to the program edit bar. It mainly involves the function modules that can be used for selection and the program code thus edited. The edited program code can be executed to control an object to perform corresponding motions, interactions, morphological changes, expression changes, and corresponding sounds. In general, programming ability requires the user to have certain programming technical knowledge and logical thinking ability, which is easy for users who have not undergone system learning programming, or encounter the expected effect in the operation. I feel dull and boring, so I give up studying. Therefore, in the process of executing the edited program code for controlling a controlled object (including, for example, a solid object and a virtual object) to perform corresponding motions, interactions, morphological changes, expression changes, and corresponding sounds, The diversity of the execution environment and the changes in the specific conditions during the execution process, the controlled object is extremely easy to produce an execution effect that the user is not too satisfied, or the implementation process needs to be optimized due to the high aesthetic requirements of the user, so that There is a need for a possibility that the user can make changes or further adjustments to the execution of the controlled object by means of less demanding programming techniques, such as the graphical programming environment described above.
发明内容Summary of the invention
因此本发明的目的在于,提供一种编程玩具的反向编程的方法和相应的系统、智能设备、存储有计算机程序的计算机可读存储介质。尤其 是在可编程玩具领域中,提供如下可能,即通过解析受控对象的行为并且生成可视化并且可编辑的程序例如可视化程序,从而帮助用户形象具体地认知物体行为,进而启发用户运用自己的想象力和创造力可以亲自参与到编程中。It is therefore an object of the present invention to provide a method of programming a toy in reverse programming and a corresponding system, smart device, computer readable storage medium storing the computer program. Especially in the field of programmable toys, it is possible to provide a visually and editable program, such as a visualization program, by analyzing the behavior of a controlled object, thereby helping the user to specifically recognize the behavior of the object, thereby inspiring the user to use his own Imagination and creativity can be personally involved in programming.
根据本发明提供的一种编程玩具的反向编程方法,包括如下步骤:A reverse programming method for programming a toy according to the present invention includes the following steps:
令一受控对象产生第一行为;Causing a controlled object to produce a first action;
获取表征所述第一行为的行为特征数据;Obtaining behavioral feature data characterizing the first behavior;
解析所述行为特征数据从而生成可视化程序,其中所述可视化程序包括多个可调整的参数和用于结合所述参数以控制所述受控对象的多个程序步骤;Parsing the behavioral feature data to generate a visualization program, wherein the visualization program includes a plurality of adjustable parameters and a plurality of program steps for combining the parameters to control the controlled object;
提供一可视化程序调整界面,供使用者调整所述参数和/或所述程序步骤;Providing a visual program adjustment interface for the user to adjust the parameters and/or the program steps;
接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序;Receiving adjustments by the user to the parameters and/or the program steps to generate an updated visualization program;
将所述更新的可视化程序作用于所述受控对象,令所述受控对象产生第二行为。Applying the updated visualization program to the controlled object causes the controlled object to generate a second behavior.
优选地,包括如下步骤:Preferably, the method comprises the following steps:
根据连续执行的部分或全部程序步骤,生成程序片段;其中,所述可视化程序调整界面包括程序片段调整界面,供使用者调整所述程序片段中的参数和/或程序步骤。The program segment is generated according to part or all of the program steps that are continuously executed; wherein the visualization program adjustment interface includes a program segment adjustment interface for the user to adjust parameters and/or program steps in the program segment.
优选地,所述部分或全部程序步骤,通过如下任一种方式获取:Preferably, the part or all of the program steps are obtained by any of the following methods:
-在所述可视化程序调整界面,根据使用者的操作,从所述可视化程序或者所述更新的可视化程序中获取;- obtaining, in the visualization program adjustment interface, from the visualization program or the updated visualization program according to a user's operation;
-从虚拟对象行为记录中获取;其中,所述虚拟对象行为记录是指,对应于所述受控对象的虚拟对象,按照所述可视化程序或者所述更新的 可视化程序执行所产生行为的记录;Obtaining from the virtual object behavior record; wherein the virtual object behavior record refers to a virtual object corresponding to the controlled object, and performing a record of the generated behavior according to the visualization program or the updated visualization program;
-按照设定的时空参数,从所述可视化程序或所述更新的可视化程序中获取。- Obtained from the visualization program or the updated visualization program in accordance with the set time and space parameters.
优选地,所述的接收使用者对所述参数和/或所述程序步骤的调整的步骤,包括如下步骤:Preferably, the step of receiving adjustment of the parameter and/or the program step by the user comprises the following steps:
接收使用者对所述程序片段的如下任一种或任多种操作:Receiving any one or any of the following operations of the user on the program segment:
-调整;-Adjustment;
-组合;-combination;
-复用。- Reuse.
优选地,所述受控对象为实体物体或虚拟物体;Preferably, the controlled object is a physical object or a virtual object;
所述实体物体的行为特征数据,包括通过一个或多个传感器获取的传感器数据和/或对实体物体的用户操作数据;Behavior characteristic data of the physical object, including sensor data acquired by one or more sensors and/or user operation data for the physical object;
所述虚拟物体的行为特征数据,包括来自于所述虚拟物体的软件载体中由软件开发工具包收集的数据。The behavioral feature data of the virtual object includes data collected by a software development kit from a software carrier of the virtual object.
优选地,所述获取表征所述第一行为的行为特征数据的步骤,持续进行或者通过触发方式实现。Preferably, the step of acquiring the behavior characteristic data characterizing the first behavior is performed continuously or by a triggering manner.
优选地,所述生成的相应的可视化程序基于不同的受控对象包括不同种类和/或不同数量的代码块。Preferably, the generated respective visualization program includes different kinds and/or different numbers of code blocks based on different controlled objects.
优选地,在所述的解析所述行为特征数据从而生成可视化程序的步骤中,根据不同的受控对象采用相应不同的算法。Preferably, in the step of parsing the behavior characteristic data to generate a visualization program, corresponding different algorithms are adopted according to different controlled objects.
优选地,在所述的接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序的步骤中,通过手动方式实现,或者通过机器学习的监督学习算法实现。Preferably, in the step of receiving the adjustment of the parameter and/or the program step by the user to generate an updated visualization program, the method is implemented manually or by a supervised learning algorithm of machine learning.
优选地,在所述的生成更新的可视化程序的步骤之前,分类地基于不同受控对象对所述程序步骤进行存储。Preferably, the program steps are stored in a sorted manner based on different controlled objects prior to the step of generating an updated visualization program.
根据本发明提供的一种编程玩具的反向编程系统,包括如下模块:A reverse programming system for programming a toy according to the present invention includes the following modules:
第一行为产生模块:令一受控对象产生第一行为;a first behavior generating module: causing a controlled object to generate a first behavior;
特征数据获取模块:获取表征所述第一行为的行为特征数据;a feature data obtaining module: acquiring behavior characteristic data representing the first behavior;
解析模块:解析所述行为特征数据从而生成可视化程序,其中所述可视化程序包括多个可调整的参数和用于结合所述参数以控制所述受控对象的多个程序步骤;a parsing module: parsing the behavioral feature data to generate a visualization program, wherein the visualization program includes a plurality of adjustable parameters and a plurality of program steps for combining the parameters to control the controlled object;
界面模块:提供一可视化程序调整界面,供使用者调整所述参数和/或所述程序步骤;Interface module: providing a visual program adjustment interface for the user to adjust the parameters and/or the program steps;
可视化模块:接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序;a visualization module: receiving an adjustment of the parameter and/or the program step by a user, and generating an updated visualization program;
第二行为产生模块:将所述更新的可视化程序作用于所述受控对象,令所述受控对象产生第二行为。The second behavior generating module: applying the updated visualization program to the controlled object, causing the controlled object to generate a second behavior.
优选地,包括如下模块:Preferably, the following modules are included:
程序片段生成模块:根据连续执行的部分或全部程序步骤,生成程序片段;其中,所述可视化程序调整界面包括程序片段调整界面,供使用者调整所述程序片段中的参数和/或程序步骤。The program fragment generation module: generates a program segment according to part or all of the program steps that are continuously executed; wherein the visualization program adjustment interface includes a program segment adjustment interface for the user to adjust parameters and/or program steps in the program segment.
优选地,所述部分或全部程序步骤,通过如下任一种方式获取:Preferably, the part or all of the program steps are obtained by any of the following methods:
-在所述可视化程序调整界面,根据使用者的操作,从所述可视化程序或者所述更新的可视化程序中获取;- obtaining, in the visualization program adjustment interface, from the visualization program or the updated visualization program according to a user's operation;
-从虚拟对象行为记录中获取;其中,所述虚拟对象行为记录是指,对应于所述受控对象的虚拟对象,按照所述可视化程序或者所述更新的可视化程序执行所产生行为的记录;Obtaining from the virtual object behavior record; wherein the virtual object behavior record refers to a virtual object corresponding to the controlled object, and performing a record of the generated behavior according to the visualization program or the updated visualization program;
-按照设定的时空参数,从所述可视化程序或所述更新的可视化程序中获取。- Obtained from the visualization program or the updated visualization program in accordance with the set time and space parameters.
优选地,所述的接收使用者对所述参数和/或所述程序步骤的调整 的方式,包括如下方式:Preferably, the manner of receiving the adjustment of the parameter and/or the program step by the user includes the following manner:
接收使用者对所述程序片段的如下任一种或任多种操作:Receiving any one or any of the following operations of the user on the program segment:
-调整;-Adjustment;
-组合;-combination;
-复用。- Reuse.
优选地,所述受控对象为实体物体或虚拟物体;Preferably, the controlled object is a physical object or a virtual object;
所述实体物体的行为特征数据,包括通过一个或多个传感器获取的传感器数据和/或对实体物体的用户操作数据;Behavior characteristic data of the physical object, including sensor data acquired by one or more sensors and/or user operation data for the physical object;
所述虚拟物体的行为特征数据,包括来自于所述虚拟物体的软件载体中由软件开发工具包收集的数据。The behavioral feature data of the virtual object includes data collected by a software development kit from a software carrier of the virtual object.
优选地,所述获取表征所述第一行为的行为特征数据的方式,持续进行或者通过触发方式实现。Preferably, the manner of obtaining the behavior characteristic data representing the first behavior is performed continuously or by a triggering manner.
优选地,所述生成的相应的可视化程序基于不同的受控对象包括不同种类和/或不同数量的代码块。Preferably, the generated respective visualization program includes different kinds and/or different numbers of code blocks based on different controlled objects.
优选地,在所述的解析所述行为特征数据从而生成可视化程序的方式中,根据不同的受控对象采用相应不同的算法。Preferably, in the manner of parsing the behavior characteristic data to generate a visualization program, corresponding different algorithms are adopted according to different controlled objects.
优选地,在所述的接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序的方式中,通过手动方式实现,或者通过机器学习的监督学习算法实现。Preferably, in the manner in which the receiving user adjusts the parameter and/or the program step to generate an updated visualization program, the method is implemented manually or by a supervised learning algorithm of machine learning.
优选地,在所述的生成更新的可视化程序之前,分类地基于不同受控对象对所述程序步骤进行存储。Preferably, the program steps are stored hierarchically based on different controlled objects prior to said generating the updated visualization program.
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的编程玩具的反向编程方法的步骤。According to the present invention, there is provided a computer readable storage medium storing a computer program, the computer program being executed by a processor to implement the step of the reverse programming method of programming a toy.
本发明提供的一种智能设备,包括所述的编程玩具的反向编程系统, 或者包括所述的存储有计算机程序的计算机可读存储介质。The invention provides a smart device comprising the reverse programming system of the programmed toy or the computer readable storage medium storing the computer program.
下面再通过更多的几个方面就本发明的发明构思与发明点进行更为具体的梳理与强调。In the following, the invention and the inventive aspects of the present invention will be more specifically combed and emphasized.
按照第一方面,本发明提出一种反向编程的方法,其中受控对象在控制指令的作用下产生行为,所述方法包括如下步骤:According to a first aspect, the present invention provides a method of reverse programming in which a controlled object generates behavior under the action of a control command, the method comprising the steps of:
获取表征所述受控对象行为的行为特征数据;Obtaining behavioral feature data characterizing the behavior of the controlled object;
对所述获取的行为特征数据进行分析处理从而生成相应的可视化程序,其中所述生成的可视化程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的各程序步骤。The acquired behavioral feature data is analyzed to generate a corresponding visualization program, wherein the generated visualization program includes respective adjustable parameters and respective program steps for combining the parameters to control the controlled object.
按照本发明的第一方面提出的方法的构思在于,以一种反向思维和反向操作的方式,将在控制指令的作用下结合具体的执行环境产生的受控对象的实际行为重新解析为相应的可视化程序,该可视化程序对于没有经过系统学习编程的用户来说形象、生动、容易理解,该可视化程序可以包括一个或多个可调整的参数和用于控制受控对象的一个或多个程序步骤。The idea of the method according to the first aspect of the present invention is to re-interpret the actual behavior of the controlled object generated by the control instruction in combination with the specific execution environment in a reverse thinking and reverse operation manner. Corresponding visualization program, which is visual, vivid and easy to understand for users who have not undergone system learning programming, the visualization program may include one or more adjustable parameters and one or more for controlling the controlled object Program steps.
在此,受控对象可以理解为在可编程玩具领域中可在相应的控制指令的作用下产生特定行为的实体物体或虚拟物体。所述控制指令可以理解为任何通过有线和/或无线通信方式传送给受控对象并使得受控对象产生特定行为的可执行的程序或程序序列。特别是该控制指令就可以是可编辑的并且可由受控对象执行的可视化程序或者程序序列。在此所述的实体物体可以包括例如玩具机器人、玩具汽车、玩偶、玩具飞行器等,这些实体物体均可以有线和/或无线通信方式接收控制指令并且通过执行这些控制指令产生特定行为。在此,所述受控对象的行为可以理解为包括运动行为(比如玩具车辆)、动作行为(比如变形金刚),表情行为(比如玩偶)等。Here, a controlled object can be understood as a physical object or a virtual object that can generate a specific behavior under the action of a corresponding control command in the field of programmable toys. The control instructions can be understood as any executable program or sequence of programs that are transmitted to a controlled object by wired and/or wireless communication and that cause the controlled object to produce a particular behavior. In particular, the control command can be a visualization program or a sequence of programs that can be edited and executed by the controlled object. The physical objects described herein may include, for example, toy robots, toy cars, dolls, toy aircrafts, etc., all of which may receive control instructions in wired and/or wireless communication and generate specific behavior by executing these control instructions. Here, the behavior of the controlled object can be understood to include athletic behavior (such as toy vehicles), motion behavior (such as Transformers), expression behavior (such as dolls), and the like.
有利地,按照本发明的第一方面提出的方法还可以包括:适应性调整所述参数和/或修改所述程序步骤,生成更新的可视化程序;将所述更新的可视化程序用于所述受控对象,根据所述受控对象执行后的结果确定是否需要对所述更新的可视化程序进行再次修改。由此可以以一种通过实际应用执行获得反馈的方式,在将在控制指令的作用下结合具体的执行环境产生的受控对象的实际行为重新解析为相应的可视化程序之后,针对该可视化程序包括的一个或多个可调整的参数和用于控制受控对象的一个或多个程序步骤根据需要进行相应调整,从而实现对该解析后生成的可视化程序的更新或修改,然后通过将更新或修改的可视化程序重新用于该受控对象,根据应用的结果来反馈更新或修改的效果,从而实现对该可视化程序的优化调整。其优点还在于,由于图形化编程环境的上述诸多优点,自然是用户参与编程的优选方式和编程环境。Advantageously, the method according to the first aspect of the invention may further comprise: adaptively adjusting said parameters and/or modifying said program steps to generate an updated visualization program; using said updated visualization program for said The control object determines whether the updated visualization program needs to be modified again according to the result of the execution of the controlled object. Therefore, after the actual behavior of the controlled object generated by combining the specific execution environment under the action of the control instruction is re-parsed into a corresponding visualization program in a manner of obtaining feedback through actual application, the visualization program is included for the visualization program. One or more adjustable parameters and one or more program steps for controlling the controlled object are adjusted as needed to implement an update or modification of the visualized program generated after the parsing, and then by updating or modifying The visualization program is reused for the controlled object, and the effect of updating or modifying is fed back according to the result of the application, thereby realizing the optimal adjustment of the visualization program. It also has the advantage that due to the above-mentioned many advantages of the graphical programming environment, it is naturally the preferred way and programming environment for the user to participate in programming.
有利地,所述获取表征所述受控对象行为的行为特征数据的步骤可以持续进行。这可以理解为,该步骤从所述受控对象接收控制指令并且通过执行控制指令产生行为开始可以一直在进行中。其优点在于,可以比较全面地监控受控对象在控制指令下的行为,从而随时监控其行为方式,尤其是当在执行过程中会出现突然或者意想不到的情况下是非常有利的。Advantageously, said step of obtaining behavioral feature data characterizing said controlled object behavior may be continued. This can be understood as the step of receiving a control command from the controlled object and starting the act by executing the control command can be ongoing. The advantage is that the behavior of the controlled object under the control command can be monitored comprehensively, so that the behavior of the controlled object can be monitored at any time, especially when there is a sudden or unexpected situation in the execution process.
有利地,所述获取表征所述受控对象行为的行为特征数据的步骤可以通过触发方式实现。这可以理解为,所述获取表征所述受控对象行为的行为特征数据的步骤可以根据需要按照用户的意愿选择性地进行,比如通过触发方式。这表示,获取该受控对象的行为特征数据的过程非自动运行,有明确的开始点和结束点,比如在具体实现中可以通过比如一个或两个实体或者虚拟按钮控制的方式来实现,比如点击开始按钮表示开始而点击结束按钮表示该过程结束。自然其他任何能实现同样功能的 方式也都是可以考虑的。Advantageously, said step of obtaining behavioral feature data characterizing said controlled object behavior can be implemented by means of a trigger. It can be understood that the step of obtaining behavioral feature data characterizing the behavior of the controlled object can be selectively performed according to the user's wishes as needed, such as by a triggering method. This means that the process of obtaining the behavioral feature data of the controlled object is not automatically run, and has a clear starting point and an ending point, for example, in a specific implementation, such as one or two entities or virtual button control, such as Clicking the Start button indicates the start and clicking the End button indicates the end of the process. Naturally any other way to achieve the same function can be considered.
有利地,当所述受控对象是实体物体的情况下,所述行为特征数据可以包括通过一个或多个传感器获取的传感器数据和/或自动记录的用户操作数据。在此所述一个或多个传感器可以理解为包括安装在受控对象内部和/或受控对象之外的用于检测特定物理量的传感器,例如速度传感器、加速度传感器、转速传感器、位移传感器、间距传感器、陀螺仪等。用户操作数据通常可以包括例如加速、减速、左转、右转等以及相应的操作作用程度。Advantageously, where the controlled object is a physical object, the behavioral feature data may comprise sensor data acquired by one or more sensors and/or automatically recorded user operational data. The one or more sensors described herein may be understood to include sensors for detecting a specific physical quantity, such as a speed sensor, an acceleration sensor, a rotational speed sensor, a displacement sensor, a pitch, installed inside the controlled object and/or outside the controlled object. Sensors, gyroscopes, etc. User operational data may typically include, for example, acceleration, deceleration, left turn, right turn, etc., and the corresponding degree of operational action.
一般地,当所述受控对象是实体物体的情况下,通常综合考虑该实体受控对象在执行相应控制命令期间的传感器数据和用户操作数据来实现对受控对象的行为解析。在此应当阐明的是,之所以在实体物体的情况下采用传感器数据和用户操作数据来综合体现实体物体的行为以便反应其实际行为情况,是因为在通过对比传感器的数据诸如加速度传感器的数据与用户操作数据比如加速、减速的数据,可以考虑通过操作数据预设的预期值与传感器具体体现的实际参数的差异,从而得知通过传感器得知的物体实际行为与通过用户操作数据想要实现的物体行为之间是否存在不同,从而得知物体行为是否存在异常,以此判断是否要引入校准策略诸如校准算法等。例如,假如受控对象是在地上运动的玩具车,那么基于地面的不同摩擦系数、障碍物、甚至风力情况等就可能导致其执行用户操作数据过程中产生差异。当然其他传感器检测的物理量也应存在相似的情况。Generally, when the controlled object is a physical object, the behavior analysis of the controlled object is generally implemented by comprehensively considering sensor data and user operation data of the entity controlled object during execution of the corresponding control command. It should be clarified here that the reason why the sensor data and the user operation data are used in the case of a physical object to comprehensively reflect the behavior of the physical object in order to reflect its actual behavior is because the data of the contrast sensor is used, such as the data of the acceleration sensor. The user operates data such as acceleration and deceleration data, and can consider the difference between the expected value preset by the operation data and the actual parameter embodied by the sensor, thereby knowing the actual behavior of the object learned by the sensor and the desired operation through the user operation data. Whether there is a difference between the behaviors of the objects, so as to know whether there is an abnormality in the behavior of the object, thereby judging whether a calibration strategy such as a calibration algorithm is to be introduced. For example, if the controlled object is a toy car that moves on the ground, different friction coefficients, obstacles, and even wind conditions based on the ground may cause differences in the process of executing the user's operational data. Of course, there should be similar situations in the physical quantities detected by other sensors.
有利地,当所述受控对象是虚拟物体的情况下,所述行为特征数据可以包括来自于所述虚拟物体的软件载体中由软件开发工具包(SDK,Software Development Kit)收集的数据。在此,通常按照虚拟物体的行为方式设定数据采集点。例如,当所述受控对象是一款运行在平板电 脑上的赛车游戏时,虚拟物体的行为特征数据主要包括涉及虚拟摇杆、油门、刹车的相关参数和数据,要采集这些数据就要在游戏研发时接入数据采集的软件开发工具包(SDK),为这些操作设置数据采集点。Advantageously, where the controlled object is a virtual object, the behavioral feature data may comprise data collected by a Software Development Kit (SDK) from a software carrier of the virtual object. Here, the data collection point is usually set in accordance with the behavior of the virtual object. For example, when the controlled object is a racing game running on a tablet computer, the behavioral characteristic data of the virtual object mainly includes related parameters and data related to the virtual rocker, the throttle, the brake, and the data to be collected is A software development kit (SDK) that accesses data acquisition during game development to set up data collection points for these operations.
有利地,所述生成的相应的可视化程序基于不同的受控对象可以包括不同种类和/或不同数量的代码块。其中,所述代码块可以包括逻辑代码块和行为代码块。在此可以将逻辑代码块理解为循环、跳转、比较判断等诸如此类的代码块;而行为代码块可理解为控制受控对象的行为诸如运动或动作等的代码块。Advantageously, said generated respective visualization programs may comprise different kinds and/or different numbers of code blocks based on different controlled objects. Wherein, the code block may include a logic code block and a behavior code block. Here, a logical code block can be understood as a code block such as a loop, a jump, a comparison judgment, and the like; and a behavior code block can be understood as a code block that controls the behavior of a controlled object such as a motion or an action.
有利地,在对所述获取的行为特征数据进行分析处理从而生成相应的可视化程序中,可以根据不同的受控对象采用相应不同的算法。例如对当受控对象是玩具汽车的情况下,在该玩具汽车的行为特征数据进行分析处理过程中,获取的相应数据主要包含速度(比如参数范围为0——100)、方向(参数范围为0、1、-1,其中0表示没有变化,1表示相对位置的左转,-1表示相对位置的右转)、角度(参数范围-180度——180度,相对位置)等变量,从而在考虑所有上述玩具汽车相关的数据的情况下,按预设规则将其转化为一组或多组可视化程序或代码块。根据上述例子,所谓预设规则可以如下表1所示:Advantageously, in the analysis processing of the acquired behavior feature data to generate a corresponding visualization program, corresponding different algorithms may be adopted according to different controlled objects. For example, in the case that the controlled object is a toy car, in the process of analyzing and analyzing the behavior characteristic data of the toy car, the corresponding data acquired mainly includes speed (for example, a parameter range of 0-100) and a direction (the parameter range is 0, 1, -1, where 0 means no change, 1 means left turn of relative position, -1 means right turn of relative position), angle (parameter range -180 degrees - 180 degrees, relative position), etc. In the case of considering all of the aforementioned toy car related data, it is converted into one or more sets of visualization programs or code blocks according to a preset rule. According to the above example, the so-called preset rules can be as shown in Table 1 below:
行为behavior 速度speed 方向direction 角度angle
直行straight 大于0Greater than 0 00 00
左转Turn left 大于0Greater than 0 11 范围-175至0Range -175 to 0
右转Turn right 大于0Greater than 0 -1-1 范围0至175Range 0 to 175
倒退fall back 大于0Greater than 0 00 范围176至180、-176至-179Range 176 to 180, -176 to -179
停止stop 等于0Equal to 0 00 00
表1Table 1
有利地,在调整所述参数和/或修改所述程序步骤生成更新的可视 化程序的步骤中通过手动方式实现。这可以理解为,在此过程中,用户可以根据自己的意愿,自由调整相应的参数,比如增大或者减小该参数的数值(诸如速度),改变其符号(诸如方向),以及自由修改所述程序步骤,比如增加或者删减一个或多个程序步骤。其优点在于,可以充分调动用户的积极性以及激发用户的创造性,亲身参与到编程的过程中,享受其中的乐趣,并且其自身创造出的别出心裁的程序或程序序列也可以在保存之后由其他用户参考使用。Advantageously, this is done manually in the step of adjusting the parameters and/or modifying the program steps to generate an updated visualization program. This can be understood as: in this process, the user can freely adjust the corresponding parameters according to his own wishes, such as increasing or decreasing the value of the parameter (such as speed), changing its symbol (such as direction), and freely modifying the The steps of the program, such as adding or deleting one or more program steps. The advantage is that it can fully mobilize the user's enthusiasm and stimulate the user's creativity, participate in the process of programming, enjoy the fun, and create a unique sequence of programs or programs that can be saved by other users after saving. use.
有利地,在调整所述参数和/或修改所述程序步骤生成更新的可视化程序的步骤中通过机器学习的监督学习算法实现。由于受控对象的行为可能存在不够优美的路径曲线、停顿,不够柔和的动作表达,通过机器学习的监督学习算法可以自动为指定物体设定正确、完美的行为准则,从而形成受控对象行为的数据模型,基于此模型优化用户选择的物体行为片段,自动调整其中参数,使其符合规则、趋于完美。Advantageously, the step of adjusting the parameters and/or modifying the program steps to generate an updated visualization program is implemented by a machine learning supervised learning algorithm. Because the behavior of the controlled object may have a path curve, pause, and soft motion expression, the supervised learning algorithm through machine learning can automatically set correct and perfect behavior rules for the specified object, thus forming the behavior of the controlled object. The data model, based on this model, optimizes the segment of the object's behavior selected by the user, automatically adjusts the parameters to make it conform to the rules and tends to be perfect.
有利地,在相应地调整所述参数和/或修改所述程序步骤生成更新的可视化程序的步骤之前,分类地基于不同受控对象对所述程序步骤进行存储。由此一种类型的受控对象与另一种类型的受控对象的程序步骤是分开分类保存的,从而一方面便于识别,另一方面防止混淆和错误调用。Advantageously, the program steps are stored hierarchically based on different controlled objects prior to the step of adjusting the parameters accordingly and/or modifying the program steps to generate an updated visualization program. The program steps of one type of controlled object and another type of controlled object are stored separately, thereby facilitating identification on the one hand and preventing confusion and incorrect calls on the other hand.
相应地,根据本发明的第二方面,本发明还提出一种反向编程的系统,其中受控对象在控制指令的作用下产生行为,所述系统包括:Accordingly, according to a second aspect of the present invention, the present invention also provides a reverse programming system in which a controlled object generates behavior under the action of a control command, the system comprising:
获取单元,用于获取表征所述受控对象行为的行为特征数据;An obtaining unit, configured to acquire behavior characteristic data that characterizes the behavior of the controlled object;
分析处理单元,用于对所述获取的行为特征数据进行分析处理从而生成相应的可视化程序,其中所述生成的可视化程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的各程序步骤;An analysis processing unit, configured to perform an analysis process on the acquired behavior feature data to generate a corresponding visualization program, wherein the generated visualization program includes each adjustable parameter and is used to combine the parameter to control the controlled Each program step of the object;
其中所述获取单元与所述分析处理单元通过有线和/或无线方式相 互通信并且相互协作。The acquisition unit and the analysis processing unit communicate with each other through a wired and/or wireless manner and cooperate with each other.
有利地,所述获取单元还可以包括:程序更新单元,用于适应性地调整所述参数和/或修改所述程序步骤,生成更新的可视化程序;判断单元,用于将所述更新的可视化程序用于所述受控对象,根据所述受控对象执行后的结果确定是否需要对所述更新的可视化程序进行再次修改。自然地,也可以考虑的是,程序更新单元和判断单元不构成获取单元的组成部分而单独地存在。Advantageously, the obtaining unit may further comprise: a program updating unit for adaptively adjusting the parameter and/or modifying the program step to generate an updated visualization program; and a determining unit for visualizing the update The program is for the controlled object, and determines whether the updated visualization program needs to be modified again according to the result of the controlled object execution. Naturally, it is also conceivable that the program update unit and the decision unit do not form part of the acquisition unit and exist separately.
有利地,所述获取单元和分析处理单元可以一体地构成为一个唯一的单元。由此该唯一的单元不仅可以获取表征所述受控对象行为的行为特征数据,而且也可以用于对所述获取的行为特征数据进行分析处理从而生成相应的可视化程序,此外如果可能该唯一的单元也可以发出对相应受控对象的控制指令。Advantageously, the acquisition unit and the analysis processing unit can be embodied in one piece as a single unit. Thereby, the unique unit can not only obtain the behavior characteristic data representing the behavior of the controlled object, but also can be used for analyzing and processing the acquired behavior characteristic data to generate a corresponding visualization program, and if possible, the unique The unit can also issue control commands to the corresponding controlled object.
有利地,所述获取单元可以构成为用于采集来自一个或多个传感器的传感器数据的数据采集装置和/或记录用户操作数据的记录装置。因此,所述获取单元不仅可以通过硬件方式实现,而且也可以通过软件方式实现,或者两者的结合。比如,该获取单元可以实现为安装有特定的App的智能装置,如智能手机,平板电脑,智能玩具手柄等。Advantageously, the acquisition unit may be configured as a data acquisition device for acquiring sensor data from one or more sensors and/or a recording device for recording user operational data. Therefore, the obtaining unit can be implemented not only by hardware, but also by software, or a combination of the two. For example, the acquisition unit can be implemented as a smart device installed with a specific App, such as a smart phone, a tablet, a smart toy handle, and the like.
有利地,所述分析处理单元可以构成为个人计算机或其他类型的智能装置中的中央处理器或者运算器。此外分析处理单元尤其是可以构成为云服务器或者云处理器。Advantageously, the analysis processing unit can be constructed as a central processor or operator in a personal computer or other type of smart device. In addition, the evaluation unit can be embodied as a cloud server or a cloud processor.
此外,按照本发明的第三方面,本发明还提出一种用于优化受控对象的行为的方法,其中所述受控对象在控制指令的作用下产生所述行为,所述方法包括如下步骤:Further, according to a third aspect of the present invention, the present invention also provides a method for optimizing the behavior of a controlled object, wherein the controlled object generates the behavior under the action of a control instruction, the method comprising the following steps :
解析所述受控对象的行为生成可视化程序,其中所述生成的可视化程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的 程序步骤;Parsing the behavior of the controlled object to generate a visualization program, wherein the generated visualization program includes respective adjustable parameters and program steps for combining the parameters to control the controlled object;
相应地调整所述参数和/或修改所述程序步骤,生成更新的可视化程序;Adjusting the parameters accordingly and/or modifying the program steps to generate an updated visualization program;
将所述更新的可视化程序用于所述受控对象,根据所述受控对象执行后的结果确定是否需要对所述更新的可视化程序进行再次修改。The updated visualization program is used for the controlled object, and it is determined whether the updated visualization program needs to be modified again according to the result of the controlled object execution.
按照本发明的第三方面提出的方法的构思在于,以一种通过实际应用执行获得反馈的方式,在将在控制指令的作用下结合具体的执行环境产生的受控对象的实际行为重新解析为相应的可视化程序之后,针对该可视化程序包括的一个或多个可调整的参数和用于控制受控对象的一个或多个程序步骤根据需要进行相应调整,从而实现对该解析后生成的可视化程序的更新或修改,然后通过将更新或修改的可视化程序重新用于该受控对象,根据应用的结果来反馈更新或修改的效果,从而实现对该可视化程序的优化调整。The idea of the method according to the third aspect of the present invention is to re-interpret the actual behavior of the controlled object generated by combining the specific execution environment under the action of the control instruction in a manner of obtaining feedback through actual application execution. After the corresponding visualization program, the one or more adjustable parameters included in the visualization program and one or more program steps for controlling the controlled object are adjusted as needed to implement the visualization program generated after the analysis Update or modify, and then re-use the updated or modified visualization program for the controlled object, and feedback the effect of the update or modification according to the result of the application, thereby achieving optimal adjustment of the visualization program.
有利地,解析所述受控对象的行为生成可视化程序的步骤可以根据按照本发明上文的第一方面中所述的方法实现。具体关于第一方面中所示的方法可以参照上文,在此不再赘述。Advantageously, the step of parsing the behavior of the controlled object to generate a visualization program can be implemented according to the method described in the first aspect above according to the invention. For details about the method shown in the first aspect, reference may be made to the above, and details are not described herein again.
有利地,在调整所述参数和/或修改所述程序步骤,生成更新的可视化程序的步骤中可以通过手动调整和/或修改的方式实现。这可以理解为,在此过程中,用户可以根据自己的意愿,自由调整相应的参数,比如增大或者减小该参数的数值(诸如速度),改变其符号(诸如方向),以及自由修改所述程序步骤,比如增加或者删减一个或多个程序步骤。其优点在于,可以充分调动用户的积极性以及激发用户的创造性,亲身参与到编程的过程中,享受其中的乐趣,并且其自身创造出的别出心裁的程序或程序序列也可以在保存之后由其他用户参考使用。Advantageously, the steps of adjusting the parameters and/or modifying the program steps to generate an updated visualization program can be implemented by manual adjustment and/or modification. This can be understood as: in this process, the user can freely adjust the corresponding parameters according to his own wishes, such as increasing or decreasing the value of the parameter (such as speed), changing its symbol (such as direction), and freely modifying the The steps of the program, such as adding or deleting one or more program steps. The advantage is that it can fully mobilize the user's enthusiasm and stimulate the user's creativity, participate in the process of programming, enjoy the fun, and create a unique sequence of programs or programs that can be saved by other users after saving. use.
有利地,在调整所述参数和/或修改所述程序步骤,生成更新的可 视化程序的步骤中可以通过机器学习的监督学习算法实现。由于受控对象的行为可能存在不够优美的路径曲线、停顿,不够柔和的动作表达,通过机器学习的监督学习算法可以自动为指定物体设定正确、完美的行为准则,从而形成受控对象行为的数据模型,基于此模型优化用户选择的物体行为片段,自动调整其中参数,使其符合规则、趋于完美。Advantageously, in the step of adjusting said parameters and/or modifying said program steps, generating an updated visualization program may be implemented by a machine learning supervised learning algorithm. Because the behavior of the controlled object may have a path curve, pause, and soft motion expression, the supervised learning algorithm through machine learning can automatically set correct and perfect behavior rules for the specified object, thus forming the behavior of the controlled object. The data model, based on this model, optimizes the segment of the object's behavior selected by the user, automatically adjusts the parameters to make it conform to the rules and tends to be perfect.
有利地,在相应地调整所述参数和/或修改所述程序步骤,生成更新的可视化程序之前,分类地基于不同受控对象对所述程序步骤进行存储。由此一种类型的受控对象与另一种类型的受控对象的程序步骤是分开分类保存的,从而一方面便于识别,另一方面防止混淆和错误调用。Advantageously, the program steps are stored hierarchically based on different controlled objects before the parameters are adjusted accordingly and/or the program steps are modified to generate an updated visualization program. The program steps of one type of controlled object and another type of controlled object are stored separately, thereby facilitating identification on the one hand and preventing confusion and incorrect calls on the other hand.
根据本发明的第四方面,本发明还提出一种相应的用于优化受控对象的行为的系统,其中所述受控对象在控制指令的作用下产生所述行为,所述系统包括:According to a fourth aspect of the present invention, the present invention further provides a corresponding system for optimizing the behavior of a controlled object, wherein the controlled object generates the behavior under the action of a control instruction, the system comprising:
行为解析单元,用于解析所述受控对象的行为生成可视化程序,其中所述生成的可视化程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的程序步骤;a behavior parsing unit, configured to parse a behavior of the controlled object to generate a visualization program, wherein the generated visualization program includes each adjustable parameter and a program step for combining the parameter to control the controlled object;
程序更新单元,用于相应地调整所述参数和/或修改所述程序步骤,生成更新的可视化程序;a program update unit for adjusting the parameter and/or modifying the program step accordingly to generate an updated visualization program;
判断单元,用于将所述更新的可视化程序用于所述受控对象,根据所述受控对象执行后的结果确定是否需要对所述更新的可视化程序进行再次修改;a determining unit, configured to use the updated visualization program for the controlled object, and determine, according to the executed result of the controlled object, whether the updated visualization program needs to be modified again;
其中所述行为解析单元、程序更新单元以及判断单元可以通过有线和/或无线方式相互通信并且相互协作。The behavior parsing unit, the program updating unit, and the judging unit may communicate with each other and cooperate with each other by wire and/or wireless.
有利地,所述解析单元、程序更新单元以及判断单元可以一体地构成为一个唯一的单元。由此该单元可以实现上述三个单元的所有功能并且其中也包括可以发出对相应受控对象的控制指令。Advantageously, the parsing unit, the program update unit and the judging unit can be integrally formed as a single unit. Thereby the unit can implement all the functions of the above three units and also includes a control command that can issue a corresponding controlled object.
有利地,所述解析单元可以构成为包括用于采集来自一个或多个传感器的传感器数据的数据采集装置和/或记录用户操作数据的记录装置和中央处理器或者运算器。因此,所述解析单元不仅可以通过硬件方式实现,而且也可以通过软件方式实现,或者两者的结合。比如,该解析单元可以实现为或者包括安装有特定的App的智能装置,如智能手机,平板电脑,智能玩具手柄等。此外解析单元也可以构成为包括个人计算机或其他类型的智能装置中的中央处理器或者运算器。此外分析处理单元尤其是可以构成为包括云服务器或者云处理器。Advantageously, the parsing unit may be configured to include a data acquisition device for acquiring sensor data from one or more sensors and/or a recording device and a central processor or operator that records user operational data. Therefore, the parsing unit can be implemented not only by hardware, but also by software, or a combination of the two. For example, the parsing unit can be implemented as or include a smart device installed with a specific App, such as a smart phone, a tablet, a smart toy handle, and the like. Furthermore, the parsing unit can also be embodied as a central processor or an operator in a personal computer or other type of smart device. Furthermore, the analysis processing unit can be embodied in particular as a cloud server or a cloud processor.
有利地,判断单元同样可以不仅通过硬件方式实现,也可以通过软件方式实现,或者两者的结合。Advantageously, the judging unit can also be implemented not only by hardware, but also by software, or a combination of the two.
附图说明DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅描述本发明的一部分实施例。这些附图对于本发明来说并不是限制性的,而是起示例性的作用。其中:In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the prior art description will be briefly described below. Obviously, the drawings in the following description merely describe some embodiments of the invention. These drawings are not intended to be limiting of the invention, but are exemplary. among them:
图1示出按照本发明提出的一种用于反向编程的系统200的示例性的方框图;1 shows an exemplary block diagram of a system 200 for reverse programming in accordance with the present invention;
图2示出按照图1的系统200中构成为受控对象201的玩具汽车的示意图;Figure 2 shows a schematic view of a toy car constructed as a controlled object 201 in the system 200 of Figure 1;
图3示出按照图2的情况下通过云服务器203生成的可视化程序示意图;FIG. 3 shows a schematic diagram of a visualization program generated by the cloud server 203 in the case of FIG. 2;
图4示出按照图1的系统200中关于获取单元203的一种示例性结构的方框图;Figure 4 shows a block diagram of an exemplary structure of the acquisition unit 203 in the system 200 according to Figure 1;
图5中的a、b分别示出在按照图4的系统200中通过程序更新单 元2021对可视化程序进行修改更新的前、后对比示意图;A and b in Fig. 5 respectively show front and rear comparison diagrams of modifying and updating the visualization program by the program updating unit 2021 in the system 200 according to Fig. 4;
图6示出按照本发明提出的一种用于反向编程的方法100的示例性流程图;6 shows an exemplary flow chart of a method 100 for reverse programming in accordance with the present invention;
图7示出多个程序步骤生成一个程序片段的示意图;Figure 7 shows a schematic diagram of generating a program fragment by a plurality of program steps;
图8示出手动选中一端运动轨迹生成一个程序片段的示意图;FIG. 8 is a schematic diagram showing manually selecting one end motion track to generate a program segment;
图9示出一个程序片段被反复执行多次后使得受控对象画出图形的示意图。Fig. 9 is a diagram showing a program segment being repeatedly executed to cause a controlled object to draw a graphic.
[根据细则91更正 01.02.2019] 
[Correct according to Rule 91 01.02.2019]
具体实施方式Detailed ways
根据本发明提供的一种编程玩具的反向编程方法,包括如下步骤:A reverse programming method for programming a toy according to the present invention includes the following steps:
令一受控对象产生第一行为;Causing a controlled object to produce a first action;
获取表征所述第一行为的行为特征数据;Obtaining behavioral feature data characterizing the first behavior;
解析所述行为特征数据从而生成可视化程序,其中所述可视化程序包括多个可调整的参数和用于结合所述参数以控制所述受控对象的多个程序步骤;Parsing the behavioral feature data to generate a visualization program, wherein the visualization program includes a plurality of adjustable parameters and a plurality of program steps for combining the parameters to control the controlled object;
提供一可视化程序调整界面,供使用者调整所述参数和/或所述程序步骤;Providing a visual program adjustment interface for the user to adjust the parameters and/or the program steps;
接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序;Receiving adjustments by the user to the parameters and/or the program steps to generate an updated visualization program;
将所述更新的可视化程序作用于所述受控对象,令所述受控对象产生第二行为。Applying the updated visualization program to the controlled object causes the controlled object to generate a second behavior.
根据本发明提供的一种编程玩具的反向编程系统,包括如下模块:A reverse programming system for programming a toy according to the present invention includes the following modules:
第一行为产生模块:令一受控对象产生第一行为;a first behavior generating module: causing a controlled object to generate a first behavior;
特征数据获取模块:获取表征所述第一行为的行为特征数据;a feature data obtaining module: acquiring behavior characteristic data representing the first behavior;
解析模块:解析所述行为特征数据从而生成可视化程序,其中所述可视化程序包括多个可调整的参数和用于结合所述参数以控制所述受控对象的多个程序步骤;a parsing module: parsing the behavioral feature data to generate a visualization program, wherein the visualization program includes a plurality of adjustable parameters and a plurality of program steps for combining the parameters to control the controlled object;
界面模块:提供一可视化程序调整界面,供使用者调整所述参数和/或所述程序步骤;Interface module: providing a visual program adjustment interface for the user to adjust the parameters and/or the program steps;
可视化模块:接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序;a visualization module: receiving an adjustment of the parameter and/or the program step by a user, and generating an updated visualization program;
第二行为产生模块:将所述更新的可视化程序作用于所述受控对象,令所述受控对象产生第二行为。The second behavior generating module: applying the updated visualization program to the controlled object, causing the controlled object to generate a second behavior.
本发明提供的所述编程玩具的反向编程方法与系统,在发明构思上,为有助于学习编程技巧,将受控对象产生的第一行为产生的行为特征数据解析为多个程序步骤,这样为使用者提供了初始的编程基础对象,使用者能够基于该编程基础对象进行进一步地编程,例如修改执行次数、执行顺序等,从而得到更新后的程序步骤,进而根据更新后的程序步骤来指示受控对象产生第二行为。一方面,相对于直接由使用者从无到有来编程实现第二行为提供了高效的编程环境以及对于儿童降低了编程的难度;另一方面,在一些优选例中,第二行为可以是第一行为中的一部分行为,即第二行为是第一行为的一个行为组成模块,进而实现了程序复用,且这种复用是基于可视化前提下的复用。下面分为几个方面,对本发明内容的主要重点进行初步展开说明,更具体的内容可进一步结合下文中的具体实施方式予以实现:The reverse programming method and system for the programming toy provided by the present invention, in the inventive concept, to facilitate learning programming skills, parsing behavior characteristic data generated by the first behavior generated by the controlled object into a plurality of program steps, This provides the user with an initial programming base object, and the user can further program based on the programming base object, such as modifying the number of executions, the execution order, etc., thereby obtaining the updated program steps, and then according to the updated program steps. Instructs the controlled object to produce a second behavior. On the one hand, an efficient programming environment is provided relative to direct programming by the user from scratch, and the programming is less difficult for children; on the other hand, in some preferred cases, the second behavior may be A part of the behavior of a behavior, that is, the second behavior is a behavioral component of the first behavior, thereby implementing program multiplexing, and the multiplexing is based on multiplexing under the premise of visualization. The following is divided into several aspects, and the main focus of the content of the present invention is initially explained. More specific content can be further implemented in combination with the specific embodiments below:
第一行为的产生。可以是在受控对象的本地输入程序或者是有线方式,也或者可以是遥控器等无线方式来指示受控对象产生第一行为;具体地指示载体可以通过编程得到的程序,也可以是以图形化手段输入指令,由指令转码技术转换为程序,例如绘制路径让受控对象按照该路径 行动。还可以是允许对受控对象的行为进行记录,从而生成了记载有第一行为的数据信息,此优选例中,受控对象由所述编程玩具的反向编程系统的外部设备的控制下进行行为,所述第一行为产生模块或步骤仅在其中的一个或几个时间段对该已发生的行为进行实时记录或者回放以完成记录,进而所述第一行为产生模块或步骤令受控对象产生第一行为具体化为控制记录受控对象行为的时间并记录来产生第一行为。The first act is produced. It may be in a local input program of the controlled object or in a wired manner, or may be a wireless method such as a remote controller to indicate that the controlled object generates the first behavior; specifically, the program that the carrier can be programmed, or may be a graphic The means input instruction is converted into a program by the instruction transcoding technique, for example, drawing a path for the controlled object to act according to the path. It is also possible to allow recording of the behavior of the controlled object, thereby generating data information in which the first behavior is recorded. In this preferred embodiment, the controlled object is controlled by an external device of the reverse programming system of the programming toy. Behavior, the first behavior generating module or step records or replays the behavior that has occurred in real time in only one or several of the time periods to complete the recording, and the first behavior generating module or step causes the controlled object The first behavior is generated to control the time at which the behavior of the controlled object is recorded and recorded to produce the first behavior.
第一行为的表征。可以根据第一行为的控制环节中的信息得到第一行为的表征,例如玩具车作为受控对象由遥控手柄控制运动,则玩具车的运动行为与遥控手柄的控制指令是具有相对应的,一个控制指令或者多个控制指令的复合映射至与被映射于玩具车的一个运动行为,因此第一行为的控制环节中的信息即构成第一行为的表征。又例如,以声控方式对受控对象进行控制产生行为,则声控下的语音信号指令即构成对第一行为的表征。还例如,通过加速度传感器等器件检测受控对象第一行为的过程,检测数据即构成第一行为的表征。其中,第一行为的表征可以直接就构成行为特征数据,也可以由第一行为的表征经数据加工后构成行为特征数据。Characterization of the first behavior. The first behavior can be characterized according to the information in the control link of the first behavior. For example, the toy car is controlled by the remote control handle as the controlled object, and the motion behavior of the toy vehicle corresponds to the control command of the remote control handle. The composite of the control command or the plurality of control commands is mapped to a motion behavior that is mapped to the toy vehicle, such that the information in the control link of the first behavior constitutes a representation of the first behavior. For another example, by controlling the controlled object in a voice-activated manner to generate a behavior, the voice signal command under voice control constitutes a representation of the first behavior. Also for example, the process of detecting the first behavior of the controlled object by means of an acceleration sensor or the like, the detection data constitutes a representation of the first behavior. The representation of the first behavior may directly constitute the behavior characteristic data, or may be processed by the data to form the behavior characteristic data.
解析。本领域技术人员可以理解到,解析是一种反向编程手段,由编程结果得到程序步骤,当然,不同的解析算法可以得到不同的程序步骤,例如玩具车向前位移2米,可以解析为先向前位移1米,然后再向前位移1米,也可以解析为先向前位移3米,然后再向后位移1米。这给反向编程的后续使用带来了灵活多变的可能性,其不同的解析算法下得到程序步骤不同,使得不同的程序步骤提供了不同的进一步修改编程的难易度,这是上文提到的高效编程环境、可视化程序复用之外,本发明通过解析反向编程的另一个重要目的。Analysis. Those skilled in the art can understand that the parsing is a reverse programming method, and the program steps are obtained from the programming result. Of course, different parsing algorithms can obtain different program steps, for example, the toy car is shifted forward by 2 meters, and can be resolved first. Displace 1 m forward, then 1 m forward, or resolve to shift 3 m forward and then 1 m backward. This brings flexibility and versatility to the subsequent use of reverse programming. Different program steps are different under different parsing algorithms, so that different program steps provide different difficulty in further modifying the programming. In addition to the efficient programming environment and visual program multiplexing mentioned, the present invention addresses another important purpose of reverse programming.
界面。可视化程序调整界面可以在整个显示屏幕中呈现,即显示屏 幕的全部区域均作为可视化程序调整界面,也可以在部分显示屏幕中呈现。其中显示的内容可以不仅限于编程环节。interface. The visual program adjustment interface can be presented in the entire display screen, that is, the entire area of the display screen is adjusted as a visual program interface, and can also be presented in a partial display screen. The content displayed therein can be not limited to the programming link.
第二行为。在本发明的具体实施中,使用者可能需要通过多次解析反向编程的方式,才得到最终满意的编程结果。在这一多次解析反向编程的过程中,前一次的第二行为即构成后一次解析是的第一行为,当然,也可以将第一行为经过一次解析反向编程后形成的第二行为再经过下一次解析反向编程形成的行为称之为第三行为,但是本领域技术人员可以理解到,对于所述下一次解析反向编程来讲,第三行为即构成第二行为,因此均属于本发明的构思之下的实施。The second act. In a specific implementation of the present invention, the user may need to resolve the reverse programming method multiple times to obtain a final satisfactory programming result. In this process of resolving reverse programming, the previous second behavior constitutes the first behavior of the latter parsing. Of course, the second behavior can be formed after the first behavior is parsed and reverse-programmed. The behavior formed by the next parsing reverse programming is referred to as the third behavior, but those skilled in the art can understand that for the next parsing reverse programming, the third behavior constitutes the second behavior, and thus It is an implementation under the concept of the present invention.
接下来结合附图,通过优选例,对本发明进行更为具体的说明。The present invention will now be described more specifically by way of preferred examples in conjunction with the accompanying drawings.
图1示出按照本发明提出的一种适用于编程玩具的用于反向编程的系统200的示例性的方框图,其中包括受控对象201、获取单元202以及分析处理单元203,其中受控对象201在控制指令的作用下产生特定的行为,记为第一行为,该行为可以包括运动行为(比如玩具车辆)、动作行为(比如变形金刚),表情行为(比如玩偶)等。以下结合一个具体的实施例对该系统进行阐述。1 shows an exemplary block diagram of a system 200 for reverse programming suitable for programming a toy, in accordance with the present invention, including a controlled object 201, an acquisition unit 202, and an analysis processing unit 203, wherein the controlled object 201 generates a specific behavior under the control command, and is recorded as a first behavior, which may include athletic behavior (such as toy vehicles), motion behavior (such as Transformers), expression behavior (such as dolls), and the like. The system is described below in connection with a specific embodiment.
在该实施例中,受控对象201构成为玩具汽车,如图2示出玩具车辆的示意图。其中,ROBO表示玩具汽车,虚线表示其运动轨迹,箭头表示运动方向。In this embodiment, the controlled object 201 is constructed as a toy car, and a schematic view of the toy vehicle is shown in FIG. Among them, ROBO represents a toy car, the broken line indicates its motion trajectory, and the arrow indicates the direction of motion.
按照本发明,获取单元202用于获取表征所述受控对象行为的行为特征数据。在该实施例中,行为特征数据包括安装在玩具汽车上的构成为传感器的码盘和陀螺仪上产生的角度、方向等传感器数据以及记录的用户操作数据。在该实施例中,获取单元202构成为安装有特定的App的智能手机,当然,其他智能装置,如平板电脑,智能玩具手柄等都是 可以考虑的。在此,该安装有特定App的智能手机可以实现通过无线通信方式获取到安装在玩具汽车上的构成为传感器的码盘和陀螺仪的产生的角度、方向等数据以及记录的用户操作数据,该用户操作数据例如加速、减速、左转、右转等。在该实施例中该无线通信方式通过蓝牙实现,自然,对于该实施例而言,其他适合的无线通信方式如Wifi、近场通信(NFC)、EnOcean、Zigbee、Z-Wave等都是可以考虑的。According to the present invention, the obtaining unit 202 is configured to acquire behavior characteristic data characterizing the behavior of the controlled object. In this embodiment, the behavior characteristic data includes sensor data of angles, directions, and the like generated on the code wheel and the gyroscope of the sensor mounted on the toy car, and recorded user operation data. In this embodiment, the acquisition unit 202 is configured as a smartphone to which a specific App is installed. Of course, other smart devices such as a tablet computer, a smart toy handle, and the like are all conceivable. Here, the smartphone with the specific App can realize the data of the angle, the direction, and the like generated by the code wheel and the gyroscope which are installed on the toy car by wireless communication, and the recorded user operation data. User operation data such as acceleration, deceleration, left turn, right turn, and the like. In this embodiment, the wireless communication mode is implemented by using Bluetooth. Naturally, for this embodiment, other suitable wireless communication methods such as Wifi, Near Field Communication (NFC), EnOcean, Zigbee, Z-Wave, etc. are all considered. of.
按照本发明,分析处理单元203用于对上述获取的行为特征数据进行分析处理从而生成相应的可视化程序,其中生成的可视化程序包括各可调整的参数和用于结合所述参数以控制所述受控对象的各程序步骤。在该实施例中,分析处理单元203构成为云服务器,自然也可以考虑的是,分析处理单元203也可以构成为个人计算机或其他类型的智能装置中的中央处理器或者运算器。According to the present invention, the analysis processing unit 203 is configured to perform analysis processing on the acquired behavior characteristic data to generate a corresponding visualization program, wherein the generated visualization program includes each adjustable parameter and is used to combine the parameters to control the received The program steps of the control object. In this embodiment, the analysis processing unit 203 is configured as a cloud server. Naturally, it is also conceivable that the analysis processing unit 203 can also be configured as a central processing unit or an arithmetic unit in a personal computer or other type of smart device.
在该实施例中,一方面该安装有特定的App的智能手机可以通过蓝牙发出控制指令实现玩具汽车的相应运动,比如直行、转弯等;另一方面智能手机也可以将获取的传感器数据和记录的用户操作数据经由蓝牙同步到云服务器。将这些数据同步到云服务器中主要是出于数据的存储、同步、计算以及分析处理方面的考虑。在该实施例中,数据按照定时、定量的原则,从安装有特定的App的智能手机(在该实施例中也可以称为遥控器)同步到云服务器,这些同步的数据在云服务器中按照不同类型进行分类存储,比如在该实施例中该玩具汽车的数据与其他比如变形金刚、遥控飞机之类的受控对象分隔地存储,从而当这些数据调用使用时也需要按照类别进行调用,从而完全符合接口要求的数据才能应用到对应类型的受控对象或者产品上。In this embodiment, on the one hand, the smart phone with the specific App installed can issue corresponding control actions of the toy car through bluetooth control commands, such as straight line, turn, etc.; on the other hand, the smart phone can also obtain the acquired sensor data and record. The user operation data is synchronized to the cloud server via Bluetooth. Synchronizing this data to the cloud server is primarily due to data storage, synchronization, computation, and analytics processing considerations. In this embodiment, the data is synchronized to the cloud server from the smart phone (also referred to as a remote controller in this embodiment) installed with a specific App according to the principle of timing and quantification, and the synchronized data is in the cloud server. Different types are classified and stored, for example, in this embodiment, the data of the toy car is stored separately from other controlled objects such as a transformer, a remote control aircraft, etc., so that when the data is called, the data needs to be called according to the category, thereby Data that fully complies with the interface requirements can be applied to the corresponding type of controlled object or product.
在该实施例中,通过该特定App的设计,配备有两个触发按钮,即开始和结束按钮。由此可以实现,通过触发方式进行获取传感器数据和 记录用户操作数据。也就是说,通过按下开始按钮,安装在手机中的App开始采集传感器数据和记录用户操作数据,如果按下结束按钮,那么结束采集传感器数据和记录用户操作数据,自然其他任何能实现同样功能的方式也都是可以考虑的。同样在其他情况下或者在其他实施例中,该过程不设有触发而是持续进行也是可以考虑的。In this embodiment, through the design of the particular App, there are two trigger buttons, the start and end buttons. This makes it possible to acquire sensor data and record user operation data by means of a trigger. That is to say, by pressing the start button, the App installed in the mobile phone starts to collect sensor data and record user operation data. If the end button is pressed, the end of collecting sensor data and recording user operation data, naturally any other can achieve the same function. The way is also considered. Also in other cases or in other embodiments, it is also conceivable that the process is not triggered but continues.
在该实施例中,云服务器对上述同步的包括用户操作数据和传感器数据的行为特征数据进行分析处理从而生成相应的可视化程序。该过程在云服务器中实现。其中由此生成的相应可视化程序基于不同的受控对象可以包括不同种类和/或不同数量的代码块。在该实施例中,代码块包括逻辑代码块和行为代码块。在此可以将逻辑代码块理解为循环、跳转、比较判断等诸如此类的代码块;而行为代码块可理解为控制受控对象的行为诸如运动或动作等的代码块。In this embodiment, the cloud server analyzes the synchronized behavior characteristic data including the user operation data and the sensor data to generate a corresponding visualization program. This process is implemented in a cloud server. The respective visualization programs thus generated may comprise different kinds and/or different numbers of code blocks based on different controlled objects. In this embodiment, the code block includes a logic code block and a behavior code block. Here, a logical code block can be understood as a code block such as a loop, a jump, a comparison judgment, and the like; and a behavior code block can be understood as a code block that controls the behavior of a controlled object such as a motion or an action.
图3示出通过云服务器生成的可视化程序示意图。该程序包括多个代码块并且其中的内容为:首先,程序开始,循环执行其中的代码块15次,该代码块表示玩具汽车以其存储的路径(路径即系列的、相关联的程序命令的集合)为指引进行顺时针移动,循环结束后进入下一个循环,循环执行其中的代码块25次,该代码块表示以其存储的路径为指引进行顺时针移动,循环结束后玩具汽车停止移动。FIG. 3 shows a schematic diagram of a visualization program generated by a cloud server. The program includes a plurality of code blocks and the contents thereof are: First, the program starts, and executes the code block 15 times therein, the code block representing the path of the toy car with its storage (path, ie, series, associated program commands) The set) moves clockwise for the guidance. After the loop ends, it enters the next loop, and executes the code block 25 times. The code block indicates that the stored path is used to move clockwise. After the end of the loop, the toy car stops moving.
按照本发明,在对行为特征数据进行分析处理从而生成相应的可视化程序过程中,可以根据不同的受控对象采用相应不同的算法。结合该实施例,在该玩具汽车的行为特征数据进行分析处理过程中,获取的相应数据主要包含速度(比如参数范围为0——100)、方向(参数范围为0、1、-1,其中0表示没有变化,1表示相对位置的左转,-1表示相对位置的右转)、角度(参数范围-180度——180度,相对位置)等变量,从而在考虑所有上述玩具汽车相关的数据的情况下,按预设规则将其转 化为一组或多组可视化程序或代码块。According to the present invention, in the process of analyzing and processing the behavior characteristic data to generate a corresponding visualization program, corresponding different algorithms can be adopted according to different controlled objects. In combination with the embodiment, during the analysis and processing of the behavioral characteristic data of the toy car, the corresponding data acquired mainly includes speed (for example, a parameter range of 0-100) and a direction (a parameter range of 0, 1, -1, wherein 0 means no change, 1 means left turn of relative position, -1 means right turn of relative position), angle (parameter range -180 degrees - 180 degrees, relative position) and other variables, thus considering all the above toy cars In the case of data, it is converted into one or more sets of visualization programs or code blocks according to a preset rule.
此外,在该实施例中,如图4示出按照图1的系统200中的获取单元202的一种示例性结构的方框图。在图4中除了同样示出的构成为受控对象的玩具汽车和构成为分析处理单元的云服务器之外,还示出在在该实施例中构成为获取单元202的组成部分的程序更新单元2021和判断单元2022。在该实施例中,程序更新单元2021构成为用于相应地调整所述参数和/或修改所述程序步骤,生成更新的可视化程序。在该实施例中,程序更新单元2021实现为安装在手机中特定的App中通过软件实现的输入和调节机构,通过该输入和调节机构可以调整相应参数,修改程序步骤(在该实施例中为代码块)。自然也可以考虑的是程序更新单元2021可以构成为智能装置如智能电话、平板电脑或游戏手柄中的实体输入和/或调节装置,该实体输入和/或调节装置在与特定软件结合的情况下实现对参数进行调整,对程序步骤(在此为程序块)进行修改,也就是增加或减少。当然,程序更新单元2021也可以不作为获取单元202的组成部分而单独地存在。Further, in this embodiment, a block diagram of an exemplary structure of the acquisition unit 202 in the system 200 according to Fig. 1 is shown in Fig. 4. In addition to the toy car constructed as a controlled object and the cloud server configured as an analysis processing unit, which are also shown in FIG. 4, a program update unit which is formed as a component of the acquisition unit 202 in this embodiment is also shown. 2021 and judging unit 2022. In this embodiment, the program update unit 2021 is configured to adjust the parameters accordingly and/or modify the program steps to generate an updated visualization program. In this embodiment, the program updating unit 2021 is implemented as an input and adjustment mechanism implemented by software in a specific App installed in the mobile phone, by which the corresponding parameters can be adjusted, and the program steps are modified (in this embodiment Code block). It is naturally also conceivable that the program update unit 2021 can be embodied as a physical input and/or adjustment device in a smart device such as a smart phone, tablet or gamepad, in the case of integration with specific software. The adjustment of the parameters is implemented, and the program steps (here, the blocks) are modified, that is, increased or decreased. Of course, the program update unit 2021 may also exist separately as an integral part of the acquisition unit 202.
在该实施例中,一方面,用户可以通过安装在手机中特定的App手动修改所述程序步骤,如图5a和5b示出在按照图1的系统200中通过程序更新单元2021对可视化程序进行修改更新的示意图,其中图5a表示修改之前的可视化程序,而图5b表示修改之后的可视化程序,其区别在于,针对玩具汽车调整了三个左旋命令的参数,使得其运行路径发生变化。手动修改的优点在于,可以充分调动用户的积极性以及激发用户的创造性,亲身参与到编程的过程中,享受其中的乐趣,并且其自身创造出的别出心裁的程序或程序序列也可以在保存之后由其他用户参考使用。In this embodiment, on the one hand, the user can manually modify the program steps by means of a specific app installed in the mobile phone, as shown in Figures 5a and 5b, the visualization program is performed by the program update unit 2021 in the system 200 according to Fig. 1. A modified schematic diagram is shown, in which Figure 5a represents the visualization procedure prior to modification, and Figure 5b represents the visualization procedure after modification, with the difference that the parameters of the three left-handed commands are adjusted for the toy car such that its path of operation changes. The advantage of manual modification is that it can fully mobilize the user's enthusiasm and stimulate the user's creativity, participate in the process of programming, enjoy the fun, and create a unique sequence of programs or programs that can be saved by other User reference use.
另一方面,生成更新的可视化程序的步骤也可以通过机器学习的监 督学习算法实现。在该实施例中,由于玩具汽车的行为可能存在不够优美的路径曲线、停顿,不够柔和的动作表达,通过机器学习的监督学习算法可以自动为玩具汽车设定正确、完美的走位,从而形成受控对象行为的数据模型,基于此模型优化用户选择的物体行为片段,自动调整其中参数,使其符合规则、趋于完美。另一方面,这种自动优化可以减少或者降低由于用户操作不当或者不同的周围环境对涉及的装置或设备造成的损害,如频繁的加速、减速、接近极限甚至不合理的转向都可能影响供电装置如电池以及执行器如电机的使用寿命。Alternatively, the step of generating an updated visualization program can also be implemented by a machine learning supervision learning algorithm. In this embodiment, since the behavior of the toy car may have an unsatisfactory path curve, pause, and not enough soft motion expression, the supervised learning algorithm through machine learning can automatically set a correct and perfect position for the toy car, thereby forming The data model of the controlled object behavior is based on this model to optimize the object behavior segment selected by the user, and automatically adjust the parameters to make it conform to the rules and tend to be perfect. On the other hand, this automatic optimization can reduce or reduce damage to the devices or equipment involved due to improper operation of the user or different surrounding environment, such as frequent acceleration, deceleration, approaching limit or even unreasonable steering may affect the power supply device. Such as the battery and the life of the actuator such as the motor.
按照本发明,图4中示出的判断单元2022用于将所述更新的可视化程序用于所述受控对象,令所述受控对象产生第二行为,根据所述受控对象执行后的结果确定来判断是否需要对所述更新的可视化程序进行再次修改,在该实施例中判断单元2022可以在安装在智能手机上的特定的App中通过软件方式实现。当然,在其他实施例中,其他任何能实现该功能的方式或者途径都是可以考虑的,比如判断单元2022可以不作为其他构件的组成部分而单独地存在,诸如引入一些逻辑判断器件或者模块,或者以软件方式构成为逻辑运算或判断方面的函数。According to the present invention, the determining unit 2022 shown in FIG. 4 is configured to use the updated visualization program for the controlled object, and cause the controlled object to generate a second behavior according to the controlled object. The result is determined to determine whether the updated visualization program needs to be modified again. In this embodiment, the determination unit 2022 can be implemented by software in a specific App installed on the smartphone. Of course, in other embodiments, any other way or means to implement the function may be considered. For example, the determining unit 2022 may not exist separately as a component of other components, such as introducing some logic determining devices or modules. Or a software function as a function of logical operation or judgment.
按照本发明,上述涉及的相应功能单元或者模块都可以通过有线和/或无线方式相互通信并且相互协作,以便实现数据传输、数据共享和同步。According to the present invention, the respective functional units or modules referred to above can communicate with each other and cooperate with each other by wire and/or wireless to implement data transmission, data sharing and synchronization.
图6示出按照本发明提出的一种反向编程的方法100的示例性流程图,其中受控对象在控制指令的作用下产生所述行为。所述方法100包括如下步骤:6 shows an exemplary flow diagram of a method 100 of reverse programming in accordance with the present invention in which a controlled object produces the behavior under the control of an instruction. The method 100 includes the following steps:
第一步骤101,获取表征所述受控对象行为的行为特征数据;a first step 101, acquiring behavior characteristic data that characterizes the behavior of the controlled object;
第二步骤102,对所述获取的行为特征数据进行分析处理从而生成相应的可视化程序,其中所述生成的可视化程序包括各可调整的参数和 用于结合所述参数以控制所述受控对象的各程序步骤。a second step 102, analyzing the acquired behavior feature data to generate a corresponding visualization program, wherein the generated visualization program includes each adjustable parameter and is used to combine the parameter to control the controlled object Each program step.
在此,受控对象可以理解为在可编程玩具领域中可在相应的控制指令的作用下产生特定行为的实体物体和/或虚拟物体,如例如根据上述实施例所述的玩具汽车。所述控制指令可以理解为任何通过有线和/或无线通信方式传送给受控对象并使得受控对象产生特定行为的可执行的程序或程序序列。特别是该控制指令就可以是可编辑的可视化程序或者程序序列。在此所述的实体物体可以包括例如玩具机器人、玩具汽车、玩偶、玩具飞行器等,这些实体物体均可以有线和/或无线通信方式接收控制指令并且通过执行这些控制指令产生特定行为。在所述的特定行为可以包括运动行为(比如玩具车辆)、动作行为(比如变形金刚),表情行为(比如玩偶)等。Here, a controlled object can be understood as a physical object and/or a virtual object that can generate a specific behavior under the action of a corresponding control command in the field of programmable toys, such as, for example, a toy car according to the above embodiments. The control instructions can be understood as any executable program or sequence of programs that are transmitted to a controlled object by wired and/or wireless communication and that cause the controlled object to produce a particular behavior. In particular, the control command can be an editable visualization program or a sequence of programs. The physical objects described herein may include, for example, toy robots, toy cars, dolls, toy aircrafts, etc., all of which may receive control instructions in wired and/or wireless communication and generate specific behavior by executing these control instructions. The specific behaviors described may include athletic behavior (such as toy vehicles), motion behavior (such as Transformers), expression behavior (such as dolls), and the like.
本发明还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的编程玩具的反向编程方法的步骤。其中,所述计算机可读存储介质可以是计算机外设存储设备,或者是计算机硬盘或者服务器的存储器,还可以是智能终端的存储芯片。尤其是应用商店中存储应用的服务器的存储器。The present invention also provides a computer readable storage medium storing a computer program, the computer program being executed by a processor to implement the steps of the reverse programming method of the programmed toy. The computer readable storage medium may be a computer peripheral storage device, or a memory of a computer hard disk or a server, or may be a storage chip of the smart terminal. In particular, the storage of the server that stores the application in the application store.
本发明还提供一种智能设备,包括所述的编程玩具的反向编程系统,或者包括所述的存储有计算机程序的计算机可读存储介质。其中,所述智能设备可以是智能手机、智能手表、智能眼镜、VR设备、投影设备、机器人、模拟驾驶舱、受控对象本身。The present invention also provides a smart device, including the reverse programming system of the programmed toy, or a computer readable storage medium storing the computer program. The smart device may be a smart phone, a smart watch, smart glasses, a VR device, a projection device, a robot, a simulated cockpit, and a controlled object itself.
下面通过更多的优选例/变化来,对本发明进行更为具体的说明。The invention will now be described more specifically by way of more preferred examples/changes.
本发明中,根据连续执行的部分或全部程序步骤,生成程序片段;其中,所述可视化程序调整界面包括程序片段调整界面,供使用者调整所述程序片段中的参数和/或程序步骤。在编程过程中,可以将连续执行的几步程序步骤合并生成一个程序片段。对于全部程序步骤而言,可 以合并生成为一个程序片段,也可以生成为多个程序片段。这样,得到程序片段构成被合并的多个程序步骤的程序集合,程序程序片段被执行后的效果相当于被合并的多个程序步骤依次执行后的效果。利用所述程序片段,使用者可以简化可视化程序调整界面中的程序步骤的数量。例如,如图7所示,右侧的五个程序步骤被选中,合并生成为左侧的一个程序片段。In the present invention, a program segment is generated according to part or all of the program steps that are continuously executed; wherein the visualization program adjustment interface includes a program segment adjustment interface for the user to adjust parameters and/or program steps in the program segment. During the programming process, several consecutive steps of the program can be combined to generate a program fragment. For all program steps, they can be combined into one program fragment or multiple program fragments. In this way, the program segment is configured to constitute a program set of a plurality of merged program steps, and the effect of the program program segment after execution is equivalent to the effect of sequentially executing the plurality of merged program steps. With the program fragments, the user can simplify the number of program steps in the visualization program adjustment interface. For example, as shown in FIG. 7, the five program steps on the right side are selected and merged to generate one program segment on the left side.
在可视化程序调整界面中,与程序步骤同样的,也可以对程序片段进行调整、组合、复用。例如,可以对程序片段中包括的程序步骤进行添加、删除、修改。又例如,可以改变多个程序片段之间的执行顺序或者执行逻辑,以实现多个程序片段之间的特定组合。还例如,对于需要被执行多次的连续执行的多个程序步骤,可以通过将相应的程序片段重复利用多次的方式予以实现,例如,如图9所示,对应一运动路线的程序片段被反复执行,则可以令玩具汽车画出图9的图形。在更优选的实施例中,多个程序片段可以构成一个新的程序片段,或者是一个程序片段与连续执行的多个程序步骤构成一个新的程序片段;因此,向一个程序片段中加入另一个程序片段也可以实现对该一个程序片段的调整。In the visual program adjustment interface, the program segments can be adjusted, combined, and multiplexed in the same manner as the program steps. For example, program steps included in a program fragment can be added, deleted, and modified. As another example, the order of execution or execution logic between multiple program segments can be changed to achieve a particular combination between multiple program segments. Also for example, for a plurality of program steps that need to be executed multiple times in succession, it can be implemented by repeating the corresponding program segments a plurality of times, for example, as shown in FIG. 9, a program segment corresponding to a motion route is Repeatedly, the toy car can draw the figure of Figure 9. In a more preferred embodiment, a plurality of program segments may constitute a new program segment, or a program segment and a plurality of successively executed program steps form a new program segment; therefore, adding another program segment to another Program fragments can also implement adjustments to this program fragment.
接下来通过更优选的实施例,就如何获取构成程序片段中的程序步骤进行说明。Next, a description will be given of how to acquire the program steps in the constituent program segments by a more preferred embodiment.
在一个优选例中,在所述可视化程序调整界面,根据使用者的操作,从所述可视化程序或者所述更新的可视化程序中获取构成程序片段的程序步骤。在所述可视化程序调整界面,呈现全部程序步骤,使用者对全部程序步骤或者部分程序步骤进行操作,例如多次点选中或者一次复选中多个程序步骤,而选中的方式可以是使用者对触摸屏的触碰,也可以是声控等方式实现选中。In a preferred embodiment, the visual program adjustment interface acquires program steps constituting the program segment from the visualization program or the updated visualization program according to a user operation. In the visual program adjustment interface, all program steps are presented, and the user operates on all program steps or part of the program steps, for example, multiple times of selection or multiple selection of multiple program steps, and the selected method may be that the user touches the touch screen. The touch can also be selected by voice control.
在另一个优选例中,从虚拟对象行为记录中获取构成程序片段的程 序步骤;其中,所述虚拟对象行为记录是指,对应于所述受控对象的虚拟对象,按照所述可视化程序或者所述更新的可视化程序执行所产生行为的记录。例如,受控对象为玩具汽车,玩具汽车按照可视化程序进行运动,运动过程的记录包括玩具汽车的运动轨迹,则当使用者选中其中一段运动轨迹后,该段运动轨迹对应的程序步骤就构成一个程序片段。例如,如图8所示,左侧运动轨迹中两个旗帜之间较短的路线被使用者手动选中,生成右侧的程序片段。In another preferred embodiment, the program step constituting the program segment is obtained from the virtual object behavior record; wherein the virtual object behavior record refers to the virtual object corresponding to the controlled object, according to the visualization program or the A record of the behavior of the updated visualization program execution. For example, the controlled object is a toy car, and the toy car moves according to a visual program. The record of the motion process includes the motion track of the toy car. When the user selects one of the motion tracks, the program steps corresponding to the motion track constitute a Program fragment. For example, as shown in FIG. 8, the shorter route between the two flags in the left motion track is manually selected by the user to generate a program segment on the right side.
在又一个优选例中,按照设定的时空参数,从所述可视化程序或所述更新的可视化程序中获取构成程序片段的程序步骤。其中,所述时空参数可以是位置区域、累积运动距离、绝对运动距离、时间等参数。按照所述时空参数划分受控对象生成的第一行为的记录尤其是能够实现自动分割记录得到对应的多个程序片段的作用。In still another preferred embodiment, the program steps constituting the program segment are obtained from the visualization program or the updated visualization program in accordance with the set time and space parameters. The space-time parameter may be a parameter such as a location area, a cumulative motion distance, an absolute motion distance, and a time. The recording of the first behavior generated by the controlled object according to the spatio-temporal parameter, in particular, enables automatic segmentation recording to obtain a corresponding plurality of program segments.
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。Those skilled in the art will appreciate that the system, apparatus, and modules thereof provided by the present invention can be fully implemented by logically programming the method steps, except that the system, apparatus, and various modules thereof provided by the present invention are implemented in purely computer readable program code. The same program is implemented in the form of logic gates, switches, ASICs, programmable logic controllers, and embedded microcontrollers. Therefore, the system, the device and the respective modules provided by the present invention can be regarded as a hardware component, and the modules for implementing various programs included therein can also be regarded as a structure in the hardware component; A module that implements various functions is considered to be either a software program that implements a method or a structure within a hardware component.
对所提出的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。应当理解,以上实施例中所公开的特征,除了有特别说明的情形外,都可以单独地或者相结合地使用。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。 因此,本文所公开的本发明并不局限于所公开的具体实施例,而是意在涵盖如所附权利要求书所限定的本发明的精神和范围之内的修改。The above description of the described embodiments is provided to enable those skilled in the art to make or use the invention. It should be understood that the features disclosed in the above embodiments may be used singly or in combination, unless otherwise specified. Various modifications to these embodiments are obvious to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention as disclosed herein is not limited to the specific embodiments disclosed, but is intended to cover modifications within the spirit and scope of the invention as defined by the appended claims.

Claims (22)

  1. 一种编程玩具的反向编程方法,其特征在于,包括如下步骤:A reverse programming method for programming a toy, comprising the steps of:
    令一受控对象产生第一行为;Causing a controlled object to produce a first action;
    获取表征所述第一行为的行为特征数据;Obtaining behavioral feature data characterizing the first behavior;
    解析所述行为特征数据从而生成可视化程序,其中所述可视化程序包括多个可调整的参数和用于结合所述参数以控制所述受控对象的多个程序步骤;Parsing the behavioral feature data to generate a visualization program, wherein the visualization program includes a plurality of adjustable parameters and a plurality of program steps for combining the parameters to control the controlled object;
    提供一可视化程序调整界面,供使用者调整所述参数和/或所述程序步骤;Providing a visual program adjustment interface for the user to adjust the parameters and/or the program steps;
    接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序;Receiving adjustments by the user to the parameters and/or the program steps to generate an updated visualization program;
    将所述更新的可视化程序作用于所述受控对象,令所述受控对象产生第二行为。Applying the updated visualization program to the controlled object causes the controlled object to generate a second behavior.
  2. 根据权利要求1所述的编程玩具的反向编程方法,其特征在于,包括如下步骤:The reverse programming method for a programmed toy according to claim 1, comprising the steps of:
    根据连续执行的部分或全部程序步骤,生成程序片段;其中,所述可视化程序调整界面包括程序片段调整界面,供使用者调整所述程序片段中的参数和/或程序步骤。The program segment is generated according to part or all of the program steps that are continuously executed; wherein the visualization program adjustment interface includes a program segment adjustment interface for the user to adjust parameters and/or program steps in the program segment.
  3. 根据权利要求2所述的编程玩具的反向编程方法,其特征在于,所述部分或全部程序步骤,通过如下任一种方式获取:The reverse programming method of a programmed toy according to claim 2, wherein the part or all of the program steps are obtained by any one of the following methods:
    -在所述可视化程序调整界面,根据使用者的操作,从所述可视化程序或者所述更新的可视化程序中获取;- obtaining, in the visualization program adjustment interface, from the visualization program or the updated visualization program according to a user's operation;
    -从虚拟对象行为记录中获取;其中,所述虚拟对象行为记录是指,对应于所述受控对象的虚拟对象,按照所述可视化程序或者所述更新的 可视化程序执行所产生行为的记录;Obtaining from the virtual object behavior record; wherein the virtual object behavior record refers to a virtual object corresponding to the controlled object, and performing a record of the generated behavior according to the visualization program or the updated visualization program;
    -按照设定的时空参数,从所述可视化程序或所述更新的可视化程序中获取。- Obtained from the visualization program or the updated visualization program in accordance with the set time and space parameters.
  4. 根据权利要求2所述的编程玩具的反向编程方法,其特征在于,所述的接收使用者对所述参数和/或所述程序步骤的调整的步骤,包括如下步骤:The method of reverse programming of a programmed toy according to claim 2, wherein said step of receiving a user adjustment of said parameter and/or said program step comprises the steps of:
    接收使用者对所述程序片段的如下任一种或任多种操作:Receiving any one or any of the following operations of the user on the program segment:
    -调整;-Adjustment;
    -组合;-combination;
    -复用。- Reuse.
  5. 根据权利要求1所述的编程玩具的反向编程方法,其特征在于,所述受控对象为实体物体或虚拟物体;The reverse programming method for programming a toy according to claim 1, wherein the controlled object is a physical object or a virtual object;
    所述实体物体的行为特征数据,包括通过一个或多个传感器获取的传感器数据和/或对实体物体的用户操作数据;Behavior characteristic data of the physical object, including sensor data acquired by one or more sensors and/or user operation data for the physical object;
    所述虚拟物体的行为特征数据,包括来自于所述虚拟物体的软件载体中由软件开发工具包收集的数据。The behavioral feature data of the virtual object includes data collected by a software development kit from a software carrier of the virtual object.
  6. 根据权利要求1所述的编程玩具的反向编程方法,其特征在于,所述获取表征所述第一行为的行为特征数据的步骤,持续进行或者通过触发方式实现。The reverse programming method of a programmed toy according to claim 1, wherein the step of acquiring behavior characteristic data characterizing the first behavior is performed continuously or by a triggering manner.
  7. 根据权利要求1所述的编程玩具的反向编程方法,其特征在于,所述生成的相应的可视化程序基于不同的受控对象包括不同种类和/或不同数量的代码块。The method of reverse programming of a programmed toy according to claim 1, wherein said generated respective visualization program comprises different types and/or different numbers of code blocks based on different controlled objects.
  8. 根据权利要求1所述的编程玩具的反向编程方法,其特征在于,在所述的解析所述行为特征数据从而生成可视化程序的步骤中,根据不同的受控对象采用相应不同的算法。The reverse programming method of a programmed toy according to claim 1, wherein in the step of parsing the behavior feature data to generate a visualization program, corresponding different algorithms are employed according to different controlled objects.
  9. 根据权利要求1所述的编程玩具的反向编程方法,其特征在于,在所述的接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序的步骤中,通过手动方式实现,或者通过机器学习的监督学习算法实现。The reverse programming method of a programmed toy according to claim 1, wherein in the step of receiving an adjustment of the parameter and/or the program step by the user to generate an updated visualization program, Implemented manually, or through a supervised learning algorithm for machine learning.
  10. 根据权利要求1所述的编程玩具的反向编程方法,其特征在于,在所述的生成更新的可视化程序的步骤之前,分类地基于不同受控对象对所述程序步骤进行存储。The reverse programming method of a programmed toy according to claim 1, wherein said program steps are stored in a sorted manner based on different controlled objects before said step of generating an updated visualization program.
  11. 一种编程玩具的反向编程系统,其特征在于,包括如下模块:A reverse programming system for programming a toy, comprising the following modules:
    第一行为产生模块:令一受控对象产生第一行为;a first behavior generating module: causing a controlled object to generate a first behavior;
    特征数据获取模块:获取表征所述第一行为的行为特征数据;a feature data obtaining module: acquiring behavior characteristic data representing the first behavior;
    解析模块:解析所述行为特征数据从而生成可视化程序,其中所述可视化程序包括多个可调整的参数和用于结合所述参数以控制所述受控对象的多个程序步骤;a parsing module: parsing the behavioral feature data to generate a visualization program, wherein the visualization program includes a plurality of adjustable parameters and a plurality of program steps for combining the parameters to control the controlled object;
    界面模块:提供一可视化程序调整界面,供使用者调整所述参数和/或所述程序步骤;Interface module: providing a visual program adjustment interface for the user to adjust the parameters and/or the program steps;
    可视化模块:接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序;a visualization module: receiving an adjustment of the parameter and/or the program step by a user, and generating an updated visualization program;
    第二行为产生模块:将所述更新的可视化程序作用于所述受控对象,令所述受控对象产生第二行为。The second behavior generating module: applying the updated visualization program to the controlled object, causing the controlled object to generate a second behavior.
  12. 根据权利要求11所述的编程玩具的反向编程系统,其特征在于,包括如下模块:The reverse programming system for programming a toy according to claim 11, comprising the following modules:
    程序片段生成模块:根据连续执行的部分或全部程序步骤,生成程序片段;其中,所述可视化程序调整界面包括程序片段调整界面,供使用者调整所述程序片段中的参数和/或程序步骤。The program fragment generation module: generates a program segment according to part or all of the program steps that are continuously executed; wherein the visualization program adjustment interface includes a program segment adjustment interface for the user to adjust parameters and/or program steps in the program segment.
  13. 根据权利要求12所述的编程玩具的反向编程系统,其特征在于,所述部分或全部程序步骤,通过如下任一种方式获取:The reverse programming system for programming a toy according to claim 12, wherein said part or all of the program steps are obtained by any of the following methods:
    -在所述可视化程序调整界面,根据使用者的操作,从所述可视化程序或者所述更新的可视化程序中获取;- obtaining, in the visualization program adjustment interface, from the visualization program or the updated visualization program according to a user's operation;
    -从虚拟对象行为记录中获取;其中,所述虚拟对象行为记录是指,对应于所述受控对象的虚拟对象,按照所述可视化程序或者所述更新的可视化程序执行所产生行为的记录;Obtaining from the virtual object behavior record; wherein the virtual object behavior record refers to a virtual object corresponding to the controlled object, and performing a record of the generated behavior according to the visualization program or the updated visualization program;
    -按照设定的时空参数,从所述可视化程序或所述更新的可视化程序中获取。- Obtained from the visualization program or the updated visualization program in accordance with the set time and space parameters.
  14. 根据权利要求12所述的编程玩具的反向编程系统,其特征在于,所述的接收使用者对所述参数和/或所述程序步骤的调整的方式,包括如下方式:A reverse programming system for programming a toy according to claim 12, wherein said manner of receiving adjustments by said user to said parameters and/or said program steps comprises the following:
    接收使用者对所述程序片段的如下任一种或任多种操作:Receiving any one or any of the following operations of the user on the program segment:
    -调整;-Adjustment;
    -组合;-combination;
    -复用。- Reuse.
  15. 根据权利要求11所述的编程玩具的反向编程系统,其特征在于,所述受控对象为实体物体或虚拟物体;The reverse programming system for programming a toy according to claim 11, wherein the controlled object is a physical object or a virtual object;
    所述实体物体的行为特征数据,包括通过一个或多个传感器获取的传感器数据和/或对实体物体的用户操作数据;Behavior characteristic data of the physical object, including sensor data acquired by one or more sensors and/or user operation data for the physical object;
    所述虚拟物体的行为特征数据,包括来自于所述虚拟物体的软件载体中由软件开发工具包收集的数据。The behavioral feature data of the virtual object includes data collected by a software development kit from a software carrier of the virtual object.
  16. 根据权利要求11所述的编程玩具的反向编程系统,其特征在于,所述获取表征所述第一行为的行为特征数据的方式,持续进行或者通过触发方式实现。The reverse programming system for programming a toy according to claim 11, wherein the manner of acquiring behavioral feature data characterizing the first behavior is performed continuously or by a triggering manner.
  17. 根据权利要求11所述的编程玩具的反向编程系统,其特征在于,所述生成的相应的可视化程序基于不同的受控对象包括不同种类和/或不同数量的代码块。A reverse programming system for programming a toy according to claim 11 wherein said generated respective visualization programs comprise different types and/or different numbers of code blocks based on different controlled objects.
  18. 根据权利要求11所述的编程玩具的反向编程系统,其特征在于,在所述的解析所述行为特征数据从而生成可视化程序的方式中,根据不同的受控对象采用相应不同的算法。The reverse programming system for programming a toy according to claim 11, wherein in the manner of parsing the behavioral feature data to generate a visualization program, correspondingly different algorithms are employed according to different controlled objects.
  19. 根据权利要求11所述的编程玩具的反向编程系统,其特征在于,在所述的接收使用者对所述参数和/或所述程序步骤的调整,生成更新的可视化程序的方式中,通过手动方式实现,或者通过机器学习的监督学习算法实现。A reverse programming system for programming a toy according to claim 11 wherein in said manner in which said receiving user adjusts said parameters and/or said program steps to generate an updated visualization program, Implemented manually, or through a supervised learning algorithm for machine learning.
  20. 根据权利要求11所述的编程玩具的反向编程系统,其特征在于,在所述的生成更新的可视化程序之前,分类地基于不同受控对象对所述程序步骤进行存储。A reverse programming system for programming a toy according to claim 11 wherein said program steps are stored in a sorted manner based on different controlled objects prior to said generating an updated visualization program.
  21. 一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。A computer readable storage medium storing a computer program, wherein the computer program is executed by a processor to implement the steps of the method of any one of claims 1 to 10.
  22. 一种智能设备,其特征在于,包括权利要求11至20中任一项所述的编程玩具的反向编程系统,或者包括权利要求21所述的存储有计算机程序的计算机可读存储介质。A smart device, comprising the reverse programming system of the programming toy of any one of claims 11 to 20, or the computer readable storage medium storing the computer program of claim 21.
PCT/CN2018/119915 2017-12-12 2018-12-07 Reverse programming method, system and device for programming toy, and medium WO2019114636A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201711315326.3 2017-12-12
CN201711315326.3A CN108182062A (en) 2017-12-12 2017-12-12 A kind of method and system reversely programmed
CN201811160749.7A CN109814875A (en) 2017-12-12 2018-09-30 Program the method and system reversely programmed, the equipment, medium of toy
CN201811160749.7 2018-09-30

Publications (1)

Publication Number Publication Date
WO2019114636A1 true WO2019114636A1 (en) 2019-06-20

Family

ID=62546055

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/119915 WO2019114636A1 (en) 2017-12-12 2018-12-07 Reverse programming method, system and device for programming toy, and medium

Country Status (2)

Country Link
CN (2) CN108182062A (en)
WO (1) WO2019114636A1 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182062A (en) * 2017-12-12 2018-06-19 上海葡萄纬度科技有限公司 A kind of method and system reversely programmed
CN110825121B (en) * 2018-08-08 2023-02-17 纬创资通股份有限公司 Control device and unmanned aerial vehicle control method
CN109240682B (en) * 2018-09-30 2021-11-30 上海葡萄纬度科技有限公司 Interactive programming system, method, medium and intelligent device based on AR
WO2021016972A1 (en) * 2019-07-31 2021-02-04 深圳市大疆创新科技有限公司 Programming system and method, and program execution device
TWM589344U (en) * 2019-08-16 2020-01-11 溫瓌岸 A computer programming training device and physical, non-transitory computer-readable storage medium including computer programming training computer programs
CN110673874B (en) * 2019-09-11 2023-06-13 苏州德创测控科技有限公司 Method, storage medium, and apparatus for changing configuration of wizard programming software
CN112775977B (en) * 2020-06-12 2022-08-05 杭州优必学科技有限公司 Programming device and method for controlling based on resistance
CN112801250B (en) * 2020-06-12 2022-08-05 杭州优必学科技有限公司 Programming device and method for controlling by adopting radio frequency
CN112785903B (en) * 2020-06-14 2022-10-25 杭州优必学科技有限公司 Programming device and method for controlling based on color recognition
CN113568611B (en) * 2020-10-12 2024-03-08 宁波舜宇智能科技有限公司 Logistics path graphical generation method, equipment, electronic device and storage medium
CN112489531B (en) * 2020-12-10 2022-08-12 杭州优必学科技有限公司 Distance-based real object programming control method
CN113094282B (en) * 2021-04-28 2023-08-01 腾讯科技(深圳)有限公司 Program block running method, device, equipment and storage medium
CN115445218A (en) * 2022-09-05 2022-12-09 上海布鲁可教育科技有限公司 Image processing method and instruction card structure in hunting toy

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462179A (en) * 2013-09-24 2015-03-25 乐金信世股份有限公司 Method of processing big data, apparatus performing the same and storage media storing the same
CN104679488A (en) * 2013-11-29 2015-06-03 亿阳信通股份有限公司 Flow path customized development platform and method
CN104834516A (en) * 2015-04-03 2015-08-12 周凡 Strategy regulatory module of global vision soccer robot decision-making subsystem and method thereof
CN105204859A (en) * 2015-09-24 2015-12-30 广州视睿电子科技有限公司 Animation management method and system
CN108182062A (en) * 2017-12-12 2018-06-19 上海葡萄纬度科技有限公司 A kind of method and system reversely programmed

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136208B (en) * 2011-03-30 2013-01-09 中国科学院软件研究所 Material object programming method and system
WO2014130580A2 (en) * 2013-02-19 2014-08-28 Quick Eye Technologies Inc. Data visualization techniques
CN103472743A (en) * 2013-09-23 2013-12-25 彭武 Visualized step programming method
SG10201809399VA (en) * 2014-06-12 2018-11-29 Play I Inc System and method for reinforcing programming education through robotic feedback
CN104461528A (en) * 2014-12-01 2015-03-25 陕西海泰电子有限责任公司 Method and device for generating signal-oriented application program codes in visualization mode
CN105739974A (en) * 2016-01-25 2016-07-06 杭州电子科技大学 Method for controlling electronic building blocks by graphical programming

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462179A (en) * 2013-09-24 2015-03-25 乐金信世股份有限公司 Method of processing big data, apparatus performing the same and storage media storing the same
CN104679488A (en) * 2013-11-29 2015-06-03 亿阳信通股份有限公司 Flow path customized development platform and method
CN104834516A (en) * 2015-04-03 2015-08-12 周凡 Strategy regulatory module of global vision soccer robot decision-making subsystem and method thereof
CN105204859A (en) * 2015-09-24 2015-12-30 广州视睿电子科技有限公司 Animation management method and system
CN108182062A (en) * 2017-12-12 2018-06-19 上海葡萄纬度科技有限公司 A kind of method and system reversely programmed

Also Published As

Publication number Publication date
CN109814875A (en) 2019-05-28
CN108182062A (en) 2018-06-19

Similar Documents

Publication Publication Date Title
WO2019114636A1 (en) Reverse programming method, system and device for programming toy, and medium
US20210205980A1 (en) System and method for reinforcing programming education through robotic feedback
US10181268B2 (en) System and method for toy visual programming
US11762461B2 (en) Late update of eye tracking information to GPU for fast foveated rendering
US11450073B1 (en) Multi-user virtual and augmented reality tracking systems
DK2435216T3 (en) SYSTEM AND PROCEDURE FOR EDITING AND MANAGING A MOBILE ROBOT'S BEHAVIOR
US10317988B2 (en) Combination gesture game mechanics using multiple devices
CN107009371B (en) Method and device for automatically adjusting dancing action of robot
JP7238136B2 (en) OBJECT CONTROL METHOD AND OBJECT CONTROL DEVICE, COMPUTER PROGRAM, AND ELECTRONIC DEVICE
CN109933191B (en) Gesture recognition and control method and system
Jochum et al. Sequence and chance: Design and control methods for entertainment robots
JP2020526831A (en) Interactive input control in a simulated three-dimensional (3D) environment
JP2010531743A (en) Method for editing robot motion
CN105491257B (en) Control method and device of the mobile phone to remote control for toys
US20180250815A1 (en) Robot animation layering
US20230390653A1 (en) Smoothing server for processing user interactions to control an interactive asset
US20190111563A1 (en) Custom Motion Trajectories for Robot Animation
CN110370280A (en) Feedback, system and the computer readable storage medium of robot behavior
KR102596322B1 (en) Method, system, and non-transitory computer-readable recording medium for authoring contents based on in-vehicle video
CN102592485A (en) Method for controlling notes to be played by changing movement directions
WO2023235217A1 (en) Smoothing server for processing user interactions to control an interactive asset
KR20160063662A (en) Toy control system
CN117219078A (en) Ornaments voice recognition method and system based on artificial intelligence
WO2017048598A1 (en) System and method for toy visual programming
KR20200019298A (en) IoT doll system for controlling smart contents

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18889757

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18889757

Country of ref document: EP

Kind code of ref document: A1