WO2020063132A1 - Ar-based interactive programming system and method, and medium and intelligent device - Google Patents

Ar-based interactive programming system and method, and medium and intelligent device Download PDF

Info

Publication number
WO2020063132A1
WO2020063132A1 PCT/CN2019/099902 CN2019099902W WO2020063132A1 WO 2020063132 A1 WO2020063132 A1 WO 2020063132A1 CN 2019099902 W CN2019099902 W CN 2019099902W WO 2020063132 A1 WO2020063132 A1 WO 2020063132A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual
real object
image
real
program instruction
Prior art date
Application number
PCT/CN2019/099902
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 WO2020063132A1 publication Critical patent/WO2020063132A1/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

Definitions

  • the present invention relates to the field of toys, and in particular, to an AR-based interactive programming system, method, medium, and smart device.
  • Patent documents CN1267228A and CN1223158A respectively disclose programmable toys, which belong to earlier programming toys. Such a programming toy only stays offline and offline, and cannot be augmented by virtual means.
  • patent document CN1223158A is an important research and development foundation for subsequent AR programming toys.
  • Patent document CN1223158A provides users with a series of action buttons, which can be used to program the movements of toys by pressing different buttons successively. The priority date is 1997. At that time, home PCs were not yet popular, and domestic programming skills were mainly concentrated. In colleges and universities for adults; the patent document CN1223158A was able to provide programming toys for children in the 1990s. At the time, it was really a very fun toy that was worth showing off. The focus on children's toys has a strong basis for further improvement.
  • patent document CN101789194A discloses a building block type learning and programming device, which includes a plurality of different types of real volume blocks, each type of block contains corresponding instruction information, and after connecting the block blocks to a single-chip microcomputer, the single-chip microcomputer makes The instruction information in the block outputs the control signal, presenting sound, light, electricity and other effects.
  • the interactivity of the programming effect provided by the patent document CN101789194A is still insufficient.
  • patent document CN105396295A discloses a children-oriented space-programmed robot toy, which uses a plurality of instruction labels arranged sequentially, each instruction label has several control instructions, and the robot body sequentially reads the control instructions on each instruction label. Then, the corresponding command actions indicated by the control command are executed in turn.
  • anti-addiction software the use of acceleration sensors to identify and assist in reminding the sitting posture and other technologies have been valued and developed. Therefore, a programming process such as the patent document CN105396295A departs from the technical solution of the smart device and is far from the technical field of AR programming toys.
  • AR Augmented Reality
  • Patent document CN106730899A discloses a toy control method and system, which adopts AR technology to realize synchronous movement between physical toys and virtual toys.
  • the interaction process between the physical toy and the virtual toy in the patent document CN106730899A belongs to synchronous control, only the virtualized control of the physical toy and the physicalized control of the virtual toy are implemented, and the physical toy and the virtual toy are not in the same space. To interact.
  • Patent document CN105931289A is a more typical technical solution for interacting physical toys with virtual toys in the same space. It discloses a system and method for real models to cover virtual objects, such as realizing virtual dinosaurs to be displayed on display parts , And the effect of being blocked by the real jungle landscape patch, visually the virtual dinosaur can shuttle back and forth between the real jungle landscape patch. Conversely, the effect of another virtual object blocking the solid object can also be achieved accordingly.
  • AR programming toys are mainly related to "programming” and "AR”.
  • non-AR programming toys appeared earlier, and then combined with the development of AR.
  • R & D process spanning more than 20 years, it is necessary to consider how to combine AR and programming to improve the interaction effect of programming, so that this interaction provides more companionship in children's learning and growth.
  • the object of the present invention is to provide an AR-based interactive programming system, method, medium, and smart device.
  • An AR-based interactive programming system includes:
  • AR module Overlay and present images of real objects and virtual objects
  • the AR-based interactive programming system further includes:
  • a programming module obtaining a program instruction set, wherein the program instruction set includes one or more program instruction units;
  • Execution module instructs a real object to perform an action according to the program instruction set.
  • it further comprises:
  • Matching module presents the relative relationship between the image of the real object and the virtual object.
  • the programming module includes:
  • a programming unit acquisition module acquiring a plurality of program instruction units according to the first operation input information
  • Timing relationship acquisition module acquiring timing relationships executed between the plurality of program instruction units according to the second operation input information
  • Instruction set generation module Generates the program instruction set according to the multiple program instruction units and timing relationships.
  • the matching module includes any one or more of the following modules:
  • Matching size module presents the size relative relationship between the image of the real object and the virtual object, and makes the size match between the image of the real object and the virtual object through size interaction; wherein the size interaction refers to: reminding the real object The size difference between the image and the virtual object, or instructing the real object to move to change the size of the image;
  • Matching orientation module presents the relative relationship between the orientation of the image of the real object and the virtual object, and the orientation interaction makes the orientation of the image of the real object and the virtual object match; wherein the orientation interaction means: prompting the real object The orientation difference between the image and the virtual object, or instructs the real object to rotate to change the orientation of the image.
  • the matching module further includes:
  • Obstacle elimination module determine whether there is a conflict between the virtual object and the actual obstacle; if there is no conflict, confirm that there is no conflict; if there is a conflict, then:
  • the virtual object includes a virtual venue
  • the virtual venue is presented in any of the following ways:
  • it further comprises:
  • Virtual interaction response module presents a virtual interaction response of the virtual object to the image of the real object according to the action performed by the real object.
  • it further comprises:
  • Real interaction response module instructs the real object to perform a real interaction response according to the virtual interaction response.
  • it further comprises:
  • Programming interface module provides a visual programming interface; wherein, the programming interface module includes any one or more of the following modules:
  • -Overlay presentation module Make the images of the real object and the virtual object overlay and present in the visual programming interface
  • -Operation presentation module a graphical program instruction unit, in the visual programming interface, presents a corresponding visual effect with the user's operation;
  • the program instruction set is executed step by step to execute the program instruction unit, and the actual object is executed step by step in the visual programming interface;
  • -Omit presentation module According to the user's designation of the program instruction unit, instruct the real object to directly respond to the corresponding action after the designated program instruction unit is executed, and present it in the visual programming interface.
  • the programming interface module further includes any one or more of the following modules:
  • a first interface switching module trigger switching from the operation presentation module to the execution presentation module according to the third operation input information
  • the second interface switching module triggers switching from the execution presentation module to the operation presentation module according to a virtual interaction response of the virtual object to the image of the real object.
  • An AR-based interactive programming method provided according to the present invention includes:
  • AR step superimposing and presenting images of real objects and virtual objects
  • the AR-based interactive programming method further includes:
  • Programming step obtaining a program instruction set, wherein the program instruction set includes one or more program instruction units;
  • Execution step According to the program instruction set, instruct a real object to perform an action.
  • it further comprises:
  • Matching step present the relative relationship between the image of the real object and the virtual object.
  • the programming step includes:
  • Step of acquiring a programming unit acquiring a plurality of program instruction units according to the first operation input information
  • Step of acquiring timing relationships acquiring timing relationships executed between the plurality of program instruction units according to the second operation input information
  • Instruction set generation step generating the program instruction set according to the multiple program instruction units and a timing relationship.
  • the matching step includes any one or more of the following steps:
  • Step of matching size presenting the relative size relationship between the image of the real object and the virtual object, and matching the size between the image of the real object and the virtual object through size interaction; wherein the size interaction refers to: prompting the real object The size difference between the image and the virtual object, or instructing the real object to move to change the size of the image;
  • Step of matching orientation presenting the relative relationship between the orientation of the image of the real object and the virtual object, and the orientation interaction makes the orientation of the image of the real object and the virtual object match; wherein the orientation interaction refers to: prompting the real object The orientation difference between the image and the virtual object, or instructs the real object to rotate to change the orientation of the image.
  • the matching step further includes:
  • Obstacle removal steps determine whether there is a conflict between the virtual object and the actual obstacle; if there is no conflict, confirm that there is no conflict; if there is a conflict, then:
  • the virtual object includes a virtual venue
  • the virtual venue is presented in any of the following ways:
  • it further comprises:
  • Virtual interaction response step presenting a virtual interaction response of the virtual object to the image of the real object according to the action performed by the real object.
  • it further comprises:
  • Real interaction response step instructing the real object to perform a real interaction response according to the virtual interaction response.
  • it further comprises:
  • Programming interface steps Provide a visual programming interface; wherein the programming interface steps include any one or more of the following steps:
  • -Overlay presentation step making the image of the real object and the virtual object overlay and present in the visual programming interface
  • -Operation presentation step making a graphical program instruction unit, in the visual programming interface, present a corresponding visual effect with the user's operation;
  • the programming interface step further includes any one or more of the following steps:
  • First interface switching step trigger switching from the operation presentation step to the execution presentation step according to the third operation input information
  • the second interface switching step trigger switching from the execution presentation step to the operation presentation step according to a virtual interaction response of the virtual object to the image of the real object.
  • a computer-readable storage medium storing a computer program, and the computer program implements the steps of the foregoing method when executed by a processor.
  • An intelligent device provided according to the present invention includes the above-mentioned AR-based interactive programming system, or the above-mentioned computer-readable storage medium storing a computer program.
  • the present invention has the following beneficial effects:
  • the invention improves the programming toy in the prior art, and involves the interaction between the image of the real object and the virtual object, the interaction between the real object and the smart device, and the interaction between the virtual object and the user during the programming process. Fully combined with AR technology, making programming toys suitable for children's intelligent companionship.
  • FIG. 1 is a schematic diagram of an adjustment interface of a relative relationship between a size of an image of a real object and a size of a virtual object.
  • FIG. 2 is a schematic diagram of an adjustment interface for the relative relationship between the orientation of an image of a real object and a virtual object.
  • FIG. 3 is a schematic diagram of an interface in which an image of a real object and a grid road in a virtual object are superimposed.
  • Figure 4 is a schematic diagram of a visual programming interface.
  • FIG. 5 is a schematic diagram of an interface for executing a first program instruction in a visual programming interface.
  • FIG. 6 is an interface schematic diagram of executing the second step program instruction in the visual programming interface.
  • FIG. 7 is a flowchart of method steps in a specific scenario embodiment.
  • FIG. 8 is a schematic diagram of a structural framework in a specific scenario embodiment.
  • the figure shows:
  • Companionship is an indispensable emotional link in the growth process of children, including parent-to-child companionship, and toy-to-child companionship. More importantly, parents and children can have the opportunity to play games and learn together through toys to achieve More advanced smart companions, and programming toys are one of the best carriers. To this end, the inventors carried out technical improvements under the vision and recognition of intelligent companionship, and carried out graphic expressions with the assistance of patent engineers, patent agents, and patent attorneys, in order to obtain patent rights and enable subsequent development of more Many products accompany children at home. The technical solutions and specific application scenarios of the present application are described below.
  • An AR-based interactive programming system includes:
  • AR module Overlay and present the image of the real object and the virtual object; the image of the real object is obtained by capturing the real picture from the camera device, such as the camera of a smart phone.
  • the real picture includes the entire picture collected by the camera device. Contains real objects such as stairs, sofas, building blocks, robots, carpets, murals, food, pets, and people.
  • the graphics corresponding to the recognition target in the entire screen are selected as the real object images.
  • a robot that can perform actions is used as the recognition.
  • the target, the image of the robot constitutes the image of the real object; in other preferred examples, people or animals can be used as recognition targets. As long as the person or animal can understand the instructions, the corresponding actions can also be performed after receiving the instructions.
  • the instruction is preferably a voice instruction, and a sub-optimal instruction may also be a graphic instruction, an odor instruction, or the like, which is suitable for a situation in which a person with a sensory impairment or an animal needs perceptual assistance.
  • Programming interface module Provides a visual programming interface; the visual programming interface is mainly composed of one or more sub-interfaces, and multiple sub-interfaces can be switched, displayed, or displayed side-by-side; when displayed side by side, visually the sub-interfaces Corresponds to a display area in the visual programming interface; at least one sub-interface is used as a presentation space, and at the same time, the image of the real object and the virtual object are presented, and the image of the real object and the virtual object are superimposed and presented. Only the image and virtual object of the real object are presented.
  • the sub-interface can also present the real picture of the real object at the same time. Carpets and other things around real objects.
  • the virtual object can cover a part of the real picture in which the real object is located, and the image of the real object can cover the virtual object.
  • Those skilled in the art can refer to the blocking technology of the virtual dinosaur and the real jungle landscape plug-in board in patent document CN105931289A
  • the overlay is implemented in an overlay manner, which will not be repeated here.
  • Programming module obtaining a program instruction set, wherein the program instruction set includes one or more program instruction units; wherein the type of the program instruction unit may be a logic type instruction or an execution type instruction; the execution type The instruction instructs the real object to perform an action.
  • Execution module instructs a real object to perform an action according to the program instruction set; wherein the action may be various motions, such as translation, rotation, beating, and deformation; the action may also be sound, light, and electrical effects, For example, vocalization, light emission, color change, temperature change, phase change.
  • the action may be an action that can be achieved by this type of real object, such as laughing, bending , Picking up items, turning on household appliances, etc.
  • Matching module presents the relative relationship between the image of the real object and the virtual object. Since the image of the real object and the virtual object need to be superimposed in the same space, and the image of the real object and the virtual object are required to interact, it is necessary to match the two with parameters such as size.
  • the real object is a robot and the virtual object is a grid. The influence of the robot needs to move between different grids. If the robot is too far away from the camera at this time, the robot needs to move a long distance to move from a grid. The next grid is not suitable for game effects, so it is necessary to present the relative relationship between the image of the real object and the virtual object before the virtual interactive response, the real interactive response, and the execution action, and match the relative relationship. Adjustment.
  • Virtual interaction response module presents a virtual interaction response of the virtual object to the image of the real object according to the action performed by the real object; for example, the virtual interaction response may be eating a virtual cake, brightening the grid, and saving a virtual animal. Way, you can remind the similarities and differences between the programming results and the expected structure.
  • Real interaction response module According to the virtual interaction response, instruct the real object to perform a real interaction response; the real interaction response may be that the instructed robot makes a circle in place, shakes, changes expression, and emits different sounds.
  • the invention also provides a smart device, which includes the AR-based interactive programming system.
  • the smart device may be a smart phone, a tablet computer, a smart watch, smart glasses, a projection device, a VR helmet, and other devices.
  • a smart phone as an example, the image of a real object is captured by a camera of the smart phone.
  • the screen of the smart phone overlays and displays the image of the real object and the virtual object, and presents the programming interface module, and receives the user's visual programming interface through the touch screen.
  • the short-range wireless communication module of the smart phone or the WIFI network is used to send instructions to the real object, the voice control instruction is played through the smart phone's sound module, and the light control instruction is issued through the smart phone's lighting.
  • the programming module includes:
  • Programming unit acquisition module Acquire multiple program instruction units according to the first operation input information; display graphical program instruction units in a visual programming interface, such as graphically shaped as a jigsaw puzzle; users use the program instruction units Performing the first operation input information to obtain a plurality of program instruction units, wherein the first operation input information includes input information generated by clicking, voice control selection, gesture control, eye selection, and peripheral selection.
  • Peripherals can be mouse, electronic pen and other external devices.
  • Timing relationship acquisition module Acquire a timing relationship between the multiple program instruction units according to the second operation input information.
  • the second operation input information is used to set the execution timing between the obtained multiple program instruction units. It is a single execution or a cyclic execution, and the timing relationship is mainly determined by the second operation input information and / or the logic of the program instruction unit itself.
  • the second operation input information may be a user dragging a program instruction unit after selecting it on the touch screen, or setting an execution sequence number of each program instruction unit.
  • the first operation input information and the second operation input information may be generated by the same operation of the user, for example, the user edits a graphical program instruction unit from visual editing Drag one area of the interface to another area.
  • Instruction set generation module Generates the program instruction set according to the multiple program instruction units and timing relationships.
  • the visual effect of the program instruction set on the visual editing interface may be the orderly arrangement of multiple graphical program instruction units at different positions, and the code in the program instruction set is preferably not presented visually.
  • the matching module includes any one or more of the following modules:
  • Matching size module presents the size relative relationship between the image of the real object and the virtual object, and makes the size match between the image of the real object and the virtual object through size interaction; wherein the size interaction refers to: reminding the real object The size difference between the image and the virtual object, or instructing a real object to move to change the size of the image; the virtual object includes a size comparison object between the shape of the size comparison object and the image of the real object Match, for example, both are circular, as shown in Figure 1, or both are circular and square, respectively. If the size contrast object is exactly enveloped, basically includes or contains images of real objects, then both are considered The sizes are matched, otherwise, the sizes are considered not to match, so that the relative relationship between the sizes is realized, reflecting the size difference.
  • the real object when the size difference between the image of the real object and the virtual object is large and does not match, the real object may be instructed to move to match the size relationship; if the image of the real object is too small, it indicates that the real object is close to the camera ; If the image of the real object is too large, it indicates that the real object is far from the camera; or, if it is recognized that the real object does not all enter the screen, it can instruct the real object to all enter the camera's frame acquisition angle.
  • Matching orientation module presents the relative relationship between the orientation of the image of the real object and the virtual object, and the orientation interaction makes the orientation of the image of the real object and the virtual object match; wherein the orientation interaction means: prompting the real object The orientation difference between the image and the virtual object, or instructs the real object to rotate to change the orientation of the image; the virtual object includes a contrast-oriented object.
  • the orientation of the real object can be identified, and Icons such as arrows indicate that, as shown in FIG. 2, for example, the orientation of a toy car can be set to the front direction of the toy car; the visually programming interface presents both the orientation-oriented object and the orientation icon of the real object at the same time, so that The user may automatically recognize the difference in orientation between the two.
  • the user can operate to change the orientation of the virtual object or instruct the real object to rotate to reduce or eliminate the difference in orientation.
  • Obstacle elimination module determine whether the virtual object conflicts with the real obstacle.
  • virtual objects are functional for programming, conflicts between real obstacles and virtual objects may occur. For example, if an image of a virtual object robot that is a real object needs to move along a virtual road, the virtual road cannot overlap with a real obstacle. As another example, the extension of a virtual road is overlapped by a wall or a sofa. If there is no conflict, confirm that there is no conflict; if there is a conflict, then: prompt a conflict; instruct the real object to move so that the virtual object does not conflict with the real obstacle; or, update the virtual object so that the virtual object does not conflict with the real obstacle .
  • the virtual object includes a virtual venue.
  • virtual sites are grids, roads, bridges, watercourses, stadiums, cities, grasslands, mountains and rivers, tracks, and so on.
  • the virtual venue is presented in any of the following ways: based on preset parameters; based on the relative relationship between the image of the real object and the virtual object; and after the image of the real object matches the virtual object, it is based on the real object.
  • the presenting according to the preset parameters may specifically generate and present the virtual venue according to the preset parameters without considering the relative relationship between the image of the real object and the virtual object.
  • the presentation is based on the relative relationship between the image of the real object and the virtual object.
  • the virtual object is correspondingly presented according to the image of the real object; for example, if the image of the real object is large, the grid in the virtual venue is also The corresponding area is larger; if the image of the real object is smaller, the grid in the virtual site is also smaller.
  • the motion parameters of the real object are protected.
  • the step distance of the real object of the robot is constant.
  • the real object of the robot moves one step, which is almost the same. Or just move from one grid to another.
  • the real object is presented; specifically, the position of the real object is recognized in real time, indicating that the action of the real object is adapted to the virtual venue. For example, instruct the real object to move so that the real object moves exactly from one grid to another.
  • the programming interface module includes any one or more of the following modules:
  • Overlay presentation module Make the image of the real object and the virtual object overlay and present in the visual programming interface; for example, as shown in FIG. 1.
  • Operation presentation module Make a graphical program instruction unit, in the visual programming interface, present a corresponding visual effect with the user's operation; for example, if the user drags the program instruction unit, the program instruction unit is being dragged It is highlighted during the movement and moves to the end position of the drag track.
  • the execution presentation module the program instruction set is executed step by step to execute the program instruction unit and the real object is executed step by step in the visual programming interface, and displayed synchronously; as shown in FIG. 5 and FIG. 6.
  • Omit presentation module According to the user's designation of the program instruction unit, instruct the real object to directly respond to the corresponding action after the designated program instruction unit is executed, and present it in the visual programming interface. For example, if there are 5 consecutive program instruction units that turn 90 degrees, if the user clicks on the debug and executes the fifth program instruction unit that turns 90 degrees, the real object will only turn 90 degrees, instead of 360 degrees + 90 degrees, Save time in programming proofreading.
  • the programming interface module further includes any one or more of the following modules:
  • First interface switching module trigger switching from the operation presentation module to the execution presentation module according to the third operation input information; for example, switching from FIG. 4 to the interface shown in FIG. 5.
  • the second interface switching module trigger switching from the execution presentation module to the operation presentation module according to a virtual interaction response of the virtual object to the image of the real object; for example, switching from FIG. 5 to the interface shown in FIG. 4.
  • the real object includes a robot
  • FIG. 1 shows an image 100 of the real object.
  • the robot has a spherical structure, and wheels are installed at the bottom, which can move on its own, including translation and rotation.
  • the user turns on the mobile phone, and continuously shoots the robot with the mobile phone.
  • FIG. 1 is a schematic diagram showing a realistic picture on the screen of the mobile phone.
  • the relative distance relationship between the robot and the mobile phone needs to be adjusted, that is, the virtual object, especially the distance relationship between the virtual field and the robot.
  • the virtual field is not shown in FIG. 1, but is shown in FIG. 3. This is because the virtual field needs to be generated according to the orientation of the robot.
  • the size comparison object 201 in FIG. 1 is similar to the size and size of the robot image, and basically forms an envelope. It is considered that the distance between the robot and the mobile phone is appropriate at this time.
  • an arrow icon 202 is displayed on the mobile phone interface, and the user rotates the arrow icon so that the arrow icon is aligned with the front direction of the robot.
  • FIG. 3 a virtual venue 203 is generated.
  • the user needs to look at the grid roads in the virtual field and move forward along the grid road one by one.
  • this requires the user to obtain the instruction program instruction set programmatically, and use the program instruction set to instruct the robot to move along the grid road.
  • Figure 4 shows the visual programming interface.
  • the left area of the visual programming interface is a graphical program instruction unit.
  • the right area of the visual programming interface is the program instruction units that the user has selected and sorted, that is, the six program instruction units in the right area mainly constitute the program instruction set. According to the program instruction set movement, the robot will follow the road from one end of the grid road to the other.
  • the program instruction set can execute the program instruction unit step by step, and the real object step by step actions.
  • the visual programming interface synchronous display.
  • a solid dot is marked on the graphic of the program instruction unit in the first step, which indicates that the program instruction unit is being executed. Accordingly, the robot starts from the first grid on the network road to the second. The Internet advances one space.
  • the solid dots are marked on the graphic of the program instruction unit in the second step, which indicates that the program instruction unit is being executed. Accordingly, the robot starts from the second grid of the network road to the The three networks advance one grid.
  • AR-based interactive programming method provided by the present invention.
  • Those skilled in the art can implement the AR-based interactive programming system by referring to the steps and procedures in the AR-based interactive programming. That is, the AR-based interactive programming method can be understood as a preferred example of the AR-based interactive programming system.
  • An AR-based interactive programming method provided according to the present invention includes:
  • AR step superimposing and presenting images of real objects and virtual objects
  • the AR-based interactive programming method further includes:
  • Programming step obtaining a program instruction set, wherein the program instruction set includes one or more program instruction units;
  • Execution step According to the program instruction set, instruct a real object to perform an action.
  • it further comprises:
  • Matching step present the relative relationship between the image of the real object and the virtual object.
  • the programming step includes:
  • Step of acquiring a programming unit acquiring a plurality of program instruction units according to the first operation input information
  • Step of acquiring timing relationships acquiring timing relationships executed between the plurality of program instruction units according to the second operation input information
  • Instruction set generation step generating the program instruction set according to the multiple program instruction units and a timing relationship.
  • the matching step includes any one or more of the following steps:
  • Step of matching size presenting the relative size relationship between the image of the real object and the virtual object, and matching the size between the image of the real object and the virtual object through size interaction; wherein the size interaction refers to: prompting the real object The size difference between the image and the virtual object, or instructing the real object to move to change the size of the image;
  • Step of matching orientation presenting the relative relationship between the orientation of the image of the real object and the virtual object, and the orientation interaction makes the orientation of the image of the real object and the virtual object match; wherein the orientation interaction refers to: prompting the real object The orientation difference between the image and the virtual object, or instructs the real object to rotate to change the orientation of the image.
  • the matching step further includes:
  • Obstacle removal steps determine whether there is a conflict between the virtual object and the actual obstacle; if there is no conflict, confirm that there is no conflict; if there is a conflict, then:
  • the virtual object includes a virtual venue
  • the virtual venue is presented in any of the following ways:
  • it further comprises:
  • Virtual interaction response step presenting a virtual interaction response of the virtual object to the image of the real object according to the action performed by the real object.
  • it further comprises:
  • Real interaction response step instructing the real object to perform a real interaction response according to the virtual interaction response.
  • it further comprises:
  • Programming interface steps Provide a visual programming interface; wherein the programming interface steps include any one or more of the following steps:
  • -Overlay presentation step making the image of the real object and the virtual object overlay and present in the visual programming interface
  • -Operation presentation step making a graphical program instruction unit, in the visual programming interface, present a corresponding visual effect with the user's operation;
  • the programming interface step further includes any one or more of the following steps:
  • First interface switching step trigger switching from the operation presentation step to the execution presentation step according to the third operation input information
  • the second interface switching step trigger switching from the execution presentation step to the operation presentation step according to a virtual interaction response of the virtual object to the image of the real object.
  • a computer-readable storage medium storing a computer program, characterized in that, when the computer program is executed by a processor, the steps of the AR-based interactive programming method are implemented. Examples are chips, memories, and optical discs. Especially servers that support APP stores.
  • a smart device provided according to the present invention includes the computer-readable storage medium storing the computer program.
  • system, device and each module provided by the present invention can be made by logically programming the system module.
  • the same programs are implemented in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, the system, device, and its various modules provided by the present invention can be considered as a hardware component, and the modules included in it for implementing various programs can also be considered as the structure within the hardware component; Modules for implementing various functions are considered to be both software programs that implement the system and structures within hardware components.

