CN108292816A - 模块化组件系统 - Google Patents

模块化组件系统 Download PDF

Info

Publication number
CN108292816A
CN108292816A CN201680046644.1A CN201680046644A CN108292816A CN 108292816 A CN108292816 A CN 108292816A CN 201680046644 A CN201680046644 A CN 201680046644A CN 108292816 A CN108292816 A CN 108292816A
Authority
CN
China
Prior art keywords
module
assembly
control module
host
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680046644.1A
Other languages
English (en)
Other versions
CN108292816B (zh
Inventor
王作冰
廖美燕
戚宏波
咎晟
周金富
王益
陈子文
周奇方
戴之光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bell hekong (Shenzhen) Technology Co., Ltd
Original Assignee
Shenzhen Baer Creative Science And Education Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=57374324&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN108292816(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Shenzhen Baer Creative Science And Education Co Ltd filed Critical Shenzhen Baer Creative Science And Education Co Ltd
Priority to CN202011228185.3A priority Critical patent/CN113144635A/zh
Priority to CN202011227361.1A priority patent/CN113144634B/zh
Priority to CN202011229522.0A priority patent/CN112516605B/zh
Priority to CN202011228195.7A priority patent/CN113144636B/zh
Publication of CN108292816A publication Critical patent/CN108292816A/zh
Application granted granted Critical
Publication of CN108292816B publication Critical patent/CN108292816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H27/00Toy aircraft; Other flying toys
    • A63H27/001Making or assembling thereof, e.g. by folding
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R24/00Two-part coupling devices, or either of their cooperating parts, characterised by their overall structure
    • H01R24/38Two-part coupling devices, or either of their cooperating parts, characterised by their overall structure having concentrically or coaxially arranged contacts
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H11/00Self-movable toy figures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H27/00Toy aircraft; Other flying toys
    • A63H27/12Helicopters ; Flying tops
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H29/00Drive mechanisms for toys in general
    • A63H29/22Electric drives
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H30/00Remote-control arrangements specially adapted for toys, e.g. for toy vehicles
    • A63H30/02Electrical arrangements
    • A63H30/04Electrical arrangements using wireless transmission
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/005Motorised rolling toys
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/04Building blocks, strips, or similar building parts
    • A63H33/042Mechanical, electrical, optical, pneumatic or hydraulic arrangements; Motors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/04Building blocks, strips, or similar building parts
    • A63H33/06Building blocks, strips, or similar building parts to be assembled without the use of additional elements
    • A63H33/062Building blocks, strips, or similar building parts to be assembled without the use of additional elements with clip or snap mechanisms
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H33/00Other toys
    • A63H33/26Magnetic or electric toys
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/08Programme-controlled manipulators characterised by modular constructions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/1617Cellular, reconfigurable manipulator, e.g. cebot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R13/00Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
    • H01R13/62Means for facilitating engagement or disengagement of coupling parts or for holding them in engagement
    • H01R13/627Snap or like fastening
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R13/00Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
    • H01R13/62Means for facilitating engagement or disengagement of coupling parts or for holding them in engagement
    • H01R13/627Snap or like fastening
    • H01R13/6271Latching means integral with the housing
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R13/00Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
    • H01R13/62Means for facilitating engagement or disengagement of coupling parts or for holding them in engagement
    • H01R13/627Snap or like fastening
    • H01R13/6271Latching means integral with the housing
    • H01R13/6273Latching means integral with the housing comprising two latching arms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H2200/00Computerized interactive toys, e.g. dolls
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R13/00Details of coupling devices of the kinds covered by groups H01R12/70 or H01R24/00 - H01R33/00
    • H01R13/02Contact members
    • H01R13/22Contacts for co-operating by abutting
    • H01R13/24Contacts for co-operating by abutting resilient; resiliently-mounted

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Stored Programmes (AREA)
  • Toys (AREA)
  • Coupling Device And Connection With Printed Circuit (AREA)

Abstract

一种系统包括多个组件模块和一个或多个连接器。各个组件模块包括至少一个连接接口,且各个连接器包括适于分别配合到两个组件模块的连接接口中的两个开口端。各个连接器配置成经由两个组件模块的相应连接接口机械地且电气地连接两个组件模块。组件模块至少包括具有通信单元和处理器的控制模块。通信单元配置成从一个或多个主机获得成组主机指令。处理器配置成至少基于成组主机指令来生成用于各个组件模块的成组操作指令。

Description

模块化组件系统
相关申请的交叉引用
本申请请求享有2016年3月31日提交的中国申请第CN201620271418.0号的优先权,该中国申请通过引用以其整体并入本文中。
技术领域
本公开大体上涉及机器人系统,并且更具体地涉及模块化组件机器人玩具。
背景技术
机器人玩具是针对儿童教育的新锐产品,因为它们可以让儿童玩耍、受教育和娱乐。不同于仅存在于显示屏上的虚拟人物,机器人玩具可由儿童的臂握住或接触,且因此提供了出于内心的体验。现今,一个焦点在于开发如何可将更尖端的机器人系统用于教育环境。例如,用语"教育机器人"是指教学实践,在此期间,学生使用机器人来借助于机器人自身或针对机器人自身构筑知识。
尽管对于此类系统存在很大潜能,但作为玩具的已知机器人系统遇到了一些问题,诸如难以组装、功能有限,以及缺少灵活性和扩展性,尤其是在用户是幼儿时。
发明内容
本公开大体上涉及机器人系统,并且更具体地涉及模块化组件机器人玩具。
在一个实例中,一种系统包括多个组件模块和一个或多个连接器。各个组件模块包括至少一个连接接口。各个连接器配置成经由两个组件模块的相应连接接口机械地且电气地连接多个组件模块中的两个。该多个组件模块至少包括控制模块和分析模块。控制模块包括配置成从一个或多个主机获得成组主机指令的控制模块通信单元,以及配置成至少基于成组主机指令来生成用于控制各个组件模块的成组操作指令的控制模块处理器。分析模块包括配置成获得传感器信号的分析模块传感器、配置成分析传感器信号来生成第一分析结果的分析模块处理器,以及配置成将传感器信号或第一分析结果传输至该一个或多个主机中的至少一个的分析模块通信单元。
在另一个实例中,组件模块包括至少一个连接接口、传感器、处理器和通信单元。各个连接接口配置成机械地且电气地连接到连接器,且经由连接器至少接收功率信号。传感器配置成获得传感器信号。处理器可操作成联接到传感器和该至少一个连接接口,且配置成分析传感器信号来生成分析结果。通信单元可操作地联接到处理器,且配置成将传感器信号或分析结果传输至主机。
在又一个实例中,系统包括多个组件模块和一个或多个连接器。组件模块中的至少一个包括至少一个连接接口。各个连接器配置成经由两个组件模块中的一个的连接接口机械地且电气地连接多个组件模块中的两个。该多个组件模块至少包括控制模块和促动模块。控制模块包括配置成从一个或多个主机获得成组主机指令的通信单元,以及配置成至少基于成组主机指令生成用于各个组件模块的成组操作指令的处理器。促动模块包括成组推进器和马达,其配置成至少基于由处理器生成的用于促动模块的成组操作指令来驱动成组推进器。
在还有另一个实例中,系统包括多个组件模块和一个或多个连接器。各个组件模块包括至少一个连接接口。各个连接器配置成经由两个组件模块的相应连接接口机械地且电气地连接多个组件模块中的两个。各个连接器包括适于分别配合到两个组件模块的连接接口中的两个开口端。该多个组件模块包括至少一个控制模块。控制模块包括配置成从一个或多个主机获得成组主机指令的通信单元,以及配置成至少基于成组主机指令生成用于各个组件模块的成组操作指令的处理器。
在不同实例中,连接结构包括两个连接接口和连接器。各个连接接口包括布置在电路板上的中心和一个或多个同心环处的多个平坦触头,以及布置在第一壳上的多个第一锁定机构。连接器包括第二壳,其包括两个开口端和布置在第二壳上的多个第二锁定机构,以及多个销。各个销分别包括各自由第二壳的两个开口端中的一个露出的两个端部。当连接器以相对于彼此的多个定向插入两个连接接口中时,连接器的多个销与各个连接接口的多个平坦触头接触,以便两个连接接口电连接,且连接器的多个第二锁定机构与各个连接接口的多个第一锁定机构联锁,以便两个连接接口机械地连接。
在另一个实例中,连接结构包括两个连接接口和连接器。各个连接接口包括布置在电路板上的多个触头,以及布置在第一壳上的多个第一锁定机构。连接包括第二壳,其包括两个开口端和布置在第二壳上的多个第二锁定机构以及多个同心环触头。各个同心环触头分别包括各自由第二壳的两个开口端中的一个露出的两个端部。当连接器以相对于彼此的多个定向插入两个连接接口中时,连接器的多个同心环触头与各个连接接口的多个触头接触,以便两个连接接口电连接,且连接器的多个第二锁定机构与各个连接接口的多个第一锁定机构联锁,以便两个连接接口机械地连接。
在不同实例中,提供了一种用于登记模块化组件系统中与彼此可操作地联接的多个组件模块中的一个的方法。包括组件模块的第一标识符的第一消息从多个组件模块中的一个接收到。包括用于组件模块的第二标识符的第二消息传输至组件模块。第二标识符至少基于第一标识符生成。包括第二标识符的第三消息从组件模块接收。响应于确定接收到第三消息,组件模块登记为模块化组件系统的新组件模块。接收、传输、确定和登记中的至少一者由多个组件模块的控制模块执行。
在另一个实例中,提供了一种用于更新在模块化组件中与彼此可操作地联接的多个组件模块中的一个相关联的状态的方法。用于请求来自组件模块的数据的第一消息传输至多个组件模块中的一个。包括请求的数据的第二消息或包括正常状态指示物的第三消息从组件模块接收到。响应于确定接收到第二消息或第三消息,与组件模块相关联的状态更新为联接至模块化组件系统。传输、确定和更新中的至少一者由多个组件模块中的控制模块执行。
在不同实例中,提供了一种用于更新模块化组件系统的控制模块上的固件的方法。获得了与从控制模块采样的噪音相关的信息。第一加密秘钥基于该信息计算。将在控制模块上更新的固件从模块化组件系统的主机接收到。固件至少基于第二加密秘钥加密。响应于确定接收到的固件可解密,解密的固件加载到控制模块中。获得、计算、接收、确定和加载中的至少一者由控制模块执行。
在另一个实例中,提供了一种用于加密将在模块化组件系统的控制模块上更新的固件的方法。接收到基于与从控制模块采样的噪音相关的信息计算的加密秘钥。固件至少基于加密秘钥来加密。加密的固件传输至控制模块。接收、加密和传输中的至少一者由模块化组件系统的主机执行。
在不同实例中,提供了一种用于将主机指令提供至包括多个组件模块的模块化组件系统的控制模块的方法。包括成组第一图形呈现和成组第二图形呈现的图形编程环境呈现给用户。各个第一图形呈现对应于包括至少一个参数的语句块。各个第二图形呈现对应于与至少一个属性相关联的多个组件模块中的一个。促进用户选择第一图形呈现中的至少一个,且将值提供至各个选择的第一图形呈现的至少一个参数。促进用户提供值至第二图形呈现中的一个或多个的至少一个属性。至少基于选择的第一和第二图形呈现及其提供的值,生成了成组主机指令。成组主机指令传输至控制模块以用于控制多个组件模块的操作。提供、促进、促进、生成和传输中的至少一者由模块化组件系统的主机执行。
在另一个实例中,提供了一种用于将主机指令提供至包括多个组件模块的模块化组件系统的控制模块的方法。包括第一组GUI元件和第二组GUI元件的图形用户界面(GUI)呈现给用户。第一组GUI元件允许用户在模块化组件系统操作时的运行时间交互地控制模块化组件系统的操作。第二组GUI元件允许用户指定对应于模块化组件系统的功能。促进用户选择第一组GUI元件和第二组GUI元件中的一个。响应于用户选择第一组GUI元件,第一组主机指令至少基于用户与第一组GUI的交互动态地生成,以用于在运行时间控制模块化组件系统的操作,且生成的第一组主机指令在模块化组件系统操作时的运行时间传输至模块化组件系统的控制模块。响应于用户选择第二组GUI元件,第二组主机指令至少基于由用户指定的功能来获得,且获得的第二组主机指令在模块化组件系统执行由用户指定的功能之前传输至模块化组件系统的控制模块。提供、促进、生成、传输、获得和传输中的至少一者由模块化组件系统的主机执行。
附图说明
由以下描述看来,当伴随下面的附图时将更容易理解实施例,且其中相似的参考标号代表相似的元件,其中:
图1A-1C是根据实施例的包括多个组件模块和连接器的模块化组件机器人玩具的实例的透视图;
图2是示出根据实施例的包括组件模块、主机和服务器的系统的框图;
图3是根据实施例的组件模块的各种实例的图示。
图4是示出根据实施例的连接多个组件模块的总线的实例的示意图;
图5是根据实施例的将主机指令从主机传输至控制模块的实例的图示;
图6是示出根据实施例的组件模块的实例的框图;
图7是示出根据实施例的控制模块的实例的框图;
图8是示出根据实施例的分析模块的实例的框图;
图9是示出根据实施例的传感器模块的实例的框图;
图10是示出根据实施例的促动器模块的实例的框图;
图11是示出根据实施例的功率模块的实例的框图;
图12是示出根据实施例的主机和服务器的实例的框图;
图13是根据实施例的包括多个组件模块和连接器的模块化组件无人飞行器(UAV)机器人的实例的透视图;
图14A-14B是根据实施例的连接结构的实例的透视图;
图15是根据实施例的连接结构的实例的分解视图;
图16A是根据实施例的连接器的实例的透视图;
图16B是根据实施例的图17A中的连接器的销的实例的透视图;
图17是根据实施例的连接接口的电路板的实例的平面视图;
图18是根据实施例的连接接口的实例的平面视图;
图19是根据实施例的连接结构的实例的截面视图;
图20A-20D分别是根据实施例的与带有90度偏移的四个定向下的连接器的销接触的图19中的连接接口的平面视图;
图21A-21B是根据实施例的具有在其上的环触头的电路板的各种实例的透视图;
图22A是根据实施例的连接器的另一个实例的透视图;
图22B是根据实施例的图22A中的连接器的截面视图;
图22C是根据实施例的图22A中的连接器的触头的透视图;
图23为根据实施例的连接接口的另一个实例的平面视图;
图24A为根据实施例的图23中的连接接口的电路板的另一个实例的平面视图;
图24B-24D是根据实施例的包括与图23中的连接接口接触的图22A中的连接器的连接结构的另一个实例的截面视图;
图25是根据实施例的控制模块和多个组件模块与主机之间的通信的实例的图示;
图26是示出根据实施例的用于登记组件模块的方法的实例的事件图;
图27是示出根据实施例的用于登记组件模块的方法的实例的流程图;
图28是示出根据实施例的用于登记组件模块的方法的另一个实例的流程图;
图29是示出根据实施例的用于更新与组件模块相关联的状态的方法的实例的事件图;
图30是示出根据实施例的用于更新与组件模块相关联的状态的方法的另一个实例的事件图;
图31是示出根据实施例的用于更新与组件模块相关联的状态的方法的实例的流程图;
图32是示出根据实施例的用于更新与组件模块相关联的状态的方法的另一个实例的流程图;
图33是示出根据实施例的用于更新控制模块上的固件的方法的实例的事件图;
图34是示出根据实施例的用于更新控制模块上的固件的方法的实例的流程图;
图35是示出根据实施例的用于更新控制模块上的固件的方法的另一个实例的流程图;
图36是示出根据实施例的在主机上运行的应用程序的实例的框图;
图37A-37B是根据实施例的控制应用程序的实例的屏幕截图;
图38是根据实施例的控制应用程序的另一个实例的屏幕截图;
图39是示出根据实施例的将主机指令提供至控制模块的方法的实例的流程图;
图40A-40B是根据实施例的编程应用程序的实例的屏幕截图;
图41是根据实施例的包括图形语句块的程序的实例的屏幕截图;
图42为示出根据实施例的用于将主机指令提供至控制模块的方法的另一个实例的流程图;以及
图43为示出可用于实施本公开中提出的各种实施例的计算机系统的实例的框图。
具体实施方式
在以下详细描述中,许多具体细节通过举例提出,以便提供相关公开内容的彻底理解。然而,本领域的技术人员应当清楚,本公开可在没有此类细节的情况下实施。在其它情况下,公知的方法、程序、系统、构件和/或电路在相对高水平下描述而没有细节,以便避免不必要地使本公开的方面模糊。
在说明书和权利要求各处,用语可具有上下文中超出明确提出的意义的暗示或隐含的意义。类似地,如本文使用的短语"在一个实施例/实例中"不一定表示相同的实施例,且如本文使用的短语"在另一个实施例和/实例中"不一定表示不同的实施例。例如,期望提出的主题包括整体或部分的示例性实施例的组合。
大体上,用语可从上下文的使用中至少部分地理解。例如,如本文使用的用语如"和"、"或"或者"和/或"可包括至少部分地取决于使用的此类用语的上下文。通常,"或"如果与列表(诸如A,B或C)关联使用,则旨在意指A,B和C,此时以包括意义使用,以及A,B或C,此时以排除意义使用。此外,如本文使用的用语"一个或多个"至少部分地取决于上下文,可用于以单数意义描述任何特征、结构或特点,或可用于以复数意义描述特征、结构或特点的组合。类似地,至少部分地取决于上下文,诸如"一个"、"一种"或"该"的用语又可理解为表达单数使用或表达复数使用。此外,用语"基于"可理解为不一定旨在表达专有的成组因素,且可改为允许存在不一定明确描述的额外的因素,这又至少部分地取决于上下文。
如下文详细公开那样,在其它新颖性特征中,本文公开的模块化组件的系统提供了容易从不同的组件模块组装多种机器人玩具而不用任何组装工具的能力。在一些实施例中,连接器可用于经由其相应的连接接口来机械地且电气地连接任何组件模块,从而提供了灵活性和可扩展性来由用户实现机器人玩具的不同的结构、形式和功能。在一些实施例中,组件模块可包括"智能"模块,其可独立地执行某些感测和分析功能,且直接与远程主机和/或服务器传送感测和/或分析结果。在一些实施例中,检测机构可用于有效且高效地实现组件模块登记和状态更新(例如,在线和脱机),而不需要物理模块构造或用户干预。在一些实施例中,组件模块的功能可通过使用安全更新机构下载更新的固件来进一步扩展。
本文公开的模块化组件系统还提供了便于用户容易经由各种软件应用程序的图形界面对任何组装的机器人玩具编程的能力,以便按期望定制组装的机器人玩具的行为和功能。在一些实施例中,图形编程环境可由用户(例如,幼儿)使用,以输入可下载到组装的机器人玩具上的程序。在一些实施例中,运行时间控制环境可设在便携式装置上,以便用户可实时直观地且交互地控制组装的机器人玩具的动作。
额外的新颖性特征将在以下描述中部分地提出,且在查看下文和附图时将对于本领域的技术人员部分地变得清楚,或可通过实例的生产或操作来学习到。本公开的新颖特征可通过实施或使用下文论述的详细实例中提出的方法、仪器和组合的各种方面来实现和获得。
模块化组件系统
图1A-1C是根据实施例的包括多个组件模块102,104,106和108以及连接器110的模块化组件机器人玩具100的实例的透视图。在图1A中,控制模块102由连接器110连接到功率模块104上。功率模块104和其余的组件模块(两个轮模块106-1和106-2以及两个连接器模块108-1和108-2)由连接器110-1,110-2,110-3和110-4连接。在该实施例中,所有连接器110都是相同且可互换的。任何连接器110都可用来经由其相应的连接接口(它们也是相同的)机械地且电气地连接任何两个组件模块102,104,106和108。在该实施例中,功率模块104以及连接器模块108-1和108-2中的各个均包括多个连接接口,且因此可连接到多个组件模块102,104,106和108上。因此,功率模块104以及连接器模块108-1和108-2可用作"集线器",以提供将多个组件模块连接在一起的灵活性和可扩展性。例如,连接器模块108-1可连接到功率模块104以及两个轮模块106-1和106-2。另一方面,一些组件模块(诸如控制模块102以及轮模块106-1和106-2)各自包括单个连接接口,且因此可布置在模块化组件机器人玩具100的"端部"处。
如下文详细所述,控制模块102可用作模块化组件机器人玩具100的"大脑",以通过经由连接器110与各个组件模块传送数据信号(例如,操作指令)来控制模块化组件机器人玩具100的各个组件模块的操作。功率模块104可提供"能量"至模块化组件机器人玩具100,例如,通过将功率信号从电池组经由连接器110传输至各个组件。作为促动器模块的一个实例的轮模块106可通过使它们自身沿旋转轴线旋转来用作模块化组件机器人玩具100的"脚"。在该实施例中,各个组件模块大致是球形的。例如,由于球形,轮模块106可在无额外结构的情况下移动,即,可使它们自身沿旋转轴线旋转。另外,由于球形,多个连接接口可沿连接器模块108的任何直径对称地布置,以便连接器模块108可在模块化组件机器人玩具100中以各种定向布置,这进一步改善了模块化组件机器人玩具100的灵活性和可扩展性。连接器110可用作模块化组件机器人玩具100的"骨骼"和"神经",以提供组件模块之间的机械和电学连接两者。例如,各个连接器110均包括适于分别配合到任何两个组件模块的连接接口中的两个开口端。
图1B示出了关于图1A描述的组件模块已经组装在一起。组装的结构可通过轮模块106来回移动,轮模块106由控制模块102控制且由功率模块104供能。图1B还示出了模块化组件机器人玩具100可改变其结构,且通过经由连接器110-5和跟随器114连接更多组件模块(例如,红外传感器模块112)来扩展其功能。在该实施例中,红外传感器模块112可通过经由连接器110-5连接到连接器模块108-2的备用连接接口来插入模块化组件机器人玩具100中。跟随器114作为附件的一个实例,可在无任何连接器的情况下直接地连接到连接器模块108-2的另一个备用连接接口。
如下文更详细所述,红外传感器模块112作为传感器模块的一个实例可用作模块化组件机器人玩具100的"眼睛"来通过红外光束检测任何物体。由红外传感器模块112获得的传感器信号可经由连接器110传输至控制模块102。红外传感器模块112也可大致是球形的。在该实施例中,跟随器114可有助于支承和平衡模块化组件机器人玩具100,且跟随轮模块106的移动。
图1C示出了关于图1B所述的组件模块已经组装在一起来构造模块化组件机器人玩具100。模块化组件机器人玩具100可通过由控制模块102控制且由功率模块104供能的轮模块106和跟随器114来回移动。模块化组件机器人玩具100还可通过红外传感器模块112沿移动路径检测物体。在一些实施例中,控制模块102可调整移动路径来避开由传感器模块112检测到的任何物体,且根据调整的移动路径来实时调整轮模块106的移动。如下文详细所述,模块化组件机器人玩具100的检测和移动操作可由控制模块102根据从主机接收到的主机指令由控制模块102控制,主机指令是在模块化组件机器人玩具100的操作之前下载的编程指令的形式或在运行时间接收到的控制指令的形式。即,模块化组件机器人玩具100可使用相同的连接器110通过组装具有不同功能的多个组件模块和通过经由预先限定的程序和/或实时控制对组装的结构编程来定制。应当认识到,图1A-1C中所示的模块化组件机器人玩具100仅出于示范性目的。作为模块化组件系统,具有不同结构、形式和功能的机器人玩具可在下文详细描述的其它实例中容易地组装和编程。
图2是示出根据实施例的包括组件模块202、主机204和服务器206的系统200的框图。在该实施例中,系统200提供硬件、固件、软件和服务支持以用于组装、测试和维护具有不同结构、形式和功能的模块化组件机器人玩具。组件模块202包括不同类型的多个组件模块202-1,202-2,202-3,...202-n。例如,图3为根据实施例的组件模块202的各种实例的图示,其包括控制模块302(例如,图1A-1C中的控制模块102)、传感器模块304、促动器模块306、分析模块308(也称为"智能模块")、功率模块310(例如,图1A-1C中的功率模块104),以及连接器模块312(例如,图1A-1C中的连接器模块108)。将认识到,任何其它类型的组件模块可包括在其它实例中。
在该实施例中,传感器模块304可包括子类型,诸如红外传感器模块314(例如,图1A-1C中的红外传感器模块112)、颜色识别模块316,以及可从任何类型的一个或多个传感器获得传感器信号的任何其它传感器模块。促动器模块306也可包括子类型,例如,运动模块318(例如,图1A-1C中的轮模块106)、飞行促动模块320、关节模块322,以及可通过任何类型的一个或多个促动器施加用于物理操作的能量的任何其它促动器模块。分析模块308还可包括子类型,包括语音识别模块324、图像识别模块326,以及可独立地获得和分析传感器信号且将传感器信号或分析结果传输至主机204和/或服务器206的任何其它分析模块。将认识到,在一些实施例中,相同的组件模块(例如,在具有相同硬件的意义上)可通过下载不同类型的固件而变为不同类型的组件模块。例如,语音识别模块324和图像识别模块326可通过将不同类型的固件下载到相同的物理模块上来形成。在一些实施例中,一个类型的组件模块可通过连接到附件而变为另一个类型的组件模块。例如,运动模块318可连接到成组推进器而变为飞行促动模块320或水促动模块(未示出)。
如图3中所示,不同类型的组件模块202可通过连接器模块312连接到控制模块302。将认识到的是,相同类型或不同类型的任何两个组件模块202可在没有连接器模块312的情况下彼此连接,例如,经由如上文关于图1A-1C所述的连接器直接地连接。还将认识到的是,连接器模块312不必连接到控制模块302,且可连接到任何类型的组件模块202。在一些实施例中,连接器模块312可看作是"集线器",以提供一定数目的连接接口,以便更多组件模块202可组装在一起。不论特定的类型,各个组件模块202均包括至少一个连接接口,通过其,组件模块202可由连接器插到模块化组件机器人玩具。在一些实施例中,任何组件模块202的连接接口都是相同的,即,标准的连接接口,以便相同的连接器可用于连接任何两个组件模块202。如上文所述,在一些实施例中,各个组件模块202大致是球形的。下文将关于图6-11S描述各个组件模块202的细节。
回头参看图2,在该实施例中,主机204可包括多个主机204-1和204-2,其中各个均可为任何适合的装置,例如,移动或便携装置(例如,非智能手机或智能手机、平板计算机等)、笔记本计算机、桌面计算机、上网本、媒体中心、可穿戴装置(例如,眼镜、腕表等)、虚拟现实(VR)或增强现实(AR)装置(例如,VR头盔等)、汽车控制站、游戏控制台、电视机、机顶盒、全球定位系统(GPS)、打印机或任何其它适合的装置。主机204可经由任何适合的通信途径与其中一些组件模块202(例如,控制模块302和分析模块308)通信,举例来说,诸如有线通信,例如通用串行总线(USB)、IEEE1394、Thunderbolt等,或无线通信,例如WiFi、蓝牙、ZigBee、近场通信(NFC)等。主机204还可经由因特网208与服务器206通信。在一些实施例中,主机204可经由任何其它网络与服务器206通信,诸如局域网(LAN)、个人局域网(PAN)等。
在该实施例中,应用程序可在主机204上运行以允许主机204配置、控制和管理从组件模块202组装的任何模块化组件机器人玩具。在一个实例中,在主机204上运行的编程应用程序可便于用户构造程序或选择现有的演示程序,且将程序下载到控制模块302中。在另一个实例中,在主机204上运行的控制应用程序可通过将控制指令在运行时间传输至控制模块302来允许用户实时控制模块化组件机器人玩具的操作。在又一个实例中,例如,主机204可从服务器206获得更新的固件、加密固件,且对加密固件至控制模块302的下载进行管理。在又一个实例中,主机204可接收和处理来自模块化组件机器人玩具的数据,例如,来自控制模块302或分析模块308。例如,各个组件模块202的状态(例如,登记或在线/脱机状态)可基于从控制模块302接收到的状态消息显示在主机204上;传感器信号和/或传感器信号的分析结果可从控制模块302和/或分析模块308接收,且由主机204处理或转发至服务器206用于进一步处理。在该实施例中,多个主机204可用于分配任务。例如,主机204-2可为笔记本或桌面计算机,编程应用程序和固件更新应用程序在其上运行。主机204-2可经由USB连接到控制模块302,以在模块化组件机器人玩具的操作之前将编程指令或更新的固件传输至控制模块302。主机204-1可为控制应用程序在其上运行的移动或便携装置。主机204-1可经由蓝牙连接到控制模块302来传输实时控制指令,且经由WiFi连接到分析模块308以在运行时间从分析模块308接收传感器信号和/或分析结果。
在该实施例中,服务器206可在系统200的后端运行,以经由其上运行的不同应用程序将各种服务提供至系统200。例如,人工智能应用程序可由服务器206使用来分析任何传感器信号或分析从分析模块308获得的结果(例如,由主机204转发),以执行诸如语音识别或图像识别的任务。在另一个实例中,用户管理应用程序可由服务器206使用来管理用户的信息,且储存关于模块化组件机器人玩具的使用数据。在又一个实例中,固件管理应用程序可由服务器206使用来储存和管理固件更新数据。如上文所述,服务器206可经由因特网208或任何其它网络与主机204通信,以提供上文所述的服务。应当认识到,在一些实施例中,服务器206可直接地与一些组件模块202(例如,分析模块208)通信,以用于接收传感器信号和/或分析结果。
图4为示出根据实施例的连接多个组件模块202的总线400的实例的示意图。在该实施例中,在多个组件模块202经由连接器与彼此机械地且电气地连接以形成模块化组件机器人玩具时,总线400形成为用于在组件模块202之间传输功率信号和数据信号。如图4中所示,总线400可包括两条电力线(电源(VCC)402和地极(GND)404),以用于传输功率信号,例如,VCC 402与GND 404之间的电压。总线400还可包括两条数据线(数据-H 406和数据-L408),以用于传输数据信号,例如,差分数据信号。各个组件模块202可并行地电连接到总线400。例如,组件模块202的各个连接接口(I/F)410可包括四个触头,其中各个均可电连接到总线400的四条线中的一个上。对于包括单个连接接口410-1和410-2的一些组件模块202-1和202-2,例如,控制模块302、传感器模块304或促动器模块306,组件模块202-1和202-2分别经由单个连接接口410-1和410-2电连接到总线400。对于包括多个连接接口410-3,410-4,410-5和410-6的一些组件模块202-3和202-4,例如,功率模块310或连接模块312,组件模块202-3和202-4的各个连接接口410-3,410-4,410-5和410-6独立地且分开地电连接到总线400。如上文所述,功率信号可从功率模块310经由总线400的VCC 402和GND 404传输至各个组件模块202。数据信号可包括从控制模块302传输至各个组件模块202的操作指令,以及从各个组件模块202经由总线400的数据-H 406和数据-L 408数据线传输至控制模块302的模块数据(例如,传感器信号或状态信息)。
在该实施例中,总线400可为由国际标准组织(ISO)采用的控制局域网(CAN)总线,例如,在ISO11898和ISO11519标准中。根据CAN总线标准,数据-H 406和数据-L 408可为CAN-H和CAN-L数据线,它们通过其间的电压差来传输数据信号。功率信号也可根据CAN总线标准经由VCC 402和GND 404传输。由总线400应用的数据传输和标识符(ID)分配协议大体上可遵循CAN总线标准。将认识到,总线400不限于CAN总线,且可为用于在并行电连接的组件模块202之间传输功率和数据信号的任何适合的总线,诸如但不限于,USB、RS-485总线、串行ATA(SATA)总线、低压差分信号(LVDS)总线,等。
图5为根据实施例的主机指令从主机204到控制模块302的传输的实例的图示。在该实施例中,控制模块302包括一个或多个处理器502,操作系统504可在其上实施。操作系统504可为任何适合的操作系统,诸如嵌入式操作系统或实时操作系统(RTOS),例如,嵌入的Linux、iOS、NetBSD、Inferno、OpenWrt、嵌入的Windows等。在该实施例中,虚拟机506可在操作系统504上运行,举例来说,诸如Java虚拟机(JVM)、安卓运行环境(ART)、Lua虚拟机。虚拟机506可提供在独立于平台的环境中运行编程指令508的能力。
在该实施例中,编程应用程序可在主机204-2上运行。由编程应用程序生成的编程指令508通过集成的编程环境(IDE)或通过在主机204-2上手动编辑而可从主机204-2直接地传输至控制模块302的虚拟机506。例如,编程指令508可为Lua脚本。除编程指令508外,该实施例中的主机指令也可包括控制指令510,其由在主机204-1上运行的控制应用程序在运行时间生成。控制指令510可从主机204-1直接地传输至操作系统504,例如,使用蓝牙低能(BLE,也称为蓝牙智能)技术。在该实施例中,当虚拟机506未运行任何从主机204-2接收的编程指令508时,操作系统504可生成操作指令来基于从主机204-1在运行时间接收到的控制指令510控制对应的组件模块202的操作。当虚拟机506运行编程指令508(例如,Lua脚本)时,操作系统504可处理控制指令510且控制虚拟机506的特权。在这种情况下,操作系统504可用作虚拟机506与模块化组件机器人玩具的任何其它部分(例如,组件模块202和主机204)之间的接口,同时虚拟机506进行运行编程指令508和控制指令510的控制。
图6为示出根据实施例的组件模块202的实例的框图。在该实施例中,组件模块202包括处理器602、存储器604、一个或多个连接接口606、一个或多个传感器608、一个或多个促动器610、通信单元612、输入/输出(I/O)614,以及持久储存器616。如图6中所示,处理器602可操作地联接到存储器604、连接接口606、传感器608、促动器610、通信单元612、I/O614和持久储存器616。组件模块202可经由通信单元612与主机204通信,且经由连接接口606与电连接到总线400的任何其它组件模块202通信。
在该实施例中,处理器602可包括一个或多个处理单元,诸如微控制器单元(MCU)、微处理器、图形处理单元(GPU)、存储器控制器等。存储器604可为与单个集成电路中的MCU集成或与处理单元分开的任何程序存储器(例如,RAM、闪存)或只读存储器(ROM)。处理器602可通过执行储存在存储器604中的指令来控制组件模块202的各个构件的操作。在该实施例中,各个连接接口606均可从总线400接收功率信号,且根据来自处理器602的指令经由总线400传输和接收数据信号。处理器602还可从连接接口606接收数据信号,且经由连接接口606将数据信号传输至总线400。功率信号可经由连接接口606传输至处理器602来供应功率。在一些实施例中,功率信号可经由连接接口606传输至组件模块202的其它构件来供应功率。在该实施例中,通信单元612可为任何有线或无线的通信单元,诸如可与主机204的对应类型的通信单元通信的USB,IEEE 1394,Thunderbolt,WiFi,蓝牙,ZigBee或NFC单元。如上文所述,从主机204传输的主机指令可由通信单元612接收且转发到处理器602。在一些实施例中,通信单元612可包括调制解调器或任何网络适配器,以用于经由如上文所述的因特网208或任何其它网络与服务器206通信。从服务器206接收到的数据也可由通信单元612转发至处理器602。
在该实施例中,传感器608可包括任何类型的传感器,举例来说,诸如光传感器、运动传感器、温度传感器、声音传感器、电传感器、磁传感器、化学传感器、生物传感器。不论具体的类型,传感器608可获得传感器信号且将传感器信号传输至处理器602。处理器602可分析传感器信号,且然后经由总线400将分析结果传输至主机204,或经由通信单元612将原始传感器信号直接地传输至主机204。在该实施例中,促动器610可包括任何类型的促动器,举例来说,诸如液压促动器、气动促动器、电促动器、热促动器、磁促动器、机械促动器。不论具体的类型,促动器610可根据由处理器602提供的指令(和在一些情况下经由总线400和连接接口606提供的功率信号)来执行物理动作。
在该实施例中,I/O 614可包括任何适合的I/O装置,诸如显示屏、灯、键盘、按钮等。模块化组件机器人玩具的用户可直接经由I/O614与组件模块202交互。例如,组件模块202或整个模块化组件机器人玩具的状态信息(例如,功率水平、操作状态)可经由显示屏或灯来呈现。用户可使用键盘或按钮来中断组件模块202的操作。在该实施例中,持久储存器616可为在组件模块202断电之后保持数据的任何数据储存装置,诸如硬盘驱动器和固态驱动器(例如,闪速驱动器)。储存在持久储存器616中的数据可与存储器604通信,诸如编程指令(例如,演示程序的源代码或中间代码)、操作日志、使用数据备份、固件等。还将认识到,在一些实施例中,额外构件也可包括在组件模块202中。还将认识到,取决于特定类型的组件模块202,图6中所示的某些构件可不必如下文关于图7-11所述的那样。
图7为示出根据实施例的控制模块302的实例的框图。该实施例中的控制模块302包括处理器702、存储器704、一个或多个连接接口706、一个或多个传感器708、通信单元712、I/O 714,以及持久储存器716。如图7中所示,处理器702可操作地联接到存储器704、连接接口706、传感器708、通信单元712、I/O 714和持久储存器716。图7中的各个构件可执行上文关于图6所述的对应构件的相同功能,且在该实施例中将不会再次重复。下文详细描述了控制模块302中的一些构件的额外或备选的特征。例如,在一些实施例中,持久储存器716可储存模块化组件机器人玩具的不但控制模块302而且其它组件模块202的编程指令(例如,演示程序的源代码或中间代码)和操作日志以及使用数据备份。在一些实施例中,传感器708可包括惯性传感器,诸如陀螺仪和加速计。
除对控制模块302中的构件的操作进行控制之外,控制模块302的处理器702可控制模块化组件机器人玩具的任何其它组件模块202的操作。如图7中所示,主机指令可由主机204经由通信单元712提供至处理器702。如上文所述,编程指令可在控制模块302操作之前接收到,且然后由在处理器702上实施的操作系统504上运行的虚拟机506执行;另一方面,控制指令可在控制模块302操作时在运行时间接收到且直接由操作系统504运行。基于接收到的主机指令,处理器702可生成操作指令以用于经由总线400和连接接口706控制各个组件模块202。处理器702可将作为数据信号的部分的操作指令经由接口706和总线400传输至对应的组件模块202。此外,处理器702可经由通信接口706和总线400与组件模块202通信,以检测和配置任何新加入的组件模块。在一些实施例中,更新的固件可由服务器206经由因特网提供至主机204,且然后经由通信单元712下载至存储器704和/或持久储存器716。另一方面,从其它组件模块202或控制模块自身302接收到的模块数据(例如,传感器信号或状态信息)也可由控制模块302经由通信单元712传输至主机302。在一些实施例中,通信单元712可直接地经由因特网或任何其它网络与服务器206通信,而不经过主机204。
在该实施例中,I/O 714还可包括物理开关,其配置成响应于来自用户的输入来中断或恢复从主机204获得至少一些主机指令或由处理器702生成操作指令。换言之,主机指令由处理器702的运行可经由控制模块302由用户的物理操作部分地控制。例如,物理开关可触发处理器702来通过虚拟机506运行主机指令,例如,编程指令(例如,Lua脚本)。在一些实施例中,控制模块302还可包括用于开启和关闭控制模块302和/或模块化组件机器人玩具的电力开关。电力开关可不同于上文所述的物理开关,其用于控制主机指令由处理器702的运行。
图8为示出根据实施例的分析模块308的实例的框图。在该实施例中,分析模块308包括处理器802、存储器804、一个或多个连接接口806、一个或多个传感器808、通信单元812和持久储存器816。如图8中所示,处理器802可操作地联接到存储器804、连接接口806、传感器808、通信单元812和持久储存器816。图8中的各个构件可执行上文关于图6所述的对应构件的相同功能,且在该实施例中将不会再次重复。下文将详细描述分析模块308中的一些构件的额外或备选的特征。例如,在一些实施例中,持久储存器816还可储存由传感器808获得的传感器信号以及由处理器802生成的信号的分析结果。
除控制分析模块308中的构件的操作外,分析模块308的处理器802可配置成分析由传感器808获得的传感器信号来生成分析结果。在一个实例中,分析模块308可为语音识别模块324,且传感器808可包括配置成获得语音信号的麦克风或任何声音传感器。处理器802然后可分析语音信号来通过实施任何适合的语音或语言识别引擎生成语音识别结果。在另一个实例中,分析模块308可为图像识别模块326,且传感器808可包括配置成获得图像信号的相机或任何图像传感器。处理器802然后可分析图像信号来通过实施任何适合的图像或视频识别引擎生成图像识别结果。在一些实施例中,识别引擎可储存在持久储存器816中,且在运行时间读入存储器804中,以用于由处理器802分析对应的传感器信号。将认识到,分析模块308可通过包括适合类型的传感器808和由处理器实施适合的分析引擎而为其它类型。
在该实施例中,由传感器808获得的传感器信号和/或由处理器802生成的分析结果可经由通信单元812传输至主机204,而不经过控制模块302。在接收传感器信号或分析结果之后,主机204可进一步处理传感器信号或分析结果来生成进一步的分析结果,因为主机204对于执行更复杂的分析可具有比分析模块308更优异的计算能力。在一些实施例中,主机204可经由因特网208或任何其它网络将传感器信号或分析结果传输至服务器206,以便服务器206上的更强大的处理器和/或分析引擎可执行传感器信号或分析结果的甚至更复杂的分析。在一些实施例中,通信单元812可包括调制解调器或任何适合的网络适配器,以用于将传感器信号或分析结果直接地传输至服务器206,而不经过主机204。
基于来自分析模块308、主机204和/或服务器206的分析结果,主机204可生成操作指令,且将操作指令经由通信单元812提供至处理器802。在一些实施例中,生成的操作指令可由主机204提供至控制模块302作为主机指令的一部分,且控制模块302然后可将操作指令经由总线400传输至分析模块308或其它组件模块202。在一个实例中,对于语音识别模块324,来自用户的用以控制模块化组件机器人玩具的操作的语音命令可由主机204连同语音识别模块324和/或服务器326识别和理解,且应用于对应的组件模块202。在另一个实例中,对于图像识别模块326,由图像识别模块326的相机取得的视频上的目标可由主机204连同图像识别模块326和/或服务器206识别和跟踪,以便主机204可指示对应的促动器模块306跟随目标的移动路径,且指示图像识别模块326保持跟踪目标。
在该实施例中,分析模块308可认作是"智能"模块,因为分析模块308可独立地执行传感器信号分析任务,且/或与主机204或服务器206独立地传送分析结果,而没有控制模块302的干预。在一些实施例中,分析模块308可确定是否由处理器802来分析获得的传感器信号,或将传感器信号传输至主机204和/或服务器206来用于分析。在一个实例中,处理器802可基于分析任务的复杂性来进行确定,且执行相对简单的分析任务,且将相对复杂的分析任务交给主机204和/或服务器206。在另一个实例中,处理器802可基于通信单元812是否能够与主机204和/或服务器206通信来进行确定。例如,如果建立通信连接,则分析任务可交给主机204和/或服务器206。另外,分析模块308可通过处理器802局部地执行分析任务。将认识到,甚至在分析任务由主机204和/或服务器206执行时,预处理可由处理器802在获得的原始传感器信号上执行。
图9为示出根据实施例的传感器模块304的实例的框图。在该实施例中,传感器模块304包括处理器902、存储器904、一个或多个连接接口906、一个或多个传感器908,以及持久储存器916。如图9中所示,处理器902可操作地联接到存储器904、连接接口906、传感器908和持久储存器916。图9中的各个构件可执行上文关于图6所述的对应构件的相同功能,且在该实施例中将不会再次重复。下文将详细描述传感器模块304中的一些构件的额外或备选的特征。例如,在一些实施例中,持久储存器916还可储存由传感器908获得的传感器信号。
在一个实例中,传感器模块304可为红外传感器模块314,且传感器908可包括红外传感器。在一些实施例中,红外传感器可包括配置成将第一红外光束发射至物体的红外发射器,以及配置成获得从物体反射的第二红外光束的红外接收器。传感器信号可通过红外传感器模块314基于第一红外光束和/或第二红外光束获得。在一些实施例中,红外发射器可为发光二极管(LED),其可产生红外光谱中的光,且红外接收器可基于第二光束的强度来检测物体的存在、运动或亮度。在一些实施例中,红外传感器可为被动红外传感器(PIR),其测量在其视场中从物体发射的红外光,这可用于检测物体的存在或运动。在该实施例中,处理器902可基于经由总线400从控制模块302接收到的操作指令来控制红外传感器的操作。例如,处理器902可控制红外传感器在主动模式(反射模式)或被动模式中工作。在主动模式中,处理器902可进一步控制红外传感器来反复地反射红外光束或反射单个红外光束。
在另一个实例中,传感器模块304可为颜色识别模块316,且传感器908可包括配置成从物体获得光信号的光传感器。光传感器可为可检测当前的环境光水平(例如,RGB水平和光强度水平)的任何适合的传感器,诸如光敏电阻器、光电二极管和光电晶体管。额外的光学和电气构件可包括在光传感器中,诸如颜色滤波器、输入复用器和光源(例如,RGBLED)。在一些实施例中,由光传感器获得的光信号可提供至处理器902来基于光信号确定物体的颜色。在该实施例中,处理器902还可基于经由总线400从控制模块302接收到的操作指令来控制光传感器的操作。例如,处理器902可控制光传感器来在环境光检测模式中或在R,G或B颜色检测模式中工作。处理器902可进一步控制光源来反复地反射期望颜色的光束或反射期望颜色的单个光束。
在该实施例中,传感器信号(例如,红外信号、环境光强度信号或RGB信号)可由处理器902根据总线400的数据传输和ID分配协议格式化,且带有ID封装到消息中。消息可经由总线400从处理器902传输至控制模块302。在一些实施例中,关于传感器信号的数据可储存在持久储存器916中作为备份。将认识到,传感器模块304可通过包括适合类型的传感器908而为任何其它类型。
图10为示出根据实施例的促动器模块306的实例的框图。在该实施例中,促动器模块306包括处理器1002、存储器1004、一个或多个连接接口1006、一个或多个促动器1010,以及持久储存器1016。如图10中所示,处理器1002可操作地联接到存储器1004、连接接口1006、促动器1008和持久储存器1016。图10中的各个构件可执行上文关于图6所述的对应构件的相同功能,且在该实施例中将不会再次重复。下文将详细描述促动器模块306中的一些构件的额外或备选的特征。
在一个实例中,促动器模块306可为运动模块318,其大致是球形的,且促动器1010可包括配置成使运动模块318的整体旋转的马达。例如,运动模块318可为图1A-1C中所示的轮模块106,其包括围绕球的大圆的轨迹来增大摩擦。马达可为任何电动马达,诸如伺服马达,其可使运动模块318的整体沿旋转轴线旋转。在一些实施例中,额外的附件可附接至运动模块318,诸如轮或适配器,任何物理结构可通过其插到模块化组件机器人玩具,且连同运动模块318一起旋转。例如,除运动模块化组件机器人玩具自身外,运动模块318可引起经由适合的适配器附接到其上的玩具的任何件也旋转。将认识到,马达不限于用于驱动运动模块318的角向移动的旋转马达。在一些实施例中,马达可为用于驱动运动模块318的线性运动的线性马达。在该实施例中,处理器1002可基于经由总线400从控制模块302接收到的操作指令来控制马达的操作。例如,处理器1002可控制运动模块318的运动速度、方向、持续时间和中断。
在另一个实例中,促动器模块306可为飞行促动模块320,且促动器1010可包括配置成驱动成组推进器的马达。马达可为任何电动马达,诸如伺服马达,其可使成组推进器沿旋转轴线旋转,且因此引起模块化组件机器人玩具在空中飞行。在该实施例中,处理器1002可基于经由总线400从控制模块302接收到的操作指令来控制马达的操作。例如,处理器1002可控制飞行促动模块320的飞行速度、方向、高度、姿态、持续时间和中断。在一些实施例中,控制模块302的传感器708可在运行时间获得指出模块化组件机器人玩具在空中的姿势的传感器信号,且控制模块302的处理器702可基于传感器信号来生成飞行促动模块320的操作指令以调整飞行姿势。将认识到,飞行促动模块320可通过驱动水中的适合的成组推进器变成水促动模块。
在又一个实例中,促动器模块306可为关节模块322,且促动器1010可包括转向机构,其配置成使关节模块322沿径向方向从0度旋转到180度(例如,作为径向关节模块),或使关节模块322沿轴向方向从-90度旋转到+90度(例如,作为轴向关节模块)。在该实施例中,处理器1002可基于经由总线400从控制模块302接收到的操作指令来控制转向机构的操作。例如,处理器1002可控制关节模块322的转速、方向、角度、持续时间和中断。
在该实施例中,用于控制促动器1010的操作指令可由控制模块302的处理器702根据总线400的数据传输和ID分配协议格式化,且带有ID封装到消息中。消息可经由总线400从控制模块302传输至促动器模块306的处理器1002。在一些实施例中,关于促动器1010
-24-
的操作状态的数据可由处理器1002收集,且以适合的消息格式传输至控制模块302。将认识到,促动器模块306可通过包括适合类型的促动器1010而为其它类型。
图11为示出根据实施例的功率模块310的实例的框图。在该实施例中,功率模块310包括处理器1102、存储器1104、一个或多个连接接口1106、持久储存器1116、电池1118和充电接口1120。如图11中所示,处理器1102可操作地联接到存储器1104、连接接口1106、持久储存器1116和电池1118。图11中的各个构件可执行上文关于图6所述的对应构件的相同功能,且在该实施例中将不会再次重复。下文将详细描述功率模块310中的一些构件的额外或备选的特征。例如,在一些实施例中,持久储存器1116还可储存电池相关的信息,例如,电池健康情况、充电状态、剩余寿命,等。
在该实施例中,电池1118可为任何适合的电池,包括一次电池,诸如锂电池、碱性电池、锌电池或镁电池,以及二次的(可再充电池),诸如锂离子电池、NiCd电池、铅酸电池、NiMH电池、NiZn电池或AgZn电池。在一些实施例中,多个电池1118可形成电池组。在该实施例中,电池1118的操作(诸如充电/放电和维护)可由处理器1102连同任何适合的电池管理电路(未示出)基于从控制模块302接收到的操作指令来控制。电池1118的状态(例如,电池健康、充电情况和剩余寿命)也可由处理器1102连同任何适合的电池管理电路(未示出)监测。在一些实施例中,来自电池1118的功率信号可经由连接接口1106和总线400提供至功率模块310和其它组件模块202。
在该实施例中,充电接口1120可操作地联接至电池1118,且可为用于对电池1118充电的任何适合的接口/连接器,包括有线充电接口,诸如USB或DC插孔,以及无线(感应)充电接口,诸如Magne充电、Qi、Rezence或电源事务联盟(PMA)。将认识到,在一些实施例中,功率模块310可包括额外或备选的电源,诸如太阳能面板、AC到DC的供应源、AC适配器和发电机。在一些实施例中,功率模块310还可包括用于用户打开和关闭模块化组件机器人玩具的电力的电力开关,以及显示电池1118的当前充电状态和/或剩余电力水平的指示器。在该实施例中,电池1118的操作可由处理器1102基于从控制模块302经由总线400接收到的操作指令来控制。
图12为示出根据实施例的主机204和服务器206的实例的框图。在该实施例中,模块化组件机器人玩具的用户1202可使用多个组件模块202来组装模块化组件机器人玩具,且使用主机204-1和204-2来定制模块化组件机器人玩具的功能和行为。在该实施例中,主机204-1包括处理器1204-1、存储器1206-1、通信单元1208-1和1210-1,以及I/O 1212-1。包括控制应用程序1214的一个或多个应用程序可载入存储器1206-1中且由处理器1204-1运行。如下文详细所述,控制应用程序1214的图形用户界面(GUI)可由处理器1204-1生成,且在I/O 1212-1(例如,显示屏)上呈现,以便于用户1202经由I/O1212-1与控制应用程序1214交互。在一些实施例中,控制应用程序1214可从用户1202接收输入,且在控制模块302操作时基于运行时间的用户输入来生成成组主机指令(例如,控制指令)。成组主机指令可经由通信单元1210-1传输至控制模块302。例如,用户输入可包括从由主机204-1呈现的GUI接收到的命令、由主机204-1上的一个或多个传感器检测到的运动或手势,以及由主机204-1上的麦克风检测到的语音。换言之,用户1202可使用控制应用程序1214经由任何适合的人机界面(HMI)来控制模块化组件机器人玩具。
类似地,在该实施例中,主机204-2包括处理器1204-2、存储器1206-2、通信单元1208-2和1210-2,以及I/O 1212-2。包括编程应用程序1216和固件更新应用程序1218的多个应用程序可载入存储器1206-2中且由处理器1204-2运行。如下文详细所述,编程应用程序1216的GUI可由处理器1204-2生成,且呈现在I/O 1212-1(例如,显示屏)上,以便于用户1202经由I/O 1212-2与编程应用程序1216交互。在一些实施例中,编程应用程序1216可从用户1202接收输入,且在控制模块302操作之前生成成组主机指令(例如,编程指令)。成组主机指令可经由通信单元1210-2传输至控制模块302。例如,用户输入可包括与图形编程环境的交互,例如,通过语句块的图形表示的拖放来编程。在一些实施例中,用户1202可选择现有的演示程序。在该实施例中,固件更新应用程序1218可经由通信单元1208-2从服务器206下载要在控制模块302上更新的固件,加密固件,且将加密的固件经由通信单元1210-2传输至控制模块302。固件更新状态可呈现于固件更新应用程序1218的GUI上来通知用户1202。
将认识到的是,额外或备选的应用程序可载入存储器1206中且由主机204的处理器1204运行以用于关于模块化组件机器人玩具的各种构造、控制和维护功能。在一个实例中,分析应用程序可实施成分析由传感器模块304或分析模块308获得的传感器信号,以生成分析结果,例如,语音或图像识别结果。在另一个实例中,组件模块管理应用程序可实施为显示目前登记(例如,已经插入模块化组件机器人玩具中)的组件模块202的列表、目前在线(例如,目前插入模块化组件机器人玩具中且在操作)的组件模块202的列表,和/或目前脱机(例如,目前与模块化组件机器人玩具分开且未操作)的组件模块202的列表。
在该实施例中,通信单元1210可经由有线或无线通信(诸如USB、WiFi或蓝牙)与组件模块202(例如,控制模块302)通信。例如,控制指令可由通信单元1210-1经由蓝牙实时传输至控制模块302,且编程指令可由通信单元1210-2经由USB传输至控制模块302。组件模块202的模块数据也可由通信单元1210-1经由蓝牙实时接收,或在控制模块302的操作完成之后由通信单元1210-2经由USB接收。在该实施例中,通信单元1208可经由因特网与远程服务器206通信。例如,传感器信号、传感器信号的分析结果、用户信息或使用数据可经由因特网由通信单元1208传输至服务器208。传感器信号的进一步的分析结果(例如,语音和图像识别结果、更新的固件、用户信息或使用数据)可从服务器206经由因特网由通信单元1208接收。
在该实施例中,服务器206包括处理器1220、存储器1222和通信单元1224。包括人工智能应用程序1226、用户管理应用程序1228和固件管理应用程序1230的多个应用程序可载入存储器1222中且由处理器1220运行。服务器206可经由因特网或任何其它网络通过通信单元1224与主机204通信,通信单元1224例如可为调制解调器或任何适合的网络适配器。
在该实施例中,人工智能应用程序1226可实施任何人工智能算法,诸如但不限于机器学习、自然语言处理、查找和优化、逻辑编程和自动推理、概率统计方法、分类和统计学习方法、神经网络和深度学习。如上文所述,人工智能应用程序1226可使用任何适合的人工智能途径来分析来自主机204和/或分析模块308的传感器信号或传感器信号的分析结果以生成分析结果,且经由通信单元1224将分析结果提供至主机204。例如,通过人工智能应用程序1226使用任何适合的人工智能途径,语音或语言识别可在语音信号上执行,且图像或视频识别可在图像信号上执行。
在该实施例中,用户管理应用程序1228可储存和组织关于用户1202的任何信息,例如,用户资料、人口统计资料、账户、活动、偏好和兴趣。在一些实施例中,用户管理应用程序1228可执行用户认证,以验证用户1202是否授权组装和定制模块化组件机器人玩具。在一些实施例中,用户管理应用程序1228可便于用户1202在专用在线社区或任何社交媒体中与模块化组件机器人玩具的其它用户交互。例如,老师可经由服务器206上的用户管理应用程序1228来远程地帮助学生组装和定制模块化组件机器人玩具。在该实施例中,固件管理应用程序1230可获得、储存和分配将在模块化组件机器人玩具的控制模块302上更新的固件。固件可动态地或定期地更新来修复故障、添加新功能和改善硬件性能。固件管理应用程序1230可通过版本(反映固件的近况)或类别(用于模块化组件机器人玩具的不同结构、形式和功能)来组织固件。在一些实施例中,一旦其变得可用,可通知固件更新且推送至主机204,或根据更新计划定期更新。
图13为根据实施例的包括多个组件模块1302,1304和1306以及连接器1308的模块化组件无人飞行器(UAV)机器人玩具1300的实例的透视图。如上文所述,模块化组件机器人玩具可组装和定制来实现多种结构、形式和功能,例如,图1A-1C中所示的模块化组件机器人玩具100。作为另一个实例,模块化组件UAV机器人玩具1300包括控制模块1302以及四个飞行促动模块1304-1,1304-2,1304-3和1304-4。各个飞行促动模块1304均可经由相应的连接器1308和控制模块1302的连接接口1310电气地且机械地连接到控制模块1302。成组推进器1306可附接到各个飞行促动模块1304,且由相应飞行促动模块1304中的马达驱动。控制模块1302和各个飞行促动模块1304均可包括备用连接接口1310来用于连接额外的组件模块、附件或任何其它物理结构。在一个实例中,有效负载可附接到控制模块1302的底部,例如,万向接头、相机或额外的电池组。在该实施例中,模块化组件UAV机器人玩具1300可不包括单独的功率模块。作为替代,功率模块可整体结合到控制模块1302和/或飞行促动模块1304中。在一些实施例中,单独的功率模块可插入模块化组件UAV机器人玩具1300中。
如上文详细所述,控制模块1302和飞行促动模块1304的结构和功能可分别与控制模块302和飞行促动模块320相同。关于连接器1308,尽管形状不同于连接器110的形状以便适应UAV的空气动力形状,但各个连接器1308仍包括适于分别配合到两个组件模块的连接接口1310中以及机械地且电气地连接如上文关于连接器110所述的两个组件模块的两个开口端。将认识到,在一些实施例中,不同的连接器可用于机械地且电气地连接模块化组件UAV机器人玩具1300的两个组件模块,例如,控制模块1302和飞行促动模块1304。例如,连接器的一端可与组件模块整体结合,且因此,连接器包括适于配合到另一组件模块的连接接口1310中的一个开口端。换言之,连接器可为组件模块的一部分,且可附接至另一个组件模块以及从其分开,这和可与两个组件模块分开的单独构件相反。在一些实施例中,连接器可经由任何适合的手段(诸如磁体)机械地连接至连接接口1310。
连接结构
图14A-14B是根据实施例的连接结构的实例的透视图。在该实施例中,如图14A中所示,连接结构包括连接器1402、第一组件模块1406-1上的第一连接接口1404-1,以及第二组件模块1406-2上的第二连接接口1404-2。连接器1402可与上文关于图1A-1C所述的连接器110相同,且各个连接接口1404也可与上文关于图1A-1C所述的连接接口相同。如图14A中所示,连接接口1404-1和1404-2分别是颜色识别模块和连接器模块的部分。然而,将认识到,连接接口1404可为本文所述的任何组件模块202的部分。如上文所述,并未限制组件模块202的连接接口1404的数目。例如,第一组件模块1406-1(诸如图14A中所示的颜色识别模块)可包括单个连接接口1404-1,而第二组件模块1406-2(诸如图14A中所示的连接器模块)可包括多个连接接口1404-2。
如图14B中所示,连接器1402的两端分别插入连接接口1404-1和1404-2中,以便机械地且电气地连接第一组件模块1406-1和第二组件模块1406-2。如下文详细所述,连接器1402可以以相对于彼此的多个定向插入连接接口1404-1和1404-2中。在一些实施例中,连接器1402可以以相对于彼此的任何定向插入连接接口1404-1和1404-2中。因此,用户不再需要以特定定向使连接器1402与各个连接接口1404对准以确保机械和电连接性。在该实施例中,第二组件模块1406-2上的备用连接接口1404-2可用于将额外组件模块经由额外连接器1402连接到第二组件模块1406-2。在该实施例中,连接器1402在插入连接接口1404-1和1404-2中之后可与各个连接接口1404分开。本文公开的连接结构因此提供了容易的方式来组装组件模块202以构造模块化组件机器人玩具以及将模块化组件机器人玩具拆卸成单独的组件模块202。
图15为根据实施例的连接结构的实例的分解视图。在该实施例中,连接结构包括连接器1402,以及具有壳1502和电路板1504的连接接口。将认识到,尽管图15中示出了一个连接接口,但具有与图15中所示的连接接口相同的结构的另一个连接接口可为连接结构的一部分。
图16A为根据实施例的连接器1402的实例的透视图。在该实施例中,连接器1402包括:具有两个开口端1508-1和1508-2的壳1506、包括卡扣1510-1和1510-2的锁定机构、凸起1512-1和1512-2和凹部1514-1和1514-2,以及突出的环1516。各个开口端1508可适于配合到连接接口1404-1和1404-2中。在该实施例中,壳1506是大致圆柱形的形状,且包括关于突出的环1516的两个对称部分。壳1506可由任何适合的材料(诸如塑料)制成。内空间(未示出)在壳1506内侧形成在两个开口端1508-1和1508-2之间。在该实施例中,连接器1402还包括布置和固定在壳1506的内空间中的四个销1518。
图16B为根据实施例的图16A中的连接器的销1518的实例的透视图。在该实施例中,各个销1518均包括两个端部1602-1和1602-2,以及本体1604。弹簧(未示出)可设置在本体1604的内部空间中,且连接在两个端部1602-1和1602-2之间。销1518的各个端部1602因此可由于弹簧的回弹性而上下移动。各个销1518(包括端部1602、本体1604和弹簧)可由任何适合的导电材料(诸如铜或铝)制成。一旦销1518的各个端部1602与表面(例如,触头)接触,则端部1602由弹簧朝表面下压以保持可靠的电连接性。销1518的两个端部1602-1和1602-1分别由壳1506的开口端1508-1和1508-2露出。各个销1518均与彼此平行,且与壳1506的中心轴线平行。销1518在连接器1402插入两个连接接口中时提供两个连接接口之间的电连接。将认识到,在该实施例中,销1518的数目对应于总线400的数目,且因此可在其它实例中不同。如图15和16A中所示,在该实施例中,四个销1518包括沿壳1506的中心轴线布置的中心销,以及相对于壳1506的中心轴线布置在同心环处的三个外周销。
在该实施例中,当连接器1402插入两个连接接口中时,锁定机构提供两个连接接口之间的机械连接和稳定性。卡扣1510-1和1510-2分别设置在壳1506的开口端1508-1和1508-2处的环形边缘上。如图15和16A中所示,各个开口端1508处的卡扣1510可由形成在壳1506上的凹部1514等距间隔开。凸起1512-1和1512-2分别设置在壳1506的外表面的由突出环1516分隔的两个对称部分上。如图15和16A中所示,壳1506的外表面的各个部分上的凸起1512也可由凹部1514等距间隔开。将认识到,在一些实施例中,锁定机构可包括卡扣1510、凸起1512和凹部1514中的一个或一些,但不是全部。在一些实施例中,除卡扣1510、凸起1512和凹部1514外的锁定机构可形成在连接器1402中。
现在参看图15和18,在该实施例中,连接接口的壳1502包括盖1520、孔1522,包括凹部1524、凸起1526和下环形边缘(未示出)的锁定机构,以及上环形边缘1528。壳1502可由任何适合的材料(诸如塑料)制成。在该实施例中,壳1502的孔1522是大致圆柱形的形状,其适合连接器1402的大致圆柱形的形状。当连接器1402的一端插入连接接口中时,锁定机构提供连接接口与连接器1402之间的机械连接和稳定性。下环形边缘和上环形边缘1528分别设置在壳1502的孔1522的两端处。凹部1524形成在壳1502中。如图15和18中所示,凹部1524可与彼此等距间隔开。凹部1524的数目与壳1506的外表面的一部分上的凸起1512-1的数目相同。凸起1526设置在壳1502的内表面上。如图15和18中所示,凸起1526可由凹部1524等距间隔开。凸起1526的数目与壳1506的一部分中的凹部1514-1的数目相同。将认识到,在一些实施例中,锁定机构可包括凹部1524、凸起1526和下环形边缘中的一个或一些,但不是全部。在一些实施例中,除凹部1524、凸起1526和下环形边缘的机构可形成在连接接口中。
如图18中所示,在该实施例中,引导孔1802形成于布置在壳1502的孔1522的下端处且连接至壳1502的内表面的面板上。当连接器1402插入连接接口中时,各个销1518的包括端部1602-1的部分穿过一个引导孔1802以达到电路板1504。在该实施例中,引导孔1802的数目与电路板1504上的触头的数目相同,且大于连接器1402的销1518的数目。
现在参看图15和17,在该实施例中,连接接口的电路板1504包括布置在电路板1504的中心处的平坦中心触头1530,以及分开地布置在电路板1504上的同心环处的平坦外周触头1532。在该实施例中,如图17中所示,在电路板1504的最外环处,第一组四个外周触头1532-3通过电路板1504与彼此电连接,例如,通过电路板1504内侧或电路板1504的另一侧上的线。类似地,在电路板1504上的最外侧环处,第二组四个外周触头1532-2通过电路板1504与彼此电连接,例如,通过电路板1504内侧或电路板1504的另一侧上的线。第一组外周触头1532-3和第二组外周触头1532-2与彼此电分离。在电路板1504上的最内环处,所有四个外周触头1532-1通过电路板1504与彼此电连接,例如,通过电路板1504内侧或电路板1504的另一侧上的线。成组外周触头1532-1与第一组外周触头1532-3和第二组外周触头1532-2电分离。即,对应于中心触头1530、外周触头1532-1、外周触头1532-2和外周触头1532-3的四个单独的电触头形成在电路板1504上。四个单独的电触头中的各个均电连接到总线400的四条线中的一条上。另一方面,当连接器1402插入连接接口中时,连接器1402的四个销1518中的各个与四个单独的电触头中的相应一个接触。具体而言,中心销与中心触头1530接触,且各个外周销与成组相应的外周触头1532中的一个接触,这取决于连接器1402插入连接接口的定向。在一些实施例中,最内环中的成组四个单独的外周触头1532-1可由单个环触头替换。
图19为根据实施例的连接结构的实例的截面视图。在该实施例中,连接器1402以多个定向中的一个插入上文关于图15-18所述的两个连接接口中。连接器1402的销1518与各个连接接口的平坦触头接触,以便两个连接接口电连接。具体而言,各个销1518的一端1602-1与一个连接接口的电路板1504-1上的平坦触头1530和1532接触,且各个销1518的另一端1602-2与另一个连接接口的电路板1504-2上的平坦触头1530和1532接触。各个销1518均穿过各个连接接口的一个引导孔1802。取决于连接器1402插入连接接口的定向,连接器1402的各个外周销可穿过不同的引导孔1802且与电路板1504上的不同外周触头1532接触。
图20A-20D为根据实施例的分别以90度偏移的四个定向与连接器1402的销1518接触的连接接口的平面视图。在图20A-20D中,各个实点代表穿过引导孔1802且与电路板1504上的对应的平坦触头1530或1532接触的一个销1518。如上文所述,四个销1518均包括沿壳1506的中心轴线布置的中心销,以及沿同心环相对于中心销布置的三个外周销。在该实施例中,彼此电分离的两个外周销相对于中心销布置在最外环处,且一个外周销布置在最内环处。如图20A-20D中所示,不论定向如何,中心销始终穿过中心引导孔且与电路板1504上的中心触头1530接触。
关于最外环处布置的外周销,外周销可穿过最外环处的四个引导孔中的一个,且取决于定向与布置在电路板1504上的最内环处的四个外周触头1532-1中的一个接触。在该实施例中,四个引导孔和外周触头1532-1在最内环处以90度偏移等距间隔开。关于最外环处布置的两个外周销,两个外周销中的各个可在最外环处以90度偏移穿过四个引导销中的一个,且取决于定向在电路板1504上的最外环处以90度偏移与四个外周触头1532-2或1532-3中的一个接触。即,通过将两组外周触头1532-2和1532-3布置在电路板1504上的相同最外环处,其中各个均以45度偏移间隔开,两个电分离的外周销可布置在相同的最外环处,以节省将销1518布置在连接器1402中所需的空间。另一方面,此布置可在连接器1402以多个定向插入连接接口中时确保电连接性,从而提高了对应的连接结构的灵活性。将认识到,连接器1402可插入连接接口中的定向的数目不限于如该实施例中所示的四个。在其它实例中,通过改变用于外周销、引导孔和外周触头的同心环的数目,布置在各个同心环处的外周销、引导孔和外周触头的数目,和/或布置在各个同心环处的相邻外周销、引导孔和外周触头之间的角偏移,连接器1402可以以任何适合数目的定向插入连接接口中。
回到图19,除电连接外,当连接器1402以相对于彼此的多个定向中的一个插入两个连接接口中时,连接器1402的锁定机构与各个连接接口的锁定机构联锁,以便两个连接接口也机械地连接。在该实施例中,当连接器1402插入两个连接接口中时,壳1502的孔1522的中心轴线与壳1506的中心轴线对准。如图19中所示,壳1506的一个环形边缘上的卡扣1510-1卡扣配合至一个连接接口的壳1502-1的下环形边缘1902-1,且壳1506的另一个环形边缘上的卡扣1510-2卡扣配合至另一个连接接口的壳1502-2的下环形边缘1902-2。如图19中所示,壳1506的外表面的一部分上的各个凸起1512-1插入一个连接接口的壳1502-1中的相应凹部1524-1中,且壳1506的外表面的另一个部分上的各个凸起1512-2插入另一个连接接口的壳1502-2中的相应凹部1524-2中。尽管图19中未示出,但在一些实施例中,连接接口的壳1502的内表面上的各个凸起1526可插入壳1506中的相应凹部1514中,以进一步加强两个连接接口经由连接器1402的机械连接。
连接器1402和连接接口的锁定机构不仅可向对应结构提供机械稳定性,而且可引导连接器1402以某些定向插入连接接口中。在该实施例中,一个连接接口的壳1502-1的上环形边缘1528-1抵靠连接器1402的壳1506的突出环1516的一侧,且另一个连接接口的壳1502-2的上环形边缘1528-2抵靠突出环1516的另一侧,其可向对应的连接结构提供额外的机械稳定性和轴向引导。在该实例中,连接器1402可插入两个连接接口中的可能的定向的数目与壳1502中的凹部1524的数目、壳1506中的凹部1514的数目、壳1502上的凸起1526的数目和壳1506上的凸起1512的数目相同。例如,凹部1524或1514中的各个与相邻凹部1524或1514偏离90度,且凸起1526或1512中的各个也与相邻的凸起1526或1512偏离90度。将认识到,连接器1402可插入连接接口中的定向的数目不限于如该实施例中所示的四个。在其它实例中,通过改变锁定机构的数目和/或相邻锁定机构之间的角偏移,连接器1402可以以任何适合数目的定向插入连接接口中。
图21A-21B是根据实施例的具有在其上的环触头2106的电路板2102或2108的各种实例的透视图。在该实施例中,各自布置在电路板2102或2108上的一个同心环处的多个环触头2106替换图17中所示的外周触头1532。类似于关于图17所述的实施例,中心触头2104布置在电路板2102或2108的中心处。在该实施例中,对应的连接器包括沿壳的中心轴线布置的中心销,以及相对于中心轴线布置在同心环处的多个外周销。在该实施例中,环触头2106的数目与对应连接器的外周销的数目相同。例如,在图21A中,电路板2102包括三个环触头2106,且因此,对应的连接器包括三个外周触头,其中各个均可与相应的环触头2106接触。在图21B中,电路板2108包括四个环触头2106,且因此,对应的连接器包括四个外周触头,其中各个均可与相应的环触头2106接触。
相比于关于图15-20的其中一些外周销布置在相同的最外环处的实施例,将外周销布置在连接器中且将外周触头布置在电路板2102或2108上所需的空间在该实施例中增大。另一方面,该实施例中公开的布置可在连接器以相对于连接接口的任何定向插入时确保连接器与连接接口之间的电连接性,即,可实现360度旋转。另外,该实施例中公开的布置对于将更多电触头加入连接器与连接接口之间很简单,即,通过在连接接口的电路板2102或2108上的外同心环处加入额外的环触头和将对应的外周销加到连接器。将认识到,在该实施例中,对应的连接器和连接接口的锁定机构可不同于上文关于图15-20的实施例中所述的锁定机构,以在该实施例中实现连接结构的"360度旋转"。
图22A和22B分别是根据实施例的连接器2202的另一个实例的透视图和截面视图。在该实施例中,壳和其上的机械锁具有与关于图15-20的实施例中所述的结构相同的结构,且因此将不会再次重复。在该实施例中,连接器2202包括中心销2204和三个同心环触头2206-1,2206-2和2206-3。中心销2204沿壳的中心轴线布置,且各个环触头2206布置成与中心销2204(中心轴线)同心。中心销2204和环触头2206中的各个均包括两端,其中各个分别由连接器2202的壳的两个开口端中的一个露出。图22C为根据实施例的连接器2202的触头2204和2206的透视图。如图22B和22C中所示,环触头2206的长度是不同的。例如,环触头2206-1布置在最外环处,且具有三个环触头2206中的最大长度;环触头2206-2布置在中间环处,且具有三个触头2206中的第二大长度;环触头2206-3布置在最外环处,且具有三个环触头2206中的最小长度。在该实施例中,中心销2204具有比环触头2206-2和2206-3的长度大的长度,但小于环触头2206-1的长度。在该实施例中,由于三个环触头2206同心地布置,故最内环触头2206-1具有最小直径,且最外环触头2206-3具有三个环触头2206中的最大直径。中心销2204和各个环触头2206可由任何适合的导电材料(诸如铜或铝)制成。
图23为根据实施例的连接接口的另一个实例的平面视图。图24A为根据实施例的图23中的连接接口的电路板2402的另一个实例的平面视图。该实施例中的连接接口可结合图22A-22C中所示的连接器2202使用。连接接口可包括壳2302和电路板2402。在该实施例中,壳2302上的机械锁具有与关于图15-20的实施例中所述的那些相同的结构,且因此将不会再次重复。在该实施例中,替代具有布置在如图18中所示的面板上的中心和同心环处的引导孔1802,中心引导孔和三个环开口形成在面板上,以允许对应的中心销2204和环触头2206分别穿过。在该实施例中,中心触头2404和三个外周触头2406-1,2406-2和2406-3布置在电路板2402上。中心触头2404布置在电路板2402的中心处,且各个外周触头2406布置在离中心触头2404的不同距离处。换言之,各个外周触头2406布置在相应的同心环处。具体而言,外周触头2406-1布置在最内环中且具有三个外周触头2406中离中心销2404最短的距离;外周触头2406-2布置在中间环中且具有三个外周触头2406中离中心销2404第二短的距离;外周触头2406-3布置在最外环中,且具有三个外周触头2406中离中心销2404最长的距离。
图24B-24D是根据实施例的与图23中的连接接口接触的包括图22A中的连接器2202的连接结构的另一个实例的截面视图。在该实施例中,当连接器2202插入连接接口中时,中心触头2404可穿过壳2302(见图23)中的中心引导孔,以与连接器2202的中心销2204接触,且各个外周触头2406可穿过壳2302(见图23)中的相应的环开口以与相应的环触头2206接触。结果,四个电触头由对应于总线400的四条线的连接结构形成。为了确保可靠的电连接性,在该实施例中,中心触头2404和外周触头2406中的一个或多个可变形,以便在连接器2202插入连接接口中时压入连接器2202的相应触头2204或2206。例如,中心触头2404可包括连接到如图24B-24D中所示的弹簧的端部。各个外周触头2406均可包括可在压力下变形的回弹性的锯齿部分。
关于图22-24在该实施例中公开的布置可在连接器以相对于连接接口的任何定向插入时确保连接器2202与连接接口之间的电连接性,即,可实现360度的旋转。另外,该实施例中公开的布置对于将更多电触头加入连接器2202与连接接口之间很简单,即,通过在连接接口的电路板2402上的外同心环处加入额外的外周触头以及将对应的环触头加到连接器2202。此外,如下文所述,该实施例中的连接接口和连接器2202的其它结构(诸如锁定机构)与关于图15-20的实施例中的对应结构相同。类似于关于图15-20的实施例,当连接器2202以相对于彼此的多个定向插入两个连接接口中时,连接器2202的锁定机构与各个连接接口的锁定机构联锁,以便两个连接接口机械地连接。在该实施例中,连接器2202在插入连接接口中之后可与各个连接接口分开。本文公开的连接结构因此提供了容易的方式来组装组件模块以构造模块化组件机器人玩具以及将模块化组件机器人玩具拆卸成单独的组件模块。
组件模块登记和状态更新
图25为根据实施例的控制模块302和多个组件模块202与主机204之间的通信的实例的图示。在该实施例中,控制模块302可使用USB和/或蓝牙执行与主机204的双向通信。在一个实例中,由主机204生成的主机指令(例如,控制指令)可使用BLE技术传输至控制模块302。在另一个实例中,由主机204生成的主机指令(例如,编程指令)可使用USB传输至控制模块302。错误检测和校正码(诸如循环冗赘核对(CRC)代码)可加到主机指令的原始数据以确保主机指令的可靠传递。另一方面,模块数据(例如,由传感器模块304获得的传感器信号和各个组件模块202的状态数据)可使用BLE技术从控制模块302传输至主机204。
在该实施例中,固件也可使用BLE或USB从主机204传输至控制模块302。如下文详细所述,在一些实施例中,固件文件可分成具有相同或不同大小的多个数据包,其中各个均包括头标以及错误检测和校正码。各个数据包可按顺序传输至控制模块302,且检查数据错误。结束数据包可加入来指出固件数据包流的传输的结束。在一些实施例中,固件文件可使用对于控制模块302唯一的信息来加密,以确保仅正确的控制模块302可解密且更新接收的固件。
在该实施例中,如上文所述,控制模块302可在模块化组件机器人玩具中经由总线400执行与任何组件模块202的双向通信。例如,总线400可为CAN总线,且CAN数据传输和ID分配协议可用于控制模块302与组件模块202之间的通信。在该实施例中,各个组件模块202均包括初始ID,其可唯一地识别组件模块202。初始ID可储存在对应组件模块202的持久储存器616中,例如,ROM或闪存,且不可改变。在一些实施例中,指出对应组件模块202的类型的模块类型ID可为初始ID的一部分,或可从初始ID推导出。相同类型的组件模块(例如,所有功率模块310或所有连接器模块312)可具有相同的模块类型ID。初始ID可由控制模块302和主机204使用来识别对应的组件模块202和组件模块202的更新状态(例如,在线或脱机)。在一些实施例中,初始ID可在通信ID分配至组件模块202之前用作对应的组件模块202的通信地址。
在该实施例中,经由总线400用作通信地址(例如,源地址或目标地址)的通信ID可基于初始ID生成,且由控制模块302分配至对应的组件模块202。在一些实施例中,通信ID可包括传输ID和接收ID。例如,传输ID可在消息从控制模块302传输至对应组件202时使用,且接收ID可在消息由控制模块302从对应组件模块202接收时使用。在一些实施例中,接收ID可从对应的传输ID推导出。因此,控制模块302可仅需要提供传输ID至对应的组件模块202,且组件模块202可基于接收到的传输ID推导出对应的接收ID。在一个实例中,接收ID可为传输ID+0x0100。例如,如果传输ID是0x0060,则接收ID是0x0160。
在该实施例中,控制模块302可使用对应组件模块202的传输ID通过总线400的两条数据线将操作指令传输至各个组件模块202。操作指令可以以数据消息的形式传输,其中各个均包括对应组件模块202的传输ID作为目标地址。以下的表1示出了从控制模块302传输至红外传感器模块314的操作指令的消息的一个实例。
表1
另一方面,各个组件模块202可将模块数据(例如,传感器信号或状态数据)通过总线400的两条数据线传输至控制模块302。模块数据可以以数据消息的形式传输,其中各个均包括对应组件模块202的接收ID以识别消息源。以下的表2示出了从功率模块310传输至控制模块302的模块数据的消息的一个实例。
表2
字节 字段
0 Rx ID 0x01
1 功率水平低字节
2 功率水平高字节
3 N/A N/A
4 N/A N/A
5 N/A N/A
6 N/A N/A
7 N/A N/A
当组件模块202第一次联接到模块化组件机器人玩具中时,组件模块202可需要由控制模块302登记为模块化组件机器人玩具的一部分。例如,对于图1A-C中所示的模块化组件机器人玩具100,当用户第一次将红外传感器模块112插入模块化组件机器人玩具100中来加入物体检测能力时,新加入的红外传感器模块112可能需要登记为模块化组件机器人玩具100的一部分。图26为示出根据实施例的登记组件模块202的实例。在该实施例中,新组件模块202的登记可由控制模块302通知至主机204,以便主机204可管理模块化组件机器人玩具的所有登记的组件模块202,且将登记信息提供至用户和/或服务器206。
在2602处,组件模块202可取得其初始ID。例如,对于组件模块202唯一的初始ID可在组件模块202制造时储存到组件模块202的持久储存器616中,其不可在之后改变。在一些实施例中,初始ID可以储存在持久储存器616中具有预先限定的长度的预先限定的地址处,且组件模块202可通过从具有预先限定的长度的预先限定的地址读取数据来取得初始ID。如果没有数据储存在预先限定的地址处,则组件模块202不可工作。在一些实施例中,单独的指示物可储存在持久储存器616中,且组件模块202可首先读取指示物来查看初始ID是否适当分配和储存。该过程可在组件模块202插入模块化组件机器人玩具中时自动地触发,且由来自总线400的电力线的功率信号供能。
在2604处,组件模块202可将包括取得的初始ID的模块初始消息经由总线400的数据线传输至控制模块302。以下的表3示出了从组件模块202传输至控制模块302的模块初始消息的一个实例。在该实例中,字段"标记"指出了六字节的初始ID从消息的下一字节开始。在一些实施例中,模块初始消息还可包括组件模块202的模块类型ID。
表3
在2606处,在从组件模块202接收到模块初始消息之后,控制模块302可将通信ID分配至组件模块202,其未来可用于组件模块202与控制模块302之间经由总线的通信。通信ID可基于模块初始消息中的信息生成,例如,组件模块202的初始ID和/或模块类型ID。例如,如果组件模块202是与模块化组件机器人玩具登记的同一类型的唯一组件模块,则控制模块302可基于模块类型ID生成通信ID。如果存在同一类型的一个以上的组件模块202,即,模块类型ID不再是唯一的,则控制模块302可基于组件模块202的初始ID生成通信ID,其唯一地识别如上文所述的对应的组件模块202。在一些实施例中,一定范围的通信ID可对于各类型的组件模块202保留。例如,用于运动模块318的通信ID可在0x31到0x3F的范围中。在一些实施例中,通信ID可包括如上文所述的传输ID和接收ID。
在2608处,控制模块302可传输ID分配消息,其包括经由总线400的数据线至组件模块202的分配的通信ID。在一些实施例中,如果通信ID包括传输ID和接收ID两者,则ID分配消息可包括传输ID和接收ID两者或仅传输ID(如果接收ID可从传输ID推导出)。以下的表4示出了从控制模块302传输至组件模块202的ID分配消息的一个实例。如上文所述,在该实例中,ID分配消息包括组件模块202的初始ID作为消息的目标地址。初始ID可不用于通信ID传递至组件模块202之后的组件模块202与控制模块302之间的未来通信。
表4
在2610处,在从控制模块302接收到包括分配的通信ID的ID分配消息之后,组件模块202可开始将指出组件模块202的正常状态的"心跳"消息定期传输至控制模块302。各个心跳消息均可包括通信ID(例如,接收ID)来验证消息源。
在2612处,一旦控制模块302从对应的组件模块202接收到第一心跳消息,且识别到组件模块202之前未与模块化组件机器人玩具登记,则控制模块302可将对应组件模块202的初始ID加入在线模块列表。在线模块列表可包括与模块化组件机器人玩具登记且目前联接至模块化组件机器人玩具的所有组件模块202的初始ID。在2614处,控制模块302还可将资源分配至组件模块202。在2616处,控制模块302可重置组件模块202的阈值周期的值。阈值周期的值可随时间过去而连续地减小。阈值周期可由控制模块302使用来确定对应的组件模块202是否与模块化组件机器人玩具分开(即,变为脱机的)。新近加入的组件模块202然后认作是由控制模块302与模块化组件机器人玩具登记。
在2618处,一旦完成组件模块202的登记过程,则控制模块302可将指出组件模块202登记的模块登记消息传输至主机204。在一些实施例中,主机204可更新登记列表以包括组件模块202,且将通知组件模块202的登记的消息提供给用户。
图27为示出根据实施例的用于登记组件模块202的方法2700的实例的流程图。将参照以上附图来描述其。然而,可使用任何适合的电路、逻辑、单元或模块。方法2700可由可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上运行的指令)或它们的组合的任何适合的电路、逻辑、单元或模块执行。将认识到,可能并非所有步骤都需要来执行本文提供的公开内容。此外,一些步骤可同时执行,或以不同于图27中所示的顺序执行,这将由本领域的普通技术人员理解到。
在2702处开始,控制模块302可接收具有组件模块202的第一ID的第一消息。第一ID可储存在组件模块202的持久储存器616中且唯一地识别组件模块202。在一些实施例中,第一消息还可包括指出组件模块202的类型的第三ID。第三ID可与第一ID分开,为第一ID的一部分,或可从第一ID推导出。
在2704处,控制模块302可基于组件模块202的第一ID生成组件模块202的第二ID。第二ID可用于控制模块302与组件模块202之间的未来通信。在一些实施例中,第二ID可基于第一ID和第三ID两者或单独基于第三ID生成。在一些实施例中,第二ID可包括两个子ID,例如,传输ID和接收ID,或可为传输ID和接收ID中的一个。在2706处,控制模块302可将具有第二ID的第二消息传输至组件模块202。在一些实施例中,第二消息可也可包括组件模块202的第一ID和/或第三ID。
在2708处,控制模块302可确定具有用于组件模块202的第二ID的第三消息是否从组件模块202接收到。在一些实施例中,第三消息还包括正常状态指示物,且由组件模块202定期地传输至控制模块302。换言之,第三消息可为心跳消息。第二ID由控制模块302分配至组件模块202,且传输至组件模块202以用于控制模块302与组件模块202之间的未来通信,包括心跳消息。如果未接收到第三消息,则控制模块302可继续检查第三消息的接收。如果接收到第三消息,则在2710处,控制模块302可将组件模块202登记为模块化组件系统(例如,机器人玩具)的新组件模块。
现在将更详细地描述2710的实施例。具体而言,在2712处,控制模块302可将组件模块202的第一ID加入在线模块列表。即,组件模块202可与状态关联为联接至模块化组件系统。在2714处,控制模块302可将资源分配至组件模块202。在2716处,控制模块302可重置组件模块202的阈值周期。在2718处,控制模块302可将具有组件模块202的状态的第四消息传输至主机204。状态可指出组件模块202联接到模块化组件系统,且登记为模块化组件系统的新组件模块。
图28为示出根据实施例的用于登记组件模块202的方法2800的另一个实例的流程图。将参照以上附图来描述其。然而,可使用任何适合的电路、逻辑、单元或模块。方法2800可由可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上运行的指令)或它们的组合的任何适合的电路、逻辑、单元或模块执行。将认识到,可能并非所有步骤都需要来执行本文提供的公开内容。此外,一些步骤可同时执行,或以不同于图28中所示的顺序执行,这将由本领域的普通技术人员理解到。
在2802处开始,组件模块202可从持久储存器616获得第一ID。在一些实施例中,2802可响应于通电的组件模块202来自动地执行。在2804处,组件模块202可将具有第一ID的第一消息传输至控制模块302。第一消息可包括指出组件模块202的类型的第三ID。在2806处,组件模块202可确定具有第二ID的第二消息是否从控制模块302接收到。如果未接收到第二消息,则组件模块202可继续检查第二消息的接收。如果接收到第二消息,则在2808处,组件模块202可将具有第二ID的第三消息传输至控制模块302。在一些实施例中,组件模块202可将包括指出心跳消息的来源的第二ID的心跳消息定期传输至控制模块302。
在一些情形中,模块化组件系统的登记的组件模块可例如由于松开的连接器、较差的接触等有意或无意地与模块化组件系统分开。因此,可能期望有效且高效地检测和更新模块化组件系统的各个登记的组件模块的状态(例如,在线或脱机),而不关闭模块化组件系统的电力。例如,对于图1A-1C中所示的模块化组件机器人玩具100,当登记的红外传感器模块112与模块化组件机器人玩具100意外分开时,控制模块102可快速检测此事件,且将红外传感器模块112的状态更新为脱机的。在红外传感器模块112插回到模块化组件机器人玩具100中时,控制模块102也可快速检测此事件,且将红外传感器模块112的状态更新为在线的。图29为示出根据实施例的更新与组件模块202相关联的状态的实例的事件图。在该实施例中,组件模块202的状态更新可由控制模块302通知到主机204,以便主机204可管理模块化组件机器人玩具的所有登记的组件模块202的状态,且将状态信息提供至用户和/或服务器206。
在2902处,组件模块202可将指出组件模块202的正常状态的心跳消息定期传输至控制模块302。各个心跳消息均可包括通信ID(例如,接收ID)来验证消息源。在一些实施例中,心跳消息的传输可为不管该实施例中的其它事件或过程而无条件执行的独立过程。在一些实施例中,心跳消息的传输可取决于该实施例中的其它事件或其它过程的结果,这将在下文中详细描述。
在2904处,主机204可将数据请求消息传输至控制模块302来从组件模块202请求数据。例如,主机204可从传感器模块304请求状态数据或传感器信号。在2906处,响应于接收数据请求消息,控制模块302可将数据请求消息经由总线400的数据线传输至对应的组件模块202以用于从组件模块202请求数据。数据请求消息可包括分配至组件模块202的传输ID作为如上文所述的数据请求消息的目标地址。
在2908处,响应于从控制模块302接收到数据请求消息,组件模块202可取得请求数据,例如,从持久储存器616、存储器604和/或任何其它适合的构件。在2910处,组件模块202可将数据消息经由总线400的数据线传输至控制模块302。数据消息可包括指出数据消息的来源的组件模块202的接收ID和请求的数据。在2912处,响应于从组件模块202接收数据消息和基于接收ID识别数据消息的来源,控制模块302可将包括请求数据的数据消息传输至主机204。在一些实施例中,如果组件模块202以时间间隔保持传输数据消息至控制模块302,则组件模块202可跳过传输心跳信息至控制模块302,因为数据消息还可指出组件模块202的正常状态。
在2914处,响应于在2902处接收心跳消息或在2910处从组件模块202接收数据消息,控制模块302可确定组件模块202目前联接到模块化组件机器人玩具(即,在线),且因此将对应的组件模块202的初始ID加入在线模块列表。在一些实施例中,分配至组件模块202的通信ID可也可记录于在线模块列表中。在2916处,控制模块302还可重置组件模块202的阈值周期的值。在2918处,控制模块302可将状态消息传输至主机204,其指出对应组件模块202的在线状态。在一些实施例中,主机204可更新在线模块列表来包括组件模块202,且将通知组件模块202的在线状态的消息提供给用户。
图30为示出根据实施例的更新与组件模块202相关联的状态的另一个实例的事件图。在3002处,主机204可将数据请求消息传输至控制模块302以用于从组件模块202请求数据。例如,主机204可从传感器304请求状态数据或传感器信号。在3004处,响应于接收数据请求消息,控制模块302可将数据请求消息经由总线400的数据线传输至对应的组件模块202来从组件模块202请求数据。数据请求消息可包括分配至组件模块202的传输ID作为如上文所述的数据请求消息的目标地址。
在3006处,控制模块302直到对应的组件模块202的阈值周期到期都未从组件模块202接收数据消息作为3004处传输的数据请求消息的响应,也未从组件模块202接收心跳消息。控制模块302因此可确定组件模块202目前与模块化组件机器人玩具分开(即,变为脱机)。在3008处,控制模块302可将组件模块202的初始ID移动至脱机模块列表。在一些实施例中,分配给组件模块202的通信ID也可记录在脱机模块中。在一些实施例中,在3004处,控制模块302可不将数据请求消息传输至组件模块202。在3006处,如果控制模块302直到组件模块202的阈值周期到期都未从组件模块202接收到心跳消息,则控制模块302也可将组件模块202的初始ID移动到脱机模块列表。在3010处,控制模块302可将状态消息传输至主机204,其指出对应组件模块202的脱机状态。在一些实施例中,主机204可更新脱机模块列表来包括组件模块202,且将通知组件模块202的脱机状态的消息提供给用户。
图31为示出根据实施例的用于更新与组件模块202相关联的状态的方法3100的实例的流程图。将参照以上附图来描述其。然而,可使用任何适合的电路、逻辑、单元或模块。方法3100可由可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上运行的指令)或它们的组合的任何适合的电路、逻辑、单元或模块执行。将认识到,可能并非所有步骤都需要来执行本文提供的公开内容。此外,一些步骤可同时执行,或以不同于图31中所示的顺序执行,这将由本领域的普通技术人员理解到。
在3102处开始,控制模块302可将第一消息传输至组件模块202来从组件模块202请求数据。第一消息可包括分配到组件模块202的通信ID作为目标地址。如上文所述,通信ID可由控制模块302基于组件模块202的初始ID生成。在一些实施例中,第一消息可响应于从主机204接收到数据请求消息而生成。
在3104处,控制模块302可确定包括请求数据的第二消息是否从组件模块202接收到。如果控制模块302并未从组件模块202接收到第二消息,则在3106处,控制模块302可确定包括正常状态指示物的第三消息(例如,心跳消息)是否从组件模块202接收到。如果控制模块302并未从组件模块202接收到第三消息,则控制模块302可检查组件模块202的阈值周期是否过期。如果阈值周期过期,则在3118处,控制模块302可将组件模块202的状态更新为与模块化组件系统分开(即,脱机)。如果在3116处,阈值周期未过期,则方法3100回到3102。
如果控制模块302在3104处接收第二消息或在3106处从组件模块202接收第三消息,则在3108处,控制模块302可将组件模块202的状态更新为联接至模块化组件系统(即,在线)。现在将更详细地描述3108的实施例。具体而言,在3110处,控制模块302可确定组件模块202的初始ID和/或通信ID是否在在线模块列表中。如果组件模块202的初始ID和/或通信ID不在在线模块列表中(例如,意味着组件模块202在与模块化组件系统分开之后可快速再插入模块化组件系统中),则在3112处,控制模块302可将组件模块202的初始ID和/或通信ID加入在线模块列表。在一些实施例中,之前分配给组件模块202的资源可恢复。在3114处,控制模块302还可重置组件模块202的阈值周期的值。如果在3110处,组件模块202的初始ID和/或通信ID在在线模块列表中(例如,意味着组件模块202保持插入模块化组件系统中),则控制模块302可跳过3112,且在3114处重置组件模块202的阈值周期的值。
在3118或3114之后,控制模块302可在3120处传输包括组件模块202的当前状态(在线或脱机)的第四消息至主机204。在一些实施例中,主机204可更新在线模块列表或脱机模块列表以包括相应的组件模块202,且将通知组件模块202的当前在线或脱机状态的消息提供给用户。
图32为示出根据实施例的用于更新与组件模块202相关联的状态的方法3200的另一个实例的流程图。将参照以上附图来描述其。然而,可使用任何适合的电路、逻辑、单元或模块。方法3200可由可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上运行的指令)或它们的组合的任何适合的电路、逻辑、单元或模块执行。将认识到,可能并非所有步骤都需要来执行本文提供的公开内容。此外,一些步骤可同时执行,或以不同于图32中所示的顺序执行,这将由本领域的普通技术人员理解到。
在3202处开始,组件模块202可从控制模块302接收第一消息来从组件模块202请求数据。在3204处,组件模块202可取得请求的数据。在3206处,组件模块202可将包括请求的数据的第二消息传输至控制模块302。并行地,在3208处,组件模块202可将包括正常状态指示物的第三消息定期传输至控制模块302。将认识到,如上文所述,在一些实施例中,如果第二消息在一定时间段内传输至控制模块302,则组件模块202可跳过将第三消息传输至控制模块302。在一些实施例中,第二消息和第三消息中的各个还可包括由控制模块302分配至组件模块202的通信ID,其指出第二消息或第三消息的来源。
控制模块固件更新
在一些情形中,可能期望更新组件模块202的固件,诸如控制模块302。在一个实例中,前一个版本的固件中检测到的故障可在更新的固件中修复。在另一个实例中,新功能可加到更新的固件。在又一个实例中,组件模块202可通过下载不同固件而变为不同类型的组件模块202。在任何情况下,存在由特定组件模块202下载的固件由于错误或由于恶意复制的批量下载而不用于组件模块202的风险。图33-35公开了以确保待更新的固件用于正确的控制模块的安全方式更新控制模块302上的固件的实例。
图33为示出根据实施例的更新控制模块302上的构件的实例的事件图。在3302处,控制模块302可采样控制模块302自身的噪音信号。将理解,某些噪音信号(例如,高斯白噪音)在任何时间都是随机信号,且因此对于噪音信号的来源可为唯一的,例如,该实例中的控制模块302。将认识到,在一些实施例中,采样的信号可不限于噪音信号,且可为对于控制模块302唯一的任何信号。在该实施例中,控制模块302可首先采样控制模块302的某些构件(例如,电源),以获得初始信号(例如,功率信号)。在一个实例中,采样可由模数转换(ADC)执行。控制模块302然后可对初始信号滤波以用于除去噪音信号,以获得滤波信号,例如,滤波的功率信号。滤波可由卡尔曼滤波、一次时滞或低通滤波、加权平均递归滤波、勃特沃斯滤波、切比雪夫滤波或任何其它适合的滤波器来执行。控制模块302可基于初始信号和滤波信号来计算噪音信号。例如,噪音信号的值可通过将初始信号的值减去滤波信号的值来获得。
在3304处,控制模块302可基于噪音信号计算加密秘钥。例如,模除运算可用于计算加密秘钥。在一个实例中,噪音信号的值可模除16(NoiseValue%16)来获得加密秘钥。在一些实施例中,可检查加密秘钥的长度来看其是否满足安全要求。如果加密秘钥的长度不满足安全要求,则不同的模除运算可用来生成另一个加密秘钥。在3306处,控制模块302可将加密秘钥储存在例如持久储存器716中。将认识到,加密秘钥可储存在任何适合的储存器中。
将认识到,在一些实施例中,加密秘钥可由其它途径生成。在一个实例中,任何适合的计算随机数生成器(RNG)都可由控制模块302用于生成加密秘钥,诸如线性线性同余生成器、平方取中法、MersenneTwister算法、CryptGenRandom、概率密度函数或任何伪随机数生成器(PRNG)等。在另一个实例中,控制模块302的初始ID或控制模块302的任何构件的任何ID(例如,处理器702的ID)可由控制模块302用于生成加密秘钥。
在3308处,主机204可将固件更新请求消息传输至控制模块302。将认识到,3308可在3302之前发生。换言之,在一些实施例中,控制模块302可采样噪音信号来响应于接收固件更新请求消息生成加密秘钥。在一些实施例中,控制模块302可执行3302,而不论是否接收到构件更新请求消息。例如,当控制模块302通电时,控制模块302可首次自动地执行3302。在任何情况下,在3310处,控制模块302可将加密秘钥消息传输至主机204。控制模块302可取得储存在持久储存器716中的加密秘钥,且包括加密秘钥消息中的加密秘钥。
在3312处,主机204可加密固件来基于接收到的加密秘钥更新。任何适合的加密算法都可由主机204使用以用于加密,诸如但不限于高级加密标准(AES)、数据加密标准(DES)或三重DES(3DES)。在3314处,主机204可将固件文件分成M个数据包。在该实施例中,各个数据包可具有相同大小且包括头标以及错误检测和校正码。以下的表5示出了固件数据包的一个实例。在表5中,头标包括标记、包大小和包数目。包大小并未算入头标以及错误检测和校正码,但包括包数目和数据。数据的大小是包大小减去两字节。
表5
在3316处,主机204可将第一固件数据包传输至控制模块302。在该实施例中,控制模块302可基于CRC16代码检查第一固件数据包。如果通过CRC检查,则控制模块302可发送消息来通知主机204继续传输下一个固件数据包。如果未通过CRC检查,则控制模块302可发送消息来通知主机204重新发送前一个固件数据包。在一些实施例中,如果在通知主机204重新发送前一个固件数据包之后未在一定时段内从主机204接收到响应或如果在一定次数内未通过CRC检查,则固件更新过程可终止。相同的过程可在3318处重复,主机204可将最后的(例如,第M个)固件数据包传输至控制模块302。即,主机204可将M个固件数据包中的各个按顺序传输至控制模块302。将认识到,在一些实施例中,可跳过CRC检查,且主机204可继续传输各个固件数据包,而不等待来自控制模块302的通知。
在3320处,在接收到所有固件数据包(即,整个固件文件)之后,控制模块302可取得加密秘钥,例如,从持久储存器716或可储存加密秘钥的任何储存器。在3322处,控制模块302可使用取得的加密秘钥来解密固件文件。如果取得的加密秘钥匹配由主机204用于加密固件文件的加密秘钥,即,固件文件传输至正确的控制模块,则固件文件可解密(即,解密成功)。在3324处,控制模块302可加载固件来完成固件更新过程。否则,例如,如果由于取得的加密秘钥不匹配用于由主机204加密固件文件的加密秘钥或由于控制模块302不可取得任何加密秘钥而解密失败,则固件更新过程失败。在任何情况下,在3326处,控制模块302可将固件更新状态消息传输至主机204来报告固件更新成功与否。
图34为示出根据实施例的用于更新控制模块302上的固件的方法3400的实例的流程图。将参照以上附图来描述其。然而,可使用任何适合的电路、逻辑、单元或模块。方法3400可由可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上运行的指令)或它们的组合的任何适合的电路、逻辑、单元或模块执行。将认识到,可能并非所有步骤都需要来执行本文提供的公开内容。此外,一些步骤可同时执行,或以不同于图34中所示的顺序执行,这将由本领域的普通技术人员理解到。
在3402处开始,控制模块302可获得从控制模块302自身采样的噪音信息。现在将更详细地描述3402的实施例。具体而言,在3404处,控制模块302可采样某些构件(诸如电源),以获得初始信号,例如,使用ADC。在3406处,控制模块346可对初始信号滤波来获得滤波信号,例如,使用卡尔曼滤波。在3408处,控制模块302可基于初始信号和滤波信号来计算噪音信号,例如,使用减法运算。在3410处,控制模块302可基于噪音信息来计算第一加密秘钥。例如,计算可在噪音信号上由模除运算执行。在3412处,控制模块302可将第一加密秘钥储存在控制模块302的持久储存器716中。
在3414处,控制模块302可确定请求固件更新的消息是否从主机204接收到。如果未接收到消息,则控制模块302可继续检查,直到接收到消息。在3416处,控制模块302可将第一加密秘钥传输至主机204。
在3418处,控制模块302可从主机204接收加密的固件。固件可由主机204基于第二加密秘钥加密。在一些实施例中,加密的固件可分成多个数据包,其按顺序从主机204传输至控制模块302。各个数据包的大小可为相同的。在接收到加密的固件(例如,所有数据包)之后,在3420处,控制模块302可从控制模块302的持久储存器716取得第一加密秘钥。在3422处,控制模块302可基于取得的第一加密秘钥来解密固件。在3424处,控制模块302可确定解密是否成功。在该实施例中,如果第一加密秘钥匹配第二加密秘钥,则解密成功。在3426处,控制模块302可加载解密的固件来完成固件更新过程。否则,解密失败,且固件更新过程失败。
图35为示出根据实施例的用于更新控制模块302上的固件的方法3500的另一个实例的流程图。将参照以上附图来描述其。然而,可使用任何适合的电路、逻辑、单元或模块。方法3500可由可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上运行的指令)或它们的组合的任何适合的电路、逻辑、单元或模块执行。将认识到,可能并非所有步骤都需要来执行本文提供的公开内容。此外,一些步骤可同时执行,或以不同于图35中所示的顺序执行,这将由本领域的普通技术人员理解到。
在3502处开始,主机204可将请求固件更新的消息传输至对应的控制模块302,在该处,执行固件更新。在3504处,主机204可从控制模块302接收加密秘钥。加密秘钥可基于从控制模块302采样的噪音信息计算,诸如控制模块302的电源。在3506处,主机204可基于接收到的加密秘钥,使用任何适合的加密算法(诸如AES、DES或3DES)来加密固件。在3508处,主机204可将固件分成多个数据包。例如,各个包的大小可为相同的。在3510处,主机204可按顺序将各个固件数据包传输至控制模块302。在一些实施例中,主机204还可从控制模块302接收固件更新状态(例如,成功或失败)。
主机应用程序
本文公开的模块化组件系统(例如,模块化组件机器人玩具)的功能可由用户经由在主机204上运行的主机应用程序来定制,且模块化组件系统的行为也可由用户在运行时间经由在主机204上运行的主机应用程序来控制。例如,上文关于图12所述的控制应用程序1214、编程应用程序1216和固件更新应用程序1218是在主机204上运行的主机应用程序的实例。现在关于图36-42来更详细地描述控制应用程序1214和编程应用程序1216的实施例。
图36为示出根据实施例的在主机204上运行的应用程序的实例的框图。将认识到,本文公开的应用程序3602,3604和3606可在单个主机204上或多个主机204上运行。仅出于示范性目的,该实施例中的应用程序3602,3604和3606将描述为在单个主机204上运行。还将认识到,一些应用程序3602,3604和3606可集成到单个应用程序中。例如,脚本控制环境3604可与运行时间控制环境3602集成来形成控制应用程序1214,或可与图形编程环境3606集成来形成编程应用程序1216。如图36中所示,用户界面3608可由主机204呈现来用作用户1202与任何应用程序3602,3604和3606之间的界面。此外,主机指令生成器3622可在主机204上运行来基于用户对应用程序3602,3604和3606中任一者的输入生成主机指令,且将主机指令提供至在控制模块302上运行的操作系统504和/或虚拟机506。
在该实施例中,运行时间控制环境3602可允许用户1202在模块化组件系统操作时的运行时间交互地控制模块化组件系统的操作。运行时间控制环境3602可包括虚拟手柄3610、照明控制器3612和手势控制器3614。用户1202与运行时间环境3602的任何功能构件之间的交互可记录和转发到主机指令生成器3622中的控制指令生成器3624来生成对应的控制指令。控制指令可从主机204传输至控制模块302的操作系统504,且转换成用于模块化组件系统的各个对应组件模块202的操作指令。例如,控制指令可使用BLE技术传输至控制模块302。
在该实施例中,虚拟手柄3610可允许用户1202通过与虚拟手柄3610交互来控制模块化组件系统的运动。在一些实施例中,虚拟手柄3610可模仿模块化组件系统的组件模块202中的一个的外形。例如,运动模块318可大致是球形的,且在虚拟手柄3610在主机204的显示屏上呈现时,虚拟手柄3610可模仿运动模块318的球形形状。用户1202可以以各种方式与虚拟手柄3160交互。在一个实例中,主机204的显示屏可为触摸屏,以便用户1202可触摸虚拟手柄3160的不同部分,且/或使用不同触摸姿势来控制促动器模块306的动作,例如,向前、向后、向上和向下移动,左转和右转,或向前和向后倾斜。在另一个实例中,主机204可为具有惯性传感器的移动或便携装置,诸如陀螺仪和加速计。主机204因此感测由用户1202引起的移动装置的运动(例如,捕捉移动装置由用户1202倾斜的角度),且虚拟手柄3610可通过模仿移动装置的运动或手势(例如,倾斜角)来控制促动器模块306的动作。例如,用户1202可首先保持移动装置放平来设置零角点。然后,虚拟手柄3160可控制促动器模块306在移动装置分别向前或向后倾斜时向前或向后移动,且控制促动器模块306在移动装置分别向左或向右倾斜时左转或右转。将认识到,在一些实施例中,用户1202可以以任何其它适合的方式与虚拟手柄3610交互,举例来说,诸如语音命令、眼球运动,或头部、身体、手和手指姿势。将认识到,在一些实施例中,虚拟手柄3610可呈现在模块化组件系统的组件模块202(诸如控制模块302或分析模块308)的显示屏上。例如,语音命令识别或用户手势识别可至少部分地由分析模块308执行。
在该实施例中,照明控制器3612可允许用户1202控制模块化组件系统的照明。在该实施例中,灯可布置在一个或多个组件模块202上,诸如控制模块302和运动模块318。用户1202可设置模块化组件系统的照明方案,例如,灯的颜色、照明持续时间和间隔、不同组件模块上的照明的同步性等。手势控制器3614可允许用户1202控制模块化组件系统或其一个或多个组件模块202来呈现某些手势。将认识到,额外的功能构件可包括在运行时间控制环境3602中以便于用户1202在运行时间控制模块化组件系统。
在该实施例中,脚本控制环境3604可允许用户1202指定对应于特定模块化组件系统的功能或行为。在该实施例中,脚本控制环境3604可将成组预先限定的基本功能3616-1...3616-n提供给用户1202来选择。各个预先限定的基本功能3616可对应于模块化组件系统中一个,且对于特定模块化组件系统的各个组件模块202包括一系列动作。用户1202可进一步改变或配置选择的基本功能3616来指定将由特定模块化组件系统执行的期望的功能或行为。在该实施例中,主机指令生成器3622中的编程指令生成器3626可基于改变或配置的基本功能3616来生成对应的编程指令,例如,Lua脚本。主机204可在模块化组件系统执行由用户1202指定的功能或行为之前将编程指令传输至控制模块302的虚拟机506。例如,编程指令可使用BLE技术传输至控制模块302。虚拟机506可将编程指令转换成用于模块化组件系统的各个组件模块202的操作指令,以执行改变或配置的基本功能3616中的一系列动作定势。如上文所述,在一些实施例中,控制模块302上的物理开关可用于中断编程指令由控制模块302的虚拟机506的运行。例如,直到触发物理开关,编程指令才可由控制模块302运行。
各个基本功能3616可基于特定模块化组件系统预先限定,即,插入模块化组件系统中的特定组件模块。例如,基本功能3616可包括自平衡、跟踪、颜色识别、避开障碍物,以及以下的。例如,用于自平衡基本功能的特定模块化组件系统可至少包括具有陀螺仪和运动模块318的控制模块302。自平衡基本功能允许模块化组件系统在移动的同时保持平衡。具体而言,控制模块302上的陀螺仪可在运行时间检测模块化组件系统的倾斜角,且控制模块302可基于模块化组件系统的实时倾斜角控制运动模块318来保持平衡。在另一个实例中,用于跟踪基本功能的特定模块化组件系统可至少包括颜色识别模块316和运动模块318。跟踪基本功能允许模块化组件系统沿上色的路径移动。具体而言,具有特定颜色的路径可在地面上画出,且颜色识别模块316可识别特定上色的路径,且将传感器信号提供至控制模块302。控制模块302然后控制运动模块318来沿上色的路径移动。
在该实施例中,图形编程环境3606可便于用户1202在模块化组件系统(例如,控制模块302)操作之前输入程序,例如,语句块。图形编程环境3606可包括图形语句块3618和图形组件模块3620。用户1202与图形编程环境3606的任何功能构件之间的交互可被记录且转发到主机指令生成器3622中的编程指令生成器3626,以生成对应的编程指令。编程指令可由主机204传输至控制模块302的虚拟机506,且转换成模块化组件系统的各个对应组件模块202的操作指令。例如,编程指令可使用USB传输至控制模块302。在一些实施例中,在将编程指令传输至控制模块302之前,图形编程环境3606可根据编程指令来提供模块化组件系统的组件模块202的操作的预览。
在该实施例中,用户1202可通过拖放来选择图形语句块3618,且将值提供至选择的图形语句块3618的参数来构造程序。在一些实施例中,图形语句块3618可分组成类别,且至少一些类别涉及模块化组件系统的组件模块202的功能,诸如运动、照明或感测。在一些实施例中,一些图形语句块3618的参数可与控制模块302上的物理开关相关联,诸如压下物理开关作为触发事件的状态的持续时间。在该实施例中,各个图形组件模块3620可为对应于模块化组件系统的组件模块202中的一个的图形呈现,且可与至少一个性质相关联,诸如名称、图标、颜色等。在一些实施例中,图标可模仿对应的组件模块202的外形。在该实施例中,用户1202可提供图形组件模块3620的性质的值来配置图形组件模块3620和/或对应组件模块202。将认识到,额外的功能构件可包括在图形编程环境3606中以便于用户1202编程模块化组件系统。
图37A-37B是根据实施例的控制应用程序的实例的屏幕截图。在图37A中,屏幕截图代表虚拟手柄3610和照明控制器3612的示例性GUI。GUI元件3702代表用户实时控制模块化组件系统的运动模块318的运动方向(例如,向前、向后、向左和向后)的虚拟手柄3610。GUI元件3704允许用户调整运动模块318的运动速度。在GUI的右侧上,GUI元件3706和3708代表照明控制器3612。GUI元件3706允许用户控制控制模块302上的照明,且GUI元件3708允许用户控制运动模块318上的照明。在图37B中,在GUI的右侧,GUI元件3710代表手势控制器3614,且允许用户选择可由颜色识别模块316呈现的三个预先限定的手势中的一个。
图38是根据实施例的控制应用程序的另一个实例的屏幕截图。在该实例中,屏幕截图代表脚本控制环境3604的一个基本功能3616的示例性GUI。如图38中所示,GUI元件3802指出了选择的基本功能3616是"避开障碍物"。GUI元件3804代表对应模块化组件系统执行选择的基本功能所需的组件模块,以及目前在线的各个类型的组件模块的数目。GUI元件3806允许用户例如通过模拟模块化组件系统的行为来进一步改变或配置选择的基本功能。
图39是示出根据实施例的用于提供主机指令至控制模块302的方法3900的实例的流程图。将参照以上附图来描述其。然而,可使用任何适合的电路、逻辑、单元或模块。方法3900可由可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上运行的指令)或它们的组合的任何适合的电路、逻辑、单元或模块执行。将认识到,可能并非所有步骤都需要来执行本文提供的公开内容。此外,一些步骤可同时执行,或以不同于图39中所示的顺序执行,这将由本领域的普通技术人员理解到。
在3902处开始,主机204可将具有第一组GUI元件和第二组GUI元件的GUI提供给用户。第一组GUI元件可允许用户在模块化组件系统操作时在运行时间交互地控制模块化组件系统的操作。模块化组件系统的操作例如可包括运动、照明和手势。在一个实例中,如上文详细所述,第一组GUI元件可代表运行时间控制环境3602,其包括虚拟手柄3610、照明控制器3612和手势控制器3614。第二组GUI元件可允许用户指定对应于模块化组件系统的功能或行为。例如,第二组GUI元件可代表脚本控制环境3604,其包括如上文详细所述的预先限定的基本功能。
在3904处,主机204可便于用户选择第一组GUI元件或第二组GUI元件。在3906处,主机204可确定第一组GUI元件或第二组GUI元件是否由用户选择。如果选择第一组GUI元件,则在3908处,主机204可基于用户与第一组GUI元件的交互来动态地生成第一组主机指令,例如,控制指令,以用于控制模块化组件系统的操作。在3910处,当模块化组件系统操作时,主机204可将生成的第一组主机指令在运行时间传输至模块化组件系统的控制模块302。如果选择第二组GUI元件,则在3912处,主机204可基于由用户执行的功能或行为获得第二组主机指令,例如,编程指令。在3914处,主机204可在模块化组件系统执行由用户指定的功能或行为之前将获得的第二组主机指令传输至模块化组件系统的控制模块302。将认识到,用户可选择第一组GUI元件和第二组GUI元件,且主机204可并行地或按顺序生成和传输第一组和第二组主机指令。
图40A-40B是根据实施例的编程应用程序的实例的屏幕截图。在图40A中,屏幕截图代表图形编程环境3606的示例性GUI。GUI元件4002和4004代表组织成用于用户选择的类别的图形语句块3618。GUI元件4002代表类别,诸如"流"、"运动"、"灯"、"传感器"、"逻辑"、"数学"和"变量"。GUI元件4004代表目前选择的类别"流"下的可用的图形语句块3618。如上文所述,图形语句块3618可包括参数。用户可将期望的图形语句块3618拖放到GUI元件4006中来构成程序。选择的图形语句块3618的参数的值也可输入到GUI元件4006中。
例如,图41是根据实施例的包括图形语句块的程序4100的实例的屏幕截图。在该实例中,程序4100以"开始"图形语句块开始。程序4100然后将两个功率模块310的"球功率"参数的值设置为"30"和"-30"。程序4100的下一个图形语句块指出重复随后的图形语句块。程序4100还包括指示运动模块318停止而无制动的图形语句块,以及指示所有组件模块闪绿色光的图形语句块。在该实例中,程序4100可实现以下功能或行为:(1)模块化组件机器人玩具在30瓦的输出功率下向前移动一秒,同时所有组件模块都闪绿光;(2)在一秒的空闲时间之后,切换两个运动模块的功率输出来引起模块化组件机器人玩具向后移动一秒,同时所有组件模块闪绿光;以及(3)重复(1)和(2),直到中断执行程序4100。
回到图40A-40B,GUI元件4008代表图形编程环境3606的图形组件模块3620。在该实例中,GUI元件4008示出了模块化组件机器人玩具的图标4010、模块化组件机器人玩具的名称4012,以及模块化组件机器人玩具的各个组件模块202的图标、名称和数目。例如,GUI元件4014示出了控制模块302的图标,GUI元件4016示出了输入控制模块302的名称的字段,且GUI元件4018示出了选择用于控制模块302的颜色的字段。GUI元件4018提供用于运动模块318的类似呈现或选择。即,GUI元件4008允许用户将值提供至模块化组件机器人玩具的各个组件模块202的性质(例如,图标、名称或颜色),或模块化组件机器人自身的性质。在该实施例中,模块化组件机器人玩具的图标和各个组件模块202的图标分别模仿对应的模块化组件机器人玩具和组件模块202的外形。
图42是示出根据实施例的用于提供主机指令至控制模块302的方法4200的另一个实例的流程图。将参照以上附图来描述其。然而,可使用任何适合的电路、逻辑、单元或模块。方法4200可由可包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理装置上运行的指令)或它们的组合的任何适合的电路、逻辑、单元或模块执行。将认识到,可能并非所有步骤都需要来执行本文提供的公开内容。此外,一些步骤可同时执行,或以不同于图42中所示的顺序执行,这将由本领域的普通技术人员理解到。
在4202处开始,主机204可呈现GUI,例如,图形编程环境3606,包括成组第一图形呈现和成组第二图形呈现。各个第一图形呈现(例如,图形语句块3618)可对应于包括至少一个参数的语句块。各个第二图形呈现(例如,图形组件模块3620)可对应于与至少一个性质(诸如图标、名称或颜色)相关联的一个组件模块202。成组第一图形呈现可分组成类别,其中一些涉及组件模块202的功能,诸如运动、照明或感测。
在4204处,主机204可便于用户选择第一图形呈现中的至少一个,且提供用于各个选择的图形呈现的参数的值。选择可通过拖放第一图形呈现来进行。换言之,用户可以以视觉和图形方式构造程序。在4206处,主机204可便于用户将值提供给第二图形呈现的性质。即,用户可定制组件模块202的性质。将认识到,主机204可独立地或并行地执行4204和4206。在一些实施例中,可不促进用户将值提供给第二图形呈现的性质。
在4208处,主机204可基于选择的第一和第二图形呈现和其提供的值生成成组主机指令,例如,编程指令。例如,主机指令可为源代码或中间代码。将认识到,在一些实施例中,主机指令可基于选择的第一图形呈现和其提供的值来生成,即,程序,但并未基于选择的第二图形呈现和其提供的值。换言之,在一些实施例中,组件模块202经由第二图形呈现的性质的定制可由主机204使用,但不由控制模块302使用。在4210处,主机204可将生成的成组主机指令传输至控制模块302来控制模块化组件系统的组件模块202的操作。在该实施例中,传输可在控制模块302操作之前发生。在一些实施例中,主机204可在传输之前根据成组主机指令呈现组件模块202的操作的预览。
例如,可使用一个或多个计算机系统(诸如图43中所示的计算机系统4300)来实施各种实施例。例如,一个或多个计算机系统4300可用于实施图27的方法2700、图28的方法2800、图31的方法3100、图32的方法3200、图34的方法3400、图35的方法3500、图39的方法3900以及图42的方法4200,以及图26、图29、图30和图33的事件图。例如,计算机系统4300可根据各种实施例更新模块化组件系统的控制模块上的固件和/或提供主机指令至其。计算机系统4300可为能够执行本文所述的功能的任何计算机。
计算机系统4300可为能够执行本文所述的功能的任何公知的计算机。计算机系统4300包括一个或多个处理器(也称为中央处理单元或CPU),诸如处理器4304。处理器4304连接到通信基础结构或总线4306。一个或多个处理器4304可各自为图形处理单元(GPU)。在实施例中,GPU是设计成处理数学密集型应用程序的专用电子电路。GPU可具有足以用于大型数据块(诸如计算机图形应用程序、图像、识别等共同的数学密集型数据)的并行处理的并行结构。
计算机系统4300还包括用户输入/输出装置4303,诸如监视器、键盘、指示装置等,其通过用户输入/输出界面4302与通信基础结构4306通信。
计算机系统4300还包括主存储器或主要存储器4308,诸如随机存取存储器(RAM)。主存储器4308可包括一个或多个级别的高速缓存。主存储器4308具有储存在其中的控制逻辑(即,计算机软件)和/或数据。计算机系统4300还包括一个或多个副储存装置或存储器4310。例如,副存储器4310可包括硬盘驱动器4312和/或可除去的储存装置或驱动器4314。可除去的储存装置4314可为软盘驱动器、磁带驱动器、光盘驱动器、光储存装置、带备份装置和/或任何其它储存装置/驱动器。可除去的储存驱动器4314可与可除去的储存单元4318交互。可除去的储存单元4318包括计算机可用或可读的储存装置,其具有储存在其上的计算机软件(控制逻辑)和/或数据。可除去的储存单元4318可为软盘、磁带、光盘、DVD、光储存盘和/或任何其它计算机数据储存装置。可除去的储存驱动器4314以公知的方式从可除去的储存单元4318读取和/或写入。
根据示例性实施例,副存储器4310可包括其它器件、工具或其它途径,以用于允许计算机程序和/或其它指令和/或数据由计算机系统4300访问。此类器件、工具或其它途径例如可包括可除去的储存单元4322和接口4320。可除去的储存单元4322和接口4320的实例可包括程序盒和盒接口(诸如视频游戏装置中发现的)、可除去的存储器芯片(如,EPROM或PROM)和相关联的插座、存储棒和USB端口、存储卡和相关联的存储卡槽,和/或任何其它可除去的储存单元和相关联的接口。
计算机系统4300还可包括通信或网络接口4324。通信接口4324允许计算机系统4300与远程装置、远程网络、远程实体等(由参考标号4328独立地和共同地表示)的任何组合通信和交互。例如,通信接口4324可允许计算机系统4300与远程装置4328通过通信路径4326通信,通信路径4326可为有线和/或无线的,且其可包括LAN、WAN、因特网等的任何组合。控制逻辑和/或数据可经由通信路径4326传输至计算机系统4300和从其传输。
在实施例中,包括具有储存在其上的控制逻辑(软件)的有形的计算机可用或可读介质的有形的设备或制品也在本文中称为计算机程序产品或程序储存装置。这包括但不限于计算机系统4300、主存储器4308、副存储器4310和可除去的储存单元4318和4322,以及体现以上任何组合的有形制品。此类控制逻辑在由一个或多个数据处理装置(诸如计算机系统4300)运行时引起此类数据处理装置如本文所述操作。
基于本公开中包含的教导内容,相关领域的技术人员将清楚如何使用除图43中所示之外的数据处理装置、计算机系统和/或计算机架构来制作和使用本公开的实施例。具体而言,实施例可利用除本文所述的那些外的软件、硬件和/或操作系统实施方式来操作。
将认识到,详细描述部分且不是概述和摘要部分(如果有)旨在用于阐释权利要求。概述和摘要部分(如果有)可提出由发明人构想出的本公开的一个或多个但不是全部的示例性实施例,且因此不旨在以任何方式限制本公开或所附权利要求。
尽管本文参照示例性领域和应用的示例性实施例描述了本公开,但将理解的是,本公开不限于此。其它实施例和其改型也是可能的,且在本公开的范围和精神内。例如,且不限制该段落中的普遍性,实施例不限于附图中所示和/或本文所述的软件、硬件、固件和/或实体。此外,实施例(不论本文是否明确描述)具有超出本文所述的实例的领域和应用的显著实用性。
已经借助于示出特定功能和其关系的实施方式的功能构造块在本文中描述了实施例。这些功能构造块的边界在本文中为了描述方便而任意限定。只要特定的功能和关系(或其等同物)适当执行,则可限定备用的边界。另外,备选实施例可使用不同于本文所述的那些的顺序来控制功能块、步骤、操作、方法等。
本公开的宽度和范围不应当由前述示例性实施例中的任何限制,而是应当仅根据以下权利要求和其等同物限定。

