Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MODULAR ROBOTIC SYSTEM AND METHODS FOR CONFIGURING ROBOTIC MODULE
Document Type and Number:
WIPO Patent Application WO/2020/121189
Kind Code:
A1
Abstract:
Disclosed herein is a modular robotic system, and methods for configuring the robotic module. The robotic system includes a first housing comprising a first processor and a first connector, a second housing comprising a second processor and a second connector, the first connector of the first housing being connectable to the second connector of the second housing in a plurality of orientations relative to one another, where the first processor and the second processor are configured to communicate with one other when connected in any of the plurality of orientations

Inventors:
GABA RAJEEV (IN)
BHALLA TARUN (IN)
IYER ISHAAN (IN)
JAKHAR MANOJ (IN)
Application Number:
PCT/IB2019/060608
Publication Date:
June 18, 2020
Filing Date:
December 10, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BUILDING BLOCKS LEARNING SOLUTIONS PVT LTD (IN)
International Classes:
A63H33/04; A63H29/00
Foreign References:
US7322873B22008-01-29
US20030082986A12003-05-01
US6575802B22003-06-10
EP2964426A12016-01-13
US20120122059A12012-05-17
Download PDF:
Claims:
8. The robotic system of any of claims 1 -7, wherein the groove includes a cut out portion at a bottom or a plurality of holes configured to receive the plurality of electrical contacts of the ridge.

9. The robotic system of any of claims 1-8, wherein the groove is formed within a step portion relative to the face of the first housing.

10. The robotic system of any of claims 1-9, wherein the ridge is formed within a pocket relative the face of the second housing.

11. The robotic system of claim 10, wherein the pocket is a depressed portion relative the face of the second housing.

12. The robotic system of any of claims 1-11, wherein a height of the ridge is less than a depth of the pocket so defined that the ridge does not project relative to Ihe face of the second housing.

13. The robotic system of any of claims 1-12, wherein a depth of the groove of the first housing is approximately the same as the height of the ridge of the second housing, so defined that when the groove receives the ridge of the second housing, the face of the first housing and the face of the second housing touch each other.

14. The robotic system of any of claims 10-13, wherein a height of the step portion of the first housing is less than the depth of the pocket of the second housing.

15. The robotic system of any of claims 1-14, wherein Ihe second housing is at least one of:

a drive motor comprising a first motor configured to receive, via the second connector, a control signal from the first processor of the first housing;

a function motor comprising a second motor configured to receive, via the second connector, another control signal from the first processor of the first housing;

a display comprising a screen configured to receive, via the second connector, information from the first processor of the first housing; and

a sensor configured to generate an output signal corresponding to a characteristic to be measured and send, via the second connector, the output signal to the first processor of the first housing.

16. The robotic system of any of claims 1-15, wherein the sensor is at least one of: a color sensor, a touch sensor, an Infrared (IR) sensor, or a Light Dependent Resistor (LCR) sensor.

17. The robotic system of claim 15, wherein the drive motor comprises at least one face including the ridge configured to connect with the groove of the first housing.

18. The robotic system of claim 15, wherein the function motor comprises at least one face including the ridge and at least one another face including the groove.

19. The robotic system of claim 15, wherein the function motor is cube shaped having six faces, wherein each of five faces out of the six faces includes the ridge and one face includes the groove.

20. The robotic system of claim 19, wherein the face of the function motor including the groove is connected to a shaft of the second motor.

21. The robotic system of any of claims 1 -20, wherein the second housing includes an unique electrical characteristic.

22. The robotic system of claim 21, wherein the unique electrical characteristic is a resistor having a particular resistance value.

23. The robotic system of claim 21 , wherein the first processor is further configured to identify the second housing based on the electrical characteristic of the second housing when connected to the first housing.

24. The robotic system of any of claims 21, wherein the first processor is further configured to: identify the second housing and an orientation of the plurality of the orientations of the second housing relative to the first housing based on an address of the second housing and the orientation; and articulate the second housing, wherein the identified second housing is the drive motor or the function motor.

25. A method for configuring a robotic module comprising a processor, the method comprising: connecting the robotic module to a first housing; and assigning, via the processor, an identifier to the robotic module, wherein the identifier is configured to identify a type of the robotic module, a number of the robotic module, and/or a location of the robotic module with respect to the first housing.

26. The method of claim 25, wherein the assigning of the identifier comprises:

assigning a first set of bits of a plurality of bits to identify the type of the robotic module, and a second set of bits of the plurality of bits to indicate the number the particular component.

27. The method of claim 25, wherein the assigning of the identifier comprises:

daisy chaining of the plurality of bits corresponding to a plurality of robotic modules connected to the first housing and/or a robotic module of the plurality of robotic modules.

28. A method of programming related to a robotic module, the method comprising:

selecting, via an interface, i) a predefined function to be performed by the robotic module, or ii) an option to create a user defined function to be performed by the robotic module;

defining, via the interface, logic and parameters related to the user defined function of the robotic module; and

storing, via a processor, the user defined function in a processor of a first housing,

wherein the processor is configured to control the robotic module based on the user- defined function when the robotic module is connected, via a joinery, to the processor, and

wherein the joinery establishes an electrical connection between the first housing and the robotic module.

29. The method of claim 28, wherein the defining the logic involves dragging and dropping of a plurality of pre-defined coding blocks within a programming screen on the interface, and defining the parameters includes assigning values to variables related to the robotic module.

30. The method of claim 29, wherein the robotic module is a drive motor or a function motor, and the parameters comprise a speed, an amount of rotation, and/or a direction of rotation of the drive motor or the function motor.

31. An communication protocol circuitry, comprising:

a printed circuit board including a two-wired interface to communicate information from a first processor to a second processor when connected to the first processor via a connector, wherein the connector establishes an electrical connection between the first processor and the second processor.

32. A robotic system comprises:

a first component comprising a first processor and a first connector,

a second component comprising a second processor and a second connector,

an rotatory connector configured to couple the first component and the second component in a desired orientation;

the first component being connectable, via the rotatory connector, to the second component in the desired orientation relative to one another, wherein the first processor and the second processor ate configured to communicate with one other when connected in the desired orientation.

33. The robotic system according to claim 31 , wherein the rotatory connector comprises:

a first rotatable element is configured to removably coupled to the first component of the robotic system; and

a second rotatable element configured to rotate in a desired orientation relative to the first rotatable element and lock to the first rotatable element in the desired orientation,

wherein the second rotatable element removably couples to the second component of the robotic system thereby allowing the second component be connected to the first component in the desired orientation.

34. The robotic system according to claim 33, wherein the second rotatable element includes a flange portion.

35. The robotic system according to claim 34, wherein the flange portion is segmented to include a comer flange portion.

36. The robotic system according to claim 34, wherein the first rotatable element has a hollow portion configured to receive the flange portion of the second rotatable element.

37. The robotic system according to claim 36, wherein the flange portion has a substantially circular shape and the hollow portion comprises a circular portion configured to receive the flange portion allowing rotational motion therebetween.

38. The robotic system according to claim 33, wherein the first rotatable element includes projections configured to prevent the second rotatable element from separating while relatively rotating the first rotatable element and the second rotatable element.

39. The robotic system according to claim 33, wherein

the first rotatable element includes a first marie, and

the second rotatable element includes a second mark, the first mark and the second mark when aligned allows the second rotatable element to be locked in the desired orientation with respect to the first rotatable element.

40. The robotic system according to claim 39, wherein the first rotatable element and the second rotatable element cannot be locked in the desired orientation if the first mark and the second mark are misaligned.

41. The robotic system according to claim 33, wherein:

the first rotatable element has a groove configured to receive a ridge element of the first component of the robotic system; and

the second rotatable element has the groove configured to receive the ridge element of the second component of the robotic system.

42. The robotic system according to claim 41, wherein:

the groove is an X- shaped depressed portion depressed inward relative to a face of the respective rotatable elements, and

the ridge is an X-shaped protruding portion protruding outward relative to a face of the respective components, the X-shape of the ridge corresponds to the X-shape of the groove.

43. The robotic system according to claim 42, further comprising:

an electrical connector housed between the first rotatable element and the second rotatable element, wherein the electrical connector establishes an electrical connection between the first component and the second component of the robotic system when the first rotatable element and the second rotatable element are in a locked state.

44. The robotic system according to claim 43, wherein the electrical connector comprises:

a pin element including a plurality of pins; and a track element having a plurality of tracks corresponding to the plurality of pins of the pin element, the plurality of pins and the plurality of tracks establishing an electrical connection when the first rotatable element and the second rotatable element are in the locked state.

45. A robotic system comprises:

a first component comprising a first processor and a first connector,

a second component comprising a second processor and a second connector,

a slidable connector configured to couple the first component and the second component in a desired position;

the first component being connectable, via the sidable connector, to the second component in the desired position relative to one another, wherein the first processor and the second processor are configured to communicate with one other when connected in the desired position.

46. The robotic system according to claim 45, wherein the slidable connector comprising:

a first slidable element removably couples to the first component of the robotic system; and a second slidable element disposed perpendicular to the first slidable element, the second slidable element configured to slide to a desired position relative to the first slidable element and lock to the second slidable element in the desired position,

wherein the second slidable element removably couples to the second component of the robotic system thereby allowing the second component be connected to the first component of the robotic system in the desired position.

47. The robotic system according to claim 46, wherein the second slidable element includes a flexible locking member, the flexible locking member configured to:

unlock the second slidable element and allow sliding with respect to the first slidable element when the flexible locking member are compressed, and

lock the second slidable element in the desired position relative to the first slidable element when the flexible locking member are released.

48. The robotic system according to claim 46, wherein the first slidable element includes a channel to guide a sliding motion of the second slidable element, the channel being formed on a side opposite to where the first component is coupled.

49. The robotic system according to claim 48, wherein an edge of the channel has teeth to enable locking of the second slidable element.

50. The robotic system according to claim 49, wherein the flexible locking member includes a flange portion to allow sliding in the channel without separating the second slidable element from the first slidable element.

51. The robotic system according to claim 50, wherein the flexible locking member includes a ridge at the flange portion configured to:

engage with the teeth of the first slidable element to lock the second slidable element to the first slidable element when the flexible locking member is released; and

disengage from the teeth of the first slidable element to unlock the second slidable element and allow sliding with respect to the first slidable element when the flexible locking member is compressed.

52. The robotic system according to claim 47, wherein the second slidable element comprises: a locking member having the flexible locking member at a circumference and a groove at a first side where the ridge element of the second component is received; and

a cover member coupled to a second side of the locking member, the second side being opposite to the first side.

53. The robotic system according to claim 52, wherein the cover member further comprises a groove at a first side where the ridge element of the second component is received.

54. The robotic system according to claim 46, wherein the first slidable element includes position markings at a circumference parallel to the channel, a position marking being indicative of the desired positions.

55. The robotic system according to claim 46, wherein:

the first slidable element has a ridge configured to be inserted in a groove of the first component of the robotic system; and

the second slidable element has at least one groove configured to receive a ridge element of the second component of the robotic system.

56. The robotic system according to claim 54, wherein: the groove is an X-shaped depressed portion depressed inward relative to a face of the respective slidable elements, and

the ridge is an X-shaped protruding portion protruding outward relative to a face of the respective components, the X-shape of the ridge corresponds to the X-shape of the groove.

57. A robotic system comprises:

a first component comprising a first processor and a first connector,

a second component comprising a second processor and a second connector, and

a skin connector configured to couple the first component and/or the second component to attach a shaped cover;

the first connector of the first component being connectable to the second connector of the second component in the desired orientation relative to one another, wherein the first processor and the second processor are configured to communicate with one other when connected in the desired orientation.

58. The robotic system according to claim 57, wherein the skin connector comprises:

a ridge configured to insert in a groove element of the robotic toy; and

one or more snap elements formed at edges of the skin connector, the one or more snap elements configured to be snap fit in a cavity of a shaped cover thereby giving the robotic toy a desired toy form.

59. The robotic system according to claim 58, wherein the one or more snap elements project perpendicular to a first face of the skin connector in a first direction, the first direction being opposite to the ridge’s projecting direction.

60. The robotic system according to claim 59, wherein the one or more snap elements are a cantilever type of elements.

61. The robotic system according to claim 59, wherein a body of the skin connector has a substantially rectangular or square shaped.

62. The robotic system according to claim 61, wherein the body includes a raised portion, the raised portion being raised with respect to the first face, and wherein the raised portion includes a hollow portion in which the ridge is formed.

63. A robotic system comprises: a first interlocking toy system comprising:

a plurality of pieces configured to interlock with each other via a first interlocking mechanism;

a second interlocking toy system having a second interlocking mechanism comprising:

a first component comprising a first processor, and

a second component comprising a second processor, the second component interoperably connected to the first component, and wherein the first processor communicates with the second processor to send receive control signals or sensor signal therebetween; and

an interface configured to couple, via the second interlocking mechanism at one face, the first component and/or the second component , and couple, via the first interlocking mechanism at another face, at least one piece of the plurality of pieces of the first interlocking toy system at another face to allow interoperability between the first interlocking system and the second interlocking system.

64. The robotic system according to claim 63, wherein the interface comprises:

a plurality of connecting elements, formed on a first face, having a first geometric configuration compatible with one or more pieces of a first interlocking toy system; and

a joinery, formed on a second face, having a second geometric configuration compatible with a second interlocking toy system, the interface enabling an interoperable connection between the first interlocking toy system and the second interlocking system.

65. The robotic system according to claim 64, wherein the connecting elements are studs and/or stud receptacles arranged in the first geometric configuration.

66. The robotic system according to claim 64, wherein the connecting elements have geometric configuration compatible with the studs and/or stud receptacles of the one or more pieces of the first interlocking toy system.

67. The robotic system according to claim 64, wherein the joinery includes an X-shaped ridge or an X-shaped groove arranged in the second geometric configuration.

Description:
MODULAR ROBOTIC SYSTEM AND METHODS FOR CONFIGURING ROBOTIC MODULE

BACKGROUND

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is based on, and claims the benefit of priority to, Indian provisional application no. 2018/11047472, filed on December 14, 2018, the entire contents of which are incorporated herein by reference.

FIELD

[0002] This disclosure relates generally to a modular robotic system. More particularly, the present disclosure relates to robotic modules and connectors used therewith to configure and reconfigure the robotic system to perform a desired task.

DESCRIPTION OF THE RELATED ART

[0003] Toy development has evolved from a pre-defined structured toy such as a car, doll, trucks, etc. that perform simple functions such as the playing of sounds in dolls, performance of simple patterns of movement in cars via a remote control, etc. to the development of robotic toys configured to perform relatively complex tasks.

[0004] Today, robotic toys are built from toy building elements or pieces, where the building element may be programmable. Depending on a task programmed, the toy building elements may perform different physical actions partially through a function or task programmed in the building element and partially by building a toy structure consisting of interconnected building elements of various types.

[0005] However, such robotic toys require an external central processing unit for programming the building elements and directing its movement. There is a need to provide a modular robotic toy construction system having modules having their own micro-controller with easy to program software interface and capable of being easily connected to other modules by mechanical and/or electrical connections into configurations which function as a single robotic unit.

SUMMARY

[0006] According to one aspect of this disclosure, there is provided a robotic system. The robotic system includes a first housing comprising a first processor and a first connector, a second housing (e.g., a drvie motor, a function motor, sensors, a display, linkages, claw, etc.) comprising a second processor and a second connector, the first connector of the first housing being connectable to the second connector of the second housing in a plurality of orientations relative to one another, wherein the first processor and the second processor are configured to communicate with one other when connected in any of the plurality of orientations

[0007] The first connector comprises a groove; and a second connector comprises a ridge corresponding to the groove, the ridge comprising the plurality of electrical contacts, where the groove is configured to receive the ridge and the plurality of electrical contacts in the plurality of orientations. The first connector further comprises a track element having a plurality of tracks corresponding to the plurality of contacts of the second connector, where the track element is located at a first side of the first connector and receives the plurality of the contacts of the second connector from a second side of the first connector, the second side being opposite to the first side.

[0008] Furthermore, according to one aspect of this disclosure, there is provided a method for configuring a robotic module. The method includes connecting the robotic module to a first housing, and assigning, via the processor, an identifier to the robotic module, wherein the identifier is configured to identify a type of the robotic module, a number of the robotic module, and/or a location of the robotic module with respect to the first housing.

[0009] The assigning of the identifier involves assigning a first set of bits of a plurality of bits to identify the type of the robotic module, and a second set of bits of the plurality of bits to indicate the number the particular component. Furthermore, the assigning of the identifier may also involve daisy chaining of the plurality of bits corresponding to a plurality of robotic modules connected to the first housing and/or a robotic module of the plurality of robotic modules.

[0010] Furthermore, according to one aspect of this disclosure, there is provided a method for programming a robotic module. The method involves selecting, via an interface, i) a predefined function to be performed by the robotic module, or ii) an option to create a user defined function to be performed by the robotic module, defining, via the interface, logic and parameters related to the user defined function of the robotic module, and storing, via a processor, the user defined function in a processor of a first housing, wherein the processor is configured to control the robotic module based on the user-defined function when the robotic module is connected, via a joinery, to the processor, and wherein the joinery establishes an electrical connection between the first housing and the robotic module.

[0011] The defining the logic involves dragging and dropping of a plurality of pre-defined functions within a programming screen on the interface, and defining the parameters includes assigning values to variables related to the robotic module.

[0012] The robotic module is a drive motor or a function motor, and the parameters comprise a speed, an amount of rotation, and/or a direction of rotation of the drive motor or the function motor. [0013] Furthermore, according to one aspect of this disclosure, there is provided a communication protocol circuitry including a printed circuit board including a two- wired interface to communicate information from a first processor to a second processor when connected to the first processor via a connector, where the connector establishes an electrical connection between the first processor and the second processor.