Abstract

Provided are an AR-based interactive programming system and method, and a medium and an intelligent device. The method comprises: presenting an image of a real object and a virtual object in a superimposed manner; acquiring a program instruction set, wherein the program instruction set comprises one or more program instruction units; and instructing the real object to carry out an action according to the program instruction set. The present application improves programming toys in the prior art, involves interaction between an image of a real object and a virtual object, interaction between the real object and an intelligent device, and interaction between the virtual object and a user in a programming process, and is fully combined with AR technology, so that the programming toys are suitable for serving as intelligent companions for children.

Description

基于AR的交互编程系统、方法、介质及智能设备AR-based interactive programming system, method, medium and intelligent device 技术领域Technical field
本发明涉及玩具领域,具体地,涉及基于AR的交互编程系统、方法、介质及智能设备。The present invention relates to the field of toys, and in particular, to an AR-based interactive programming system, method, medium, and smart device.
背景技术Background technique
专利文献CN1267228A、专利文献CN1223158A分别公开了可编程的玩具,属于较早的编程玩具。这样的编程玩具仅停留在脱机、离线的现实状态,不能通过虚拟手段增强现实。Patent documents CN1267228A and CN1223158A respectively disclose programmable toys, which belong to earlier programming toys. Such a programming toy only stays offline and offline, and cannot be augmented by virtual means.
但是值得注意的是,从技术发展的沿革来看,专利文献CN1223158A是后续AR编程玩具的重要研发基础。专利文献CN1223158A提供给使用者一系列的动作按键,通过先后按下不同的按键实现对玩具的运动动作的编程,其优先权日期为1997年,当时家用PC尚未普及,国内编程技能的学习主要集中在面向成年人的高校院所;而专利文献CN1223158A能在上世纪90年代提供面向儿童的编程玩具,于当时着实是一种非常好玩、值得“炫耀”的玩具,其研发人员的超前创新意识以及对儿童玩具的关注为后续改进具有很强的借鉴基础。However, it is worth noting that from the perspective of technological development, patent document CN1223158A is an important research and development foundation for subsequent AR programming toys. Patent document CN1223158A provides users with a series of action buttons, which can be used to program the movements of toys by pressing different buttons successively. The priority date is 1997. At that time, home PCs were not yet popular, and domestic programming skills were mainly concentrated. In colleges and universities for adults; the patent document CN1223158A was able to provide programming toys for children in the 1990s. At the time, it was really a very fun toy that was worth showing off. The focus on children's toys has a strong basis for further improvement.
之后,随着计算机技术的发展,研发人员不再苦于计算机器件的短板,编程玩具能够越来越多地匹配创意进入实用。例如,专利文献CN101789194A公开了一种积木式学习编程装置,其包括多种不同类型的实体积木块,每种类型的积木块中含有相应的指令信息,将积木块连接单片机后,使得单片机根据积木块中的指令信息输出控制信号,呈现声、光、电等效果。但是,专利文献CN101789194A提供的编程效果的交互性仍然不足。Later, with the development of computer technology, R & D personnel no longer suffer from the shortcomings of computer devices, and programming toys can more and more match ideas into practical applications. For example, patent document CN101789194A discloses a building block type learning and programming device, which includes a plurality of different types of real volume blocks, each type of block contains corresponding instruction information, and after connecting the block blocks to a single-chip microcomputer, the single-chip microcomputer makes The instruction information in the block outputs the control signal, presenting sound, light, electricity and other effects. However, the interactivity of the programming effect provided by the patent document CN101789194A is still insufficient.
当然,在人们开始关注到计算机产品的不过度使用对儿童视力、社交能力的影响,也发展出另一个技术分支。在该技术分支下,编程玩具被尽量地远离智能技术。例如,专利文献CN105396295A公开了一种面向儿童的空间编程机器人玩具,其采用多个指令标签顺序排列,每个指令标签上有若干控制指令,机器人车体顺序读取各指令标签上的控制指令,并依次相应执行控制指令指示的指令动作。不过,防沉 迷软件、利用加速度传感器识别并辅助提醒观看坐姿等技术已得到重视与发展。因此,类似专利文献CN105396295A这样的编程过程脱离智能设备的技术方案,与AR编程玩具的技术领域之间的距离较远。Of course, when people started to pay attention to the impact of not excessive use of computer products on children's vision and social ability, another branch of technology was developed. Under this branch of technology, programming toys are kept as far away from smart technology as possible. For example, patent document CN105396295A discloses a children-oriented space-programmed robot toy, which uses a plurality of instruction labels arranged sequentially, each instruction label has several control instructions, and the robot body sequentially reads the control instructions on each instruction label. Then, the corresponding command actions indicated by the control command are executed in turn. However, anti-addiction software, the use of acceleration sensors to identify and assist in reminding the sitting posture and other technologies have been valued and developed. Therefore, a programming process such as the patent document CN105396295A departs from the technical solution of the smart device and is far from the technical field of AR programming toys.
当前,随着近年来才得以发展的AR技术,可使用AR(Augmented Reality)技术增强交互性加以改进。为此,科研人员就AR技术与玩具之间交互性的增强,进行了尝试与创造。Currently, with AR technology that has been developed in recent years, AR (Augmented Reality) technology can be used to enhance interactivity and improve it. To this end, researchers have experimented and created enhanced interaction between AR technology and toys.
专利文献CN106730899A公开了一种玩具的控制方法及系统,其采用AR技术,实现实体玩具与虚拟玩具之间的同步运动。但是,专利文献CN106730899A中实体玩具与虚拟玩具之间的交互过程属于同步控制,仅实现了实体玩具的虚拟化控制,以及虚拟玩具的实体化控制,并未将实体玩具与虚拟玩具在同一空间中进行交互。Patent document CN106730899A discloses a toy control method and system, which adopts AR technology to realize synchronous movement between physical toys and virtual toys. However, the interaction process between the physical toy and the virtual toy in the patent document CN106730899A belongs to synchronous control, only the virtualized control of the physical toy and the physicalized control of the virtual toy are implemented, and the physical toy and the virtual toy are not in the same space. To interact.
专利文献CN105931289A是较为典型的将实体玩具与虚拟玩具在同一空间中进行交互的技术方案,其公开了一种实现真实模型遮盖虚拟物体的系统及方法,例如可以实现令虚拟恐龙在显示件中显示,并被真实丛林景观插板遮挡住的效果,视觉上虚拟恐龙可以在真实丛林景观插板中来回穿梭。反之,另虚拟物体遮挡实体物体的效果也可以相应实现。Patent document CN105931289A is a more typical technical solution for interacting physical toys with virtual toys in the same space. It discloses a system and method for real models to cover virtual objects, such as realizing virtual dinosaurs to be displayed on display parts , And the effect of being blocked by the real jungle landscape patch, visually the virtual dinosaur can shuttle back and forth between the real jungle landscape patch. Conversely, the effect of another virtual object blocking the solid object can also be achieved accordingly.
综上所述,与AR编程玩具相关的主要涉及“编程”与“AR”。其中,非AR的编程玩具出现得较早,而后随着AR的发展才得到相结合。遵循这一跨越20多年的研发过程,有必要考虑如何将AR与编程相结合以提高编程的交互效果,使得这种交互在儿童的学习成长中提供更多的陪伴。In summary, AR programming toys are mainly related to "programming" and "AR". Among them, non-AR programming toys appeared earlier, and then combined with the development of AR. Following this R & D process spanning more than 20 years, it is necessary to consider how to combine AR and programming to improve the interaction effect of programming, so that this interaction provides more companionship in children's learning and growth.
发明内容Summary of the Invention
针对现有技术中的缺陷,本发明的目的是提供一种基于AR的交互编程系统、方法、介质及智能设备。In view of the defects in the prior art, the object of the present invention is to provide an AR-based interactive programming system, method, medium, and smart device.
根据本发明提供的一种基于AR的交互编程系统,包括:An AR-based interactive programming system provided according to the present invention includes:
AR模块:将现实对象的影像与虚拟对象叠加呈现;AR module: Overlay and present images of real objects and virtual objects;
所述基于AR的交互编程系统,还包括:The AR-based interactive programming system further includes:
编程模块:获取程序指令集,其中,所述程序指令集包括一个或多个程序指令单元;A programming module: obtaining a program instruction set, wherein the program instruction set includes one or more program instruction units;
执行模块:根据所述程序指令集,指示现实对象执行动作。Execution module: instructs a real object to perform an action according to the program instruction set.
优选地,还包括:Preferably, it further comprises:
匹配模块:呈现现实对象的影像与虚拟对象之间的相对关系。Matching module: presents the relative relationship between the image of the real object and the virtual object.
优选地,所述编程模块包括:Preferably, the programming module includes:
编程单元获取模块:根据第一操作输入信息,获取多个程序指令单元;A programming unit acquisition module: acquiring a plurality of program instruction units according to the first operation input information;
时序关系获取模块:根据第二操作输入信息,获取所述多个程序指令单元之间执行的时序关系;Timing relationship acquisition module: acquiring timing relationships executed between the plurality of program instruction units according to the second operation input information;
指令集生成模块:根据所述多个程序指令单元、时序关系,生成所述程序指令集。Instruction set generation module: Generates the program instruction set according to the multiple program instruction units and timing relationships.
优选地,所述匹配模块包括如下任一个或任多个模块:Preferably, the matching module includes any one or more of the following modules:
匹配尺寸模块:呈现现实对象的影像与虚拟对象之间的尺寸相对关系,通过尺寸交互,使得现实对象的影像与虚拟对象之间的尺寸相匹配;其中,所述尺寸交互是指:提示现实对象的影像与虚拟对象之间的尺寸差异,或者,指示现实对象移动以改变所述影像的尺寸;Matching size module: presents the size relative relationship between the image of the real object and the virtual object, and makes the size match between the image of the real object and the virtual object through size interaction; wherein the size interaction refers to: reminding the real object The size difference between the image and the virtual object, or instructing the real object to move to change the size of the image;
匹配朝向模块:呈现现实对象的影像与虚拟对象之间的朝向相对关系,通过朝向交互,使得现实对象的影像与虚拟对象之间的朝向相匹配;其中,所述朝向交互是指:提示现实对象的影像与虚拟对象之间的朝向差异,或者,指示现实对象转动以改变所述影像的朝向。Matching orientation module: presents the relative relationship between the orientation of the image of the real object and the virtual object, and the orientation interaction makes the orientation of the image of the real object and the virtual object match; wherein the orientation interaction means: prompting the real object The orientation difference between the image and the virtual object, or instructs the real object to rotate to change the orientation of the image.
优选地,所述匹配模块还包括:Preferably, the matching module further includes:
障碍排除模块:判断虚拟对象与现实障碍物之间是否冲突;若不冲突,则确认不冲突;若冲突,则:Obstacle elimination module: determine whether there is a conflict between the virtual object and the actual obstacle; if there is no conflict, confirm that there is no conflict; if there is a conflict, then:
-提示冲突;-Prompt conflict;
-指示现实对象进行运动使得虚拟对象与现实障碍物之间不冲突;或者-Instruct the real object to move so that the virtual object does not conflict with the real obstacle; or
-更新虚拟对象使得虚拟对象与现实障碍物之间不冲突。-Update virtual objects so that they do not conflict with real obstacles.
优选地,所述虚拟对象包括虚拟场地,所述虚拟场地采用如下任一种方式呈现:Preferably, the virtual object includes a virtual venue, and the virtual venue is presented in any of the following ways:
-根据预设参数呈现;-Presentation according to preset parameters;
-根据现实对象的影像与虚拟对象之间的相对关系呈现;-According to the relative relationship between the image of the real object and the virtual object;
-在现实对象的影像与虚拟对象相匹配后,根据现实对象呈现。-After the image of the real object matches the virtual object, it is rendered according to the real object.
优选地,还包括:Preferably, it further comprises:
虚拟交互响应模块:根据现实对象执行的动作,呈现虚拟对象针对现实对象的影像的虚拟交互响应。Virtual interaction response module: presents a virtual interaction response of the virtual object to the image of the real object according to the action performed by the real object.
优选地,还包括:Preferably, it further comprises:
现实交互响应模块:根据所述虚拟交互响应,指示所述现实对象执行现实交互响应。Real interaction response module: instructs the real object to perform a real interaction response according to the virtual interaction response.
优选地,还包括:Preferably, it further comprises:
编程界面模块:提供可视编程界面;其中,所述编程界面模块包括如下任一个或任多个模块:Programming interface module: provides a visual programming interface; wherein, the programming interface module includes any one or more of the following modules:
-叠加呈现模块:令所述现实对象的影像与虚拟对象,在所述可视编程界面中叠加呈现;-Overlay presentation module: Make the images of the real object and the virtual object overlay and present in the visual programming interface;
-操作呈现模块:令图形化的程序指令单元,在所述可视编程界面中,随使用者的操作呈现对应的可视效果;-Operation presentation module: a graphical program instruction unit, in the visual programming interface, presents a corresponding visual effect with the user's operation;
-执行呈现模块:令程序指令集分步执行程序指令单元的情况、现实对象分步执行动作的情况,在所述可视编程界面中,同步展示;-An execution presentation module: the program instruction set is executed step by step to execute the program instruction unit, and the actual object is executed step by step in the visual programming interface;
-省略呈现模块:根据使用者对程序指令单元的指定,指示现实对象直接响应被指定的程序指令单元被执行后对应的动作,并在所述可视编程界面中呈现。-Omit presentation module: According to the user's designation of the program instruction unit, instruct the real object to directly respond to the corresponding action after the designated program instruction unit is executed, and present it in the visual programming interface.
优选地,所述编程界面模块,还包括如下任一个或任多个模块:Preferably, the programming interface module further includes any one or more of the following modules:
第一界面切换模块:根据第三操作输入信息,从所述操作呈现模块到所述执行呈现模块进行触发切换;A first interface switching module: trigger switching from the operation presentation module to the execution presentation module according to the third operation input information;
第二界面切换模块:根据虚拟对象针对现实对象的影像的虚拟交互响应,从所述执行呈现模块到所述操作呈现模块进行触发切换。The second interface switching module: triggers switching from the execution presentation module to the operation presentation module according to a virtual interaction response of the virtual object to the image of the real object.
根据本发明提供的一种基于AR的交互编程方法,包括:An AR-based interactive programming method provided according to the present invention includes:
AR步骤:将现实对象的影像与虚拟对象叠加呈现;AR step: superimposing and presenting images of real objects and virtual objects;
所述基于AR的交互编程方法,还包括:The AR-based interactive programming method further includes:
编程步骤:获取程序指令集,其中,所述程序指令集包括一个或多个程序指令单元;Programming step: obtaining a program instruction set, wherein the program instruction set includes one or more program instruction units;
执行步骤:根据所述程序指令集,指示现实对象执行动作。Execution step: According to the program instruction set, instruct a real object to perform an action.
优选地,还包括:Preferably, it further comprises:
匹配步骤:呈现现实对象的影像与虚拟对象之间的相对关系。Matching step: present the relative relationship between the image of the real object and the virtual object.
优选地,所述编程步骤包括:Preferably, the programming step includes:
编程单元获取步骤:根据第一操作输入信息,获取多个程序指令单元;Step of acquiring a programming unit: acquiring a plurality of program instruction units according to the first operation input information;
时序关系获取步骤:根据第二操作输入信息,获取所述多个程序指令单元之间执行的时序关系;Step of acquiring timing relationships: acquiring timing relationships executed between the plurality of program instruction units according to the second operation input information;
指令集生成步骤:根据所述多个程序指令单元、时序关系,生成所述程序指令集。Instruction set generation step: generating the program instruction set according to the multiple program instruction units and a timing relationship.
优选地,所述匹配步骤包括如下任一个或任多个步骤:Preferably, the matching step includes any one or more of the following steps:
匹配尺寸步骤:呈现现实对象的影像与虚拟对象之间的尺寸相对关系,通过尺寸交互,使得现实对象的影像与虚拟对象之间的尺寸相匹配;其中,所述尺寸交互是指:提示现实对象的影像与虚拟对象之间的尺寸差异,或者,指示现实对象移动以改变所述影像的尺寸;Step of matching size: presenting the relative size relationship between the image of the real object and the virtual object, and matching the size between the image of the real object and the virtual object through size interaction; wherein the size interaction refers to: prompting the real object The size difference between the image and the virtual object, or instructing the real object to move to change the size of the image;
匹配朝向步骤:呈现现实对象的影像与虚拟对象之间的朝向相对关系,通过朝向交互,使得现实对象的影像与虚拟对象之间的朝向相匹配;其中,所述朝向交互是指:提示现实对象的影像与虚拟对象之间的朝向差异,或者,指示现实对象转动以改变所述影像的朝向。Step of matching orientation: presenting the relative relationship between the orientation of the image of the real object and the virtual object, and the orientation interaction makes the orientation of the image of the real object and the virtual object match; wherein the orientation interaction refers to: prompting the real object The orientation difference between the image and the virtual object, or instructs the real object to rotate to change the orientation of the image.
优选地,所述匹配步骤还包括:Preferably, the matching step further includes:
障碍排除步骤:判断虚拟对象与现实障碍物之间是否冲突;若不冲突,则确认不冲突;若冲突,则:Obstacle removal steps: determine whether there is a conflict between the virtual object and the actual obstacle; if there is no conflict, confirm that there is no conflict; if there is a conflict, then:
-提示冲突;-Prompt conflict;
-指示现实对象进行运动使得虚拟对象与现实障碍物之间不冲突;或者-Instruct the real object to move so that the virtual object does not conflict with the real obstacle; or
-更新虚拟对象使得虚拟对象与现实障碍物之间不冲突。-Update virtual objects so that they do not conflict with real obstacles.
优选地,所述虚拟对象包括虚拟场地,所述虚拟场地采用如下任一种方式呈现:Preferably, the virtual object includes a virtual venue, and the virtual venue is presented in any of the following ways:
-根据预设参数呈现;-Presentation according to preset parameters;
-根据现实对象的影像与虚拟对象之间的相对关系呈现;-According to the relative relationship between the image of the real object and the virtual object;
-在现实对象的影像与虚拟对象相匹配后,根据现实对象呈现。-After the image of the real object matches the virtual object, it is rendered according to the real object.
优选地,还包括:Preferably, it further comprises:
虚拟交互响应步骤:根据现实对象执行的动作,呈现虚拟对象针对现实对象的影像的虚拟交互响应。Virtual interaction response step: presenting a virtual interaction response of the virtual object to the image of the real object according to the action performed by the real object.
优选地,还包括:Preferably, it further comprises:
现实交互响应步骤:根据所述虚拟交互响应,指示所述现实对象执行现实交互响应。Real interaction response step: instructing the real object to perform a real interaction response according to the virtual interaction response.
优选地,还包括:Preferably, it further comprises:
编程界面步骤:提供可视编程界面;其中,所述编程界面步骤包括如下任一个或任多个步骤:Programming interface steps: Provide a visual programming interface; wherein the programming interface steps include any one or more of the following steps:
-叠加呈现步骤:令所述现实对象的影像与虚拟对象,在所述可视编程界面中叠加呈现;-Overlay presentation step: making the image of the real object and the virtual object overlay and present in the visual programming interface;
-操作呈现步骤:令图形化的程序指令单元,在所述可视编程界面中,随使用者的操作呈现对应的可视效果;-Operation presentation step: making a graphical program instruction unit, in the visual programming interface, present a corresponding visual effect with the user's operation;
-执行呈现步骤:令程序指令集分步执行程序指令单元的情况、现实对象分步执行动作的情况,在所述可视编程界面中,同步展示;-Executing the presenting step: the case where the program instruction set executes the program instruction unit step by step, the real object executes the action step by step, and is displayed synchronously in the visual programming interface;
-省略呈现步骤:根据使用者对程序指令单元的指定,指示现实对象直接响应被指定的程序指令单元被执行后对应的动作,并在所述可视编程界面中呈现。-Omit the presenting step: according to the user's designation of the program instruction unit, instruct the real object to directly respond to the corresponding action after the designated program instruction unit is executed, and present it in the visual programming interface.
优选地,所述编程界面步骤,还包括如下任一个或任多个步骤:Preferably, the programming interface step further includes any one or more of the following steps:
第一界面切换步骤:根据第三操作输入信息,从所述操作呈现步骤到所述执行呈现步骤进行触发切换;First interface switching step: trigger switching from the operation presentation step to the execution presentation step according to the third operation input information;
第二界面切换步骤:根据虚拟对象针对现实对象的影像的虚拟交互响应,从所述执行呈现步骤到所述操作呈现步骤进行触发切换。The second interface switching step: trigger switching from the execution presentation step to the operation presentation step according to a virtual interaction response of the virtual object to the image of the real object.
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述的方法的步骤。According to the present invention, there is provided a computer-readable storage medium storing a computer program, and the computer program implements the steps of the foregoing method when executed by a processor.
根据本发明提供的一种智能设备,包括上述的基于AR的交互编程系统,或者包括上述的存储有计算机程序的计算机可读存储介质。An intelligent device provided according to the present invention includes the above-mentioned AR-based interactive programming system, or the above-mentioned computer-readable storage medium storing a computer program.
与现有技术相比,本发明具有如下的有益效果:Compared with the prior art, the present invention has the following beneficial effects:
本发明对现有技术中的编程玩具进行改进,在编程过程中涉及现实对象的影像与虚拟对象之间的交互、现实对象与智能设备之间的交互、虚拟对象与使用者之间的交互,充分结合AR技术,使得编程玩具适合作为儿童的智能陪伴。The invention improves the programming toy in the prior art, and involves the interaction between the image of the real object and the virtual object, the interaction between the real object and the smart device, and the interaction between the virtual object and the user during the programming process. Fully combined with AR technology, making programming toys suitable for children's intelligent companionship.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:Other features, objects, and advantages of the present invention will become more apparent by reading the detailed description of the non-limiting embodiments with reference to the following drawings:
图1为现实对象的影像与虚拟对象之间尺寸相对关系的调整界面示意图。FIG. 1 is a schematic diagram of an adjustment interface of a relative relationship between a size of an image of a real object and a size of a virtual object.
图2为现实对象的影像与虚拟对象之间朝向相对关系的调整界面示意图。FIG. 2 is a schematic diagram of an adjustment interface for the relative relationship between the orientation of an image of a real object and a virtual object.
图3为现实对象的影像与虚拟对象中的网格道路叠加呈现的界面示意图。FIG. 3 is a schematic diagram of an interface in which an image of a real object and a grid road in a virtual object are superimposed.
图4为可视编程界面的示意图。Figure 4 is a schematic diagram of a visual programming interface.
图5为可视编程界面中执行第一步程序指令的界面示意图。FIG. 5 is a schematic diagram of an interface for executing a first program instruction in a visual programming interface.
图6为可视编程界面中执行第二步程序指令的界面示意图。FIG. 6 is an interface schematic diagram of executing the second step program instruction in the visual programming interface.
图7为一个具体场景实施例中的方法步骤流程图。FIG. 7 is a flowchart of method steps in a specific scenario embodiment.
图8为一个具体场景实施例中的结构框架示意图。FIG. 8 is a schematic diagram of a structural framework in a specific scenario embodiment.
图中示出:The figure shows:
现实对象的影像100 Real object image 100
尺寸对比对象201 Size comparison object 201
箭头图标202 Arrow icon 202
虚拟场地203 Virtual venue 203
具体实施方式detailed description
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。The present invention is described in detail below with reference to specific embodiments. The following examples will help those skilled in the art to further understand the present invention, but do not limit the present invention in any form. It should be noted that for those of ordinary skill in the art, several changes and improvements can be made without departing from the concept of the present invention. These all belong to the protection scope of the present invention.
陪伴是儿童在成长过程中不可缺少的情感环节,包括父母对儿童的陪伴,也包括玩具对儿童的陪伴,更重要的是父母和儿童能够有机会一起通过玩具进行娱乐游戏与学习指导,从而实现更高级的智能陪伴,而编程玩具就是最好的载体之一。为此,发明人在智能陪伴的愿景与认同下,进行了技术改进,并在专利工程师、专利代理人、专利律师的共同协助下进行图文表达,以期取得专利权,使得后续能够开发出更多的产品给家中的儿童以陪伴。下面就对本申请的技术方案、具体应用场景等方面进行说明。Companionship is an indispensable emotional link in the growth process of children, including parent-to-child companionship, and toy-to-child companionship. More importantly, parents and children can have the opportunity to play games and learn together through toys to achieve More advanced smart companions, and programming toys are one of the best carriers. To this end, the inventors carried out technical improvements under the vision and recognition of intelligent companionship, and carried out graphic expressions with the assistance of patent engineers, patent agents, and patent attorneys, in order to obtain patent rights and enable subsequent development of more Many products accompany children at home. The technical solutions and specific application scenarios of the present application are described below.
根据本发明提供的一种基于AR的交互编程系统,包括:An AR-based interactive programming system provided according to the present invention includes:
AR模块:将现实对象的影像与虚拟对象叠加呈现;现实对象的影像由摄像装置采集现实画面提取后得到,例如智能手机的摄像头,现实画面包括摄像装置采集的整个画面,在家庭环境中可能会包含楼梯、沙发、积木、机器人、地毯、壁画、食品、宠物、人员等现实对象,选取整个画面中与识别目标对应的图形作为现实对象的影像,在优选例中,可以执行动作的机器人作为识别目标,机器人的影像就构成所述现实对象的影像;在其他优选例中,可以将人员或者动物作为识别目标,只要人员或者动物能够听懂指示,则同样可以在接受指示后执行对应的动作,此时,所述指示优选为语音指示,次优选也可以图形指示、气味指示等以适用于感知障碍人士或者动物等需要感知辅助的情况。AR module: Overlay and present the image of the real object and the virtual object; the image of the real object is obtained by capturing the real picture from the camera device, such as the camera of a smart phone. The real picture includes the entire picture collected by the camera device. Contains real objects such as stairs, sofas, building blocks, robots, carpets, murals, food, pets, and people. The graphics corresponding to the recognition target in the entire screen are selected as the real object images. In a preferred example, a robot that can perform actions is used as the recognition. The target, the image of the robot constitutes the image of the real object; in other preferred examples, people or animals can be used as recognition targets. As long as the person or animal can understand the instructions, the corresponding actions can also be performed after receiving the instructions. At this time, the instruction is preferably a voice instruction, and a sub-optimal instruction may also be a graphic instruction, an odor instruction, or the like, which is suitable for a situation in which a person with a sensory impairment or an animal needs perceptual assistance.
编程界面模块:提供可视编程界面;所述可视编程界面主要由一个或者多个子界面构成,多个子界面之间可以切换显示、重叠显示或者并列显示;当并列显示时,在视觉上子界面相当于所述可视编程界面中的一个显示区域;至少有一个子界面作为呈现空间,同时呈现现实对象的影像、虚拟对象,并且现实对象的影像与虚拟对象之间叠加呈现,子界面中可以仅仅呈现现实对象的影像、虚拟对象,当然在变化例中,除了现实对象的影像、虚拟对象之外,所述子界面还可以同时呈现现实对象所在的现实画面,这样可以看到现实画面中的地毯等现实对象周边的事物。其中,虚拟对象可以覆盖住现实对象所在的现实画面中的部分区域,现实对象的影像可以覆盖住虚拟对象,本领域技术人员可以参照专利文献CN105931289A中虚拟恐龙与真实丛林景观插板的遮挡技术实现以覆盖方式实现叠加,在此不予赘述。Programming interface module: Provides a visual programming interface; the visual programming interface is mainly composed of one or more sub-interfaces, and multiple sub-interfaces can be switched, displayed, or displayed side-by-side; when displayed side by side, visually the sub-interfaces Corresponds to a display area in the visual programming interface; at least one sub-interface is used as a presentation space, and at the same time, the image of the real object and the virtual object are presented, and the image of the real object and the virtual object are superimposed and presented. Only the image and virtual object of the real object are presented. Of course, in the variation, in addition to the image and virtual object of the real object, the sub-interface can also present the real picture of the real object at the same time. Carpets and other things around real objects. Among them, the virtual object can cover a part of the real picture in which the real object is located, and the image of the real object can cover the virtual object. Those skilled in the art can refer to the blocking technology of the virtual dinosaur and the real jungle landscape plug-in board in patent document CN105931289A The overlay is implemented in an overlay manner, which will not be repeated here.
编程模块:获取程序指令集,其中,所述程序指令集包括一个或多个程序指令单元;其中,所述程序指令单元的类型可以是逻辑类指令,也可以是执行类指令;所述执行类指令指示现实对象执行动作。Programming module: obtaining a program instruction set, wherein the program instruction set includes one or more program instruction units; wherein the type of the program instruction unit may be a logic type instruction or an execution type instruction; the execution type The instruction instructs the real object to perform an action.
执行模块:根据所述程序指令集,指示现实对象执行动作;其中,所述动作可以是各种运动,例如平动、转动、跳动、变形;所述动作还可以是声、光、电效果,例如发声、发光、变色、变温、相变;而在现实对象为人类、动物或者人工智能的实施例中,所述动作可以是该类现实对象能够实现的动作,例如可以是大笑、弯腰、捡拾物品、打开家用电器等工作。Execution module: instructs a real object to perform an action according to the program instruction set; wherein the action may be various motions, such as translation, rotation, beating, and deformation; the action may also be sound, light, and electrical effects, For example, vocalization, light emission, color change, temperature change, phase change. In the embodiment where the real object is a human, an animal, or an artificial intelligence, the action may be an action that can be achieved by this type of real object, such as laughing, bending , Picking up items, turning on household appliances, etc.
匹配模块:呈现现实对象的影像与虚拟对象之间的相对关系。由于需要在同一空间中叠加呈现现实对象的影像与虚拟对象,且需要现实对象的影像与虚拟对象这两者进行互动,因此需要将这两者进行尺寸等参数上的匹配。例如,现实对象为机器人,虚拟对象为网格,机器人的影响需要在不同的网格之间移动,若此时机器人距离摄像头距离过远,则机器人需要运动很长的距离才能从一个网格运动到下一个网格,不适合游戏效果,所以需要在虚拟交互响应、现实交互响应、所述执行动作之前,呈现现实对象的影像与虚拟对象之间的相对关系,并就所述相对关系进行匹配调整。Matching module: presents the relative relationship between the image of the real object and the virtual object. Since the image of the real object and the virtual object need to be superimposed in the same space, and the image of the real object and the virtual object are required to interact, it is necessary to match the two with parameters such as size. For example, the real object is a robot and the virtual object is a grid. The influence of the robot needs to move between different grids. If the robot is too far away from the camera at this time, the robot needs to move a long distance to move from a grid. The next grid is not suitable for game effects, so it is necessary to present the relative relationship between the image of the real object and the virtual object before the virtual interactive response, the real interactive response, and the execution action, and match the relative relationship. Adjustment.
虚拟交互响应模块:根据现实对象执行的动作,呈现虚拟对象针对现实对象的影像的虚拟交互响应;例如,所述虚拟交互响应可以是吃掉虚拟蛋糕、网格变亮、拯救虚拟动物,通过这样的方式,可以提示编程结果与预期结构之间的异同。Virtual interaction response module: presents a virtual interaction response of the virtual object to the image of the real object according to the action performed by the real object; for example, the virtual interaction response may be eating a virtual cake, brightening the grid, and saving a virtual animal. Way, you can remind the similarities and differences between the programming results and the expected structure.
现实交互响应模块:根据所述虚拟交互响应,指示所述现实对象执行现实交互响应;所述现实交互响应可以是被指示的机器人原地转一圈、摇晃、变化表情、发出不同的声 音。Real interaction response module: According to the virtual interaction response, instruct the real object to perform a real interaction response; the real interaction response may be that the instructed robot makes a circle in place, shakes, changes expression, and emits different sounds.
本发明还提供一种智能设备,包括所述的基于AR的交互编程系统。所述智能设备可以是智能手机、平板电脑、智能手表、智能眼镜、投影设备、VR头盔等设备。以智能手机为例,现实对象的影像由智能手机的摄像头拍摄获取,智能手机的屏幕将现实对象的影像与虚拟对象叠加呈现,以及呈现编程界面模块,并且通过触摸屏接收使用者对可视编程界面的操作,通过智能手机的短距离无线通信模块或WIFI网络向现实对象发送指示,通过智能手机的音响模块播放声控指令,通过智能手机的照明灯发出光控指令。The invention also provides a smart device, which includes the AR-based interactive programming system. The smart device may be a smart phone, a tablet computer, a smart watch, smart glasses, a projection device, a VR helmet, and other devices. Taking a smart phone as an example, the image of a real object is captured by a camera of the smart phone. The screen of the smart phone overlays and displays the image of the real object and the virtual object, and presents the programming interface module, and receives the user's visual programming interface through the touch screen. In the operation, the short-range wireless communication module of the smart phone or the WIFI network is used to send instructions to the real object, the voice control instruction is played through the smart phone's sound module, and the light control instruction is issued through the smart phone's lighting.
下面通过更进一步的优选例,对本发明提供的基于AR的交互编程系统和智能设备具体说明。In the following, through further preferred examples, the AR-based interactive programming system and smart device provided by the present invention are specifically described.
所述编程模块包括:The programming module includes:
编程单元获取模块:根据第一操作输入信息,获取多个程序指令单元;在可视编程界面中展示图形化的程序指令单元,例如图形化为一块拼板的样子;使用者通过对程序指令单元进行所述第一操作输入信息,获取多个程序指令单元,其中,所述第一操作输入信息包括点选、声控选中、手势控制、目光选中、外设选中产生的输入信息。外设可以鼠标、电子笔等外部设备。Programming unit acquisition module: Acquire multiple program instruction units according to the first operation input information; display graphical program instruction units in a visual programming interface, such as graphically shaped as a jigsaw puzzle; users use the program instruction units Performing the first operation input information to obtain a plurality of program instruction units, wherein the first operation input information includes input information generated by clicking, voice control selection, gesture control, eye selection, and peripheral selection. Peripherals can be mouse, electronic pen and other external devices.
时序关系获取模块:根据第二操作输入信息,获取所述多个程序指令单元之间执行的时序关系;第二操作输入信息用于设定获得的多个程序指令单元之间的执行时序,可以是单次执行,也可以是循环执行,所述时序关系主要由第二操作输入信息和/或程序指令单元本身的逻辑确定。所述第二操作输入信息可以是使用者在触摸屏上选中程序指令单元后进行拖动,或者设置各个程序指令单元的执行序号。在优选例中,根据触摸屏的功能,所述第一操作输入信息、第二操作输入信息可以是由使用者的同一个操作生成的,例如使用者将一个图形化的程序指令单元从可视编辑界面的一个区域拖动到另一个区域。Timing relationship acquisition module: Acquire a timing relationship between the multiple program instruction units according to the second operation input information. The second operation input information is used to set the execution timing between the obtained multiple program instruction units. It is a single execution or a cyclic execution, and the timing relationship is mainly determined by the second operation input information and / or the logic of the program instruction unit itself. The second operation input information may be a user dragging a program instruction unit after selecting it on the touch screen, or setting an execution sequence number of each program instruction unit. In a preferred example, according to the function of the touch screen, the first operation input information and the second operation input information may be generated by the same operation of the user, for example, the user edits a graphical program instruction unit from visual editing Drag one area of the interface to another area.
指令集生成模块:根据所述多个程序指令单元、时序关系,生成所述程序指令集。所述程序指令集在可视编辑界面上的可视化效果可以是多个图形化的程序指令单元在不同位置上进行有序排布,而所述程序指令集中的代码则优选地不可视化呈现。Instruction set generation module: Generates the program instruction set according to the multiple program instruction units and timing relationships. The visual effect of the program instruction set on the visual editing interface may be the orderly arrangement of multiple graphical program instruction units at different positions, and the code in the program instruction set is preferably not presented visually.
所述匹配模块包括如下任一个或任多个模块:The matching module includes any one or more of the following modules:
匹配尺寸模块:呈现现实对象的影像与虚拟对象之间的尺寸相对关系,通过尺寸交互,使得现实对象的影像与虚拟对象之间的尺寸相匹配;其中,所述尺寸交互是指:提示现实对象的影像与虚拟对象之间的尺寸差异,或者,指示现实对象移动以改变所述影像的尺寸;所述虚拟对象包括尺寸对比对象,所述尺寸对比对象的形状与现实对象的影像两者之间相匹配,例如两者均为圆形,如图1所示,又例如两者分别是圆形与方格,若尺寸对比对象正好包络、基本包括或者包含现实对象的影像,则认为两者之间的尺寸相匹配,否则,则认为尺寸不相匹配,从而实现了两者之间的尺寸的相对关系,反映出尺寸差异。在变化例中,当现实对象的影像与虚拟对象之间的尺寸差异较大不匹配时,可以指示现实对象运动以进行尺寸关系的匹配;若现实对象的影像过小,则指示现实对象靠近摄像头;若现实对象的影像过大,则指示现实对象远离摄像头;还或者,若识别出现实对象并没有全部进入画面时,可以指示现实对象全部进入摄像头的画面采集角度内。Matching size module: presents the size relative relationship between the image of the real object and the virtual object, and makes the size match between the image of the real object and the virtual object through size interaction; wherein the size interaction refers to: reminding the real object The size difference between the image and the virtual object, or instructing a real object to move to change the size of the image; the virtual object includes a size comparison object between the shape of the size comparison object and the image of the real object Match, for example, both are circular, as shown in Figure 1, or both are circular and square, respectively. If the size contrast object is exactly enveloped, basically includes or contains images of real objects, then both are considered The sizes are matched, otherwise, the sizes are considered not to match, so that the relative relationship between the sizes is realized, reflecting the size difference. In a variation, when the size difference between the image of the real object and the virtual object is large and does not match, the real object may be instructed to move to match the size relationship; if the image of the real object is too small, it indicates that the real object is close to the camera ; If the image of the real object is too large, it indicates that the real object is far from the camera; or, if it is recognized that the real object does not all enter the screen, it can instruct the real object to all enter the camera's frame acquisition angle.
匹配朝向模块:呈现现实对象的影像与虚拟对象之间的朝向相对关系,通过朝向交互,使得现实对象的影像与虚拟对象之间的朝向相匹配;其中,所述朝向交互是指:提示现实对象的影像与虚拟对象之间的朝向差异,或者,指示现实对象转动以改变所述影像的朝向;所述虚拟对象包括朝向对比对象,现实对象在被识别后能够识别出现实对象的朝向,并通过箭头等图标表示,如图2所示,例如玩具汽车的朝向可设定为玩具汽车的前方方向;在可视编程界面中同时呈现所述朝向对比对象、现实对象的朝向图标这两者,从而使用者或者自动识别出这两者之前的朝向差异。在获取朝向差异后,可以由使用者进行操作改变虚拟对象的朝向,或者指示现实对象旋转,以缩小或消除朝向差异。Matching orientation module: presents the relative relationship between the orientation of the image of the real object and the virtual object, and the orientation interaction makes the orientation of the image of the real object and the virtual object match; wherein the orientation interaction means: prompting the real object The orientation difference between the image and the virtual object, or instructs the real object to rotate to change the orientation of the image; the virtual object includes a contrast-oriented object. After the real object is identified, the orientation of the real object can be identified, and Icons such as arrows indicate that, as shown in FIG. 2, for example, the orientation of a toy car can be set to the front direction of the toy car; the visually programming interface presents both the orientation-oriented object and the orientation icon of the real object at the same time, so that The user may automatically recognize the difference in orientation between the two. After obtaining the difference in orientation, the user can operate to change the orientation of the virtual object or instruct the real object to rotate to reduce or eliminate the difference in orientation.
障碍排除模块:判断虚拟对象与现实障碍物之间是否冲突。当虚拟对象对于编程具有功能性时,现实障碍物与虚拟对象之间可能发生冲突。例如,虚拟对象为现实对象机器人的影像需要沿着移动的虚拟道路,则虚拟道路不能与现实障碍物发生重叠。又例如,虚拟道路的延伸受到墙壁、沙发的重叠。若不冲突,则确认不冲突;若冲突,则:提示冲突;指示现实对象进行运动使得虚拟对象与现实障碍物之间不冲突;或者,更新虚拟对象使得虚拟对象与现实障碍物之间不冲突。Obstacle elimination module: determine whether the virtual object conflicts with the real obstacle. When virtual objects are functional for programming, conflicts between real obstacles and virtual objects may occur. For example, if an image of a virtual object robot that is a real object needs to move along a virtual road, the virtual road cannot overlap with a real obstacle. As another example, the extension of a virtual road is overlapped by a wall or a sofa. If there is no conflict, confirm that there is no conflict; if there is a conflict, then: prompt a conflict; instruct the real object to move so that the virtual object does not conflict with the real obstacle; or, update the virtual object so that the virtual object does not conflict with the real obstacle .
其中,所述虚拟对象包括虚拟场地。例如虚拟场地为网格、道路、桥梁、水道、场馆、城市、草原、山川、轨道等等。所述虚拟场地采用如下任一种方式呈现:根据预设参数呈现;根据现实对象的影像与虚拟对象之间的相对关系呈现;在现实对象的影像与 虚拟对象相匹配后,根据现实对象呈现。所述根据预设参数呈现,具体地,可以不考虑现实对象的影像与虚拟对象之间的相对关系直接根据预设的参数生成并呈现虚拟场地。所述根据现实对象的影像与虚拟对象之间的相对关系呈现,具体地,根据现实对象的影像,相应地呈现虚拟对象;例如,若现实对象的影像较大,则虚拟场地中的网格也相应面积较大;若现实对象的影像较小,则虚拟场地中的网格也相应面积较小。在优选例中,现实对象的运动参数保护不变,例如机器人现实对象的步进距离是一定的,则虚拟场地中的网格大小相适应所述相对关系时,机器人现实对象移动一步,则差不多或者正好就从一个网格移动到另一个网格中。所述在现实对象的影像与虚拟对象相匹配后,根据现实对象呈现;具体地,实时地识别现实对象的位置,指示现实对象的动作适应于虚拟场地。例如,指示现实对象移动,使得现实对象正好从一个网格移动到另一个网格。The virtual object includes a virtual venue. For example, virtual sites are grids, roads, bridges, watercourses, stadiums, cities, grasslands, mountains and rivers, tracks, and so on. The virtual venue is presented in any of the following ways: based on preset parameters; based on the relative relationship between the image of the real object and the virtual object; and after the image of the real object matches the virtual object, it is based on the real object. The presenting according to the preset parameters may specifically generate and present the virtual venue according to the preset parameters without considering the relative relationship between the image of the real object and the virtual object. The presentation is based on the relative relationship between the image of the real object and the virtual object. Specifically, the virtual object is correspondingly presented according to the image of the real object; for example, if the image of the real object is large, the grid in the virtual venue is also The corresponding area is larger; if the image of the real object is smaller, the grid in the virtual site is also smaller. In a preferred example, the motion parameters of the real object are protected. For example, the step distance of the real object of the robot is constant. When the grid size in the virtual field is adapted to the relative relationship, the real object of the robot moves one step, which is almost the same. Or just move from one grid to another. After the image of the real object matches the virtual object, the real object is presented; specifically, the position of the real object is recognized in real time, indicating that the action of the real object is adapted to the virtual venue. For example, instruct the real object to move so that the real object moves exactly from one grid to another.
所述编程界面模块包括如下任一个或任多个模块:The programming interface module includes any one or more of the following modules:
叠加呈现模块:令所述现实对象的影像与虚拟对象,在所述可视编程界面中叠加呈现;例如,如图1所示。操作呈现模块:令图形化的程序指令单元,在所述可视编程界面中,随使用者的操作呈现对应的可视效果;例如,使用者拖动程序指令单元,则程序指令单元在被拖动过程中被高亮显示,并移动到拖动轨迹的终点位置。执行呈现模块:令程序指令集分步执行程序指令单元的情况、现实对象分步执行动作的情况,在所述可视编程界面中,同步展示;如图5、图6所示。省略呈现模块:根据使用者对程序指令单元的指定,指示现实对象直接响应被指定的程序指令单元被执行后对应的动作,并在所述可视编程界面中呈现。例如,有连续5个转90度的程序指令单元,则如果使用者点击调试执行第5个转90度的程序指令单元,则现实对象仅转90度,而不是转360度+90度,以节省编程校对的时间。Overlay presentation module: Make the image of the real object and the virtual object overlay and present in the visual programming interface; for example, as shown in FIG. 1. Operation presentation module: Make a graphical program instruction unit, in the visual programming interface, present a corresponding visual effect with the user's operation; for example, if the user drags the program instruction unit, the program instruction unit is being dragged It is highlighted during the movement and moves to the end position of the drag track. The execution presentation module: the program instruction set is executed step by step to execute the program instruction unit and the real object is executed step by step in the visual programming interface, and displayed synchronously; as shown in FIG. 5 and FIG. 6. Omit presentation module: According to the user's designation of the program instruction unit, instruct the real object to directly respond to the corresponding action after the designated program instruction unit is executed, and present it in the visual programming interface. For example, if there are 5 consecutive program instruction units that turn 90 degrees, if the user clicks on the debug and executes the fifth program instruction unit that turns 90 degrees, the real object will only turn 90 degrees, instead of 360 degrees + 90 degrees, Save time in programming proofreading.
所述编程界面模块,还包括如下任一个或任多个模块:The programming interface module further includes any one or more of the following modules:
第一界面切换模块:根据第三操作输入信息,从所述操作呈现模块到所述执行呈现模块进行触发切换;例如从图4切换到图5示出的界面。第二界面切换模块:根据虚拟对象针对现实对象的影像的虚拟交互响应,从所述执行呈现模块到所述操作呈现模块进行触发切换;例如从图5切换到图4示出的界面。First interface switching module: trigger switching from the operation presentation module to the execution presentation module according to the third operation input information; for example, switching from FIG. 4 to the interface shown in FIG. 5. The second interface switching module: trigger switching from the execution presentation module to the operation presentation module according to a virtual interaction response of the virtual object to the image of the real object; for example, switching from FIG. 5 to the interface shown in FIG. 4.
接下来将侧重结合说明书附图,通过具体应用场景的优选例对本发明进行更为具体详细的说明。In the following, the present invention will be described in more detail with reference to the accompanying drawings of the description through preferred examples of specific application scenarios.
如图1所示,现实对象包括机器人,图1示出了现实对象的影像100。该机器人是球形结构的,底部安装有轮子,可自行运动,包括平动和转动。使用者打开手机,用手机持续拍摄机器人,图1示出的是手机屏幕所现实画面的示意图。As shown in FIG. 1, the real object includes a robot, and FIG. 1 shows an image 100 of the real object. The robot has a spherical structure, and wheels are installed at the bottom, which can move on its own, including translation and rotation. The user turns on the mobile phone, and continuously shoots the robot with the mobile phone. FIG. 1 is a schematic diagram showing a realistic picture on the screen of the mobile phone.
结合图7示出的步骤流程。首先需要调整机器人与手机的相对距离关系,也即是虚拟对象,尤其是虚拟场地与机器人之间的距离关系,其中,虚拟场地在图1中未示出,而是在图3中示出了,这是因为虚拟场地需要根据机器人的朝向来适配生成。如图1中的尺寸对比对象201,图1中的尺寸对比对象201的大小与机器人影像的大小尺寸差不多,基本形成包络。则认为此时机器人与手机之间的距离是合适的。The steps shown in combination with FIG. 7. First, the relative distance relationship between the robot and the mobile phone needs to be adjusted, that is, the virtual object, especially the distance relationship between the virtual field and the robot. The virtual field is not shown in FIG. 1, but is shown in FIG. 3. This is because the virtual field needs to be generated according to the orientation of the robot. The size comparison object 201 in FIG. 1 is similar to the size and size of the robot image, and basically forms an envelope. It is considered that the distance between the robot and the mobile phone is appropriate at this time.
然后入图2所示,在手机界面中显示箭头图标202,使用者转动箭头图标,使得箭头图标与机器人正面的朝向保持同轴一致。Then, as shown in FIG. 2, an arrow icon 202 is displayed on the mobile phone interface, and the user rotates the arrow icon so that the arrow icon is aligned with the front direction of the robot.
通过图1和图2的操作,机器人与手机之间的相对关系已经合适且确定。在此基础上,如图3所示,生成虚拟场地203。使用者需要查看虚拟场地中的网格道路,沿着网格道路一格一格前进。当然,这需要使用者以编程的方式获得指令程序指令集,用程序指令集来指示机器人沿着网格道路运动。Through the operations of FIG. 1 and FIG. 2, the relative relationship between the robot and the mobile phone has been properly determined. On this basis, as shown in FIG. 3, a virtual venue 203 is generated. The user needs to look at the grid roads in the virtual field and move forward along the grid road one by one. Of course, this requires the user to obtain the instruction program instruction set programmatically, and use the program instruction set to instruct the robot to move along the grid road.
如图4所示为可视编程界面,所述可视编程界面的左侧区域为图形化的程序指令单元,一共有四种程序指令单元,分别可指示机器人执行动作为:前进一格、后退一格、右转90度、左转90度。所述可视编程界面的右侧区域为使用者已选取好且排序好的程序指令单元,即右侧区域中的六个程序指令单元为主构成了程序指令集。依照该程序指令集运动,机器人将从网格道路的一端沿着道路到达另一端。Figure 4 shows the visual programming interface. The left area of the visual programming interface is a graphical program instruction unit. There are four types of program instruction units, which can instruct the robot to perform actions: forward one frame, backward One division, 90 degrees to the right, 90 degrees to the left. The right area of the visual programming interface is the program instruction units that the user has selected and sorted, that is, the six program instruction units in the right area mainly constitute the program instruction set. According to the program instruction set movement, the robot will follow the road from one end of the grid road to the other.
若要在编程过程中对程序进行调试,则可以进入图5、图6示出的可视编程界面,从而能够令程序指令集分步执行程序指令单元的情况、现实对象分步执行动作的情况,在所述可视编程界面中,同步展示。例如,图5中在第一步的程序指令单元的图形上标注有实心圆点,表示该程序指令单元在被执行,相应地,机器人从网络道路起点开始的第一个网格向第二个网路前进一格。之后,如图6所示,第二步的程序指令单元的图形上标注有实心圆点,表示该程序指令单元在被执行,相应地,机器人从网络道路起点开始的第二个网格向第三个网路前进一格。If you want to debug the program during the programming process, you can enter the visual programming interface shown in Figure 5 and Figure 6, so that the program instruction set can execute the program instruction unit step by step, and the real object step by step actions. , In the visual programming interface, synchronous display. For example, in Figure 5, a solid dot is marked on the graphic of the program instruction unit in the first step, which indicates that the program instruction unit is being executed. Accordingly, the robot starts from the first grid on the network road to the second. The Internet advances one space. After that, as shown in FIG. 6, the solid dots are marked on the graphic of the program instruction unit in the second step, which indicates that the program instruction unit is being executed. Accordingly, the robot starts from the second grid of the network road to the The three networks advance one grid.
下面对本发明提供的一种基于AR的交互编程方法进行说明。本领域技术人员可以参照所述基于AR的交互编程中的步骤流程实现所述基于AR的交互编程系统。即可以将所 述基于AR的交互编程方法理解为所述基于AR的交互编程系统的一个优选例。The following describes an AR-based interactive programming method provided by the present invention. Those skilled in the art can implement the AR-based interactive programming system by referring to the steps and procedures in the AR-based interactive programming. That is, the AR-based interactive programming method can be understood as a preferred example of the AR-based interactive programming system.
根据本发明提供的一种基于AR的交互编程方法,包括:An AR-based interactive programming method provided according to the present invention includes:
AR步骤:将现实对象的影像与虚拟对象叠加呈现;AR step: superimposing and presenting images of real objects and virtual objects;
所述基于AR的交互编程方法,还包括:The AR-based interactive programming method further includes:
编程步骤:获取程序指令集,其中,所述程序指令集包括一个或多个程序指令单元;Programming step: obtaining a program instruction set, wherein the program instruction set includes one or more program instruction units;
执行步骤:根据所述程序指令集,指示现实对象执行动作。Execution step: According to the program instruction set, instruct a real object to perform an action.
优选地,还包括:Preferably, it further comprises:
匹配步骤:呈现现实对象的影像与虚拟对象之间的相对关系。Matching step: present the relative relationship between the image of the real object and the virtual object.
优选地,所述编程步骤包括:Preferably, the programming step includes:
编程单元获取步骤:根据第一操作输入信息,获取多个程序指令单元;Step of acquiring a programming unit: acquiring a plurality of program instruction units according to the first operation input information;
时序关系获取步骤:根据第二操作输入信息,获取所述多个程序指令单元之间执行的时序关系;Step of acquiring timing relationships: acquiring timing relationships executed between the plurality of program instruction units according to the second operation input information;
指令集生成步骤:根据所述多个程序指令单元、时序关系,生成所述程序指令集。Instruction set generation step: generating the program instruction set according to the multiple program instruction units and a timing relationship.
优选地,所述匹配步骤包括如下任一个或任多个步骤:Preferably, the matching step includes any one or more of the following steps:
匹配尺寸步骤:呈现现实对象的影像与虚拟对象之间的尺寸相对关系,通过尺寸交互,使得现实对象的影像与虚拟对象之间的尺寸相匹配;其中,所述尺寸交互是指:提示现实对象的影像与虚拟对象之间的尺寸差异,或者,指示现实对象移动以改变所述影像的尺寸;Step of matching size: presenting the relative size relationship between the image of the real object and the virtual object, and matching the size between the image of the real object and the virtual object through size interaction; wherein the size interaction refers to: prompting the real object The size difference between the image and the virtual object, or instructing the real object to move to change the size of the image;
匹配朝向步骤:呈现现实对象的影像与虚拟对象之间的朝向相对关系,通过朝向交互,使得现实对象的影像与虚拟对象之间的朝向相匹配;其中,所述朝向交互是指:提示现实对象的影像与虚拟对象之间的朝向差异,或者,指示现实对象转动以改变所述影像的朝向。Step of matching orientation: presenting the relative relationship between the orientation of the image of the real object and the virtual object, and the orientation interaction makes the orientation of the image of the real object and the virtual object match; wherein the orientation interaction refers to: prompting the real object The orientation difference between the image and the virtual object, or instructs the real object to rotate to change the orientation of the image.
优选地,所述匹配步骤还包括:Preferably, the matching step further includes:
障碍排除步骤:判断虚拟对象与现实障碍物之间是否冲突;若不冲突,则确认不冲突;若冲突,则:Obstacle removal steps: determine whether there is a conflict between the virtual object and the actual obstacle; if there is no conflict, confirm that there is no conflict; if there is a conflict, then:
-提示冲突;-Prompt conflict;
-指示现实对象进行运动使得虚拟对象与现实障碍物之间不冲突;或者-Instruct the real object to move so that the virtual object does not conflict with the real obstacle; or
-更新虚拟对象使得虚拟对象与现实障碍物之间不冲突。-Update virtual objects so that they do not conflict with real obstacles.
优选地,所述虚拟对象包括虚拟场地,所述虚拟场地采用如下任一种方式呈现:Preferably, the virtual object includes a virtual venue, and the virtual venue is presented in any of the following ways:
-根据预设参数呈现;-Presentation according to preset parameters;
-根据现实对象的影像与虚拟对象之间的相对关系呈现;-According to the relative relationship between the image of the real object and the virtual object;
-在现实对象的影像与虚拟对象相匹配后,根据现实对象呈现。-After the image of the real object matches the virtual object, it is rendered according to the real object.
优选地,还包括:Preferably, it further comprises:
虚拟交互响应步骤:根据现实对象执行的动作,呈现虚拟对象针对现实对象的影像的虚拟交互响应。Virtual interaction response step: presenting a virtual interaction response of the virtual object to the image of the real object according to the action performed by the real object.
优选地,还包括:Preferably, it further comprises:
现实交互响应步骤:根据所述虚拟交互响应,指示所述现实对象执行现实交互响应。Real interaction response step: instructing the real object to perform a real interaction response according to the virtual interaction response.
优选地,还包括:Preferably, it further comprises:
编程界面步骤:提供可视编程界面;其中,所述编程界面步骤包括如下任一个或任多个步骤:Programming interface steps: Provide a visual programming interface; wherein the programming interface steps include any one or more of the following steps:
-叠加呈现步骤:令所述现实对象的影像与虚拟对象,在所述可视编程界面中叠加呈现;-Overlay presentation step: making the image of the real object and the virtual object overlay and present in the visual programming interface;
-操作呈现步骤:令图形化的程序指令单元,在所述可视编程界面中,随使用者的操作呈现对应的可视效果;-Operation presentation step: making a graphical program instruction unit, in the visual programming interface, present a corresponding visual effect with the user's operation;
-执行呈现步骤:令程序指令集分步执行程序指令单元的情况、现实对象分步执行动作的情况,在所述可视编程界面中,同步展示;-Executing the presenting step: the case where the program instruction set executes the program instruction unit step by step, the real object executes the action step by step, and is displayed synchronously in the visual programming interface;
-省略呈现步骤:根据使用者对程序指令单元的指定,指示现实对象直接响应被指定的程序指令单元被执行后对应的动作,并在所述可视编程界面中呈现。-Omit the presenting step: according to the user's designation of the program instruction unit, instruct the real object to directly respond to the corresponding action after the designated program instruction unit is executed, and present it in the visual programming interface.
优选地,所述编程界面步骤,还包括如下任一个或任多个步骤:Preferably, the programming interface step further includes any one or more of the following steps:
第一界面切换步骤:根据第三操作输入信息,从所述操作呈现步骤到所述执行呈现步骤进行触发切换;First interface switching step: trigger switching from the operation presentation step to the execution presentation step according to the third operation input information;
第二界面切换步骤:根据虚拟对象针对现实对象的影像的虚拟交互响应,从所述执行呈现步骤到所述操作呈现步骤进行触发切换。The second interface switching step: trigger switching from the execution presentation step to the operation presentation step according to a virtual interaction response of the virtual object to the image of the real object.
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现所述的基于AR的交互编程方法的步骤。例如芯片、存储器、光盘。尤其是支持APP商店的服务器。根据本发明提供的一种智能设备,包括所述的存储有计算机程序的计算机可读存储介质。According to the present invention, there is provided a computer-readable storage medium storing a computer program, characterized in that, when the computer program is executed by a processor, the steps of the AR-based interactive programming method are implemented. Examples are chips, memories, and optical discs. Especially servers that support APP stores. A smart device provided according to the present invention includes the computer-readable storage medium storing the computer program.
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将系统模块进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现系统的软件程序又可以是硬件部件内的结构。Those skilled in the art know that, in addition to implementing the system, device and each module provided by the present invention in a pure computer-readable program code manner, the system, device and each module provided by the present invention can be made by logically programming the system module. The same programs are implemented in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, the system, device, and its various modules provided by the present invention can be considered as a hardware component, and the modules included in it for implementing various programs can also be considered as the structure within the hardware component; Modules for implementing various functions are considered to be both software programs that implement the system and structures within hardware components.
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。The specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which does not affect the essence of the present invention. In the case of no conflict, the embodiments of the present application and the features in the embodiments can be arbitrarily combined with each other.

Claims (22)

  1. 一种基于AR的交互编程系统,其特征在于,包括:An AR-based interactive programming system is characterized in that it includes:
    AR模块:将现实对象的影像与虚拟对象叠加呈现;AR module: Overlay and present images of real objects and virtual objects;
    所述基于AR的交互编程系统,还包括:The AR-based interactive programming system further includes:
    编程模块:获取程序指令集,其中,所述程序指令集包括一个或多个程序指令单元;A programming module: obtaining a program instruction set, wherein the program instruction set includes one or more program instruction units;
    执行模块:根据所述程序指令集,指示现实对象执行动作。Execution module: instructs a real object to perform an action according to the program instruction set.
  2. 根据权利要求1所述的基于AR的交互编程系统,其特征在于,还包括:The AR-based interactive programming system according to claim 1, further comprising:
    匹配模块:呈现现实对象的影像与虚拟对象之间的相对关系。Matching module: presents the relative relationship between the image of the real object and the virtual object.
  3. 根据权利要求1所述的基于AR的交互编程系统,其特征在于,所述编程模块包括:The AR-based interactive programming system according to claim 1, wherein the programming module comprises:
    编程单元获取模块:根据第一操作输入信息,获取多个程序指令单元;A programming unit acquisition module: acquiring a plurality of program instruction units according to the first operation input information;
    时序关系获取模块:根据第二操作输入信息,获取所述多个程序指令单元之间执行的时序关系;Timing relationship acquisition module: acquiring timing relationships executed between the plurality of program instruction units according to the second operation input information;
    指令集生成模块:根据所述多个程序指令单元、时序关系,生成所述程序指令集。Instruction set generation module: Generates the program instruction set according to the multiple program instruction units and timing relationships.
  4. 根据权利要求2所述的基于AR的交互编程系统,其特征在于,所述匹配模块包括如下任一个或任多个模块:The AR-based interactive programming system according to claim 2, wherein the matching module comprises any one or more of the following modules:
    匹配尺寸模块:呈现现实对象的影像与虚拟对象之间的尺寸相对关系,通过尺寸交互,使得现实对象的影像与虚拟对象之间的尺寸相匹配;其中,所述尺寸交互是指:提示现实对象的影像与虚拟对象之间的尺寸差异,或者,指示现实对象移动以改变所述影像的尺寸;Matching size module: presents the size relative relationship between the image of the real object and the virtual object, and makes the size match between the image of the real object and the virtual object through size interaction; wherein the size interaction refers to: reminding the real object The size difference between the image and the virtual object, or instructing the real object to move to change the size of the image;
    匹配朝向模块:呈现现实对象的影像与虚拟对象之间的朝向相对关系,通过朝向交互,使得现实对象的影像与虚拟对象之间的朝向相匹配;其中,所述朝向交互是指:提示现实对象的影像与虚拟对象之间的朝向差异,或者,指示现实对象转动以改变所述影像的朝向。Matching orientation module: presents the relative relationship between the orientation of the image of the real object and the virtual object, and the orientation interaction makes the orientation of the image of the real object and the virtual object match; wherein the orientation interaction means: prompting the real object The orientation difference between the image and the virtual object, or instructs the real object to rotate to change the orientation of the image.
  5. 根据权利要求4所述的基于AR的交互编程系统,其特征在于,所述匹配模块还包括:The AR-based interactive programming system according to claim 4, wherein the matching module further comprises:
    障碍排除模块:判断虚拟对象与现实障碍物之间是否冲突;若不冲突,则确认不冲突;若冲突,则:Obstacle elimination module: determine whether there is a conflict between the virtual object and the actual obstacle; if there is no conflict, confirm that there is no conflict; if there is a conflict, then:
    -提示冲突;-Prompt conflict;
    -指示现实对象进行运动使得虚拟对象与现实障碍物之间不冲突;或者-Instruct the real object to move so that the virtual object does not conflict with the real obstacle; or
    -更新虚拟对象使得虚拟对象与现实障碍物之间不冲突。-Update virtual objects so that they do not conflict with real obstacles.
  6. 根据权利要求1所述的基于AR的交互编程系统,其特征在于,所述虚拟对象包括虚拟场地,所述虚拟场地采用如下任一种方式呈现:The AR-based interactive programming system according to claim 1, wherein the virtual object comprises a virtual venue, and the virtual venue is presented in any of the following ways:
    -根据预设参数呈现;-Presentation according to preset parameters;
    -根据现实对象的影像与虚拟对象之间的相对关系呈现;-According to the relative relationship between the image of the real object and the virtual object;
    -在现实对象的影像与虚拟对象相匹配后,根据现实对象呈现。-After the image of the real object matches the virtual object, it is rendered according to the real object.
  7. 根据权利要求1所述的基于AR的交互编程系统,其特征在于,还包括:The AR-based interactive programming system according to claim 1, further comprising:
    虚拟交互响应模块:根据现实对象执行的动作,呈现虚拟对象针对现实对象的影像的虚拟交互响应。Virtual interaction response module: presents a virtual interaction response of the virtual object to the image of the real object according to the action performed by the real object.
  8. 根据权利要求7所述的基于AR的交互编程系统,其特征在于,还包括:The AR-based interactive programming system according to claim 7, further comprising:
    现实交互响应模块:根据所述虚拟交互响应,指示所述现实对象执行现实交互响应。Real interaction response module: instructs the real object to perform a real interaction response according to the virtual interaction response.
  9. 根据权利要求1所述的基于AR的交互编程系统,其特征在于,还包括:The AR-based interactive programming system according to claim 1, further comprising:
    编程界面模块:提供可视编程界面;其中,所述编程界面模块包括如下任一个或任多个模块:Programming interface module: provides a visual programming interface; wherein, the programming interface module includes any one or more of the following modules:
    -叠加呈现模块:令所述现实对象的影像与虚拟对象,在所述可视编程界面中叠加呈现;-Overlay presentation module: Make the images of the real object and the virtual object overlay and present in the visual programming interface;
    -操作呈现模块:令图形化的程序指令单元,在所述可视编程界面中,随使用者的操作呈现对应的可视效果;-Operation presentation module: a graphical program instruction unit, in the visual programming interface, presents a corresponding visual effect with the user's operation;
    -执行呈现模块:令程序指令集分步执行程序指令单元的情况、现实对象分步执行动作的情况,在所述可视编程界面中,同步展示;-An execution presentation module: the program instruction set is executed step by step to execute the program instruction unit, and the actual object is executed step by step in the visual programming interface;
    -省略呈现模块:根据使用者对程序指令单元的指定,指示现实对象直接响应被指定的程序指令单元被执行后对应的动作,并在所述可视编程界面中呈现。-Omit presentation module: According to the user's designation of the program instruction unit, instruct the real object to directly respond to the corresponding action after the designated program instruction unit is executed, and present it in the visual programming interface.
  10. 根据权利要求9所述的基于AR的交互编程系统,其特征在于,所述编程界面模块,还包括如下任一个或任多个模块:The AR-based interactive programming system according to claim 9, wherein the programming interface module further comprises any one or any of the following modules:
    第一界面切换模块:根据第三操作输入信息,从所述操作呈现模块到所述执行呈现模块进行触发切换;A first interface switching module: trigger switching from the operation presentation module to the execution presentation module according to the third operation input information;
    第二界面切换模块:根据虚拟对象针对现实对象的影像的虚拟交互响应,从所述执行呈现模块到所述操作呈现模块进行触发切换。The second interface switching module: triggers switching from the execution presentation module to the operation presentation module according to a virtual interaction response of the virtual object to the image of the real object.
  11. 一种基于AR的交互编程方法,其特征在于,包括:A method for interactive programming based on AR, comprising:
    AR步骤:将现实对象的影像与虚拟对象叠加呈现;AR step: superimposing and presenting images of real objects and virtual objects;
    所述基于AR的交互编程方法,还包括:The AR-based interactive programming method further includes:
    编程步骤:获取程序指令集,其中,所述程序指令集包括一个或多个程序指令单元;Programming step: obtaining a program instruction set, wherein the program instruction set includes one or more program instruction units;
    执行步骤:根据所述程序指令集,指示现实对象执行动作。Execution step: According to the program instruction set, instruct a real object to perform an action.
  12. 根据权利要求1所述的基于AR的交互编程方法,其特征在于,还包括:The AR-based interactive programming method according to claim 1, further comprising:
    匹配步骤:呈现现实对象的影像与虚拟对象之间的相对关系。Matching step: present the relative relationship between the image of the real object and the virtual object.
  13. 根据权利要求11所述的基于AR的交互编程方法,其特征在于,所述编程步骤包括:The AR-based interactive programming method according to claim 11, wherein the programming step comprises:
    编程单元获取步骤:根据第一操作输入信息,获取多个程序指令单元;Step of acquiring a programming unit: acquiring a plurality of program instruction units according to the first operation input information;
    时序关系获取步骤:根据第二操作输入信息,获取所述多个程序指令单元之间执行的时序关系;Step of acquiring timing relationships: acquiring timing relationships executed between the plurality of program instruction units according to the second operation input information;
    指令集生成步骤:根据所述多个程序指令单元、时序关系,生成所述程序指令集。Instruction set generation step: generating the program instruction set according to the multiple program instruction units and a timing relationship.
  14. 根据权利要求12所述的基于AR的交互编程方法,其特征在于,所述匹配步骤包括如下任一个或任多个步骤:The AR-based interactive programming method according to claim 12, wherein the matching step comprises any one or more of the following steps:
    匹配尺寸步骤:呈现现实对象的影像与虚拟对象之间的尺寸相对关系,通过尺寸交互,使得现实对象的影像与虚拟对象之间的尺寸相匹配;其中,所述尺寸交互是指:提示现实对象的影像与虚拟对象之间的尺寸差异,或者,指示现实对象移动以改变所述影像的尺寸;Step of matching size: presenting the relative size relationship between the image of the real object and the virtual object, and matching the size between the image of the real object and the virtual object through size interaction; wherein the size interaction refers to: prompting the real object The size difference between the image and the virtual object, or instructing the real object to move to change the size of the image;
    匹配朝向步骤:呈现现实对象的影像与虚拟对象之间的朝向相对关系,通过朝向交互,使得现实对象的影像与虚拟对象之间的朝向相匹配;其中,所述朝向交互是指:提示现实对象的影像与虚拟对象之间的朝向差异,或者,指示现实对象转动以改变所述影像的朝向。Step of matching orientation: presenting the relative relationship between the orientation of the image of the real object and the virtual object, and the orientation interaction makes the orientation of the image of the real object and the virtual object match; wherein the orientation interaction refers to: prompting the real object The orientation difference between the image and the virtual object, or instructs the real object to rotate to change the orientation of the image.
  15. 根据权利要求14所述的基于AR的交互编程方法,其特征在于,所述匹配步骤还包括:The AR-based interactive programming method according to claim 14, wherein the matching step further comprises:
    障碍排除步骤:判断虚拟对象与现实障碍物之间是否冲突;若不冲突,则确认不冲突;若冲突,则:Obstacle removal steps: determine whether there is a conflict between the virtual object and the actual obstacle; if there is no conflict, confirm that there is no conflict; if there is a conflict, then:
    -提示冲突;-Prompt conflict;
    -指示现实对象进行运动使得虚拟对象与现实障碍物之间不冲突;或者-Instruct the real object to move so that the virtual object does not conflict with the real obstacle; or
    -更新虚拟对象使得虚拟对象与现实障碍物之间不冲突。-Update virtual objects so that they do not conflict with real obstacles.
  16. 根据权利要求11所述的基于AR的交互编程方法,其特征在于,所述虚拟对象包括虚拟场地,所述虚拟场地采用如下任一种方式呈现:The AR-based interactive programming method according to claim 11, wherein the virtual object comprises a virtual venue, and the virtual venue is presented in any of the following ways:
    -根据预设参数呈现;-Presentation according to preset parameters;
    -根据现实对象的影像与虚拟对象之间的相对关系呈现;-According to the relative relationship between the image of the real object and the virtual object;
    -在现实对象的影像与虚拟对象相匹配后,根据现实对象呈现。-After the image of the real object matches the virtual object, it is rendered according to the real object.
  17. 根据权利要求11所述的基于AR的交互编程方法,其特征在于,还包括:The AR-based interactive programming method according to claim 11, further comprising:
    虚拟交互响应步骤:根据现实对象执行的动作,呈现虚拟对象针对现实对象的影像的虚拟交互响应。Virtual interaction response step: presenting a virtual interaction response of the virtual object to the image of the real object according to the action performed by the real object.
  18. 根据权利要求17所述的基于AR的交互编程方法,其特征在于,还包括:The AR-based interactive programming method according to claim 17, further comprising:
    现实交互响应步骤:根据所述虚拟交互响应,指示所述现实对象执行现实交互响应。Real interaction response step: instructing the real object to perform a real interaction response according to the virtual interaction response.
  19. 根据权利要求11所述的基于AR的交互编程方法,其特征在于,还包括:The AR-based interactive programming method according to claim 11, further comprising:
    编程界面步骤:提供可视编程界面;其中,所述编程界面步骤包括如下任一个或任多个步骤:Programming interface steps: Provide a visual programming interface; wherein the programming interface steps include any one or more of the following steps:
    -叠加呈现步骤:令所述现实对象的影像与虚拟对象,在所述可视编程界面中叠加呈现;-Overlay presentation step: making the image of the real object and the virtual object overlay and present in the visual programming interface;
    -操作呈现步骤:令图形化的程序指令单元,在所述可视编程界面中,随使用者的操作呈现对应的可视效果;-Operation presentation step: making a graphical program instruction unit, in the visual programming interface, present a corresponding visual effect with the user's operation;
    -执行呈现步骤:令程序指令集分步执行程序指令单元的情况、现实对象分步执行动作的情况,在所述可视编程界面中,同步展示;-Executing the presenting step: the case where the program instruction set executes the program instruction unit step by step, the real object executes the action step by step, and is displayed synchronously in the visual programming interface;
    -省略呈现步骤:根据使用者对程序指令单元的指定,指示现实对象直接响应被指定的程序指令单元被执行后对应的动作,并在所述可视编程界面中呈现。-Omit the presenting step: according to the user's designation of the program instruction unit, instruct the real object to directly respond to the corresponding action after the designated program instruction unit is executed, and present it in the visual programming interface.
  20. 根据权利要求19所述的基于AR的交互编程方法,其特征在于,所述编程界面步骤,还包括如下任一个或任多个步骤:The AR-based interactive programming method according to claim 19, wherein the programming interface step further comprises any one or more of the following steps:
    第一界面切换步骤:根据第三操作输入信息,从所述操作呈现步骤到所述执行呈现步骤进行触发切换;First interface switching step: trigger switching from the operation presentation step to the execution presentation step according to the third operation input information;
    第二界面切换步骤:根据虚拟对象针对现实对象的影像的虚拟交互响应,从所述执行呈现步骤到所述操作呈现步骤进行触发切换。The second interface switching step: trigger switching from the execution presentation step to the operation presentation step according to a virtual interaction response of the virtual object to the image of the real object.
  21. 一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求11至20中任一项所述的方法的步骤。A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the steps of the method according to any one of claims 11 to 20 are implemented.
  22. 一种智能设备,其特征在于,包括权利要求1至10中任一项所述的基于AR的交互编程系统,或者包括权利要求21所述的存储有计算机程序的计算机可读存储介质。An intelligent device, comprising the AR-based interactive programming system according to any one of claims 1 to 10, or the computer-readable storage medium storing a computer program according to claim 21.
