Self-propelled devices have previously been powered by inertia or mechanical energy storage in devices such as coiled springs. Remote controlled devices typically use electric motors to engage one or more wheels of the device in order to cause the device to move. As technology has evolved, new methods of propelling and controlling these devices have been implemented.
The disclosure herein is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements, and in which:
Examples described herein provide for a cylindrical bodied device that is propelled, at least partially, via displacement of its center of mass. The self-propelled device includes a controllable drive system that can rotate in order to cause the self-propelled device to move. Furthermore, the self-propelled device can be controlled by an external computing device operated by a user. Furthermore, the device can include wheels at either end of the cylindrical body. The wheels have a diameter that is substantially equivalent to the diameter of the cylindrical body. Further still, removable wheel coverings (e.g., tires) and/or removable hub covers may also be included.
Examples also provide a self-propelled device that has a substantially cylindrical body with various components disposed therein that cause the self-propelled device to move. These components include a center of mass drive system contained within the body, a pair of wheels coupled to the drive system and disposed on either end of the self-propelled device, and a pair of motors to independently operate each of the wheels. The motors are powered by one or more power units included in the drive system. Furthermore, the drive system can have a center of mass below a common rotational axis of both of the wheels. Also, the wheels may have a diameter that is substantially equivalent to the diameter of the cylindrical body.
Additionally, the self-propelled device can include a wireless communication port and receiver to receive control inputs from a controller device. The control inputs may be processed by a processor coupled to the wireless communication port to ultimately maneuver the self-propelled device. Further, the processor translates the control inputs to independently operate the left motor and the right motor and/or rotationally pitch the entire drive system so as to displace the center of mass of both the drive system and the self-propelled device in order to cause the self-propelled device to move.
One or more embodiments described herein provide that methods, techniques, and actions performed by a computing device are performed programmatically, or as a computer-implemented method. Programmatically, as used herein, means through the use of code or computer-executable instructions. These instructions can be stored in one or more memory resources of the computing device. A programmatically performed step may or may not be automatic.
One or more embodiments described herein can be implemented using programmatic modules or components of a system. A programmatic module or component can include a program, a sub-routine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions. As used herein, a module or component can exist on a hardware component independently of other modules or components. Alternatively, a module or component can be a shared element or process of other modules, programs or machines.
Some embodiments described herein can generally require the use of computing devices, including processing and memory resources. For example, one or more embodiments described herein can be implemented, in whole or in part, on computing devices such as digital cameras, digital camcorders, desktop computers, cellular or smart phones, personal digital assistants (PDAs), laptop computers, printers, digital picture frames, and tablet devices. Memory, processing, and network resources may all be used in connection with the establishment, use, or performance of any embodiment described herein (including with the performance of any method or with the implementation of any system).
Furthermore, one or more embodiments described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium. Machines shown or described with figures below provide examples of processing resources and computer-readable mediums on which instructions for implementing embodiments can be carried and/or executed. In particular, the numerous machines shown with embodiments include processor(s) and various forms of memory for holding data and instructions. Examples of computer-readable mediums include permanent memory storage devices, such as hard drives on personal computers or servers. Other examples of computer storage mediums include portable storage units, such as CD or DVD units, flash memory (such as carried on smart phones, multifunctional devices or tablets), and magnetic memory. Computers, terminals, network enabled devices (e.g., mobile devices, such as cell phones) are all examples of machines and devices that utilize processors, memory, and instructions stored on computer-readable mediums. Additionally, embodiments may be implemented in the form of computer-programs, or a computer usable carrier medium capable of carrying such a program.
As used herein, the term “substantially” means at least almost entirely. In quantitative terms, “substantially” may be deemed to be at least 50% of a stated reference (e.g., quantity of size or shape).
Referring still to
The drive system 102 can be comprised of a left motor 104 and a right motor 106. The motors 104, 106 can be standard electric motors or customized electric motors capable of producing any power output. Thus, the scale or size of each of the respective components of the self-propelled device can be modified in order to conform to any desired use. For example, the self-propelled device 100 may include relatively small electric motors for use as a remote controlled vehicle. Alternatively, for example, the self-propelled device may include relatively large motors, such as petroleum powered engines for any variety of industrial or practical uses.
The left motor 104 and the right motor 106 include a respective left axle 128 and a right axle 130. The axles 128, 130 may be toothed or otherwise configured to couple to the gears 114, 116 such that rotational energy of the motors 104, 106 directly causes the wheels 108, 110 and/or the drive system 102 itself to rotate accordingly. Additionally or as an alternative, a mass ratio of the motors 104, 106 with respect to the wheels 108, 110 may be such that when the motors 104, 106 engage the wheels, the entire drive system 102 is rotationally pitched such that a center of mass 120 of the drive system 102 and/or the self-propelled device 100 is displaced so as to cause the self-propelled device 100 to move. Furthermore, the left motor 104 and the right motor 106 are configured to operate independently and in conjunction.
For example, control logic can interpret control inputs from a user of the external computing device instructing the self-propelled device 100 to move linearly in a direction perpendicular to a common rotational axis of both the left wheel 108 and the right wheel 110. The control logic can translate the inputs into commands to operate the motors 104, 106 in conjunction, causing the drive system 102, along with other components of the self-propelled device 100, to rotationally pitch, thereby displacing its center of mass 120 accordingly and causing the self-propelled device 100 to move linearly. For example, rotationally pitching the drive system 102 upwards and forwards causes the center of mass 120 of the entire device to move forward, thus causing the self-propelled device 100 to move linearly. Additionally, the control logic may interpret control inputs instructing the self-propelled device 100 to move in any number of directions perpendicular to a vertical axis of the device 100. Accordingly, the control logic can translate the inputs into commands to operate the motors 104, 106 independently to individually deliver power to each wheel 108, 110 in order to cause the self-propelled device 100 to change direction. Independent and conjunctive operation of the motors 104, 106 can be performed dynamically in response to a user's control inputs on an external computing device.
The self-propelled device 100 further includes a circuit board 112 upon which any number of electronic components may be installed or supported. These electronic components can include any combination of a memory resource, a processing means, sensors, a wireless communication port, and connection ports providing leads to the power units 122, 124, the motors 104, 106, and/or other components of the self-propelled device, as discussed in further detail below. A receiver 118 is provided and is coupled to the wireless communication port to allow for wireless communication with an external computing device providing control inputs for the self-propelled device 100. The receiver 118 can be an antenna array, and/or can be configured for a variety of communication standards, such as any radio frequency (RF) communication, including BLUETOOTH, short-range RF communication, and/or line of sight communication. Additionally or as an alternative, the receiver 118 may allow for the self-propelled device 100 to wirelessly connect to a variety of network technologies, including the Internet, World Wide Web, wireless links, wireless radio-frequency communications utilizing network protocol, optical links, or any available network communication technology. Examples of such network links comprise various radio frequency data communication systems, including, for example, those known as WI-FI, IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, IEEE 802.11ac, IEEE 802.11ad, and/or 802.11ah. Other radio frequency data links may be formed using cellular telephone service or serial communication protocols using radio modems. Furthermore, optical communication links may be employed, including modulating properties of light and LASER beams.
One or more power units 122, 124 are included to store energy for operating the electronics and electromechanical components of the device 100. The power units 122, 124 can be any type of battery or energy storage unit suitable for installation within the device 100. For example, the power units 122, 124 can be rechargeable batteries such as lithium ion batteries. Additionally or as an alternative, the power units 122, 124 can be rechargeable via an inductive or wired charge port, which can be included to recharge the power units 122, 124 without the need for a wired electrical connection.
Referring to
The body 214 is substantially cylindrical in shape and can include any number of designs and features. For example, the body can be at least partially transparent such that light from an internal light emitting component disposed within the body is apparent from outside of the device 200. The internal light emitting component can be any type of illuminating element, such as one or more light-emitting diodes (LEDs) or one or more LED arrays. The illuminating element can be affixed to the carrier 234, or any other interior component of the self-propelled device 200. As an addition or alternative, the body 214 can be comprised of sealed polycarbonate plastic or other composite that can be textured to diffuse light from the internal illuminating element.
Furthermore, the body 214 may be composed of a material that allows for transmission of signals used for wireless communication. Still further, an outer surface of the body 214 can be comprised of a material that is substantially impervious to moisture and every day wear and tear. The body 214 can be detachable from the self-propelled device 200 to allow for access to the interior components, and may further be durable, washable, and/or shatter resistant.
Additionally or as an alternative, the body 214 can include fastening or attachment points to allow for removable accessories to be attached to the exterior of the body 214. As discussed in further detail below, these accessories may include, for example, an attachable head lamp or a trailer attachment.
As shown in
Still further, a wheel hub can be (i) formed at least partially within an outer portion of a respective wheel (not shown), (ii) formed in combination with a gear within an inner radius of a wheel (also not shown), or (iii) part of the power train attached to the gear 210 and axle 234. In the latter example, the wheel hub 236 can be a part of or coupled to the axle 234, and can further be configured to protrude from the outer portion of the wheel 206. The self-propelled device 200 can further incorporate removable hub covers 222, 224 that can be readily attached and detached from the wheel hubs 236. The hub covers 222, 224 may come in a variety of different colors and/or styles accordingly to a user's preference. Alternatively, the hub covers 222, 224 can be affixed semi-permanently to the wheel hubs 236. The hub covers 222, 224 may be made from a hard or soft plastic, plastic/rubber composite or compound, metal, or any other suitable material.
The wheels 206, 208 can allow for wheel coverings 226, 228 (e.g., tires) to be fitted over them. The wheel coverings 226, 228 can be removable and be formed of a soft rubber compound. However, the wheel coverings 226, 228 are not limited to soft rubber, and may be made of any compound. The wheel coverings 226, 228 may include any number of tread patterns for specialized or simply stylistic purposes. The wheel coverings 226, 228 can also come in a variety of different styles and/or colors according to a user's preference. In variations, the wheels 206, 208 have the same or substantially the same height as the body 214, and the wheel coverings 226, 228 can allow for a slight height advantage of the wheel and tire combination with respect to the body. Alternatively, the wheels 206, 208 can be significantly larger in height than the body 214.
Electronics
Additionally, the self-propelled device 300 includes several interconnected subsystems and modules. For example, a processor 314 can execute programmatic instructions from a program memory 304. The instructions stored in the program memory 304 can be changed, for example to add features, correct flaws, or modify behavior. Furthermore, the program memory 304 can store programming instructions that are communicative or otherwise operable with software executing on a computing device. The processor 314 can further be configured to execute different programs of programming instructions, in order to after the manner in which the self-propelled device 300 interprets or otherwise responds to control input from another computing device. Additionally or as an alternative, the computing device executes a software application specific to controlling the self-propelled device 300 that automatically links the computing device to the self-propelled device 300.
The wireless communication port 310, in conjunction with a communication receiver 302, can serve to exchange data between the processor 314 and other external devices. The data exchanges, for example, provide communications, control, logical instructions, state information, and/or updates for the program memory 304. As an addition or alternative, the processor 314 can generate an output corresponding to state and/or position information, which can be communicated to the external computing device via the wireless communication port 310 and the receiver 302. The mobility of the device may make wired connections undesirable, so the term “connection” may be understood to mean a logical connection made without a physical attachment to self-propelled device 300.
The wireless communication port 310 may implement BLUETOOTH communications protocol and the receiver 302 may be suitable for transmission and reception of BLUETOOTH radio signals. However, alternatively, other wireless communication mediums and protocols may also be used.
The interior components may include sensors 312 that can provide information about the surrounding environment and condition to the processor 314. The sensors 312 can include inertial measurement devices, including a gyroscope, one or more accelerometers, and/or one or more magnetometers. The sensors 314 can provide inputs to enable the processor 314 to maintain awareness of the device's 300 orientation and/or position relative to an initial reference frame after the device initiates movement. Additionally or as an alternative, the sensors 312 include instruments for detecting light, temperature, humidity, and/or measuring chemical concentrations or radioactivity.
The self-propelled device can include a state/variable memory 306 which can store information about the present state of the device 300, including, for example, position, orientation, and rates of rotation. The state/variable memory 306 can also store information corresponding to an initial reference frame of the device upon, for example, the device being put in use (e.g., the device being switched on), as well as position and orientation information once the device is in use. In this manner, some embodiments provide for the device 300 to utilize information of the state/variable memory 306 in order to maintain position and orientation information of the device 300 when the device 300 is being controlled
A clock 308 can be included to provide timing information to the processor 314. As such, the clock 308 provides a time-base for measuring intervals and rates of change. Additionally or alternatively, the clock 308 can provide day, date, year, time, and alarm functions, and can allow the device 300 to provide an alarm or alert at pre-set times.
An expansion port 320 can be included to provide a connection for additional accessories or devices. The expansion port 320 provides for future expansion, as well as flexibility to add options or enhancements. For example, the expansion port 320 can be used to add peripherals, sensors, processing hardware, storage, displays, or actuators to a basic self-propelled device 300. As such, the expansion port 320 can provide an interface capable of communicating with a suitably configured component using analog or digital signals. Additionally, the expansion port 320 can provide one or more electrical interfaces and/or protocols that are standard or well-known. The expansion port 320 can also implement an optical interface. Example interfaces that for the expansion port 320 include Universal Serial Bus (USB), Inter-Integrated Circuit Bus (I2C), Serial Peripheral Interface (SPI), or ETHERNET.
As an addition or alternative, a display 318 can be included to present visual cues or information to external devices or persons. For example, the display 318 can produce light in colors and patterns, and may be implemented in conjunction with an audio device and/or a vibrating component providing haptic responses to various conditions. The display 318 can further operate in conjunction with motors 326 to communication information by physical movements of the device 300.
In variations, the display 318 is a light emitting element, either in the visible or invisible range. Invisible light in the infrared or ultraviolet range may be useful, for example, to send information invisible to human senses but available to specialized detectors. Alternatively, the display 318 can include an array of LEDs and emit various frequencies of visible light, and can be arranged such that their relative intensity can vary and the light emitted may be blended to form color mixtures. As an addition or alternative, the display 318 includes an LED array comprising several LEDs. The processor 314 can be configured to vary the relative intensity of each of the LEDs or LED arrays to produce a wide range of colors. Primary colors of light can be emitted by each LED array and can be blended qualitatively to produce a wide gamut of apparent colors. For example, respective red, green, and blue LEDs comprise a usable set of three available primary-color devices comprising the display 318. However, other sets of colors and white LEDs can be utilized. Further, the display 318 can include an LED used to indicate a reference point on device 300 for alignment.
One or more power units 324 store energy for operating the electronics and electromechanical components of the device 300. The power units 324 can be comprised of one or more rechargeable lithium ion batteries. However, any type of energy storage units may be suitable for use as the power units 324, including alkaline, dry cell, aluminum ion, nickel oxyhydroxide, silver oxide, zinc, lead-acid, polymer-based, nickel iron, or nickel zinc batteries. Furthermore, a charge port 328 (e.g., inductive or USB) can be included to allow for recharging the power units 324 without a wired electrical connection. As such, the charge port 328 can recharge the power units 324 through an induction coil in the device 300 via an externally generated electromagnetic field of an induction charger.
In some variations, device 300 may further include a deep sleep sensor 322 to place the self-propelled device 300 into a very low power or “deep sleep” mode where most of the interior electrical components use little or no battery power. The deep sleep sensor 322 can sense through the body of the device 300 without a wired connection, and as such may be provided as a Hall Effect sensor mounted so that an external magnet can be applied at a pre-determined location on device 300 to activate the deep sleep mode. Additionally or as an alternative, the device 300 is placed in the deep sleep mode automatically upon placement on an induction charger, or otherwise upon activation of the charge port 328. Further still, the device can be placed in the deep sleep mode via a user input through an external computing device.
As an alternative or variation, a Bluetooth Low Energy mechanism can be utilized to maintain a low current draw that is responsive to a wireless signal. Such a variation can, for example, provide an alternative to the deep sleep mode.
Motors 326 are included to convert electrical energy from the power units 324 into mechanical energy and can be controlled by the processor 314. For example, the motors 326 can be in the form of the left and right motors (104, 106, 202, 204) of
Furthermore, the motors 326 can produce a variety of movements in addition to merely rotating and steering the device 300. Thus, control logic stored in the program memory 304 can implement the processor to actuate the motors 326 to cause the device 300 to execute a variety of complex movements and gestures, including nodding, shaking, trembling, spinning, or flipping. As such, the processor 314 can coordinate the motors 326 with the display 318 in order to provide visual association for such movements and gestures. For example, the processor 314 can provide signals to the motors 326 and the display 318 to cause the device 300 to spin or tremble and simultaneously emit patterns of colored light synchronized with the movements.
The self-propelled device 300 may be used as a controller for other network-connected devices. As such, the device 300 can include sensors and/or wireless communication capabilities to perform a controller role for other devices. For example, self-propelled device 300 can be held in a user's hand and used to sense gestures, movements, rotations, combination inputs and the like.
Operation and Communication Links
As described herein, the self-propelled device 414 can have multiple modes of operation, including those of operation in which the device is controlled by the computing device 408, is a controller for another device (e.g., another self-propelled device or the computing device 408), and/or is partially or wholly self-autonomous.
Additionally, the self-propelled device 414 and the computing device 408 may share a computing platform on which programming logic is shared in order to enable, among other features, functionality that includes: (i) enabling the user 402 to operate the computing device 408 to generate multiple types of inputs, including simple directional input, command input, gesture input, motion or other sensory input, voice input or combinations thereof; (ii) enabling the self-propelled device 414 to interpret inputs received from the computing device 408 as a command or set of commands; and/or (iii) enabling the self-propelled device 414 to communicate data regarding that device's position, movement and/or state in order to effect a state on the computing device 408 (e.g., display state, such as content corresponding to a controller-user interface). Additionally or as an alternative, the self-propelled device 414 can further include a programmatic interface that facilitates additional programming logic and/or instructions to use the device. The computing device 408 can further execute programming that is communicative with the programming logic on the self-propelled device 414.
Additionally, the self-propelled device 414 can include an actuator or drive mechanism causing motion or directional movement. The self-propelled device 414 can be referred to by a number of related terms and phrases, including controlled device, robot, robotic device, remote device, autonomous device, and remote-controlled device. Furthermore, the self-propelled device 414 can be structured to move and be controlled in various media. For example, the self-propelled device 414 can be configured for movement in media such as on flat surfaces, sandy surfaces rocky surfaces, etc.
The self-propelled device 414 can be implemented in various forms. As described above with respect to
Continuing to refer to
The computing device 408 can correspond to any device comprising at least a processor and communication capability suitable for establishing at least unidirectional communications with the self-propelled device 414. Examples of such devices include, without limitation: mobile computing devices (e.g., multifunctional messaging/voice communication devices such as smart phones), tablet computers, portable communication devices and personal computers. Thus, the computing device 408 may be an IPHONE available from APPLE COMPUTER, INC. of Cupertino, Calif. Alternatively, the computing device 408 may be an IPAD tablet computer, also from APPLE COMPUTER. Alternatively, the computing device 408 may be any of a variety of handheld computing devices and communication appliances executing an ANDROID operating system from GOOGLE, INC. of Mountain View, Calif.
Alternatively, the computing device 408 may be a personal computer, in either a laptop or desktop configuration. For example, the computing device 408 may be a multi-purpose computing platform running a MICROSOFT WINDOWS operating system, or a LINUX operating system, or an APPLE operating system, configured with an appropriate application program to communicate with the self-propelled device 414. However, in variations, the computing device 408 can be a specialized device, dedicated for enabling the user 402 to control and interact with the self-propelled device 414.
Additionally or as an alternative, multiple types of computing devices can be used interchangeably to communicate with the self-propelled device 414. Thus, the self-propelled device 414 may be capable of communicating and/or being controlled by multiple devices (concurrently or one at a time). For example, the self-propelled device 414 can link with an IPHONE in one session and with an ANDROID device in a later session, without modification of the self-propelled device 414.
Accordingly, the user 402 can interact with the self-propelled device 414 via the computing device 408 in order to control the self-propelled device 414 and/or to receive feedback or interaction on the computing device 408 from the self-propelled device 414. Furthermore, the user 402 may be enabled to specify input 404 through various mechanisms that are provided with the computing device 408. Examples of such inputs include text entry, voice command, touching a sensing surface or screen of the computing device 408, physical manipulations, gestures, taps, shaking and combinations of the above. Additionally or alternatively, the input 404 is made via an application specific to controlling the self-propelled device 414. Such an application can provide a graphical interface that allows for powering and steering the self-propelled device 414.
Further still, the user 402 can interact with the computing device 408 in order to receive feedback 406. The feedback 406 can be generated on the computing device 408 in response to the user input 404. As an addition or alternative, the feedback 406 can also be based on data communicated from the self-propelled device 414 to the computing device 408, regarding, for example, the self-propelled device's 414 position or state. Without limitation, examples of feedback 406 include text display, graphical display, sound, music, tonal patterns, modulation of color and/or intensity of light, haptic, vibrational, and/or tactile stimulation. The feedback 406 can be combined or otherwise synchronized with input that is generated on the computing device 408. For example, the computing device 408 may output content that is modified to reflect position or state information communicated from the self-propelled device 414.
In some embodiments, the computing device 408 and/or the self-propelled device 414 can be configured such that the user input 404 and the feedback 406 can maximize usability and accessibility for the user 402, who may have limited sensing, thinking, perception, motor skills, or other limited abilities. This can allow users with handicaps or special needs to operate within the system 400 as described.
Example configurations described and illustrated in
Further, the first and second computing devices 420, 428 can optionally control more than one self-propelled device. Further still, each self-propelled device 424, 432, 436, 438 can be controlled by more than one computing device 420, 428. For example, the second computing device 428 can establish multiple communications links, including with the self-propelled devices 432 and 436, and the first computing device 420.
In variations, the first and second computing devices 420, 428 can also communicate with one or more self-propelled devices using a network such as the Internet, or a local wireless network (e.g., a home network). For example, the second computing device 428 is shown to have a communications link 439, which can connect the seconding computing device 428 to an Internet server, a web site, or to another computing device at a remote location. As such, the second computing device 428 can serve as an intermediary between the network source and one or more self-propelled devices. For example, the second computing device 428 can access programming from the Internet and communicate that programming to one of the self-propelled devices.
As an alternative or variation, the computing device 428 can enable a network user to control the second computing device 428 in controlling one or more of the self-propelled devices 432, 436, etc. Still further, the computing device 428 can access the network source in order to receive programmatically triggered commands, such as a command initiated from a network service that causes one or more of the self-propelled devices to update or synchronize using the computing device 428. For example, the self-propelled device 432 can include image capturing resources, and a network source can trigger the computing device 428 to access the images from the self-propelled device, and/or to communicate those images to the network source over the Internet.
In variations, such remote network functionality can alternatively be communicated directly from a network source to the self-propelled devices 424, 432, 436. Thus, the first and second computing devices 420, 428 may be optional. Alternatively, the first and second computing devices 420, 428 may be separated from the self-propelled devices 424, 432, 436 by a network such as the Internet. Thus, the computing devices 420, 428 can alternatively be the network sources that remotely control and/or communicate with the self-propelled devices.
Data communication links depicted in
For example, the communication links 422, 426, 430 and 434 may be based on the BLUETOOTH wireless communication standard. BLUETOOTH is widely available and provides a flexible communication platform for establishing data networks using short-wavelength radio transceivers and data encoding. Furthermore, BLUETOOTH incorporates security features to protect the data sent on the links from unauthorized observers or interference. Alternative wireless communication medium may also be employed, such as wireless USB, Wi-Fi, or proprietary wireless communications. Furthermore, one or more of the communication links 422, 426, 430 and 434 may utilize short-range radiofrequency (RF) communication, and/or line-of-sight communications.
Additionally or alternatively, the communication links may be based on other wireless communication systems, such as Wi-Fi, IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 802.11ad, and/or 802.11ah standards. However, other radio frequency data links may be created using other cellular telephone service or serial communication protocols using radio modems. Alternatively, optical communication links may be employed, including modulating properties of light and LASER beams. Further, any suitable communication technology can be used to form the network links, whether presently known or available in the future. As such, the features described herein are not dependent on any particular networking technology or standard.
Further still, the communication established amongst the devices, such as amongst the computing devices 420, 428 and/or the self-propelled devices 424, 432, 436, can be temporary, flexible, and/or reconfigurable. A resulting network of such devices can be considered an “ad-hoc” network, or alternatively a “piconet” or “personal area network.” In this respect, some implementations provide that the computing device's 420, 428 and the self-propelled devices 424, 432, 436 can be considered nodes of the network, such as an ad-hoc network. In such configurations, network components, topology and communications paths are flexible and can be readily adjusted to accommodate addition or removal of devices, changing communication requirements or channel interference. For example, the self-propelled device 438 in
In examples shown by
The system 468 can include various configurations. For example, a user can operate the computing device 440 to control the primary self-propelled device 444. Movement of the primary self-propelled device 444 can be communicated both to the computing device 440 and to one or more of the other self-propelled devices 450, 454. Each of the self-propelled devices can be preprogrammed to react in a specific manner based on state or position information communicated from another one of the self-propelled devices. For example, the self-propelled devices 450, 454 can each be operated in a repel mode, so that the movement of the primary self-propelled device 444 (as controlled from the computing device 440) results in a repel motion by the other self-propelled device 450. In other variations, the self-propelled devices 444, 450, 454 may be preprogrammed to maintain a specific distance apart from one another, so that movement by one device automatically causes movement by the other two devices. Still further, the self-propelled devices 444, 450, 454 may be configured so as to perform a variety of activities, such as, for example, (i) one self-propelled device automatically moving when another approaches a threshold distance; (ii) one self-propelled device programmatically moving to bump another self-propelled device; (iii) the self-propelled devices automatically moving in tandem based on input received by each of the self-propelled devices from the other self-propelled devices or from the computing device 440, and/or variations thereof.
The various systems 400, 418, 468 are for illustrative purposes. With any of the systems described, variations include the addition of more or fewer computing devices, and/or more or fewer self-propelled devices. As described with some variations, additional sources or nodes can be provided from a remote network source. Additionally, in some operational environments, the presence of the computing device is optional. For example, the self-propelled devices can be partially or completely autonomous, using programming logic to function.
The cylindrical self-propelled device 500 can move linearly forward by essentially displacing the at rest center of mass 506 (first point) to the “actual” center of mass 514 (second point) by pitching the entire drive system 518 and/or the other interior components of the self-propelled device 500 forward and upward relative to center of rotation 502 by action of the motors 508. For example, the motors 508 can actuate in conjunction to pitch the drive system 518 forward and upward such that the center of mass is displaced from the first point 506 to the second point 514. Such displacement of the center of mass causes the self-propelled device 500 to roll forward in the direction of movement 516. For practical purposes, the angle of pitch can be any angle between 0-90 degrees, although angles higher than 90 degrees may result from rapid acceleration of the self-propelled device 500.
Actuation of the motors 508 allowing for rotational pitch of the drive system 518 may be achieved in any number of ways. For example, a mass of the wheels, tires 510, and hub covers collectively may be greater than a mass of the body and interior components of the self-propelled device 500. This causes rotation of the body and interior components initially, which in turn causes the center of mass to be displaced, allowing the self-propelled device 500 to “fall” towards the displaced center of mass. A weight ratio between the wheels and the interior components may be substantially equivalent, between 1:1 and 2:1. However, any suitable weight ratio between the wheels and interior components can be utilized to drive the self-propelled device 500 in the above manner.
Referring still to
Similarly,
Conclusion
It is contemplated for embodiments described herein to extend to individual elements and concepts described herein, independently of other concepts, ideas or system, as well as for embodiments to include combinations of elements recited anywhere in this application. Although embodiments are described in detail herein with reference to the accompanying drawings, it is to be understood that this disclosure is not limited to those precise embodiments. As such, many modifications and variations will be apparent to practitioners skilled in this art. Accordingly, it is intended that the scope of this disclosure be defined by the following claims and their equivalents. Furthermore, it is contemplated that a particular feature described either individually or as part of an embodiment can be combined with other individually described features, or parts of other embodiments, even if the other features and embodiments make no mentioned of the particular feature. Thus, the absence of describing combinations should not preclude the inventor from claiming rights to such combinations.
One or more embodiments described herein provide that methods, techniques and actions performed by a computing device are performed programmatically, or as a computer-implemented method. Programmatically means through the use of code, or computer-executable instructions. A programmatically performed step may or may not be automatic.
One or more embodiments described herein may be implemented using programmatic modules or components. A programmatic module or component may include a program, a subroutine, a portion of a program, or a software component or a hardware component capable of performing one or more stated tasks or functions. As used herein, a module or component can exist on a hardware component independently of other modules or components. Alternatively, a module or component can be a shared element or process of other modules, programs or machines.
Furthermore, one or more embodiments described herein may be implemented through the use of instructions that are executable by one or more processors. These instructions may be carried on a computer-readable medium. Machines shown or described with FIGs below provide examples of processing resources and computer-readable mediums on which instructions for implementing embodiments can be carried and/or executed. In particular, the numerous machines shown with embodiments include processor(s) and various forms of memory for holding data and instructions. Examples of computer-readable mediums include permanent memory storage devices, such as hard drives on personal computers or servers. Other examples of computer storage mediums include portable storage units (such as CD or DVD units), flash memory (such as carried on many cell phones and tablets)), and magnetic memory. Computers, terminals, network enabled devices (e.g., mobile devices such as cell phones) are all examples of machines and devices that utilize processors, memory and instructions stored on computer-readable mediums. Additionally, embodiments may be implemented in the form of computer-programs, or a computer usable carrier medium capable of carrying such a program.
Although illustrative embodiments have been described in detail herein with reference to the accompanying drawings, variations to specific embodiments and details are encompassed by this disclosure. It is intended that the scope of the invention is defined by the following claims and their equivalents. Furthermore, it is contemplated that a particular feature described, either individually or as part of an embodiment, can be combined with other individually described features, or parts of other embodiments. Thus, absence of describing combinations should not preclude the inventor(s) from claiming rights to such combinations.
While certain embodiments have been described above, it will be understood that the embodiments described are by way of example only. Accordingly, this disclosure should not be limited based on the described embodiments. Rather, the scope of the disclosure should only be limited in light of the claims that follow when taken in conjunction with the above description and accompanying drawings.
Number | Date | Country | |
---|---|---|---|
Parent | 14137954 | Dec 2013 | US |
Child | 15822676 | US |