[0014] Furthermore, according to one aspect of this disclosure, there is provided a rotatory connector for a robotic system comprising a first component interoperably connected to a second component. The rotatory connector includes a first rotatable element is configured to removably coupled to the first component of the robotic system; and a second rotatable element configured to rotate in a desired orientation relative to the first rotatable element and lock to the first rotatable element in the desired orientation, where the second rotatable element removably couples to the second component of the robotic system thereby allowing the second component be connected to the first component in the desired orientation.

[0015] Furthermore, according to one aspect of this disclosure, there is provided a slidable connector for a robotic system comprising a first component interoperably connected to a second component, the slidable connector includes a first slidable element removably couples to the first component of the robotic system; and a second slidable element disposed perpendicular to the first slidable element, the second slidable element configured to slide to a desired position relative to the first slidable element and lock to the second slidable element in the desired position, where the second slidable element removably couples to the second component of the robotic system thereby allowing the second component be connected to the first component of the robotic system in the desired position.

[0016] Furthermore, According to one aspect of this disclosure, there is provided a skin connector for a robotic toy, the skin connector includes a ridge configured to insert in a groove element of the robotic toy; and one or more snap elements formed at edges of the skin connector, the one or more snap elements configured to be snap fit in a cavity of a shaped cover thereby giving the robotic toy a desired toy form.

[0017] Furthermore, according to one aspect of this disclosure, there is provided an interface between two different interlocking toy systems, the interface includes a plurality of connecting elements, formed on a first face, having a first geometric configuration compatible with one or more pieces of a first interlocking toy system; and a joinery, formed on a second face, having a second geometric configuration compatible with a second interlocking toy system, the interface enabling an interoperable connection between the first interlocking toy system and the second interlocking system. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate one or more embodiments and, together with the description, explain these embodiments. The accompanying drawings have not necessarily been drawn to scale. Any values dimensions illustrated in the accompanying graphs and figures are for illustration purposes only and may or may not represent actual or preferred values or dimensions. Where applicable, some or all features may not be illustrated to assist in the description of underlying features. In the drawings:

[0019] Figures 1A-1F are different views of a main component according to an embodiment of this disclosure;

[0020] Figures 2A-2B are different views of a groove element of a joinery according to an embodiment of this disclosure;

[0021] Figures 3A-3C are different views of a ridge element of the joinery according to an embodiment of this disclosure;

[0022] Figures 4A-4B are cross-section views of the joinery according to an embodiment of this disclosure;

[0023] Figures 5A-5F are different views of a secondary component, a drive motor, according to an embodiment of this disclosure;

[0024] Figures 6A-6G are different views of another secondary component, a function motor, according to an embodiment of this disclosure;

[0025] Figures 7A-7C are different views of another secondary component, a display, according to an embodiment of this disclosure;

[0026] Figures 8A-8L are different views of another secondary components, sensors, according to an embodiment of this disclosure;

[0027] Figures 9A-9D illustrate example robotic structure including the main component of Figures 1 A- 1F and secondary components to form a toy car according to an embodiment of this disclosure;

[0028] Figures 10A-10C illustrate example robotic structure including the main component of Figures 1A-1F and secondary components to form a robot according to an embodiment of this disclosure;

[0029] Figures 11A-11B illustrate example robotic structure including the main component of Figures 1A-1F and secondary components that is further connected to linkages according to an embodiment of this disclosure;

[0030] Figures 12A-12C illustrate example robotic structure including the main component of Figures 1A-1F and secondary components to form an excavator according to an embodiment of this disclosure; [0031] Figures 13A-13C illustrate example robotic structure including the main component of Figures 1A-1F and secondary components that is further connected to a linkage, a hook, or a claw according to an embodiment of this disclosure;

[0032] Figures 14A-14F illustrate example robotic structure including the main component of Figures 1A-1F and secondary components to form a dog according to an embodiment of this disclosure;

[0033] Figures 15A-15B illustrate example robotic structure including the main component of Figures 1A-1F and secondary components connected to another set of linkages according to an embodiment of this disclosure;

[0034] Figures 17A-17B illustrate example robotic structure including the main component of Figures 1A-1F and secondary components to form a tail (e.g., of a dog) according to an embodiment of this disclosure;

[0035] Figures 18A-18C illustrate example robotic structure including the main component of Figures 1A-1F and secondary components further connected to a claw according to an embodiment of this disclosure;

[0036] Figures 19A-19F illustrate example robotic structure including the main component of Figures 1A-1F and secondary components to form another car according to an embodiment of this disclosure;

[0037] Figure 20 illustrate example robotic structure including the main component of Figures 1A-1F and secondary components to form a drill according to an embodiment of this disclosure;

[0038] Figure 21 illustrate example robotic structure including the main component of Figures 1 A-1F and secondary components to form shown structure according to an embodiment of this disclosure;

[0039] Figure 22 is an example block diagram of a communication system between any secondary component and the main component according to an embodiment of this disclosure;

[0040] Figures 23-30 illustrate example schematics of processing circuit boards (PCB) of the main component, communication protocol, and different secondary components according to an embodiment of this disclosure;

[0041] Figures 31-32 illustrate example structure configuration and location identification for defining an identifier for automatically identifying a secondary component when connected to the main component according to an embodiment of this disclosure;

[0042] Figure 33A and 33B are example configuration illustrating the addressing mechanisms according to an embodiment of this disclosure;

[0043] Figure 34 is an exemplary flowchart of a method of user-defined configuration for a robotic module according to an embodiment of this disclosure;

[0044] Figure 35 is an exemplary flowchart of a method for module configuration of a robotic module according to an embodiment of this disclosure; [0045] Figure 36 is an example of a programming interface (e.g., a web programming interface) including pre-defined coding blocks according to an embodiment of this disclosure;

[0046] Figure 37 is an example of a programming interface (e.g., a web programming interface) including user-defined coding blocks according to an embodiment of this disclosure;

[0047] Figure 38 is an example architecture of the robotic system according to an embodiment of this disclosure;

[0048] Figures 39A-39G, 40, 41, 42, and 43 are example screens of a building interface tor building a robotic structure using the robotic modules according to an embodiment of this disclosure;

[0049] Figures 44A-44D are example screens of a gaming interface configured to guide user to play a game using the robotic structure built, for example, according to Figures 39A-39G, according to an embodiment of this disclosure;

[0050] Figure 44E is an example controller used for playing the game of Figures 44A-44D, according to an embodiment of this disclosure;

[0051] Figure 45 is an illustrative diagram of an exemplary computer system architecture, in accordance with various embodiments of this disclosure;

[0052] Figure 46 there is depicted an architecture of a mobile device, which can be used to realize a specialized system implementing this disclosure, in accordance with various embodiments of this disclosure.

[0053] Figure 47 is an example robotic toy (e.g., a car) including a first component and a second component attached to the first component, according to an embodiment;

[0054] Figure 48 is perspective view of the main component used in Figure 47, according to an embodiment;

[0055] Figure 49 is a perspective view of the second component (e.g., a drive motor) used in Figure 47, according to an embodiment;

[0056] Figure 50A is a perspective view of a rotatable connector when viewed from a first side, according to an embodiment;

[0057] Figure SOB is another perspective view of the rotatable connector, according to an embodiment;

[0058] Figure 50C is a front view of the rotatable connector in an unlocked state, according to an embodiment;

[0059] Figure SOD is the front view of the rotatable connector in a locked state, according to an embodiment;

[0060] Figure 50E is a side view of the rotatable connector in the unlocked state, according to an embodiment; [0061] Figure 50F is the side view of the rotatable connector in the locked state, according to an embodiment;

[0062] Figure 50G is an exploded view of the rotatable connector including an electrical connector, according to an embodiment;

[0063] Figure 50H is an exploded view of the rotatable connector omitting the electrical connector, according to an embodiment;

[0064] Figure 501 is a perspective view of a first rotatable element of the rotatable connector, according to an embodiment;

[0065] Figure 50J is a front view of a second rotatable element of the rotatable connector, according to an embodiment;

[0066] Figure 51 A is an exploded view of a first variation of the rotatable connector, according to an embodiment;

[0067] Figure 5 IB is an exploded view of a second variation of the rotatable connector, according to an embodiment;

[0068] Figure 52A is a perspective view of a slidable connector in a first configuration or a first position, according to an embodiment;

[0069] Figure 52B is a perspective view of the slidable connector in a second configuration or a second position, according to an embodiment;

[0070] Figure 52C is a perspective view of the slidable connector in a third configuration or a third position, according to an embodiment;

[0071] Figure 52D is a front view of a slidable connector in the first configuration or the first position, according to an embodiment;

[0072] Figure 52E is a side view of the slidable connector in the second configuration or the second position, according to an embodiment;

[0073] Figure 52F is a side view of the slidable connector in the third configuration or the third position, according to an embodiment;

[0074] Figure 52G is an exploded view of the slidable connector when viewed from a top side, according to an embodiment;

[0075] Figure 52H is an exploded view of the slidable connector when viewed from a bottom side, according to an embodiment;

[0076] Figure 521 is another exploded view of the slidable connector when viewed from the bottom side, according to an embodiment;

[0077] Figure 52J is a front view of the slidable connector, according to an embodiment;

[0078] Figure 52K shows a portion of the slidable connector, according to an embodiment; [0079] Figure 52L is an exploded view when viewed from a bottom side of the slidable connector omitting a member, according to an embodiment;

[0080] Figure 52M illustrates another exemplary slidable connector, according to an embodiment;

[0081] Figure 53A is a front view of a first variation of the slidable connector, according to an embodiment;

[0082] Figure 53B is a front view of the first variation of the slidable connector omitting a member, according to an embodiment;

[0083] Figure 54A is a perspective view of a skin connector when viewed from a top side, according to an embodiment;

[0084] Figure 54B is a perspective view of the skin connector when view from a bottom side, according to an embodiment;

[0085] Figure 54C is an elevation view of the skin connector, according to an embodiment;

[0086] Figure 54D is a perspective view of another example skin connector, according to an embodiment;

[0087] Figure 54E is a perspective view of yet another example skin connector, according to an embodiment;

[0088] Figure 54F is a cross-section view yet another example skin connector, according to an embodiment;

[0089] Figure 55 A is an example toy (e.g., a three-wheeler) build by coupling a first skin to the robotic toy, according to an embodiment;

[0090] Figure 55B is another example toy (e.g., a satellite) build by coupling a second skin to the robotic toy, according to an embodiment.

[0091] Figure 56A illustrates a perspective view showing a first side of an interface (e.g., a LEGO connector) having connecting elements compatible with a first interlocking system, according to an embodiment.

[0092] Figure 56B is a plan view of the interface of Figure 56A viewed from the first side, according to an embodiment.

[0093] Figure 56C illustrates a perspective view showing a second side of the interface of Figure 56A having a joinery compatible with a robotic components (e.g., of Figure 47) of the robotic system, according to an embodiment.

[0094] Figure 56D illustrates a plan view of the interface of Figure 56C viewed from the second side, according to an embodiment.

[0095] Figure 57 illustrates an example interface with LEGO pieces attached thereto, according to an embodiment. DETAILED DESCRIPTION

[0096] The description set forth below in connection with the appended drawings is intended as a description of various embodiments of the disclosed subject matter and is not necessarily intended to represent the only embodiment(s). In certain instances, the description includes specific details for the purpose of providing an understanding of the disclosed embodiment(s). However, it will be apparent to those skilled in the art that the disclosed embodiment(s) may be practiced without those specific details.

In some instances, well-known structures and components may be shown in block diagram form in order to avoid obscuring the concepts of the disclosed subject matter.

[0097] Subject matter will now be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific example embodiments. Subject matter may, however, be embodied in a variety of different forms and, therefore, covered or claimed subject matter is intended to be construed as not being limited to any example embodiments set forth herein. Example embodiments are provided merely to be illustrative. Likewise, a reasonably broad scope for claimed or covered subject matter is intended. Among other things, for example, subject matter may be embodied as methods, devices, components, or systems. Accordingly, embodiments may, for example, take the form of hardware, software, firmware or any combination thereof (other than software per se). The following detailed description is, therefore, not intended to be taken in a limiting sense.

[0098] Throughout the specification and claims, terms may have nuanced meanings suggested or implied in context beyond an explicitly stated meaning. Likewise, the phrase“in one embodiment” as used herein does not necessarily refer to the same embodiment and the phrase“in another embodiment” as used herein does not necessarily refer to a different embodiment. It is intended, for example, that claimed subject matter include combinations of example embodiments in whole or in part.

[0099] In general, terminology may be understood at least in part from usage in context. For example, terms, such as“and”,“or”, or“and/or,” as used herein may include a variety of meanings that may depend at least in part upon the context in which such terms are used. Typically,“or” if used to associate a list, such as A, B or C, is intended to mean A, B, and C, here used in the inclusive sense, as well as A, B or C, here used in the exclusive sense. In addition, the term“one or more” as used herein, depending at least in part upon context, may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe combinations of features, structures or characteristics in a plural sense.

Similarly, terms, such as“a, an,” or“the,” again, may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context. In addition, the term“based on” may be understood as not necessarily intended to convey an exclusive set of factors and may, instead, allow for existence of additional factors not necessarily expressly described, again, depending at least in part on context.

[0100] It is to be understood that terms such as“left,”“right,”“top,”“bottom,”“front, M rear. »» 6« side,” height,”“length,”“width,”“upper,”“lower,” interior, *» k< exterior,”“inner,”“outer,” and the like that may be used herein merely describe points of reference and do not necessarily limit embodiments of the present disclosure to any particular orientation or configuration. Furthermore, terms such as“first,” “second,”“third,” etc., merely identify one of a number of portions, components, steps, operations, functions, and/or points of reference as disclosed herein, and likewise do not necessarily limit embodiments of the present disclosure to any particular configuration or orientation, or any requirement that each number must be included.

[0101] A modular robotic system comprises of robotic modules, which can be disconnected and reconnected in various arrangements to form different configurations while enabling new functionalities specific to a particular configuration. As a result, multiple possible robot configurations or structures may be obtained from the same number of robotic modules. For example, a robot structure (e.g., a car, an animal, a mechanical tool or apparatus, etc.) can be built by interconnecting a certain number of modules to form a desired structure (e.g., car with four wheels) and programming desired functionality (e.g., steer, move forwards/backwards, etc.) to activate the desired robotic structure to perform a desired task (e.g., driving from a first location to a second location while steering along a desired path or steering around obstructions).

[0102] The term“robotic system” used herein refers to a system comprising several components (e.g., mechanical, electrical/electronic, software, etc.) related to a robotic module or a set of robotic modules. For example, the robotic system comprises a set of robotic modules, user interfaces used to implement or activate functionalities related to the robotic modules, any programs or configurations build using the robotic modules and the user interface, a web programming interface used to code a particular function to be performed related to a robotic module, a user-defined configuration of the robotic modules, or any other tools, programming interface, etc. relating to the robotic modules of the present disclosure and/or interacting with the robotic modules. An example robotic system architecture is illustrated in Figure 38, which show different elements of the robotic system including communication, robotic module, external devices that interact with the robotic module, etc.

[0103] Furthermore, the robotic structure’s physical actions may be conditioned by the interaction of the robotic structure with its surroundings, and the robotic structure may be programmed to respond to sensor inputs, such as physical contact with an object or to light, sound, color, and to change its behavior on the basis of the sensor inputs. [0104] In an embodiment, such modular robotic system comprising a plurality of programmable robotic modules may be used to build toys and for education purposes to caters to children of a younger age or adults. In an embodiment, toys, games using toys, etc. can be build using the robotic modules to teach and inculcate basic knowledge of how to design systems for modem world. As mentioned earlier, the robotic system is modular system that enables manipulation of different structures to create different shapes and are programmable in multiple ways (e.g., via computer, phone or an interface). The robotic modules, as described herein, are easy to assemble, enable self-learning, and intuitive in nature to build a desired robotic structure or toy.

[0105] According to the present disclosure, the robotic modules or the robotic structure built therefrom may be configured via different interfaces, as described herein, each interface configured to work independently to control any unique creation, for example, by a child. Thus, the robotic system is designed to enhance the logical abilities, creativity and programming skills of a young child or adults.

[0106] In a preferred embodiment, a target age group is mostly young children. So, it is desired to provide them age appropriate curriculum and manipulatives. A child's world and environment, at the ages of 3 to 10 years (or higher) is dominated by blocks (e.g., made of wood or plastic), colorful toys (e.g., made of wood or plastic) and books. As such, the robotic modules and any tangible interface may be made of plastic and/or wood with limited to no apparent electronics on its surface to ensure that the child does not feel intimidated by the interface but feels welcomed to use the interface. The tangible interface refers to a software interface with which a user can interact to program a particular function of a robotic module. The tangible interface also ensures that the child focuses on the task at hand and does not get distracted by other screen based applications such as commonly available on a phone, tablets or computers. Furthermore, consistency is be maintained across the different devices (e.g., tangible screen, phone/tablet and computer) so that when the children move from one to another device they do not get confused.

[0107] Thus, the robotic system described herein provides several advantages including, but not limited to, configuration and reconfiguration of a robotic structure with ease using the robotic modules, model real-world behaviors, and teach basic principles of coding such as logic, troubleshooting and function flows without having a prior understanding of a coding language. In an embodiment, advanced users can learn the basics of programming language and logic, and troubleshooting logic, and further code user- specific functions as they build more complex robotic structures. Hence, as users advance, they can apply these computational thinking skills to traditional programming, for example, in C programming language.

[0108] In the present disclosure the terms“robotic module,”“module,”“programmable module,” and “block,” may be used interchangeably to refer to a main component or a secondary component of the robotic system or the robotic toy. The terms“robotic system,”“robotic toy,” and“robotic configuration,” may be used to refer to any device, apparatus or a toy comprising cooperating parts configured using robotic modules according to the present disclosure.

