WO2019114636A1 - Procédé de programmation inverse, système et dispositif de programmation de jouet, et support - Google Patents

Procédé de programmation inverse, système et dispositif de programmation de jouet, et support 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
English (en)
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/fr

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

L'invention concerne un procédé de programmation inverse (100), dans lequel un objet commandé génère un comportement sous l'action d'une instruction de commande. Le procédé comprend les étapes consistant : à acquérir des données de caractéristiques de comportement caractérisant un comportement d'un objet commandé (101); et à effectuer un traitement d'analyse sur les données de caractéristiques de comportement acquises afin de générer un programme visuel correspondant (102), le programme visuel généré comprenant divers paramètres réglables et diverses étapes de programme pour commander l'objet commandé en parallèle avec les paramètres. L'invention concerne également un dispositif et un système correspondants ainsi qu'un support. En analysant un comportement d'un objet commandé et en générant un programme visuel et modifiable, par exemple, un programme visuel, un utilisateur est aidé à percevoir clairement et concrètement un comportement d'un objet.
PCT/CN2018/119915 2017-12-12 2018-12-07 Procédé de programmation inverse, système et dispositif de programmation de jouet, et support WO2019114636A1 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201711315326.3A CN108182062A (zh) 2017-12-12 2017-12-12 一种反向编程的方法及系统
CN201711315326.3 2017-12-12
CN201811160749.7A CN109814875A (zh) 2017-12-12 2018-09-30 编程玩具的反向编程的方法及系统、设备、介质
CN201811160749.7 2018-09-30

Publications (1)

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

Family

ID=62546055

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/119915 WO2019114636A1 (fr) 2017-12-12 2018-12-07 Procédé de programmation inverse, système et dispositif de programmation de jouet, et support

Country Status (2)

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

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182062A (zh) * 2017-12-12 2018-06-19 上海葡萄纬度科技有限公司 一种反向编程的方法及系统
CN110825121B (zh) * 2018-08-08 2023-02-17 纬创资通股份有限公司 控制装置与无人机控制方法
CN109240682B (zh) * 2018-09-30 2021-11-30 上海葡萄纬度科技有限公司 基于ar的交互编程系统、方法、介质及智能设备
CN112189185A (zh) * 2019-07-31 2021-01-05 深圳市大疆创新科技有限公司 一种编程系统、方法及程序执行设备
TWM589344U (zh) * 2019-08-16 2020-01-11 溫瓌岸 程式設計教學裝置及含程式設計教學程式的有形的且非暫時性的電腦可讀介質
CN110673874B (zh) * 2019-09-11 2023-06-13 苏州德创测控科技有限公司 用于向导式编程软件的变更配置的方法、存储介质、设备
CN112775977B (zh) * 2020-06-12 2022-08-05 杭州优必学科技有限公司 一种基于电阻进行控制的编程装置及方法
CN112801250B (zh) * 2020-06-12 2022-08-05 杭州优必学科技有限公司 一种采用无线射频进行控制的编程装置及方法
CN112785903B (zh) * 2020-06-14 2022-10-25 杭州优必学科技有限公司 一种基于颜色识别进行控制的编程装置及方法
CN113568611B (zh) * 2020-10-12 2024-03-08 宁波舜宇智能科技有限公司 物流路径的图形化生成方法、设备、电子装置和存储介质
CN112489531B (zh) * 2020-12-10 2022-08-12 杭州优必学科技有限公司 一种基于距离的实物编程控制方法
CN113094282B (zh) * 2021-04-28 2023-08-01 腾讯科技(深圳)有限公司 程序块运行方法、装置、设备及存储介质
CN115445218A (zh) * 2022-09-05 2022-12-09 上海布鲁可教育科技有限公司 寻线玩具中的图像处理方法及指令卡结构

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462179A (zh) * 2013-09-24 2015-03-25 乐金信世股份有限公司 处理大数据的方法、执行其的装置以及储存其的存储媒介
CN104679488A (zh) * 2013-11-29 2015-06-03 亿阳信通股份有限公司 一种流程定制开发平台及流程定制开发方法
CN104834516A (zh) * 2015-04-03 2015-08-12 周凡 全局视觉足球机器人决策子系统的策略调控模块及其方法
CN105204859A (zh) * 2015-09-24 2015-12-30 广州视睿电子科技有限公司 动画管理方法及其系统
CN108182062A (zh) * 2017-12-12 2018-06-19 上海葡萄纬度科技有限公司 一种反向编程的方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136208B (zh) * 2011-03-30 2013-01-09 中国科学院软件研究所 一种实物编程方法和系统
US11256524B2 (en) * 2013-02-19 2022-02-22 Quick Eye Technologies Inc. Data structures for visualization of hierarchical data
CN103472743A (zh) * 2013-09-23 2013-12-25 彭武 可视化步骤编程法
WO2015191910A1 (fr) * 2014-06-12 2015-12-17 Play-i, Inc. Système et procédé de consolidation de l'enseignement de la programmation par une rétroaction par un robot
CN104461528A (zh) * 2014-12-01 2015-03-25 陕西海泰电子有限责任公司 一种可视化生成面向信号应用程序代码的方法及装置
CN105739974A (zh) * 2016-01-25 2016-07-06 杭州电子科技大学 一种图形化编程控制电子积木的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462179A (zh) * 2013-09-24 2015-03-25 乐金信世股份有限公司 处理大数据的方法、执行其的装置以及储存其的存储媒介
CN104679488A (zh) * 2013-11-29 2015-06-03 亿阳信通股份有限公司 一种流程定制开发平台及流程定制开发方法
CN104834516A (zh) * 2015-04-03 2015-08-12 周凡 全局视觉足球机器人决策子系统的策略调控模块及其方法
CN105204859A (zh) * 2015-09-24 2015-12-30 广州视睿电子科技有限公司 动画管理方法及其系统
CN108182062A (zh) * 2017-12-12 2018-06-19 上海葡萄纬度科技有限公司 一种反向编程的方法及系统

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2019114636A1 (fr) Procédé de programmation inverse, système et dispositif de programmation de jouet, et support
US20210205980A1 (en) System and method for reinforcing programming education through robotic feedback
US10181268B2 (en) System and method for toy visual programming
US20240004466A1 (en) Generating and rendering primitives in a frame period with late update of eye tracking information 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 (zh) 一种自动调节机器人舞蹈动作的方法及装置
CN104759095A (zh) 一种虚拟现实头戴显示系统
CN108777100B (zh) 基于有形编程指令积木的编程教育系统
CN109933191B (zh) 手势识别和控制方法及其系统
Jochum et al. Sequence and chance: Design and control methods for entertainment robots
JP2020526831A (ja) シミュレーションされた三次元(3d)環境におけるインタラクティブな入力制御
CN109118880B (zh) 基于蓝牙mesh的机器人学习和协作系统
CN105009008B (zh) 控制器、时间图制作装置
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
CN113577763B (zh) 一种游戏角色的控制方法和装置
CN110370280B (zh) 机器人行为的反馈控制方法、系统和计算机可读存储介质
KR102596322B1 (ko) 차량 내부 영상을 기반으로 콘텐츠를 저작하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
CN102592485A (zh) 一种以动作方向变化控制音符播放的方法
WO2023235217A1 (fr) Serveur de lissage pour traiter des interactions utilisateur pour commander un actif interactif
KR20160063662A (ko) 완구 제어 시스템
CN118254585A (en) Method and system for automatically controlling vehicle-mounted display screen

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