BIOMIMETIC HUMANOID ROBOTIC MODEL, CONTROL SYSTEM, AND SIMULATION PROCESS
20220032449 · 2022-02-03
Inventors
Cpc classification
B25J9/1694
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1615
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1605
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1602
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/39454
PHYSICS
International classification
B25J13/08
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A biomimetics based robot is disclosed. The robot may include filament driven and fluid pumped elastomer based artificial muscles coordinated for slow twitch/fast twitch contraction and movement of the robot by one or more microcontrollers. A process may provide physics based simulation for movement of a robot in a virtual setting. Embodiments include artificial skin and sensor systems in the artificial muscles and artificial skin whose feedback is used to control the muscles and movement of the robot.
Claims
1. A sensor system for robots, comprising: an integrated circuit; a processor in the integrated circuit; and a plurality of different types of sensors connected to the processor, wherein: the plurality of sensors are configured for attachment to an artificial skin of a robot, the different types of sensors are configured for different types of detection, at least one type of sensor is configured to detect forces applied to the artificial skin, from an internal part of the robot, at least one type of sensor is configured to detect forces applied externally to the artificial skin, and the processor receives feedback from the different types of sensors to control a movement of the robot.
2. The sensor system of claim 1, wherein the different types of sensors include force resistive sensors, temperature sensors, and stretch sensors.
3. The sensor system of claim 1, wherein the plurality of sensors are attached to the artificial skin in different densities of sensors in some sections of the artificial skin.
4. The sensor system of claim 1, wherein extremity sections of the artificial skin have more sensors per square area than a torso section of the artificial skin.
5. The sensor system of claim 1, wherein the plurality of sensors are woven into the artificial skin.
6. The sensor system of claim 1, wherein the plurality of sensors are positioned in a grid array on or in the artificial skin.
7. The sensor system of claim 1, wherein the plurality of sensors are positioned along a surface gradient of the artificial skin.
8. The sensor system of claim 1, wherein a first group of the plurality of sensors are arranged circularly and a second group of the plurality of sensors are arranged linearly and in connection across multiple members of the first group of sensors.
9. A robot, comprising: a plurality of artificial muscles supported by an internal frame; an artificial skin attached to, and covering, the plurality of artificial muscles; a sensor system, including: a plurality of different types of sensors attached to the artificial skin, wherein the different types of sensors are configured for different types of detection, at least one type of sensor is configured to detect forces applied to the artificial skin, internally from the artificial muscles, at least one type of sensor is configured to detect forces applied externally to the artificial skin; and a processor connected to the artificial muscles and to the sensor system, wherein feedback from the different types of sensors is used by the processor to control a movement of the robot.
10. The robot of claim 9, wherein the different types of sensors include force resistive sensors, temperature sensors, and stretch sensors.
11. The robot of claim 9, wherein the plurality of sensors are attached to the artificial skin in different densities of sensors in some sections of the artificial skin.
12. The robot of claim 9, wherein the plurality of stretch sensors are encased in the skin casing.
13. The robot of claim 9, wherein extremity sections of the artificial skin have more sensors per square area than a torso section of the artificial skin.
14. The robot of claim 9, further including a torso, hands, feet, fingers, and toes and wherein the hands, feet, fingers, and toes have more sensors per square area than the torso.
15. The robot of claim 9, wherein the plurality of sensors are woven into the artificial skin.
16. The robot of claim 9, wherein the plurality of sensors are positioned in a grid array on or in the artificial skin.
17. The robot of claim 9, wherein the plurality of sensors are positioned along a surface gradient of the artificial skin.
18. The robot of claim 9, wherein a first group of the plurality of sensors are arranged circularly and a second group of the plurality of sensors are arranged linearly and in connection across multiple members of the first group of sensors.
19. The robot of claim 9, further comprising limbs and wherein a first group of the plurality of sensors are arranged circularly around a circumference of the limbs and a second group of the plurality of sensors are arranged linearly along the limbs across multiple members of the first group of sensors.
20. A control system for a robot, comprising: a first set of sensors connected to a plurality of artificial muscles of the robot; a second set of sensors connected to an artificial skin system covering the artificial muscles, wherein: at least one type of sensor in the second set of sensors, is configured to detect forces applied to the artificial skin, internally from the artificial muscles, and at least one type of sensor in the second set of sensors, is configured to detect forces applied externally to the artificial skin; and a central processor connected to the first set of sensors and to the second set of sensors, wherein feedback from the first set of sensors and feedback from the second set of sensors is used by the central processor to control a movement of the artificial muscles.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
DETAILED DESCRIPTION
[0033] The detailed description set forth below is intended as a description of various configurations of the subject technology and is not intended to represent the only configurations in which the subject technology may be practiced. The appended drawings are incorporated herein and constitute a part of the detailed description. The detailed description includes specific details for the purpose of providing a thorough understanding of the subject technology. However, it will be apparent to those skilled in the art that the subject technology may be practiced without these specific details. Like or similar components are labeled with identical element numbers for ease of understanding.
[0034] Generally, embodiments of the subject technology provide a biomimetics based robot and a process for simulating robot functionality. Robots of the subject technology appear humanoid, mimicking human anatomy and move with human-like coordination.
[0035] As will be appreciated, some aspects of the subject technology disclosed address problems related to controlling artificial muscles so that the muscles have both a fast twitch and slow twitch capacity so that they behave similar to human muscles. Having both fast twitch and slow twitch acting muscles allow robots to move both quickly or slowly depending on the application as well as provide improved load capacity. Moreover, as will be appreciated, some aspects overcome the deficiencies associated with electro-active polymer based artificial muscles that when positioned in a stack or array, are subject to EMI from each other when energized thus causing these kinds of artificial muscles to contract out of sync.
[0036] Other aspects of the subject technology address simulating the performance design of biomimetic robots so that the robot anatomy may be refined prior to actual build. As will be appreciated, aspects are capable of calculating the twitch speed of virtual artificial muscles, the force impact on various points of the virtual robot anatomy, predicted locations of extremities of a virtual robot and may then adjust output to the virtual artificial muscles and machine learn from iterated calculations what the real world expected performance of the robot will be.
[0037] Referring to
[0038] The following shows an example list of muscle groups that may comprise the muscular system 120 of a robot 100 of the subject technology. The following is an example list of artificial muscles' names named after real muscle groups:
[0039] Abductor Pollicis Brevis Muscle Left
[0040] Abductor Pollicis Brevis Muscle Right
[0041] Abductor Pollicis Longus Muscle Left
[0042] Abductor Pollicis Longus Muscle Right
[0043] Adductor Pollicis Muscle Left
[0044] Adductor Pollicis Muscle Right
[0045] Biceps Brachii Left
[0046] Biceps Brachii Muscle Left
[0047] Biceps Brachii Muscle Right
[0048] Biceps Brachii Right
[0049] Brachioradialis Muscle Left
[0050] Brachioradialis Muscle Right
[0051] Coracobrachialis Muscle Left
[0052] Coracobrachialis Muscle Right
[0053] Deltoideus Muscle Left
[0054] Deltoideus Muscle Right
[0055] Dorsal Interossei Muscle Left 1
[0056] Dorsal Interossei Muscle Left 2
[0057] Dorsal Interossei Muscle Left 3
[0058] Dorsal Interossei Muscle Left 4
[0059] Dorsal Interossei Muscle Left S
[0060] Dorsal Interossei Muscle Left 6
[0061] Dorsal Interossei Muscle Left 7
[0062] Dorsal Interossei Muscle Right 1
[0063] Dorsal Interossei Muscle Right 2
[0064] Dorsal Interossei Muscle Right 3
[0065] Dorsal Interossei Muscle Right 4
[0066] Dorsal Interossei Muscle Right S
[0067] Dorsal Interossei Muscle Right 6
[0068] Dorsal Interossei Muscle Right 7
[0069] Extensor Carpi Radialis Brevis Muscle Left
[0070] Extensor Carpi Radialis Brevis Muscle Right
[0071] Extensor Carpi Radialis Longus Muscle Left
[0072] Extensor Carpi Radialis Longus Muscle Right
[0073] Extensor Carpi Ulnaris Muscle Left
[0074] Extensor Carpi Ulnaris Muscle Right
[0075] Extensor Digitorum Muscle Left
[0076] Extensor Digitorum Muscle Right
[0077] Extensor Indicis Muscle Left
[0078] Extensor Indicis Muscle Right
[0079] Extensor Pollicis Brevis Muscle Left
[0080] Extensor Pollicis Brevis Muscle Right
[0081] Extensor Pollicis Longus Muscle Left
[0082] Extensor Pollicis Longus Muscle Right
[0083] Flexor Carpi Radialis Muscle Left
[0084] Flexor Carpi Radialis Muscle Right
[0085] Flexor Carpi Ulnaris Muscle Left
[0086] Flexor Carpi Ulnaris Muscle Right
[0087] Flexor Digiti Quinti Brevis Muscle Left
[0088] Flexor Digiti Quinti Brevis Muscle Right
[0089] Flexor Digitorum Profundus Muscle Left
[0090] Flexor Digitorum Profundus Muscle Right
[0091] Flexor Digitorum Superficialis Muscle Left
[0092] Flexor Digitorum Superficialis Muscle Right
[0093] Flexor Pollicis Brevis Muscle Left
[0094] Flexor Pollicis Brevis Muscle Right
[0095] Flexor Pollicis Longus Muscle Left
[0096] Flexor Pollicis Longus Muscle Right
[0097] Lummbrical Muscle Left
[0098] Lummbrical Muscle Left 1
[0099] Lummbrical Muscle Left 2
[0100] Lummbrical Muscle Left 3
[0101] Lummbrical Muscle Left 4
[0102] Lummbrical Muscle Left 5
[0103] Lummbrical Muscle Right
[0104] Lummbrical Muscle Right 1
[0105] Lummbrical Muscle Right 2
[0106] Lummbrical Muscle Right 3
[0107] Lummbrical Muscle Right 4
[0108] Lummbrical Muscle Right 5
[0109] Opponens Digiti Quinti Muscle Left
[0110] Opponens Digiti Quinti Muscle Right
[0111] Opponens Pollicis Muscle Left
[0112] Opponens Pollicis Muscle Right
[0113] Palmar Interosse Muscle Left
[0114] Palmar Interossei Muscle Left 1
[0115] Palmar Interossei Muscle Left 2
[0116] Palmar Interossei Muscle Right
[0117] Palmar Interossei Muscle Right 1
[0118] Palmar Interossei Muscle Right 2
[0119] Palmaris Longus Muscle Left
[0120] Palmaris Longus Muscle Right
[0121] Pronator Quadratus Muscle Left
[0122] Pronator Quadratus Muscle Right
[0123] Pronator Teres Muscle Left
[0124] Pronator Teres Muscle Right
[0125] Tricep Muscle Left
[0126] Tricep Muscle Right
[0127] Tricep Muscle Left
[0128] Tricep Muscle Right
[0129] Digiti Quinit Brevis Muscle Left
[0130] Digiti Quinit Brevis Muscle Right
[0131] Digastric Muscle Left
[0132] Digastric Muscle Right
[0133] Levator Scapulae Muscle Left
[0134] Levator Scapulae Muscle Right
[0135] Platysma Muscle Left
[0136] Platysma Muscle Right
[0137] Scalene Muscle Left
[0138] Scalene Muscle Left 1
[0139] Scalene Muscle Left 2
[0140] Scalene Muscle Right
[0141] Scalene Muscle Right 1
[0142] Scalene Muscle Right 2
[0143] Scalenus Anterior Muscle Left
[0144] Scalenus Anterior Muscle Right
[0145] Semispinalis Capitis Muscle Left
[0146] Semispinalis Capitis Muscle Right
[0147] Semispinalis Capitis Muscle Left 1
[0148] Semispinalis Capitis Muscle Right 1
[0149] Semispinalis Capitis Muscle Left 2
[0150] Semispinalis Capitis Muscle Right 2
[0151] Semispinalis Capitis Muscle Left 3
[0152] Semispinalis Capitis Muscle Right 3
[0153] Semispinalis Capitis Muscle Left 4
[0154] Semispinalis Capitis Muscle Right 4
[0155] Semispinalis Capitis Muscle Left 5
[0156] Semispinalis Capitis Muscle Right 5
[0157] Semispinalis Capitis Muscle Left 6
[0158] Semispinalis Capitis Muscle Right 6
[0159] Semispinalis Cervisis Muscle Left
[0160] Semispinalis Cervisis Muscle Right
[0161] Semispinalis Cervisis Muscle Left 1
[0162] Semispinalis Cervisis Muscle Right 1
[0163] Semispinalis Cervisis Muscle Left 2
[0164] Semispinalis Cervisis Muscle Right 2
[0165] Semispinalis Cervisis Muscle Left 3
[0166] Semispinalis Cervisis Muscle Right 3
[0167] Semispinalis Cervisis Muscle Left 4
[0168] Semispinalis Cervisis Muscle Right 4
[0169] Semispinalis Cervisis Muscle Left 5
[0170] Semispinalis Cervisis Muscle Right 5
[0171] temode domasto d Muscle Left 6
[0172] 5ternode domasto d Muscle Right 6
[0173] SternoCleidomastoid Muscle Left
[0174] Sternocleidomastoid Muscle Right
[0175] Sternohyoid Muscle Left
[0176] Sternohyoid Muscle Right
[0177] Sternothyroideus Muscle Left
[0178] Sternothyroideus Muscle Right
[0179] Stylohyoid Muscle Left
[0180] Stylohyoid Muscle Right
[0181] Thyrohyoid Muscle Left
[0182] Thyrohyoid Muscle Right
[0183] Leg Muscles Group
[0184] Abductor Digiti Minimi Left
[0185] Abductor Digiti Minimi Right
[0186] Abductor Hallucis Muscle Left
[0187] Abductor Hallucis Muscle Right
[0188] Adductor Brevis Muscle Left
[0189] Adductor Brevis Muscle Right
[0190] Adductor Longus Muscle Left
[0191] Adductor Longus Muscle Right
[0192] Adductor Magnus Muscle Left
[0193] Adductor Magnus Muscle Right
[0194] Bicep Femoris Muscle Left
[0195] Bicep Femoris Muscle Left 1
[0196] Bicep Femoris Muscle Right
[0197] Bicep Femoris Muscle Right 1
[0198] Bicep Femoris Muscle Left 1
[0199] Bicep Femoris Muscle Right 1
[0200] Extensor Digitorum Longus Muscle Left
[0201] Extensor Digitorum Longus Muscle Right
[0202] Extensor Hallucis Brevis Muscle Left 1
[0203] Extensor Hallucis Brevis Muscle Right
[0204] Extensor Hallucis Brevis Muscle Right 1
[0205] Extensor Hallucis Brevis Muscle Left 2
[0206] Extensor Hallucis Brevis Muscle Right 2
[0207] Extensor Hallucis Brevis Muscle3 Left
[0208] Extensor Hallucis Brevis Muscle3 Right
[0209] Extensor Hallucis Brevis Muscle4 Left
[0210] Extensor Hallucis Brevis Muscle4 Right
[0211] Extensor Hallucis Longus Muscle Left
[0212] Extensor Hallucis Longus Muscle Right
[0213] Flexor Digitorum Brevis Muscle1 Left
[0214] Flexor Digitorum Brevis Muscle1 Right
[0215] Flexor Digitorum Brevis Muscle02 Left
[0216] Flexor Digitorum Brevis Muscle 02 Right
[0217] Flexor Digitorum Brevis Muscle03 Left
[0218] Flexor Digitorum Brevis Muscle04 Left
[0219] Flexor Digitorum Longus Muscle Left
[0220] Flexor Digitorum Longus MuscleRight
[0221] Flexor Hallucis Longus Muscle Left
[0222] Flexor Hallucis Longus Muscle Right
[0223] Gastrocnemius Muscle Left
[0224] Gastrocnemius Muscle Right
[0225] Gluteaus Maximus Muscle Left
[0226] Gracilis Muscle Left
[0227] Gracilis Muscle Right
[0228] Illiacus Muscle Left
[0229] Illiacus Muscle Right
[0230] Ligamentum Patella Left
[0231] Ligamentum Patella Right
[0232] Obturator Externus Muscle Left
[0233] Obturator Externus Muscle Right
[0234] Obturator Internus Muscle Left
[0235] Obturator Internus Muscle Right
[0236] Pectineus Muscle Left
[0237] Pectineus Muscle Right
[0238] Peroneus Brevis Muscle Left
[0239] Peroneus Brevis Muscle Right
[0240] Peroneus longus Muscle Left
[0241] Peroneus longus Muscle Right
[0242] Piriformis Muscle Left
[0243] Piriformis Muscle Right
[0244] Psoas Major Muscle Left
[0245] Psoas Major Muscle Right
[0246] Quadriceps Femoris Muscle Left
[0247] Quadriceps Femoris Muscle Right
[0248] Rectus Femoris Muscle Left
[0249] Rectus Femoris Muscle Right
[0250] Sacrotuberous Ligament Left
[0251] Sacrotuberous Ligament Right
[0252] Sartorius Muscle Left
[0253] Sartorius Muscle Right
[0254] Semimembranosus Muscle Left
[0255] Semimembranosus Muscle Right
[0256] Soleus Muscle Left
[0257] Soleus Muscle Right
[0258] Superior Gemellus Muscle Left
[0259] Superior Gemellus Muscle Right
[0260] Tensor Fasciae Latae Muscle Left
[0261] Tensor Fasciae Latae Muscle Right
[0262] Tibialis Anterior Muscle Left
[0263] Tibialis Anterior Muscle Right
[0264] Tibialis Poster or Muscle Left
[0265] Tibialis Poster or Muscle Right
[0266] Vastus Intermedius Muscle Left
[0267] Vastus Intermedius Muscle Right
[0268] Vastus Lateralis Muscle Left
[0269] Vastus Lateralis Muscle Right
[0270] Vastus Medialis Muscle Left
[0271] Vastus Medialis Muscle Right
[0272] Torso Muscles Group
[0273] DIaphragm Muscle Geo
[0274] Ilcostal Muscle Left
[0275] Ilcostal Muscle Right
[0276] Infraspinatus Muscle Left
[0277] Infraspinatus Muscle Right
[0278] Infraspinatus Muscle Right
[0279] Intercostal Muscle Large Left
[0280] Intercostal Muscle Large Right
[0281] Intercostal Muscle Small Left
[0282] Intercostal Muscle Small Right
[0283] Internal Oblique Left
[0284] Internal Oblique Right
[0285] Latissim Muscle Left
[0286] Latissim Muscle Right
[0287] Levator Scapulae Muscle Left
[0288] Levator Scapulae Muscle Right
[0289] Levator Scapulae Muscle Left 2
[0290] Levator Scapulae Muscle Right 2
[0291] Levator Scapulae Muscle Left 4
[0292] Levator Scapulae Muscle Right 4
[0293] Longissimus Muscle Left
[0294] Longissimus Muscle Right
[0295] Omohyoideus Muscle Left
[0296] Omohyoideus Muscle Right
[0297] Pectoral Muscle Left
[0298] Pectoral Muscle Right
[0299] Pectoralis Minor Muscle Left
[0300] Pectoralis Minor Muscle Right
[0301] Psoas Minor Muscle Left
[0302] Psoas Minor Muscle Right
[0303] Quadratus Lumborum Muscle Left
[0304] Quadratus Lumborum Muscle Right
[0305] Quadratus Lumborum Muscle Left 2
[0306] Quadratus Lumborum Muscle Right 2
[0307] Rectus Abdominis Muscle
[0308] Rhomboid Major Muscle Left
[0309] Rhomboid Major Muscle Right
[0310] Rhomboid Minor Muscle Left
[0311] Rhomboid Minor Muscle Right
[0312] Scalenus Anterior Muscle Left 2
[0313] Scalenus Anterior Muscle Left 3
[0314] Scalenus Anterior Muscle Right
[0315] Scalenus Anterior Muscle Right
[0316] Scalenus Posterior Muscle Left
[0317] Scalenus Posterior Muscle Right
[0318] Scalenus Posterior Muscle Left 2
[0319] Scalenus Posterior Muscle Right 2
[0320] Scalenus Posterior Muscle Left
[0321] Scalenus Posterior Muscle Right
[0322] Serratus Anterior Muscle Left
[0323] Serratus Anterior Muscle Right
[0324] Serratus Anterior Muscle Left 2
[0325] Serratus Anterior Muscle Right 2
[0326] Serratus Anterior Muscle Left 3
[0327] Serratus Anterior Muscle Right 3
[0328] Serratus Anterior Muscle Left 4
[0329] Serratus Anterior Muscle Right 4
[0330] Serratus Anterior Muscle Left 5
[0331] Serratus AnteriorMuscle Right 5
[0332] Serratus Anterior Muscle Left 6
[0333] Serratus Anterior Muscle Right 6
[0334] Serratus Anterior Muscle Left 7
[0335] Serratus Anterior Muscle Right 7
[0336] Serratus Anterior Muscle Left 8
[0337] Serratus Anterior Muscle Right 8
[0338] Serratus Anterior Muscle Left 9
[0339] Serratus Anterior Muscle Right 9
[0340] Spinalis Muscle Left
[0341] Spinalis Muscle Right
[0342] Splenius Capitus Muscle Left
[0343] Splenius Capitus Muscle Right
[0344] Splenius Cervicis Muscle Left
[0345] Splenius Cervicis Muscle Right
[0346] Subscapularis Muscle Left
[0347] Subscapularis Muscle Right
[0348] Supraspinatus Muscle Left
[0349] Supraspinatus Muscle Right
[0350] Teres Major Muscle Left
[0351] Teres Major Muscle Right
[0352] Teres Minor Muscle Left
[0353] Teres Minor Muscle Right
[0354] Transversus Abdominis Muscle
[0355] Trapezius Muscle Left
[0356] Trapezius Muscle Right
[0357] Referring now to
[0358] The power supply module 230 is wired to and powers each element requiring a power source. The power supply module 230 may include a battery pack 238, for example, a lithium polymer battery, a fuel gauge sensor circuit 244, and a battery shield 242. Some embodiments may include an electronic starter 232, an engine 234, (for example, an alcohol micro engine), and an alternator or a synchronous generator 236 coupled to the battery pack 238. The battery pack 238 may be charged with the micro engine 234 (using for example, gasoline, diesel, alcohol or other fuel), with the alternator 236 (or synchronous generator). Control of the starter 232 and engine 234 may be coordinated with a CPU 16.
[0359] The computing module 255 may include a CPU 16 (sometimes referred to as a processing unit) in connection with each microcontroller 250 which may coordinate simultaneous control of multiple artificial muscles 125 (or muscle groups) and the feedback from multiple sensors from the sensor module 260. Data coordinated by the CPU 16 may be stored and retrieved from a system memory storage 34. Some embodiments may include a display 24 integrated into the robot 100 while some embodiments may include a port to connect an external display 24 to interact with the CPU 16. Some embodiments may also include a port for accessing a telecommunications network and to interface with a general computing device (described more fully below in
[0360] The circulatory module 210 includes a plurality of artificial muscles 125, which may be controlled for contraction by the other elements in the module 210. In an exemplary embodiment, the artificial muscle 125 may be contracted and relaxed by sending heated/cooled fluid (such as a gas, liquid, or oil) into the artificial muscle 125 and/or by heating a filament (described below). A pump controller 212 may send fluid through either a Peltier heating element 214 or a Peltier cooling element 215. Fluid from the heating/cooling elements 214/215 may be circulated to a temperature controller 220, for example a 3/2 solenoid fluid temperature controller to mix fluid to provide the temperature needed to contract or relax the artificial muscle 125 to a desired load capacity. A valve controller 218, may control opening or closing of a valve 135 (
[0361] The sensor module 260 may include a network of various sensors distributed throughout the robot 100 and wiring connected back to the CPU 16. A multiplexor 217 may coordinate feedback signals received from the various sensors and return signals provided by the CPU 16. Sensors may include force sensors 252 (for example force resistive sensors/resistors, stretch sensors 254 (for example strain gauges or resistors), a range finding sensor, a gyroscope and/or accelerometer, and a camera 266. The range finding sensor may be for example, LIDAR based. The range finding sensor may detect obstacles in the robot's path using range/distance/motion sensory. The combination of the LIDAR range finding and video source/camera 266 may be used for perception to setup up pathfinding input. In some embodiments, the robot 100 may speak with a chatterbox upon detected motion. In addition, detected objects may trigger the robot 100 to move its neck/head/eyes to follow objects using tracking. As will be understood, more than one sensor of each kind may be present in the robot 100 but for sake of illustration, only a single occurrence is shown.
[0362]
[0363] Thus, the contraction/relaxation of artificial muscles 125 may be coordinated to cause for example, one leg to lift from the ground and simultaneously move forward (step) while the other leg supports the remainder of the skeletal structure on the ground. Sensors in the stepping leg may sense for example acceleration forward (or backward), the rate of fall toward the ground, the amount of strain placed on artificial muscles 125, a strain on attachment points to artificial bones 115 (or joints), and changes in forces of impact indicating contact with the ground. The feedback from these sensors may be provided to the microcontroller 250 and CPU 16 to control additional movements to the stepping leg and the remainder of muscle groups in the robot 100. For example, feedback from the gyroscope/accelerometer which may be placed proximate skeletal extremities may indicate to the CPU 16 whether movement is occurring at a rate that needs adjustment (for example, a foot is stepping down to quickly or too hard). As may be appreciated, the stepping movement is only one example of movement possible by the subject technology and many other coordinated movements are now thus possible.
[0364] Referring now to
[0365] As will be appreciated, the actuation of the flexible casing 130 increases the speed or fast twitch of the artificial muscle 125 while the filament 140 provides load strength. In operation, the flexible casing 130 may be filled with hot, cold, or mixed temperature fluid to contract or relax the artificial muscle 125. As the PSI increases the casing 130 contracts for the quick twitch. The stronger filament 140 may take over the bulk of the load when the output needed may overload the strength of the flexible casing 130. The valve 135 may be closed when for example hot fluid is pumped in to the fluid channel to expand the walls of the casing 130. The filament 140 also heats up with the heated fluid and shortens in length pulling the opposing walls of the flexible casing 130 it is connected to closer together. The valve 135 may be opened to release heated fluid and cooled (or cooler) fluid may be pumped into the flexible casing 130 to relax the walls of the artificial muscle 125 to return to a default or unexpanded state. The filament 140 also stretches back to its default length as it is exposed to cooling fluid and the opposing walls of the flexible casing 130 it is connected to are drawn back outward away from each other or straightened out. During a cycle, the filament 140 oscillates in length proportional to the temperature of the fluid and proportional to the PSI acting on the walls of the casing 130. As will be appreciated, the use of the flexible casing 130 and heated fluid helps provide “quick twitch” action because the flexible casing 130 can expand and relax responsively to changes in pressure. The filament 140 provides support to the flexible casing 130 because the filament 140 has higher tensile strength and exceeds current load capacity of organic real muscles and contracts more with more force. Thus, when a “slow twitch” action is needed, the filament 140 may provide the bulk of the force to the application when fast twitching is not necessarily the priority. Thus, the flexible casing 130 is spared from fatigue and damage from routine fast or slow twitch based movement.
[0366] Referring now to
[0367] In addition, it will be further appreciated that embodiments using non-electroactive polymers overcome the deficiencies of some prior art artificial muscles that use electro-active polymers for artificial muscle arrays. Non-electroactive polymers preclude the phenomena of electromagnetic interference that spills over from electro-active based artificial muscles into adjacent electro-active based artificial muscles. The artificial muscles 125 of the present disclosure mechanically support adjacent artificial muscles 125 without electromagnetic disruption. Thus, coordinated actuation of the artificial muscles 125 in arrays 150 is achieved with expected processor based synchronization.
[0368] Referring now to
[0369] If satisfactory, in some embodiments, the real world biomimetic robot may be physically moved to a new location/environment. In the new location, the method may use either the simulation engine loaded onto a computing device or cloud computing system to learn new optimized artificial muscle movement for the new location or a copy of the simulation engine may be loaded into the robot's memory for learning 580 the new environment. If using the computing device outside the robot, the simulation engine may upload a new virtual environment into the simulation engine and may re-target 585 the movement of virtual artificial muscles in the virtual environment. The process may repeat as described above for reaching the new target performance and/or optimized muscle contraction of artificial muscles for use in the new location.
[0370] In exemplary embodiments with the simulation engine loaded into the robot's memory, the robot may identify it is in a new location. The robot may determine whether location data exists in storage and whether or not new muscle performance data may need to be generated. If location data does not exist, or for example, the location has been modified from a previous stored file, the robot may generate a virtual environment replicating the current location. In some embodiments, the robot may wirelessly access a network, a cloud computing network to process simulation of the robot's artificial muscle performance in the virtual environment. The robot may re-target 585 the performance criteria for the artificial muscles in the virtual environment and once the target is reached (via looping through the steps described above), may store the control settings in its memory for use with the real world artificial muscles that make up the robot. As will be appreciated, in some embodiments, the aspects of the method allow the biomimetic robot to perceive the environment around it and increase its learning of how to move through the loop of continuously machine learning and optimizing control and performance of its artificial muscles to move in the environment. While in some embodiments, the robot may be aided by the operator simulating a first environment and then a second environment and so on to upload into the robot's memory the data it needs to move in some initial settings, eventually the robot may be able to move into an arbitrary location, capture an image of the location, generate a virtual simulation of the location, and simulate its own movement in the location to control its muscles accordingly for real world movement in the location.
[0371] Referring now to
[0372] If the determination is within the threshold value, the engine increases 586 the value of certainty of motion in the simulation. A subsequent determination 588 is performed on whether all points in motion space for the real robot are checked within the frame being analyzed. If not, the next extremity location may be checked 590 and the sub-process may return to block 582. If all points have been checked, then the analysis may move to the next frame (for example, block 545 in method 500).
[0373] If the determination in block 584 is not within the threshold value, then muscle contraction velocity may be adjusted 592 within the simulation engine. The actual motion of the real robot extremity may be logged 594 and the certainty of motion for actual resultant motion may be increased. The sub-process may then reiterate the comparison performed in block 582 with the adjusted data.
[0374] Referring now to
[0375] The computer system/server 10 may perform functions as different machine types depending on the role in the system the function is related to. For example, depending on the function being implemented at any given time when interfacing with the system, the computer system/server 10 may be for example, personal computer systems, tablet devices, mobile telephone devices, server computer systems, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, and distributed cloud computing environments that include any of the above systems or devices, and the like. The computer system/server 10 may be described in the general context of computer system executable instructions, such as program modules, being executed by a computer system (described for example, below). In some embodiments, the computer system/server 10 may be a cloud computing node connected to a cloud computing network (not shown). The computer system/server 10 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
[0376] The computer system/server 10 may typically include a variety of computer system readable media. Such media could be chosen from any available media that is accessible by the computer system/server 10, including non-transitory, volatile and non-volatile media, removable and non-removable media. The system memory 28 could include one or more computer system readable media in the form of volatile memory, such as a random access memory (RAM) 30 and/or a cache memory 32. By way of example only, a storage system 34 can be provided for reading from and writing to a non-removable, non-volatile magnetic media device typically called a “hard drive” (not shown). The system memory 28 may include at least one program product 40 having a set (e.g., at least one) of program modules 42 that are configured to carry out the functions of embodiments of the invention. The program product/utility 40, having a set (at least one) of program modules 42, may be stored in the system memory 28 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. The program modules 42 generally carry out the functions and/or methodologies of embodiments as described above.
[0377] The computer system/server 10 may also communicate with one or more external devices 14 such as a keyboard, a pointing device, a display 24, etc.; and/or any devices (e.g., network card, modem, etc.) that enable the computer system/server 10 to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces 22. Alternatively, the computer system/server 10 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via a network adapter 20. As depicted, the network adapter 20 may communicate with the other components of the computer system/server 10 via the bus 18.
[0378] As will be appreciated by one skilled in the art, aspects of the disclosed invention may be embodied as a system, method or process, or computer program product. Accordingly, aspects of the disclosed invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module,” or “system.” Furthermore, aspects of the disclosed invention may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
[0379] Any combination of one or more computer readable media (for example, storage system 34) may be utilized. In the context of this disclosure, a computer readable storage medium may be any tangible or non-transitory medium that can contain, or store a program (for example, the program product 40) for use by or in connection with an instruction execution system, apparatus, or device. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
[0380] Referring now to
[0381] In an exemplary embodiment, the sensor circuit 830 may comprise a plurality of sensors. For example, the sensor circuit 830 may comprise a plurality of force resistive sensors, temperature sensors, and/or stretch sensors 840 and 850.
[0382]
[0383] Aspects of the disclosed invention are described above with reference to block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor 16 of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
[0384] Those of skill in the art would appreciate that various components and blocks may be arranged differently (e.g., arranged in a different order, or partitioned in a different way) all without departing from the scope of the subject technology.
[0385] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. The previous description provides various examples of the subject technology, and the subject technology is not limited to these examples. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. For example, while the foregoing was described in the context of a humanoid or bi-pedal robot, aspects of the foregoing description may be applied to quadrupeds or any other pedal structure to design, simulate, produce and, control a functioning robot.
[0386] Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. Pronouns in the masculine (e.g., his) include the feminine and neuter gender (e.g., her and its) and vice versa. Headings and subheadings, if any, are used for convenience only and do not limit the invention.
[0387] Terms such as “top,” “bottom,” “front,” “rear,” “above,” “below” and the like as used in this disclosure should be understood as referring to an arbitrary frame of reference, rather than to the ordinary gravitational frame of reference. Thus, a top surface, a bottom surface, a front surface, and a rear surface may extend upwardly, downwardly, diagonally, or horizontally in a gravitational frame of reference. Similarly, an item disposed above another item may be located above or below the other item along a vertical, horizontal or diagonal direction; and an item disposed below another item may be located below or above the other item along a vertical, horizontal or diagonal direction.
[0388] A phrase such as an “aspect” does not imply that such aspect is essential to the subject technology or that such aspect applies to all configurations of the subject technology. A disclosure relating to an aspect may apply to all configurations, or one or more configurations. An aspect may provide one or more examples. A phrase such as an aspect may refer to one or more aspects and vice versa. A phrase such as an “embodiment” does not imply that such embodiment is essential to the subject technology or that such embodiment applies to all configurations of the subject technology. A disclosure relating to an embodiment may apply to all embodiments, or one or more embodiments. An embodiment may provide one or more examples. A phrase such an embodiment may refer to one or more embodiments and vice versa. A phrase such as a “configuration” does not imply that such configuration is essential to the subject technology or that such configuration applies to all configurations of the subject technology. A disclosure relating to a configuration may apply to all configurations, or one or more configurations. A configuration may provide one or more examples. A phrase such a configuration may refer to one or more configurations and vice versa.
[0389] The word “exemplary” is used herein to mean “serving as an example or illustration.” Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs.
[0390] All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. § 112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.” Furthermore, to the extent that the term “include,” “have,” or the like is used in the description or the claims, such term is intended to be inclusive in a manner similar to the term “comprise” as “comprise” is interpreted when employed as a transitional word in a claim.