[0109] According to the present disclosure, a robotic structure is built by interconnecting, via a joinery, cooperating robotic modules. The joinery comprises a first connector (also referred as a groove element) with a cavity or groove and a second connector (also referred as a ridge element) having a projecting portion that can be received in the cavity or groove. The joinery (e.g., comprising the first connector and the second connector) allows interconnection between two modules in multiple orientations. In addition, the joinery is configured to easily connect and disconnect cooperating modules, for example, via a snap action. The joinery also includes a locking element, which locks the cooperating modules when connected and easily unlocks upon applying force while disconnecting the modules. The joinery also includes electrical contact points such as pogo pins that establish an electrical connection between cooperating parts thereby enabling communication of signals such as sensor inputs, control commands etc. between the cooperating modules.

[0110] In an embodiment, the joinery comprises an X-shaped portions (e.g., in Figures 2A-2B, 3, and 4A-4B) that allows four different orientations between two modules connected to each other. The two modules may be a first housing (interchangeably referred as a main component for better readability) comprising the first connector (e.g., having an X-shaped groove) and a second housing (interchangeably referred as a secondary component for better readability) comprising the second connector (e.g., having an X-shaped ridge). For example, the four orientations of the second housing or a secondary component (e.g., a function motor 300 in Figures 6A-6G) correspond to connecting the secondary component's bottom side, top side, right side, or left side to a side of the first housing such as a main component 100 (e.g., in Figure 1A). Thus, the joinery provides flexibility in orienting a component relative to another component to give desired shape or structure to the robotic toy. It should be noted that the X-shapes of the joinery are only exemplary and does not limit the scope of the present disclosure. Any other geometric shapes (e.g., pentagon, hexagon, etc.) may be configured to form the joinery. As an example, in the present disclosure, the X-shaped joinery is used to explain the concepts and function of the robotic modules and their interactions, how the robotic modules should be attached and detached to build a robotic structure, etc.

[0111] According to an embodiment, the X-shaped design of the joinery also has a metaphorical usage. For example, usage of alphabet X as a variable in algebra or even in common terminology. In a robotic configuration, one can attach any kind of sensor or a motor module at such X location thereby giving an early association to children that X means a position where different options can be placed.

[0112] Now, the disclosure describes in detail an exemplary joinery structure and different robotic modules that can be configured to form a desired robotic configuration that are enabled (e.g., via programing desired function within a processor of a robotic module) to perform a desired task. For example, a robotic configuration comprises cooperating robotic modules, where a robotic module is the main component 100 (discussed with respect to Figures 1A-1E) and another of the cooperating robotic modules is the secondary component (e.g., 200, 300, 400, and 800 in Figures 5-8, respectively) connected via a joinery 900 (in Figures 4A and 4B). The joinery 900 is configured to connect the secondary component (e.g., a drive motor in Figure 5A-5F) in a desired orientation relative to the main component 100 (in Figure 1 A-1E). Furthermore, a processor 10 (interchangeably referred as a first processor 10) may be housed in the main component 100, the first processor 10 is configured to communicate with a second processor of the secondary component via the joinery 900. The joinery 900 comprises a plurality of electrical contacts 954 to establish an electrical connection between the first processor 10 and the second processor (e.g., PCBs in Figures 25-30) of the secondary component of the cooperating parts.

[0113] Refaring to the cross-section of the joinery 900 in Figures 4A-4B, the joinery 900 comprises a first connector 910 (interchangeably referred as a groove element 910) having a portion (e.g., a cavity or an X-shaped cavity) configured to receive a portion (e.g., a projection or a X-shaped projection) of a second connector 950 (interchangeably referred as a ridge element 950). Further, the groove element 910 and the ridge element 950 are electrically connected to each other via a track element 980 and the electrical contacts 954 passing through the ridge element 950.

[0114] Figures 2A-2B illustrate the groove element 910 of the joinery 900. The groove element 910 comprises a groove 912 (also referred as a cavity 912). The groove 912 is a cavity or a depressed portion of the groove element 910 that is formed relative to an outer surface 911 (i.e., a surface facing at an outer side as shown in Figure 2A) of the groove element 910. The groove 912 has a plurality of holes (not illustrated) or an opening at a bottom of the cavity allowing access from an outer surface 911 to an inner side of the grove element 910. The groove 912 is configured to receive the ridge 952 and the plurality of electrical contacts 954 in a plurality of orientations. In an embodiment, the groove 912 is configured to receive the plurality of contacts 954 such that the contacts 954 passes through the opening or the plurality of holes of the groove 912 allowing contact with a track element 980 placed at an inner side, for example, as illustrated in cross-section view of joinery 900 in Figures 4A and 4B.

[0115] The shape of the groove 912 is such it can receive the ridge element 950 (or the component connected thereto) in a plurality of orientations relative to the outer surface 911 of the groove element 910 (or the component connected thereto). A total number of the plurality of orientations depends on the shape of groove 912. For example, the groove 912 can be shaped as a“minus” sign,“plus” sign,“X”, etc. Accordingly, the groove 912 may receive the ridge element 950 (or the component connected thereto) in two, three, four, five, six, etc. different orientations depending on the shape of the groove 912. [0116] In an embodiment, an orientation may be defined as an angular position about the axis of the groove element 910 or with respect to faces of a robotic module comprising the groove element 910 and/or the ridge element 950. For example, when the plurality of orientations are defined as angular positions about the axis (e.g., perpendicular to the outer surface 911) of the groove element 910, the angular positions can be 0°, 90°, 270°, and 360°, or 30°, 120°, 210°, and 300°, or any other desired angular position. When the plurality of orientations are defined with respect to a face of the robotic module, the face may be a top face, a bottom face, a front face, a side face, etc. defined based on viewing direction of a user.

[0117] A body of the groove element 910 may be of any desired shape as well. In an embodiment, the desired body depends on a housing or shape of the robotic module within which the groove element 910 may be incorporated. For example, the groove element 910 can be configured to have a rectangular or square-type body (as shown in Figure 2A and 2B), circular body, ovular body, etc. or a combination thereof (e.g., square body and a circular base such as 910 shown in Figure 5F). The body of the groove element 910 may include fastening aspects or attaching means such as holes, threaded holes, etc. to enable fastening of the groove element 910 within a particular robotic module (e.g., the main component 100 in Figure 1A-1F). For example, in a square body type 920D in Figure 1 , four hole may be formed at four comers of the groove element 910D (in Figure 1A).

[0118] Furthermore, the body of the groove element 910 may be configured to include one or more locking elements that allows to easily attach and remove, for example, via a snap action, a robotic module. For example, the one or more locking elements may be a cantilever type having a profiled shape, where the locking takes place due to a spring action of the cantilever when force is applied at an open end (e.g., at the profile shape) of the cantilever. The profile shape is such that when attaching by pressing a robotic module, the attaching force causes the cantilever to depresses, and the when removing the robotic module, a sliding out or pull out motion also causes the cantilever depress and separate two connected robotic modules.

[0119] In an embodiment, the square body type may include four locking elements 915 as shown in Figure 2A and 2B. However, the position and number of locking elements 915 is not limited to the shown example of the element 910. Based on the body type of the groove element 910 and/or the housing of a robotic element, different locking elements configuration of the groove element 910 is possible.

[0120] In addition, Figures 2A and 2B, also illustrates the track element 980 attached at an inner side or under side of the groove element 910. The inner side refers to a side opposite to the surface 911 or a side towards which the cavity 912 extends. The inner side and the outer sides are also marked in Figures 4A and 4B for clarity. In an embodiment, the track element 980 includes a plurality of tracks 982 made of electrically conducting material such as a metal. The tracks 982 are separated from each other. The location and a number of the tracks 982 correspond to the plurality of electrical contacts 954. In an embodiment, six tracks are formed on a substrate of the tracking element 980. The tracking element 980 can be further connected to another electronic circuit to send and receive signals via the established electrical connection between the tracks 982 and the electrical contacts 954. For example, the signal can be signals from a sensor (e.g., color, touch, IR, LDR, etc.), the signals can be command signals sent by the processor of the main component 100, or other signals related to actuating, receiving data, communicating data, establishing wireless links, etc. within the desired robotic system configuration.

[0121] Thus, when the groove elements 910 is connected to the ridge element 980 via the track elements 980 and the electrical contacts 954, the joinery 900 enables actuation of the robotic modules in cooperation with each other (e.g., used in a toy) to perform a desired functionality or a task.

[0122] As mentioned earlier, the ridge element 950 cooperates with the groove element 910 to form the joinery 900. Exemplary structure of the ridge element 950 is shown in Figure 3. The ridge element 950 comprises the ridge 952 (also referred as a projecting portion 952). The ridge 952 is a projecting portion or a protruding portion projecting outward, for example, towards the outer surface 951 (i.e., a surface facing at an outer side as shown in Figure 3 A) of the ridge element 950. In an embodiment, the ridge 952 is formed in a pocket 953 formed on the outer surface 951 extending inward to a certain depth, as shown in Figure 3A. In an embodiment, the ridge 952 is formed inside the pocket 953 such that a height (e.g., t r in Figure 4A) of the ridge 952 is less than or equal to the depth (e.g., t rc in Figure 4A) of the pocket 953. However, the ridge 952 location, dimensions, or shape is not limited to that shown in Figure 3 A. In an example, the ridge 952 may extend outward from the outer surface 951. In another example, the ridge 952 may be formed on the outer surface 951 with no pocket 953.

[0123] Furthermore, the ridge 952 has a plurality of holes (see Figure 3B) for accommodating the plurality of electrical contacts 954 (e.g., pogo pins). In an embodiment, the holes (in Figure 3B) are arranged linearly on the surface of the ridge 952. In an embodiment, the holes may be equidistant from each adjacent hole. In the example shown in Figure 3B, the ridge 952 includes six holes corresponding to six pogo pins 954 in Figure 3 A. When assembled with the groove element 910, as shown in Figures 4A and 4B, the groove 912 receives the plurality of contacts 954 and makes contact with the track element 980 placed at the inner side of the groove element 910.

[0124] The ridge 952 has a shape corresponding to the shape of the groove 912 so that the ridge 952 fit in the groove 912 in a desired orientation of the plurality of orientations. Similar to the groove element 910, the plurality of orientation of the ridge 950 is dependent on the shape of the ridge 952. For example, the ridge 952 can be a“minus” sign,“plus” sign,“X,” etc. Accordingly, the ridge element 950 (or the component connected thereto) can be oriented in two, three, four, five, six, etc. different orientations within the groove 912. In the present disclosure, as an example in Figure 3A-3C, the ridge 950 is an X- shaped protruding portion that projects outward relative to the outer surface 951 or a face of the secondary component (e.g., 200 in Figure 5A).

[0125] The orientation of the ridge 950 may be defined as an angular position about the axis (e.g., perpendicular to the outer surface 951) of the ridge element 950 (or the groove element 910) or with respect to faces of a robotic module comprising the ridge element 910 and/or the ridge element 950. For example, when the plurality of orientations are defined as angular positions about the axis of the ridge element 950, the angular positions can be 0°, 90°, 270°, and 360°, or 30°, 120°, 210°, and 300 °, or any other desired angular position. When the plurality of orientations are defined with respect to a face of the robotic module, the face may be a top face, a bottom face, a front face, a side face, etc. defined based on viewing direction of a user.

[0126] A body of the ridge element 950 may be of any desired shape as well. In an embodiment, the desired body depends on a housing or shape of the robotic module within which the ridge element 950 may be incorporated. For example, the ridge element 950 can be configured to have a rectangular or square-type body (as shown in Figures 3A and 3B), circular body, ovular body, etc. or a combination thereof. The body of the ridge element 950 may include fastening means or attaching means such as holes, threaded holes, etc. to enable fastening of the ridge element 950 within a particular robotic module (e.g., the drive motor 200 in Figures 5A-5F). For example, in a square body type 950 in Figure 5D, four hole may be formed at four comers at an under side of the ridge element 950.

[0127] Furthermore, the body of the ridge element 950 may be configured to include one or more locking means such as slots corresponding to the locking element 915 (in Figure 2A) that allows to easily attach and remove, for example, via a snap action, a robotic module. For example, as shown in Figure 3B, one or more locking slots may be along a edge of the pocket 953, where the slots are located at locations corresponding to the locking elements 915 of the groove element 910. When attaching, the locking element 915 of the groove element 910 snaps into the locking slots of the ridge element 950, thereby locking the elements 910 and 950 in place due to the spring action of the locking element 915 as discussed earlier.

[0128] In an embodiment, the square body type of the ridge element 950 includes four locking slots (see Figure 3B and 3C) corresponding to the locking elements 915 of the groove element 910. As mentioned earlier, based on the body type, different locking elements and slot configurations are possible.

[0129] The joinery discussed above may be included in one or more robotic modules such as the main component 100 and the secondary component. In examples of the present disclosure, the groove element 910 is included in the main component 100 and the function motor 300, while the ridge element is included in the secondary component (e.g., the drive motor 200, the function motor 300, sensors 400-700, or the display 800). Thus, one or more secondary components can be connected to the main component 100 by inserting the ridge 952 of the secondary component in to the groove 910 of the main component

100.

[0130] Figures 1A-1F illustrate different views of the main component 100. The main component includes a plurality of groove elements 900A-900N arranged along the faces of the main component. For example, three groove elements are arranged on different face of the main element, where one groove element (e.g., 910B) is at a center of the main component and two groove elements (e.g., 910A and 910C) adjacent to the center groove in a linear manner. Accordingly, the groove 912A, 912B, and 912C is also arranged linearly. Further, one groove element 9910J and 910K (see Figure IB) can be placed on two side faces (e.g., left and right) respectively. As such, in the present example, total of 14 groove elements are included in the main component 100. Thus, a total of 14 or less number of secondary components may be connected to the main component 100.

[0131] In an embodiment, the main component 100 has a first housing having an elongated cubical shape. The first housing comprises face plates 102 assembled with other components including the groove elements 910A-910N (generally referred as groove element 910) and corresponding track elements 980, a battery 150, a chassis 120, etc. as illustrated in Figures 1A-1F. The chassis 120 is used to support and attach different elements (e.g., 910A-910N, 980, 150, circuitry 10) of the main component 100.

[0132] In an embodiment, the main component 100 includes the first processor 10 configured to control one or more attached secondary components. For example, the first processor 10 is connected via the track elements 980 to a second processor of the secondary components such as sensors. Hence, the first processor 10 can receive signals (e.g., from sensors 400-700) and based on the sensor signals and the functionality programmed in the first processor 10, the first processor can control/configure/communicate with the second processor of the secondary components.

[0133] In an embodiment, the first processor 10 can automatically identify the type of the secondary component such as the drive motor 200, the function motor 300, etc. when the secondary component is connected to the main component 100. Such automatic identification may be achieved by an identifier (e.g., assigned according to an addressing mechanism in Figures 31-33) and module configuration (e.g., Figures 34 and 35) discussed later in the disclosure. Furthermore, the first processor 10 may be configured to determine an orientation and/or a location of the secondary component with respect to the main component 100. According to an embodiment, it may be desirable to identify the correct orientation and location of the secondary component, since the joinery 900 allows the secondary component to be connected in a plurality of orientations with respect to the main component, however only a certain orientation may be desired within a robotic structure.

[0134] As shown in Figure 1A, example grooves 912A-912N (generally referred as groove 912) of the main component are an X-shaped depressed portion depressed inward relative to the surface of the face (e.g., 102) of the main component 100. Thus, the main component 100 can connect with any robotic module having the ridge 950 as an X-shaped protruding portion protruding outward relative to a surface of the face of the secondary component, where the X-shape of the ridge 950 corresponds to the X-shape of the groove 912.

[0135] In the present disclosure example secondary components include, but not limited to, one or more of, the drive motor 200 (Figures 5A-5F), a function motor 300 (Figures 6A-6G), the display 800 (Figures 7A-7C), and sensors 400, 500, 600, 700 (Figures 8A-8C).

[0136] As shown in Figures 5-8, the secondary components include the ridge 950 having the plurality of electrical contacts 954 in a form of pins (e.g., pogo pins) projecting outward from the X-shaped protruding portion. In the examples shown, a number of pins 954 is six that are arranged linearly with an equidistance between each adjacent pins. Further, to accommodate the six pins 950, the groove 912 of the main component 100 includes a cut-out or a plurality of holes at the bottom of the X-shaped cavity configured to receive the plurality of electrical contacts 954 through the ridge 950.

[0137] As shown in Figure 1A, the groove 912 is formed within a step portion 104 relative the face of the main component 100. The step portion 104 is a body of the groove element 910, as mentioned earlier (e.g., in Figures 2A and 2B), that projects outward from the face of the main component 100.

Corresponding to the groove 912, as shown in Figures 5-8, the ridge 950 is formed within a pocket 953 on a face of the secondary component (e.g., 200-800). The pocket is a depressed portion with respect to a face of the secondary component. As mentioned earlier, a height of the ridge 950 is less than a depth of the pocket 953 such that the ridge 950 does not project out relative to the surface of the face of the secondary component. In an embodiment, the pocket 953 is configured to receive the step portion 104 (e.g., a portion projecting from the face of the main component in Figure 1A) of the main component 100. Thus, in an embodiment, the depth and shape of the pocket 953 of the ridge element 950 may be defined with respect to the size and shape of the step portion 104 and/or depth of groove (e.g., t g in Figure 4A) or thickness (e.g., t gC in Figure 4A) of the groove element 910. For example, a height of the step portion 104 of the main component 100 is less than the depth of the pocket 953 of the secondary component (e.g., 200).

[0138] Furthermore, a depth of the groove 912 of the main component 100 may be approximately the same as the height of the ridge 950 of the secondary component, so that when the groove 912 receives the ridge 950 of the secondary component, the face (e.g., 102) of the main component 100 and a face of the secondary component touch each other. However, the present disclosure is not limited to such configuration. A person skilled in the art can determine appropriate dimension of the pocket 953, the step 104, the groove 912 and the ridge 952 such that the cooperating component (e.g., 100 and 200), more particularly faces at the joinery 900, may or may not be touching each other or flushed to each other. [0139] In an embodiment, the secondary component may be the drive motor 200, as illustrated in Figures 5A-5F. The drive motor 200 can be any component configured to connect, via the joinery 900, the main component 100 to provide propulsion or driving energy to the main component or the robotic structure in general. The drive motor 200 is an electric motor configured to send receive signals from the main component 100. For example, Figure 27 shows a motor PCB 2700 that communicates with the main component’s PCB 2300 (in Figures 23A and 24B) via the I2C communication protocol related PCB 2400 (in Figure 24). Thus, the robotic structure comprising the drive motor 200 can be instructed to move forward/backward/turn, etc. by controlling a speed of the drive motor 200. Accordingly, a drive motor control function may be defined (e.g., using the web programming interface in Figures 36-37) and stored in the memory, for example, of the processor of the main component 100.

