U.S. patent application number 16/041855 was filed with the patent office on 2019-01-03 for mobile object avoiding mobile platform.
This patent application is currently assigned to Petronics Inc.. The applicant listed for this patent is Petronics Inc.. Invention is credited to David Cohen, Michael Friedman, David Jun.
Application Number | 20190000041 16/041855 |
Document ID | / |
Family ID | 59274668 |
Filed Date | 2019-01-03 |
View All Diagrams
United States Patent
Application |
20190000041 |
Kind Code |
A1 |
Cohen; David ; et
al. |
January 3, 2019 |
Mobile Object Avoiding Mobile Platform
Abstract
A mobile device comprises a platform, a motion drive, and a
spatial profiling device. The motion drive is configured to propel
the platform according to navigation instructions. The spatial
profiling device is configured to capture a spatial profile of a
motion area. A spatial profile is received from the spatial
profiling device. A mobile object is located employing the spatial
profile. A movement is planned for the mobile device between a
first location and a second location in the motion area. The
movement is configured to avoid the mobile object. The movement is
communicated as navigation instructions to the motion drive.
Inventors: |
Cohen; David; (Champaign,
IL) ; Friedman; Michael; (Champaign, IL) ;
Jun; David; (Urbana, IL) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Petronics Inc. |
Champaign |
IL |
US |
|
|
Assignee: |
Petronics Inc.
Champaign
IL
|
Family ID: |
59274668 |
Appl. No.: |
16/041855 |
Filed: |
July 23, 2018 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15405666 |
Jan 13, 2017 |
10051839 |
|
|
16041855 |
|
|
|
|
62278233 |
Jan 13, 2016 |
|
|
|
62357974 |
Jul 2, 2016 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G05D 1/0282 20130101;
A01K 15/021 20130101; A01K 15/027 20130101; G01C 21/206 20130101;
H04M 1/72544 20130101; G05D 1/0016 20130101; G05D 2201/0214
20130101 |
International
Class: |
A01K 15/02 20060101
A01K015/02; H04M 1/725 20060101 H04M001/725; G05D 1/00 20060101
G05D001/00; G01C 21/20 20060101 G01C021/20; G05D 1/02 20060101
G05D001/02 |
Claims
1. A mobile device, comprising: a platform; a motion drive
configured to propel the platform according to navigation
instructions; a spatial profiling device configured to capture a
spatial profile of a motion area; one or more processors; and
memory storing processing instructions that, when executed, cause
the mobile device to: receive a spatial profile from the spatial
profiling device; locate a mobile object employing the spatial
profile; locate the mobile device; plan a movement for the mobile
device between a first location and a second location in the motion
area, the movement configured to avoid the mobile object; and
communicate the movement as navigation instructions to the motion
drive.
2. The mobile device according to claim 1, further comprising an
inertial measurement device.
3. The mobile device according to claim 2, wherein the processing
instructions, when executed, further cause the mobile device to
determine, employing the inertial measurement device, the
orientation of mobile device.
4. The mobile device according to claim 1, wherein the motion drive
is configured to propel the platform in a flipped orientation.
5. The mobile device according to claim 1, further comprising a
tail.
6. The mobile device according to claim 1, further comprising a
stability nub.
7. The mobile device according to claim 1, wherein the spatial
profiling device is affixed on least one of the following: a
ceiling; a wall; or a countertop.
8. The mobile device according to claim 1, wherein the mobile
object is at least one of the following: an animal; a person; a
cat; or a second mobile device.
9. The mobile device according to claim 1, wherein the mobile
device further comprises a touch screen display and the processing
instructions, when executed, further cause the mobile device
manager to: show at least one spatial profile on the touch screen
display; and determine the second location via a selection on the
touch screen display.
10. The mobile device according to claim 1, wherein the processing
instructions, when executed, further cause the mobile device to
plan the movement employing an expected movement of the mobile
object.
11. The mobile device according to claim 1, wherein the processing
instructions, when executed, cause the mobile device to locate the
mobile device employing infrared light.
12. The mobile device according to claim 1, further comprising a
wheel encoder.
13. The mobile device according to claim 12, wherein the processing
instructions, when executed, cause the mobile device to locate the
mobile device employing the wheel encoder.
14. The mobile device according to claim 1, further comprising a
camera.
15. The mobile device according to claim 1, further comprising a
proximity sensor.
16. The mobile device according to claim 1, further comprising a
motion sensor.
17. The mobile device according to claim 1, further comprising at
least one of an emitter and a detector.
18. The mobile device according to claim 1, wherein the processing
instructions, when executed, further cause the mobile device to
detect a distance of at least one of the mobile device and the
mobile object from a known location in the spatial profile.
19. The mobile device according to claim 1, wherein the processing
instructions, when executed, cause the mobile device to locate the
mobile object employing motion detection and background
detection.
20. The mobile device according to claim 1, wherein the spatial
profiling device is disposed on the platform.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent
application Ser. No. 15/405,666, which claims the benefit of U.S.
Provisional Application No. 62/278,233, filed Jan. 13, 2016, and
U.S. Provisional Application No. 62/357,974, filed Jul. 2, 2016,
which are hereby incorporated by reference in their entirety.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] The accompanying figures are included to provide a further
understanding, and are incorporated in and constitute a part of
this specification. The drawings illustrate one or more
embodiments. As such, the disclosure will become more fully
understood from the following detailed description, taken in
conjunction with the accompanying figures, in which:
[0003] FIG. 1 is a system diagram of an animal exerciser system as
per an aspect of an embodiment of the present invention.
[0004] FIG. 2 is a system diagram of an animal exerciser system as
per an aspect of an embodiment of the present invention.
[0005] FIG. 3 is a system diagram of an animal exerciser system as
per an aspect of an embodiment of the present invention.
[0006] FIG. 4A is a system diagram of a mobile device as per an
aspect of an embodiment of the present invention.
[0007] FIG. 4B is a block diagram of a mobile device platform as
per an aspect of an embodiment of the present invention.
[0008] FIG. 5 is a system diagram of an obstacle system as per an
aspect of an embodiment of the present invention.
[0009] FIG. 6A is a system diagram of a screen display as per an
aspect of an embodiment of the present invention.
[0010] FIG. 6B is a system diagram of a screen display as per an
aspect of an embodiment of the present invention.
[0011] FIG. 7 is a flow diagram of an avoidance process as per an
aspect of an embodiment of the present invention.
[0012] FIG. 8 is a block diagram of a system interaction as per an
aspect of an embodiment of the present invention.
[0013] FIG. 9 is a flow diagram of an avoidance process as per an
aspect of an embodiment of the present invention.
[0014] FIG. 10 is a flow diagram of a calibration process as per an
aspect of an embodiment of the present invention.
[0015] FIG. 11 is a flow diagram of a calibration process as per an
aspect of an embodiment of the present invention.
[0016] FIG. 12 is a flow diagram of an obstacle detection process
as per an aspect of an embodiment of the present invention.
[0017] FIG. 13 is a flow diagram of a mobile object detection
process as per an aspect of an embodiment of the present
invention.
[0018] FIG. 14 is a flow diagram of an escape process as per an
aspect of an embodiment of the present invention.
[0019] FIG. 15 is a block diagram of a computer system as per an
aspect of an embodiment of the present invention.
DETAILED DESCRIPTION OF EMBODIMENTS
[0020] Embodiments may be employed to exercise and/or entertain an
animal such as a cat and/or a dog.
[0021] Embodiments comprise a system that may comprise a mobile
device, a spatial profiling device, and a mobile device manager.
The mobile device may comprise a platform, a first communications
circuit that receives navigation instructions, and a motion drive
configured to propel the platform according to the navigation
instructions. The spatial profiling device may capture a spatial
profile of a motion area. The mobile device manager may comprise at
least one second communications circuit that communicates with the
first communications circuit and the spatial profiling device,
processor(s), and memory storing processing instructions. The
instructions, when executed, may cause the mobile device manager to
receive spatial profiles, locate the mobile object, locate the
mobile device, plan a movement for the mobile device which avoids
the mobile object, and communicate the movement to the mobile
device as navigation instructions.
[0022] Embodiments may comprise a process that may comprise
receiving a spatial profile from a spatial profiling device,
locating a mobile object employing the spatial profiles, locating a
mobile device, planning a movement for the mobile device between a
first location and a second location, and communicating the
movement to the mobile device as navigation instructions employing
a communications circuit. The movement may be configured to avoid
the mobile object.
[0023] Embodiments may comprise a non-transitory tangible computer
readable medium containing instructions configured to cause one or
more processors to execute a process comprising: receiving spatial
profiles from a spatial profiling device, locating a mobile object
employing the spatial profiles, locating a mobile device, planning
a movement for the mobile device between a first location and a
second location, and communicating the movement to the mobile
device as navigation instructions employing a communications
circuit. The movement may be configured to avoid the mobile
object.
[0024] This disclosure will now be described more fully with
reference to the accompanying drawings, in which embodiments of
this document are shown. This document should be read to include
embodiments of many different forms and should not be construed as
being limited to the embodiments set forth herein; rather, these
embodiments are provided so that this disclosure will be thorough
and complete, and will fully convey the concepts contained within
this document to those skilled in the art.
[0025] Referring to FIG. 1, an animal exerciser system 100 is
shown. According to an embodiment, the system 100 may comprise a
mobile device 140, a spatial profiling device 120, and a mobile
device manager 110. According to an embodiment, at least the mobile
device 140 and a mobile object 150 may be disposed within a motion
area 130.
[0026] The mobile device 140 may further comprise a platform 142, a
motion drive 144, and a communications circuit 146. In an
embodiment, the motion drive 144 and communications circuit 146 may
be disposed on the platform 142.
[0027] Motion drive 144 may be configured to receive navigation
instructions and to propel platform 142 according to the navigation
instructions. To accomplish this movement, motion drive 144 may
comprise a battery to supply electricity, DC or AC motors, and
control mechanisms such as, for example, an H bridge. Motion drive
144 may propel the platform using mechanisms such as wheels,
flopping wheels, tracks, plungers, legs, magnets, compressed air, a
combination thereof, and/or the like.
[0028] The at least one communications circuit 146 may be
configured to communicate with communications circuit 112 disposed
on the mobile device manager 110 via navigation instructions 148.
This communication may occur via a wired interface, a wireless
interface, a combination thereof, and/or the like. The
communication may utilize wireless communication protocols such as
Bluetooth.RTM., LTE, Wi-Fi, radio waves, a combination thereof,
and/or the like. The communications circuit 146 may send and/or
receive navigation instructions 148. According to the navigation
instructions 148, the motion drive 144 may be configured to propel
the platform 142 to move mobile device 140.
[0029] The spatial profiling device 120 may comprise one or more
sensors configured to collect spatial information in and/or around
the motion area 130. Examples of sensors comprise cameras,
proximity sensors, motion sensors, a combination thereof, and/or
the like. The spatial profiling device 120 may comprise a webcam,
infrared projector, 3D scanner systems, such as, for example, a
Microsoft Kinect.TM., a combination thereof, and/or the like. The
spatial profiling device 120 may operate using pairs of emitters
and detectors to detect objects. The spatial profiling device may
capture spatial profiles 125 of the motion area 130. Spatial
profiles 125 may comprise images captured by sensors, such as a
camera, or composites of the motion area 130 created using
proximity sensors, motion sensors, a combination thereof, and/or
the like. The spatial profiles 125 may be updatable and represent a
depiction of the motion area 130.
[0030] The mobile device manager 110 may comprise at least one
communications circuit 112, one or more processors 114, and memory
116. The at least one communications circuit 112 may be configured
to receive spatial profiles 125 from the spatial profiling device
120. The at least one communications circuit 112 may be configured
to communicate with communications circuit 146 disposed on the
mobile device 140 via navigation instructions 148. According to an
embodiment, the communications circuit 146 may direct the movement
of mobile device 140 employing the navigation instructions 148.
Processors 114 may comprise a microprocessor produced by
microprocessor manufacturers such as Advanced Micro Devices, Inc.
(AMD) of Sunnyvale, Calif., Atmel Corporation of San Jose, Calif.,
Intel Corporation of Santa Clara, Calif., or Texas Instruments Inc.
of Dallas, Tex. Processors 114 may comprise and/or be other
logic-based controllers such as FPGAs or PLCs. Memory 116 may
comprise nonvolatile memory configured to store processing
instructions. Examples of memory 116 comprise ROM, EEPROM, Flash, a
combination thereof, and/or the like. Memory 116 may comprise
volatile memory such as, for example, RAM.
[0031] Contained within memory 116 may be instructions 117 that,
when executed, may cause the mobile device manager 110 to receive
spatial profiles 125 from the spatial profiling device and locate
mobile object 150 employing the spatial profiles 125. Mobile device
manager 110 may locate mobile device 140. Mobile device manager 110
may plan a movement for mobile device 140 between a first location
and a second location in motion area 130. The movement may be
configured to avoid mobile object 150. The movement may be
communicated to mobile device 140 as navigation instructions 148 by
employing communications circuit 112. The processing instructions
117 may cause the mobile device manager 110 to plan the movement
employing an expected movement of mobile object 150. The mobile
device 140 may be located using infrared light. The mobile device
140 may be located employing a wheel encoder. Mobile device manager
110 may distinguish colors in received spatial profiles 125. Mobile
device manager 110 may detect a distance of at least one of the
mobile device 140 and the mobile object 150 from a known location
in the received spatial profiles 125. The mobile object 150 may be
located employing motion detection and background detection
techniques.
[0032] According to an embodiment, mobile device manager 110 may
comprise a touch screen display 118. According to an embodiment,
the mobile device manager 110 may comprise a device containing a
touch screen display such as, for example, a mobile phone, tablet,
desktop, a laptop computer, a combination thereof, and/or the like.
In embodiments utilizing touch screen display 118, memory 116 may
contain instructions that, when executed, cause the mobile device
manager 110 to show at least one of the spatial profiles on touch
screen display 118. The mobile device manager 110 may also
determine a second location via a selection on touch screen display
118.
[0033] The mobile object 150 may be an animal such as a cat, a dog,
a human, and/or the like. The mobile object 150 may comprise a
second mobile device. The second mobile device may be similar to
mobile device 140. Essentially, mobile object 150 may be an item
that has the capacity to move.
[0034] The motion area 130 may comprise a region of space in which
the mobile device 140 and/or the mobile object 150 may operate. The
mobile device 140 and/or the mobile object 150 may move in motion
area 130. Further, spatial profiling device 120 may be configured
to capture portions of motion area 130 and/or the entirety of
motion area 130. According to an embodiment, motion area 130 may be
a space within a home dwelling, a room, and/or the like.
[0035] Referring to FIG. 2, an animal exerciser system 200 is
shown. According to an embodiment, system 200 may comprise a mobile
device 240 and an obstacle 260. A spatial profiling device 220,
that may be configured to capture a two or three dimensional
spatial profile, may be positioned relative to and/or on the
obstacle 260. System 200 may operate within motion area 230 and
interact with mobile object 250. Mobile object 250 may comprise, as
illustrated in this example, a cat.
[0036] In system 200, mobile device 240 may move to avoid mobile
object 250 by positioning itself (mobile device 240) such that
obstacle 260 is between mobile device 240 and mobile object 250. To
accomplish this objective, obstacle 260, which may comprise
processing features, may utilize a spatial profile of motion area
230. The spatial profile may be created employing spatial profiling
device 220. According to an embodiment, obstacle 260 may comprise a
preexisting piece of furniture either in a dwelling and/or
outdoors. The processing may be performed in an attachment to the
preexisting obstacle 260. According to an embodiment, spatial
profiling device 220 may comprise a camera and the spatial profiles
captured may comprise images. To capture motion area 230, the
spatial profiling device 220 may utilize a wide-angle lens. In
terms of positioning, spatial profiling device 220 may be
positioned vertically above obstacle 260 so that spatial profiling
device 220 may identify obstacle 260 within motion area 230.
According to an embodiment, spatial profiling device 220 may be
affixed on an arm that is attached to obstacle 260 at a height that
allows spatial profiling device 220 to obtain a spatial profile of
motion area 230. According to an embodiment, spatial profiling
device 220 may identify mobile device 240 and mobile object 250
using spatial profiling assist equipment. For example, mobile
device 240 may emit a beacon using a light emitting diode that may
be in the visible and/or infrared spectrum that spatial profiling
device 220 is configured to detect. In terms of tracking mobile
object 250, the spatial profiling device 220 may utilize motion
detection techniques. Thus, as mobile object 250 moves around
obstacle 260, mobile device 240 may move to a position such that
obstacle 260 is positioned between mobile device 240 and mobile
object 250.
[0037] Referring to FIG. 3, an animal exerciser system 300 is
shown. In an embodiment, system 300 may comprise a mobile device
340, an obstacle 360, and a spatial profiling device 320. System
300 may operate within motion area 330 and interact with a mobile
object 350. Mobile object 350 may be an animal such as the
illustrated cat.
[0038] In contrast to system 200 depicted in FIG. 2, system 300 may
utilize a spatial profiling device 320 that is detached from
obstacle 360. According to an embodiment, spatial profiling device
320 may be attached to, for example, the ceiling of a room in order
to capture motion area 330. Spatial profiling device 320 may
comprise one or more sensors such as cameras, proximity sensors,
motion sensors, a combination thereof, and/or the like. Motion area
330 may be a two and/or three dimensional space. Spatial profiling
device 320 may also reside in alternative locations, such as, for
example, on a tabletop, a counter, a shelf, other existing
furniture within a room, a combination thereof, and/or the like.
Further, for outdoor applications, spatial profiling device 320 may
be mounted outside of a building, such as on the exterior of a
building and/or home.
[0039] Referring to FIG. 4A, mobile device 440 is shown. According
to an embodiment, mobile device 440 may comprise a mobile device
platform 442, wheels 420A and 420B coupled to wheel encoders, a
stability nub 430, and a tail 460. Mobile device platform 442 may
be a surface upon which circuitry may be disposed. For example,
platform 442 may be an insulated sheet and/or a type of circuit
board. Mobile device platform 442 may be disposed with a plastic
casing while wheels 420A and 420B may reside on the sides of the
casing. The wheel encoders coupled to wheels 420A and 420B may
provide information to the mobile device 440 circuitry and may be
utilized, at least in part, to determine distance, speed,
acceleration, combination thereof, and/or the like. Stability nub
430 may be positioned to balance the movement of mobile device 440.
According to an embodiment, stability nub 430 may be a wheel.
According to an embodiment, stability nub 430 may be a spherically
shaped plastic. In terms of operation, platform 442 and wheels 420A
and 420B may be placed in a manner configured to allow mobile
device 440 to remain mobile even when in a flipped orientation.
That is, the motion drive 444 may be configured to keep mobile
device 440 functional and to propel platform 442 even when platform
442 is in a flipped orientation. According to an embodiment, tail
460 may comprise an attachment to entice the attention of a mobile
object, such as a cat. Tail 460 may be a string but may also
comprise various colors, noise makers such as a bell, other
attention generating items, a combination thereof, and/or the
like.
[0040] FIG. 4B is a block diagram of mobile device platform 442.
According to an embodiment, platform 442 may comprise a
communications circuit 446 and/or a motion drive 444.
Communications circuit 446 may comprise circuitry configured to
interface with other components contained on mobile device platform
442. Communication circuit 446 may be configured to communicate
with systems external to the mobile device. For example,
communications circuit 446 may send data concerning mobile device
440 such as distance measurements, speed measurements, inertial
measurements, a combination thereof, and/or the like. Further,
communications circuit 446 may be configured to receive
instructions from an external system that may direct the movement
of mobile device 440.
[0041] Motion drive 444 may be configured to receive navigation
instructions and to move wheels 420A and 420B according to those
instructions. To accomplish this movement, motion drive 444 may
comprise a battery to supply electricity, DC or AC motors, and/or
control mechanisms such as an H bridge. Motion drive 444 may also
operate without employing wheels 420A and 420B and still propel
platform 442 using such mechanisms such as tracks, plungers, legs,
magnets, compressed air, a combination thereof, and/or the
like.
[0042] Platform 442 may house a beacon 422. Beacon 422 may emit an
electromagnetic signal. An electromagnetic signal may comprise a
modulated wave or synchronized oscillations of electric and
magnetic fields. Examples of electromagnetic signals comprise a
signal in the ultraviolet, visible light, infrared, radio wave
spectrum, a combination thereof, and/or the like. The signal
emitted by beacon 422 may allow an external imaging device to
detect mobile device 440.
[0043] Platform 442 may house an inertial measurement device 424.
The inertial measurement device 424 may comprise, for example, a
device configured to measure changes in acceleration, magnitude,
and/or direction. Examples comprise an accelerometer and/or
gyroscope configured to measure changes in acceleration of the
mobile device 440. This information may be employed to determine
the orientation of mobile device 440, collisions, unlevel terrain,
other types of interactions that mobile device 440 may have with
the environment, a combination thereof, and/or the like.
[0044] Platform 442 may operate without reference to an external
system and house a spatial profiling device 420 along with a mobile
device manager 410. This autonomous embodiment may utilize spatial
profiling device 420 to generate spatial profile(s) of the
environment in which mobile device 440 operates. Spatial profiling
device 420 may comprise a camera mounted such that the lens
captures visual information above mobile device 440. Spatial
profiles may be created employing the images captured by the lens.
Spatial profiling device 420 may comprise a light emitter and
detector pair to generate a spatial profile. In this embodiment, a
light emitter such as a light emitting diode may produce
electromagnetic waves such as infrared light, ultraviolet light,
visible light, a combination thereof, and/or the like. The detector
may be, for example, a light emitting diode, a photodiode, a
phototransistor, a combination thereof, and/or the like. The
detector may be configured to capture reflections of the emitted
light, and using the reflections, create a spatial profile of the
environment surrounding mobile device 440. That is, the spatial
profiles may map the locations of objects as well as predict the
location of obstacles. According to an embodiment, spatial
profiling device 420 may comprise several emitter/detector
pairs.
[0045] Utilizing the spatial profiles, mobile device manager 410
may direct the movement of mobile device 440 to avoid obstacles as
well as other mobile objects that may obstruct the movement of
mobile device 440. Mobile device manager 410 may utilize
communications circuit 446 to control motion drive 444 to execute
these maneuvers. Mobile device manager 410, however, may also
utilize instructions received by the communications circuit with or
without information from the spatial profiling device 420 in order
to direct the movement of mobile device 440. Mobile device 440 may
operate without the need for any external navigation instructions
but may still have the capability to receive and utilize commands
or instructions sent from an external system.
[0046] Referring to FIG. 5, an obstacle system 500 is shown. In an
embodiment, obstacle system 500 may comprise a base obstacle 560, a
spatial profiling device 520, a mobile device manager 510, and one
or more tunnels 570. Base obstacle 560 may comprise preexisting
furniture within a home and/or outdoors, but may also be a
specially designed structure. In an embodiment, spatial profiling
device 520 may attach to base obstacle 560 by, for example, an arm
that supports the spatial profiling device 520. Spatial profiling
device 520 may communicate with mobile device manager 510.
Utilizing captured spatial profiles, mobile device manager 510 may
detect the locations of mobile objects and/or mobile devices and
plot navigation procedures for mobile devices. Further, mobile
device manager 510 may be configured to communicate with mobile
devices, transmitting and/or receiving information such as
navigation instructions, spatial profile information generated by
the mobile device, mobile device location information, mobile
object location information, a combination thereof, and/or the
like.
[0047] Obstacle system 500 may comprise one or more tunnels 570
that may be utilized by a mobile device. According to an
embodiment, tunnels 570 may take various shapes and may be large
enough to house the mobile device. Tunnels 570 may also pass
completely through or only partially through base obstacle 560.
[0048] Referring to FIG. 6A, a screen display 600 is shown. Screen
display 600 may appear on a desktop or laptop computer. Screen
display 600 may appear on a device with a touch screen interface
such as a mobile phone, a tablet, and/or the like. Screen display
600 may display an image generated from a camera. Screen display
600 may display an image that is being captured in real-time. In an
embodiment, screen display 600 may display a mobile device 640, an
obstacle 660, a starting location 680, and a final location
690.
[0049] Mobile device 640 may be a remotely controlled device. A
user may direct the movement of mobile device 640 based on the
visual information provided to the user on screen display 600. The
user may provide an input and specify a final location 690 for the
mobile device 640 to move. User input may come from a selection
using computer periphery such as a mouse click and/or a tap on a
touch screen display. A user could potentially shift the area
displayed on the screen, allowing the user to make a final location
690 selection beyond the initial frame shown. FIG. 6A illustrates a
user selection of a final location 690 on the opposite side of
obstacle 660 relative to the starting location 680 of the mobile
device 640.
[0050] FIG. 6B shows screen display 600 after the mobile device 640
has moved from starting location 680 to final location 690. To
complete this movement, mobile device 640 may follow path 685. In
an embodiment, path 685 may be curved and may curve around obstacle
660 so that mobile device 640 may arrive at final location 690
without colliding with obstacle 660. Proximity sensors on mobile
device 640 may be employed to avoid collision.
[0051] Image recognition, employing the imaging device used to
generate the image displayed on screen display 600, may be employed
to plan a movement based on visually recognizing obstacle 660.
Computation to plan and execute the mobile device 640 movement may
occur on a mobile device manager that may be disposed on the user
input device, the mobile device 640, or within obstacle 660.
[0052] FIG. 7 is a flow diagram of an avoidance method 700.
According to an embodiment, spatial profiles may be received from a
spatial profiling device at 710. At 720, the received spatial
profiles may be employed in locating a mobile object. At 730, a
mobile device may be located. At 740, a movement for the mobile
device may be planned. The movement may be configured to avoid the
mobile object. According to an embodiment, the avoidance may
comprise identifying a hiding location that may be outside of the
view of the mobile object. In another embodiment, the movement may
be planned such that an obstacle may be positioned between the
mobile device and the mobile object. At 750, the planned movement
may be communicated to the mobile device.
[0053] FIG. 8 is a block diagram of system interaction 800.
According to an embodiment, information may flow into and out of
mobile device manager 810. For example, spatial profiles (e.g.,
820A and/or 820B) may flow from spatial profiling device (e.g.,
850A and/or 850B) into mobile device manager 810. Further, mobile
device manager 810 may receive information concerning the mobile
device location 830 from mobile device 860. In terms of transmitted
information, mobile device manager 810 may send navigation
instructions 840 to mobile device 860.
[0054] A spatial profile (e.g., 820 and/or 820B), may be generated
employing a spatial profiling device (e.g., 850A and/or 850B).
Spatial profiling device 850B may reside on mobile device 860.
Spatial profiling device 850A may reside external to mobile device
manager 810 and mobile device 860. In either embodiment, spatial
profiling device (e.g., 850A and/or 850B) may utilize capture
signals (e.g., 870A and/or 870B) to interface with an external
object (e.g., 880A and/or 880B). Capture signals (e.g., 870A and/or
870B) may represent the capturing of an image when spatial
profiling device (e.g., 850A and/or 850B) is in view of a camera.
Capture signals (e.g., 870A and/or 870B) may employ
emitter/detector pairs which utilize emitted infrared, visible, or
ultraviolet light to detect proximity. Spatial profiling device
(e.g., 850A and/or 850B) may utilize a detector to measure the
amount of light reflected by external object (e.g., 880A and/or
880B) to formulate a spatial profile (e.g., 820A and/or 820B).
[0055] FIG. 9 is a flow diagram of avoidance method 900. According
to an embodiment, avoidance method 900 may calibrate a mobile
device at 910. At 920, a mobile object's initial location may be
identified. At 930, a check may be made to determine whether the
mobile device can move freely. If the mobile device cannot move
freely, an escape routine may be performed at 940. If the mobile
device can move freely, the location of a mobile object may be
detected at 950 and the mobile device may be positioned such that
an obstacle is between the mobile device and the mobile object at
960.
[0056] FIG. 10 is a flow diagram of calibration method 1000.
According to an embodiment, a "forward" command may be received at
a mobile device at 1010. At 1020, the "forward" command may be
utilized to move the mobile device. According to an embodiment, the
utilization of the "forward" command may cause the mobile device to
move in a straight line. At 1030, the distance traveled may be
determined employing the mobile device sensing hardware. This
determination may be accomplished, for example, employing counts
from a wheel encoder. At 1040, distance traveled may be determined
employing spatial profiling. This determination may be accomplished
employing a spatial profiling device such as a camera. The camera
may be onboard the mobile device and/or externally mounted in a
manner such that the mobile device is visible to the lens of the
camera. At 1050, two measured distances may be compared. According
to an embodiment, the comparison may result in a difference between
the measured distances. At 1060, the difference between the
measured distances may be employed to calibrate the navigation
instructions commanding the movement of the mobile device. In an
embodiment, calibration may adjust either the instructions used by
the spatial profiling device, the instructions used in formulating
a navigation instruction, or both.
[0057] FIG. 11 is a flow diagram of a calibration method 1100.
According to an embodiment, a "calibration" command may be received
at a mobile device at 1110. At 1120, the "calibration" command may
be utilized to move the mobile device in a predefined path. In an
embodiment, the predefined path may follow a circle, square, a
triangle, a combination thereof, and/or the like. At 1130, the
distance traveled may be determined employing the mobile device
hardware. This determination may be accomplished employing counts
from a wheel encoder. At 1140, the distance traveled may be
determined employing spatial profiling. This determination may be
accomplished employing a spatial profiling device such as, for
example, a camera which may be onboard the mobile device and/or
externally mounted in a manner such that the mobile device is
visible to the lens of the camera. By moving along a predefined
path, the measurement captured employing spatial profiling may
provide additional information, which may include information
concerning the positioning of the spatial profiling device. For
example, moving along a predefined shape may yield differing
results between spatial profiling devices that are pointed directly
toward the ground versus a spatial profiling device that is tilted.
At 1150, the two measured distances may be compared. According to
an embodiment, the comparison may result in a difference between
the measured distances. At 1160, the difference between the
measured distances may be employed to calibrate the instructions
used in commanding the movement of the mobile device. According to
an embodiment, the calibration may adjust either the instructions
employed by the spatial profiling device, the instructions employed
in formulating a navigation instruction, or both.
[0058] FIG. 12 is a flow diagram of an obstacle detection method
1200. According to an embodiment, a spatial profile of an
environment may be captured at 1210. At 1220, a first color may be
identified based on the captured spatial profile. At 1230, a second
color may be identified based on the captured spatial profile. At
1240, a mobile device may be employed to traverse the first color
and interact with the second color. According to an embodiment, the
interaction with the second color may occur by commanding the
mobile device to drive into the second color. In another
embodiment, a mobile device equipped with proximity sensors may
drive close to the edge of the area labeled as the second color.
The mobile device may interact with the second color employing an
emitter/detector pair of infrared light, visible light, ultraviolet
light, a combination thereof, and/or the like. At 1250, data may be
collected based on the mobile device's interaction with the second
color. In an embodiment where the mobile device is driven into the
second color, the data collected may be an inertial measurement
from accelerometers, gyroscopes, a combination thereof, and/or the
like. This data may reflect a collision with the area marked as a
second color. In the embodiment where the interaction occurs based
on an emitter/detector pair, the detector may or may not detect a
reflection. At 1260, the collected data may be employed to
determine whether the second color is traversable terrain. In an
embodiment where the mobile device is driven into the second color,
a sudden change in acceleration may reflect a collision with an
obstacle. In this case, the second color may be labeled as terrain
that may not be traversable. In an embodiment where the interaction
occurs based on an emitter/detector pair, a strong detected
reflection may indicate the presence of an obstacle that may not be
traversable while a lack of detected reflection may indicate that
an obstacle may not be present and the terrain may be traversable.
Both of these embodiments, along with others, may be employed to
detect obstacles.
[0059] FIG. 13 is a flow diagram of a mobile object detection
method 1300. According to an embodiment, a first spatial profile
may be captured at 1310. At 1320, a second spatial profile may be
captured. At 1330, a third spatial profile may be captured. At
1340, the difference between the second and third spatial profiles
may be calculated. Motion detection techniques may be employed
where, for example, spatial profiles are images. At 1350, the first
spatial profile may be compared with the third spatial profile to
adaptively identify the foreground. Step 1350 may be repeated in
order to adaptively identify the foreground to compare with the
background generated from the first spatial profile and other
continuously updated first spatial profiles. According to an
embodiment, mobile object detection method 1300 may be completed
employing computer vision techniques. Computer vision techniques
may comprise foreground detection techniques such as, for example,
background detection, temporal average filters, training times,
Gaussian adaptation, 3D data acquisition and reconstruction, a
combination thereof, and/or the like.
[0060] FIG. 14 is a flow diagram of an escape method 1400.
According to an embodiment, a mobile device may be temporarily
rendered immobile at 1410. A mobile device may be rendered
temporarily immobile by a force external to the mobile device such
as, for example, a cat grabbing or blocking the mobile device. At
1420, the mobile device may be commanded to struggle at a first
defined level to become mobile. At 1430, a check may be performed
to determine if the mobile device is able to move freely. If the
mobile device is able to move freely, escape method 1400 may end
1440. If the mobile device is unable to move freely, at 1450, the
mobile device may be commanded to struggle at a second defined
level. The first defined level may be greater than the second
define level. At 1460, the mobile device may be commanded to cease
movement. This movement pattern may simulate a "dying" effect seen
when a larger animal catches a smaller animal--for example, when a
cat catches a mouse. As the smaller animal is caught, the smaller
animal may lose life until the smaller animal ceases to move or
struggle. After recognizing this behavior, the larger animal may
lose interest in the smaller animal, allowing the smaller animal to
become mobile again. This behavior is reflected by checking to see
whether the mobile device is free again at 1430.
[0061] Referring to FIG. 15, an example system 1500 for
implementing some embodiments includes a computing device 1510.
Components of computer 1510 may include, but are not limited to, a
processing unit 1520, a system memory 1530, and a system bus 1521
that may couple various system components including the system
memory to the processing unit 1520.
[0062] Computing device 1510 may comprise a variety of computer
readable media. Computer readable media may be media that may be
accessed by computing device 1510 and may comprise volatile and/or
nonvolatile media, and/or removable and/or non-removable media. By
way of example, and not limitation, computer readable media may
comprise computer storage media and communication media. Computer
storage media may comprise volatile and/or nonvolatile, and/or
removable and/or non-removable media implemented in a method and/or
technology for storage of information such as computer readable
instructions, data structures, program modules or other data.
Computer storage media comprises, but is not limited to, random
access memory (RAM), read-only memory (ROM), electrically erasable
programmable read-only memory (EEPROM), flash memory or other
memory technology, compact disc read-only memory (CD-ROM), digital
versatile disks (DVD) or other optical disk storage, magnetic
cassettes, magnetic tape, magnetic disk storage or other magnetic
storage devices, or any other medium which can be used to store the
desired information and which can be accessed by computer 1510.
Communication media typically embodies computer readable
instructions, data structures, program modules or other data in a
modulated data signal such as a carrier wave or other transport
mechanism and includes any information delivery media. The term
"modulated data signal" means a signal that has one or more of its
characteristics set or changed in such a manner as to encode
information in the signal. By way of example, and not limitation,
communication media may comprise wired media such as a wired
network or direct-wired connection, and wireless media such as
acoustic, radio frequency (RF), infrared and other wireless media
configured to communicate modulated data signal(s). Combinations of
any of the above may also be included within the scope of computer
readable media.
[0063] The system memory 1530 may comprise computer storage media
in the form of volatile and/or nonvolatile memory such as ROM 1531
and RAM 1532. A basic input/output system (BIOS) and/or extensible
Firmware Interface (EFI) 1533 comprising basic routines that may
help to transfer information between elements within computer 1510,
such as during start-up, may be stored in ROM 1531. RAM 1532 may
comprise data and/or program modules that may be immediately
accessible to and/or presently being operated on by processing unit
1520. By way of example, and not limitation, FIG. 15 illustrates
operating system 1534, application programs 1535, other program
modules 1536, and/or program data 1537 that may be stored in RAM
1532.
[0064] Computing device 1510 may comprise other
removable/non-removable volatile/nonvolatile computer storage
media. By way of example, FIG. 15 illustrates a hard disk drive
1541 that may read from and/or write to non-removable, nonvolatile
magnetic media, a magnetic disk drive 1551 that may read from or
writes to a removable, nonvolatile magnetic disk 1552, a flash
drive reader 1557 that may read flash drive 1558, and an optical
disk drive 1555 that may read from or write to a removable,
nonvolatile optical disk 1556 such as a Compact Disc Read Only
Memory (CD ROM), Digital Versatile Disc (DVD), Blue-ray Disc.TM.
(BD) or other optical media. Other removable/non-removable,
volatile/nonvolatile computer storage media that may be employed in
the example operating environment include, but are not limited to,
magnetic tape cassettes, flash memory cards, digital versatile
disks, digital video tape, solid state RAM, solid state ROM, and
the like. The hard disk drive 1541 may be connected to the system
bus 1521 through a non-removable memory interface such as interface
1540, and magnetic disk drive 1551 and optical disk drive 1555 may
be connected to the system bus 1521 by a removable memory
interface, such as interface 1550.
[0065] The drives and their associated computer storage media
discussed above and illustrated in FIG. 15 may provide storage of
computer readable instructions, data structures, program modules
and other data for the computing device 1510. In FIG. 15, for
example, hard disk drive 1541 is illustrated as storing operating
system 1542, application programs 1543, program data 1545, and
other program modules 1544. Additionally, for example, non-volatile
memory may include instructions to, for example, discover and
configure IT device(s); the creation of device neutral user
interface command(s); combinations thereof, and/or the like.
[0066] A user may enter commands and information into computing
device 1510 through input devices such as a keyboard 1563, a
microphone 1565, a camera 1566, actuator 1567, and a pointing
device 1564, such as a mouse, trackball, touch pad, and/or a touch
screen interface. These and other input devices may be connected to
the processing unit 1520 through a input interface 1560 that may be
coupled to the system bus, but may be connected by other interface
and bus structures, such as a parallel port, game port or a
universal serial bus (USB).
[0067] Actuator 1567 may be connected to the system bus 1521 via
Input Interface 1560. A 3D sensor 1561 may be connected to the
system bus 1521 via Input 1560. Examples of 3D sensor(s) 1561
comprise an accelerometer, an inertial navigation unit, a 3D
digitizer, and/or the like. A modem 1562 may be connected to the
system bus 1521 via input interface 1560.
[0068] Encoder 1568 may be connected to system bus 1521 via input
interface 1560. Encoder 1568 may be coupled to wheels and/or
provide rotational data.
[0069] A monitor 1591 or other type of display device may be
connected to the system bus 1521 via an interface, such as a video
interface 1590. Other devices, such as, for example, speakers 1597
and motion drive 1596 may be connected to the system via output
interface 1595. Motion drive 1596 may comprise a battery to supply
electricity, DC or AC motors, and any necessary control mechanisms
such as, for example, an H bridge.
[0070] Computing device 1510 may be operated in a networked
environment using logical connections to one or more remote
computers, such as a remote computer 1580. The remote computer 1580
may be a personal computer, a mobile device, a hand-held device, a
server, a router, a network PC, a medical device, a peer device or
other common network node, and may comprise many or all of the
elements described above relative to the computing device 1510. The
logical connections depicted in FIG. 15 include a local area
network (LAN) 1571 and a wide area network (WAN) 1573, but may also
comprise other networks such as, for example, a cellular network.
Such networking environments are commonplace in offices,
enterprise-wide computer networks, intranets and the Internet.
[0071] When used in a LAN networking environment, computing device
1510 may be connected to the LAN 1571 through a network interface
or adapter 1570. When used in a WAN networking environment,
computing device 1510 typically includes a modem 1562 or other
means for establishing communications over the WAN 1573, such as
the Internet. The modem 1562, which may be internal or external,
may be connected to the system bus 1521 via the input interface
1560, or other appropriate mechanism. The modem 1562 may be wired
or wireless. Examples of wireless devices may comprise, but are
limited to: Wi-Fi, Near-field Communication (NFC) and
Bluetooth.RTM.. In a networked environment, program modules
depicted relative to computing device 1510, or portions thereof,
may be stored in a remote computer 1580. By way of example, and not
limitation, FIG. 15 illustrates remote application programs 1585 as
residing on remote computer 1580. It will be appreciated that the
network connections shown are exemplary and other means of
establishing a communications link between the computers may be
used. Additionally, for example, LAN 1571 and WAN 1573 may provide
a network interface to communicate with other distributed
infrastructure management device(s); with IT device(s); with users
remotely accessing input interface 1560; combinations thereof,
and/or the like.
[0072] While various embodiments have been described above, it
should be understood that they have been presented by way of
example, and not limitation. It will be apparent to persons skilled
in the relevant art(s) that various changes in form and detail can
be made therein without departing from the spirit and scope. In
fact, after reading the above description, it will be apparent to
one skilled in the relevant art(s) how to implement alternative
embodiments. Alternative embodiments may comprise include utilizing
multiple mobile devices to create a game. The game may be played on
a tabletop or on the ground. The game may involve user control of
multiple mobile devices. Alternative embodiments may comprise
utilizing mobile devices to entertain children and/or adults.
Children and/or adults may chase mobile devices. Thus, the present
embodiments should not be limited by any of the above described
embodiments.
[0073] In addition, it should be understood that the figures and
algorithms, which highlight the functionality and advantages of the
present invention, are presented for example purposes only. The
architecture of the present invention is sufficiently flexible and
configurable, such that it may be utilized in ways other than that
shown in the accompanying figures and algorithms. For example, the
steps listed in any flowchart may be re-ordered or only optionally
used in some embodiments.
[0074] It should be noted the terms "including" and "comprising"
should be interpreted as meaning "including, but not limited
to".
[0075] In this specification, "a" and "an" and similar phrases are
to be interpreted as "at least one" and "one or more." References
to "the," "said," and similar phrases should be interpreted as "the
at least one", "said at least one", etc. References to "an"
embodiment in this disclosure are not necessarily to the same
embodiment.
[0076] It is the applicant's intent that only claims that include
the express language "means for" or "step for" be interpreted under
35 U.S.C. 112. Claims that do not expressly include the phrase
"means for" or "step for" are not to be interpreted under 35 U.S.C.
112.
[0077] The disclosure of this patent document incorporates material
which is subject to copyright protection. The copyright owner has
no objection to the facsimile reproduction by anyone of the patent
document or the patent disclosure, as it appears in the Patent and
Trademark Office patent file or records, for the limited purposes
required by law, but otherwise reserves all copyright rights
whatsoever.
[0078] Further, the purpose of the Abstract of the Disclosure is to
enable the U.S. Patent and Trademark Office and the public
generally, and especially the scientists, engineers and
practitioners in the art who are not familiar with patent or legal
terms or phraseology, to determine quickly from a cursory
inspection the nature and essence of the technical disclosure of
the application. The Abstract of the Disclosure is not intended to
be limiting as to the scope in any way.
* * * * *