Mobile videoconferencing robot system with network adaptive driving

Information

  • Patent Grant
  • 8340819
  • Patent Number
    8,340,819
  • Date Filed
    Wednesday, September 16, 2009
    15 years ago
  • Date Issued
    Tuesday, December 25, 2012
    12 years ago
Abstract
A remote control station that controls a robot through a network. The remote control station transmits a robot control command that includes information to move the robot. The remote control station monitors at least one network parameter and scales the robot control command as a function of the network parameter. For example, the remote control station can monitor network latency and scale the robot control command to slow down the robot with an increase in the latency of the network. Such an approach can reduce the amount of overshoot or overcorrection by a user driving the robot.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


The subject matter disclosed generally relates to the field of mobile two-way teleconferencing.


2. Background Information


Robots have been used in a variety of applications ranging from remote control of hazardous material to assisting in the performance of surgery. For example, U.S. Pat. No. 5,762,458 issued to Wang et al. discloses a system that allows a surgeon to perform minimally invasive medical procedures through the use of robotically controlled instruments. One of the robotic arms in the Wang system moves an endoscope that has a camera. The camera allows a surgeon to view a surgical area of a patient.


There has been marketed a mobile robot introduced by InTouch Technologies, Inc., the assignee of this application, under the trademarks COMPANION and RP-7. The InTouch robot is controlled by a user at a remote station. The remote station may be a personal computer with a joystick that allows the user to remotely control the movement of the robot. Both the robot and the remote station have cameras, monitors, speakers and microphones to allow for two-way video/audio communication. The robot camera provides video images to a screen at the remote station so that the user can view the robot's surroundings and move the robot accordingly.


The InTouch robot system typically utilizes a broadband network such as the Internet to establish the communication channel between the remote station and the robot. For various reasons the network may create an undesirable latency in the transmission of video from the robot to the remote station. When driving the robot the user primarily uses the video provided by the robot camera. Latency in the network may result in the user receiving delayed video images and cause the user to generate robot control commands that overshoot or overcorrect the movement of the robot.


BRIEF SUMMARY OF THE INVENTION

A remote control station that controls a robot through a network. The remote control station transmits a robot control command that includes information to move the robot. The remote control station monitors at least one network parameter and scales the robot control command as a function of the network parameter.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is an illustration of a robotic system;



FIG. 2 is a schematic of an electrical system of a robot;



FIG. 3 is a further schematic of the electrical system of the robot;



FIG. 4 is a graphical user interface of a remote station;



FIG. 5 is an illustration showing a process for scaling a robot control command;



FIG. 6 is a graph showing transfer functions for scaling the robot control command based on a ping time; and,



FIG. 7 is a graph showing transfer functions for scaling the robot control command based on a video rate.





DETAILED DESCRIPTION

Disclosed is a remote control station that controls a robot through a network. The remote control station transmits a robot control command that includes information to move the robot. The remote control station monitors at least one network parameter and scales the robot control command as a function of the network parameter. For example, the remote control station can monitor network latency and scale the robot control command to slow down the robot with an increase in the latency of the network. Such an approach can reduce the amount of overshoot or overcorrection by a user driving the robot.


Referring to the drawings more particularly by reference numbers, FIG. 1 shows a robotic system 10 that can be used to conduct a remote visit. The robotic system 10 includes a robot 12, a base station 14 and a remote control station 16. The remote control station 16 may be coupled to the base station 14 through a network 18. By way of example, the network 18 may be either a packet switched network such as the Internet, or a circuit switched network such has a Public Switched Telephone Network (PSTN) or other broadband system. The base station 14 may be coupled to the network 18 by a modem 20 or other broadband network interface device. By way of example, the base station 14 may be a wireless router. Alternatively, the robot 12 may have a direct connection to the network thru for example a satellite.


The remote control station 16 may include a computer 22 that has a monitor 24, a camera 26, a microphone 28 and a speaker 30. The computer 22 may also contain an input device 32 such as a joystick or a mouse. The control station 16 is typically located in a place that is remote from the robot 12. Although only one remote control station 16 is shown, the system 10 may include a plurality of remote stations. In general any number of robots 12 may be controlled by any number of remote stations 16 or other robots 12. For example, one remote station 16 may be coupled to a plurality of robots 12, or one robot 12 may be coupled to a plurality of remote stations 16, or a plurality of robots 12.


Each robot 12 includes a movement platform 34 that is attached to a robot housing 36. Also attached to the robot housing 36 is a pair of cameras 38, a monitor 40, a microphone(s) 42 and a speaker(s) 44. The microphone 42 and speaker 30 may create a stereophonic sound. The robot 12 may also have an antenna 46 that is wirelessly coupled to an antenna 48 of the base station 14. The system 10 allows a user at the remote control station 16 to move the robot 12 through operation of the input device 32. The robot camera 38 is coupled to the remote monitor 24 so that a user at the remote station 16 can view a patient. Likewise, the robot monitor 40 is coupled to the remote camera 26 so that the patient can view the user. The microphones 28 and 42, and speakers 30 and 44, allow for audible communication between the patient and the user.


The remote station computer 22 may operate Microsoft OS software and WINDOWS XP or other operating systems such as LINUX. The remote computer 22 may also operate a video driver, a camera driver, an audio driver and a joystick driver. The video images may be transmitted and received with compression software such as MPEG CODEC.



FIGS. 2 and 3 show an embodiment of a robot 12. Each robot 12 may include a high level control system 50 and a low level control system 52. The high level control system 50 may include a processor 54 that is connected to a bus 56. The bus 56 is coupled to the camera 38 by an input/output (I/O) ports 58. The monitor 40 is coupled to the bus 56 by a serial output port 60 and a VGA driver 62. The monitor 40 may include a touchscreen function that allows the patient to enter input by touching the monitor screen.


The speaker 44 is coupled to the bus 56 by a digital to analog converter 64. The microphone 42 is coupled to the bus 56 by an analog to digital converter 66. The high level controller 50 may also contain random access memory (RAM) device 68, a non-volatile RAM device 70 and a mass storage device 72 that are all coupled to the bus 62. The mass storage device 72 may contain medical files of the patient that can be accessed by the user at the remote control station 16. For example, the mass storage device 72 may contain a picture of the patient. The user, particularly a health care provider, can recall the old picture and make a side by side comparison on the monitor 24 with a present video image of the patient provided by the camera 38. The robot antennae 45 may be coupled to a wireless transceiver 74. By way of example, the transceiver 74 may transmit and receive information in accordance with IEEE 802.11b.


The controller 54 may operate with a LINUX OS operating system. The controller 54 may also operate MS WINDOWS along with video, camera and audio drivers for communication with the remote control station 16. Video information may be transceived using MPEG CODEC compression techniques. The software may allow the user to send e-mail to the patient and vice versa, or allow the patient to access the Internet. In general the high level controller 50 operates to control communication between the robot 12 and the remote control station 16.