[0140] The electric motor of the drive motor 200 may be selected based on a propulsion or driving related specification of the robotic structure to be built. For example, the motor may have maximum speed of 150 rpm, and a torque in the range 0.5 to 1 Kg.cm. However, the motor specification is not limited to a particular speed or torque. In an embodiment, the drive motor 200 can be powered by a battery within the main component 100. However, a person skilled in the art can understand that the drive motor 200 may have other power sources such as from power outlet, another battery housed in the drive motor 200 itself, or other secondary component.

[0141] Furthermore, the drive motor 200 may be configured to include a rotation check mechanism to determine or measure the number of rotations of a shaft of the motor. The mechanism helps to determine whether the motor completed a full rotation, a quarter rotation, a half rotation, or a partial rotation. In an embodiment, a full rotation may be desired, however, the motor may only partially rotate depending on the surface conditions, manufacturer of the motor, type of motor, power remaining in the battery, or a combination thereof. Thus, the mechanism ensures that a desired rotation (e.g., a full rotation) is achieved. In embodiment, the mechanism includes a slotted disc attached to the motor shaft and an IR sensor placed in the vicinity of the slotted disc. The IR sensor sends signal to, for example, the first processor 10 of the main component that can further determine, based on the signal, whether the amount of rotation or speed is as desired.

[0142] The drive motor 200 includes at least one ridge element 950 accessible from a first face of the drive motor as shown in Figure 5A-5F. Furthermore, at a second face of the drive motor, the shaft of the motor 250 is accessible. In an embodiment, the ridge element 250 and the shaft of the motor 250 are on opposite faces (e.g., the first face is a front face (or a top face), and the second face is a back face (or a bottom face). However, it can be understood that the relative location of the ridge element 950 and the shaft of the motor 250 is not limited to a particular face of the drive motor 200. A person of ordinary skill in the art may modify the accessible locations of the ridge element 950 and the shaft of the motor 250 as desired, for example, as per the robotic structure desired to be built. Furthermore, the number of ridge elements 950 is not limited to one, and a plurality of ridge elements 950 may be included in the drive motor 200.

[0143] In an embodiment, the ridge element 950 connects with a counterpart groove element 900 (e.g., included in the main component 100) thereby establishing an electrical contact between the drive motor 200 and the main component 100, as discussed earlier with respect to the joinery 900 (e.g., in Figures 4A and 4B).

[0144] In an embodiment, the secondary component may be the function motor 300, as illustrated in Figures 6A-6G. The function motor 300 can be any component configured to connect, via the joinery 900, the main component 100 to provide a functional movement that involve multi-planer and/or multi-joint movements configured to achieve a function. For example, biomechanics related movements such as twisting, turning, grabbing, jumping, chewing, etc., driving related movements such as steering, etc. In an embodiment, such multi-planar and/or multi-joint movements may be achieved via a plurality of function motors 300 (e.g., see sample robotic structures in Figures 10A-18C). In an embodiment, the function movement may be achieved via a linkage mechanism such a steering of a wheel, barking of a dog, tail movement, etc. within the robotic structure.

[0145] The function motor 300 is an electric motor configured to send receive signals from the main component 100. For example. Figure 27 shows the motor PCB that communicates with the main

component’s PCB via the I2C communication protocol related PCB. Thus, the robotic structure comprising the function motor 300 can be instructed to perform functional movements by controlling a speed of the function motor 300. Accordingly, a function motor control function may be defined (e.g., using the web programming interface in Figures 36-37) and stored in the memory, for example, of the main component 100.

[0146] The electric motor (e.g., 350) of the function motor 300 may be selected based on a functions that the robotic structure is desired to be perform. In an embodiment, the function motor may have a relatively lower speed specification and a higher torque specification compared to the drive motor 200. For example, the motor may have maximum speed of 50 rpm, and a torque in the range 1.5 to 2 Kg.cm.

However, the motor specification is not limited to a particular speed or torque.

[0147] In an embodiment, the function motor 300 can be powered by a battery within the main component 100. However, a person skilled in the art can understand that the function motor 300 may have other power sources such as from power outlet, another battery housed in the function motor 300 itself, or other secondary component.

[0148] Furthermore, similar to the drive motor 200, the function motor 300 may be configured to include a rotation check mechanism to determine or measure the number of rotations of a shaft of the motor. The mechanism (e.g., comprising a slotted disc and IR sensor) helps to determine whether the motor completed a full rotation, a quarter rotation, a half rotation, or a partial rotation, as discussed earlier.

[0149] The function motor 300 includes at least one ridge element 950 accessible from a first face of the function motor 300, as well as at least one groove element 910 on a second face of the function motor, as shown in Figure 6A-6F. At the second face, the shaft of the motor 350 is accessible, via the groove element 910. In other words, a linkage or another secondary component may be connected, via the groove element 910 and the linkage moves as the motor 350 rotates. It can be understood that the relative location of the ridge element 950 and the shaft of the motor 350 is not limited to a particular face of the function motor 300. A person of ordinary skill in the art may modify the accessible locations of the ridge element 950 and the shaft of the motor 350 as desired, for example, as per the robotic structure desired to be built. Furthermore, the number of ridge elements 950 is not limited to one, but a plurality of ridge elements 950 may be included in the function motor 300, as illustrated in Figures 6A-6G.

[0150] In an embodiment, the ridge element 950 connects with a counterpart groove element 900 (e.g., included in the main component 100) thereby establishing an electrical contact between the drive motor 200 and the main component 100, as discussed earlier with respect to the joinery 900 (e.g., in Figures 4A and 4B). When the electrical connection between the main component and the function motor 300 is established, the main component can control the function motor 300 as programmed (e.g., via the web programming interface).

[0151] In an embodiment, the secondary component may be the display 800 (Figures 7A-7C). The display 800 includes a display screen at least on one face, and a ridge element 950, at least on one another face. The ridge element 950 when connected to the groove element 910 of the main component 100 forms the joinery 900 that can communicate information from the first processor of the main component 100 to a second processor of the display 800. For example, the first processor 10 of the main component 100 may be configured to send a signal to display, via the second processor, a message such as an instruction, a success message, an error message, a simile face, etc. to the user.

[0152] In an embodiment, the secondary component may be one or more of the sensors 400, 500, 600, 700 (Figures 8A-8C). Each of the sensors 400-700 include a sensing element configured to sense a sensing characteristic (e.g., color, touch, light, etc.) from at least on one face, and a ridge element 950, at least on one another face. The ridge element 950 when connected to the groove element 910, e.g., of the main component 100 forms a joinery 900. In an embodiment, the first processor 10 of the main component 100 receives any sensor signal via the joinery 900.

[0153] In an embodiment, the sensor 400 may be a color sensor 400, the sensor 500 may be a touch sensor 500, the senor 600 may be an IR sensor 600, and the sensor 700 may be a Light Detection Resistor (LDR) sensor 700. The sensors are configured to send respective detected signals to, for example, the first processor 10 of the main component 100. Based on the sensor signals, the first processor 10 may control the secondary module to achieve a desired task.

[0154] In an embodiment, the color sensor 400 is configured to detect color and send signals e.g., RGB values. In an embodiment, the first processor 10 is configured to analyze a red color, a green color, etc, based on which the secondary component may be controlled.

[0155] The touch sensor 500 is configured to detect a touch, a tactile motion, etc. and send

corresponding signals to the processor 10. In an embodiment, the touch sensor may be a capacitive or a resistive type that can detect a human touch, its location, number of touches (e.g., double tap), etc. The touch action may be further used to control the secondary component via the processor of the main component.

[0156] Similarly, the IR sensor 600 and the LDR sensor 700 are configured to detect respective sensing characteristic (e.g., light), and send corresponding signals to the processor 10 for further processing and/or controlling the secondary component.

[0157] In an embodiment, each of the sensors 400-700 has a different electrical characteristic (e.g., resistance). The unique electrical characteristic acts as an identification mechanism for automatic detection of a particular sensor when connected, for example, to the main component. For example, based on a resistance value of a sensor, the first processor 10 may automatically determine the type of connected sensor. Further, if the type of sensor is not as desired in a particular robotic structure, or connected in an incorrect location or orientation, then the first processor 10 may also send an error message indicate any issues.

[0158] Figures 9A-9D-21 show example robotic structures built using the robotic modules discussed above. These robotic structures are presented by way of examples and do not limit the present disclosure to a particular structure. As shown, in some configurations, additional linkages or gear mechanism may be included which may be driven by one of the secondary components to achieve a desired functionality.

[0159] Figure 22-30 illustrate example schematics of processing circuit boards (PCB), each PCB including a set of electrical and electronic components connected together as shown in the respective Figures. The PCBs are configured to enable processing of signals, controlling of the secondary components, communication between different robotic modules, or other functions to be performed via a processor, as discussed herein. The PCB can be configured to include a processor (e.g., a first processor or a second processor), which is configured to perform steps of the method or functions of the present teachings. Therefore, in an embodiment, the PCB may be interchangeably be referred as the first processor or the second processor depending on the component in which such PCB is included.

[0160] In an embodiment, the joinery 900 facilitates communication of signals between cooperating parts of the robotic structure built using the robotic modules. In an embodiment, each of the robotic module may include a particular PCB, which can communicate, via a communication protocol (e.g., I2C) with the main PCB of the main component 100.

[0161] Referring to Figure 22, a communication protocol PCB 2010 refers to any PCB that acts as an communication interface between a secondary component (or the PCB's of the secondary component) and a main PCB 2020. The main PCB 2010 refers to a processing circuitry (e.g., comprising the first processor 10) of the main component 100. An example schematic 2300 of the main PCB 2020 is illustrated in Figures 23 A and 23B and an example schematic 2400 of the communication protocol PCB 2010 is illustrated in Figure 24.

[0162] Refaring back to Figure 22, in an embodiment, the electrical contacts 954 of a secondary component (e.g., the drive motor 200, the color sensor 400, etc.) electrically connects to the track element 980. The track element 980 is further connected to the communication protocol PCB 2010. Furtha, the communication protocol PCB 2010 is connected to the main PCB 2020 thereby establishing an electrical communication pathway from the secondary component to the main component 100 and vice-versa. Thus, the main PCB 2020 of the main component 100 can send/receive signals from the secondary component via the communication protocol PCB 2010.

[0163] The communication protocol PCB 2010 enables connection of different types of robotic modules having different pin/port specifications to transfer data and/or communicate with the main PCB 2020. For example, each of the secondary component may have different pin requirements such as 3 pins for the color sensor 400, 2-pins for the drive motor 200, etc. through which the signals are transfers/received. Having different pin types for each of the robotic modules directly on the main PCB 2020 is undesirable, as it is expensive, increases a size of the PCB, and reduces flexibility of connecting several secondary components to the main component 100. As such, only a limited number of robotic structures may be created. Thus, the communication protocol PCB 2010 with a fixed number of interface may be desired. In an embodiment, the communication protocol PCB 2010 is based on an I2C protocol.

[0164] The I2C is a serial protocol for two-wire interface to connect devices like microcontrollers, EEPROMs, A/D and D/A converters, I/O interfaces and other similar peripherals in robotic modules. I2C uses two wires: SCL (serial clock) and SDA (serial data) to transfer data/control signals between the robotic modules (e.g., the main component 100 and the secondary component such as a sensor 400, the drive motor 200, etc.). Thus, the communication protocol PCB 2010 is configured to receive information from PCB of any secondary component including, but not limited to, data, command signals, sensor signals, etc. from any robotic module. Further, the communication protocol PCB 2010 (see I2C PCB schematic 2400 in Figure 24) can communicate with the main PCB 2020 via two wires SCL and SDA (e.g., see main PCB schematics in Figures 23A and 23B). Thus, a plurality of secondary components can be connected to the main component 100 without adding additional pins to the main PCB. In an embodiment, the main PCB 2020 may be further configured to include the I2C protocol.

[0165] In Figure 23A, the main PCB schematic 2300 comprises a microcontroller such as Atmega2560 with a plurality of pins as shown. In an embodiment, the pins 43 and 44 are assigned for the SCL and SDA connections, which can send/receive signals/data to the corresponding SCL and SDA pins such as 27 and 28 of the I2C PCB 2400 of Figure 24. Further, the I2C PCB 2400 includes additional pins to send/receive data to peripherals such as a secondary component. For example, MISO (Master In Slave Out) is a slave line for sending data to the master, MOSI (Master Out Slave In) is a master line for sending data to the peripherals, SCK (Serial Clock) is clock pulses which synchronize data transmission generated by the master.

[0166] In an embodiment, the color sensor PCB 2500 (in Figure 25) is connected to the I2C PCB 2400 via the MISO, MOSI, and SCK pins. Thus, the color sensor PCB 2500 sends color signal, for example, RGB values, detected by the sensing element of the color sensor 400 to the I2C PCB 2400 through the MISO, MOSI, and SCK connections between the PCBs 2500 and 2400. The RCB values are further sent, via the SCL and SDA pins/ports/wires of the I2C PCB 2400 to the main PCB 2300. This way, through the two-wired connection, data transfer/signals can be communicated between the color sensor 400 and the main component 100. Thus, in embodiment, the main PCB 2300 may receive sensor information without having dedicated pins for the color sensor. Thus, main PCB 2300 receives information without directly connecting the color PCB 2500 to the main PCB 2300. Similar to the color sensor PCB 2500, the PCBs of other sensors such as 500, 600, or 700 can configured to communicate with the main PCB 2300 of the main component 100. Example PCB schematics are illustrated in Figures

[0167] In another example, the I2C PCB 2400 communicates with the motor PCB 2700 (shown in Figure 27) via MOSI and SCK. The motor PCB 2700 further outputs the signal (e.g., control signal from the main PCB 2300) to the motor (e.g., motors 250 and/or 350). For example, the main PCB 2300 sends via the SCL and the SDA connections, a control signal (e.g., move forward) to I2C PCB 2400, and the I2C PCB 2300 further sends, via the MOSI and SCK connections, the control signal to the motor PCB 2700, which activates the motor (e.g., 250 or 350) from the output connections 01 and 02. In an embodiment, the control signal (e.g., speed, rotation, move forward, etc.) is generated based on, for example, the function programed via the web programming interface,

[0168] Similarly, PCB’s of the remaining secondary component may be connected to the main PCB via the two-wired (e.g., SCL and SDA) connection of the I2C PCB.

[0169] Figures 31-38 illustrate an addressing mechanism for defining an identifier for a robotic module. The identifier is configured for automatically identifying a robotic module and configuration of the robotic modules. The addressing mechanism is a way to configure and identify a particular robotic module of die robotic configuration, hi addition, the addressing mechanism can be used to determine an orientation of two cooperating parts relative to each other. For example, orientation of the secondary component with respect to tbe main component 100.

[0170] An I2C RGB (e.g., commumcatiiig with a particular robotic module) includes an I2C address to uniquely identify a particular robotic module. For example, the I2C address includes seven bits: (i) most significant 3 bits to identify type of the robotic module; (ii) least significant 4 bits to identify a number of die type of the robotic module. In an embodiment, the first two numbers may be be used for initial robotic modules provided in a toy kit; and rest numbers will be used for spares.

[0171] Accordingly, an example identifier of a robotic module includes, for example, the first three bits assigned to a particular robotic module as follows: 000 - Drive Motor (DM); 001 - Function Motor (FN); 010 - LED Matrix (LD); Oil - IR Sensor (IR); 100 - Color Sensor (CS); 101 - Touch Sensor fTS); 110 - LDR Sensor (LS); and 111 - Reserved (e.g., for particular components or not usable).

[0172] Further, in a robotic configuration one or more robotic component may be connected, where more Qian one component may of same type. Then, a number of same type of component is included in the identifier's bit sequence as listed in following examples: (A) 0000001 identifies DMl; 0000010 identifies DM2; ...0001111 - DM15, for a DM type component; (B) 1000001 identifies IR1; 1000010 identifies IR2; ...100 1111 - IR15, for IR type component

[0173] Furthermore, an identification also indudes a relative location of the robotic module with respect to the connected robotic module. Thus, each robotic module is associated with a base structure identifier

(e.g., acube

secondary component is connect to the main component). Figures 31-33 ilhistrate sudi additional identification system that helps unique identify different robotic modules, its locations in a robotic configuration, etc.

[0174] Figure 31 illustrates three example cubes

Such cubes may form the base structure, where each cube is assigned a number such as 1, 2, and 3 to identify a particular cube.

[0175] Further, a cube typically has six sides or face. The identifier identifies each side of the cube as shown in Figure 32. hi Figure 32, an unfolded representation of the cube is shown, where a side is assigned a unique label, for example, Down (D), Top (T), Front (F), Back (B), Left (L), and Right (R).

[0176] A location identification is explained based on an example illustrated in Figure 33 A. According to an embodiment, a location ID comprises a cube number (e.g., in figure 31) and module address (e.g., bit sequence ttianissnd earlier). Referring to Figure 33A, a location ID of a first drive motor (DM1) connected to a left side of a third cube of the main component 100 is DM1 3L, a location ID of second drive motor DIG connected to a right side of die third cube of the main enwipnmwt 100 is DM23R, and a location ID of a first function motor (FN1) connected to a top side of the third cube of the main component is FN1 3T.

[0177] The naming of the robotic module can also be addressed as bytes: IF, IT, 1L, 1R, ID - 0x01 to 0x06; 2T, 2L, 2R, 2D - 0x07 to OxOC; and 3T, 3L, 3R, 3B, 3D - OxOD to 0x12.

[0178] Based on above, DM1 = 3L(0x0E), 0x01 indicates Drive Motorl connected on cube 3 Left side; DM2 = 3R(0x0F), 0x02 indicates Drive Motor connected on cube 3 Right side; and FN1 = 3T(0x0D), 0x11 indicates Function Motor connected on cube 3 Top.

[0179] In an embodiment, the robotic modules may be daisy chained. For example, daisy chaining refers to a wiring scheme in which multiple robotic modules are connected (e.g., via joinery 900) together in sequence or in a ring. In an embodiment, the addressing mechanism (and the identifier thereof) may include daisy chained modules added with a comma, for example, 1T(0X02), 0x01, 0x12 that indicates on the first cube at the top side, there is, a drive motor and a function motor.

[0180] Furthermore, a protocol structure used for communication/control between cooperating parts (e.g., the main component and the secondary component) is as follow: a message comprises one or more of a header, a type, a length, and/or a value.

[0181] In the message, the header marks the beginning of packet for the firmware of the robotic system (comprising the robotic modules, and related software). The type refers to a particular function such as (i) configuration - configuration of a robotic module (BOT), (ii) a drive motor control, (iii) a function motor control, (iv) a sensor, and (v) a condition. The length (in bytes/char) refers to a length of a message. The value refers to an amount, state, command, etc. related to the robotic module. Figure 33B illustrates examples of a protocol followed by the modular robotic system of the present disclosure.

[0182] In addition to a standard components configured as discussed above, the present disclosure also provides a user with an option of do-it-yourself (DIY) configuration. DIY configuration refers providing user ability to create their own robotic module configuration including, but not limited to, a user-defined function (e.g., via program code) that a robotic module should perform, specifying locations (e.g., via program code) at which the robotic module should be connected, implement functionalities (e.g., via program code) related to additional components that a user may buy separate from the initial kit, etc. Such DIY configuration capability opens up collaboration opportunities with other users, and several small user generated blocks (e.g., functions) can add up to build a larger more complex robotic configuration, for example, to achieve complex functionalities or tasks.

[0183] Figure 34 is a flow chart of a method for a DIY configuration to create a new block. A block refers to, for example, a function defined for a new robotic module (e.g., a second drive motor purchased by a user) or an existing robotic module (e.g., a first drive motor available with the initial kit). The function can be a set of processes (e.g., defined as a program code via an interface such as in Figure 36 and 37) to be executed to achieve a desired functionality (e.g., move left, right, etc.). Such configuration ensures that any new functions or robotic module are compatible with the present robotic system including the limitation of number of components that can be connected, physical limitations of the robotic modules, communication protocols, code format, and other integration related requirements. The method of DIY configuration involves several steps as discussed below.

[0184] The method for a DIY configuration or programming a robotic module involves selecting, via an interface, i) a predefined function to be performed by the robotic module, or ii) an option to create a user defined function to be performed by the robotic module; defining, via the interface, logic and parameters related to the user defined function of the robotic module; and storing, via a processor, the user defined function in a processor of a first housing, where the processor is configured to control the robotic module based on the user-defined function when the robotic module is connected, via a joinery, to the processor, and where the joinery establishes an electrical connection between the first housing and the robotic module. Example implementation of these method steps is further discussed in detail below.