Claims (110)

1.一种系统,包括:
多个组件模块,各个组件模块包括至少一个连接接口;以及
一个或多个连接器,各个连接器配置成将所述多个组件模块中的两个经由所述两个组件模块中的相应连接接口机械地且电气地连接,
其中所述多个组件模块至少包括:
控制模块,其包括:
配置成从一个或多个主机获得成组主机指令的控制模块通信单元,以及
配置成至少基于所述成组主机指令生成用于控制各个组件模块的成组操作指令的控制模块处理器;以及
分析模块,其包括:
配置成获得传感器信号的分析模块传感器,
配置成分析所述传感器信号来生成第一分析结果的分析模块处理器,以及
配置成将所述传感器信号或所述第一分析结果传输至所述一个或多个主机中的至少一个的分析模块通信单元。
2.根据权利要求1所述的系统,其特征在于,各个连接器包括适于分别配合到所述两个组件模块的连接接口中的两个开口端。
3.根据权利要求1所述的系统,其特征在于,各个组件模块大致是球形的。
4.根据权利要求1所述的系统,其特征在于,所述系统还包括:
在所述多个组件模块经由所述一个或多个连接器与彼此机械地且电气地连接时形成的总线,
其中各个组件模块电气地并行连接到所述总线。
5.根据权利要求4所述的系统,其特征在于,所述总线配置成在所述多个组件模块之间传输功率信号和数据信号。
6.根据权利要求1所述的系统,其特征在于,所述系统还包括所述一个或多个主机,其中所述一个或多个主机包括:
控制应用程序,其配置成从用户接收第一输入,且至少基于所述第一输入,在所述控制模块操作时的运行时间生成所述成组主机指令中的至少一些;以及
编程应用程序,其配置成从用户接收第二输入,且至少基于所述第二输入,在所述控制模块操作之前生成所述成组主机指令中的至少一些。
7.根据权利要求6所述的系统,其特征在于:
所述一个或多个主机中的所述至少一个配置成将所述传感器信号或所述第一分析结果经由因特网传输至服务器;以及
所述服务器包括配置成分析所述传感器信号或所述第一分析结果来生成第二分析结果的分析应用程序。
8.根据权利要求7所述的系统,其特征在于,所述第二分析结果使用人工智能途径生成。
9.根据权利要求7所述的系统,其特征在于,所述一个或多个主机中的所述至少一个进一步配置成:
确定所述主机未经由所述因特网可操作地联接到所述服务器,以及
响应于确定所述主机未经由所述因特网可操作地联接到所述服务器,调用位于所述主机上的另一个分析应用程序来分析所述传感器信号或所述第一分析结果以生成第三分析结果。
10.根据权利要求1所述的系统,其特征在于,所述分析模块通信单元进一步配置成经由无线通信将所述传感器信号或所述第一分析结果传输至所述一个或多个主机中的所述至少一个。
11.一种组件模块,包括:
至少一个连接接口,各个连接接口配置成机械地且电气地连接到连接器,且经由所述连接器至少接收功率信号;
配置成获得传感器信号的传感器;
处理器,其可操作地联接到所述传感器和所述至少一个连接接口,配置成分析所述传感器信号来生成分析结果;以及
通信单元,其可操作地连接到所述处理器,配置成将所述传感器信号或所述分析结果传输至主机。
12.根据权利要求11所述的组件模块,其特征在于,通信单元进一步配置成经由无线通信将所述传感器信号或所述分析结果传输至所述主机。
13.根据权利要求11所述的组件模块,其特征在于,
所述传感器包括配置成获得语音信号的麦克风;以及
所述处理器配置成分析所述语音信号来生成语音识别结果。
14.根据权利要求11所述的组件模块,其特征在于,
所述传感器包括配置成获得图像信号的相机;以及
所述处理器配置成分析所述图像信号来生成图像识别结果。
15.根据权利要求11所述的组件模块,其特征在于,所述连接接口和所述通信单元中的至少一者配置成从所述主机接收至少基于所述传感器信号或所述分析结果生成的成组操作指令。
16.根据权利要求15所述的组件模块,其特征在于,所述成组操作指令基于另一个分析结果生成,所述另一个分析结果由经由因特网可操作地联接到所述主机的服务器使用人工智能途径基于所述传感器信号或所述分析结果生成。
17.一种系统,包括:
多个组件模块,所述组件模块中的至少一个包括至少一个连接接口;以及
一个或多个连接器,各个连接器配置成将所述多个组件模块中的两个经由所述两个组件模块中的一个的连接接口机械地且电气地连接,
其中所述多个组件模块至少包括:
控制模块,其包括:
配置成从一个或多个主机获得成组主机指令的通信单元,以及
配置成至少基于所述成组主机指令生成用于各个组件模块的成组操作指令的处理器;以及
促动模块,其包括:
成组推进器,以及
马达,其配置成至少基于由所述处理器生成的用于所述促动模块的所述成组操作指令来驱动所述成组推进器。
18.根据权利要求17所述的系统,其特征在于:
所述控制模块还包括传感器,其配置成获得在所述促动模块操作时的运行时间指出所述系统的姿势的传感器信号;以及
所述处理器配置成至少基于所述传感器信号来生成用于所述促动模块的所述成组操作指令。
19.根据权利要求17所述的系统,其特征在于,各个连接器包括适于配合到所述连接接口中的至少一个开口端。
20.根据权利要求17所述的系统,其特征在于,各个组件模块大致是球形的。
21.根据权利要求17所述的系统,其特征在于,所述系统还包括:
在所述多个组件模块经由所述一个或多个连接器与彼此机械地且电气地连接时形成的总线,
其中各个组件模块电气地并行连接到所述总线。
22.一种系统,包括:
多个组件模块,各个组件模块包括至少一个连接接口;以及
一个或多个连接器,各个连接器配置成将所述多个组件模块中的两个经由所述两个组件模块的相应连接接口机械地且电气地连接,各个连接器包括适于分别配合到所述两个组件模块的连接接口中的两个开口端,
其中所述多个组件模块至少包括控制模块,其包括:
配置成从一个或多个主机获得成组主机指令的通信单元,以及
配置成至少基于所述成组主机指令生成用于各个组件模块的成组操作指令的处理器。
23.根据权利要求22所述的系统,其特征在于,所述控制模块还包括:
物理开关,其配置成响应于来自用户的输入,中断和恢复获得所述成组主机指令中的至少一些或生成所述成组操作指令。
24.根据权利要求22所述的系统,其特征在于,所述多个组件模块还包括功率模块,其包括:
配置成生成用于所述多个组件模块的功率信号的电源。
25.根据权利要求22所述的系统,其特征在于,所述多个组件模块还包括颜色识别模块,其包括:
配置成获得来自物体的光信号的光传感器;以及
配置成至少基于所述光信号来确定所述物体的颜色的处理器。
26.根据权利要求22所述的系统,其特征在于,所述多个组件模块还包括大致球形的运动模块,所述运动模块包括:
配置成使所述运动模块的整体旋转的马达。
27.根据权利要求22所述的系统,其特征在于,所述多个组件模块还包括红外传感器模块,其包括:
配置成将第一红外光束发射至物体的红外发射器;以及
配置成获得从所述物体反射的第二红外光束的红外接收器。
28.根据权利要求22所述的系统,其特征在于,各个组件模块大致是球形的。
29.根据权利要求22所述的系统,其特征在于,所述系统还包括:
在所述多个组件模块经由所述一个或多个连接器与彼此机械地且电气地连接时形成的总线,
其中各个组件模块电气地并行连接到所述总线。
30.根据权利要求29所述的系统,其特征在于,所述总线配置成在所述多个组件模块之间传输功率信号和数据信号。
31.根据权利要求22所述的系统,其特征在于,所述系统还包括所述一个或多个主机,其中所述一个或多个主机中的至少一个配置成:
加密将在所述控制模块上更新的固件;以及
将加密的固件传输至所述控制模块。
32.根据权利要求22所述的系统,其特征在于,所述系统还包括所述一个或多个主机,其中所述一个或多个主机包括:
控制应用程序,其配置成从用户接收第一输入,且至少基于所述第一输入,在所述控制模块操作时的运行时间生成所述成组主机指令中的至少一些;以及
编程应用程序,其配置成从用户接收第二输入,且至少基于所述第二输入,在所述控制模块操作之前生成所述成组主机指令中的至少一些。
33.根据权利要求32所述的系统,其特征在于,所述第一输入包括以下至少一者:
从由所述一个或多个主机中的一个呈现的图形用户界面接收的命令;
由所述一个或多个主机中的一个上的传感器检测到的运动或手势;以及
由所述一个或多个主机中的一个上的麦克风检测到的语音。
34.根据权利要求32所述的系统,其特征在于,所述第二输入包括与图形编程环境的交互。
35.根据权利要求22所述的系统,其特征在于,所述系统还包括所述一个或多个主机,其中所述一个或多个主机中的至少一个配置成:
经由无线通信与所述通信单元通信;以及
经由因特网与服务器通信。
36.根据权利要求35所述的系统,其特征在于,所述系统还包括所述服务器,其中所述服务器配置成:
从所述主机接收传感器信号或第一分析结果;
使用人工智能途径分析所述传感器信号或所述第一分析结果来生成第二分析结果;以及
将所述第二分析结果传输至所述主机。
37.一种连接结构,包括:
两个连接接口,各个连接接口包括:
布置在电路板上的中心和一个或多个同心环处的多个平坦触头,以及
布置在第一壳上的多个第一锁定机构;以及
连接器,其包括:
第二壳,其包括两个开口端以及布置在所述第二壳上的多个第二锁定机构,以及
多个销,各个销分别包括各自由所述第二壳的两个开口端中的一个露出的两个端部,
其中当所述连接器以相对于彼此的多个定向插入所述两个连接接口中时,
所述连接器的所述多个销与各个连接接口的所述多个平坦触头接触,以便所述两个连接接口电连接,以及
所述连接器的所述多个第二锁定机构与各个连接接口的所述多个第一锁定机构联锁,以便所述两个连接接口机械地连接。
38.根据权利要求37所述的连接结构,其特征在于,所述连接器在插入所述两个连接接口中之后可与各个连接接口分开。
39.根据权利要求37所述的连接结构,其特征在于,所述多个定向包括具有90度偏移的四个定向。
40.根据权利要求37所述的连接结构,其特征在于:
所述第一锁定机构包括所述第一壳上的孔的一端上的环形边缘,以及所述第一壳上的多个凹部;
所述第二锁定机构包括所述第二壳的两个开口端上的各个环形边缘上的一个或多个卡扣,以及所述第二壳的外表面上的多个凸起;以及
当所述连接器以相对于彼此的所述多个定向插入所述两个连接接口中时,所述第二锁定机构的卡扣卡扣配合到所述第一锁定机构的环形边缘,且所述第二锁定机构的各个凸起插入所述第一锁定机构的相应凹部中。
41.根据权利要求40所述的连接结构,其特征在于,所述多个定向的数目与所述第一锁定机构的所述多个凹部的数目相同。
42.根据权利要求37所述的连接结构,其特征在于:
所述第二壳中的各个和所述第一壳上的孔为大致圆柱形的形状;以及
当所述连接器以相对于彼此的所述多个定向插入所述两个连接接口中时,所述第一壳上的孔的中心轴线与所述第二壳的中心轴线对准。
43.根据权利要求37所述的连接结构,其特征在于,各个销还包括连接在所述两个端部之间的弹簧。
44.根据权利要求37所述的连接结构,其特征在于,所述多个平坦触头包括:
布置在所述电路板上的中心处的中心触头;以及
分开地布置在所述电路板上的一个或多个同心环处的多个外周触头。
45.根据权利要求44所述的连接结构,其特征在于,在所述同心环的最外环处,
第一组外周触头通过所述电路板与彼此电连接,且第二组外周触头通过所述电路板与彼此电连接;且
所述第一组外周触头和所述第二组外周触头电分离。
46.根据权利要求45所述的连接结构,其特征在于,在所述同心环的最内环处,布置在所述最内环处的所有多个外周触头通过所述电路板与彼此电连接。
47.根据权利要求44所述的连接结构,其特征在于:
所述多个销包括:
沿所述第二壳的中心轴线布置的中心销,以及
相对于所述第二壳的中心轴线布置在一个或多个同心环处的多个外周销;且
所述多个外周销的数目小于所述多个外周触头的数目。
48.根据权利要求47所述的连接结构,其特征在于,彼此电分离的多个外周销相对于所述第二壳的中心轴线布置在所述同心环的最外环处。
49.根据权利要求47所述的连接结构,其特征在于,所述多个外周销由相对于所述第二壳的中心轴线布置在所述同心环的最内环处的一个外周销以及电分离且相对于所述第二壳的中心轴线布置在所述同心环的最外环处的两个外周销组成。
50.根据权利要求37所述的连接结构,其特征在于,所述多个平坦触头包括:
布置在所述电路板上的所述中心处的中心触头;以及
布置在所述电路板上的所述一个或多个同心环中的一个处的多个环触头。
51.根据权利要求50所述的连接结构,其特征在于:
所述多个销包括:
沿所述第二壳的中心轴线布置的中心销,以及
相对于所述第二壳的中心轴线布置在一个或多个同心环处的多个外周销;且
所述多个环触头的数目与所述多个外周销的数目相同。
52.一种连接结构,包括:
两个连接接口,各个连接接口包括:
布置在电路板上的多个触头,以及
布置在第一壳上的多个第一锁定机构;以及
连接器,所述连接器包括:
第二壳,其包括两个开口端以及布置在所述第二环上的多个第二锁定机构,以及
多个同心环触头,各个同心环触头分别包括各自由所述第二壳的两个开口端中的一个露出的两个端部,
其中当所述连接器以相对于彼此的多个定向插入所述两个连接接口中时,
所述连接器的所述多个同心环触头与各个连接接口的所述多个触头接触,以便所述两个连接接口电连接,以及
所述连接器的所述多个第二锁定机构与各个连接接口的所述多个第一锁定机构联锁,以便所述两个连接接口机械地连接。
53.根据权利要求52所述的连接结构,其特征在于,所述连接器的所述多个同心环触头的长度是不同的。
54.根据权利要求52所述的连接结构,其特征在于,所述连接还包括布置在所述多个同心环触头的中心处的中心销。
55.根据权利要求52所述的连接结构,其特征在于,各个连接接口的所述多个触头中的至少一些是可变形的。
56.根据权利要求52所述的连接结构,其特征在于,所述连接器在插入所述两个连接接口中之后可与各个连接接口分开。
57.根据权利要求52所述的连接结构,其特征在于:
所述第一锁定机构包括所述第一壳的孔的一端上的环形边缘,以及所述第一壳上的多个凹部;
所述第二锁定机构包括所述第二壳的两个开口端上的各个环形边缘上的一个或多个卡扣以及所述第二壳的外表面上的多个凸起;以及
当所述连接器以相对于彼此的所述多个定向插入所述两个连接接口中时,所述第二锁定机构的所述一个或多个卡扣卡扣配合到所述第一锁定机构的环形边缘,且所述第二锁定机构的各个凸起插入所述第一锁定机构的相应凹部中。
58.根据权利要求57所述的连接结构,其特征在于,所述多个定向的数目与所述第一壳上的所述多个凹部的数目相同。
59.根据权利要求52所述的连接结构,其特征在于:
所述第二壳中的各个和所述第一壳上的孔为大致圆柱形的形状;以及
当所述连接器以相对于彼此的所述多个定向插入所述两个连接接口中时,所述第一壳上的所述孔的中心轴线与所述第二壳的中心轴线对准。
60.一种用于登记在模块化组件系统中与彼此可操作地联接的多个组件模块中的一个的方法,所述方法包括:
从所述多个组件模块中的一个接收包括所述组件模块的第一标识符的第一消息;
将包括用于所述组件模块的第二标识符的第二消息传输至所述组件模块,所述第二标识符至少基于所述第一标识符生成;
确定包括所述第二标识符的第三消息从所述组件模块接收到;以及
响应于确定接收到所述第三消息,将所述组件模块登记为所述模块化组件系统的新组件模块,
其中接收、传输、确定和登记中的至少一者由所述多个组件模块中的控制模块执行。
61.根据权利要求60所述的方法,其特征在于,所述第一标识符储存在所述组件模块的持久储存器中且唯一地识别所述组件模块。
62.根据权利要求60所述的方法,其特征在于,所述第一消息还包括指出所述组件模块的类型的第三标识符。
63.根据权利要求60所述的方法,其特征在于,所述第三消息还包括正常状态指示物且由所述组件模块定期地传输。
64.根据权利要求60所述的方法,其特征在于,所述登记还包括:
将所述组件模块与状态关联为联接至所述模块化组件系统;
将所述模块化组件系统的资源分配给所述组件模块;以及
将指出与所述组件模块相关联的状态的第四消息传输至所述模块化组件系统的主机。
65.根据权利要求64所述的方法,其特征在于,所述关联包括:
将所述组件模块的第一标识符加入在线组件模块的列表中。
66.根据权利要求60所述的方法,其特征在于,所述方法还包括:
从所述组件模块的持久储存器获得所述第一标识符;
将包括所述第一标识符的所述第一消息传输至所述控制模块;
从所述控制模块接收包括所述第二标识符的所述第二消息;以及
将包括所述第二标识符和正常状态指示物的所述第三消息定期传输至所述控制模块,
其中所述获得、传输、接收和定期传输由所述组件模块执行。
67.根据权利要求66所述的方法,其特征在于,所述获得响应于所述组件模块通电而自动地执行。
68.根据权利要求66所述的方法,其特征在于,所述第一消息还包括指出所述组件模块的类型的第三标识符。
69.一种用于更新在模块化组件系统中与彼此可操作地联接的多个组件模块中的一个相关联的状态的方法,所述方法包括:
将用于从所述组件模块请求数据的第一消息传输至所述多个组件模块中的一个;
确定包括请求的数据的第二消息或包括正常状态指示物的第三消息从所述组件模块接收到;以及
响应于确定接收到所述第二消息或所述第三消息,将与所述组件模块相关联的状态更新为联接至所述模块化组件系统,
其中所述传输、确定和更新中的至少一者由所述多个组件模块中的控制模块执行。
70.根据权利要求69所述的方法,其特征在于,所述方法还包括:
确定所述第二消息和所述第三消息在阈值周期中未从所述组件模块接收到;
响应于确定所述第二消息和所述第三消息在所述阈值周期中未接收到,将与所述组件模块相关联的状态更新为与所述模块化组件系统分开。
71.根据权利要求70所述的方法,其特征在于,所述方法还包括:
响应于将所述状态更新为联接到所述模块化组件系统,重置所述阈值周期。
72.根据权利要求70所述的方法,其特征在于,所述方法还包括:
响应于将所述状态更新为与所述模块化组件系统分开,将指出与所述组件模块相关联的状态的第四消息传输至所述模块化组件系统的主机。
73.根据权利要求69所述的方法,其特征在于,所述方法还包括:
从所述控制模块接收用于请求所述数据的所述第一消息;
响应于接收所述第一消息,将包括请求的数据的所述第二消息传输至所述控制模块;以及
将包括所述正常状态指示物的所述第三消息定期传输至所述控制模块,
其中所述接收、传输和定期传输由所述组件模块执行。
74.根据权利要求73所述的方法,其特征在于,
所述第二消息和所述第三消息中的各个还包括用于所述组件模块的第一标识符;
所述第一标识符从所述控制模块传输至所述组件模块;以及
所述第一标识符由所述控制模块至少基于所述组件模块的第二标识符生成,其储存在所述组件模块的持久储存器中且唯一地识别所述组件模块。
75.根据权利要求74所述的方法,其特征在于,
所述第一消息包括用于所述组件模块的第三标识符;以及
所述第三标识符与所述第二标识符相关且由所述控制模块至少基于所述第二标识符生成。
76.根据权利要求74所述的方法,其特征在于,所述更新包括:
确定所述第二标识符与脱机组件模块的列表相关联;以及
响应于确定所述第二标识符与脱机组件模块的所述列表相关联,使所述第二标识符从脱机组件模块的所述列表移到在线组件模块的列表。
77.一种用于更新模块化组件系统的控制模块上的固件的方法,所述方法包括:
获得与从所述控制模块采样的噪音相关的信息;
基于所述信息计算第一加密秘钥;
从所述模块化组件系统的主机接收将在所述控制模块上更新的固件,所述第一固件至少基于第二加密秘钥加密;
确定接收的固件可基于所述第一加密秘钥解密;以及
响应于确定所述接收的固件可解密,将解密的固件加载到所述控制模块中,
其中所述获得、计算、接收、确定和加载中的至少一者由所述控制模块执行。
78.根据权利要求77所述的方法,其特征在于,所述方法还包括:
将所述第一加密秘钥储存在所述控制模块的持久储存器中。
79.根据权利要求78所述的方法,其特征在于,所述方法还包括:
响应于接收待更新的所述固件,从所述持久储存器取得所述第一加密秘钥。
80.根据权利要求77所述的方法,其特征在于,所述方法还包括:
从所述主机接收用于请求固件更新的消息;以及
响应于接收所述消息,将所述第一加密秘钥传输至所述主机。
81.根据权利要求77所述的方法,其特征在于,所述接收的固件可在所述第一加密秘钥和所述第二加密秘钥相同时基于所述第一加密秘钥解密。
82.根据权利要求77所述的方法,其特征在于,所述噪音从所述控制模块的电源采样。
83.根据权利要求77所述的方法,其特征在于,所述获得还包括:
采样所述控制模块来获得初始信号;
将所述初始信号滤波来获得滤波信号;以及
基于至少所述初始信号和所述滤波信号来计算噪音信号。
84.根据权利要求83所述的方法,其特征在于,
所述采样由模数转换(ADC)执行;
所述滤波由卡尔曼滤波执行;以及
所述计算由减法运算执行。
85.根据权利要求77所述的方法,其特征在于,将在所述控制模块上更新的所述固件被分成按顺序传输至所述控制模块的多个包。
86.根据权利要求85所述的方法,其特征在于,所述多个包中的各个的大小是相同的。
87.一种用于加密将在模块化组件系统的控制模块上更新的固件的方法,所述方法包括:
从所述控制模块接收基于与从所述控制模块采样的噪音相关的信息计算的加密秘钥;
至少基于所述加密秘钥来加密固件;以及
将加密的固件传输至所述控制模块,
其中所述接收、加密和传输中的至少一者由所述模块化组件系统的主机执行。
88.根据权利要求87所述的方法,其特征在于,所述方法还包括:
将用于请求固件更新的消息传输至所述控制模块。
89.根据权利要求87所述的方法,其特征在于,所述传输还包括:
将所述固件分成多个包;以及
将所述多个包中的各个按顺序传输至所述控制模块。
90.根据权利要求89所述的方法,其特征在于,所述多个包中的各个的大小是相同的。
91.根据权利要求87所述的方法,其特征在于,所述噪音从所述控制模块的电源采样。
92.一种用于将主机指令提供至包括多个组件模块的模块化组件系统的控制模块的方法,所述方法包括:
将包括成组第一图形呈现和成组第二图形呈现的图形编程环境呈现给用户,其中
各个第一图形呈现对应于包括至少一个参数的语句块,以及
各个第二图形呈现对应于与至少一个性质相关联的所述多个组件模块中的一个;
促进用户选择所述第一图形呈现中的至少一个,且将值提供至各个选择的第一图形呈现的所述至少一个参数;
促进所述用户将值提供给所述第二图形呈现中的一个或多个的所述至少一个性质;
至少基于选择的第一图形呈现和第二图形呈现以及其提供的值,生成成组主机指令;以及
将所述成组主机指令传输至所述控制模块以用于控制所述多个组件模块的操作,
其中所述呈现、促进、促进、生成和传输中的至少一者由所述模块化组件系统的主机执行。
93.根据权利要求92所述的方法,其特征在于,
所述成组第一图形呈现分组成多个类别;以及
所述类别中的至少一些与所述多个组件模块的功能相关。
94.根据权利要求93所述的方法,其特征在于,所述功能包括运动、照明和感测中的至少一者。
95.根据权利要求92所述的方法,其特征在于,各个第一图形呈现通过拖放来选择。
96.根据权利要求92所述的方法,其特征在于,所述语句块中的至少一个包括与所述控制模块上的物理开关相关联的参数。
97.根据权利要求92所述的方法,其特征在于,各个第二图形呈现包括模仿对应组件模块的图标。
98.根据权利要求92所述的方法,其特征在于,所述方法还包括:
在所述传输之前,根据所述成组主机指令提供所述多个组件模块的操作的预览。
99.根据权利要求92所述的方法,其特征在于,所述传输在所述控制模块操作之前发生。
100.一种用于将主机指令提供至包括多个组件模块的模块化组件系统的控制模块的方法,所述方法包括:
将包括第一组GUI元件和第二组GUI元件的图形用户界面(GUI)提供给用户,其中
所述第一组GUI元件允许用户在所述模块化组件系统操作时的运行时间交互地控制所述模块化组件系统的操作,以及
所述第二组GUI元件允许所述用户指定对应于所述模块化组件系统的功能;
促进所述用户选择所述第一组GUI元件和所述第二组GUI元件中的一个;
响应于所述用户选择所述第一组GUI元件,至少基于所述用户与所述第一组GUI元件的交互来动态地生成第一组主机指令,以用于在运行时间控制所述模块化组件系统的操作,以及在所述模块化组件系统操作时的运行时间将生成的第一组主机指令传输至所述模块化组件系统的控制模块;以及
响应于所述用户选择第二组GUI元件,至少基于由所述用户指定的功能来获得第二组主机指令,以及在所述模块化组件系统执行由所述用户指定的功能之前将获得的第二组主机指令传输至所述模块化组件系统的控制模块,
其中所述提供、促进、生成、传输、获得和传输中的至少一者由所述模块化组件系统的主机执行。
101.根据权利要求100所述的方法,其特征在于,所述模块化组件系统的操作包括运动、照明和手势中的至少一者。
102.根据权利要求100所述的方法,其特征在于,所述第一组GUI元件包括虚拟手柄,其允许所述用户通过与所述虚拟手柄交互来控制所述模块化组件系统的运动。
103.根据权利要求102所述的方法,其特征在于,所述虚拟手柄模仿所述多个组件模块中的一个。
104.根据权利要求100所述的方法,其特征在于,
所述主机是移动装置;以及
所述第一组GUI元件包括允许所述用户通过模仿由所述用户引起的所述移动装置的运动来控制所述模块化组件系统的运动的GUI元件。
105.根据权利要求100所述的方法,其特征在于,所述第一组GUI元件包括允许所述用户通过语音或手势来控制所述模块化组件系统的运动的GUI元件。
106.根据权利要求105所述的方法,其特征在于,
允许所述用户通过语音或手势来控制所述模块化组件系统的所述GUI元件呈现在所述多个组件模块中的一个上;以及
所述用户的语音或手势由所述组件模块或所述主机识别。
107.根据权利要求100所述的方法,其特征在于,由所述用户指定的所述功能基于从多个预先限定的基本功能选择的基本功能,其中各个对应于多个模块化组件系统中的一个。
108.根据权利要求107所述的方法,其特征在于,各个预先限定的基本功能包括用于对应的模块化组件系统的各个组件模块的一系列动作。
109.根据权利要求100所述的方法,其特征在于,所述第一组主机指令和所述第二组主机指令经由蓝牙低能传输至所述控制模块。
110.根据权利要求100所述的方法,其特征在于,直到触发所述控制模块上的物理开关,所述第二组主机指令才由所述控制模块运行。
CN201680046644.1A 2016-03-31 2016-11-07 模块化组件系统 Active CN108292816B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011228185.3A CN113144635A (zh) 2016-03-31 2016-11-07 模块化组件系统
CN202011227361.1A CN113144634B (zh) 2016-03-31 2016-11-07 模块化组件系统
CN202011229522.0A CN112516605B (zh) 2016-03-31 2016-11-07 模块化组件系统
CN202011228195.7A CN113144636B (zh) 2016-03-31 2016-11-07 模块化组件系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201620271418.0U CN205752715U (zh) 2016-03-31 2016-03-31 连接结构及应用该连接结构的电子装置
PCT/CN2016/104824 WO2017166816A1 (en) 2016-03-31 2016-11-07 Modular assembly system