The remote control station 16 may include a computer that is similar to the high level controller 50. The computer would have a processor, memory, I/O, software, firmware, etc. for generating, transmitting, receiving and processing information.


The high level controller 50 may be linked to the low level controller 52 by serial ports 76 and 78. The low level controller 52 includes a processor 80 that is coupled to a RAM device 82 and non-volatile RAM device 84 by a bus 86. Each robot 12 contains a plurality of motors 88 and motor encoders 90. The motors 88 can actuate the movement platform and move other parts of the robot such as the monitor and camera. The encoders 90 provide feedback information regarding the output of the motors 88. The motors 88 can be coupled to the bus 86 by a digital to analog converter 92 and a driver amplifier 94. The encoders 90 can be coupled to the bus 86 by a decoder 96. Each robot 12 also has a number of proximity sensors 98 (see also FIG. 1). The position sensors 98 can be coupled to the bus 86 by a signal conditioning circuit 100 and an analog to digital converter 102.


The low level controller 52 runs software routines that mechanically actuate the robot 12. For example, the low level controller 52 provides instructions to actuate the movement platform to move the robot 12. The low level controller 52 may receive movement instructions from the high level controller 50. The movement instructions may be received as movement commands from the remote control station or another robot. Although two controllers are shown, it is to be understood that each robot 12 may have one controller, or more than two controllers, controlling the high and low level functions.


The various electrical devices of each robot 12 may be powered by a battery(ies) 104. The battery 104 may be recharged by a battery recharger station 106 (see also FIG. 1). The low level controller 52 may include a battery control circuit 108 that senses the power level of the battery 104. The low level controller 52 can sense when the power falls below a threshold and then send a message to the high level controller 50.


The system may be the same or similar to a robotic system provided by the assignee InTouch-Health, Inc. of Santa Barbara, Calif. under the name RP-7. The system may also be the same or similar to the system disclosed in U.S. Pat. No. 6,925,357 issued Aug. 2, 2005, which is hereby incorporated by reference.



FIG. 4 shows a display user interface (“DUI”) 120 that can be displayed at the remote station 16. The DUI 120 may include a robot view field 122 that displays a video image provided by the camera of the robot. The DUI 120 may also include a station view field 124 that displays a video image provided by the camera of the remote station 16. The DUI 120 may be part of an application program stored and operated by the computer 22 of the remote station 16.


In operation, the robot 12 may be placed in a home or a facility where one or more patients are to be monitored and/or assisted. The facility may be a hospital or a residential care facility. By way of example, the robot 12 may be placed in a home where a health care provider may monitor and/or assist the patient. Likewise, a friend or family member may communicate with the patient. The cameras and monitors at both the robot and remote control stations allow for teleconferencing between the patient and the person at the remote station(s).


The robot 12 can be maneuvered through the home or a facility by manipulating the input device 32 at a remote station 16. The robot 10 may be controlled by a number of different users. To accommodate for this the robot may have an arbitration system. The arbitration system may be integrated into the operating system of the robot 12. For example, the arbitration technique may be embedded into the operating system of the high-level controller 50.


By way of example, the users may be divided into classes that include the robot itself, a local user, a caregiver, a doctor, a family member, or a service provider. The robot 12 may override input commands that conflict with robot operation. For example, if the robot runs into a wall, the system may ignore all additional commands to continue in the direction of the wall. A local user is a person who is physically present with the robot. The robot could have an input device that allows local operation. For example, the robot may incorporate a voice recognition system that receives and interprets audible commands.


A caregiver is someone who remotely monitors the patient. A doctor is a medical professional who can remotely control the robot and also access medical files contained in the robot memory. The family and service users remotely access the robot. The service user may service the system such as by upgrading software, or setting operational parameters.


The robot 12 may operate in one of two different modes; an exclusive mode, or a sharing mode. In the exclusive mode only one user has access control of the robot. The exclusive mode may have a priority assigned to each type of user. By way of example, the priority may be in order of local, doctor, caregiver, family and then service user. In the sharing mode two or more users may share access with the robot. For example, a caregiver may have access to the robot, the caregiver may then enter the sharing mode to allow a doctor to also access the robot. Both the caregiver and the doctor can conduct a simultaneous tele-conference with the patient.


The arbitration scheme may have one of four mechanisms; notification, timeouts, queue and call back. The notification mechanism may inform either a present user or a requesting user that another user has, or wants, access to the robot. The timeout mechanism gives certain types of users a prescribed amount of time to finish access to the robot. The queue mechanism is an orderly waiting list for access to the robot. The call back mechanism informs a user that the robot can be accessed. By way of example, a family user may receive an e-mail message that the robot is free for usage. Tables I and II, show how the mechanisms resolve access request from the various users.














TABLE I






Access
Medical
Command
Software/Debug
Set


User
Control
Record
Override
Access
Priority







Robot
No
No
Yes (1)
No
No


Local
No
No
Yes (2)
No
No


Caregiver
Yes
Yes
Yes (3)
No
No


Doctor
No
Yes
No
No
No


Family
No
No
No
No
No


Service
Yes
No
Yes
Yes
Yes


















TABLE II









Requesting User













Local
Caregiver
Doctor
Family
Service

















Current User
Local
Not Allowed
Warn current user
Warn current user
Warn current user
Warn current user





of pending user
of pending user
of pending user
of pending user





Notify requesting
Notify requesting
Notify requesting
Notify requesting





user that system is
user that system is
user that system is
user that system is





in use
in use
in use
in use





Set timeout
Set timeout = 5 m
Set timeout = 5 m
No timeout







Call back
Call back



Caregiver
Warn current user
Not Allowed
Warn current user
Warn current user
Warn current user




of pending user.

of pending user
of pending user
of pending user




Notify requesting

Notify requesting
Notify requesting
Notify requesting




user that system is

user that system is
user that system is
user that system is




in use.

in use
in use
in use




Release control

Set timeout = 5 m
Set timeout = 5 m
No timeout






Queue or callback

Callback



Doctor
Warn current user
Warn current user
Warn current user
Notify requesting
Warn current user




of pending user
of pending user
of pending user
user that system is
of pending user




Notify requesting
Notify requesting
Notify requesting
in use
Notify requesting




user that system is
user that system is
user that system is
No timeout
user that system is




in use
in use
in use
Queue or callback
in use




Release control
Set timeout = 5 m
No timeout

No timeout






Callback

Callback



Family
Warn current user
Notify requesting
Warn current user
Warn current user
Warn current user




of pending user
user that system is
of pending user
of pending user
of pending user




Notify requesting
in use
Notify requesting
Notify requesting
Notify requesting




user that system is
No timeout
user that system is
user that system is
user that system is




in use
Put in queue or
in use
in use
in use




Release Control
callback
Set timeout = 1 m
Set timeout = 5 m
No timeout







Queue or callback
Callback



Service
Warn current user
Notify requesting
Warn current user
Warn current user
Not Allowed




of pending user
user that system is
of request
of pending user




Notify requesting
in use
Notify requesting
Notify requesting




user that system is
No timeout
user that system is
user that system is




in use
Callback
in use
in use




No timeout

No timeout
No timeout






Callback
Queue or callback









The information transmitted between the station 16 and the robot 12 may be encrypted. Additionally, the user may have to enter a password to enter the system 10. A selected robot is then given an electronic key by the station 16. The robot 12 validates the key and returns another key to the station 16. The keys are used to encrypt information transmitted in the session.


The robot 12 and remote station 16 transmit commands through the broadband network 18. The commands can be generated by the user in a variety of ways. For example, commands to move the robot may be generated by moving the joystick 32 (see FIG. 1). The commands are preferably assembled into packets in accordance with TCP/IP protocol. Table III provides a list of control commands that are generated at the remote station and transmitted to the robot through the network.









TABLE III







Control Commands









Command
Example
Description





drive
drive
The drive command directs the robot to



10.0 0.0 5.0
move at the specified velocity (in cm/sec)




in the (x, y) plane, and turn its facing at




the specified rate (degrees/sec).


goodbye
goodbye
The goodbye command terminates a user




session and relinquishes control of the




robot


gotoHome-
gotoHome-
The gotoHomePosition command moves


Position
Position 1
the head to a fixed “home” position




(pan and tilt), and restores zoom to




default value. The index value can be




0, 1, or 2. The exact pan/tilt values




for each index are specified




in robot configuration files.


head
head vel pan
The head command controls the head



5.0 tilt 10.0
motion.




It can send commands in two modes,




identified by keyword: either positional




(“pos”) or velocity (“vol”). In velocity




mode, the pan and tilt values are desired




velocities of the head on the pan and tilt




axes, in degree/sec. A single command can




include just the pan section, or just the




tilt section, or both.


keepalive
keepalive
The keepalive command causes no action,




but keeps the communication (socket) link




open so that a session can continue. In




scripts, it can be used to introduce delay




time into the action.


odometry
odometry 5
The odometry command enables the flow




of odometry messages from the robot.




The argument is the number of times




odometry is to be reported each second.




A value of 0 turns odometry off.


reboot
reboot
The reboot command causes the robot




computer to reboot immediately. The




ongoing session is immediately broken




off.


restoreHead-
restoreHead-
The restoreHeadPosition functions like the


Position
Position
gotoHomePosition command, but it homes




the head to a position previously saved with




gotoHomePosition.


saveHead-
saveHead-
The saveHeadPosition command causes the


Position
Position
robot to save the current head position (pan




and tilt) in a scratch location in temporary




storage so that this position can be




restored. Subsequent calls to




“restoreHeadPosition” will restore this




saved position. Each call to




saveHeadPosition overwrites any previously




saved position.


setCamera-
setCamera-
The setCameraFocus command controls


Focus
Focus 100.0
focus for the camera on the robot side.




The value sent is passed “raw” to the video




application running on the robot, which




interprets it according to its own




specification.


setCamera-
setCamera-
The setCameraZoom command controls


Zoom
Zoom 100.0
zoom for the camera on the robot side.




The value sent is passed “raw” to the video




application running on the robot, which




interprets it according to its own




specification.


shutdown
Shutdown
The shutdown command shuts down the




robot and powers down its computer.


stop
stop
The stop command directs the robot to stop




moving immediately. It is assumed this will




be as sudden a stop as the mechanism can




safely accommodate.


timing
Timing
The timing message is used to estimate



3245629 500
message latency. It holds the UCT value




(seconds + milliseconds) of the time the




message was sent, as recorded on the




sending machine. To do a valid test, you




must compare results in each direction (i.e.,




sending from machine A to machine B, then




from machine B to machine A) in order to




account for differences in the clocks




between the two machines. The robot




records data internally to estimate average




and maximum latency over the course of a




session, which it prints to log files.


userTask
userTask
The userTask command notifies the robot



“Jane Doe”
of the current user and task. It typically is



“Remote
sent once at the start of the session,



Visit”
although it can be sent during a session if




the user and/or task change. The robot uses




this information for record-keeping.









Table IV provides a list of reporting commands that are generated by the robot and transmitted to the remote station through the network.









TABLE IV







Reporting Commands









Command
Example
Description





abnormalExit
abnormalExit
This message informs the user that the




robot software has crashed or otherwise




exited abnormally. Te robot software




catches top-level exceptions and generates




this message if any such exceptions occur.


bodyType
bodyType 3
The bodyType message informs the station




which type body (using the numbering of




the mechanical team) the current robot has.




This allows the robot to be drawn correctly




in the station user interface, and allows




for any other necessary body-specific




adjustments.


driveEnabled
driveEnabled
This message is sent at the start of a



true
session to indicate whether the drive




system is operational.


emergency-
emergency-
This message informs the station that the


Shutdown
Shutdown
robot software has detected a possible




“runaway” condition (an failure causing




the robot to move out of control) and is




shutting the entire system down to prevent




hazardous motion.


odometry
odometry
The odometry command reports the current



10 20 340
(x, y) position (cm) and body orientation




(degrees) of the robot, in the original




coordinate space of the robot at the start




of the session.


sensorGroup
group_data
Sensors on the robot are arranged into




groups, each group of a single type




(bumps, range sensors, charge meter,




etc.) The sensorGroup message is sent




once per group at the start of each




session. It contains the number, type,




locations, and any other relevant data




for the sensors in that group.




The station assumes nothing about the




equipment carried on the robot; everything




it knows about the sensors comes from the




sensorGroup messages.


sensorState
groupName
The sensorState command reports the



state data
current state values for a specified group




of sensor. The syntax and interpretation




for the state data is specific to each group.




This message is sent once for each group




at each sensor evaluation (normally




several times per second).


systemError
systemError
This message informs the station user of a



driveController
failure in one of the robot's subsystems.




The error_type argument indicates which




subsystem failed, including




driveController, sensorController,




headHome.


systemInfo
systemInfo
This message allows regular reporting of



wireless 45
information that falls outside the sensor




system such as wireless signal strength.


text
text “This is
The text string sends a text string from the



some text”
robot to the station, where the string is




displayed to the user. This message is used




mainly for debugging.


version
version 1.6
This message identifies the software




version currently running on the robot.




It is sent once at the start of the session