[0185] In step S341, a user logs into a web programming interface provided by the present robotic system (e.g., in Figure 36 and 37). In an embodiment, the web programming interface may be accessed, for example, via a login screen by entering valid login credentials such as an id and a password. However, the present disclosure is not limited to a particular login format and any other method of user

authentication may be implemented, for example, biometric, transponder, IP-address detection based, etc. Once logged on, the web programming interface includes an option to create a new block.

[0186] In step S342, the option to create a new block is selected on the web programming interface. The new block can be a library (e.g., a set of functions) or a single function, desired to be added. Then, in step S343, a determination is made whether the new block is a library or a function. For example, the determination may be based on user indication whether the new block is a library or a function, checking the extension (e.g., .lib) of a file, and/or analyzing if one function or a plurality of functions are to be included.

[0187] Responsive to determination that a library is added, in step S347, a name of the library, and a number of function in the library is extracted or determined. In step S348, a loop is created that iterates till each of the number of functions are analyzed/verified. For example, at each iteration of the loop, i.e., for each function, steps S344, S345, S346, and S349 (discussed below) may be performed. Once all the functions are evaluated, in step S349, the library (or a function) is exported, for example, to a cloud storage (in Figure 46), the robotic module (e.g., the first processor 10 of the main component 100 and/or memory of secondary robotic component), or other storage and processing location that interacts with a robotic module of the robotic system. [0188] Responsive to determination that a function is created, in step S344, the function’s name, description, return type, and/or other properties of the function are extracted. For example, the function (and the code therein) is determined or received, for example, by a processor implementing the web programming interface.

[0189] Optionally, in step S345, one or more blocks, within already provided functions (e.g., loop, if- else-condition, motor control, etc.) of the web programming interface, may be inserted in the created new block. For example, a block (e.g., a if-else-condition, a motor related function, a sensor related function, etc.) may be chosen for inserted at a desired location in code (e.g., see Figures 36 and 37).

[0190] In case of the library being created, the step S344 may be executed for each function and for each function, the function’s name, description, and return type may be identified.

[0191] Figure 36 illustrates an example web programming interface which can be accessed by a user with a valid login credentials such as an id and a password. The interface includes a pre defined set of block, shown at bottom of the interface, such as control, loops, math, text, motor, sensor, etc. A user can drag and drop the blocks to create a program in a center of the interface.

[0192] Figure 37 illustrates an example of a DIY block such as MoveJForward, MoveJLeft,

Move_Right, and Move_Stop created by the user. When the user includes or removes a block in the program (e.g., My Program), a code is automatically created as shown at a right side of the interface. The code is then included in the function when saved. Thus, a user-defined function may be created, via the web programing interface.

[0193] Once the function (and the code therein) is received, for example, via the web programming interface, in step S346, the method verifies, via a processor, the new block including the newly defined code. The verify step is a condition check that determines whether the newly defined block is in accordance with limitation of the present robotic systems, the robotic modules or their configurations. For example, the limitations of the robotic module may be related to speed, attachment location, orientation, etc. or other physical and/or coding related limitations of the robotic system.

[0194] If the verification process fails due to the defined function (or code therein) not meeting the limitations of the robotic system, the method may send error signal or the user has to troubleshoot the errors and fix them.

[0195] Once, the new block is verified, the new block may be exported (in step S349) to the robotic module (e.g., in the main PCB of the main component) to implement the new block or in other words, the user-defined functionality.

[0196] Figure 35 is a flow chart of a method for configuring a robotic module, which may not be already configured. Robotic module configuration involves assigning unique names and/or address (e.g., per the addressing mechanism discussed earlier) to unique identify a particular robotic module. In an embodiment, the robotic modules may be pre-configured when the initial kit with limited number of component (e.g., one robotic module of each 100, 200, 300, 400-700 and 800) is received. However, if the user would like to purchase additional robotic modules to build more complex robotic structures or configurations, the additional robotic module may need to be configured to enable the main component 100 identify a particular robotic module when the particular robotic module is connected, via the joinery 900, to the main component 100. The module configuration may involve providing instructions or messages to the user, via a user interface (e.g., implemented on a phone, tablet, computer, etc.). In an embodiment, instructions or messages is regarding how to connect different robotic module to build the robotic configuration. An example user interface implementing the method of Figure 35 is illustrated in Figures 39A-39D, 40 and 41, discussed as later.

[0197] Referring to Figure 35, the method for configuring a robotic module involves connecting the robotic module to a main component, and assigning, via a processor, an identifier to the robotic module based on an addressing mechanism, where the addressing mechanism is configured to identify a type of the robotic module, a number of the robotic module, and/or a location of the robotic module with respect to the main component. In an embodiment, the assigning of the addressing mechanism involves assigning a first set of bits of a plurality of bits to identify the type of the robotic module, and a second set of bits of the plurality of bits to indicate the number the particular component. For a robotic structure where a plurality of robotic modules may be connected, the method of configuring the robotic modules involves daisy chaining of the plurality of bits corresponding to a plurality of robotic modules connected to the main component and/or a robotic module of the plurality of robotic modules. Example implementation of these method steps is further discussed in detail below.

[0198] Step S351 involves instructing, via an interface, where to connect a robotic module (e.g., a drive motor, sensor, function motor, etc.) to a certain cube of the main component (e.g. 1 st cube of the main component 100). Example locations of a cube were illustrated and discussed with respect to Figures 31 and 32.

[0199] Once the robotic module is connected to the main component 100, the robotic module is identified, in step S352. For example, the type of the robotic module (e.g., a drive motor, a sensor or a function motor) is identified based on an electrical characteristic of the robotic module. In an

embodiment, the electrical characteristic may be an electrical resistance of the robotic module. Thus, in an embodiment, the identification involves passing an electric current (I) through the resistance (R) (or the robotic module in general) and measuring a drop in voltage (V). Based on the drop in voltage and the electric current, the resistance of the robotic module may be determined. For example, R= V/I. Based on the resistance value, the robotic module may be identified as a particular sensor, drive motor, function motor, etc. In embodiment, the connected module may be identified based on a unique address (if already exists) of the robotic module stored in the memory of the robotic module. The address may include the type, the number of the module, location at which it should be connected to the main component, etc., as discussed earlier.

[0200] In step S353, information related to the identified robotic module is retrieved from a memory or database. For example, a database of robotic modules that stores properties, name, location, address, and other related information of a robotic module. The memory may be a memory of the main component, cloud, or other memory accessible during the module configuration via the user interface. The retrieved information may be displayed as“Saved Info”, as shown in Figure 35. The displayed information may then be edited, for example, fields such as name of the robotic component may be edited. The user may then change a name from, for example, a drive motor to DM1/DM2/..., sensor to IR1/IR2/IR3..., etc. Certain fields such as the unique identifier of the robotic module may not be editable. Further, in step S353, the edited information is saved.

[0201] Further, the method, in step S354, determines whether the identified robotic module with edited information is already stored in the database or the memory. Responsive to the connected module with edited information already exists, a new address that is available may be assigned to the connected module. For example, a second drive motor (DM2) may be connected, but a drive motor (DM1) may already exist in the database, in which case, a new address may be assigned to the second drive motor (DM2), in step S356. On the other hand, responsive to the fact that the identified robotic module does not exist, then the new name and a new address may be determined and saved, in step S357. For example, the connected robotic module may be a color sensor, which may not already exist in a memory or database. Then, the color sensor may assigned a new address and stored.

[0202] Once the robotic modules and related blocks (i.e., functions) are configured or programmed, as discussed above in Figures 34 and 35, these robotic modules should be connected in a particular manner to build a desired robotic structure. Such robotic structure then receives commands based on the program coded in the main PCB so that different robotic modules are articulated or activated to perform a desired task. According to the present disclosure there is provided a build interface that guides a user on how to build a particular robotic configuration using the robotic modules that were configured as discussed above (e.g., in Figure 34 and 35)

[0203] Figures 39A-39D illustrates an example build interface that guides a user on how to assemble the robotic modules to build a desired robotic configuration (e.g., a gorilla). The build interface comprises several screens that provides a step-by-step information and guidance on how to assemble the robotic modules.

[0204] A screen of Figure 39 A shows a main component 100 and a location where a drive motor Ml should be relatively connected to the main component 100. For example, motor Ml should be connected at the right side of the 3 rd cube of the main component 100. Once, the motor Ml is attached, the processor of the main component 100 may identify the motor Ml and its configuration (e.g., configured based on module configuration method of Figure 35). The identification process may involve comparing the location and type of the robotic module with a pre-determined robotic configuration. In an embodiment, the processor verifies whether the Ml’s location with respect to the main component 100 is as desired. When the motor Ml is attached at the correct location, a second screen may appear on the build interface to show where to connect a next component.

[0205] The second screen (in Figure 39B) shows that a wheel W1 should be connected to the motor Ml at the right side. When correctly connected, a third screen (in Figure 39C) shows that a motor M2 should be connected to a left side on the third cube. Further, when correctly connected, a fourth screen (in Figure 39D) shows that a wheel W2 should be connected to a left side of the motor M2. When correctly connected, a fifth screen (in Figure 39E) shows that a face should be connected to a top side of the first cube. When correctly connected, a sixth screen (in Figure 39F) shows that a hand HI should be connected to a right side of the first cube. When correctly connected, a seventh screen (in Figure 39G) shows that a hand H2 should be connected to a left side of the first cube. After all the robotic modules are connected correctly (i.e., at a pre-defined locations related to a particular robotic structure), a final screen such as in Figure 40 may appear showing a message that the desired robotic structure (e.g., the gorilla) is successfully created.

[0206] Refaring to Figure 41, if during the above building process a robotic module is incorrectly connected, the processor of the main component 100 sends an error message to the interface, where the intoface can indicate (e.g., visually, using sound signal, etc.) the component that is incorrectly connected. For example, when the motor Ml connected to the first cube, an error message may be sent and the interface may display the motor Ml in red. In addition, an error message using“Motor Ml didn’t attach correctly,” is displayed.

[0207] In an embodiment, the interface in Figures 39A-39G, 40, and 41 may be implemented on any electronic device such as a phone, tablet, computer, etc. The device may be further configured to communicate (e.g., through LAN cable, wifi, Bluethooth, etc.) with the robotic modules or the robotic system in genaal. For example, Figure 42 and 43 shows screen for Bluethooth connection. For example, after the gorilla is successfully built, the interface in Figure 42 provides an option to connect the gorilla to the robotic system (named“Tweak”) via Bluethooth. After tapping the done button, the screen in Figure 43 shows different Bluethooth devices (e.g.,“Tweak Y88 of the Tweak system) in the vicinity of the gorilla, to which the gorilla can be connected, via the interface. Thus, the robotic structure (e.g., the gorilla) can send and receive signals (e.g., sensor, command/control signals, etc.) from the robotic system (e.g., Tweak) via the interface implemented on the usa device (e.g., phone, tablet, computer, etc.). [0208] In an embodiment, the robotic structure may be used to play games, via a gaming interface. For example, Figures 44A-44D illustrates an example gaming interface that communicates with the robotic configuration (e.g., the gorilla built using the interface discussed above). The gaming interface may activate the functions, for example, stored in the memory of the main PCB that directs the robotic modules to perform the coded task such as move forward, turn, back, left, right, speed, etc. In an embodiment, a remote controller (e.g., in Figure 45) may be connected, via Bluetooth to the robotic structure (e.g., the gorilla). The example remote controller may be operated by a user (e.g., a kid who built the gorilla), where the remote controller being configured to send command signals, for example, while playing the game in Figures 44A-44D.

[0209] Figure 45 is an illustrative diagram of an exemplary computer system architecture, in accordance with various embodiments of the present teaching. Such a specialized system incorporating the present teaching has a functional block diagram illustration of a hardware platform which includes user interface elements. Computer 4500 may be a general- purpose computer or a special purpose computer (e.g., the first processor 10 of the main component). Both can be used to implement a specialized system for the present teaching. Computer 4500 may be used to implement any components) described herein. For example, the present teaching may be implemented on a computer such as computer 4500 via its hardware, software program, firmware, or a combination thereof. Although only one such computer is shown, for convenience, the computer functions relating to the present teaching as described herein may be implemented in a distributed fashion on a number of similar platforms, to distribute the processing load.

[0210] Computer 4500, for example, may include communication ports 4550 connected to and from a network 4540 connected thereto to facilitate data communications. Computer 4500 also includes a central processing unit (CPU) 4520, in the form of one or more processors, for executing program instructions. The exemplary computer platform may also include an internal communication bus 4510, program storage and data storage of different forms such as memory 4502 and database 4504 (e.g., memory includes disk, read only memory (ROM), or random access memory (RAM)), for various data files to be processed and/or communicated by computer 4500, as well as possibly program instructions to be executed by CPU 4520. Computer 4500 may also include an I/O component 4560 supporting input/output flows between the computer and other components (e.g., a robotic module 4525 such as the drive motor, the function motor, the sensors described earlier) and/or user interface elements therein. Computer 4500 may also receive programming and data via network 4540 and the network controller 4506. For example, the network controller 4506 configured to perform a simple network communication function to send and receive signal to and from the network 4540. In an embodiment, the present teachings may be structured for cloud computing whereby a single function is shared and processed in collaboration among a plurality of apparatuses via the network 4560.

[0211] Computer 4500, for example, may also be connected to a server 4522 via the network 4540 connected thereto to facilitate data communications. In an embodiment, the server 4522 implements a web programming interface (e.g., as discussed with respect to Figures 36 and 37).

[0212] Hence, aspects of the present teaching(s) as outlined above, may be embodied in programming. Program aspects of the technology may be thought of as“products” or“articles of manufacture” typically in the form of executable code and/or associated data that is carried on or embodied in a type of machine readable medium. Tangible non-transitory“storage” type media include any or all of the memory or other storage for the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide storage at any time for the software programming.

[0213] All or portions of the software may at times be communicated through a network such as the Internet or various other telecommunication networks. Such communications, for example, may enable loading of the software from one computer or processor into another, for example, from a management server or host computer of the robotic system into the hardware platform(s) of a computing environment or other system implementing a computing environment or similar functionalities in connection with abuse detection. Thus, another type of media that may bear the software elements includes optical, electrical and electromagnetic waves, such as used across physical interfaces between local devices, through wired and optical landline networks and over various air-links. The physical elements that carry such waves, such as wired or wireless links, optical links or the like, also may be considered as media bearing the software. As used herein, unless restricted to tangible“storage” media, terms such as computer or machine“readable medium” refer to any medium that participates in providing instructions to a processor for execution.

[0214] Hence, a machine-readable medium may take many forms, including but not limited to, a tangible storage medium, a carrier wave medium or physical transmission medium. Non-volatile storage media include, for example, optical or magnetic disks, such as any of the storage devices in any computers) or the like, which may be used to implement the system or any of its components as shown in the drawings. Volatile storage media include dynamic memory, such as a main memory of such a computer platform. Tangible transmission media include coaxial cables; copper wire and fiber optics, including the wires that form a bus within a computer system Carrier-wave transmission media may take the form of electric or electromagnetic signals, or acoustic or light waves such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media therefore include for example: a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD- ROM, DVD or DVD-ROM, any other optical medium, punch cards paper tape, any other physical storage medium with patterns of holes, a RAM, a PROM and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave transporting data or instructions, cables or links transporting such a carrier wave, or any other medium from which a computer may read programming code and/or data.

Many of these forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to a physical processor for execution.

[0215] Those skilled in the art will recognize that the present teachings are amenable to a variety of modifications and/or enhancements. For example, although the implementation of various components described above may be embodied in a hardware device, it may also be implemented as a software only solution— e.g., an installation on an existing server. In addition, the functions of the robotic structure, as disclosed herein, may be implemented as a firmware, firmware/software combination, firmware/hardware combination, or a hardware/firmware/software combination.

[0216] Turning now to Figure 46, there is depicted an architecture of a mobile device 4600, which can be used to realize a specialized system implementing the present teaching. In this example, a user device on which the functionalities of the various embodiments described herein can be implemented is a mobile device 4600, including, but not limited to, a smart phone, a tablet, a music player, a handled gaming console, a global positioning system (GPS) receiver, and a wearable computing device (e.g., eyeglasses, wrist watch, etc.), or in any other form factor.

[0217] The mobile device 4600 in this example includes one or more central processing units (CPUs) 4640, one or more graphic processing units (GPUs) 4630, a display 4620, a memory 4660, a

communication platform 4610, such as a wireless communication module, storage 4690, and one or more input/output (I/O) devices 4650. Any other suitable component, including but not limited to a system bus or a controller (not shown), may also be included in the mobile device 4600. As shown in Fig. 14, a mobile operating system 4670, e.g., iOS, Android, Windows Phone, etc., and one or more applications 4680 may be loaded into the memory 4660 from the storage 4690 in order to be executed by the CPU 4640. The applications 4680 may include a browser or any other suitable mobile apps for performing the various functionalities on the mobile device 4600. User interactions with the content displayed on the display panel 4620 may be achieved via the I/O devices 4650.

[0218] To implement various modules, units, and their functionalities described in the present disclosure, computer hardware platforms may be used as the hardware platform(s) for one or more of the elements described herein. The hardware elements, operating systems and programming languages of such computers are conventional in nature, and it is presumed that those skilled in the art are adequately familiar therewith to adapt those technologies. A computer with user interface elements may be used to implement a personal computer (PC) or other type of work station or terminal device, although a computer may also act as a server if appropriately programmed. It is believed that those skilled in the art are familiar with the structure, programming, and general operation of such computer equipment and as a result the drawings should be self-explanatory.

[0219] A modular robotic system comprises of robotic modules, which can be connected with each other, disconnected, and/or reconnected to form different configurations while enabling new functionalities specific to a particular configuration. As a result, multiple possible robot configurations or structures may be obtained from the same number of robotic modules. For example, a robot structure (e.g., a car, an animal, a mechanical tool or apparatus, etc.) can be built by interconnecting a certain number of modules to form a desired structure (e.g., car with four wheels) and programming desired functionality (e.g., steer, move forwards/backwards, etc.) to activate the desired robotic structure to perform a desired task (e.g., driving from a first location to a second location while steering along a desired path or steering around obstructions).

[0220] In the present disclosure the terms“robotic module,”“robotic component,”“module,” “programmable module,” and“block,” may be used interchangeably. These terms refer to a single component of the robotic system. In the present disclosure, at least one robotic module is programmable to include a code or algorithm which upon execution, via, a processor performed desired functions of the robotic system.

[0221] The terms“robotic system,”“robotic toy,”“robotic structure,” and“robotic configuration,” may be used to refer to any device, apparatus or a toy comprising cooperating parts configured using robotic modules according to the present disclosure. In an embodiment, these terms refers to a system comprising several components (e.g., mechanical, electrical/electronic, software, etc.) related to a robotic module or a set of robotic modules. For example, the robotic system comprises a set of robotic modules, user interfaces used to implement or activate functionalities related to the robotic modules, any programs or configurations build using the robotic modules and the user interface, a web programming interface used to code a particular function to be performed related to a robotic module, a user-defined configuration of the robotic modules, or any other tools, programming interface, etc. relating to the robotic modules.

[0222] The robotic structure’s physical actions may be conditioned by an interaction of the robotic structure with its surroundings, and the robotic structure may be programmed to respond to sensor inputs, such as physical contact with an object or to light, sound, color, and to change its behavior on the basis of the sensor inputs. In an embodiment, such interaction of the robotic structure may need additional components to be attached to an existing robotic structure, change a position or orientation of a particular component, or other reconfiguration to improve, for example, an operating range of a particular robotic module or the robotic structure. The present disclosure provides connectors that can be coupled to any robotic module of a robotic structure/toy to allow additional components to be connected to the robotic structure and further extend its functionality.

[0223] According to the present disclosure, a robotic structure is built by interconnecting, via a joinery or a connector, cooperating robotic modules. The joinery comprises a first connector (also referred as a groove element or groove) with a cavity or groove, and a second connector (also referred as a ridge element or a ridge) having a projecting portion that can be received in the cavity or the groove. The joinery (e.g., comprising the first connector and the second connector) allows interconnection between two modules in multiple orientations. According to the present disclosure, the connectors are also configured to include such joinery to enable connection with any robotic module of the robotic structure.

[0224] The joinery of the robotic structure are also configured to easily connect and disconnect cooperating modules, for example, via a snap action. The joinery also includes a locking element, which locks the cooperating modules when connected and easily unlocks upon applying force while disconnecting the modules. The joinery also includes electrical contact points such as pogo pins that establish an electrical connection between cooperating parts thereby enabling communication of signals such as sensor inputs, control commands etc. between the cooperating modules.

[0225] In an embodiment, the joinery comprises an X-shaped portions (e.g., see 910 and 950 in Figures 48 and 49) that allows two robotic modules to be connected in at least four different orientations with respect to each other. The two modules may be a first housing (interchangeably referred as a main component for bettor readability) comprising a first joinery (e.g., having an X-shaped groove) and a second housing (interchangeably referred as a secondary component for better readability) comprising a second joinery (e.g., having an X-shaped ridge). For example, the four orientations of the second housing or a secondary component (e.g., a function motor 300 in Figures 52A-52G) correspond to connecting the secondary component’s bottom side, top side, right side, or left side to a side of the first housing such as a main component 100 (e.g., in Figure 47). Thus, the joinery provides flexibility in orienting a component relative to another component to give desired shape or structure to the robotic toy. It should be noted that the X-shapes of the joinery are only exemplary and does not limit the scope of the present disclosure. Any other geometric shapes (e.g., pentagon, hexagon, etc.) may be configured to form the joinery. As an example, in the present disclosure, the X-shaped joinery is used to explain the concepts and function of the robotic modules and their interactions, how the robotic modules should be coupled and detached to build a robotic structure, etc. A detailed description of the joinery is available in the Indian patent Application 201811047472, filed on December 14, 2018, which is incorporated herein in its entirety by reference.

[0226] In an embodiment, an orientation may be defined as an angular position or a linear position. In an embodiment, the angular position is described about an axis passing through a robotic module, where the angular positon is described with respect to a face of a robotic module. For example, the angular positions can be 0°, 90°, 270°, and 360°, or 30°, 120°, 210°, and 300°, or any other desired angular position. When the plurality of orientations are defined with respect to a face of the robotic module, the face may be a top face, a bottom face, a front face, a side face, etc. defined based on viewing direction of a user. In an embodiment, the linear position is described as a position along a guide line or channel. It can be understood by a parson skilled in the art that based on a shape of the guide or channel, the linear position may along a position along a straight path or a curved path.

[0227] Figure 47 is an example robotic toy (e.g., a car). The robotic toy comprises cooperating robotic modules, where a robotic module is the main component 100 (see also Figure 48) and another of the cooperating robotic modules is a secondary component (e.g., drive motors 200, and a display 800) connected via a joinery 900. The joinery 900 is configured to connect the secondaiy component (e.g., 200 or 800) in a desired orientation relative to the main component 100. A first processor may be housed in the main component 100, where the first processor is configured to communicate with a second processor of the secondary component via the joinery 900. The joinery 900 comprises a plurality of electrical contacts (not shown in Figure 47, but an example is 954 in Figure 50G) to establish an electrical connection between the first processor and the second processor of the secondary component of the cooperating parts.

[0228] Figure 48 is perspective view of the main component 100. The main component includes a plurality of groove elements arranged along each of a face of the main component. For example, three groove elements 910A-910C are arranged equidistant from each other on a first face of the main component 100. Accordingly, the grooves of the groove elements 910A-910C will be arranged linearly at equidistant from each other. Further, a groove element is placed on each of the two side faces (e.g., left and right) respectively. In the present example, total of 14 groove elements are included in the main component 100. Thus, a total of 14 or less number of secondaiy components may be connected to the main component 100.

[0229] In an embodiment, the first processor of the main component 100 is configured to automatically identify the type of the secondary component, when the secondary component is connected to the main component 100. In the present disclosure, example secondaiy components include, but not limited to, one or more of, the drive motor 200, a function motor 300, the display 800, and sensors 400, 500, 600, 700 (not shown in the present application). Furthermore, the first processor may be configured to determine an orientation and/or a location of the secondary component with respect to the main component 100.

According to an embodiment, it may be desirable to identify the correct orientation and location of the secondaiy component, since the joinery 900 allows the secondaiy component to be connected in a plurality of orientations with respect to the main component, however only a certain orientation may be desired within a robotic structure. Furthermore, the first processor may be configured to identify an additional component and its orientation when connected via a connector (e.g., a rotatory connector, or a slidable connector) of the present disclosure.

[0230] As shown in Figure 47 and 48, grooves within the groove element (e.g., 910A-910C) of the main component are an X-shaped depressed portion depressed inward relative to the face of the main

component 100. Thus, the main component 100 can connect with any robotic module (e.g., the drive motor 200) having a ridge 950 (e.g., see Figure 49) as an X-shaped protruding portion protruding outward relative to a surface of a face of the secondary component. The X-shape of the ridge 950 should correspond to the X-shape of the groove 910.

[0231] Referring to Figure 49, the drive motor 200 include the ridge 950 having the plurality of electrical contacts at the X-shaped protruding portion. In the examples shown, a number of contacts is six that are arranged linearly with an equidistance between each adjacent pins. Further, to accommodate the six contacts 950, the groove 910 of the main component 100 includes a cut-out or a plurality of holes (not shown) at the bottom of the X-shaped cavity configured to receive the plurality of electrical contacts through the ridge 950.

[0232] Now, referring to back to Figures 48 and 49, the groove 912 is formed within a step portion 104 relative the face of the main component 100. The step portion 104 is a body of the groove element 910 that projects outward from the face of the main component 100. On the other hand, the ridge 950 is formed within a pocket on a face of the secondary component (e.g., 200). The pocket is a depressed portion with respect to a face of the secondary component. A height of the ridge 950 is less than a depth of the pocket such that the ridge 950 does not project out relative to the surface of the face of the secondary component. In an embodiment, the pocket is configured to receive the step portion 104 of the main component 100. Thus, in an embodiment, the depth and shape of the pocket of the ridge element 950 may be defined with respect to the size and shape of the step portion 104 and/or depth of groove. For example, a height of the step portion 104 of the main component 100 is less than the depth of the pocket of the secondary component (e.g., 200). However, the present disclosure is not limited to such configuration. A person skilled in the art can determine appropriate dimension of the pocket, the step portion 104, the groove 910 and the ridge 950 such that the cooperating component (e.g., 100 and 200), more particularly faces at the joinery 900, may or may not be touching each other or flushed to each other.

[0233] Referring to Figure 49, the drive motor 200 can be any component configured to connect, via the joinery 900, the main component 100 to provide propulsion or driving energy to the main component or the robotic structure in general. The drive motor 200 is an electric motor configured to send receive signals from the main component 100. The robotic structure comprising the drive motor 200 can be instructed to move forward/backward/tum, etc. by controlling a speed of the drive motor 200.

Accordingly, a drive motor control function may be defined and stored in the memory, for example, of the processor of the main component 100.

[0234] As shown, the drive motor 200 includes at least one ridge 950 accessible from a first face, and a groove 910 accessible from a second face of the drive motor 200. According to the present disclosure, a connector (e.g., a rotatory connector, a sliding connector, or a skin connector) may be connected to either of the ridge 950 or a groove 910. For example, the connector of the present disclosure can be connected to include additional secondary component such as one or more of the sensors 400, 500, 600, 700 (not shown in the present disclosure). Each of the sensors 400-700 include a sensing element configured to sense a sensing characteristic (e.g., color, touch, light, etc.). In an embodiment, the first processor of the main component 100 receives any sensor signal via the joinery and/or the connectors of the present disclosure. The connectors are further described in detail as follows.

[0235] Figures 50A-50J, 51 A, and 5 IB illustrate examples of a rotatory connector 40, 40B and 40C, respectively. A rotatory connector is configured to couple at least two components such as the main component 100 and the secondary component (e.g., the drive motor 200, the function motor 300, the sensor 400-700, or other components) of a robotic toy system. The rotatory connector is a multi-purpose connector with at least two modes of operation: a rotation mode and a daisy chaining mode. Each mode extending configuration and functional capability of a robotic system or a robotic toy. For example, with rotatory connector components may be connected to the robotic system in a desired orientation. Further, motion or signal may be transmitted to/ftom the additional components. For example, a drive motor 200 can transmit rotational motion, via the rotatory connector to another component (e.g., a function motor, or a linkage mechanism). In another example, if the additional component is a sensor signal, then it can be oriented in a desired orientation and the sensing signal from the sensor may be transmitted, via the rotation component, to the main component 100.

[0236] In a first mode, the rotatory connector allows free rotation of any robotic component (also referred as a“module”) coupled to the rotatory connector. Thus, the rotatory connector can rotate a component of the robotic system or toy in a desired orientation with respect to another component. The free rotation feature offered by the rotatory connector may be very useful while making and using skins (e.g., see Figure 55A and 55B), and using an off-centered connector (e.g., L or T shaped) coupled to, for example, wheels.

[0237] In a second mode, the rotatory connector allows establishing an electrical connection allowing Daisy chaining of modules from e.g., the main component 100 to the drive motor 200 (or function motor 300) to a display module 800 (also referred as the display 800). In an embodiment, the electrical connection is established in a locked state, for example, align orientation marks (e.g., 415 and 425) and press the rotatable elements 420 and 410 together to stop rotation. Once locked, the rotatory connector can be used as a daisy chaining connector with specific modules such as connection between the main component, the drive motor, the function motor, and/or the sensors that may be used to build a desired robotic toy.

[0238] In an embodiment, Figures 50A-50J illustrates example rotatory connector 40 for a robotic system- (or toy) that includes a first component (e.g., the main component 100) interoperably connected to a second component (e.g., the drive motor 200). The rotatory connector 40 includes a first rotatable element 410 that can be removably coupled to the first component of the robotic system, and a second rotatable element 420 configured to rotate in a desired orientation relative to the first rotatable element 410 and lock to the first rotatable element 410 in the desired orientation. The second rotatable element 420 removably couples to the second component of the robotic system thereby allowing the second component be connected (via 410) to the first component in the desired orientation.

[0239] The rotatable elements 410 and 420 can be in an unlocked state (see Figures 50A, SOB, 50C and 50E) or a locked state (see Figure 50F) with respect to each other. In the unlocked state, the rotatable element 410 and 420 can rotate freely with respect to each other, but does not establish an electrical connection between the robotic system’s components e.g., the first component and the second component connected to the rotatable elements 410 and 420, respectively. In the locked state, the rotatable elements 410 and 420 are not rotatable, but establishes an electrical connection between robotic system component’s e.g., the first component and the second component connected to the rotatable elements 410 and 420, respectively. Thus, in use, the rotatable elements 410 and 420 are first unlocked to orient a connected component (e.g., the first component) in the desired orientation, then locked in the desired orientation to transmit the motion or signal between the connected components.

[0240] Referring to Figures 50A, SOB, 50C and 50E, the rotatable elements 410 and 420 are configured to unlock when the elements 410 and 420 are pulled away (e.g., outward in Figure 50E) from each other. When unlocked, the elements 410 and 420 can rotate freely about a rotation axis R that passes through a center of the rotatable elements 410 and 420.

[0241] In an embodiment, the first rotatable element 410 includes a first orientation mark 415. The second rotatable element 420 includes a second orientation mark 425. The marks 415 and 425 are orientation marks indicating a desired orientation. Also, the first mark 415 and the second mark 425, when aligned, allows the second rotatable element 420 to be locked in the desired orientation with respect to the first rotatable element 410. In an embodiment, if the first mark 415 and the second mark 425 are misaligned, the first rotatable element 410 and the second rotatable element 420 cannot be locked in the desired orientation. [0242] In an embodiment, the rotatable elements 410 and 420 are locked by pushing the elements inwards, as shown in Figure 50F. In an embodiment, the rotatable element 410 includes a hollow portion, in which the second rotatable element 420 can move inwards. In addition, the elements 410 and 420 includes locking elements that lock the elements in place and does not allow rotation, e.g., about the rotation axis R.

[0243] Figures 50G and 50H illustrate exploded view of the rotatory connector 40. The exploded view shows how the elements 410 and 420 are aligned for assembling purposes. Also, Figure 50G illustrates an example electrical component housed within the rotatory connector 40. For example, electrical contacts 954 may be housed in the first rotatable element 410 and the track element 982 may be housed in the second rotatable element 420. An electrical connection is established when the contacts 954 (e.g., pogo pins) and tracks (e.g., arc-shaped made of electrically conducting material) of the track element 982 (interchangeably referred as tracks 982) touch each other. In an embodiment, in the unlocked state (e.g., Figure 50E), the contacts 954 do not touch the tracks 982, hence do not establish an electrical connection therebetween. In the locked state (e.g., Figure 50F), the contacts 954 touch the tracks 982 thereby establishing an electrical connection and allowing signals (e.g., rotation signal, sensor signal, control signal, etc.) to be transmitted between connected components.

[0244] Figures 50G, 50H, and 501 also illustrate example construction of the first rotatable element 410 in more detail. In an embodiment, the first rotatable element 410 includes a base or hollow portion 411 and a connecting portion 413 projecting away from an opening (at an inner side marked in Figure 50G and 50H) of the hollow portion 411. The hollow portion 411 enables rotation between the elements 410 and 420. The connecting portion 413 enables coupling to a first component (e.g., drive motor 200) of the robotic system. Thus, together the hollow portion 411 and connecting portion 413 provide the desired rotation/orientation functionality for robotic components, as discussed herein.

[0245] The hollow portion 411 is configured to receive a portion (e.g., 427 and 428 in Figures 50G, 50H, and 50J) of the second rotatable element 420. In an embodiment, the hollow portion 411 has a circular shape configured to receive circular shaped flange portion (e.g., 427 and 428) allowing rotational motion therebetween.

[0246] Furthermore, the hollow portion 411 may include projections 417 at one or more locations at the edge or circumference of the hollow portion 411, where the projections 417 are configured to allow the flange portions 427 and 428 to be inserted in the hollow portion 411 while prevention the second rotatable element 420 from separating while relative rotation between elements 410 and 420. For example, two (or more) projections 417 are located diagonally opposite to each other. The projections 417 extend radially towards the center of the hollow portion 411 thereby blocking the flange portions 427 and 428 once inserted in the hollow portion. [0247] In an embodiment, for orientation purposes, e.g., to guide a user, the orientation marks 415 are formed at an outer surface of the hollow portion 411 (as shown in Figures 50A-50I).

[0248] In an embodiment, the connecting portion 413 of the first rotatable element 410 includes a groove configured to receive a ridge element of the first component of the robotic system. In an embodiment, the groove (e.g., like groove 910 of the Indian patent Application 201811047472) is an X-shaped depressed portion depressed inward relative to a face of the rotatable element 410. The ridge element of the first robotic component includes an X-shaped protruding portion protruding outward relative to a face of the robotic component. The X-shape of the ridge corresponds to the X-shape of the groove. An example coupling of different robotic components (e.g., 100, 200, 300, etc.) are discussed with respect to Figures 47 and 48, and further discussed in detail in the Indian patent Application 201811047472 filed on December 14, 2018, which is incorporated herein in its entirety by reference.

[0249] Figures 50G, 50H, and 50J illustrate example construction of the second rotatable element 420 in more detail. The second rotatable element 420 includes a base on which a connecting portion 421 (e.g., X-shaped groove) extends perpendicular to a plane of the base. The second rotatable element 420 also includes a flange portion (e.g., portions 427 and 428) configured to prevent the second rotatable element 420 from separating while relatively rotating the first rotatable element 410 and the second rotatable element 420. The flange portion (in cooperation with the hollow portion 411 of the element 410) enables rotation between the elements 410 and 420, while the connection portion 421 enables coupling to a second component (e.g., drive motor 200) of the robotic system. Thus, together the flange portion and connecting portion 421 provide the desired rotation/orientation functionality for robotic components, as discussed herein.

[0250] In an embodiment, the flange portion may be continuous (not shown) or segmented (e.g., including 427 and 428 as shown). The segmented flange configuration enable locking functionality in the desired orientation. However, a person skilled in the art can include a continuous flange with similar locking functionality, where the second rotatable element 420 is locked in a desired orientation and enables an electrical connection between connected robotic components as discussed herein.

[0251] The flange portions 427 and 428 extend radially outward (e.g., see Figures 50G, 50H, 50J) from the edge of the base of the second rotatable element 420. The shape of the flange portion 427 and 428 conforms to the shape of the hollow portion of the first rotatable element 410. In an embodiment, the flange portions 427 and 428 is circular in shape. In an embodiment, the flange portion may be segmented arcs of a circle (as shown in Figure 50J) or continuous circle (not illustrated). In an embodiment, the flange portion of the second rotatable element 420 is segmented to include one or more comer flange portion 428, as shown in Figure 50J. The comer flange portion 428 also assists in locking of the second rotatable element 420. [0252] In an embodiment, the connecting portion 421 of the second rotatable element 420 includes a groove configured to receive a ridge element of the second component of the robotic system. In an embodiment, the groove 419 (e.g., like groove 910 of the Indian patent Application 201811047472) is an X-shaped depressed portion depressed inward relative to a face of the rotatable element 420. The ridge element of the second robotic component includes an X-shaped protruding portion protruding outward relative to a face of the robotic component, the X-shape of the ridge corresponds to the X-shape of the groove 419. An example coupling of different robotic components (e.g., 100, 200, 300, etc.) are discussed with respect to Figures 47 and 48, and further discussed in detail in the Indian patent Application 201811047472 filed on December 14, 2018, which is incorporated herein in its entirety by reference.

[0253] In an embodiment, for orientation purposes, e.g., to guide a user, the orientation marks 425 may be formed at locking elements of the connecting portion 421 or at any other location on an outer surface of the connecting portion 421 (as shown in Figures 50A-50G) of the second rotatable element 420. As discussed earlier the orientation marks 415 (of the first element 410) and 425 (of the second rotatable element 420) may be aligned (e.g., Figure 50E and 50F) to orient the first component and the second component of the robotic system in a desired orientation and further lock the elements 410 and 420 in the desired orientation.

[0254] Refaring to Figure 50G, upon assembling the elements 410 and 420, an electrical connector can be housed between the first rotatable element 410 and the second rotatable element 420. For example, the electrical connector can be housed inside a hollow space between elements 410 and 420. In an embodiment, the electrical connector establishes an electrical connection between the first component and the second component of the robotic system when the first rotatable element 410 and the second rotatable element 420 are in the locked state.

[0255] In an embodiment, the electrical connector (e.g., including PCBs discussed earlier) comprises a pin element 954 including a plurality of pins; and the track element 982 having a plurality of tracks corresponding to the plurality of pins of the pin element. In an embodiment, the plurality of pins and the plurality of tracks establishing an electrical connection when the first rotatable element 410 and the second rotatable element 420 are in the locked state thereby allowing electrical signals to be exchanged between the first component and the second component of the robotic system. An example of the electrical connector is further discussed in detail in the Indian patent Application 201811047472 filed on December 14, 2018, which is incorporated herein in its entirety by reference.

[0256] It can be understood by a person skilled in the art that the functionality of the rotatory connector is not limited to structural features discussed with respect to Figures 50A-50J. A person skilled in the art can perform various design variations of the rotatory connections. For example. Figure 51A and 5 IB illustrate example design variations of the rotatory connector. [0257] In Figure 51 A, the rotatory connector 40B includes the first rotatable element 41 OB configured to rotatably couple to the second rotatable element 420B. Further, a locking element 430B may be included between the elements 410B and 420B. The locking element 430B is configured to include radially oriented ribs that can sit in radially oriented slots along the circumference of the second rotatable element 420B. In an embodiment, for locking, the ribs of the locking elements 430B engages in the slots of the second rotatable element 420B thereby locking the rotatable element 420B in a desired orientation (e.g., at 0°, 90°, 180°, and 270°). In an embodiment, the markers may not be included on the first rotatable and the second rotatable elements, instead the locking element 430B (e.g., its ribs) itself can serve as an orientation guide. For example, the locking elements 430B prevent locking of the elements 410B and 420B when not in desired orientation, as the ribs will not engage with the slots of the second rotatable element 420B.

[0258] Figure 5 IB show another example design variation of a rotatory connector (e.g., 40C), where a separate locking element (e.g., like 430B in Figure 51 A) is not included. In an embodiment, the locking and orientation features can be accomplished by structural features of a first rotatable element 410C and a second rotatable element 420C itself.

[0259] In an embodiment, the rotatory connector 40C includes the first rotatable element 410C configured to rotatably couple to the second rotatable element 420C. The coupling involves orienting the element 420C in a desired orientation and locking the element 420C with the element 410C. In an embodiment, the first rotatable element 4 IOC is configured to include radially oriented slots that can receive radially oriented ribs along the circumference of the second rotatable element 420B. In an embodiment, for locking, the slots of the element 410C engages in the ribs of the second rotatable element 420C thereby locking the rotatable element 420B in a desired orientation (e.g., at 0°, 90°, 180°, and 270°). In an embodiment, the markers may or may not be included on the first rotatable and the second rotatable elements. For example, the ribs and slots may be oriented at specific degrees such that together they can serve as an orientation guide.

[0260] In an embodiment, the rotatory connector 40 can be modified to include structural elements like ribs to further strength the rotatory connector. In an embodiment, tolerances between movable elements may be adjusted to allow free relative motion between elements of the rotatory connector.

[0261] Figures 52A-52L illustrate a slidable connector 60 is configured to couple components of a robotic system in a desired linear position with respect to each other. For example, the slidable connector 60 couples the first component (e.g., the main component 100 in Figure 47) to the second component (e.g., a sensor) in a sliding manner thereby allowing more positional flexibility in configuration of the robotic system (e.g., a robotic toy such as a car, monkey, or other toy configurations). [0262] In an embodiment, the slidable connector 60 includes a first slidable element 610 coupled to a second slidable element 620 to allow sliding with respect to each other. In an embodiment, the sliding of the second slidable element 620 with respect to the first slidable element 610 allows the slidable connector 60 to be configured in at least a L-configuralion, a T-configuration or other configurations. In any configuration, the slidable connector 60 serves multiple purposes. For example, firstly, the slidable connector 60 allows two robotic modules to be connected to a single port (e.g., one of 910A-910J in Figure 48) on the main component 100. Secondly, the slidable connector 60 can function as a variable slider that allows robotic module’s location to be changed along a sliding axis. Such adjustment feature can be utilized by, for example, a sensor to adjust relative distance between the sensor and a surface being sensed by the sensor. For example, IR sensor configured to determine a distance to a floor or other surfaces. According to an embodiment, example structural elements of the slidable connector 60 and how such structural element cooperate to provide multiple functionality to the slidable connector 60 is discussed as follows.

[0263] Refaring to Figures 52A-52L, the slidable connector 60 includes the first slidable element 610 that removably couples to the first component of the robotic system (e.g., the main component 100 in Figure 47 and 48); and the second slidable element 620 disposed perpendicular to the first slidable element. In an embodiment, the second slidable element 620 is configured to slide to a desired position relative to the first slidable element 610 and lock to the second slidable element 620 in the desired position. In an embodiment, the second slidable element 620 removably couples to the second component (e.g., a sensor) of the robotic system thereby allowing the second component be connected to the first component in the desired position.

[0264] Refaring to Figure 52A-52C, the first slidable element 610 has a first face (e.g., a top face in x-y plane) including a ridge element 950 (e.g., X-shaped) configured to couple the first component (e.g., the main component 100). Also, the first slidable element 610 has a second face (see bottom view in Figure 52H) configured to couple the second slidable element 620. As shown in 6A-6C, the second slidable element 620 is disposed perpendicularly (e.g., in z-direction) to a bottom face (e.g., opposite to the top face) of the first slidable element 610. In an embodiment, the second element 620 includes two groove elements 910 on opposite faces. However, the present disclosure is not limited to two groove element (better seen in Figures 52E and 52F). A person skilled in the art can modify the second slidable element 620 to include one groove element on one face and one ridge element on an opposite face, or two ridge element on opposite faces.

[0265] In an embodiment, the second slidable element 620 includes flexible locking members 621 and 622 (see Figures 52A-52D, 52G-52K). The flexible locking members are configured to: (i) unlock the second slidable element 620 and allow sliding with respect to the first slidable element 610 when the flexible locking members are compressed, and (ii) lock the second slidable element 620 in the desired position relative to the first slidable element 610 when the flexible locking members are released.

[0266] Referring to Figures 52A-52C, 52E and 52F, the second element 620 includes flexible locking members 621 and 622 that can be compress inwards to move and change a location of the second element 620 to one of the 5 locations PI, P2, P3, P4, and P5. Each position providing a different configuration. Figure 52E illustrates a T-configuration and Figure 52F illustrates an L-configuration. In an example, a sensor connection in a T-configuration may be at a first distance from a surface being sensed. In another example, a sensor connected in L-configuration may be at a second distance (different from the first distance) from the surface being sensed.

[0267] In an embodiment, the sliding functionality is achieved via a channel and a lip configuration (e.g., shown in Figure 52H). In an embodiment, the first slidable element 610 includes a channel 612/613 (see Figure 52H-52K) to guide a sliding motion of the second slidable element 620. The channel 612/613 is formed on a side opposite to where the first component (e.g., the main component 100) is coupled. For example, as shown in Figure 52H, the channel 612/613 are formed at the bottom face of the first slidable element 610. For example, the channel 612/613 is formed along x-axis at the bottom face of the first slidable element 610. Thus, the channel 612/613 can guide the second element 620 along the x-axis. In an embodiment, an edge of the channel 612/613 has the teeth 615 to enable locking of the second slidable element 620.

[0268] In an embodiment, the flexible locking members 621/622 includes a flange portion 627/629 (see Figure 521) to allow sliding in the channel 612/613 without separating the second slidable element 620 from the first slidable element 610. For example, the flange portion 627/629 prevents separation in the z- direction or perpendicular to sliding direction (e.g., x-direction). In an embodiment, the flexible locking members 621/622 may include ridges or a rough surface for gripping purposes. For example, the ridges prevent fingers of a user from slipping along smooth comers of the flexible elements 621/622 when compressed for sliding the second slidable element 620 in a desired position (e.g., P1/P2/P3/P4/P5).

[0269] In an embodiment, the flexible locking members 621/622 includes a ridge 626/628 at the flange portion 627/629. In an embodiment, the ridge 626/628 is configured to: (i) engage with the teeth 615 of the first slidable element 610 to lock the second slidable element 620 to the first slidable element 610 when the flexible locking members 621/622 is released; and (ii) disengage from the teeth 615 of the first slidable element 610 to unlock the second slidable element 620 and allow sliding with respect to the first slidable element 610 when the flexible locking member is compressed. For example, the ridge 626/628 enables locking of the second slidable element 620 in positions e.g., P1/P2/P3/P4/P5.

[0270] In an embodiment, the second slidable element 620 may be made of two members or portions.

For example, as shown in Figures 52H, 52H, and 521, the second slidable element 620 includes a locking member 620A and a cover member 620B. The locking member 620A includes the flexible locking members at a circumference and a groove at a first side where the ridge element of the second component is received. The cover member 620B is coupled to a second side of the locking member 620A, the second side being opposite to the first side. In an embodiment, the cover member 620B further comprises a groove (e.g., X-shaped depression) at a first side where the ridge element (e.g., X-shaped raised portion) of the second component (e.g., the drive motor 200) can be received. In an embodiment, the first slidable element 610 includes position markings at a circumference parallel to the channel. A position marking (e.g., P1-P5) is indicative of the desired positions.

[0271] In an embodiment, the first slidable element 610 has a ridge 650 configured to be inserted in a groove (e.g., 910) of the first component (e.g., the main component 100 in Figures 47 and 48) of the robotic system The second slidable element 620 has a groove 910 configured to receive a ridge of the second component (e.g., a sensor) of the robotic system. In an embodiment, the groove is an X-shaped depressed portion depressed inward relative to a face of the respective slidable element, and the ridge is an X-shaped protruding portion protruding outward relative to a face of the respective components, the X- shape of the ridge corresponds to the X-shape of the groove.

[0272] Figure 52M illustrates the slidable connector 60 having modified structural features for improve flexibility and/or strength of the elements. For example, the second slidable element 620M can be modified at the flexible locking members 621/622 to include ribs 651/652 formed to improve strength of the flexible locking members 621/622. Furthermore, a relative thinner portion 655 may be formed at the members 621/622 to improve the flexibility of the members 621/622. For example, the relative thinner portion 655 has relatively less thickness than the surrounding portions. A person skilled in the art can make similar structural modification to improve other strength, flexibility or movability of the elements of the slidable connector 60.

[0273] Figures 53A and 53B illustrate a design variation of a slidable connector 60'. In an embodiment, the slidable connector 60' includes a different locking member 620A' and a cover member 620B'. The locking member 620A’ includes spring portions 721 and 722 that can be compressed by pressing sides 621 * and 622’. In an embodiment, the spring portions 721 and 722 are thin curved element that are flexible enough to compress against each other. In an embodiment, the other structural elements (e.g., channels, ribs, lips, etc.) may be similar to that of the slidable connector 60 so that the second slidable element 620 can be positioned in a desired position, as discussed above. The present disclosure is not limited to the structural elements discussed herein. For example, a person skilled in the art may adopt other existing sliding, or locking mechanisms.

[0274] Figure 54A-54C illustrate an example skin connector used to connect a skin or aesthetic cover to a robotic module. A skin refers to one or more cover pieces or an aesthetic body shaped to give the robotic system or toy a desired aesthetic look. For example, the skin can be a cover configured to look like a car, a satellite or other objects of interest. Figures 55A and 55B illustrate examples of skins connected to the robotic system (e.g., of Figure 47) to look like a rickshaw (9 A) or a satellite (Figure 55B). Such skins can serve as a visual teaching aid to explain functioning and programing of complex machines in a simplified manner, particularly for kids or a beginner of any age. Such skins can be made of flexible materials like corrugated board, cardboard, foam board, cloth, plastic, thin metal sheets, or other shape forming materials to make models/shapes from imagination. It enables a user (e.g., a kid or beginner) to customize their robotic toy and enhance their learning experience. In an embodiment, the skin connector 80 allows connection with a skin (interchangeably referred as a model, shape, or cover).

[0275] Figure 54A shows a perspective view showing a top face of the skin connector 80. Figure 54B is another perspective view showing a bottom face of the skin connector 80. Figure 54C is a front view (or elevation view) of the skin connector 80. In an embodiment, the skin connector 80 is configured to couple any flexible material. In an embodiment, the skin connector includes snap fit clips that can be inserted into a cut cavity on skins to hold together models and the robotic toy. It can be understood by a person skilled in the art, depending on the material (e.g., hard, soft, flexible, etc.) to be attached as cover, the skin connector may include different attaching means such as U-shaped clips (as shown), V-shaped clips. Velcro, adhesive strips, or other similar means of attachment. The present embodiment, is not limited to a particular attachment means.

[0276] In an embodiment, the skin connector 80 includes a ridge 950 (see Figure 54A) configured to insert in a groove element of the robotic toy (e.g., shown in Figure 48 and 49). In an embodiment, one or more snap elements 801/803 formed at an edge of the skin connector. The one or more snap elements are configured to snap fit in a cavity of a shaped cover thereby giving the robotic toy a desired toy form.

[0277] In an embodiment, the snap elements 801 and 803 project perpendicular (e.g., in z-direction) to a face (e.g., a top face) of the skin connector. In an embodiment, the projecting direction of the snap elements 801/803 is vertically upward in Figures 54A and 54C or towards right in Figure 54B. In an embodiment, the ridge 950 projects vertically downwards in Figures 54A and 54C, or towards the left in Figure 54C. In an embodiment, the snap elements 801/803 are cantilever type of the snap elements.

[0278] The skin connector 80 connects to the robotic modules (e.g., components 100-800 discussed earlier). Accordingly, the ridge 950 is formed to cooperate with the groove element of the robotic module. In another embodiment, instead of ridge 950, a groove 910 may be formed configured to cooperate with the ridge element of the robotic module. Hence, in an embodiment, the ridge 950 may be an X-shaped protruding portion protruding outward relative to a face of the respective components, the X-shape of the ridge corresponds to the X-shape of the groove. In an embodiment, the groove may be an X-shaped depressed portion depressed inward relative to a face of the respective rotatable elements. [0279] In an embodiment, a body 805 of the skin connector has a substantially rectangular or square shaped. As shown in Figures 54A and 54C, the body 805 includes a raised portion 807 projecting from the top face. The snap elements 801/803 are formed at opposite edges of the body 805 such that the snap elements bends upward from the bottom face of the body 805 (e.g., see Figure 54C). Furthermore, the snap elements 801/803 extends above the raised portion 807, as see in Figure 54C. In Figure 54B, at the bottom side of the raised portion 807 there is a hollow portion or a pocket wherein the ridge 950 is formed. In an embodiment, the ridge 950 remains within the hollow portion without projecting outside the bottom face.

[0280] Figure 54D is a perspective view of another example skin connector SOD. The skin connector SOD comprises a top plate 801 configured to lock with a bottom plate 803. For example, the top plate 801 may include holes configured to receive projections (e.g., cylinders) formed on the bottom plate 803. A skin 802 made of any material (e.g., cardboard, plastic, metal, etc.) may be disposed between the top plate

801 and the bottom plate 803. For example, a portion of the skin 802 may be cut out (e.g., holes or squares) that allow the projections formed on the bottom plate 803 to pass through the cut out of the skin

802 and connect to the holes of the top plate 801. Thus, the skin 802 is sandwiched between the top plate 801 and the bottom plate 803. In an embodiment, the bottom plate 803 may be configured to include a joinery (not shown, but examples includes X- shaped ridge or groove as discussed herein) compatible with the robotic module (e.g., the main component 100 and the drive motor 200) of a robotic system or toy (e.g., in Figure 1).

[0281] In another example, a bottom plate and a top plate may be have a different fastening mechanism that enables sandwiching a skin between the bottom plate and the top plate. For example, in Figure 54E, a skin connector 80E has a screw and nut type of fastening. For example, a bottom plate 848 includes a screw type projection and the top plate includes holes having a threads compatible with the screw projection of the bottom plate 848.

[0282] Figure 54F is a cross-section view of yet another example skin connector 80E. In an embodiment, the skin connector 80E includes a sticking layer 851 and 852 (e.g., VELCROW or an adhesive layer) at an outer face to which a skin can be attached. An inner face of the skin connector 80E is a face at which a joinery is included to attach to a robotic module (e.g., the main component 100, the drive component 200, etc.).

[0283] In an embodiment, there is provided an interface (e.g., Figures 10A-10D) between two different interlocking toy systems. The interface is a plate having different type of interlocking elements on a first face and a second face (opposite to the first side), respectively. In an embodiment, the interface includes a plurality of connecting elements, formed on a first face, having a first geometric configuration compatible with one or more pieces of a first interlocking toy system; and a joinery, formed on a second face, having a second geometric configuration compatible with a second interlocking toy system, the interface enabling an interoperable connection between the first interlocking toy system and the second interlocking system. For example, the first interlocking toy system can be a LEGO toy system including bricks, gears, shafts, etc. that are interconnected to build a toy. The second interlocking toy system can be the robotic system or robotic toy of Figure 47. In an embodiment, the interface is referred as a LEGO connector and discussed in detail as follows.

[0284] Figures 56A-56D illustrate example LEGO connector 1000 configured to attach to a component (e.g., main component 100, the drive motor 200, etc.) a robotic toy e.g., of Figure 47. Figure 56A illustrates a perspective view showing a first side of the LEGO connector 1000 including connecting elements (e.g., 1001a, 1001b, and 1001c) compatible with a LEGO piece (not shown). Figure 56B is a plan view of the LEGO connector 1000 viewed from the first side. Figure 56C illustrates a perspective view showing a second side of the LEGO connector having a joinery (e.g., 950 or 910) similar to that used in the robotic components (e.g., 100, 200, 300, etc.) of the robotic system. Figure 56D illustrates a plan view of the LEGO connector 1000 viewed from the second side.

[0285] In an embodiment, the LEGO connector 1000 is a plate having connecting elements configured to connect with one or more LEGO pieces (not shown) on one side and to a robotic component (e.g., the main component 100, the drive motor 200, etc.) on an opposite side. For example, as shown in Figures 56A and 56B, the LEGO connector 1000 includes a plurality of connecting element formed configured to interlock with a LEGO piece. In an embodiment, the connecting elements can be studs (e.g., solid cylinders) or stud receptacles (e.g., hollow cylinders) protruding from the first side of the LEGO connector. For example, the connecting elements 1001a, 1001b, 1001c are stud receptacles. In an embodiment, the stud receptacles can receive any LEGO piece having studs. To attach the LEGO piece, the stud receptacles 1001a, 1001b, and 1001c can be aligned with the studs of the LEGO piece (not shown) to be inserted in the stud receptacles 1001a, 1001b, 1001c. Thus, the LEGO connector interlocks with the LEGO piece via the one or more connecting elements.

[0286] In an embodiment, the connecting elements e.g., stud receptacles 1001a, 1001b, 100c may be formed only at specified locations (e.g., along the edge and at the center), while maintain a geometric configuration of the LEGO piece. For example, the geometric configuration comprises hole diameters, distance between the connecting elements, height or depth of the connecting elements, or other geometric properties related to the LEGO piece.

[0287] In an embodiment, the connecting elements include one or more plus shaped holes (e.g., 1003a- 1003d) configured to attached a LEGO piece, where the LEGO piece may be an axle or a shaft. In an embodiment, the plus shaped holes 1003-1003d may be formed at comers of the LEGO connectors. In an embodiment, the distance between the plus shaped holes 1003a and the surrounding stud receptacles e.g., 1001a can be same as a the LEGO piece having the studs and axle portions. In an embodiment, the plus shaped holes may be used to connect the LEGO axle (not shown) on one side and the joinery can connect to the drive motor 200 (not show in Figures 56A-56D) on the opposite side. Furthermore, the LEGO gears can be connected to the LEGO axle. Thus, a rotation motion of the drive motor 200 may be transmitted to a toy configuration made of LEGO pieces.

[0288] Referring to Figures 56C and 56D, at the second side (opposite to the first side), the LEGO connector includes the joinery (e.g., 950 or 910) configured to connect the robotic system. As discussed herein the joinery includes an X-shaped ridge 950 or an X-shaped groove 910. Thus, the second side of the LEGO connector can be connected to a counter part joinery on the robotic component. Hence, the LEGO connector establishes a connection between a robotic component of the robotic system (or a robotic toy) and one or more LEGO pieces.

[0289] In an embodiment, the LEGO connector can be used to generate toy appearances of desired shape by attaching one or more LEGO pieces to the robotic system. Furthermore, depending on type of robotic component, the LEGO piece attached thereto can be moved according to a movement programed in the robotic system. Thus, the LEGO connector can serve as a motion transmitting element for the LEGO pieces.

[0290] In an embodiment, the LEGO connector can be made of similar material (e.g., plastic, resin, etc.) as the robotic toy. Furthermore, the LEGO connector may include chamfered edges and clearances so that the LEGO connector can be easily removed and attached to the robotic component.

[0291] Figure 57 illustrates an example interface 1100 that attaches LEGO pieces 1101 and 1102 at comers of the interface 1100. For example, the LEGO pieces 1101 and 1102 are received in the stud receptacles at the comers of the interface 1100.

[0292] To briefly summarize, the rotatory connector 40, the slidable connector 60, and the skin

connector 80 provides extended functionality (as discussed herein) to the robotic toy system (e.g., shown in Figure 47). The robotic toy system of Figure 47 is discussed in detail in the Indian patent Application 201811047472.

[0293] As discussed earlier, for example, the rotatory connector 40 enables coupling of an additional component (e.g., sensors 400-800, function motor 300) in a desired orientation to existing components of the robotic toy system. The additional component extends, for example, an operating range of the robotic toy. In another example, the slidable connector 60 enables coupling of one or more additional components (e.g., sensors) to a single port of the robotic toy. Further, the slidable connector 60 allows changing a position of the additional component, e.g., of a sensor to improve object detection or a sensing range. Finally, the skin connector 80 enables coupling of different skins to the robotic toy that can improve, a user’s imagination ability, understanding ability related to a machine, or other educational benefits. [0294] While the foregoing has described what are considered to constitute the present teachings and/or other examples, it is understood that various modifications may be made thereto and that the subject matter disclosed herein may be implemented in various forms and examples, and that the teachings may be applied in numerous applications, only some of which have been described herein. It is intended by the following claims to claim any and all applications, modifications and variations that fall within the true scope of the present teachings.

[0295] The above disclosure also encompasses the embodiments noted below.

(1) A robotic system including a first housing comprising a first processor and a first connector, a second housing comprising a second processor and a second connector, the first connector of the first housing being connectable to the second connector of the second housing in a plurality of orientations relative to one another, wherein the first processor and the second processor are configured to communicate with one other when connected in any of the plurality of orientations.

(2) The robotic system of feature (1), in which the first connector comprises a groove; and the second connector comprises a ridge corresponding to the groove, the ridge comprising the plurality of electrical contacts, wherein the groove is configured to receive the ridge and the plurality of electrical contacts in the plurality of orientations.

(3) The robotic system of feature (2), in which the first connector further comprises a track element having a plurality of tracks corresponding to the plurality of contacts of the second connector, wherein the track element is located at a first side of the first connector and receives the plurality of the contacts of the second connector from a second side of the first connector, the second side being opposite to the first side.

(4) The robotic system of features (1) to (3), in which the first connector comprising the track element is included in the first housing and the second connector is included in the second housing.

(5) The robotic system of features (1) to (4), in which the groove of the first housing is an X- shaped depressed portion depressed inward relative to a face of the first housing, and the ridge is an X- shaped protruding portion protruding outward relative to a face of the second housing, the X-shape of the ridge corresponds to the X-shape of the groove.

(6) The robotic system of features (1) to (5), in which the ridge receives the plurality of electrical contacts in a form of pins projecting outward from the X-shaped protruding portion.

(7) The robotic system of feature (6), in which a number of pins is six arranged linearly with an equidistance between adjacent pins.

(8) The robotic system of features (1) to (7), in which the groove includes a cut out portion at a bottom or a plurality of holes configured to receive the plurality of electrical contacts of the ridge. (9) The robotic system of features (1) to (8), in which the groove is formed within a step portion relative to the face of the first housing.

(10) The robotic system of features (1) to (9), in which the ridge is formed within a pocket relative the face of the second housing.

(11) The robotic system of feature (10), in which the pocket is a depressed portion relative the face of the second housing.

(12) The robotic system of features (1) to (11), in which a height of the ridge is less than a depth of the pocket so defined that the ridge does not project relative to the face of the second housing.

(13) The robotic system of features (1) to (12), in which a depth of the groove of the first housing is approximately the same as the height of the ridge of the second housing, so defined that when the groove receives the ridge of the second housing, the face of the first housing and the face of the second housing touch each other.

(14) The robotic system of features (10) to (13), in which a height of the step portion of the first housing is less than the depth of the pocket of the second housing.

(15) The robotic system of features (1) to (14), in which the second housing is at least one of: a drive motor comprising a first motor configured to receive, via the second connector, a control signal from the first processor of the first housing; a function motor comprising a second motor configured to receive, via the second connector, another control signal from the first processor of the first housing; a display comprising a screen configured to receive, via the second connector, information from the first processor of the first housing; or a sensor configured to generate an output signal corresponding to a characteristic to be measured and send, via the second connector, the output signal to the first processor of the first housing.

(16) The robotic system of features (1) to (15), in which the sensor is at least one of: a color sensor, a touch sensor, an Infrared (IR) sensor, or a Light Dependent Resistor (LCR) sensor.

(17) The robotic system of feature (15), in which the drive motor comprises at least one face including the ridge configured to connect with the groove of the first housing.

(18) The robotic system of feature (15), in which the function motor comprises at least one face including the ridge and at least one another face including the groove.

(19) The robotic system of feature (15), in which the function motor is cube shaped having six faces, wherein each of five faces out of the six faces includes the ridge and one face includes the groove.

(20) The robotic system of feature (19), in which the face of the function motor including the groove is connected to a shaft of the second motor. (21) The robotic system of features (1 ) to (20), in which the second housing includes an unique electrical characteristic.

(22) The robotic system of feature (21), in which the unique electrical characteristic is a resistor having a particular resistance value.

(23) The robotic system of feature (21), in which the first processor is further configured to identify the second housing based on the electrical characteristic of the second housing when connected to the first housing.

(24) The robotic system of feature 21, in which the first processor is further configured to:

identify the second housing and an orientation of the plurality of the orientations of the second housing relative to the first housing based on an address of the second housing and the orientation; and articulate the second housing, wherein the identified second housing is the drive motor or the function motor.

(25) A method for configuring a robotic module comprising a processor, the method including connecting the robotic module to a first housing; and assigning, via the processor, an identifier to the robotic module, wherein the identifier is configured to identify a type of the robotic module, a number of the robotic module, and/or a location of the robotic module with respect to the first housing.

(26) The method of feature (25), in which the assigning of the identifier includes assigning a first set of bits of a plurality of bits to identify the type of the robotic module, and a second set of bits of the plurality of bits to indicate the number the particular component.

(27) The method of feature (25), in which the assigning of the identifier includes daisy chaining of the plurality of bits corresponding to a plurality of robotic modules connected to the first housing and/or a robotic module of the plurality of robotic modules.

(28) A method of programming related to a robotic module, the method includes selecting, via an interface, i) a predefined function to be performed by the robotic module, or ii) an option to create a user defined function to be performed by the robotic module; defining, via the interface, logic and parameters related to the user defined function of the robotic module; and storing, via a processor, the user defined function in a processor of a first housing, in which the processor is configured to control the robotic module based on the user-defined function when the robotic module is connected, via a joinery, to the processor, and in which the joinery establishes an electrical connection between the first housing and the robotic module.

(29) The method of feature 28, in which the defining the logic involves dragging and dropping of a plurality of pre-defined coding blocks within a programming screen on the interface, and defining the parameters includes assigning values to variables related to the robotic module. (30) The method of feature 29, in which the robotic module is a drive motor or a function motor, and the parameters comprise a speed, an amount of rotation, and/or a direction of rotation of the drive motor or the function motor.

(31) An communication protocol circuitry, including a printed circuit board including a two- wired interface to communicate information from a first processor to a second processor when connected to the first processor via a connector, in which the connector establishes an electrical connection between the first processor and the second processor.

WHAT IS CLAIMED IS:

1. A robotic system comprising:

a first housing comprising a first processor and a first connector,

a second housing comprising a second processor and a second connector,

the first connector of the first housing being connectable to the second connector of the second housing in a plurality of orientations relative to one another, wherein the first processor and the second processor are configured to communicate with one other when connected in any of the plurality of orientations.

2. The robotic system of claim 1, wherein the first connector comprises a groove; and the second connector comprises a ridge corresponding to the groove, the ridge comprising the plurality of electrical contacts, wherein the groove is configured to receive the ridge and the plurality of electrical contacts in the plurality of orientations.

3. The robotic system of claim 2, wherein the first connector further comprises a track element having a plurality of tracks corresponding to the plurality of contacts of the second connector, wherein the track element is located at a first side of the first connector and receives the plurality of the contacts of the second connector from a second side of the first connector, the second side being opposite to the first side.

4. The robotic system of any of claims 1-3, wherein the first connector comprising the track element is included in the first housing and the second connector is included in the second housing.

5. The robotic system of any of claims 1-4, wherein the groove of the first housing is an X-shaped depressed portion depressed inward relative to a face of the first housing, and the ridge is an X-shaped protruding portion protruding outward relative to a face of the second housing, the X-shape of the ridge corresponds to the X-shape of the groove.

6. The robotic system of any of claims 1-5, wherein the ridge receives the plurality of electrical contacts in a form of pins projecting outward from the X-shaped protruding portion.

7. The robotic system of claim 6, wherein a number of pins is six arranged linearly with an equidistance between adjacent pins.