US20160375372A1 - Block structure and robot cooperation methods and apparatuses - Google Patents
Block structure and robot cooperation methods and apparatuses Download PDFInfo
- Publication number
- US20160375372A1 US20160375372A1 US14/749,311 US201514749311A US2016375372A1 US 20160375372 A1 US20160375372 A1 US 20160375372A1 US 201514749311 A US201514749311 A US 201514749311A US 2016375372 A1 US2016375372 A1 US 2016375372A1
- Authority
- US
- United States
- Prior art keywords
- block
- block structure
- robot
- robots
- communication interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H27/00—Toy aircraft; Other flying toys
- A63H27/12—Helicopters ; Flying tops
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H33/00—Other toys
- A63H33/26—Magnetic or electric toys
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H33/00—Other toys
- A63H33/04—Building blocks, strips, or similar building parts
- A63H33/042—Mechanical, electrical, optical, pneumatic or hydraulic arrangements; Motors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H2200/00—Computerized interactive toys, e.g. dolls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
- B25J9/1617—Cellular, reconfigurable manipulator, e.g. cebot
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40304—Modular structure
Definitions
- the present disclosure relates to the fields of electronics, robotics, and toys. More particularly, the present disclosure relates to block structure and robot cooperation methods and apparatuses.
- Smart blocks are known in the art. Today, many smart blocks will respond to assembly events by making sounds and activating lights. Typically, these blocks have connection points that allow them to detect how they are assembled.
- Robots such as drones
- Lego® Mindstorm® kits allow formation of complex robots and include relatively simple programming interfaces for ordinary users (mainly children) to program the assembled robots to perform basic functions. Depending on what blocks are used to form the robot, it may be programmed to behave in different ways.
- FIG. 1 illustrates a perspective view of an example block structure and an example robot incorporated with the block structure and robot cooperation technology of the present disclosure, according to various embodiments.
- FIG. 2 illustrates an example main process of a base block, according to various embodiments.
- FIG. 3 illustrates an example object recognition process, according to various embodiments
- FIG. 4 illustrates an example data structure suitable for use to represent a block structure, according to various embodiments.
- FIG. 5 illustrates an example block structure-robot cooperation process, according to various embodiments.
- FIG. 6 illustrates an example block structure-robot cooperation rule database, according to various embodiments.
- FIG. 7 illustrates an example process for operating a robot, according to various embodiments.
- FIG. 8 illustrates an example computing device suitable for use to practice aspects of the present disclosure, according to various embodiments.
- FIG. 9 illustrates an example storage medium having instructions to cause an apparatus to practice aspects of the present disclosure, according to various embodiments.
- a block apparatus may include a block structure-robot coordination module to cooperate with one or more robots to affect operations of the one or more robots relative to at least a block structure which the block apparatus is a member.
- the block apparatus may further include a housing that houses the block structure-robot coordination module, with features to mate the block apparatus with one or more other blocks to cause the block apparatus to become a member of the block structure.
- a robot may include a plurality of actuators to operate a number of features of the robot; and a communication interface to receive from a block structure one or more operation commands in association with performance of one or more operations relative to the block structure.
- the robot may also include a control module coupled with the plurality of actuators and the communication interface to control the actuators to perform the one or more operations relative to the block structure.
- phrase “A and/or B” means (A), (B), or (A and B).
- phrase “A, B, and/or C” means (A), (B), (C), (A and B), (A and C), (B and C), or (A, B and C).
- module may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and/or memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
- ASIC Application Specific Integrated Circuit
- processor shared, dedicated, or group
- memory shared, dedicated, or group
- FIG. 1 wherein a block diagram illustrating a perspective view of an example block structure and an example robot incorporated with the technology of the present disclosure, according to various embodiments, is shown.
- example block structure 102 a model the Tower Bridge of London
- example robot 104 a drone (or unmanned aerial vehicle).
- block structure 102 and robot 104 may be incorporated with teachings of the present disclosure to cooperate with one another.
- block structure 102 and robot 104 may be incorporated with the teachings of the present disclosure for robot 104 to perform one or more operations relative to block structure 102 , e.g. flying 104 underneath the top span and in between the two towers.
- Block structure 102 may be assembled with a number of smart blocks 108 and a base block 112 .
- smart blocks 108 may include the top portion of one of the towers, a top, mid or bottom section of the tower, a suspension cable, the top span, the main span and so forth.
- base block 112 may be the base of one of the towers. In alternate embodiments, base block 112 may be any block of block structure 102 .
- Each of smart blocks 108 may include a body having features that allow the smart block to be mated with one or more of other smart blocks to form block structure 102 .
- each of smart blocks 108 may include a communication interface (not shown) to communicate to base block 112 , directly or via another smart block, of its inclusion in block structure 102 . Additionally, the communication interface of each smart block 108 may also facilitate communication of the configuration, shape and/or size of the smart block.
- base block 112 may include body 130 having features that allow base block 112 to be mated with one or more of other smart blocks to become a member of block structure 102 . Further, base block 112 may include a communication interface 128 to receive communications from smart blocks 108 . In embodiments, the communication interface of a smart block and communication interface 128 may be configured to support basic wired serial communication or wireless communication, such as near field communication (NFC), with smart blocks 108 .
- NFC near field communication
- communication interface 128 may further support wireless communication with robot 104 , another base block of another block structure (not shown) (e.g., a model of the Tower of London), or a cloud computing server (not shown).
- communication interface 128 may be further configured to support Bluetooth®, WiFi, 3G/4G/LTE and/or other wireless communication protocols/methodologies.
- base block 112 may include block structure (BS)-Robot cooperation module 122 configured to cooperate with robot 104 to affect operation of robot 104 relative to block structure 102 , of which base block 112 is a member.
- BS-Robot cooperation module 122 may be configured to cooperate with robot 104 to affect operation of robot 104 relative to block structure 102 , based at least in part on the state of block structure 102 , e.g., whether the entire block structure 102 has been assembled, or whether the block structure 102 has been substantially assembled to include the top span.
- the state of block structure 102 may include identifications of member blocks 108 , and the mating manner and/or mating order of member blocks 108 .
- base block 112 may include BS-Robot database 124 having a number of cooperation rules.
- BS-Robot cooperation module 122 may be configured to cooperate with robot 104 to affect operation of robot 104 relative to block structure 102 , in accordance with one or more cooperation rules retrieved from BS-Robot database 124 .
- BS-Robot database 124 may be disposed in a proximately located portable computing device (not shown) (such as a smartphone or a computing tablet), with BS-Robot cooperation module 122 accessing the remote BS-Robot database 124 via communication interface 128 having the requisite communication support.
- BS-Robot database 124 may be disposed in a remote cloud computing server, with BS-Robot cooperation module 122 accessing the remote BS-Robot database 124 via communication interface 128 having the requisite communication support, with or without going through a proximately located portable computing device (not shown).
- base block 122 may further include object recognition module 126 configured to receive one or more images, via communication interface 128 , and analyze the one or more images to determine the state of block structure 102 , and/or the state of block structure 102 in conjunction to related neighboring block structures (such as, a model of the Tower of London).
- the one or more images may be provided by an independent 2D or 3D camera (not shown), or a 2D or 3D camera incorporated with robot 104 .
- BS-Robot cooperation module 122 may be implemented in hardware, software or combination of both.
- Example hardware implementations may include application specific integrated circuits (ASIC) or programmable logic, such as, field programmable gate arrays (FPGA) programmed with the operating logic of BS-Robot cooperation module 122 described herein.
- Example software implementations may include implementations in assembler or high level languages that can be compiled into the machine instructions supported by various target processors.
- base block 112 may further include the target processors and associated memory.
- robot 104 may include communication interface 138 configured to communicate with base block 112 . Further, robot 104 may further include sensors 132 , actuators 134 and control module 136 . Actuators 134 may be configured to operate a number of features of robot 104 to perform a number of operations. For example, for the example drone robot 104 , the features may include a number of rotors, and actuators 134 may be configured to control the rotation speed of the rotor blades, the tilt/angle of the rotors, and so forth. Control module 136 may be configured to control actuators 134 to operate the various features, to cause robot 104 to perform the operations relative to block structure 102 .
- Sensors 132 may be configured to provide various sensor data, and control module 136 may be further configured to control actuators 134 , in view of the sensor data.
- sensors 132 may include one or more cameras, accelerometers, gyroscopes, altimeters, and so forth.
- block structure and robot cooperation technology is not limited to the example block structure and robot of FIG. 1 . It will be readily apparent from the description that the block structure and robot cooperation technology may be practiced with a wide range of block structures and robots.
- block structure 102 may be a landing pad, a castle, a space station, an aircraft career, and so forth; whereas robot 104 may be a spaceship, a fighter plane, a transformer, a tank, an amphibious ship, an automobile, and so forth.
- block structure 102 may be a product in the process of being assembled in an automated or semi-automated assembly line, and robot 104 may be one of the assembly robots of the assembly line.
- structure 102 may affect the actions taken by robot 104 relative to structure 102 , in view of the state of structure 102 , which may include the member components included and/or the manner/order the member components are included.
- process 200 for cooperating with a robot, by a base block may include operations to be performed at operation blocks 202 - 210 .
- Process 200 may be performed e.g., by BS-Robot cooperation module 122 of FIG. 1 .
- process 200 may include more or less operations, or with the operations performed in different order.
- Process 200 may start at operation block 202 .
- information may be received from the communication interface of the base block or from the object recognition module of the base block.
- information received from the communication interface of the base block and/or from the object recognition module of the base block may include information about other smart blocks being or having been included or assembled as part of the block structure, which the base structure is a member.
- process 200 may proceed to operation block 204 .
- the state of the block structure may be updated.
- An example process suitable for use to recognize objects in an image to enable an object recognition module to provide information about other smart blocks having been included or assembled as part of the block structure will be later described with references to FIG. 3 .
- An example data structure suitable for use to represent a block structure, and optionally, the neighboring block structures will be later described with references to FIG. 4 .
- information received from the communication interface of the base block may also include information about other neighboring or proximally disposed block structures.
- An example of a neighboring block structure to the example model Tower Bridge block structure of FIG. 1 may be a block model of the Tower of London, and/or a block model of the City Hall of London.
- process 200 may proceed to operation block 206 .
- the state of the neighboring or proximally disposed block structures may be updated.
- information received from the communication interface of the base block may also include information from the robots.
- process 200 may proceed to operation block 208 .
- the process for cooperating with a robot may be performed.
- An example process 500 for cooperating with a robot will be later described with references to FIG. 5 .
- process 200 may proceed to operation block 210 .
- process 200 may return to operation block 202 , and await further inputs from other smart blocks, the object recognition module, other block structures or the robots, and proceed therefrom as earlier described.
- process 300 for recognizing and identifying objects in an image may include operations at operation blocks 302 - 304 .
- Process 300 may be performed e.g., by object recognition module 126 of FIG. 1 .
- process 300 may include more or less operations, or with the operations performed in different order.
- Process 300 may start at operation block 302 .
- a received image may be partitioned into a number of regions.
- each region may be analyzed to recognize and identify objects within the region.
- Operation block 304 may be repeated as many times as necessary to have each region analyzed, and the objects therein identified.
- process 300 itself may be recursively performed to have the region further sub-divided, and the sub-regions iteratively analyzed to recognize and identify objects within the sub-regions.
- Process 300 may be recursively performed for any number of times, depending on computing resource available and/or accuracy desired. On completion of analysis of all the regions/sub-regions, process 300 may end.
- smart blocks 108 may be provided with visual markers to facilitate their recognition.
- the visual markers may be or may not be humanly visible and/or comprehensible.
- the configuration, shape and/or dimensions of the smart blocks including dimensions between one or more smart blocks, such as tunnels and/or the space between inter-spans formed by the smart blocks) may be identified.
- example data structure 400 may be a tree structure having a number of nodes connected by branches.
- example data structure 400 may include a root node 402 to represent the base block.
- One or more other nodes 404 representing other smart blocks directly connected the base block may be linked to root node 402 .
- other nodes 406 representing still other smart blocks directly connected to the smart blocks represented by nodes 404 may be respectively linked to nodes 404 , and so forth.
- information about the smart nodes may be stored at the respective nodes 402 - 406 .
- BS-Robot cooperation module 122 may determine a current state of the represented block structure.
- nodes 408 representing the base blocks of these other blocks structures may be linked to root node 402 . According, for these embodiments, likewise, by traversing example data structure 400 , BS-Robot cooperation module 122 may further determine the current states of the represented neighboring block structures.
- process 500 for cooperating with a robot, by a block structure may include operations at operation blocks 502 - 516 .
- Process 500 may be performed e.g., by BS-Robot cooperation module 122 of FIG. 1 .
- process 500 may include more or less operations, or with the operations performed in different order.
- Process 500 may start at operation block 502 .
- pairing information may be received from a robot.
- a process may be undertaken to pair the robot with the block structure.
- the pairing may be performed using any one of a number of pairing processes known in the art.
- FIG. 6 illustrates an example block structure-robot cooperation rule database 124 ′, according to various embodiments.
- example block structure-robot cooperation rule database 124 ′ may include table 600 having a number of rows 602 . Each row 602 may include the cooperation rule 606 for a robot 604 .
- the cooperation rule for Robot R 1 , the cooperation rule:
- Robot R 1 is the example drone 104 of FIG. 1
- Structure A is a model of the Tower Bridge 102 of FIG. 1
- Structure B is a model of the Tower of London (not shown)
- Structure C is a model of London City Hall (not shown)
- all 3 model structures are completed and linked
- “do X” may include having the drone fly over and circle each of the three structures for x times following a particular pattern.
- “do Y” may include having the drone fly over and circle each of the two structures for y times following a different pattern.
- “do Z” may include just having the drone fly through the Tower Bridge, underneath the top span, in between the towers, for z times.
- the state of the block structure (and the neighboring block structure, if any) may be determined.
- the state(s) may be determined by e.g., traversing a data structure, such as data structure 400 of FIG. 4 , representing the block structures.
- process 500 may proceed to operation block 512 , where it may pause for an amount of time, and return to operation block 508 again to determine the block structure state(s) again, and proceed therefrom as earlier described.
- process 500 may proceed to operation block 514 .
- operation commands may be sent to the robot to cause the robot to perform the operations relative to the block structure(s).
- the state information of the block structure(s) in lieu of the specific operation commands may be sent to the robot instead.
- process 500 may end.
- process 500 may proceed to operation block 516 instead.
- feedback may be received from robot with respect to its state and/or operating conditions.
- process 500 may return to operation block 514 , where additional operation commands may be sent to robot to cause robot to perform additional operations or modify its operations to be performed relative to the block structure(s).
- the operations at operation block 514 and 516 may be repeated any number of times before process 500 ends.
- process 700 for operating a robot may include operations at operation blocks 702 - 712 .
- Process 700 may be performed e.g., by control module 136 of FIG. 1 .
- process 700 may include more or less operations, or with the operations performed in different order.
- Process 700 may start at operation blocks 702 or 706 .
- state information about block structure(S) may be received.
- operation block 704 the operations to be performed relative to the block structure(s), in view of the state(s), may be determined.
- operation commands themselves may be received.
- process 700 may proceed to operation block 708 .
- the actuators may be controlled with respect to their operation of the features of the robot, in accordance with the received/determined operation commands.
- sensor data may be received and analyzed.
- process 700 may return to operations block 708 , and adjust controlling of the actuators, in view of the sensor data received.
- the operations at operation blocks 708 and 710 may be repeated a number of times, as long as robot is in operation.
- process 700 may end.
- process 700 may proceed to operation block 712 .
- feedback such as, sensor data received from the sensors, may be provided to the cooperating block structure.
- process 700 may proceed to operation block 706 to receive new/modified operation commands from the block structure, and proceed therefrom as earlier described.
- block structure-robot cooperation technology of the present disclosure may be practiced with a wide range of block structures and robots, performing a wide range of cooperation.
- multiple block structures such as landing pads
- robots such as, drones
- robotics in an assembly line may be caused to behave differently based on components included in a product being assembled, including the manner/order the components were included.
- FIG. 8 illustrates an example computing device incorporated with the block structure and robot cooperation technology of the present disclosure.
- computing device 800 may include one or more processors or processor cores 802 , and system memory 804 .
- processors refers to physical processors, and the terms “processor” and “processor cores” may be considered synonymous, unless the context clearly requires otherwise.
- disposed thereon may be input/output device interfaces 808 (for interfacing with I/O devices such as display, keyboard, cursor control and so forth) and communication interfaces 810 for communication devices (such as network interface cards, modems and so forth).
- the elements may be coupled to each other via system bus 812 , which may represent one or more buses.
- computer 800 may include mass storage devices 806 (such as diskette, hard drive, compact disc read only memory (CD-ROM) and so forth).
- mass storage devices 806 such as diskette, hard drive, compact disc read only memory (CD-ROM) and so forth.
- System memory 804 and mass storage devices 806 may be employed to store a working copy and a permanent copy of the programming instructions implementing an operating system and various applications, in particular, the operating logic for base block 112 and/or robot 104 , collectively referred to as computational logic 822 .
- Computational logic 822 may be implemented by assembler instructions supported by processor(s) 802 or high-level languages, such as, for example, C, that can be compiled into such instructions.
- the number, capability and/or capacity of these elements 810 - 812 may vary, depending on whether computing device 800 is used within a base block 112 , with a robot 104 , or a proximally located/remotely disposed device to host the cooperation rule database. Otherwise, the constitutions of elements 810 - 812 are known, and accordingly will not be further described.
- FIG. 11 illustrates an example computer-readable non-transitory storage medium that may be suitable for use to store instructions that cause an apparatus, in response to execution of the instructions by the apparatus, to practice selected aspects of the present disclosure.
- non-transitory computer-readable storage medium 902 may include a number of programming instructions 904 .
- Programming instructions 904 may be configured to enable a computing device, e.g., computing device 800 , in response to execution of the programming instructions, to perform, e.g., various operations associated with base block 112 and/or robot 104 , described with references to FIGS. 1-7 .
- programming instructions 904 may be disposed on multiple computer-readable non-transitory storage media 902 instead.
- programming instructions 904 may be disposed on computer-readable transitory storage media 902 , such as, signals.
- processors 802 may be packaged together with memory having computational logic 822 (in lieu of storing on memory 804 and storage 806 ).
- processors 802 may be packaged together with memory having computational logic 822 to form a System in Package (SiP).
- SiP System in Package
- processors 802 may be integrated on the same die with memory having computational logic 822 .
- processors 802 may be packaged together with memory having computational logic 822 to form a System on Chip (SoC).
- SoC System on Chip
- Example 1 may be a block apparatus, comprising: one or more processors and memory; a block structure-robot coordination module disposed in the memory and to be operated by the one or more processors to cooperate with one or more robots to affect operations of the one or more robots relative to at least a block structure which the block apparatus is a member; and a housing that houses the one or more processors, the memory, and the block structure-robot coordination module, with features to mate the block apparatus with one or more other blocks to cause the block apparatus to become a member of the block structure.
- Example 2 may be example 1, wherein to cooperate with one or more robots to affect operations of the one or more robots relative to the block structure, the block structure-robot coordination module may access a block structure-robot cooperation rules database for one or more block structure-robot cooperation rules for the one or more robots, based at least in part on a state of the block structure.
- Example 3 may be example 2, further comprising the block structure-robot cooperation rules database having a plurality of block structure-robot cooperation rules for a plurality of robots, based at least in part on the state of the block structure.
- Example 4 may be example 3, further comprising a communicative interface to facilitate update of the plurality of block structure-robot cooperation rules for the plurality of robots.
- Example 5 may be example 3, wherein the block structure-robot cooperation rules database may be remotely disposed; and wherein the block apparatus may further comprise a communication interface to facilitate the block structure-robot coordination module in accessing the remotely disposed block structure-robot cooperation rules database for the one or more block structure-robot cooperation rules for the one or more robots.
- Example 6 may be example 5, wherein the block structure-robot cooperation rules database may be remotely disposed on a proximally located portable computing device.
- Example 7 may be example 5, wherein the block structure-robot cooperation rules database may be remotely disposed on a cloud computing server.
- Example 8 may be example 7, wherein the communication interface may facilitate the block structure-robot coordination module in accessing the remotely disposed block structure-robot cooperation rules database via a proximally located portable computing device.
- Example 9 may be example 2, wherein the state of the block structure may include identifications of the block members of the block structure, and mating manner or order of the block members.
- Example 10 may be example 2, wherein the block structure-robot coordination module may further determine the state of the block structure.
- Example 11 may be example 10, wherein the block structure-robot coordination module may further traverse a data structure with information about member blocks of the block structure to determine the state of the block structure.
- Example 12 may be example 11, further comprising a communication interface to facilitate the block structure-robot coordination module to receive information from other blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 13 may be example 11, further comprising a communication interface to facilitate the block structure-robot coordination module to receive one or more images of the block structure; and an image recognition module to analyze the one or more images to extract and provide information related to member blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 14 may be example 2, further comprising a communication interface; and the block structure-robot coordination module may further transmit to the one or more robots, via the communication interface, the state of the block structure or one or more operation commands, in accordance with the one or more block structure-robot cooperation rules for the one or more robots.
- Example 15 may be example 14, wherein the block structure-robot coordination module may further receive feedback from the one or more robots, via the communication interface, and transmit to the one or more robots, via the communication interface, one or more additional operation commands, based further on the feedback.
- Example 16 may be example 1, wherein the block apparatus is a base block of the block structure.
- Example 17 may be any one of examples 1-16, wherein the block structure may be a first block structure, and wherein the block structure-robot coordination module may cooperate with the one or more robots to affect operations of the one or more robots relative to the first block structure and at least a second block structure.
- Example 18 may be a method, comprising: pairing, by a block apparatus, with a robot; and cooperating, by the block apparatus, with the robot to affect operations of the robot relative to at least a block structure which the block apparatus is a member.
- Example 19 may be example 18, wherein cooperating may comprise accessing a locally, proximally or remotely disposed block structure-robot cooperation rules database for one or more block structure-robot cooperation rules for the one or more robots, based at least in part on a state of the block structure.
- Example 20 may be example 19, wherein block structure-robot cooperation rules database is locally disposed, and the method may further comprise updating, by the block apparatus, the plurality of block structure-robot cooperation rules for the plurality of robots in the locally disposed block structure-robot cooperation rules database.
- Example 21 may be example 18, wherein the state of the block structure may include identifications of the block members of the block structure, and mating manner or order of the block members.
- Example 22 may be example 18, further comprising determining, by the block apparatus, the state of the block structure.
- Example 23 may be example 22, wherein determining may comprise traversing a data structure with information about member blocks of the block structure.
- Example 24 may be example 18, further comprising receiving, by the block apparatus, information from other blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 25 may be example 18, further comprising receiving, by the block apparatus, one or more images of the block structure; and an image recognition module to analyze the one or more images to extract and provide information related to member blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 26 may be example 19, further comprising transmitting, by the block apparatus, to the one or more robots, the state of the block structure or one or more operation commands, in accordance with the one or more block structure-robot cooperation rules for the one or more robots.
- Example 27 may be example 26, further comprising receiving, by the block apparatus, feedback from the one or more robots, and transmitting to the one or more robots, one or more additional operation commands, based further on the feedback.
- Example 28 may be example 18-27, wherein the block apparatus is a first block apparatus, and wherein cooperating comprises cooperating with the one or more robots to affect operations of the one or more robots relative to the first block apparatus and at least a second block apparatus.
- Example 29 may be one or more computer-readable media comprising instructions that cause a block apparatus, in response to execution of the instructions by a processor of the block apparatus, to: pair a robot with the block apparatus; and cooperate with the robot to affect operations of the robot relative to at least a block structure which the block apparatus is a member.
- Example 30 may be example 29, wherein to cooperate with one or more robots to affect operations of the one or more robots relative to the block structure, may comprise to access a locally, proximally or remotely disposed block structure-robot cooperation rules database for one or more block structure-robot cooperation rules for the one or more robots, based at least in part on a state of the block structure.
- Example 31 may be example 30, wherein the block structure-robot cooperation rules database is locally disposed, and the block apparatus may be further caused to update of the plurality of block structure-robot cooperation rules for the plurality of robots.
- Example 32 may be example 30, wherein the state of the block structure may include identifications of the block members of the block structure, and mating manner or order of the block members.
- Example 33 may be example 30, wherein the block apparatus may be further caused to determine the state of the block structure.
- Example 34 may be example 33, wherein the block apparatus may be further caused to traverse a data structure with information about member blocks of the block structure to determine the state of the block structure.
- Example 35 may be example 34, wherein the block apparatus may be further caused to receive information from other blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 36 may be example 34, wherein the block apparatus may be further caused to receive one or more images of the block structure; and to extract and provide information related to member blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 37 may be example 30, wherein the block apparatus may be further caused to transmit to the one or more robots, the state of the block structure or one or more operation commands, in accordance with the one or more block structure-robot cooperation rules for the one or more robots.
- Example 38 may be example 37, wherein the block apparatus may be further caused to receive feedback from the one or more robots, and transmit to the one or more robots, via the communication interface, one or more additional operation commands, based further on the feedback.
- Example 39 may be example 29-38, wherein the block apparatus may be a first block apparatus, and wherein the block apparatus may cooperate with the one or more robots to affect operations of the one or more robots relative to the first block apparatus and at least a second block apparatus.
- Example 40 may be a block apparatus, comprising: means for pairing with a robot; and means for cooperating with the robot to affect operations of the robot relative to at least a block structure which the block apparatus is a member.
- Example 41 may be example 40, wherein means for cooperating may comprise means for accessing a locally, proximally or remotely disposed block structure-robot cooperation rules database for one or more block structure-robot cooperation rules for the one or more robots, based at least in part on a state of the block structure.
- Example 42 may be example 41, wherein block structure-robot cooperation rules database is locally disposed, and the block apparatus may further comprise means for updating the plurality of block structure-robot cooperation rules for the plurality of robots in the locally disposed block structure-robot cooperation rules database.
- Example 43 may be example 40, wherein the state of the block structure may include identifications of the block members of the block structure, and mating manner or order of the block members.
- Example 44 may be example 40, further comprising means for determining the state of the block structure.
- Example 45 may be example 44, wherein means for determining may comprise means for traversing a data structure with information about member blocks of the block structure.
- Example 46 may be example 40, further comprising means for receiving information from other blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 47 may be example 40, further comprising means for receiving one or more images of the block structure; and means for analyzing the one or more images to extract and provide information related to member blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 48 may be example 41, further comprising means for transmitting to the one or more robots, the state of the block structure or one or more operation commands, in accordance with the one or more block structure-robot cooperation rules for the one or more robots.
- Example 49 may be example 48, further comprising means for receiving, feedback from the one or more robots, and transmitting to the one or more robots, one or more additional operation commands, based further on the feedback.
- Example 50 may be any one of examples 40-49, wherein the block apparatus may be a first block apparatus, and wherein means for cooperating may comprise means for cooperating with the one or more robots to affect operations of the one or more robots relative to the first block apparatus and at least a second block apparatus.
- Example 51 may be a robot, comprising: a plurality of actuators operate a plurality of features of the robot; a communication interface to receive from a block structure one or more operation commands in association with performance of one or more operations relative to the block structure; and a control module coupled with the plurality of actuators and the communication interface to control the actuators to operate the features to perform the one or more operations relative to the block structure.
- Example 52 may be example 51, wherein the communication interface may receive state information of the block structure instead of the one or more commands, and the control module may determine the one or more commands, based at least in part of the state information.
- Example 53 may be example 51 further comprising a plurality of sensors; and the control module may control the actuators based further on sensor data output by the plurality of sensors.
- Example 54 may be example 51 further comprising a plurality of sensors including a camera; and the control module may provide images captured by the camera to the block structure.
- Example 55 may be any one of examples 51-54 wherein the control module may further provide, via the communication interface, feedback to the block structure, and receive, via the communication interface, additional operation commands from the block structure provided in view of the feedback.
- Example 56 may be a method, comprising: receiving, by a robot, from a block structure, one or more operation commands in association with performing one or more operations relative to the block structure; and controlling, by the robot, a plurality of actuators of the robot to operate a number of features of the robot to perform the one or more operations relative to the block structure.
- Example 57 may be example 56, wherein receiving may comprise receiving state information of the block structure instead of the one or more commands, and the method may further comprise determining the one or more commands, based at least in part of the state information.
- Example 58 may be example 56 further comprising sensing with a plurality of sensors of the robot; and controlling comprises controlling the actuators based further on sensor data output by the plurality of sensors.
- Example 59 may be example 56 further comprising capturing one or more images and providing the one or more images to the block structure.
- Example 60 may be any one of examples 56-59, further comprising providing feedback to the block structure, and receiving additional operation commands from the block structure provided in view of the feedback.
- Example 61 may be one or more computer-readable media comprising instructions that cause a robot, in response to execution of the instructions by a processor of the robot, to: receive, from a block structure, one or more operation commands in association with performance of one or more operations relative to the block structure; and control a plurality of actuators of the robot to operate a number of features of the robot to perform the one or more operations relative to the block structure.
- Example 62 may be example 61, wherein the robot may be further caused to receive state information of the block structure instead of the one or more commands, and determine the one or more commands, based at least in part of the state information.
- Example 63 may be example 61, wherein the robot may be further caused to sense with a plurality of sensors; and control the actuators based further on sensor data output by the plurality of sensors.
- Example 64 may be example 61, wherein the robot may be further caused to capture one or more images; and provide the one or more images to the block structure.
- Example 65 may be example 61-64 wherein the robot may be further caused to provide feedback to the block structure, and receive additional operation commands from the block structure provided in view of the feedback.
- Example 66 may be a robot apparatus, comprising: means for receiving, by a robot, from a block structure, one or more operation commands in association with performance of one or more operations relative to the block structure; and means for controlling a plurality of actuators of the robot apparatus to operate a number of features of the robot to perform the one or more operations relative to the block structure.
- Example 67 may be example 66, wherein means for receiving may comprise means for receiving state information of the block structure instead of the one or more commands, and the robot apparatus may further comprise means for determining the one or more commands, based at least in part of the state information.
- Example 68 may be example 66 further comprising means for sensing; and means for controlling comprises means for controlling the actuators based further on sensor data output by the means for sensing.
- Example 69 may be example 66 further comprising means for capturing one or more images and providing the one or more images to the block structure.
- Example 62 may be any one of examples 66-69, further comprising means for providing feedback to the block structure, and the means for receiving is further for receiving additional operation commands from the block structure provided in view of the feedback.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Apparatuses and methods associated with block structure and robot cooperation are disclosed herein. In embodiments, a block apparatus may include a block structure-robot coordination module to cooperate with one or more robots to affect operations of the one or more robots relative to at least a block structure which the block apparatus is a member. The block apparatus may further include a housing that houses the block structure-robot coordination module, with features to mate the block apparatus with one or more other blocks to cause the block apparatus to become a member of the block structure. In embodiments, a robot may include control module to control a number of actuators to operate one or more features to perform one or more operations relative to the block structure. Other embodiments may be described and/or claimed.
Description
- The present disclosure relates to the fields of electronics, robotics, and toys. More particularly, the present disclosure relates to block structure and robot cooperation methods and apparatuses.
- The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
- Smart blocks are known in the art. Today, many smart blocks will respond to assembly events by making sounds and activating lights. Typically, these blocks have connection points that allow them to detect how they are assembled.
- Robots, such as drones, are also known in the art. Lego® Mindstorm® kits allow formation of complex robots and include relatively simple programming interfaces for ordinary users (mainly children) to program the assembled robots to perform basic functions. Depending on what blocks are used to form the robot, it may be programmed to behave in different ways.
- However, there are no known interactions between block structures formed with the smart blocks, and programmable robots.
- Embodiments of the block structure and robot cooperation methods and apparatuses of the present disclosure will be readily understood by the following detailed description in conjunction with the accompanying drawings. To facilitate this description, like reference numerals designate like structural elements. Embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings.
-
FIG. 1 illustrates a perspective view of an example block structure and an example robot incorporated with the block structure and robot cooperation technology of the present disclosure, according to various embodiments. -
FIG. 2 illustrates an example main process of a base block, according to various embodiments. -
FIG. 3 illustrates an example object recognition process, according to various embodiments -
FIG. 4 illustrates an example data structure suitable for use to represent a block structure, according to various embodiments. -
FIG. 5 illustrates an example block structure-robot cooperation process, according to various embodiments. -
FIG. 6 illustrates an example block structure-robot cooperation rule database, according to various embodiments. -
FIG. 7 illustrates an example process for operating a robot, according to various embodiments. -
FIG. 8 illustrates an example computing device suitable for use to practice aspects of the present disclosure, according to various embodiments. -
FIG. 9 illustrates an example storage medium having instructions to cause an apparatus to practice aspects of the present disclosure, according to various embodiments. - Apparatuses and methods associated with block structure and robot cooperation are disclosed herein. In embodiments, a block apparatus may include a block structure-robot coordination module to cooperate with one or more robots to affect operations of the one or more robots relative to at least a block structure which the block apparatus is a member. The block apparatus may further include a housing that houses the block structure-robot coordination module, with features to mate the block apparatus with one or more other blocks to cause the block apparatus to become a member of the block structure.
- In embodiments, a robot may include a plurality of actuators to operate a number of features of the robot; and a communication interface to receive from a block structure one or more operation commands in association with performance of one or more operations relative to the block structure. The robot may also include a control module coupled with the plurality of actuators and the communication interface to control the actuators to perform the one or more operations relative to the block structure.
- In the following detailed description, reference is made to the accompanying drawings which form a part hereof wherein like numerals designate like parts throughout, and in which is shown by way of illustration embodiments that may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of embodiments is defined by the appended claims and their equivalents.
- Aspects of the disclosure are disclosed in the accompanying description. Alternate embodiments of the present disclosure and their equivalents may be devised without parting from the spirit or scope of the present disclosure. It should be noted that like elements disclosed below are indicated by like reference numbers in the drawings.
- Various operations may be described as multiple discrete actions or operations in turn, in a manner that is most helpful in understanding the claimed subject matter. However, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation. Operations described may be performed in a different order than the described embodiment. Various additional operations may be performed and/or described operations may be omitted in additional embodiments.
- For the purposes of the present disclosure, the phrase “A and/or B” means (A), (B), or (A and B). For the purposes of the present disclosure, the phrase “A, B, and/or C” means (A), (B), (C), (A and B), (A and C), (B and C), or (A, B and C).
- The description may use the phrases “in an embodiment,” or “in embodiments,” which may each refer to one or more of the same or different embodiments. Furthermore, the terms “comprising,” “including,” “having,” and the like, as used with respect to embodiments of the present disclosure, are synonymous.
- As used herein, the term “module” may refer to, be part of, or include an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and/or memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
- Referring now
FIG. 1 , wherein a block diagram illustrating a perspective view of an example block structure and an example robot incorporated with the technology of the present disclosure, according to various embodiments, is shown. Depicted inFIG. 1 are:example block structure 102, a model the Tower Bridge of London, andexample robot 104, a drone (or unmanned aerial vehicle). As will be described in more detail below,block structure 102 androbot 104 may be incorporated with teachings of the present disclosure to cooperate with one another. In particular,block structure 102 androbot 104 may be incorporated with the teachings of the present disclosure forrobot 104 to perform one or more operations relative toblock structure 102, e.g. flying 104 underneath the top span and in between the two towers. -
Block structure 102 may be assembled with a number ofsmart blocks 108 and abase block 112. For example,smart blocks 108 may include the top portion of one of the towers, a top, mid or bottom section of the tower, a suspension cable, the top span, the main span and so forth. For the illustrated example embodiment,base block 112 may be the base of one of the towers. In alternate embodiments,base block 112 may be any block ofblock structure 102. Each ofsmart blocks 108 may include a body having features that allow the smart block to be mated with one or more of other smart blocks to formblock structure 102. Further, in embodiments, each ofsmart blocks 108 may include a communication interface (not shown) to communicate tobase block 112, directly or via another smart block, of its inclusion inblock structure 102. Additionally, the communication interface of eachsmart block 108 may also facilitate communication of the configuration, shape and/or size of the smart block. - Similarly,
base block 112 may include body 130 having features that allowbase block 112 to be mated with one or more of other smart blocks to become a member ofblock structure 102. Further,base block 112 may include a communication interface 128 to receive communications fromsmart blocks 108. In embodiments, the communication interface of a smart block and communication interface 128 may be configured to support basic wired serial communication or wireless communication, such as near field communication (NFC), withsmart blocks 108. - In embodiments, communication interface 128 may further support wireless communication with
robot 104, another base block of another block structure (not shown) (e.g., a model of the Tower of London), or a cloud computing server (not shown). Thus, communication interface 128 may be further configured to support Bluetooth®, WiFi, 3G/4G/LTE and/or other wireless communication protocols/methodologies. - Additionally,
base block 112 may include block structure (BS)-Robot cooperation module 122 configured to cooperate withrobot 104 to affect operation ofrobot 104 relative toblock structure 102, of whichbase block 112 is a member. As will be described in more detail below, BS-Robot cooperation module 122 may be configured to cooperate withrobot 104 to affect operation ofrobot 104 relative to blockstructure 102, based at least in part on the state ofblock structure 102, e.g., whether theentire block structure 102 has been assembled, or whether theblock structure 102 has been substantially assembled to include the top span. In embodiments, the state ofblock structure 102 may include identifications of member blocks 108, and the mating manner and/or mating order of member blocks 108. - In embodiments,
base block 112 may include BS-Robot database 124 having a number of cooperation rules. BS-Robot cooperation module 122 may be configured to cooperate withrobot 104 to affect operation ofrobot 104 relative to blockstructure 102, in accordance with one or more cooperation rules retrieved from BS-Robot database 124. In alternate embodiments, BS-Robot database 124 may be disposed in a proximately located portable computing device (not shown) (such as a smartphone or a computing tablet), with BS-Robot cooperation module 122 accessing the remote BS-Robot database 124 via communication interface 128 having the requisite communication support. In still other embodiments, BS-Robot database 124 may be disposed in a remote cloud computing server, with BS-Robot cooperation module 122 accessing the remote BS-Robot database 124 via communication interface 128 having the requisite communication support, with or without going through a proximately located portable computing device (not shown). - In embodiments, in lieu of
smart blocks 108 having communication interfaces to communicate their inclusion intoblock structure 102, or in addition tosmart blocks 108 having such communication interfaces,base block 122 may further include object recognition module 126 configured to receive one or more images, via communication interface 128, and analyze the one or more images to determine the state ofblock structure 102, and/or the state ofblock structure 102 in conjunction to related neighboring block structures (such as, a model of the Tower of London). In embodiments, the one or more images may be provided by an independent 2D or 3D camera (not shown), or a 2D or 3D camera incorporated withrobot 104. - In embodiments, BS-
Robot cooperation module 122 may be implemented in hardware, software or combination of both. Example hardware implementations may include application specific integrated circuits (ASIC) or programmable logic, such as, field programmable gate arrays (FPGA) programmed with the operating logic of BS-Robot cooperation module 122 described herein. Example software implementations may include implementations in assembler or high level languages that can be compiled into the machine instructions supported by various target processors. For software implementations,base block 112 may further include the target processors and associated memory. - Still referring to
FIG. 1 ,robot 104, in embodiments, may include communication interface 138 configured to communicate withbase block 112. Further,robot 104 may further include sensors 132,actuators 134 andcontrol module 136.Actuators 134 may be configured to operate a number of features ofrobot 104 to perform a number of operations. For example, for theexample drone robot 104, the features may include a number of rotors, andactuators 134 may be configured to control the rotation speed of the rotor blades, the tilt/angle of the rotors, and so forth.Control module 136 may be configured to controlactuators 134 to operate the various features, to causerobot 104 to perform the operations relative to blockstructure 102. Sensors 132 may be configured to provide various sensor data, andcontrol module 136 may be further configured to controlactuators 134, in view of the sensor data. In embodiments, sensors 132 may include one or more cameras, accelerometers, gyroscopes, altimeters, and so forth. - These and other aspects of block structure and robot cooperation technology of the present disclosure will be further described below with references to
FIGS. 2-7 . Before further describing the technology, it should be noted that the block structure and robot cooperation technology is not limited to the example block structure and robot ofFIG. 1 . It will be readily apparent from the description that the block structure and robot cooperation technology may be practiced with a wide range of block structures and robots. For examples,block structure 102 may be a landing pad, a castle, a space station, an aircraft career, and so forth; whereasrobot 104 may be a spaceship, a fighter plane, a transformer, a tank, an amphibious ship, an automobile, and so forth. As a further and non-limiting example,block structure 102 may be a product in the process of being assembled in an automated or semi-automated assembly line, androbot 104 may be one of the assembly robots of the assembly line. In this further non-limiting example,structure 102 may affect the actions taken byrobot 104 relative to structure 102, in view of the state ofstructure 102, which may include the member components included and/or the manner/order the member components are included. - Referring now
FIG. 2 , wherein an example main process of a base block, according to various embodiments, is illustrated. As shown,process 200 for cooperating with a robot, by a base block, may include operations to be performed at operation blocks 202-210.Process 200 may be performed e.g., by BS-Robot cooperation module 122 ofFIG. 1 . In alternate embodiments,process 200 may include more or less operations, or with the operations performed in different order. -
Process 200 may start atoperation block 202. Atoperation block 202, information may be received from the communication interface of the base block or from the object recognition module of the base block. As described earlier, information received from the communication interface of the base block and/or from the object recognition module of the base block may include information about other smart blocks being or having been included or assembled as part of the block structure, which the base structure is a member. In response to receipt of such information about other smart blocks being included/assembled as part of the block structure,process 200 may proceed tooperation block 204. Atoperation block 204, the state of the block structure may be updated. - An example process suitable for use to recognize objects in an image to enable an object recognition module to provide information about other smart blocks having been included or assembled as part of the block structure will be later described with references to
FIG. 3 . An example data structure suitable for use to represent a block structure, and optionally, the neighboring block structures will be later described with references toFIG. 4 . - Continuing to refer to
FIG. 2 , as shown, information received from the communication interface of the base block may also include information about other neighboring or proximally disposed block structures. An example of a neighboring block structure to the example model Tower Bridge block structure ofFIG. 1 may be a block model of the Tower of London, and/or a block model of the City Hall of London. In response to receipt of such information about other neighboring or proximally disposed block structures,process 200 may proceed tooperation block 206. Atoperation block 206, the state of the neighboring or proximally disposed block structures may be updated. - Still referring to
FIG. 2 , information received from the communication interface of the base block may also include information from the robots. In response to receipt of such information about other robots,process 200 may proceed tooperation block 208. Atoperation block 208, the process for cooperating with a robot may be performed. Anexample process 500 for cooperating with a robot will be later described with references toFIG. 5 . - On performance of the operations at operation block 204-208,
process 200 may proceed tooperation block 210. Atoperation block 210,process 200 may return to operation block 202, and await further inputs from other smart blocks, the object recognition module, other block structures or the robots, and proceed therefrom as earlier described. - Referring now to
FIG. 3 , wherein an example object recognition process suitable for use to recognize and identify objects in an image, according to various embodiments, is illustrated. In alternate embodiments, other object recognition process may be used instead. As shown,process 300 for recognizing and identifying objects in an image may include operations at operation blocks 302-304.Process 300 may be performed e.g., by object recognition module 126 ofFIG. 1 . In alternate embodiments,process 300 may include more or less operations, or with the operations performed in different order. -
Process 300 may start atoperation block 302. Atoperation block 302, a received image may be partitioned into a number of regions. Next atoperation block 304, each region may be analyzed to recognize and identify objects within the region.Operation block 304 may be repeated as many times as necessary to have each region analyzed, and the objects therein identified. Further, in the performance of each iteration ofoperation block 304 for a region,process 300 itself may be recursively performed to have the region further sub-divided, and the sub-regions iteratively analyzed to recognize and identify objects within the sub-regions.Process 300 may be recursively performed for any number of times, depending on computing resource available and/or accuracy desired. On completion of analysis of all the regions/sub-regions,process 300 may end. - In embodiments,
smart blocks 108 may be provided with visual markers to facilitate their recognition. The visual markers may be or may not be humanly visible and/or comprehensible. As part of the object recognition process, the configuration, shape and/or dimensions of the smart blocks (including dimensions between one or more smart blocks, such as tunnels and/or the space between inter-spans formed by the smart blocks) may be identified. - Referring now to
FIG. 4 , wherein an example data structure suitable for use to represent a block structure, according to various embodiments is shown. In alternate embodiments, other data structure may be employed to represent a block structure. As shown,example data structure 400 may be a tree structure having a number of nodes connected by branches. In particular,example data structure 400 may include aroot node 402 to represent the base block. One or moreother nodes 404 representing other smart blocks directly connected the base block may be linked toroot node 402. Similarly,other nodes 406 representing still other smart blocks directly connected to the smart blocks represented bynodes 404 may be respectively linked tonodes 404, and so forth. In embodiments, information about the smart nodes, such as configuration, shape, size and so forth, may be stored at the respective nodes 402-406. Thus, by traversingexample data structure 400, BS-Robot cooperation module 122 may determine a current state of the represented block structure. - Additionally, if the base block is provided with information about related or proximately disposed adjacent block structures,
nodes 408 representing the base blocks of these other blocks structures may be linked toroot node 402. According, for these embodiments, likewise, by traversingexample data structure 400, BS-Robot cooperation module 122 may further determine the current states of the represented neighboring block structures. - Referring now to
FIG. 5 , wherein an example block structure-robot cooperation process, according to various embodiments, is illustrated. As shown,process 500 for cooperating with a robot, by a block structure, may include operations at operation blocks 502-516.Process 500 may be performed e.g., by BS-Robot cooperation module 122 ofFIG. 1 . In alternate embodiments,process 500 may include more or less operations, or with the operations performed in different order. -
Process 500 may start atoperation block 502. Atoperation block 502, pairing information may be received from a robot. Next atoperation block 504, a process may be undertaken to pair the robot with the block structure. The pairing may be performed using any one of a number of pairing processes known in the art. - Then at
operation block 506, cooperation rules for the paired robot may be retrieved from thecooperation rule database 124.FIG. 6 illustrates an example block structure-robotcooperation rule database 124′, according to various embodiments. As shown, example block structure-robotcooperation rule database 124′ may include table 600 having a number ofrows 602. Eachrow 602 may include thecooperation rule 606 for arobot 604. For example, for Robot R1, the cooperation rule: -
{IF Structure A is complete, Structure B is complete and linked, and Structure C is complete and linked, cause Robot to do X; Else cause Robot to do Y; Else cause Robot to do Z.} - Assuming Robot R1 is the
example drone 104 ofFIG. 1 , Structure A is a model of theTower Bridge 102 ofFIG. 1 , Structure B is a model of the Tower of London (not shown), and Structure C is a model of London City Hall (not shown), and all 3 model structures are completed and linked, “do X” may include having the drone fly over and circle each of the three structures for x times following a particular pattern. On the other hand, if only the models of the Tower Bridge and Tower of London are completed and linked, “do Y” may include having the drone fly over and circle each of the two structures for y times following a different pattern. Still further, if only the model of the Tower Bridge is completed, “do Z” may include just having the drone fly through the Tower Bridge, underneath the top span, in between the towers, for z times. - Referring back to
FIG. 5 , next, atoperation block 508, the state of the block structure (and the neighboring block structure, if any) may be determined. As described earlier, the state(s) may be determined by e.g., traversing a data structure, such asdata structure 400 ofFIG. 4 , representing the block structures. - Then, at
operation block 510, a determination may be made with respect to whether any operation condition of the operation rule is met. If not,process 500 may proceed to operation block 512, where it may pause for an amount of time, and return to operation block 508 again to determine the block structure state(s) again, and proceed therefrom as earlier described. - Eventually, if is determined at
operation block 510 that one of the operation condition of the cooperation rule is met,process 500 may proceed tooperation block 514. Atoperation block 514, operation commands may be sent to the robot to cause the robot to perform the operations relative to the block structure(s). In alternate embodiments, where the robot is endowed with the logic to infer the operations to be performed relative to certain state(s) of the block structure(s), the state information of the block structure(s) (in lieu of the specific operation commands) may be sent to the robot instead. On transmission of the specific operation commands or the state information of the block structure(s),process 500 may end. - However, in alternate embodiments, e.g., embodiments where only an initial set of commands may be sent to the robot,
process 500 may proceed to operation block 516 instead. At operation block 516, feedback may be received from robot with respect to its state and/or operating conditions. On receipt of the feedback,process 500 may return to operation block 514, where additional operation commands may be sent to robot to cause robot to perform additional operations or modify its operations to be performed relative to the block structure(s). For these embodiments, the operations atoperation block 514 and 516 may be repeated any number of times beforeprocess 500 ends. - Referring now to
FIG. 7 , wherein an example process for operating a robot, according to various embodiments, is illustrated. As shown,process 700 for operating a robot, may include operations at operation blocks 702-712.Process 700 may be performed e.g., bycontrol module 136 ofFIG. 1 . In alternate embodiments,process 700 may include more or less operations, or with the operations performed in different order. -
Process 700 may start at operation blocks 702 or 706. Atoperation block 702, state information about block structure(S) may be received. Next atoperation block 704, the operations to be performed relative to the block structure(s), in view of the state(s), may be determined. Atoperation block 706, the operation commands themselves may be received. - From either operation block 704 or 706,
process 700 may proceed tooperation block 708. Atoperation block 708, the actuators may be controlled with respect to their operation of the features of the robot, in accordance with the received/determined operation commands. - Next, at
operation block 710, sensor data may be received and analyzed. Fromoperation block 710,process 700 may return to operations block 708, and adjust controlling of the actuators, in view of the sensor data received. The operations at operation blocks 708 and 710 may be repeated a number of times, as long as robot is in operation. Eventually, fromoperation block 710,process 700 may end. - In alternate embodiments, from
block 710,process 700 may proceed tooperation block 712. Atoperation block 712, feedback, such as, sensor data received from the sensors, may be provided to the cooperating block structure. On provision of the feedback,process 700 may proceed to operation block 706 to receive new/modified operation commands from the block structure, and proceed therefrom as earlier described. - The various example block structure, robot, their cooperation used in the above description are meant to be illustrative and not limiting. Those skilled in the art will appreciate from the foregoing description that the block structure-robot cooperation technology of the present disclosure may be practiced with a wide range of block structures and robots, performing a wide range of cooperation. For example, multiple block structures (such as landing pads) incorporated with the teachings of the present disclosure may be built to compete to attract robots (such as, drones) incorporated with the complementary teachings of the present disclosure to visit (land on) the block structures. As described earlier, robotics in an assembly line may be caused to behave differently based on components included in a product being assembled, including the manner/order the components were included.
-
FIG. 8 illustrates an example computing device incorporated with the block structure and robot cooperation technology of the present disclosure. As shown,computing device 800 may include one or more processors orprocessor cores 802, andsystem memory 804. For the purpose of this application, including the claims, the term “processor” refers to physical processors, and the terms “processor” and “processor cores” may be considered synonymous, unless the context clearly requires otherwise. Additionally, disposed thereon may be input/output device interfaces 808 (for interfacing with I/O devices such as display, keyboard, cursor control and so forth) andcommunication interfaces 810 for communication devices (such as network interface cards, modems and so forth). The elements may be coupled to each other viasystem bus 812, which may represent one or more buses. In the case of multiple buses, they may be bridged by one or more bus bridges (not shown). Additionally, when used as proximally located portable computing device or a cloud computing server to host the cooperation rule database,computer 800 may include mass storage devices 806 (such as diskette, hard drive, compact disc read only memory (CD-ROM) and so forth). - Each of these elements may perform its conventional functions known in the art.
System memory 804 andmass storage devices 806 may be employed to store a working copy and a permanent copy of the programming instructions implementing an operating system and various applications, in particular, the operating logic forbase block 112 and/orrobot 104, collectively referred to ascomputational logic 822.Computational logic 822 may be implemented by assembler instructions supported by processor(s) 802 or high-level languages, such as, for example, C, that can be compiled into such instructions. - The number, capability and/or capacity of these elements 810-812 may vary, depending on whether
computing device 800 is used within abase block 112, with arobot 104, or a proximally located/remotely disposed device to host the cooperation rule database. Otherwise, the constitutions of elements 810-812 are known, and accordingly will not be further described. -
FIG. 11 illustrates an example computer-readable non-transitory storage medium that may be suitable for use to store instructions that cause an apparatus, in response to execution of the instructions by the apparatus, to practice selected aspects of the present disclosure. As shown, non-transitory computer-readable storage medium 902 may include a number ofprogramming instructions 904. Programminginstructions 904 may be configured to enable a computing device, e.g.,computing device 800, in response to execution of the programming instructions, to perform, e.g., various operations associated withbase block 112 and/orrobot 104, described with references toFIGS. 1-7 . In alternate embodiments, programminginstructions 904 may be disposed on multiple computer-readablenon-transitory storage media 902 instead. In alternate embodiments, programminginstructions 904 may be disposed on computer-readabletransitory storage media 902, such as, signals. - Referring back to
FIG. 8 , for one embodiment, at least one ofprocessors 802 may be packaged together with memory having computational logic 822 (in lieu of storing onmemory 804 and storage 806). For one embodiment, at least one ofprocessors 802 may be packaged together with memory havingcomputational logic 822 to form a System in Package (SiP). For one embodiment, at least one ofprocessors 802 may be integrated on the same die with memory havingcomputational logic 822. For one embodiment, at least one ofprocessors 802 may be packaged together with memory havingcomputational logic 822 to form a System on Chip (SoC). - Thus various example embodiments of the present disclosure have been described including, but are not limited to:
- Example 1 may be a block apparatus, comprising: one or more processors and memory; a block structure-robot coordination module disposed in the memory and to be operated by the one or more processors to cooperate with one or more robots to affect operations of the one or more robots relative to at least a block structure which the block apparatus is a member; and a housing that houses the one or more processors, the memory, and the block structure-robot coordination module, with features to mate the block apparatus with one or more other blocks to cause the block apparatus to become a member of the block structure.
- Example 2 may be example 1, wherein to cooperate with one or more robots to affect operations of the one or more robots relative to the block structure, the block structure-robot coordination module may access a block structure-robot cooperation rules database for one or more block structure-robot cooperation rules for the one or more robots, based at least in part on a state of the block structure.
- Example 3 may be example 2, further comprising the block structure-robot cooperation rules database having a plurality of block structure-robot cooperation rules for a plurality of robots, based at least in part on the state of the block structure.
- Example 4 may be example 3, further comprising a communicative interface to facilitate update of the plurality of block structure-robot cooperation rules for the plurality of robots.
- Example 5 may be example 3, wherein the block structure-robot cooperation rules database may be remotely disposed; and wherein the block apparatus may further comprise a communication interface to facilitate the block structure-robot coordination module in accessing the remotely disposed block structure-robot cooperation rules database for the one or more block structure-robot cooperation rules for the one or more robots.
- Example 6 may be example 5, wherein the block structure-robot cooperation rules database may be remotely disposed on a proximally located portable computing device.
- Example 7 may be example 5, wherein the block structure-robot cooperation rules database may be remotely disposed on a cloud computing server.
- Example 8 may be example 7, wherein the communication interface may facilitate the block structure-robot coordination module in accessing the remotely disposed block structure-robot cooperation rules database via a proximally located portable computing device.
- Example 9 may be example 2, wherein the state of the block structure may include identifications of the block members of the block structure, and mating manner or order of the block members.
- Example 10 may be example 2, wherein the block structure-robot coordination module may further determine the state of the block structure.
- Example 11 may be example 10, wherein the block structure-robot coordination module may further traverse a data structure with information about member blocks of the block structure to determine the state of the block structure.
- Example 12 may be example 11, further comprising a communication interface to facilitate the block structure-robot coordination module to receive information from other blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 13 may be example 11, further comprising a communication interface to facilitate the block structure-robot coordination module to receive one or more images of the block structure; and an image recognition module to analyze the one or more images to extract and provide information related to member blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 14 may be example 2, further comprising a communication interface; and the block structure-robot coordination module may further transmit to the one or more robots, via the communication interface, the state of the block structure or one or more operation commands, in accordance with the one or more block structure-robot cooperation rules for the one or more robots.
- Example 15 may be example 14, wherein the block structure-robot coordination module may further receive feedback from the one or more robots, via the communication interface, and transmit to the one or more robots, via the communication interface, one or more additional operation commands, based further on the feedback.
- Example 16 may be example 1, wherein the block apparatus is a base block of the block structure.
- Example 17 may be any one of examples 1-16, wherein the block structure may be a first block structure, and wherein the block structure-robot coordination module may cooperate with the one or more robots to affect operations of the one or more robots relative to the first block structure and at least a second block structure.
- Example 18 may be a method, comprising: pairing, by a block apparatus, with a robot; and cooperating, by the block apparatus, with the robot to affect operations of the robot relative to at least a block structure which the block apparatus is a member.
- Example 19 may be example 18, wherein cooperating may comprise accessing a locally, proximally or remotely disposed block structure-robot cooperation rules database for one or more block structure-robot cooperation rules for the one or more robots, based at least in part on a state of the block structure.
- Example 20 may be example 19, wherein block structure-robot cooperation rules database is locally disposed, and the method may further comprise updating, by the block apparatus, the plurality of block structure-robot cooperation rules for the plurality of robots in the locally disposed block structure-robot cooperation rules database.
- Example 21 may be example 18, wherein the state of the block structure may include identifications of the block members of the block structure, and mating manner or order of the block members.
- Example 22 may be example 18, further comprising determining, by the block apparatus, the state of the block structure.
- Example 23 may be example 22, wherein determining may comprise traversing a data structure with information about member blocks of the block structure.
- Example 24 may be example 18, further comprising receiving, by the block apparatus, information from other blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 25 may be example 18, further comprising receiving, by the block apparatus, one or more images of the block structure; and an image recognition module to analyze the one or more images to extract and provide information related to member blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 26 may be example 19, further comprising transmitting, by the block apparatus, to the one or more robots, the state of the block structure or one or more operation commands, in accordance with the one or more block structure-robot cooperation rules for the one or more robots.
- Example 27 may be example 26, further comprising receiving, by the block apparatus, feedback from the one or more robots, and transmitting to the one or more robots, one or more additional operation commands, based further on the feedback.
- Example 28 may be example 18-27, wherein the block apparatus is a first block apparatus, and wherein cooperating comprises cooperating with the one or more robots to affect operations of the one or more robots relative to the first block apparatus and at least a second block apparatus.
- Example 29 may be one or more computer-readable media comprising instructions that cause a block apparatus, in response to execution of the instructions by a processor of the block apparatus, to: pair a robot with the block apparatus; and cooperate with the robot to affect operations of the robot relative to at least a block structure which the block apparatus is a member.
- Example 30 may be example 29, wherein to cooperate with one or more robots to affect operations of the one or more robots relative to the block structure, may comprise to access a locally, proximally or remotely disposed block structure-robot cooperation rules database for one or more block structure-robot cooperation rules for the one or more robots, based at least in part on a state of the block structure.
- Example 31 may be example 30, wherein the block structure-robot cooperation rules database is locally disposed, and the block apparatus may be further caused to update of the plurality of block structure-robot cooperation rules for the plurality of robots.
- Example 32 may be example 30, wherein the state of the block structure may include identifications of the block members of the block structure, and mating manner or order of the block members.
- Example 33 may be example 30, wherein the block apparatus may be further caused to determine the state of the block structure.
- Example 34 may be example 33, wherein the block apparatus may be further caused to traverse a data structure with information about member blocks of the block structure to determine the state of the block structure.
- Example 35 may be example 34, wherein the block apparatus may be further caused to receive information from other blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 36 may be example 34, wherein the block apparatus may be further caused to receive one or more images of the block structure; and to extract and provide information related to member blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 37 may be example 30, wherein the block apparatus may be further caused to transmit to the one or more robots, the state of the block structure or one or more operation commands, in accordance with the one or more block structure-robot cooperation rules for the one or more robots.
- Example 38 may be example 37, wherein the block apparatus may be further caused to receive feedback from the one or more robots, and transmit to the one or more robots, via the communication interface, one or more additional operation commands, based further on the feedback.
- Example 39 may be example 29-38, wherein the block apparatus may be a first block apparatus, and wherein the block apparatus may cooperate with the one or more robots to affect operations of the one or more robots relative to the first block apparatus and at least a second block apparatus.
- Example 40 may be a block apparatus, comprising: means for pairing with a robot; and means for cooperating with the robot to affect operations of the robot relative to at least a block structure which the block apparatus is a member.
- Example 41 may be example 40, wherein means for cooperating may comprise means for accessing a locally, proximally or remotely disposed block structure-robot cooperation rules database for one or more block structure-robot cooperation rules for the one or more robots, based at least in part on a state of the block structure.
- Example 42 may be example 41, wherein block structure-robot cooperation rules database is locally disposed, and the block apparatus may further comprise means for updating the plurality of block structure-robot cooperation rules for the plurality of robots in the locally disposed block structure-robot cooperation rules database.
- Example 43 may be example 40, wherein the state of the block structure may include identifications of the block members of the block structure, and mating manner or order of the block members.
- Example 44 may be example 40, further comprising means for determining the state of the block structure.
- Example 45 may be example 44, wherein means for determining may comprise means for traversing a data structure with information about member blocks of the block structure.
- Example 46 may be example 40, further comprising means for receiving information from other blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 47 may be example 40, further comprising means for receiving one or more images of the block structure; and means for analyzing the one or more images to extract and provide information related to member blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
- Example 48 may be example 41, further comprising means for transmitting to the one or more robots, the state of the block structure or one or more operation commands, in accordance with the one or more block structure-robot cooperation rules for the one or more robots.
- Example 49 may be example 48, further comprising means for receiving, feedback from the one or more robots, and transmitting to the one or more robots, one or more additional operation commands, based further on the feedback.
- Example 50 may be any one of examples 40-49, wherein the block apparatus may be a first block apparatus, and wherein means for cooperating may comprise means for cooperating with the one or more robots to affect operations of the one or more robots relative to the first block apparatus and at least a second block apparatus.
- Example 51 may be a robot, comprising: a plurality of actuators operate a plurality of features of the robot; a communication interface to receive from a block structure one or more operation commands in association with performance of one or more operations relative to the block structure; and a control module coupled with the plurality of actuators and the communication interface to control the actuators to operate the features to perform the one or more operations relative to the block structure.
- Example 52 may be example 51, wherein the communication interface may receive state information of the block structure instead of the one or more commands, and the control module may determine the one or more commands, based at least in part of the state information.
- Example 53 may be example 51 further comprising a plurality of sensors; and the control module may control the actuators based further on sensor data output by the plurality of sensors.
- Example 54 may be example 51 further comprising a plurality of sensors including a camera; and the control module may provide images captured by the camera to the block structure.
- Example 55 may be any one of examples 51-54 wherein the control module may further provide, via the communication interface, feedback to the block structure, and receive, via the communication interface, additional operation commands from the block structure provided in view of the feedback.
- Example 56 may be a method, comprising: receiving, by a robot, from a block structure, one or more operation commands in association with performing one or more operations relative to the block structure; and controlling, by the robot, a plurality of actuators of the robot to operate a number of features of the robot to perform the one or more operations relative to the block structure.
- Example 57 may be example 56, wherein receiving may comprise receiving state information of the block structure instead of the one or more commands, and the method may further comprise determining the one or more commands, based at least in part of the state information.
- Example 58 may be example 56 further comprising sensing with a plurality of sensors of the robot; and controlling comprises controlling the actuators based further on sensor data output by the plurality of sensors.
- Example 59 may be example 56 further comprising capturing one or more images and providing the one or more images to the block structure.
- Example 60 may be any one of examples 56-59, further comprising providing feedback to the block structure, and receiving additional operation commands from the block structure provided in view of the feedback.
- Example 61 may be one or more computer-readable media comprising instructions that cause a robot, in response to execution of the instructions by a processor of the robot, to: receive, from a block structure, one or more operation commands in association with performance of one or more operations relative to the block structure; and control a plurality of actuators of the robot to operate a number of features of the robot to perform the one or more operations relative to the block structure.
- Example 62 may be example 61, wherein the robot may be further caused to receive state information of the block structure instead of the one or more commands, and determine the one or more commands, based at least in part of the state information.
- Example 63 may be example 61, wherein the robot may be further caused to sense with a plurality of sensors; and control the actuators based further on sensor data output by the plurality of sensors.
- Example 64 may be example 61, wherein the robot may be further caused to capture one or more images; and provide the one or more images to the block structure.
- Example 65 may be example 61-64 wherein the robot may be further caused to provide feedback to the block structure, and receive additional operation commands from the block structure provided in view of the feedback.
- Example 66 may be a robot apparatus, comprising: means for receiving, by a robot, from a block structure, one or more operation commands in association with performance of one or more operations relative to the block structure; and means for controlling a plurality of actuators of the robot apparatus to operate a number of features of the robot to perform the one or more operations relative to the block structure.
- Example 67 may be example 66, wherein means for receiving may comprise means for receiving state information of the block structure instead of the one or more commands, and the robot apparatus may further comprise means for determining the one or more commands, based at least in part of the state information.
- Example 68 may be example 66 further comprising means for sensing; and means for controlling comprises means for controlling the actuators based further on sensor data output by the means for sensing.
- Example 69 may be example 66 further comprising means for capturing one or more images and providing the one or more images to the block structure.
- Example 62 may be any one of examples 66-69, further comprising means for providing feedback to the block structure, and the means for receiving is further for receiving additional operation commands from the block structure provided in view of the feedback.
- It will be apparent to those skilled in the art that various modifications and variations can be made in the disclosed embodiments of the disclosed device and associated methods without departing from the spirit or scope of the disclosure. Thus, it is intended that the present disclosure covers the modifications and variations of the embodiments disclosed above provided that the modifications and variations come within the scope of any claims and their equivalents.
Claims (25)
1. A block apparatus, comprising:
one or more processors and memory;
a block structure-robot coordination module disposed in the memory and to be operated by the one or more processors to cooperate with one or more robots to affect operations of the one or more robots relative to at least a block structure which the block apparatus is a member; and
a housing that houses the one or more processors, the memory, and the block structure-robot coordination module, with features to mate the block apparatus with one or more other blocks to cause the block apparatus to become a member of the block structure.
2. The block apparatus of claim 1 , wherein to cooperate with one or more robots to affect operations of the one or more robots relative to the block structure, the block structure-robot coordination module is to access a block structure-robot cooperation rules database for one or more block structure-robot cooperation rules for the one or more robots, based at least in part on a state of the block structure.
3. The block apparatus of claim 2 , further comprising the block structure-robot cooperation rules database having a plurality of block structure-robot cooperation rules for a plurality of robots, based at least in part on the state of the block structure.
4. The block apparatus of claim 3 , further comprising a communicative interface to facilitate update of the plurality of block structure-robot cooperation rules for the plurality of robots.
5. The block apparatus of claim 3 , wherein the block structure-robot cooperation rules database is remotely disposed; and wherein the block apparatus further comprises a communication interface to facilitate the block structure-robot coordination module in accessing the remotely disposed block structure-robot cooperation rules database for the one or more block structure-robot cooperation rules for the one or more robots.
6. The block apparatus of claim 5 , wherein the block structure-robot cooperation rules database is remotely disposed on a proximally located portable computing device or on a cloud computing server.
7. The block apparatus of claim 2 , wherein the state of the block structure includes identifications of the block members of the block structure, and mating manner or order of the block members.
8. The block apparatus of claim 2 , wherein the block structure-robot coordination module is to further determine the state of the block structure.
9. The block apparatus of claim 8 , wherein the block structure-robot coordination module is to further traverse a data structure with information about member blocks of the block structure to determine the state of the block structure.
10. The block apparatus of claim 9 , further comprising a communication interface to facilitate the block structure-robot coordination module to receive information from other blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
11. The block apparatus of claim 9 , further comprising a communication interface to facilitate the block structure-robot coordination module to receive one or more images of the block structure; and an image recognition module to analyze the one or more images to extract and provide information related to member blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
12. The block apparatus of claim 2 , further comprising a communication interface; and the block structure-robot coordination module is to further transmit to the one or more robots, via the communication interface, the state of the block structure or one or more operation commands, in accordance with the one or more block structure-robot cooperation rules for the one or more robots; and wherein the block structure-robot coordination module is to further receive feedback from the one or more robots, via the communication interface, and transmit to the one or more robots, via the communication interface, one or more additional operation commands, based further on the feedback.
13. The block apparatus of claim 1 , wherein the block apparatus is a base block of the block structure.
14. The block apparatus of claim 1 , wherein the block structure is a first block structure, and wherein the block structure-robot coordination module is to cooperate with the one or more robots to affect operations of the one or more robots relative to the first block structure and at least a second block structure.
15. One or more computer-readable media comprising instructions that cause a block apparatus, in response to execution of the instructions by a processor of the block apparatus, to:
pair a robot with the block apparatus; and
cooperate with the robot to affect operations of the robot relative to at least a block structure which the block apparatus is a member.
16. The computer-readable media of claim 15 , wherein to cooperate with one or more robots to affect operations of the one or more robots relative to the block structure, comprises to access a locally, proximally or remotely disposed block structure-robot cooperation rules database for one or more block structure-robot cooperation rules for the one or more robots, based at least in part on a state of the block structure.
17. The computer-readable media of claim 16 , wherein the state of the block structure includes identifications of the block members of the block structure, and mating manner or order of the block members; and wherein the block apparatus is further caused to determine the state of the block structure.
18. The computer-readable media of claim 16 , wherein the block apparatus is further caused to receive one or more images of the block structure; and to extract and provide information related to member blocks of the block structure to maintain the data structure with information about member blocks of the block structure.
19. The computer-readable media of claim 16 , wherein the block apparatus is further caused to transmit to the one or more robots, the state of the block structure or one or more operation commands, in accordance with the one or more block structure-robot cooperation rules for the one or more robots; to receive feedback from the one or more robots, and to transmit to the one or more robots, via the communication interface, one or more additional operation commands, based further on the feedback.
20. The computer-readable media of claim 15 , wherein the block apparatus is a first block apparatus, and wherein the block apparatus is to cooperate with the one or more robots to affect operations of the one or more robots relative to the first block apparatus and at least a second block apparatus.
21. A robot, comprising:
a plurality of actuators operate a plurality of features of the robot;
a communication interface to receive from a block structure one or more operation commands in association with performance of one or more operations relative to the block structure; and
a control module coupled with the plurality of actuators and the communication interface to control the actuators to operate the features to perform the one or more operations relative to the block structure.
22. The robot of claim 21 , wherein the communication interface is to receive state information of the block structure instead of the one or more commands, and the control module is to determine the one or more commands, based at least in part of the state information.
23. The robot of claim 21 further comprising a plurality of sensors including a camera; and the control module is to control the actuators based further on sensor data output by at least some of the plurality of sensors, provide images captured by the camera to the block structure, provide via the communication interface, feedback to the block structure, and receive, via the communication interface, additional operation commands from the block structure provided in view of the feedback.
24. One or more computer-readable media comprising instructions that cause a robot, in response to execution of the instructions by a processor of the robot, to:
receive, from a block structure, one or more operation commands in association with performance of one or more operations relative to the block structure; and
control a plurality of actuators of the robot to operate a number of features of the robot perform the one or more operations relative to the block structure.
25. The one or more computer-readable media of claim 24 , wherein the robot is further caused to receive state information of the block structure instead of the one or more commands, and determine the one or more commands, based at least in part of the state information;
sense with a plurality of sensors; and control the actuators based further on sensor data output by the plurality of sensors;
capture one or more images; and provide the one or more images to the block structure; or
provide feedback to the block structure, and receive additional operation commands from the block structure provided in view of the feedback.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/749,311 US20160375372A1 (en) | 2015-06-24 | 2015-06-24 | Block structure and robot cooperation methods and apparatuses |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/749,311 US20160375372A1 (en) | 2015-06-24 | 2015-06-24 | Block structure and robot cooperation methods and apparatuses |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160375372A1 true US20160375372A1 (en) | 2016-12-29 |
Family
ID=57601418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/749,311 Abandoned US20160375372A1 (en) | 2015-06-24 | 2015-06-24 | Block structure and robot cooperation methods and apparatuses |
Country Status (1)
Country | Link |
---|---|
US (1) | US20160375372A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180211550A1 (en) * | 2017-01-23 | 2018-07-26 | International Business Machines Corporation | Learning with smart blocks |
CN108356779A (en) * | 2017-01-27 | 2018-08-03 | 波音公司 | Isolated personnel's job platform for steadily positioning cooperation robot |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5852353A (en) * | 1996-04-22 | 1998-12-22 | Uwe Kochanneck | Multiblock robot system |
US5850762A (en) * | 1995-05-16 | 1998-12-22 | Kochanneck; Uwe | Multi-block robot |
US6438453B1 (en) * | 1999-05-31 | 2002-08-20 | Uwe Kochanneck | Multiblock robot system |
-
2015
- 2015-06-24 US US14/749,311 patent/US20160375372A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5850762A (en) * | 1995-05-16 | 1998-12-22 | Kochanneck; Uwe | Multi-block robot |
US5852353A (en) * | 1996-04-22 | 1998-12-22 | Uwe Kochanneck | Multiblock robot system |
US6438453B1 (en) * | 1999-05-31 | 2002-08-20 | Uwe Kochanneck | Multiblock robot system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180211550A1 (en) * | 2017-01-23 | 2018-07-26 | International Business Machines Corporation | Learning with smart blocks |
US10847046B2 (en) * | 2017-01-23 | 2020-11-24 | International Business Machines Corporation | Learning with smart blocks |
CN108356779A (en) * | 2017-01-27 | 2018-08-03 | 波音公司 | Isolated personnel's job platform for steadily positioning cooperation robot |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guerra et al. | Flightgoggles: Photorealistic sensor simulation for perception-driven robotics using photogrammetry and virtual reality | |
Schmid et al. | Autonomous vision‐based micro air vehicle for indoor and outdoor navigation | |
CN112037260B (en) | Position estimation method and device for tracking target and unmanned aerial vehicle | |
WO2017211029A1 (en) | Method and device for planning flight path for unmanned aerial vehicle | |
US20160364004A1 (en) | Drone controlling device and method | |
JP2019514236A (en) | System and method for capturing still and / or moving scenes using multiple camera networks | |
US20180150970A1 (en) | Image processing for pose estimation | |
US20150283706A1 (en) | Enhanced system and method for planning and controlling for robotic devices | |
US20200012756A1 (en) | Vision simulation system for simulating operations of a movable platform | |
US11971709B2 (en) | Learning device, control device, learning method, and recording medium | |
KR101974447B1 (en) | Controlling mobile robot based on reinforcement learning using game environment abstraction | |
WO2018100676A1 (en) | Camera control system, camera control method, and program | |
CN109839945A (en) | Unmanned plane landing method, unmanned plane landing-gear and computer readable storage medium | |
WO2021095463A1 (en) | Self-position estimation model learning method, self-position estimation model learning device, self-position estimation model learning program, self-position estimation method, self-position estimation device, self-position estimation program, and robot | |
US20160375372A1 (en) | Block structure and robot cooperation methods and apparatuses | |
Al-Muteb et al. | An autonomous stereovision-based navigation system (ASNS) for mobile robots | |
Pokhrel | Drone obstacle avoidance and navigation using artificial intelligence | |
Szolc et al. | Hardware-in-the-loop simulation of a UAV autonomous landing algorithm implemented in SoC FPGA | |
Piponidis et al. | Towards a Fully Autonomous UAV Controller for Moving Platform Detection and Landing | |
Guerra et al. | Flightgoggles: A modular framework for photorealistic camera, exteroceptive sensor, and dynamics simulation | |
KR101936130B1 (en) | System and method for assembling blocks using robot arm | |
CN115965736A (en) | Image processing method, device, equipment and storage medium | |
CN110930506A (en) | Three-dimensional map generation method, mobile device, and computer-readable storage medium | |
EP4206977A1 (en) | Electronic device and control method of electronic device | |
Śmigielski et al. | Visual simulator for MavLink-protocol-based UAV, applied for search and analyze task |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ANDERSON, GLEN J.;YARMOSH, YEVGENIY Y;POISNER, DAVID I.;AND OTHERS;SIGNING DATES FROM 20150519 TO 20150526;REEL/FRAME:036010/0961 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |