US10678338B2 - Determining and evaluating data representing an action to be performed by a robot - Google Patents
Determining and evaluating data representing an action to be performed by a robot Download PDFInfo
- Publication number
- US10678338B2 US10678338B2 US15/619,265 US201715619265A US10678338B2 US 10678338 B2 US10678338 B2 US 10678338B2 US 201715619265 A US201715619265 A US 201715619265A US 10678338 B2 US10678338 B2 US 10678338B2
- Authority
- US
- United States
- Prior art keywords
- robot
- action
- data
- data representing
- action data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/30—Surgical robots
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/70—Manipulators specially adapted for use in surgery
- A61B34/77—Manipulators with motion or force scaling
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods
- A61B2017/00017—Electrical control of surgical instruments
- A61B2017/00207—Electrical control of surgical instruments with hand gesture control or hand gesture recognition
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35444—Gesture interface, controlled machine observes operator, executes commands
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40413—Robot has multisensors surrounding operator, to understand intention of operator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0383—Remote input, i.e. interface arrangements in which the signals generated by a pointing device are transmitted to a PC at a remote location, e.g. to a PC in a LAN
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/02—Arm motion controller
- Y10S901/09—Closed loop, sensor feedback controls arm movement
Definitions
- Humans use machines, such as robots, to perform a variety of tasks.
- humans may use machines, such as robots, to perform certain physical tasks.
- the task performed by the machine could include, for example, assisting the human in performing a task or performing the task in place of the human.
- a processor accesses sensor input data received from one or more sensors.
- the sensor input data represents one or more gestures.
- the processor determines, based on the sensor input data representing the one or more gestures, action data representing an action to be performed by a robot.
- the action includes physical movements of the robot.
- the processor evaluates the action data representing the action to be performed by the robot in light of evaluation data.
- FIG. 1 illustrates an example of a system for determining and evaluating data representing an action to be performed by a robot, according to certain embodiments
- FIG. 2 illustrates details of an example of a robot action determiner module used in the system of FIG. 1 , according to certain embodiments;
- FIG. 3 illustrates an example of a method for determining and evaluating data representing an action to be performed by a robot, according to certain embodiments
- FIG. 4 illustrates an example of a method for determining and evaluating data representing an action to be performed by a robot, according to certain embodiments.
- FIG. 5 illustrates an example of a method for determining and evaluating data representing an action to be performed by a robot, according to certain embodiments.
- the disclosed system may improve accuracy of one or more technical activities through machine-guided movements.
- Technical operations may be optimized by mapping actions to be performed by a robot (e.g., making an incision or cracking ribs) to one or more macro gestures (e.g., a slicing or jabbing gesture) of a user (e.g., a surgeon).
- a surgeon may perform one or more gestures such as circling or sweeping his wrist to start a robotic process such as a medical procedure.
- the gestures may be synchronized with the procedure's timeline (e.g., a medical procedure's timeline) to automatically begin, navigate, and observe the process.
- Mapping simple gestures performed by a user to minute and detailed actions to be performed by a robot may reduce the requirement of the user (e.g., a surgeon) to perform the minute and detailed interactions, which may in turn reduce or eliminate user mistakes.
- a surgeon performing heart surgery may be required to move a heart one millimeter.
- the surgeon may accidentally move the heart two millimeters, causing irreparable damage to the patient.
- a surgeon's gesture of moving his hand one inch may be mapped to an action to be performed by a robot of moving a heart one millimeter, which may reduce or avoid accidental movement that may occur with direct interaction methods.
- Machine learning is the general practice of mathematical and statistical methods concerned with learning parameters for an algorithm from repeated examples to generate a repeatable response.
- Artificial intelligence is a superset of ML concerned with demonstrating intelligence through machines by combining ML and feedback observation systems.
- One example of AI is teaching a machine, such as a robot, to learn to perform a task without being explicitly programmed to do so.
- a machine such as a robot
- one or more components of a machine, or one or more components associated with the machine may study data to make predictions on the data based on pattern recognition.
- AI and ML may play an important role in technical activities such as surgery, technical repairs, and manufacturing. Surgery involving complex technical procedures, for example, may require precise interactions with a patient.
- Bypass surgery may require several complex but well-defined actions, such as making an incision in a patient's chest, cracking ribs, finding a particular artery, and isolating the heart.
- the disclosed system may have AI and ML abilities that determine and evaluate data representing an action to be performed by a robot so that procedures requiring a high level of precision, such as heart surgery, are automated. For example, a surgeon may make a series of broad gestures to instruct a robot do perform heart surgery, and the robot may possess the skills and knowledge to specifically perform one or more precise actions associated with these broad gestures.
- the system may include a computer with a VR/AR display that displays and highlights a repair site (e.g., an artery or a fiber optic cable).
- a repair site e.g., an artery or a fiber optic cable.
- An operator of the computer may verify that the highlighted repair site (e.g., the artery) is the correct repair site and issue a set of simple gestures to repair (e.g., stitch together) the repair site, such as simple twisting gestures and/or an audible command.
- the robot may then proceed to execute a precisely articulated, human driven operation with real-time feedback (e.g. speed and orientation control).
- the disclosed system may maintain the status of progress and tasks in queue to retain robotic actions being performed.
- the system may track observations (e.g., vital signs) in real time to provide situational awareness to the operator of the system.
- observations e.g., vital signs
- a system that includes a robot performing a complex operation requiring a high level of detail can record a force required to complete a process and compare the force to a typical force in a similar operation based on historical data.
- Notifications and suggestions may be sent back to an operator of the system to non-intrusively introduce conditions observed during the operation.
- the low-latency system may cross-reference and visually overlay observations on a VR/AR display from other historical procedures.
- FIG. 1 illustrates an example of a system 100 for determining and evaluating data representing an action to be performed by a robot, according to certain embodiments.
- system 100 includes a robot action determiner module 110 , a robot 120 , a computer 130 , one or more user sensors 140 associated with (e.g., worn by) a user 150 , and a network 160 .
- system 100 facilitates accessing, by robot action determiner module 110 , data received from user sensors 140 of user 150 and, based on the accessed data, determining and evaluating, by robot action determiner module 110 , action data representing an action to be performed by robot 120 .
- System 100 or portions thereof may be associated with an entity, which may include any entity, such as a business or company (e.g., a healthcare provider or a telecommunications company), that desires to make use of robot 120 to perform certain actions and to use system 100 to determine and evaluate data representing actions to be performed by robot 120 .
- entity such as a business or company (e.g., a healthcare provider or a telecommunications company), that desires to make use of robot 120 to perform certain actions and to use system 100 to determine and evaluate data representing actions to be performed by robot 120 .
- this entity is referred to as the entity associated with system 100 .
- this description focuses on an embodiment in which the entity is a health care provider (e.g., a hospital) and user 150 is a surgeon; however, the present disclosure contemplates the entity being any suitable type of entity and user 150 being any suitable user.
- robot action determiner module 110 may be operated by the entity and connected by network 160 ; however, the present disclosure contemplates all or a portion of system 100 being operated by any other suitable entity.
- the elements of system 100 may be implemented using any suitable combination of hardware, firmware, and software.
- robot action determiner module 110 of system 100 is a computer module for determining and evaluating data representing an action to be performed by robot 120 .
- robot action determiner module 110 accesses information such as sensor input data from user sensor(s) 140 .
- the sensor input data may represent one or more gestures performed by user 150 , such as a swipe, a jab, an uppercut, a circular hand movement, a twisting hand movement, a throw, and/or any other suitable gesture.
- Robot action determiner module 110 may determine, based on the sensor input data, action data representing an action (e.g., cutting an incision or cracking a rib) to be performed by robot 120 of system 100 .
- robot action determiner module 110 may determine action data by mapping the one or more gestures performed by user 150 (e.g., a jab) to an action (e.g., cracking a sternum during open heart surgery).
- the action data determined and evaluated by robot action determiner module 110 represents a pre-defined set of movements to be performed by robot 120 .
- the pre-defined set of movements may include a single movement (e.g., sewing one stitch), a series of repeated movements (e.g., sewing multiple stitches), and/or a series of different movements (e.g., cutting an incision in a patient's chest, cutting the patient's breastbone, and repairing a blocked artery).
- Robot action determiner module 110 may have AI and ML capabilities. For example, robot action determiner module 110 may study evaluation data to make predictions for action data. In certain embodiments, robot action determiner module 110 evaluates the action data representing the action to be performed by robot 120 in light of evaluation data. For example, robot action determiner module 110 may evaluate action data representing cracking a sternum during open heart surgery in light of historical data of past open heart surgery procedures that involved cracking a sternum. In certain embodiments, robot action determiner module 110 may discover similarities between the action data (e.g., action data representing cracking a sternum) and the evaluation data (e.g., historical data) and, based on these similarities, transmit the action data to robot 120 via network 160 (see notation 162 of FIG. 1 ).
- the action data e.g., action data representing cracking a sternum
- the evaluation data e.g., historical data
- robot action determiner module 110 may discover differences between the action data and the evaluation data and, based on these differences, alter the action data to more closely align with the evaluation data and/or transmit the action data to an operator (e.g., operator 132 ) of system 100 for feedback.
- Robot action determiner module 110 is described in more detail below in reference to FIG. 2 .
- Robot 120 of system 100 may be any machine that can perform one or more actions automatically.
- robot 120 may be a medical robot (e.g., a surgical robot) or an industrial robot.
- Robot 120 may perform one or more actions including but not limited to moving (e.g., moving in multiple axes), cutting (e.g., cutting an artery or a wire), breaking (e.g., breaking a bone or a rock), inspecting (e.g., inspecting a heart or a fiber optic hub), testing (testing an environmental condition), repairing (e.g., repairing a wound), and/or any other suitable action.
- robot 120 performs an action or a series of actions in accordance with action data received from robot action determiner module 110 .
- robot 120 may perform a precise action such as sewing up a patient's wound with one stitch.
- robot 120 may perform a series of precise actions such as sewing up a patient's wound with ten stitches.
- robot 120 may perform a series of actions that include different movements such as moving one millimeter forward, two millimeters to the right, and then sewing up a patient's wound with seven stitches.
- Robot 120 includes a memory 121 , an interface 122 , and a processor 123 .
- Memory 121 of robot action determiner module 110 stores, permanently and/or temporarily, received and transmitted information, as well as system software, control software, and other software for robot 120 , and a variety of other information.
- Memory 121 may store information for execution by processor 123 .
- memory 121 stores data (e.g., action data) received from robot action determiner module 110 .
- Memory 121 of robot 120 may store data received from computer 130 , sensor(s) 125 of robot 120 , and/or user sensor(s) 140 of user 150 .
- Memory 121 includes any one or a combination of volatile or non-volatile local or remote devices suitable for storing information.
- memory 121 may include Random Access Memory (“RAM”), Read-only Memory (“ROM”), magnetic storage devices, optical storage devices, or any other suitable information storage device or a combination of these devices.
- RAM Random Access Memory
- ROM Read-only Memory
- Memory 121 may include any suitable information for use in the operation of robot 120 .
- memory 121 may be a component external to (or may be partially external to) robot 120 .
- Memory 121 may be located at any location suitable for memory 121 to communicate with robot 120 .
- Interface 122 of robot 120 represents any suitable computer element that can receive information from network 160 , transmit information through network 160 , perform suitable processing of the information, communicate to other components (e.g., computer 130 ) of system 100 , or any combination of the preceding.
- interface 122 of robot 120 may receive action data from robot action determiner module 110 via network 160 (see notation 162 of FIG. 1 ) and/or transmit feedback pertaining to the received action data to robot action determiner module 110 via network 160 (see notation 164 of FIG. 1 ).
- interface 122 of robot 120 may transmit feedback to computer 130 via network 160 (see notation 166 of FIG. 1 ) and/or receive action data and/or feedback from computer 130 via network 160 .
- Interface 122 represents any port or connection, real or virtual, including any suitable combination of hardware, firmware, and software, including protocol conversion and data processing capabilities, to communicate through a Local Area Network (“LAN”), Wide Area Network (“WAN”), or other communication system that allows the entity associated with system 100 to exchange information between components of system 100 .
- LAN Local Area Network
- WAN Wide Area Network
- Processor 123 of robot 120 controls the operation of robot 120 by processing information received from interface 122 and memory 121 or otherwise accessed by processor 123 .
- Processor 123 communicatively couples to interface 122 and memory 121 .
- Processor 123 includes any hardware and/or software that operates to control and process information.
- Processor 123 may be a programmable logic device, a microcontroller, a microprocessor, any suitable processing device, or any suitable combination of the preceding. Additionally, processor 123 may be a component external to robot 120 .
- Processor 123 may be located in any location suitable for processor 123 to communicate with robot 120 .
- Processor 123 performs operations of robot 120 such as initiating robot 120 to perform one or more actions associated with action data received from robot action determiner module 110 .
- Robot sensor 125 may be a device associated with (e.g., attached to or included within) robot 120 that can detect and respond to input (e.g., input from a physical environment such as heat, motion, moisture, light, or pressure).
- Robot sensor 125 may be, for example, a two-dimensional vision sensor, a three-dimensional vision sensor, a force torque sensor, a collision detection sensor, or a tactile sensor.
- robot sensor 125 detects input, such as motion, and transmits feedback associated with the sensor input (e.g., robot sensor data) to one or more components of system 100 (e.g., robot action determiner 110 and/or computer 130 ).
- Robot sensor 125 may be one robot sensor in a collection of robot sensors 125 [ a - n ].
- Each such robot sensor (illustrated here as 125 [ a ] . . . 125 [ n ]) is one among a total of N, where N is any suitable integer.
- robot sensors 125 a - n include more than one type of sensor (e.g., a motion sensor and a temperature sensor).
- Computer 130 of system 100 may be any computing device that provides a mechanism to view and interact with information received from one or more components (e.g., robot action determiner module 110 ) of system 100 .
- computer 130 includes a graphical user interface (GUI) that can display information.
- GUI graphical user interface
- Computer 130 may display and or highlight, via a GUI, a repair site (e.g., an artery or a wire) located by robot 120 .
- computer 130 includes a VR/AR display.
- the VR/AR display of system 100 may cross-reference and visually overlay observations from other historical procedures, such as video references, schematic diagrams, and/or diagnostic diagrams.
- Computer 130 may also display details from observed non-visual conditions such as sonar, thermal, or density values.
- computer 130 may receive thermal data from robot sensor 125 (e.g., a temperature sensor) and display the temperature associated with the thermal data on a display.
- robot sensor 125 e.g., a temperature sensor
- Computer 130 may be located on the physical premises of the entity associated with system 100 (e.g., one or more buildings at one or more geographical locations of the entity). For example, for an entity such as a healthcare provider, computer 130 may be located within a hospital of the healthcare provider. In some embodiments, computer 130 is located outside of the physical premises of the entity associated with system 100 (e.g., at a residence of operator 132 ). For security purposes, operator 132 of computer 130 may connect to network 160 of the entity associated with system 100 via a virtual private network (VPN).
- VPN virtual private network
- Computer 130 includes an interface that can receive information from network 160 , transmit information through network 160 , perform suitable processing of the information, communicate to other components (e.g., robot action determiner module 110 ) of system 100 , or any combination of the preceding.
- an interface of computer 130 may receive feedback from robot 120 via network 160 (see notation 166 of FIG. 1 ) and/or transmit feedback to robot action determiner module 110 via network 160 (see notation 168 of FIG. 1 ).
- computer 130 and robot action determiner module 110 may be integrated into a single component.
- robot action determiner module 110 may be an application run by computer 130 .
- Operator 132 may be any person interacting with computer 130 of system 100 (e.g., a technician, a surgeon, or a surgeon's assistant) who is involved with overseeing the determination and evaluation of action data representing an action to be performed by robot 120 .
- operator 132 may be responsible for viewing one or more images received from robot 120 or robot action determiner 110 on computer 130 .
- operator 132 analyzes action data received from robot action determiner module.
- operator 132 may interact with a display (e.g., a GUI and/or a VR/AR display) of computer 130 by viewing an image of a repair site location discovered by robot 120 on the display of computer 130 and highlighting a particular location (e.g., an artery or a wire) for repair by selecting (e.g., touching) the particular location within the image.
- operator 132 of computer 130 verifies action data to be performed by robot 120 .
- Operator 132 may send a verification to robot action determiner module 110 to transmit the action data to robot 120 .
- operator 132 alters the action data received from robot action determiner module 110 and sends the altered action data to robot action determiner module 110 for transmission to robot 120 .
- Operator 132 may use computer 130 to connect to robot action determiner module 110 and/or robot 120 over network 160 .
- operator 132 of computer 130 is authorized by the entity associated with system 100 to access robot action determiner 110 and/or robot 120 .
- operator 132 accesses robot action determiner 110 by logging into a home page of robot action determiner 110 via computer 130 .
- Operator 132 may be requested to enter an identification associated with the entity associated with system 100 to access robot action determiner module 110 via a web portal.
- the present disclosure contemplates any suitable component performing these features.
- the present disclosure contemplates a software application automatically performing these operations.
- the software application may automatically verify action data to be performed by robot 120 and send a verification to robot action determiner module 110 .
- User sensor 140 may be a device associated with (e.g., attached to) user 150 that can detect and respond to input (e.g., input from a physical environment such as heat, motion, moisture, light, or pressure).
- User sensor 150 may be, for example, a motion sensor.
- user sensor 140 is worn by user 150 .
- user sensor 140 may be integrated into a glove, an elbow pad, a knee pad, or eyewear worn by user 150 .
- user sensor 140 may be associated with an object.
- user sensor 140 may be attached to a physical instrument (e.g., a surgical knife or a screwdriver).
- user sensor 140 detects input, such as a gesture, and transmits data representing the input (e.g., user sensor data) to one or more components of system 100 (e.g., robot action determiner 110 and/or computer 130 ). For example, user sensor 140 may transmit user sensor data to robot action determiner 110 via network 160 (see notation 170 of FIG. 1 ).
- User sensor 140 may be one user sensor in a collection of user sensors 140 [ a - n ]. Each such user sensor (illustrated here as 140 [ a ] . . . 140 [ n ]) is one among a total of N, where N is any suitable integer.
- user sensors 140 a - n include more than one type of sensor (e.g., a motion sensor and a temperature sensor).
- User 150 of system 100 may be any person or thing associated with system 100 (e.g., a technician, a surgeon, or a machine) that is capable of performing one or more gestures.
- a gesture may be any movement of a part of a body of user 150 .
- a gesture may be a jab, an uppercut, a throw, a lift, a block, a sway, a blink, and/or a kick.
- a gesture may be a combination of movements, such as a wave and a finger movement.
- a gesture of user 150 is multi-modal.
- a gesture may involve speech and eye movement.
- user 150 is associated with (e.g., wearing) user sensor(s) 140 .
- user 150 makes a gesture while holding a physical object with sensor(s) 140 attached to the physical object.
- user 150 of system 100 is operator 132 of computer 130 .
- user 150 of system 100 and operator 132 of computer 130 of system 100 may both be the same surgeon.
- Network 160 of system 100 may include any device or collection of devices that facilitate communication between components of system 100 .
- network 160 may facilitate the transfer of information between robot action determiner module 110 , robot 120 , computer 130 , and user sensor(s) 140 .
- Network 160 can be implemented using any suitable network or networking technology.
- one or more portions of network 160 may include an ad hoc network, an intranet, an extranet, a VPN, LAN, a wireless LAN (WLAN), a WAN, a wireless WAN (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (STN), a cellular telephone network, or a combination of two or more of these.
- network 160 is a private network that isolates users and workgroups external to the entity.
- network 160 may only be accessible to an operator 132 on the premises of the entity associated with system 100 .
- network 160 may be accessible to users 122 via a secure link (e.g., a VPN).
- the VPN may allow operator 132 of computer 130 to send and receive data as if computer 130 were directly connected to network 160 while maintaining the security of network 160 .
- network 160 facilitates communication between one or more components of system 100 (e.g., robot action determiner module 110 ) hosted in a cloud environment.
- System 100 illustrates just one example of a system for determining and evaluating data representing an action to be performed by a robot (e.g., robot 120 ). Modifications, additions, or omissions may be made to system 100 .
- system 100 may include any number of robot action determiner modules 110 .
- system 100 may include any number of robots 120 .
- system 100 may coordinate actions of multiple robots 120 by mapping action data for each robot 120 to the same gesture of user 150 .
- the components of system 100 may be integrated or separated.
- robot action determiner module 110 and computer 130 may be incorporated into a single component.
- robot action determiner module 110 receives sensor input data representing a gesture (e.g., a jab) from user sensor(s) 140 attached to user 150 .
- Robot action determiner module 110 determines, based on the sensor input data representing the gesture, action data representing an action to be performed by robot 120 (e.g., cracking a patient's rib).
- Robot action determiner module 110 then evaluates the action data representing the action to be performed by robot 120 in light of evaluation data (e.g., historical data pertaining to past similar surgeries) and determines to transmit the action data to robot 120 based on a comparison of the action data and the evaluation data.
- evaluation data e.g., historical data pertaining to past similar surgeries
- Robot action determiner module 110 initiates transmission (see notation 168 ) of the action data, the evaluation data, and a request to approve the action data for transmission to robot 120 to computer 130 and accesses a confirmation from computer 130 to transmit the action data to robot 130 . Based on this confirmation, robot action determiner module 110 initiates transmission of the action data to robot 120 via network 160 (see notation 162 ).
- robot action determiner module 110 accesses feedback from robot 120 (e.g., a notification that a first action has been completed) based at least in part on robot 120 performing the first action (e.g., cracking the patient's rib).
- Robot action determiner module 110 determines, based on the feedback from robot 120 , action data representing a second action to be performed by robot 120 .
- Robot action determiner module 110 evaluates the action data representing the second action to be performed by robot 120 in light of evaluation data.
- Robot action determiner module 110 determines, based on the evaluation data, not to transmit the action data representing the second action to be performed by robot 120 to robot 120 .
- Robot action determiner module 110 alters the action data in light of evaluation data and initiates transmission (see notation 168 ) of the altered action data to operator 132 of computer 130 .
- Robot action determiner module 110 determines that operator 132 verified the altered action data for transmission to robot 120 and initiates transmission of the altered action data to robot 120 (see notation 162 ).
- robot action determiner module 110 accesses user sensor data (e.g., data representing a jabbing gesture performed by user 150 ) from user sensor(s) 140 .
- Robot action determiner module 110 determines, based on the user sensor data, action data representing an action (e.g., a movement) to be performed by robot 120 .
- Robot action determiner module evaluates the action data representing the action to be performed by robot 120 in light of evaluation data.
- Robot action determiner module 110 initiates transmission (see notation 168 ) of the action data to operator 132 of computer 130 .
- Robot action determiner module 110 accesses feedback from operator 132 .
- Robot action determiner module 110 determines that the feedback from operator 132 proposes an alteration to the action data.
- Robot action determiner module 110 alters the action data in accordance with the feedback from operator 132 and initiates transmission of the altered action data to robot 120 (see notation 162 ).
- FIG. 2 illustrates details of an example of a robot action determiner module 110 used in the system of FIG. 1 , according to certain embodiments.
- robot action determiner module 110 evaluates action data representing an action to be performed by robot 120 in light of evaluation data.
- robot action determiner module 110 includes a processing system 210 and a database 220 .
- the elements of robot action determiner module 110 may be implemented using any suitable combination of hardware, firmware, and software.
- Robot action determiner module 110 may be implemented using one or more computer systems at one or more locations. Each computer system may include any appropriate input devices, output devices, mass storage media, processors, memory, or other suitable components for receiving, processing, storing, and communicating data. For example, each computer system may include a personal computer, workstation, network computer, kiosk, wireless data port, PDA, one or more IP telephones, one or more servers, a server pool, switch, router, one or more processors within these or other devices, or any other suitable processing device.
- Robot action determiner module 110 may be a stand-alone computer or may be a part of a larger network of computers associated with an entity. In certain embodiments, robot action determiner module 110 is a program. For example, robot action determiner module 110 may be an application downloaded on computer 130 of FIG. 1 . In some embodiments, robot action determiner module 110 is hosted in a cloud environment.
- Processing system 210 of robot action determiner module 110 determines and evaluates data received from robot 120 , computer 130 , user sensors 140 of user 150 , and or data stored in database 220 .
- Processing system 210 includes a processor 230 , an interface 240 , and a memory 250 .
- Memory 250 of processing system 210 includes an input module 252 , an input determiner module 254 , an action evaluator module 256 , and a tracking module 258 .
- Processor 230 of robot action determiner module 110 controls the operation of robot action determiner module 110 by processing information received from interface 240 and memory 250 or otherwise accessed by processor 230 .
- Processor 230 communicatively couples to interface 240 and memory 250 .
- Processor 230 includes any hardware and/or software that operates to control and process information.
- processor 230 controls the operation of input module 252 , input determiner module 254 , action evaluator module 256 , and tracking module 258 .
- Processor 230 may be a programmable logic device, a microcontroller, a microprocessor, any suitable processing device, or any suitable combination of the preceding. Additionally, processor 230 may be a component external to robot action determiner module 110 .
- Processor 230 may be located in any location suitable for processor 230 to communicate with robot action determiner module 110 .
- Processor 230 performs operations of robot action determiner module 110 such as determining and evaluating data representing an action to be performed by robot 120 .
- Interface 240 of robot action determiner module 110 represents any suitable computer element that can receive information from network 160 , transmit information through network 160 , perform suitable processing of the information, communicate to other components (e.g., computer 130 ) of system 100 , or any combination of the preceding.
- interface 240 may receive data from user sensor(s) 140 , transmit data (e.g., action data) to robot 120 , transmit data to computer 130 , and receive data from computer 130 .
- Interface 240 represents any port or connection, real or virtual, including any suitable combination of hardware, firmware, and software, including protocol conversion and data processing capabilities, to communicate through a Local Area Network (“LAN”), Wide Area Network (“WAN”), or other communication system that allows the entity associated with system 100 to exchange information between components of system 100 .
- LAN Local Area Network
- WAN Wide Area Network
- Memory 250 of robot action determiner module 110 stores, permanently and/or temporarily, received and transmitted information, as well as system software, control software, and other software for robot action determiner module 110 , and a variety of other information. Memory 250 may store information for execution by processor 230 . In the illustrated embodiment, memory 250 stores the following applications of robot action determiner module 110 : input module 252 , input determiner module 254 , action evaluator module 256 , and tracking module 258 . Memory 250 of robot action determiner module 110 may store data received from robot 120 , robot sensor(s) 125 , computer 130 , user sensor(s) 140 , and/or database 220 .
- Memory 250 includes any one or a combination of volatile or non-volatile local or remote devices suitable for storing information.
- memory 250 may include Random Access Memory (“RAM”), Read-only Memory (“ROM”), magnetic storage devices, optical storage devices, or any other suitable information storage device or a combination of these devices.
- RAM Random Access Memory
- ROM Read-only Memory
- Memory 250 may include any suitable information for use in the operation of robot action determiner module 110 .
- memory 250 may be a component external to (or may be partially external to) robot action determiner module 110 .
- Memory 250 may be located at any location suitable for memory 250 to communicate with robot action determiner module 110 .
- Input module 252 of processing system 210 may access data received from robot 120 , robot sensor(s) 125 , computer 130 , user sensor(s) 140 , and or database 220 .
- input module 252 may access data received via interface 240 of processing system 210 from user sensor(s) 140 .
- the accessed data may represent one or more gestures (e.g., a jabbing gesture performed by user 150 ).
- Input module 252 of processing system 210 may transmit data to robot 120 , robot sensor(s) 125 , computer 130 , and/or database 220 .
- input module 240 may transmit accessed user sensor data to memory 250 or database 220 for storage.
- input module 252 of processing system 210 may transmit data to interface 240 for transmission to robot 120 .
- input module 252 transmits data to input determiner module 254 of processing system 210 .
- input determiner module 254 of processing system 210 receives data (e.g., user sensor data) from input module 252 and determines, based on the received data, action data representing an action to be performed by robot 120 .
- action data representing an action to be performed by robot 120 may include data stored in memory 250 and/or database 220 .
- action data is data representing one or more movements to be performed by robot 120 .
- Action data may instruct robot 120 to perform one or more movements of one or more parts of robot 120 .
- action data may instruct robot 120 to move an arm of robot 120 a certain distance (e.g., one millimeter) in a certain direction.
- action data may instruct robot 120 to perform one or more measurements.
- action data may instruct robot 120 to measure temperature, humidity, or pressure.
- database 220 may store action data representing a pre-defined set of actions (e.g., movements) to be performed by robot 120 .
- Data received by input determiner module 254 may represent a gesture, such as a jab, performed by user 150 , and input determiner module 110 may determine action data representing an action to be performed by robot 120 , such as breaking a rib of a patient, by mapping the received data representing the jab to the action data representing breaking a rib.
- the received data may represent a gesture, such as a circle or sweep of a wrist of user 150
- input determiner module 254 may determine action data representing an action to be performed by robot 120 , such as initiating an operation, by mapping the input data representing the circle or sweep of the wrist to the action data representing robot 120 initiating the operation.
- input determiner module 254 associates data received from input module 252 with one or more profiles of a particular user. For example, input module 252 may receive user sensor data representing a gesture (e.g., a jabbing gesture) performed by User A, and input determiner module 254 may associate the user sensor data with a profile of User A. In certain embodiments, input determiner module 254 determines action data representing an action to be performed by robot 120 based at least in part on the user profile associated with the data received from input module 252 .
- a gesture e.g., a jabbing gesture
- robot action determiner module 110 may store different instructions (e.g., instructions for cutting an artery) in memory 250 for different users, and input determiner module 254 may determine action data representing an action to be performed by robot 120 (e.g., the action of cutting an artery) by mapping user sensor data representing a gesture performed by User X (e.g., a slicing gesture) to a set of instructions specific to User X (e.g., User X's instructions for cutting an artery). In certain embodiments, input determiner module 254 transmits the action data to action evaluator module 256 .
- instructions e.g., instructions for cutting an artery
- input determiner module 254 may determine action data representing an action to be performed by robot 120 (e.g., the action of cutting an artery) by mapping user sensor data representing a gesture performed by User X (e.g., a slicing gesture) to a set of instructions specific to User X (e.g., User X's instructions for cutting an artery
- Action evaluator module 256 of robot action determiner module 110 receives action data representing the action to be performed by robot 120 from input determiner module 254 and evaluates the action data in light of evaluation data. Evaluation data may be data used to determine whether to transmit the action data representing the action to be performed by robot 120 . For example, action evaluator module 256 may determine to transmit the action data representing the action to be performed by robot 120 to robot 120 . As another example, action evaluator module 256 may determine to transmit the action data representing the action to be performed by robot 120 to computer 130 . In certain embodiments, action evaluator module 256 may determine to alter the action data representing the action to be performed by robot 120 .
- action evaluator module 256 accesses feedback from robot 120 .
- input module 252 may access feedback from sensor(s) 125 of robot 120 via interface 240 and transmit the feedback to action evaluator module 256 .
- the feedback may be based on robot 120 performing one or more actions (e.g., the action associated with the action data).
- action evaluator module 256 may transmit action data to robot 120 via interface 240 instructing robot 120 to break a patient's rib, and action evaluator module 256 may access feedback resulting from robot 120 breaking the patient's rib, such as feedback representing completion of the task.
- the feedback may include one or more positions of sensor(s) 125 attached to or included within robot 120 .
- the feedback may include Global Positioning System (GPS) data of sensor 125 a attached to robot 120 .
- the feedback may include one or more conditions observed by robot 120 .
- robot 120 may perform the action of breaking a patient's rib, and the feedback may include resistance data resulting from the pressure applied by robot 120 to break the patient's rib.
- the feedback may include an image taken by robot 120 (e.g., an image of a broken rib or an image of a located artery).
- the feedback may include data associated with environmental conditions (e.g., temperature, humidity, barometric pressure, and/or air flow).
- action evaluator module 256 accesses feedback from computer 130 .
- input module 252 may access feedback from computer 130 via interface 240 .
- the feedback may be based on input from operator 132 into computer 130 .
- action evaluator module 256 may transmit action data representing an action (e.g., the action of breaking a patient's rib) to computer 130 , and action evaluator module 256 may access feedback from operator 132 cancelling the action.
- action evaluator module 256 may transmit action data representing an action (e.g., the action of sewing six stitches in a patient) to computer 130 , and action evaluator module 256 may access feedback from operator 132 altering the action data to represent a different action (e.g., the action of sewing eight stitches in the patient).
- action data representing an action e.g., the action of sewing six stitches in a patient
- action evaluator module 256 may access feedback from operator 132 altering the action data to represent a different action (e.g., the action of sewing eight stitches in the patient).
- action evaluator module 256 determines to alter action data representing the action to be performed by robot 120 based on evaluating the action data in light of the evaluation data.
- action data may include data instructing robot 120 to make a six-inch incision down a breastbone of a patient during open-heart surgery, and action evaluator module 256 may alter the incision length to three inches based on evaluation data showing historical incisions of three inches during open-heart surgery.
- action evaluator module 256 may transmit the altered action data to computer 130 .
- action evaluator module 256 may access a verification of the altered action data from computer 130 prior to transmitting the altered action data to robot 120 .
- action evaluator module 256 may transmit the altered action data to robot 120 without prior verification from computer 130 .
- Tracking module 258 of robot action determiner module 110 may track and/or record information from current and/or past activities.
- the tracked information is stored in robot action determiner module 110 .
- the tracked information may be stored as evaluation data in memory 250 or a database of robot action determiner module 110 .
- Tracking module 258 may track and record data in real time as it occurs during a procedure, such as open heart surgery, and transmit the recorded data to computer 130 for feedback from operator 132 .
- Tracking module 258 may track and record data from historical operations to be used by robot action determiner module 110 as evaluation data.
- tracking module 258 tracks and/or records feedback from operator 132 and/or robot 120 .
- tracking module 258 synchronizes the tracked or recorded data to action data (e.g., a task list compiled for an operation). In certain embodiments, tracking module 258 may notify operator 132 of any deviations and anomalies of the action data as compared to the tracked and recorded data.
- action data e.g., a task list compiled for an operation.
- Database 220 of robot action determiner module 110 may be any one or a combination of volatile or non-volatile local or remote devices suitable for storing information.
- database 220 may include Random Access Memory (“RAM”), Read-only Memory (“ROM”), magnetic storage devices, optical storage devices, or any other suitable information storage device or a combination of these devices.
- Database 220 may include any suitable information for use in the operation of robot action determiner module 110 .
- database 220 may be a component external to (or may be partially external to) robot action determiner module 110 .
- Database 220 may be located at any location suitable for database 220 to communicate with robot action determiner module 110 . In certain embodiments, database 220 may be hosted in a cloud environment.
- Database 220 may store input data 260 and evaluation data 270 .
- Input data 260 includes user sensor data 262 , computer data 264 , and robot data 266 .
- User sensor data 262 of input data 260 is data received from user sensor(s) 140 associated with (e.g., worn by) user 150 .
- user sensor data 262 may be input data 260 representing one or more gestures (e.g., a jab, an uppercut, a throw, a lift, a block, a sway, a kick, or a finger count) of user 150 .
- gestures e.g., a jab, an uppercut, a throw, a lift, a block, a sway, a kick, or a finger count
- Computer data 264 of input data 260 may be data received from computer 130 .
- input module 252 of processing system 210 may receive computer data 264 from computer 130 and transmit computer data 264 to database 220 .
- computer data 264 includes action data representing one or more actions to be performed by robot 120 .
- computer data includes altered action data resulting from operator 132 viewing and modifying the action data received from action evaluator module 256 .
- computer data includes a verification of action data.
- operator 132 of computer 130 may view action data, confirm that the action data should be transmitted to robot 120 , and transmit a verification or instruction to input determiner module 254 to transmit the action data to robot 120 .
- Input module 252 may then transmit this verification or instruction to database 220 for storage.
- computer data 264 includes data input into computer 130 by operator 132 of system 100 .
- computer data 264 includes data automatically transmitted from computer 130 to robot action determiner module 110 without input from operator 132 .
- Robot data 266 of input data 260 may be data received from robot 120 .
- robot data 266 is data received from robot sensor(s) 125 associated with (e.g., attached to) or included within with robot 120 .
- robot data 266 may include data received from a two-dimensional vision sensor, a three-dimensional vision sensor, a force torque sensor, a collision detection sensor, or a tactile sensor.
- robot data 266 is feedback received from robot 120 as a result of robot 120 performing one or more actions associated with action data.
- robot data 266 may include a GPS location of robot 120 after robot 120 performs a movement.
- robot data 266 may include a notification that robot 120 has completed the action data.
- Evaluation data 270 of database 220 may be any data used by action evaluator module 256 of processing system 210 to evaluate action data received from input determiner module 254 of processing system 210 .
- evaluation data 270 is data that assists action evaluator module 256 in learning what action a machine (e.g., robot 120 ) should perform.
- Robot action determiner module 110 may study evaluation data 270 to make predictions (e.g., predictions for action data) based on, for example, pattern recognition.
- Evaluation data 270 may assist action evaluator module 256 in detecting anomalies in the action data (e.g., a deviation from a standard).
- evaluation data 270 may assist action evaluator module 256 in detecting anomalies in an environment (e.g., a patient with an abnormal condition). In certain embodiments, evaluation data 270 is used to predict one or more actions. Evaluation data 270 may be used to verify that the action data is in agreement with a predicted action.
- Model 272 is data that includes example instructions for performing one or more actions.
- model 272 may be may be a procedural model with example instructions for cutting an artery in a patient.
- model 272 may be example instructions for moving a patient's heart.
- model 272 may be used by input determiner module 254 to determine action data.
- input determiner module 254 may map user sensor data to model 272 .
- model 272 is learned by system 100 .
- robot action determiner module 110 may create model 272 by learning to execute an action based on sensory feedback.
- Historical data 274 of evaluation data 270 may be data based on one or more historical observations.
- historical data 274 includes data from a previous procedure.
- historical data 274 may include action data from a previous open heart surgery.
- historical data 274 may include problems recorded during a previous procedure.
- historical data 274 may include data indicating that an infection resulted from performing a certain procedure in accordance with particular action data.
- historical data may include environmental conditions during past procedures.
- historical data 274 may include data indicating that the average chest incision length during past open heart surgeries was six inches.
- historical data 274 may include data indicating that the average temperature of the operating room during open heart surgery was 67 degrees Fahrenheit.
- Policies 274 of evaluation data 270 may be data including one or more rules applicable to certain activities.
- policies 274 include standards set forth by an entity.
- policy 274 may be a standard that the operating room temperature must be between 65 and 70 degrees Fahrenheit during each medical procedure.
- policies 274 include rules set forth by operator 132 of computer 130 .
- operator 132 may set a policy 274 that all chest incisions for open heart surgery must be between three and six inches.
- Evaluation data 270 may be data collected while an activity (e.g., a repair) is taking place.
- evaluation data 270 is an observable condition of an object (e.g., a patient or a wire) that is the subject of robot 120 .
- evaluation data 270 may be a vital sign of a patient that is a subject of robot 120 , such as a patient's temperature or heart rate.
- evaluation data 270 may be an environmental condition surrounding robot 120 , such as a temperature or humidity of an operating room.
- evaluation data 270 is data learned by one or more components of system 100 .
- robot action determiner module 110 may learn, from pattern recognition, that user sensor data 262 from user sensor(s) 140 , such as data representing an uppercut gesture, is associated with a particular user, such as Surgeon A, based on a certain configuration of Surgeon A's hand (e.g., an open rather than closed fist).
- robot action determiner module 100 may include any number of databases 220 .
- the components of robot action determiner module 100 may be integrated or separated.
- input determiner module 254 and action determiner module 256 may be incorporated into a single component.
- FIG. 3 illustrates an example of a method 300 for determining and evaluating data representing an action to be performed by robot 120 , according to certain embodiments.
- the method begins at step 310 .
- processor 230 of robot action determiner module 110 accesses user sensor data 262 from user sensor(s) 140 .
- user sensor data 262 represents one or more gestures performed by user 150 .
- user sensor data 262 may represent a jabbing gesture performed by user 150 .
- Method 300 may then proceed to step 330 .
- processor 230 of robot action determiner module 110 determines, based on user sensor data 262 , action data representing an action to be performed by robot 120 .
- processor 230 may map user sensor data 262 to the action data by associating the one or more gestures performed by user 150 with one or more movements to be performed by robot 120 .
- the action data represents a pre-defined set of movements to be performed by robot 120 .
- Method 300 may then proceed to step 340 .
- processor 230 of robot action determiner module 110 evaluates the action data representing the action to be performed by robot 120 in light of evaluation data 270 .
- evaluation data 270 includes one or more models 272 , historical data 274 , and/or one or more policies 276 .
- Processor 230 may evaluate the action data to be performed by robot 120 by comparing the action data to evaluation data 270 .
- the action data may instruct robot 120 to cut a three-inch incision in a patient's chest for bypass surgery, and processor 230 may compare this action data to historical data 274 from past surgeries that instructed robot 120 to cut a six-inch incision in a patient's chest for bypass surgery.
- Method 300 may then proceed to step 350 .
- processor 230 of robot action determiner module 110 determines whether to transmit the action data to be performed by robot 120 to robot 120 .
- processor 230 verifies that the action data should be transmitted to robot 120 .
- the action data may instruct robot 120 to cut a three-inch incision, and the evaluation of the action data may confirm that a three-inch incision was commonly performed in past similar procedures. If processor 230 verifies that the action data should be transmitted to robot 120 , method 300 proceeds to step 390 , and processor 230 initiates transmission of the action data to robot 120 . Otherwise, method 300 proceeds to step 360 .
- processor 230 of robot action determiner module 110 alters the action data.
- processor 230 alters the action data in light of evaluation data 270 .
- processor 230 may alter action data instructing robot 120 to cut a three-inch incision in a patient's chest for bypass surgery to instruct robot 120 to cut a six-inch incision in the patient's chest to match historical data 274 from past similar surgeries.
- Method 300 may then move to step 370 .
- processor 230 of robot action determiner module 110 initiates transmission of the altered action data to operator 132 of computer 130 .
- Operator 132 may view the altered action data on a display of computer 130 .
- operator 132 may view an image of highlighted artery amongst several arteries via a GUI of computer 130 .
- operator 132 may listen to a verbal interpretation of the altered action data rather than or in addition to viewing the altered action data on a display of computer 130 .
- processor 230 of robot action determiner module 110 determines whether operator 132 has verified the action data for transmission to robot 120 . For example, processor 230 may determine that operator 132 verified the action data for transmission to robot 120 by accessing a selection made by operator 132 on computer 130 (e.g., a selection of a highlighted artery displayed on computer 130 ). As another example, processor 230 may verify that operator 132 verified the action data for transmission to robot 120 by accessing a verbal command (e.g., “yes”) of operator 132 . If processor 230 of robot action determiner module 110 determines that operator 132 verified the action data for transmission to robot 120 , method 300 proceeds to step 390 . Otherwise, method 300 proceeds to step 395 , where method 300 ends.
- processor 230 of robot action determiner module 110 determines whether operator 132 has verified the action data for transmission to robot 120 . For example, processor 230 may determine that operator 132 verified the action data for transmission to robot 120 by accessing a selection made by operator 132 on computer 130 (e.g.,
- processor 230 of robot action determiner module 110 initiates transmission of the altered action data to robot 120 .
- Method 300 may then proceed to step 395 , where method 300 ends.
- Method 300 may include more, fewer, or other steps.
- processor 230 may initiate transmission of the action data to operator 230 .
- processor 230 may initiate transmission of several options for altered action data to operator 132
- operator 132 may verify one option of the several options for altered action data for transmission to robot 120 . Steps may also be performed in parallel or in any suitable order. While the present disclosure describes particular components as performing particular steps of method 300 , the present disclosure contemplates any suitable component of system 100 performing any step of method 300 .
- FIG. 4 illustrates an example of a method 400 for determining and evaluating data representing an action to be performed by a robot, according to certain embodiments.
- the method begins at step 410 .
- processor 230 of robot action determiner module 110 accesses feedback from robot 120 .
- the feedback may be any information associated with robot 120 , such as data pertaining to robot 120 performing one or more actions or data associated with environmental conditions surrounding robot 120 .
- the feedback is based on robot 120 performing a first action.
- the feedback may be feedback received from robot sensor(s) 125 (e.g., a temperature reading or GPS coordinates).
- the first action may be associated with the action data of method 300 .
- the action data of method 300 may represent a first action of stitching up a wound with ten stitches to be performed by robot 120 , and upon transmission of the action data to robot 120 at step 390 of method 300 , robot may perform the first action of sewing the ten stitches.
- Processor 230 of robot action determiner module 110 may then access feedback based on robot 120 sewing ten stitches.
- the feedback may include a confirmation that robot has completed sewing ten stitches, yet blood is still exiting the wound.
- processor 230 of robot action determiner module 110 accesses feedback based on robot 120 performing a first action before robot 120 completes the first action.
- the first action may be stitching up a wound with ten stitches, and processor 230 may access feedback based on robot 120 performing just the first stitch.
- processor 230 accesses feedback in real time.
- processor 230 may continuously access feedback as robot 120 stitches up the wound, providing feedback after every stitch. This real-time feedback allows robot action determiner module 110 to take corrective measures as the procedure progresses. For example, the feedback received from robot 120 after robot 120 completes seven stitches may indicate that the wound is closed. Method 400 may then proceed to step 430 .
- processor 230 of robot action determiner module 110 determines, based on the feedback from robot 120 , action data representing a second action to be performed by robot 120 .
- the feedback is based on robot performing the first action.
- processor 230 may receive feedback indicating that robot 120 performed a first action of stitching up a wound with ten stitches, yet blood is still exiting a wound. Based on this feedback, processor 230 may determine action data representing a second action of sewing three additional stitches to close up the wound.
- the action data represents a pre-defined set of movements to be performed by robot 120 .
- the action data may represent a second action of sewing three stitches and then exiting the repair site. Method 400 may then proceed to step 440 .
- processor 230 of robot action determiner module 110 evaluates the action data representing the second action to be performed by robot 120 in light of evaluation data 270 .
- evaluation data 270 includes one or more models 272 , historical data 274 , or one or more policies 276 .
- Processor 230 may evaluate the action data to be performed by robot 120 by comparing the action data to evaluation data 270 .
- the action data may instruct robot 120 to sew stitches one millimeter apart to complete closure of a gushing wound, and processor 230 may compare this action data to historical data 274 from past surgeries that instructed robot 120 to sew stitches two millimeters apart.
- processor 230 of robot action determiner module 110 determines whether to transmit the action data to be performed by robot 120 to robot 120 .
- processor 230 verifies that the action data should be transmitted to robot 120 .
- the action data may instruct robot 120 to sew stitches one millimeter apart, and the evaluation of the action data may confirm that sewing stitches one millimeter apart was commonly performed in past similar procedures. If processor 230 verifies that the action data should be transmitted to robot 120 , method 300 may proceed to step 490 , and processor 230 initiates transmission of the action data to robot 120 . Otherwise, method 400 may proceed to step 460 .
- processor 230 of robot action determiner module 110 alters the action data.
- processor 230 alters the action data in light of evaluation data 270 .
- processor 230 may alter action data instructing robot 120 to sew stitches one millimeter apart to instruct robot 120 to sew stitches two millimeters apart to match historical data 274 from past similar surgeries. Method 300 may then move to step 470 .
- processor 230 of robot action determiner module 110 initiates transmission of the altered action data to operator 132 of computer 130 .
- Operator 132 may view the altered action data on a display of computer 130 .
- operator 132 may view a message on computer 130 stating that action data has been altered to instruct robot 120 to sew stitches two millimeters apart instead of one millimeter apart.
- operator 132 may view an overlay of an image representing action data showing stitches at one millimeter apart with an image representing altered action data (e.g., historical data) showing stitches at two millimeters apart.
- operator 132 may listen to a verbal interpretation of the altered action data rather than or in addition to viewing the altered action data on a display of computer 130 .
- operator 132 may hear a verbal message stating the following: “Altering stitch spacing from one millimeter to two millimeters.” Method 400 may then proceed to step 480 .
- processor 230 of robot action determiner module 110 determines whether operator 132 verified the altered action data for transmission to robot 120 . For example, processor 230 may determine that operator 132 verified the altered action data for transmission to robot 120 by accessing a selection made by operator 132 on computer 130 . As another example, processor 230 may verify that operator 132 verified the altered action data for transmission to robot 120 by accessing a verbal command of operator 132 . If processor 230 of robot action determiner module 110 determines that operator 132 verified the altered action data for transmission to robot 120 , method 400 may proceed to step 490 . Otherwise, method 400 may proceed to step 495 , where method 400 ends.
- processor 230 of robot action determiner module 110 initiates transmission of the altered action data to robot 120 .
- Method 400 then proceeds to step 495 , where method 400 ends.
- Method 400 may include more, fewer, or other steps.
- processor 230 may initiate transmission of the action data to operator 230 .
- processor 230 may initiate transmission of several options for altered action data to operator 132
- operator 132 may verify one option of the several options for altered action data for transmission to robot 120 . Steps may also be performed in parallel or in any suitable order. While the present disclosure describes particular components as performing particular steps of method 400 , the present disclosure contemplates any suitable component of system 100 performing any step of method 400 .
- FIG. 5 illustrates an example of a method 500 for determining and evaluating data representing an action to be performed by a robot, according to certain embodiments.
- the method begins at step 510 .
- processor 230 of robot action determiner module 110 accesses user sensor data 262 from user sensor(s) 140 .
- user sensor data 262 represents one or more gestures performed by user 150 .
- user sensor data 262 may represent a jabbing gesture performed by user 150 .
- Method 500 may then proceed to step 530 .
- processor 230 of robot action determiner module 110 determines, based on user sensor data 262 , action data representing an action to be performed by robot 120 .
- processor 230 may map user sensor data 262 to the action data by associating the one or more gestures performed by user 150 with one or more movements to be performed by robot 120 .
- the action data represents a pre-defined set of movements to be performed by robot 120 .
- Method 500 may then proceed to step 540 .
- processor 230 of robot action determiner module 110 evaluates the action data representing the action to be performed by robot 120 in light of evaluation data 270 .
- evaluation data 270 includes one or more models 272 , historical data 274 , or one or more policies 276 .
- Processor 230 may evaluate the action data to be performed by robot 120 by comparing the action data to evaluation data 270 .
- the action data may instruct robot 120 to move a heart during bypass surgery, and processor 230 may compare this action data to a model 272 for moving a heart. Method 500 may then proceed to step 550 .
- processor 230 of robot action determiner module 110 initiates transmission of the action data to operator 132 of computer 130 .
- processor 230 initiates transmission of the evaluation data to operator 132 of computer 130 .
- Operator 132 may view the action data on a display of computer 130 .
- operator 132 may view the action data overlaid with evaluation data (e.g., model 272 ) on a display of computer 130 . Method may then proceed to step 560 .
- processor 230 of robot action determiner module 110 accesses feedback from operator 132 .
- the feedback from operator 132 may propose an alteration to the action data.
- the action data may represent an action to be performed by robot 120 of moving a heart two millimeters in a particular direction.
- Operator 132 may alter this action data to represent an action to be performed by robot 120 of moving a heart three millimeters in a particular direction.
- processor 230 of robot action determiner module 110 determines whether the feedback from operator 132 proposes an alteration to the action data. If the feedback from operator 132 proposes an alteration to the action data (e.g., moving a heart three millimeters instead of two millimeters), method 500 may proceed to step 580 . Otherwise method 500 may proceed to step 590 , where processor 230 initiates transmission of the action data to robot 120 .
- processor 230 alters the action data in accordance with the feedback from operator 132 .
- Method 500 may then proceed to step 590 , where processor 230 initiates transmission of the altered action data to robot 120 .
- Method 500 ends at step 595 .
- Method 500 may include more, fewer, or other steps.
- processor 230 may determine to initiate transmission of the unaltered action data to robot 120 . Steps may also be performed in parallel or in any suitable order. While the present disclosure describes particular components as performing particular steps of method 500 , the present disclosure contemplates any suitable component of system 100 performing any step of method 500 .
- an apparatus or system or a component of an apparatus or system being adapted to, arranged to, capable of, configured to, enabled to, operable to, or operative to perform a particular function encompasses that apparatus, system, component, whether or not it or that particular function is activated, turned on, or unlocked, as long as that apparatus, system, or component is so adapted, arranged, capable, configured, enabled, operable, or operative.
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Surgery (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Molecular Biology (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Description
Claims (20)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/619,265 US10678338B2 (en) | 2017-06-09 | 2017-06-09 | Determining and evaluating data representing an action to be performed by a robot |
US16/874,330 US11106284B2 (en) | 2017-06-09 | 2020-05-14 | Determining and evaluating data representing an action to be performed by a robot |
US17/388,281 US20210357036A1 (en) | 2017-06-09 | 2021-07-29 | Determining and evaluating data representing an action to be performed by a robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/619,265 US10678338B2 (en) | 2017-06-09 | 2017-06-09 | Determining and evaluating data representing an action to be performed by a robot |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/874,330 Continuation US11106284B2 (en) | 2017-06-09 | 2020-05-14 | Determining and evaluating data representing an action to be performed by a robot |
Publications (2)
Publication Number | Publication Date |
---|---|
US20180356895A1 US20180356895A1 (en) | 2018-12-13 |
US10678338B2 true US10678338B2 (en) | 2020-06-09 |
Family
ID=64563454
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/619,265 Expired - Fee Related US10678338B2 (en) | 2017-06-09 | 2017-06-09 | Determining and evaluating data representing an action to be performed by a robot |
US16/874,330 Active US11106284B2 (en) | 2017-06-09 | 2020-05-14 | Determining and evaluating data representing an action to be performed by a robot |
US17/388,281 Abandoned US20210357036A1 (en) | 2017-06-09 | 2021-07-29 | Determining and evaluating data representing an action to be performed by a robot |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/874,330 Active US11106284B2 (en) | 2017-06-09 | 2020-05-14 | Determining and evaluating data representing an action to be performed by a robot |
US17/388,281 Abandoned US20210357036A1 (en) | 2017-06-09 | 2021-07-29 | Determining and evaluating data representing an action to be performed by a robot |
Country Status (1)
Country | Link |
---|---|
US (3) | US10678338B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10953541B2 (en) * | 2018-07-31 | 2021-03-23 | At&T Intellectual Property I, L.P. | Providing logistical support for robots |
US11344374B2 (en) * | 2018-08-13 | 2022-05-31 | Verily Life Sciences Llc | Detection of unintentional movement of a user interface device |
US11244381B2 (en) * | 2018-08-21 | 2022-02-08 | International Business Machines Corporation | Collaborative virtual reality computing system |
EP4046099A1 (en) * | 2019-11-12 | 2022-08-24 | Bright Machines, Inc. | A software defined manufacturing/assembly system |
WO2022104328A1 (en) | 2020-11-10 | 2022-05-19 | Bright Machines, Inc. | Method and system for improved auto-calibration of a robotic cell |
US11935195B1 (en) | 2022-12-13 | 2024-03-19 | Astrovirtual, Inc. | Web browser derived content including real-time visualizations in a three-dimensional gaming environment |
Citations (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6493606B2 (en) * | 2000-03-21 | 2002-12-10 | Sony Corporation | Articulated robot and method of controlling the motion of the same |
WO2005088539A2 (en) | 2004-03-15 | 2005-09-22 | Université Catholique de Louvain | Augmented reality system with coregistration of virtual objects on images of real objects |
US7113848B2 (en) * | 2003-06-09 | 2006-09-26 | Hanson David F | Human emulation robot system |
US7515992B2 (en) * | 2004-01-06 | 2009-04-07 | Sony Corporation | Robot apparatus and emotion representing method therefor |
US20100164950A1 (en) * | 2008-12-31 | 2010-07-01 | Intuitive Surgical, Inc. | Efficient 3-d telestration for local robotic proctoring |
US20110118753A1 (en) * | 2009-11-13 | 2011-05-19 | Brandon Itkowitz | Master finger tracking device and method of use in a minimally invasive surgical system |
US8046313B2 (en) | 1991-12-23 | 2011-10-25 | Hoffberg Steven M | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US8147503B2 (en) | 2007-09-30 | 2012-04-03 | Intuitive Surgical Operations Inc. | Methods of locating and tracking robotic instruments in robotic surgical systems |
US8391954B2 (en) | 2002-03-06 | 2013-03-05 | Mako Surgical Corp. | System and method for interactive haptic positioning of a medical device |
US20140046128A1 (en) | 2012-08-07 | 2014-02-13 | Samsung Electronics Co., Ltd. | Surgical robot system and control method thereof |
US20140058407A1 (en) | 2012-08-27 | 2014-02-27 | Nikolaos V. Tsekos | Robotic Device and System Software, Hardware and Methods of Use for Image-Guided and Robot-Assisted Surgery |
US20140204190A1 (en) | 2011-09-27 | 2014-07-24 | Allied Minds Devices Llc | Systems and methods for providing guidance for a procedure with a device |
US20140287393A1 (en) | 2010-11-04 | 2014-09-25 | The Johns Hopkins University | System and method for the evaluation of or improvement of minimally invasive surgery skills |
US8880222B2 (en) * | 2010-03-31 | 2014-11-04 | Sony Corporation | Robot device, method of controlling robot device, and program |
US8909370B2 (en) * | 2007-05-08 | 2014-12-09 | Massachusetts Institute Of Technology | Interactive systems employing robotic companions |
US20140378995A1 (en) | 2011-05-05 | 2014-12-25 | Intuitive Surgical Operations, Inc. | Method and system for analyzing a task trajectory |
US8935006B2 (en) * | 2005-09-30 | 2015-01-13 | Irobot Corporation | Companion robot for personal interaction |
US8942849B2 (en) * | 2010-07-23 | 2015-01-27 | Aldebaran Robotics | Humanoid robot equipped with a natural dialogue interface, method for controlling the robot and corresponding program |
US20150062168A1 (en) | 2013-03-15 | 2015-03-05 | Honda Motor Co., Ltd. | System and method for providing augmented reality based directions based on verbal and gestural cues |
US9044863B2 (en) * | 2013-02-06 | 2015-06-02 | Steelcase Inc. | Polarized enhanced confidentiality in mobile camera applications |
US9052710B1 (en) * | 2009-03-20 | 2015-06-09 | Exelis Inc. | Manipulation control based upon mimic of human gestures |
US9079313B2 (en) * | 2011-03-15 | 2015-07-14 | Microsoft Technology Licensing, Llc | Natural human to robot remote control |
US20150217449A1 (en) * | 2014-02-03 | 2015-08-06 | Brain Corporation | Apparatus and methods for control of robot actions based on corrective user inputs |
US9105207B2 (en) | 2012-05-02 | 2015-08-11 | Empire Technology Development Llc | Four dimensional image registration using dynamical model for augmented reality in medical applications |
US20150358614A1 (en) | 2014-06-05 | 2015-12-10 | Samsung Electronics Co., Ltd. | Wearable device and method for providing augmented reality information |
WO2015192117A1 (en) | 2014-06-14 | 2015-12-17 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
US20150366628A1 (en) | 2014-06-18 | 2015-12-24 | Covidien Lp | Augmented surgical reality environment system |
US9221170B2 (en) * | 2013-06-13 | 2015-12-29 | GM Global Technology Operations LLC | Method and apparatus for controlling a robotic device via wearable sensors |
US9283675B2 (en) | 2010-11-11 | 2016-03-15 | The Johns Hopkins University | Human-machine collaborative robotic systems |
US20160109954A1 (en) * | 2014-05-16 | 2016-04-21 | Visa International Service Association | Gesture Recognition Cloud Command Platform, System, Method, and Apparatus |
US20160143693A1 (en) | 2014-11-20 | 2016-05-26 | Ohio State Innovation Foundation | Methods and systems for performing navigation-assisted medical procedures |
US9375845B1 (en) * | 2014-09-30 | 2016-06-28 | Sprint Communications Company, L.P. | Synchronizing robot motion with social interaction |
US9387587B2 (en) * | 2012-04-05 | 2016-07-12 | Reis Group Holding Gmbh & Co. Kg | Method for operating an industrial robot |
US20160225192A1 (en) | 2015-02-03 | 2016-08-04 | Thales USA, Inc. | Surgeon head-mounted display apparatuses |
WO2016133644A1 (en) | 2015-02-20 | 2016-08-25 | Covidien Lp | Operating room and surgical site awareness |
US20160249989A1 (en) | 2015-03-01 | 2016-09-01 | ARIS MD, Inc. | Reality-augmented morphological procedure |
US20160324598A1 (en) | 2014-01-21 | 2016-11-10 | Trophy | Method for implant surgery using augmented visualization |
US9492241B2 (en) | 2005-01-13 | 2016-11-15 | Mazor Robotics Ltd. | Image guided robotic system for keyhole neurosurgery |
US20160331464A1 (en) | 2015-05-12 | 2016-11-17 | Siemens Healthcare Gmbh | Device and method for the computer-assisted simulation of surgical interventions |
USRE46310E1 (en) * | 1991-12-23 | 2017-02-14 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US20170049524A1 (en) | 2009-07-22 | 2017-02-23 | St. Jude Medical, Atrial Fibrillation Division, Inc. | System and Method for Controlling a Remote Medical Device Guidance System in Three-Dimensions using Gestures |
US20170056115A1 (en) | 2015-08-27 | 2017-03-02 | Medtronic, Inc. | Systems, apparatus, methods and computer-readable storage media facilitating surgical procedures utilizing augmented reality |
US9753453B2 (en) * | 2012-07-09 | 2017-09-05 | Deep Learning Robotics Ltd. | Natural machine interface system |
US9811074B1 (en) * | 2016-06-21 | 2017-11-07 | TruPhysics GmbH | Optimization of robot control programs in physics-based simulated environment |
US9956687B2 (en) * | 2013-03-04 | 2018-05-01 | Microsoft Technology Licensing, Llc | Adapting robot behavior based upon human-robot interaction |
US9975243B2 (en) * | 2015-08-31 | 2018-05-22 | Avaya Inc. | Movement and interaction verification |
US10144135B2 (en) * | 2014-04-17 | 2018-12-04 | Softbank Robotics Europe | System, method and computer program product for handling humanoid robot interaction with human |
US10166673B2 (en) * | 2014-04-04 | 2019-01-01 | Abb Schweiz Ag | Portable apparatus for controlling robot and method thereof |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004042544A1 (en) * | 2002-11-07 | 2004-05-21 | Personics A/S | Control system including an adaptive motion detector |
US7930065B2 (en) * | 2005-12-30 | 2011-04-19 | Intuitive Surgical Operations, Inc. | Robotic surgery system including position sensors using fiber bragg gratings |
WO2009065436A1 (en) * | 2007-11-19 | 2009-05-28 | Nokia Corporation | Input device |
US8500284B2 (en) * | 2008-07-10 | 2013-08-06 | Real View Imaging Ltd. | Broad viewing angle displays and user interfaces |
US9364291B2 (en) * | 2008-12-11 | 2016-06-14 | Mako Surgical Corp. | Implant planning using areas representing cartilage |
US8935003B2 (en) * | 2010-09-21 | 2015-01-13 | Intuitive Surgical Operations | Method and system for hand presence detection in a minimally invasive surgical system |
US9936863B2 (en) * | 2012-06-27 | 2018-04-10 | Camplex, Inc. | Optical assembly providing a surgical microscope view for a surgical visualization system |
US20140051049A1 (en) * | 2012-08-17 | 2014-02-20 | Intuitive Surgical Operations, Inc. | Anatomical model and method for surgical training |
US20160062954A1 (en) * | 2012-09-15 | 2016-03-03 | Numbergun Llc | Flexible high-speed generation and formatting of application-specified strings |
KR102079945B1 (en) * | 2012-11-22 | 2020-02-21 | 삼성전자주식회사 | Surgical robot and method for controlling the surgical robot |
US10028788B2 (en) * | 2012-12-31 | 2018-07-24 | Mako Surgical Corp. | System for image-based robotic surgery |
US9498291B2 (en) * | 2013-03-15 | 2016-11-22 | Hansen Medical, Inc. | Touch-free catheter user interface controller |
US9753546B2 (en) * | 2014-08-29 | 2017-09-05 | General Electric Company | System and method for selective gesture interaction |
DE112016006299T5 (en) * | 2016-01-25 | 2018-10-11 | Sony Corporation | Medical safety control device, medical safety control method and medical support system |
CN109275333B (en) * | 2016-06-03 | 2022-05-17 | 柯惠Lp公司 | System, method and computer readable program product for controlling a robotic delivery manipulator |
US10390895B2 (en) * | 2016-08-16 | 2019-08-27 | Ethicon Llc | Control of advancement rate and application force based on measured forces |
WO2018052795A1 (en) * | 2016-09-19 | 2018-03-22 | Intuitive Surgical Operations, Inc. | Base positioning system for a controllable arm and related methods |
CN110325331B (en) * | 2017-02-28 | 2022-12-16 | 索尼公司 | Medical support arm system and control device |
US11071594B2 (en) * | 2017-03-16 | 2021-07-27 | KB Medical SA | Robotic navigation of robotic surgical systems |
US11589937B2 (en) * | 2017-04-20 | 2023-02-28 | Intuitive Surgical Operations, Inc. | Systems and methods for constraining a virtual reality surgical system |
-
2017
- 2017-06-09 US US15/619,265 patent/US10678338B2/en not_active Expired - Fee Related
-
2020
- 2020-05-14 US US16/874,330 patent/US11106284B2/en active Active
-
2021
- 2021-07-29 US US17/388,281 patent/US20210357036A1/en not_active Abandoned
Patent Citations (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8046313B2 (en) | 1991-12-23 | 2011-10-25 | Hoffberg Steven M | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
USRE46310E1 (en) * | 1991-12-23 | 2017-02-14 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US6493606B2 (en) * | 2000-03-21 | 2002-12-10 | Sony Corporation | Articulated robot and method of controlling the motion of the same |
US8391954B2 (en) | 2002-03-06 | 2013-03-05 | Mako Surgical Corp. | System and method for interactive haptic positioning of a medical device |
US7113848B2 (en) * | 2003-06-09 | 2006-09-26 | Hanson David F | Human emulation robot system |
US7515992B2 (en) * | 2004-01-06 | 2009-04-07 | Sony Corporation | Robot apparatus and emotion representing method therefor |
WO2005088539A2 (en) | 2004-03-15 | 2005-09-22 | Université Catholique de Louvain | Augmented reality system with coregistration of virtual objects on images of real objects |
US9492241B2 (en) | 2005-01-13 | 2016-11-15 | Mazor Robotics Ltd. | Image guided robotic system for keyhole neurosurgery |
US8935006B2 (en) * | 2005-09-30 | 2015-01-13 | Irobot Corporation | Companion robot for personal interaction |
US8909370B2 (en) * | 2007-05-08 | 2014-12-09 | Massachusetts Institute Of Technology | Interactive systems employing robotic companions |
US8147503B2 (en) | 2007-09-30 | 2012-04-03 | Intuitive Surgical Operations Inc. | Methods of locating and tracking robotic instruments in robotic surgical systems |
US20100164950A1 (en) * | 2008-12-31 | 2010-07-01 | Intuitive Surgical, Inc. | Efficient 3-d telestration for local robotic proctoring |
US9052710B1 (en) * | 2009-03-20 | 2015-06-09 | Exelis Inc. | Manipulation control based upon mimic of human gestures |
US20170049524A1 (en) | 2009-07-22 | 2017-02-23 | St. Jude Medical, Atrial Fibrillation Division, Inc. | System and Method for Controlling a Remote Medical Device Guidance System in Three-Dimensions using Gestures |
US8543240B2 (en) * | 2009-11-13 | 2013-09-24 | Intuitive Surgical Operations, Inc. | Master finger tracking device and method of use in a minimally invasive surgical system |
US20110118753A1 (en) * | 2009-11-13 | 2011-05-19 | Brandon Itkowitz | Master finger tracking device and method of use in a minimally invasive surgical system |
US8880222B2 (en) * | 2010-03-31 | 2014-11-04 | Sony Corporation | Robot device, method of controlling robot device, and program |
US8942849B2 (en) * | 2010-07-23 | 2015-01-27 | Aldebaran Robotics | Humanoid robot equipped with a natural dialogue interface, method for controlling the robot and corresponding program |
US20140287393A1 (en) | 2010-11-04 | 2014-09-25 | The Johns Hopkins University | System and method for the evaluation of or improvement of minimally invasive surgery skills |
US9283675B2 (en) | 2010-11-11 | 2016-03-15 | The Johns Hopkins University | Human-machine collaborative robotic systems |
US9079313B2 (en) * | 2011-03-15 | 2015-07-14 | Microsoft Technology Licensing, Llc | Natural human to robot remote control |
US20140378995A1 (en) | 2011-05-05 | 2014-12-25 | Intuitive Surgical Operations, Inc. | Method and system for analyzing a task trajectory |
US20140204190A1 (en) | 2011-09-27 | 2014-07-24 | Allied Minds Devices Llc | Systems and methods for providing guidance for a procedure with a device |
US9387587B2 (en) * | 2012-04-05 | 2016-07-12 | Reis Group Holding Gmbh & Co. Kg | Method for operating an industrial robot |
US9105207B2 (en) | 2012-05-02 | 2015-08-11 | Empire Technology Development Llc | Four dimensional image registration using dynamical model for augmented reality in medical applications |
US9753453B2 (en) * | 2012-07-09 | 2017-09-05 | Deep Learning Robotics Ltd. | Natural machine interface system |
US20140046128A1 (en) | 2012-08-07 | 2014-02-13 | Samsung Electronics Co., Ltd. | Surgical robot system and control method thereof |
US20140058407A1 (en) | 2012-08-27 | 2014-02-27 | Nikolaos V. Tsekos | Robotic Device and System Software, Hardware and Methods of Use for Image-Guided and Robot-Assisted Surgery |
US9044863B2 (en) * | 2013-02-06 | 2015-06-02 | Steelcase Inc. | Polarized enhanced confidentiality in mobile camera applications |
US9956687B2 (en) * | 2013-03-04 | 2018-05-01 | Microsoft Technology Licensing, Llc | Adapting robot behavior based upon human-robot interaction |
US20150062168A1 (en) | 2013-03-15 | 2015-03-05 | Honda Motor Co., Ltd. | System and method for providing augmented reality based directions based on verbal and gestural cues |
US9221170B2 (en) * | 2013-06-13 | 2015-12-29 | GM Global Technology Operations LLC | Method and apparatus for controlling a robotic device via wearable sensors |
US20160324598A1 (en) | 2014-01-21 | 2016-11-10 | Trophy | Method for implant surgery using augmented visualization |
US20150217449A1 (en) * | 2014-02-03 | 2015-08-06 | Brain Corporation | Apparatus and methods for control of robot actions based on corrective user inputs |
US9358685B2 (en) * | 2014-02-03 | 2016-06-07 | Brain Corporation | Apparatus and methods for control of robot actions based on corrective user inputs |
US10166673B2 (en) * | 2014-04-04 | 2019-01-01 | Abb Schweiz Ag | Portable apparatus for controlling robot and method thereof |
US10144135B2 (en) * | 2014-04-17 | 2018-12-04 | Softbank Robotics Europe | System, method and computer program product for handling humanoid robot interaction with human |
US20160109954A1 (en) * | 2014-05-16 | 2016-04-21 | Visa International Service Association | Gesture Recognition Cloud Command Platform, System, Method, and Apparatus |
US20150358614A1 (en) | 2014-06-05 | 2015-12-10 | Samsung Electronics Co., Ltd. | Wearable device and method for providing augmented reality information |
WO2015192117A1 (en) | 2014-06-14 | 2015-12-17 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
US20150366628A1 (en) | 2014-06-18 | 2015-12-24 | Covidien Lp | Augmented surgical reality environment system |
US9375845B1 (en) * | 2014-09-30 | 2016-06-28 | Sprint Communications Company, L.P. | Synchronizing robot motion with social interaction |
US20160143693A1 (en) | 2014-11-20 | 2016-05-26 | Ohio State Innovation Foundation | Methods and systems for performing navigation-assisted medical procedures |
US20160225192A1 (en) | 2015-02-03 | 2016-08-04 | Thales USA, Inc. | Surgeon head-mounted display apparatuses |
WO2016133644A1 (en) | 2015-02-20 | 2016-08-25 | Covidien Lp | Operating room and surgical site awareness |
US20160249989A1 (en) | 2015-03-01 | 2016-09-01 | ARIS MD, Inc. | Reality-augmented morphological procedure |
US20160331464A1 (en) | 2015-05-12 | 2016-11-17 | Siemens Healthcare Gmbh | Device and method for the computer-assisted simulation of surgical interventions |
US20170056115A1 (en) | 2015-08-27 | 2017-03-02 | Medtronic, Inc. | Systems, apparatus, methods and computer-readable storage media facilitating surgical procedures utilizing augmented reality |
US9975243B2 (en) * | 2015-08-31 | 2018-05-22 | Avaya Inc. | Movement and interaction verification |
US9811074B1 (en) * | 2016-06-21 | 2017-11-07 | TruPhysics GmbH | Optimization of robot control programs in physics-based simulated environment |
Non-Patent Citations (3)
Title |
---|
Bleser, G. et al., "Cognitive Learning, Monitoring, and Assistance of Industrial Workflows Using Egocentric Sensor Networks," PLOS One, Jun. 30, 2015, pp. 1-41. |
Jung, S., "Augmented Reality Surgery: How a Mobile Device Can Save Your Life," https://iq.intel.com/how-a-mobile-device-can-save-your-life-augmented-reality-surger/, Apr. 16, 2014, 8 pages. |
Wachs, J. P. et al., "Vison-based hand-gesture applications," Communications of the ACM, vol. 54, Issue 2, Feb. 2011, pp. 60-71. |
Also Published As
Publication number | Publication date |
---|---|
US20200278755A1 (en) | 2020-09-03 |
US11106284B2 (en) | 2021-08-31 |
US20210357036A1 (en) | 2021-11-18 |
US20180356895A1 (en) | 2018-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11106284B2 (en) | Determining and evaluating data representing an action to be performed by a robot | |
US12114949B2 (en) | Surgical system with training or assist functions | |
JP6784829B2 (en) | Systems and methods to prevent surgical mistakes | |
EP4535133A2 (en) | Monitoring of user visual gaze to control which display system displays the primary information | |
JP6949128B2 (en) | system | |
US11877897B2 (en) | Situational awareness of instruments location and individualization of users to control displays | |
US11883022B2 (en) | Shared situational awareness of the device actuator activity to prioritize certain aspects of displayed information | |
US11515030B2 (en) | System and method for artificial agent based cognitive operating rooms | |
US20220108788A1 (en) | Reconfiguration of display sharing | |
JP2022511604A (en) | Indicator system | |
US20210205027A1 (en) | Context-awareness systems and methods for a computer-assisted surgical system | |
JP2023546806A (en) | Control of sterile field displays from sterile field devices | |
JP2022512274A (en) | Navigation support | |
JP2019526315A (en) | System and method for on-screen menu in teleoperated medical system | |
KR20240018690A (en) | Teleoperated surgical system with surgeon skill level based instrument control | |
CN115867930A (en) | Determination of surgical procedure execution level | |
Attia et al. | Towards trusted autonomous surgical robots | |
Pradeep et al. | Development and Testing of an IoT-Based Medical Assistant Robot: A Design for Enhanced Healthcare Support | |
Jan et al. | Eye Tracking Interface Design for Controlling Mobile Robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AT&T INTELLECTUAL PROPERTY I, L.P., GEORGIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DAILEY, ROBERT;ZAVESKY, ERIC;PRATT, JAMES;AND OTHERS;SIGNING DATES FROM 20170608 TO 20170609;REEL/FRAME:042665/0811 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
ZAAA | Notice of allowance and fees due |
Free format text: ORIGINAL CODE: NOA |
|
ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20240609 |