PCT/CN2019/099902 2018-09-30 2019-08-09 Ar-based interactive programming system and method, and medium and intelligent device WO2020063132A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811160524.1A CN109240682B (en) 2018-09-30 2018-09-30 Interactive programming system, method, medium and intelligent device based on AR
CN201811160524.1 2018-09-30

Publications (1)

Publication Number Publication Date
WO2020063132A1 true WO2020063132A1 (en) 2020-04-02

Family

ID=65054336

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/099902 WO2020063132A1 (en) 2018-09-30 2019-08-09 Ar-based interactive programming system and method, and medium and intelligent device

Country Status (2)

Country Link
CN (1) CN109240682B (en)
WO (1) WO2020063132A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111610998A (en) * 2020-05-26 2020-09-01 北京市商汤科技开发有限公司 AR scene content generation method, display method, device and storage medium
CN111610997A (en) * 2020-05-26 2020-09-01 北京市商汤科技开发有限公司 AR scene content generation method, display system and device
CN112732247A (en) * 2021-01-13 2021-04-30 王亚刚 Event generation method and event generation system based on virtual reality technology
CN113849166A (en) * 2021-11-29 2021-12-28 广东青藤环境科技有限公司 Intelligent water environment building block type zero-code development platform

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240682B (en) * 2018-09-30 2021-11-30 上海葡萄纬度科技有限公司 Interactive programming system, method, medium and intelligent device based on AR
CN110533780B (en) * 2019-08-28 2023-02-24 深圳市商汤科技有限公司 Image processing method and device, equipment and storage medium thereof
CN111552238A (en) * 2020-04-17 2020-08-18 达闼科技(北京)有限公司 Robot control method, device, computing equipment and computer storage medium
CN112882570A (en) * 2021-01-28 2021-06-01 深圳点猫科技有限公司 Child programming implementation method, device and equipment based on VR technology

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120239785A1 (en) * 2011-03-14 2012-09-20 Pazos Carlos M D System and apparatus for using multichannel file delivery over unidirectional transport ("flute") protocol for delivering different classes of files in a broadcast network
CN103998107A (en) * 2011-05-23 2014-08-20 乐高公司 A toy construction system for augmented reality
CN105396295A (en) * 2015-11-17 2016-03-16 卢军 Space programming robot toy for children
CN108182062A (en) * 2017-12-12 2018-06-19 上海葡萄纬度科技有限公司 A kind of method and system reversely programmed
CN108230201A (en) * 2017-12-12 2018-06-29 清华大学 A kind of knockdown interactive system
CN108292816A (en) * 2016-03-31 2018-07-17 深圳贝尔创意科教有限公司 Modular assembly system
CN109240682A (en) * 2018-09-30 2019-01-18 上海葡萄纬度科技有限公司 Interactive programming system, method, medium and smart machine based on AR

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HK1216278A (en) * 2016-04-27 2016-10-28 Kam Ming Lau An education system using virtual robots

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120239785A1 (en) * 2011-03-14 2012-09-20 Pazos Carlos M D System and apparatus for using multichannel file delivery over unidirectional transport ("flute") protocol for delivering different classes of files in a broadcast network
CN103998107A (en) * 2011-05-23 2014-08-20 乐高公司 A toy construction system for augmented reality
CN105396295A (en) * 2015-11-17 2016-03-16 卢军 Space programming robot toy for children
CN108292816A (en) * 2016-03-31 2018-07-17 深圳贝尔创意科教有限公司 Modular assembly system
CN108182062A (en) * 2017-12-12 2018-06-19 上海葡萄纬度科技有限公司 A kind of method and system reversely programmed
CN108230201A (en) * 2017-12-12 2018-06-29 清华大学 A kind of knockdown interactive system
CN109240682A (en) * 2018-09-30 2019-01-18 上海葡萄纬度科技有限公司 Interactive programming system, method, medium and smart machine based on AR

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111610998A (en) * 2020-05-26 2020-09-01 北京市商汤科技开发有限公司 AR scene content generation method, display method, device and storage medium
CN111610997A (en) * 2020-05-26 2020-09-01 北京市商汤科技开发有限公司 AR scene content generation method, display system and device
CN112732247A (en) * 2021-01-13 2021-04-30 王亚刚 Event generation method and event generation system based on virtual reality technology
CN113849166A (en) * 2021-11-29 2021-12-28 广东青藤环境科技有限公司 Intelligent water environment building block type zero-code development platform