Related Child Applications (4)

Application Number Title Priority Date Filing Date
CN202011228185.3A Division CN113144635A (zh) 2016-03-31 2016-11-07 模块化组件系统
CN202011229522.0A Division CN112516605B (zh) 2016-03-31 2016-11-07 模块化组件系统
CN202011227361.1A Division CN113144634B (zh) 2016-03-31 2016-11-07 模块化组件系统
CN202011228195.7A Division CN113144636B (zh) 2016-03-31 2016-11-07 模块化组件系统

Publications (2)

Publication Number Publication Date
CN108292816A true CN108292816A (zh) 2018-07-17
CN108292816B CN108292816B (zh) 2021-11-02

Family

ID=57374324

Family Applications (5)

Application Number Title Priority Date Filing Date
CN201620271418.0U Active CN205752715U (zh) 2016-03-31 2016-03-31 连接结构及应用该连接结构的电子装置
CN202011227361.1A Active CN113144634B (zh) 2016-03-31 2016-11-07 模块化组件系统
CN202011228195.7A Active CN113144636B (zh) 2016-03-31 2016-11-07 模块化组件系统
CN202011228185.3A Pending CN113144635A (zh) 2016-03-31 2016-11-07 模块化组件系统
CN201680046644.1A Active CN108292816B (zh) 2016-03-31 2016-11-07 模块化组件系统