to allow the station to do any necessary




backward compatibility adjustments.









The processor 54 of the robot high level controller 50 may operate a program that determines whether the robot 12 has received a robot control command within a time interval. For example, if the robot 12 does not receive a control command within 2 seconds then the processor 54 provides instructions to the low level controller 50 to stop the robot 12. Although a software embodiment is described, it is to be understood that the control command monitoring feature could be implemented with hardware, or a combination of hardware and software. The hardware may include a timer that is reset each time a control command is received and generates, or terminates, a command or signal, to stop the robot.


The remote station computer 22 may monitor the receipt of video images provided by the robot camera. The computer 22 may generate and transmit a STOP command to the robot if the remote station does not receive or transmit an updated video image within a time interval. The STOP command causes the robot to stop. By way of example, the computer 22 may generate a STOP command if the remote control station does not receive a new video image within 2 seconds. Although a software embodiment is described, it is to be understood that the video image monitoring feature could be implemented with hardware, or a combination of hardware and software. The hardware may include a timer that is reset each time a new video image is received and generates, or terminates, a command or signal, to generate the robot STOP command.


The robot may also have internal safety failure features. For example, the robot may monitor communication between the robot controller and the robot servo used to operate the platform motors. The robot monitor may switch a relay to terminate power to the platform motors if the monitor detects a lack of communication between the robot controller and the motor servo.


The remote station may also have a safety feature for the input device 32. For example, if there is no input from the joystick for a certain time interval (e.g. 10 seconds) the computer 22 may not relay subsequent input unless the user presses a button for another time interval (e.g. 2 seconds), which reactivates the input device.


The system may also scale one or more robot control commands based on a network parameter. By way of example, the remote control station may scale the velocity component of the “drive” command before transmission to the robot. FIG. 5 shows a process for scaling a robot control command. In block 200 the station may determine a scale transfer function based on a ping time. A ping time is the amount of time between when a test sample is sent from the remote station to the robot, to when the station receives the sample from the robot. In block 202 the station may determine a scale transfer function based on a video rate. The video rate is the rate at which the station receives frames of video from the robot camera.


The scale can be calculated in block 204. The scale y can be determined in accordance with the following linear piece wise functions.

y=Y1 for x≦XcutIn
y=Y2 for x>XcutOff
y=Y1+s×(x−XcutOff) for XcutIn<x≦XcutOff


where y is the scale,

s=(Y1−Y2)/(XcutIn−Xcutoff)

    • x is the input variable, such as ping time or video rate; and,
    • the capitalized entities are constant values determined by the application.



FIG. 6 is a graph that shows scale transfer functions based on ping time for a common cut-in value of 150 msec (XcutIn) and cut-off values of 500, 750 and 1000 msec (Xcutoff). FIG. 7 is a graph that shows scale transfer functions based on video rates for a common cut-in value of 0 fps and cut-off values of 15, 20, 25 and 30 fps.


The scale can be determined utilizing both the ping time and the video rate. For example, the scale can be computed with the following equation:

Combined_scale=p×Ping_time_scale+(1.0−p)×Video_rate_scale


The parameter p may have a default value of 0.5 so that the ping time and video rate have equal weight.


Referring again to FIG. 5, the calculated scale is filtered with a low pass filter in block 206. The low pass filter 206 can be defined by the following general equation:

fi=α×fin+(1.0−α)×fi-1

where

    • fi is the current output
    • fi-1 is the previous output
    • fin is the current input, and
    • α is a constant that depends on the sampling period and the filter's cut-off frequency.


The robot control command can be scaled in block 208. By way of example, the velocity command can be scaled with the calculated filtered scale value. Scaling the velocity command can control robot movement in response to changes in network latency. For example, the system can automatically slow down the robot when there is an increase in the latency of the network. This can assist in reducing overshoot or overcorrection by the user while driving the robot.


While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention not be limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art.

Claims
  • 1. A remote control station that controls a robot with a camera, through a network, comprising: a remote control station that includes a monitor coupled to the robot camera and transmits a scaled robot control command that includes information to move the robot, said remote control station monitors at least one network parameter, determines a scale transfer function as a function of said network parameter, and determines said scaled robot control command as a function of said scale transfer function and an input robot control command.
  • 2. The remote control station of claim 1, wherein said scale transfer function is linearly proportional to said network parameter.
  • 3. The remote control station of claim 1, wherein said network parameter includes a ping time.
  • 4. The remote control station of claim 3, wherein said network parameter includes a video rate.
  • 5. The remote control station of claim 1, wherein said network parameter includes a video rate.
  • 6. The remote control station of claim 1, wherein said scale transfer function is filtered with a low pass filter.
  • 7. The remote control station of claim 1, wherein said scaled robot command reduces a speed of the robot with an increase in a network latency.
  • 8. A remote controlled robot system, comprising: a robot that includes a camera and moves in response to a scaled robot control command; and,a remote control station that includes a monitor and is coupled to said robot through a network, said remote control station transmits said scaled robot control command that includes information to move said robot, said remote control station monitors at least one network parameter, determines a scale transfer function as a function of said network parameter, and determines said scaled robot control command as a function of said scale transfer function and an input robot control command.
  • 9. The system of claim 8, wherein said scale transfer function is linearly proportional to said network parameter.
  • 10. The system of claim 8, wherein said network parameter includes a ping time.
  • 11. The system of claim 10, wherein said network parameter includes a video rate.
  • 12. The system of claim 8, wherein said network parameter includes a video rate.
  • 13. The system of claim 8, wherein said scale transfer function is filtered with a low pass filter.
  • 14. The system of claim 8, wherein said scaled robot command reduces a speed of said robot with an increase in a network latency.
  • 15. The system of claim 8, wherein said robot includes a monitor, speaker and microphone and said remote control station includes a camera, speaker and microphone.
  • 16. A method for remotely controlling a robot that has a camera, comprising: generating an input robot control command at a remote control station;monitoring at least one network parameter;determining, by the remote control station, a scale transfer function as a function of the network parameter;determining, by the remote control station, a scaled robot control command as a function of the scale transfer function and the input robot control command;transmitting the scaled robot control command to a robot; and,moving the robot in accordance with the scaled robot control command.
  • 17. The method of claim 16, wherein the scale transfer function is linearly proportional to the network parameter.
  • 18. The method of claim 16, wherein the network parameter includes a ping time.
  • 19. The method of claim 18, wherein the network parameter includes a video rate.
  • 20. The method of claim 16, wherein the network parameter includes a video rate.
  • 21. The method of claim 16, further comprising filtering the scale transfer function with a low pass filter.
  • 22. The method of claim 16, wherein the scaled robot command reduces a speed of the robot with an increase in a network latency.
REFERENCE TO CROSS-RELATED APPLICATION

This application claims priority to Application No. 61/098,156 filed on Sep. 18, 2008.

US Referenced Citations (456)
Number Name Date Kind
3821995 Aghnides Jul 1974 A
4413693 Derby Nov 1983 A
4471354 Smith Sep 1984 A
4519466 Shiraishi May 1985 A
4572594 Schwartz Feb 1986 A
4625274 Schroeder Nov 1986 A
4638445 Mattaboni Jan 1987 A
4652204 Arnett Mar 1987 A
4669168 Tamura et al. Jun 1987 A
4697472 Hiyane Oct 1987 A
4709265 Silverman et al. Nov 1987 A
4733737 Falamak Mar 1988 A
4751658 Kadonoff et al. Jun 1988 A
4766581 Korn et al. Aug 1988 A
4777416 George, II et al. Oct 1988 A
4797557 Ohman Jan 1989 A
4803625 Fu et al. Feb 1989 A
4847764 Halvorson Jul 1989 A
4875172 Kanayama Oct 1989 A
4942512 Kohno Jul 1990 A
4942538 Yuan et al. Jul 1990 A
4953159 Hayden et al. Aug 1990 A
4974607 Miwa Dec 1990 A
4977971 Crane, III et al. Dec 1990 A
5006988 Borenstein et al. Apr 1991 A
5040116 Evans et al. Aug 1991 A
5051906 Evans et al. Sep 1991 A
5073749 Kanayama Dec 1991 A
5084828 Kaufman et al. Jan 1992 A
5130794 Ritchey Jul 1992 A
5148591 Pryor Sep 1992 A
5153833 Gordon et al. Oct 1992 A
5155684 Burke et al. Oct 1992 A
5157491 Kassatly Oct 1992 A
5182641 Diner et al. Jan 1993 A
5186270 West Feb 1993 A
5217453 Wilk Jun 1993 A
5224157 Yamada et al. Jun 1993 A
5231693 Backes et al. Jul 1993 A
5236432 Matsen, III et al. Aug 1993 A
5413693 Derby Nov 1993 A
5315287 Sol May 1994 A
5319611 Korba Jun 1994 A
5341242 Gilboa et al. Aug 1994 A
5341459 Backes Aug 1994 A
5341854 Zezulka et al. Aug 1994 A
5350033 Kraft Sep 1994 A
5366896 Margrey et al. Nov 1994 A
5374879 Pin et al. Dec 1994 A
5417210 Funda et al. May 1995 A
5419008 West May 1995 A
5436542 Petelin et al. Jul 1995 A
5441042 Putman Aug 1995 A
5441047 David et al. Aug 1995 A
5442728 Kaufman et al. Aug 1995 A
5462051 Oka et al. Oct 1995 A
5528289 Cortjens et al. Jun 1996 A
5539741 Barraclough et al. Jul 1996 A
5544649 David et al. Aug 1996 A
5550577 Verbiest et al. Aug 1996 A
5553609 Chen et al. Sep 1996 A
5572229 Fisher Nov 1996 A
5572999 Funda et al. Nov 1996 A
5594859 Palmer et al. Jan 1997 A
5600573 Hendricks et al. Feb 1997 A
5630566 Case May 1997 A
5636218 Ishikawa Jun 1997 A
5652849 Conway et al. Jul 1997 A
5657246 Hogan et al. Aug 1997 A
5659779 Laird et al. Aug 1997 A
5682199 Lankford Oct 1997 A
5684695 Bauer Nov 1997 A
5701904 Simmons et al. Dec 1997 A
5739657 Takayama et al. Apr 1998 A
5749058 Hashimoto May 1998 A
5749362 Funda et al. May 1998 A
5762458 Wang et al. Jun 1998 A
5764731 Yablon Jun 1998 A
5767897 Howell Jun 1998 A
5786846 Hiroaki Jul 1998 A
5802494 Kuno Sep 1998 A
5836872 Kenet et al. Nov 1998 A
5838575 Lion Nov 1998 A
5857534 DeVault et al. Jan 1999 A
5867653 Aras et al. Feb 1999 A
5876325 Mizuno et al. Mar 1999 A
5911036 Wright et al. Jun 1999 A
5917958 Nunally et al. Jun 1999 A
5927423 Wada et al. Jul 1999 A
5949758 Kober Sep 1999 A
5954692 Smith et al. Sep 1999 A
5959423 Nakanishi et al. Sep 1999 A
5966130 Benman, Jr. Oct 1999 A
5973724 Riddle Oct 1999 A
5974446 Sonnenreich et al. Oct 1999 A
5995884 Allen et al. Nov 1999 A
5999977 Riddle Dec 1999 A
6006946 Williams et al. Dec 1999 A
6036812 Williams et al. Mar 2000 A
6133944 Braun et al. Oct 2000 A
6135228 Asada et al. Oct 2000 A
6148100 Anderson et al. Nov 2000 A
6170929 Wilson et al. Jan 2001 B1
6175779 Barrett Jan 2001 B1
6201984 Funda et al. Mar 2001 B1
6211903 Bullister Apr 2001 B1
6219587 Ahlin et al. Apr 2001 B1
6232735 Baba et al. May 2001 B1
6233504 Das et al. May 2001 B1
6256556 Zenke Jul 2001 B1
6259806 Green Jul 2001 B1
6259956 Myers et al. Jul 2001 B1
6266162 Okamura et al. Jul 2001 B1
6266577 Popp et al. Jul 2001 B1
6289263 Mukherjee Sep 2001 B1
6292713 Jouppi et al. Sep 2001 B1
6304050 Skaar et al. Oct 2001 B1
6321137 De Smet Nov 2001 B1
6325756 Webb et al. Dec 2001 B1
6327516 Zenke Dec 2001 B1
6330486 Padula Dec 2001 B1
6330493 Takahashi et al. Dec 2001 B1
6346950 Jouppi Feb 2002 B1
6346962 Goodridge Feb 2002 B1
6369847 James et al. Apr 2002 B1
6381515 Inoue et al. Apr 2002 B1
6408230 Wada Jun 2002 B2
6430471 Kintou et al. Aug 2002 B1
6430475 Okamoto et al. Aug 2002 B2
6438457 Yokoo et al. Aug 2002 B1
6452915 Jorgensen Sep 2002 B1
6457043 Kwak et al. Sep 2002 B1
6459955 Bartsch et al. Oct 2002 B1
6463352 Tadokoro et al. Oct 2002 B1
6463361 Wang et al. Oct 2002 B1
6466844 Ikeda et al. Oct 2002 B1
6468265 Evans et al. Oct 2002 B1
6474434 Bech Nov 2002 B1
6491701 Tierney et al. Dec 2002 B2
6496099 Wang et al. Dec 2002 B2
6496755 Wallach et al. Dec 2002 B2
6501740 Sun et al. Dec 2002 B1
6507773 Parker et al. Jan 2003 B2
6522906 Salisbury et al. Feb 2003 B1
6523629 Buttz et al. Feb 2003 B1
6526332 Sakamoto et al. Feb 2003 B2
6529765 Franck et al. Mar 2003 B1
6529802 Kawakita et al. Mar 2003 B1
6532404 Colens Mar 2003 B2
6535182 Stanton Mar 2003 B2
6535793 Allard Mar 2003 B2
6540039 Yu et al. Apr 2003 B1
6543899 Covannon et al. Apr 2003 B2
6549215 Jouppi Apr 2003 B2
6563533 Colby May 2003 B1
6580246 Jacobs Jun 2003 B2
6584376 Van Kommer Jun 2003 B1
6587750 Gerbi et al. Jul 2003 B2
6594552 Gerbi et al. Jul 2003 B1
6602469 Maus et al. Aug 2003 B1
6604019 Ahlin et al. Aug 2003 B2
6604021 Imai et al. Aug 2003 B2
6611120 Song et al. Aug 2003 B2
6646677 Noro et al. Nov 2003 B2
6650748 Edwards et al. Nov 2003 B1
6684129 Salisbury et al. Jan 2004 B2
6691000 Nagai et al. Feb 2004 B2
6710797 McNelley et al. Mar 2004 B1
6728599 Wang et al. Apr 2004 B2
6763282 Glenn et al. Jul 2004 B2
6764373 Osawa et al. Jul 2004 B1
6769771 Trumbull Aug 2004 B2
6781606 Jouppi Aug 2004 B2
6784916 Smith Aug 2004 B2
6785589 Eggenberger et al. Aug 2004 B2
6791550 Goldhor et al. Sep 2004 B2
6798753 Doganata et al. Sep 2004 B1
6799065 Niemeyer Sep 2004 B1
6799088 Wang et al. Sep 2004 B2
6804580 Stoddard et al. Oct 2004 B1
6804656 Rosenfeld et al. Oct 2004 B1
6810411 Coughlin et al. Oct 2004 B1
6836703 Wang et al. Dec 2004 B2
6839612 Sanchez et al. Jan 2005 B2
6840904 Goldberg Jan 2005 B2
6845297 Allard Jan 2005 B2
6852107 Wang et al. Feb 2005 B2
6853878 Hirayama et al. Feb 2005 B2
6853880 Sakagami et al. Feb 2005 B2
6871117 Wang et al. Mar 2005 B2
6879879 Jouppi et al. Apr 2005 B2
6888333 Laby May 2005 B2
6892112 Wang et al. May 2005 B2
6895305 Lathan et al. May 2005 B2
6898484 Lemelson et al. May 2005 B2
6914622 Smith et al. Jul 2005 B1
6925357 Wang et al. Aug 2005 B2
6951535 Ghodoussi et al. Oct 2005 B2
6958706 Chaco et al. Oct 2005 B2
6965394 Gutta et al. Nov 2005 B2
6995664 Darling Feb 2006 B1
7030757 Matsuhira et al. Apr 2006 B2
7058689 Parker et al. Jun 2006 B2
7092001 Schulz Aug 2006 B2
7096090 Zweig Aug 2006 B1
7115102 Abbruscato Oct 2006 B2
7117067 McLurkin et al. Oct 2006 B2
7123285 Smith et al. Oct 2006 B2
7123974 Hamilton Oct 2006 B1
7123991 Graf et al. Oct 2006 B2
7127325 Nagata et al. Oct 2006 B2
7129970 James et al. Oct 2006 B2
7133062 Castles et al. Nov 2006 B2
7142945 Wang et al. Nov 2006 B2
7142947 Wang et al. Nov 2006 B2
7151982 Liff et al. Dec 2006 B2
7154526 Foote et al. Dec 2006 B2
7155306 Haitin et al. Dec 2006 B2
7156809 Quy Jan 2007 B2
7158859 Wang et al. Jan 2007 B2
7158860 Wang et al. Jan 2007 B2
7161322 Wang et al. Jan 2007 B2
7162338 Goncalves et al. Jan 2007 B2
7164969 Wang et al. Jan 2007 B2
7171286 Wang et al. Jan 2007 B2
7174238 Zweig Feb 2007 B1
7184559 Jouppi Feb 2007 B2
7188000 Chiappetta et al. Mar 2007 B2
7199790 Rosenberg et al. Apr 2007 B2
7202851 Cunningham et al. Apr 2007 B2
7206627 Abovitz et al. Apr 2007 B2
7215786 Nakadai May 2007 B2
7227334 Yang et al. Jun 2007 B2
7256708 Rosenfeld Aug 2007 B2
7262573 Wang et al. Aug 2007 B2
7289883 Wang et al. Oct 2007 B2
7321807 Laski Jan 2008 B2
7346429 Goldenberg et al. Mar 2008 B2
7382399 McCall et al. Jun 2008 B1
7432949 Remy et al. Oct 2008 B2
7441953 Banks Oct 2008 B2
7525281 Koyanagi et al. Apr 2009 B2
7535486 Motomura et al. May 2009 B2
7624166 Foote et al. Nov 2009 B2
7719229 Kaneko et al. May 2010 B2
7761185 Wang et al. Jul 2010 B2
7769492 Wang et al. Aug 2010 B2
7831575 Trossell et al. Nov 2010 B2
7835775 Sawayama et al. Nov 2010 B2
RE42288 Degioanni Apr 2011 E
7924323 Walker et al. Apr 2011 B2
7982763 King Jul 2011 B2
8170241 Roe et al. May 2012 B2
20010002448 Wilson et al. May 2001 A1
20010010053 Ben-Shachar et al. Jul 2001 A1
20010034475 Flach et al. Oct 2001 A1
20010037163 Allard Nov 2001 A1
20010051881 Filler Dec 2001 A1
20010054071 Loeb Dec 2001 A1
20010055373 Yamashita Dec 2001 A1
20020015296 Howell Feb 2002 A1
20020027597 Sachau Mar 2002 A1
20020049517 Ruffner Apr 2002 A1
20020055917 Muraca May 2002 A1
20020057279 Jouppi May 2002 A1
20020058929 Green May 2002 A1
20020059587 Cofano et al. May 2002 A1
20020063726 Jouppi May 2002 A1
20020073429 Beane et al. Jun 2002 A1
20020082498 Wendt et al. Jun 2002 A1
20020095238 Ahlin et al. Jul 2002 A1
20020098879 Rheey Jul 2002 A1
20020104094 Alexander et al. Aug 2002 A1
20020111988 Sato Aug 2002 A1
20020120362 Lathan et al. Aug 2002 A1
20020130950 James et al. Sep 2002 A1
20020141595 Jouppi Oct 2002 A1
20020143923 Alexander Oct 2002 A1
20020177925 Onishi et al. Nov 2002 A1
20020183894 Wang et al. Dec 2002 A1
20020184674 Xi et al. Dec 2002 A1
20020186243 Ellis et al. Dec 2002 A1
20030030397 Simmons Feb 2003 A1
20030048481 Kobayashi Mar 2003 A1
20030050733 Wang et al. Mar 2003 A1
20030060808 Wilk Mar 2003 A1
20030063600 Noma et al. Apr 2003 A1
20030069752 LeDain et al. Apr 2003 A1
20030100892 Morley et al. May 2003 A1
20030104806 Ruef et al. Jun 2003 A1
20030114962 Niemeyer Jun 2003 A1
20030126361 Slater et al. Jul 2003 A1
20030135203 Wang et al. Jul 2003 A1
20030144579 Buss Jul 2003 A1
20030144649 Ghodoussi et al. Jul 2003 A1
20030151658 Smith Aug 2003 A1
20030171710 Bassuk et al. Sep 2003 A1
20030174285 Trumbull Sep 2003 A1
20030180697 Kim et al. Sep 2003 A1
20030199000 Valkirs et al. Oct 2003 A1
20030206242 Choi Nov 2003 A1
20030216834 Allard Nov 2003 A1
20030220541 Salisbury et al. Nov 2003 A1
20030220715 Kneifel, II et al. Nov 2003 A1
20030231244 Bonilla et al. Dec 2003 A1
20030232649 Gizis Dec 2003 A1
20040010344 Hiratsuka Jan 2004 A1
20040012362 Tsurumi Jan 2004 A1
20040013295 Sabe et al. Jan 2004 A1
20040019406 Wang et al. Jan 2004 A1
20040024490 McLurkin et al. Feb 2004 A1
20040041904 Lapalme et al. Mar 2004 A1
20040065073 Nash Apr 2004 A1
20040068657 Alexander et al. Apr 2004 A1
20040078219 Kaylor et al. Apr 2004 A1
20040080610 James et al. Apr 2004 A1
20040088077 Jouppi et al. May 2004 A1
20040093409 Thompson et al. May 2004 A1
20040098167 Yi et al. May 2004 A1
20040102167 Shim et al. May 2004 A1
20040117065 Wang et al. Jun 2004 A1
20040138547 Wang et al. Jul 2004 A1
20040143421 Wang et al. Jul 2004 A1
20040148638 Weisman et al. Jul 2004 A1
20040153211 Kamoto et al. Aug 2004 A1
20040157612 Kim Aug 2004 A1
20040162637 Wang et al. Aug 2004 A1
20040167666 Wang et al. Aug 2004 A1
20040167668 Wang et al. Aug 2004 A1
20040172301 Mihai et al. Sep 2004 A1
20040174129 Wang et al. Sep 2004 A1
20040175684 Kaasa et al. Sep 2004 A1
20040179714 Jouppi Sep 2004 A1
20040201602 Mody et al. Oct 2004 A1
20040215490 Duchon et al. Oct 2004 A1
20040224676 Iseki Nov 2004 A1
20040230340 Fukuchi et al. Nov 2004 A1
20040241981 Doris et al. Dec 2004 A1
20050003330 Asgarinejad Jan 2005 A1
20050013149 Trossell Jan 2005 A1
20050021182 Wang et al. Jan 2005 A1
20050021183 Wang et al. Jan 2005 A1
20050021187 Wang et al. Jan 2005 A1
20050021309 Alexander et al. Jan 2005 A1
20050024485 Castles et al. Feb 2005 A1
20050027567 Taha Feb 2005 A1
20050027794 Decker Feb 2005 A1
20050028221 Liu et al. Feb 2005 A1
20050035862 Wildman et al. Feb 2005 A1
20050038416 Wang et al. Feb 2005 A1
20050038564 Burick et al. Feb 2005 A1
20050052527 Remy et al. Mar 2005 A1
20050065438 Miller Mar 2005 A1
20050065659 Tanaka et al. Mar 2005 A1
20050065813 Mishelevich et al. Mar 2005 A1
20050071046 Miyazaki et al. Mar 2005 A1
20050078816 Sekiguchi et al. Apr 2005 A1
20050083011 Yang et al. Apr 2005 A1
20050099493 Chew May 2005 A1
20050110867 Schulz May 2005 A1
20050154265 Miro et al. Jul 2005 A1
20050182322 Grispo Aug 2005 A1
20050192721 Jouppi Sep 2005 A1
20050204438 Wang et al. Sep 2005 A1
20050212478 Takenaka Sep 2005 A1
20050219356 Smith et al. Oct 2005 A1
20050231156 Yan Oct 2005 A1
20050232647 Takenaka Oct 2005 A1
20050267826 Levy et al. Dec 2005 A1
20050283414 Fernandes et al. Dec 2005 A1
20060007943 Fellman Jan 2006 A1
20060013263 Fellman Jan 2006 A1
20060013469 Wang et al. Jan 2006 A1
20060013488 Inoue Jan 2006 A1
20060029065 Fellman Feb 2006 A1
20060047365 Ghodoussi et al. Mar 2006 A1
20060052676 Wang et al. Mar 2006 A1
20060052684 Takahashi et al. Mar 2006 A1
20060064212 Thorne Mar 2006 A1
20060074525 Close et al. Apr 2006 A1
20060082642 Wang et al. Apr 2006 A1
20060087746 Lipow Apr 2006 A1
20060095158 Lee et al. May 2006 A1
20060095170 Yang et al. May 2006 A1
20060098573 Beer et al. May 2006 A1
20060103659 Karandikar et al. May 2006 A1
20060104279 Fellman et al. May 2006 A1
20060122482 Mariotti et al. Jun 2006 A1
20060142983 Sorensen Jun 2006 A1
20060161303 Wang et al. Jul 2006 A1
20060164546 Adachi et al. Jul 2006 A1
20060173712 Joubert Aug 2006 A1
20060178776 Feingold et al. Aug 2006 A1
20060189393 Edery Aug 2006 A1
20060195569 Barker Aug 2006 A1
20060259193 Wang et al. Nov 2006 A1
20060293788 Pogodin Dec 2006 A1
20070021871 Wang et al. Jan 2007 A1
20070046237 Lakshmanan et al. Mar 2007 A1
20070050937 Song et al. Mar 2007 A1
20070064092 Sandberg et al. Mar 2007 A1
20070078566 Wang et al. Apr 2007 A1
20070112700 Den Haan et al. May 2007 A1
20070117516 Saidi et al. May 2007 A1
20070120965 Sandberg et al. May 2007 A1
20070135967 Jung et al. Jun 2007 A1
20070142964 Abramson Jun 2007 A1
20070176060 White et al. Aug 2007 A1
20070192910 Vu et al. Aug 2007 A1
20070197896 Moll et al. Aug 2007 A1
20070198128 Ziegler et al. Aug 2007 A1
20070199108 Angle et al. Aug 2007 A1
20070216347 Kaneko et al. Sep 2007 A1
20070250212 Halloran et al. Oct 2007 A1
20070262884 Goncalves et al. Nov 2007 A1
20070273751 Sachau Nov 2007 A1
20070291109 Wang et al. Dec 2007 A1
20070291128 Wang et al. Dec 2007 A1
20080011904 Cepollina et al. Jan 2008 A1
20080065268 Wang et al. Mar 2008 A1
20080082211 Wang et al. Apr 2008 A1
20080133052 Jones et al. Jun 2008 A1
20080201017 Wang et al. Aug 2008 A1
20080215987 Alexander et al. Sep 2008 A1
20080229531 Takida Sep 2008 A1
20080255703 Wang et al. Oct 2008 A1
20080269949 Norman et al. Oct 2008 A1
20080281467 Pinter Nov 2008 A1
20090030552 Nakadai et al. Jan 2009 A1
20090055023 Walters et al. Feb 2009 A1
20090105882 Wang et al. Apr 2009 A1
20090125147 Wang et al. May 2009 A1
20090237317 Rofougaran Sep 2009 A1
20090240371 Wang et al. Sep 2009 A1
20090259339 Wright et al. Oct 2009 A1
20100010672 Wang et al. Jan 2010 A1
20100010673 Wang et al. Jan 2010 A1
20100019715 Roe et al. Jan 2010 A1
20100070079 Mangaser et al. Mar 2010 A1
20100073490 Wang et al. Mar 2010 A1
20100076600 Cross et al. Mar 2010 A1
20100115418 Wang et al. May 2010 A1
20100131103 Herzog et al. May 2010 A1
20100191375 Wright et al. Jul 2010 A1
20100268383 Wang et al. Oct 2010 A1
20100323783 Nonaka et al. Dec 2010 A1
20110050841 Wang et al. Mar 2011 A1
20110071702 Wang et al. Mar 2011 A1
20110187875 Sanchez et al. Aug 2011 A1
20110190930 Hanrahan et al. Aug 2011 A1
20110218674 Stuart et al. Sep 2011 A1
20110292193 Wang et al. Dec 2011 A1
20110301759 Wang et al. Dec 2011 A1
20120023506 Maeckel et al. Jan 2012 A1
20120072023 Ota Mar 2012 A1
20120092157 Tran Apr 2012 A1
Foreign Referenced Citations (99)
Number Date Country
2 289 697 Nov 1998 CA
1554193 Dec 2004 CN
1554985 Dec 2004 CN
101106939 Jan 2008 CN
101390098 Mar 2009 CN
101507260 Aug 2009 CN
101730894 Jun 2010 CN
101866396 Oct 2010 CN
101978365 Feb 2011 CN
102203759 Sep 2011 CN
101106939 Nov 2011 CN
92466492 Jan 1992 EP
92488673 Jun 1992 EP
09 81905 Jan 2002 EP
1 262 142 Dec 2002 EP
1 536 660 Sep 2004 EP
1 536 660 Jun 2005 EP
20051573406 Sep 2005 EP
20051594660 Nov 2005 EP
20071791464 Jun 2007 EP
20071800476 Jun 2007 EP
20071856644 Nov 2007 EP
20081928310 Jun 2008 EP
20092027716 Feb 2009 EP
20102145274 Jan 2010 EP
20102214111 Aug 2010 EP
20102263158 Dec 2010 EP
20112300930 Mar 2011 EP
20112342651 Jul 2011 EP
2007-213753 Aug 1995 JP
2007-248823 Aug 1995 JP
07-257422 Oct 1995 JP
08-084328 Mar 1996 JP
968320727 Dec 1996 JP
9-267276 Oct 1997 JP
10079097 Mar 1998 JP
10288689 Oct 1998 JP
2000-032319 Jan 2000 JP
2000049800 Feb 2000 JP
2000079587 Mar 2000 JP
2000196876 Jul 2000 JP
2000-235423 Aug 2000 JP
2001125641 May 2001 JP
2001-147718 May 2001 JP
2001179663 Jul 2001 JP
2001-198865 Jul 2001 JP
2001-198868 Jul 2001 JP
2001-199356 Jul 2001 JP
2000-188124 Jan 2002 JP
2002-000574 Jan 2002 JP
2002-046088 Feb 2002 JP
2002112970 Apr 2002 JP
2002-305743 Oct 2002 JP
2002-355779 Dec 2002 JP
2004524824 Aug 2004 JP
2004261941 Sep 2004 JP
2004289379 Oct 2004 JP
2005028066 Feb 2005 JP
2005059170 Mar 2005 JP
2006224294 Aug 2006 JP
2006246438 Sep 2006 JP
2007081646 Mar 2007 JP
2010064154 Mar 2010 JP
2010532109 Sep 2010 JP
2010246954 Nov 2010 JP
20060037979 May 2006 KR
20090012542 Feb 2009 KR
20100019479 Feb 2010 KR
20100139037 Dec 2010 KR
WO 9306690 Apr 1993 WO
WO 9851078 Nov 1998 WO
WO 9967067 Dec 1999 WO
0033726 Jun 2000 WO
WO 03007745 Sep 2003 WO
2004008738 Jan 2004 WO
WO 2004075456 Sep 2004 WO
2006012797 Feb 2006 WO
2006078611 Apr 2006 WO
WO 2007041295 Apr 2007 WO
2007041038 Jun 2007 WO
2008100272 Aug 2008 WO
2008100272 Oct 2008 WO
2009117274 Sep 2009 WO
2009128997 Oct 2009 WO
2009145958 Dec 2009 WO
2010006205 Jan 2010 WO
2010006211 Jan 2010 WO
2010033666 Mar 2010 WO
2010047881 Apr 2010 WO
2010062798 Jun 2010 WO
2010065257 Jun 2010 WO
2010120407 Oct 2010 WO
2011028589 Mar 2011 WO
2011028589 Apr 2011 WO
2011097130 Aug 2011 WO
2011097132 Aug 2011 WO
2011109336 Sep 2011 WO
2011097132 Dec 2011 WO
2011149902 Dec 2011 WO
Related Publications (1)
Number Date Country
20100070079 A1 Mar 2010 US
Provisional Applications (1)
Number Date Country
61098156 Sep 2008 US