Also Published As

Publication number Publication date
CN109240682A (en) 2019-01-18
CN109240682B (en) 2021-11-30

Similar Documents

Publication Publication Date Title
WO2020063132A1 (en) Ar-based interactive programming system and method, and medium and intelligent device
JP7403452B2 (en) interactive video game system
JP6276882B1 (en) Information processing method, apparatus, and program for causing computer to execute information processing method
JP6431233B1 (en) Video distribution system that distributes video including messages from viewing users
CN104731343A (en) Virtual reality man-machine interaction children education experience system based on mobile terminal
JP2017536715A (en) Expression of physical interaction in 3D space
CN102741885A (en) Decorating a display environment
CN102414641A (en) Altering a view perspective within a display environment
KR20020089460A (en) Animation creation program
CN106873767A (en) The progress control method and device of a kind of virtual reality applications
JP6446154B1 (en) Video distribution system for live distribution of animation including animation of character objects generated based on actor movement
TW202220736A (en) Information processing methods, devices, equipments, computer-readable storage mediums, and computer program products in virtual scene
KR20190059068A (en) A puzzle assembling system for a grid map using augmented reality and the method thereof
WO2020114395A1 (en) Virtual picture control method, terminal device and storage medium
JP6554139B2 (en) Information processing method, apparatus, and program for causing computer to execute information processing method
CN109344504A (en) A kind of Computer Equipment method and its system based on VR
CN113546420B (en) Virtual object control method and device, storage medium and electronic equipment
JP7098575B2 (en) A video distribution system that delivers live video containing animations of character objects generated based on the movement of actors.
Wang et al. Construction of a somatosensory interactive system based on computer vision and augmented reality techniques using the kinect device for food and agricultural education
US20240112424A1 (en) Authoring systems and methods for enabling bidirectional binding of augmented reality with toys in real-time
JP2018190397A (en) Information processing method, information processing device, program causing computer to execute information processing method
Sun et al. The implementation of a live interactive augmented reality game creative system
Wan et al. Interactive shadow play animation system
JP6431242B1 (en) Video distribution system that distributes video including messages from viewing users
CN110070777B (en) Huchizhui fish skin painting simulation training system and implementation method

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

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

Country of ref document: EP

Kind code of ref document: A1