Family Applications Before (4)

Application Number Title Priority Date Filing Date
CN201620271418.0U Active CN205752715U (zh) 2016-03-31 2016-03-31 连接结构及应用该连接结构的电子装置
CN202011227361.1A Active CN113144634B (zh) 2016-03-31 2016-11-07 模块化组件系统
CN202011228195.7A Active CN113144636B (zh) 2016-03-31 2016-11-07 模块化组件系统
CN202011228185.3A Pending CN113144635A (zh) 2016-03-31 2016-11-07 模块化组件系统

Country Status (3)

Country Link
EP (1) EP3424108B1 (zh)
CN (5) CN205752715U (zh)
WO (1) WO2017166816A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108961979A (zh) * 2018-09-04 2018-12-07 付芃棵 一种教学机器人系统和组装方法
CN109240682A (zh) * 2018-09-30 2019-01-18 上海葡萄纬度科技有限公司 基于ar的交互编程系统、方法、介质及智能设备
CN110032258A (zh) * 2018-12-24 2019-07-19 四川易简天下科技股份有限公司 模块化插接配合结构、一体机及模块化单元
CN111216111A (zh) * 2020-01-07 2020-06-02 北京可以科技有限公司 一种模块单元及模块化机器人
CN111781871A (zh) * 2020-06-30 2020-10-16 镇江宇诚智能装备科技有限责任公司 一种智能体结构及其多外设模块拼接与识别方法
CN111836409A (zh) * 2020-06-30 2020-10-27 镇江宇诚智能装备科技有限责任公司 一种多智能体系统结构及其控制方法
CN112071314A (zh) * 2020-07-31 2020-12-11 深圳市捷视飞通科技股份有限公司 语音控制方法、装置、计算机设备和存储介质
CN112181400A (zh) * 2019-07-03 2021-01-05 福建天泉教育科技有限公司 基于脚本的机器人配置方法及机器人
CN112585544A (zh) * 2018-08-20 2021-03-30 西门子股份公司 用于人工智能的基于可编程逻辑控制器的模块化加速模块
CN113348025A (zh) * 2019-01-31 2021-09-03 乐高公司 控制交互玩具构造模型的方法
CN114867540A (zh) * 2019-12-27 2022-08-05 索尼集团公司 信息处理装置、信息处理方法和信息处理程序
US12121827B2 (en) 2019-01-31 2024-10-22 Lego A/S Toy construction system with interactive function construction elements

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020124403A1 (en) * 2018-12-19 2020-06-25 Shenzhen Bell Creative Science and Education Co., Ltd. A connection structure of a robotic toy system
CN111190387B (zh) * 2020-01-07 2022-07-05 北京可以科技有限公司 机器人控制方法及系统
WO2021139144A1 (zh) * 2020-01-07 2021-07-15 北京可以科技有限公司 一种卡扣紧固组件及模块化机器人
CN116442204B (zh) * 2023-05-22 2024-02-23 浣江实验室 一种体素型机器人及包含其的系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6454624B1 (en) * 2001-08-24 2002-09-24 Xerox Corporation Robotic toy with posable joints
EP1287869A2 (en) * 2001-08-24 2003-03-05 Xerox Corporation Robotic toy modular system
CN1821990A (zh) * 2006-03-23 2006-08-23 王斌 设置即插即用扩展模块的无线终端及其方法
CN205659409U (zh) * 2016-06-06 2016-10-26 合肥市融宇电子有限公司 一种智能儿童玩具组装模块机器人与面感知模块的连接装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724894B1 (en) * 1999-11-05 2004-04-20 Pitney Bowes Inc. Cryptographic device having reduced vulnerability to side-channel attack and method of operating same
US7320052B2 (en) * 2003-02-10 2008-01-15 Intel Corporation Methods and apparatus for providing seamless file system encryption and redundant array of independent disks from a pre-boot environment into a firmware interface aware operating system
US20050177713A1 (en) * 2004-02-05 2005-08-11 Peter Sim Multi-protocol network encryption system
CN100446942C (zh) * 2007-03-08 2008-12-31 华中科技大学 一种模块化嵌入式多足机器人运动控制器
CN201156186Y (zh) * 2007-06-11 2008-11-26 陈宇 可扩展型通用机器人开发平台
SG149730A1 (en) * 2007-07-30 2009-02-27 Molex Inc Inverse coplanar electrical connector
US8753164B2 (en) * 2007-10-11 2014-06-17 Lego A/S Toy construction system
US20100008510A1 (en) * 2008-07-10 2010-01-14 Zayas Fernando A Method And System For Secure Download Of Firmware
US8206181B2 (en) * 2009-04-29 2012-06-26 Sony Ericsson Mobile Communications Ab Connector arrangement
CN101908989B (zh) * 2010-08-16 2016-01-13 海尔集团公司 一种智能家电的控制方法
CN102033764B (zh) * 2010-11-30 2014-08-20 公安部第三研究所 一种tf卡cos固件更新方法
CN102563168A (zh) * 2010-12-18 2012-07-11 西安迅腾科技有限责任公司 一种多气路气体压力远程控制系统
US9320980B2 (en) * 2011-10-31 2016-04-26 Modular Robotics Incorporated Modular kinematic construction kit
US8371894B1 (en) * 2011-12-23 2013-02-12 LaRose Industries, LLC Illuminated toy construction kit
US9600443B2 (en) * 2012-01-30 2017-03-21 International Business Machines Corporation Tracking entities by means of hash values
CN103257872B (zh) * 2013-04-15 2016-11-23 中国信息安全测评中心 一种计算机的嵌入式控制系统及其更新方法
US9418229B2 (en) * 2013-10-28 2016-08-16 Disney Enterprises, Inc. Firmware security
US10188939B2 (en) * 2014-03-11 2019-01-29 Microsoft Technology Licensing, Llc Modular construction for interacting with software
CN105364943B (zh) * 2014-08-29 2020-04-17 鸿富锦精密工业(深圳)有限公司 固接装置及使用该固接装置的机械臂与机器人
US9592603B2 (en) * 2014-12-01 2017-03-14 Spin Master Ltd. Reconfigurable robotic system
WO2016187517A1 (en) * 2015-05-20 2016-11-24 Robo Technologies Gmbh Connecting structures in a modular construction kit
CN105812570B (zh) * 2016-04-21 2019-05-03 深圳市旭子科技有限公司 终端固件更新方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6454624B1 (en) * 2001-08-24 2002-09-24 Xerox Corporation Robotic toy with posable joints
EP1287869A2 (en) * 2001-08-24 2003-03-05 Xerox Corporation Robotic toy modular system
CN1821990A (zh) * 2006-03-23 2006-08-23 王斌 设置即插即用扩展模块的无线终端及其方法
CN205659409U (zh) * 2016-06-06 2016-10-26 合肥市融宇电子有限公司 一种智能儿童玩具组装模块机器人与面感知模块的连接装置

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12013676B2 (en) 2018-08-20 2024-06-18 Siemens Aktiengesellschaft Programmable logic controller-based modular acceleration module for artificial intelligence
CN112585544A (zh) * 2018-08-20 2021-03-30 西门子股份公司 用于人工智能的基于可编程逻辑控制器的模块化加速模块
CN112585544B (zh) * 2018-08-20 2024-06-07 西门子股份公司 用于人工智能的基于可编程逻辑控制器的模块化加速模块
CN108961979A (zh) * 2018-09-04 2018-12-07 付芃棵 一种教学机器人系统和组装方法
CN109240682A (zh) * 2018-09-30 2019-01-18 上海葡萄纬度科技有限公司 基于ar的交互编程系统、方法、介质及智能设备
WO2020063132A1 (zh) * 2018-09-30 2020-04-02 上海葡萄纬度科技有限公司 基于ar的交互编程系统、方法、介质及智能设备
CN110032258A (zh) * 2018-12-24 2019-07-19 四川易简天下科技股份有限公司 模块化插接配合结构、一体机及模块化单元
CN113348025B (zh) * 2019-01-31 2022-09-27 乐高公司 控制交互玩具构造模型的方法
US12121827B2 (en) 2019-01-31 2024-10-22 Lego A/S Toy construction system with interactive function construction elements
CN113348025A (zh) * 2019-01-31 2021-09-03 乐高公司 控制交互玩具构造模型的方法
CN112181400B (zh) * 2019-07-03 2023-09-22 福建天泉教育科技有限公司 基于脚本的机器人配置方法及机器人
CN112181400A (zh) * 2019-07-03 2021-01-05 福建天泉教育科技有限公司 基于脚本的机器人配置方法及机器人
CN114867540A (zh) * 2019-12-27 2022-08-05 索尼集团公司 信息处理装置、信息处理方法和信息处理程序
CN114867540B (zh) * 2019-12-27 2024-04-30 索尼集团公司 信息处理装置、信息处理方法和信息处理程序
CN111216111A (zh) * 2020-01-07 2020-06-02 北京可以科技有限公司 一种模块单元及模块化机器人
CN111216111B (zh) * 2020-01-07 2023-02-10 北京可以科技有限公司 一种模块单元及模块化机器人
CN111781871A (zh) * 2020-06-30 2020-10-16 镇江宇诚智能装备科技有限责任公司 一种智能体结构及其多外设模块拼接与识别方法
CN111781871B (zh) * 2020-06-30 2021-10-01 镇江宇诚智能装备科技有限责任公司 一种智能体结构及其多外设模块拼接与识别方法
CN111836409A (zh) * 2020-06-30 2020-10-27 镇江宇诚智能装备科技有限责任公司 一种多智能体系统结构及其控制方法
CN112071314B (zh) * 2020-07-31 2023-09-05 深圳市捷视飞通科技股份有限公司 语音控制方法、装置、计算机设备和存储介质
CN112071314A (zh) * 2020-07-31 2020-12-11 深圳市捷视飞通科技股份有限公司 语音控制方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN113144636A (zh) 2021-07-23
EP3424108A1 (en) 2019-01-09
CN205752715U (zh) 2016-11-30
EP3424108B1 (en) 2021-06-02
EP3424108A4 (en) 2019-03-27
CN113144634A (zh) 2021-07-23
CN113144635A (zh) 2021-07-23
WO2017166816A1 (en) 2017-10-05
CN108292816B (zh) 2021-11-02
CN113144636B (zh) 2023-04-28
CN113144634B (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN108292816A (zh) 模块化组件系统
US10491380B2 (en) Firmware of modular assembly system
CN106068148B (zh) 用于与软件的交互的模块化构建
CN204631493U (zh) 采用多重身份验证的受控终端
CN103930182B (zh) 用于玩具件的基板组件
CN103942938A (zh) 以便携式智能设备为控制中枢的智能交互系统
CN106999781A (zh) 交互式学习积木
CN106462464B (zh) 通过使硬件或软件元件执行联动操作来实现功能的方法和系统
CN105527944A (zh) 具有时段划分功能的智能控制系统
CN110995812A (zh) 一种跨平台人工智能助理系统应用方案
CN107251570A (zh) 来自远程设备的传感器数据可用性
WO2019063951A1 (fr) Modules communicants auto-adaptatifs formés de briques élémentaires munies d'éléments de signalisation
CN112516605B (zh) 模块化组件系统
Korcsok et al. Ethorobotics in practice: Past, present, and future–case studies

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200811

Address after: Room 903, South Block, Yuanxing science and technology building, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Bell hekong (Shenzhen) Technology Co., Ltd

Address before: 518000 room 902, South Tower, Yuxing science and technology building, 1 Nanshan District Pine Road, Shenzhen, Guangdong.

Applicant before: SHENZHEN BELL CREATIVE SCIENCE AND EDUCATION Co.,Ltd.

TA01 Transfer of patent application right
CB03 Change of inventor or designer information

Inventor after: Wang Zuobing

Inventor after: Liao Meiyan

Inventor after: Qi Hongbo

Inventor after: Zan Cheng

Inventor after: Zhou Jinfu

Inventor after: Wang Yi

Inventor after: Chen Ziwen

Inventor after: Zhou Qifang

Inventor after: Dai Zhiguang

Inventor before: Wang Zuobing

Inventor before: Liao Meiyan

Inventor before: Qi Hongbo

Inventor before: Gao Sheng

Inventor before: Zhou Jinfu

Inventor before: Wang Yi

Inventor before: Chen Ziwen

Inventor before: Zhou Qifang

Inventor before: Dai Zhiguang

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant