MLchartDataset catalogue

Patent · US10624707B2 · B2 · US

Robotic surgical system and method for communicating synchronous and asynchronous information to and from nodes of a robotic arm

(11) Publication number
US10624707B2
(21) Application number
15/707,503
(22) Filing date
2017-09-18
(30) Priority date
2017-09-18
(43) Publication date
2020-04-21
(45) Date of grant
2020-04-21
(51) IPC
A61B 34/00; A61B 34/37; H04L 1/00; H04L 1/16; H04L 45/16
(52) CPC
  • H04L Transmission of digital information, e.g. telegraphic communication: 12/423, 1/0083, 1/1664, 1/1671, 12/43, 2001/0095, 47/10
  • A61B Diagnosis; surgery; identification: 17/00234, 2017/00212, 2017/00221, 34/35, 34/37, 34/70, 34/74
  • B25J Manipulators; chambers provided with manipulation devices: 9/1689
(73) Assignee
Verb Surgical Inc
(72) Inventors
Philip L. Graves; Klaus R. Zietlow
(54) Title
Robotic surgical system and method for communicating synchronous and asynchronous information to and from nodes of a robotic arm
(57) Abstract

A robotic surgical system is disclosed having a ring network for communicating information between a controller and nodes of one or more robotic arms. A communications protocol is described by which synchronous and asynchronous information can be communicated to and from the nodes of the robotic arms. Also disclosed are various aspects of a physical layer that can be used with the network.

Full text
View on Google Patents

Claims (20)

  1. A robotic surgical system comprising: a plurality of robotic arms, each robotic arm comprising a plurality of nodes arranged in a ring network; a first controller; and a second controller in communication with the ring networks of each of the plurality of robotic arms and with the first controller, wherein the second controller is configured to communicate with the plurality of nodes of a given robotic arm using a multi-node message comprising a plurality of packets, each packet associated with a different node in the given robotic arm; wherein during one part of a communication cycle between the second controller and the plurality of nodes of the given robotic arm, the second controller is configured to send a synchronous command to each node of the given robotic arm using the multi-node message and each node of the given robotic arm is configured to send a response to an asynchronous command sent to that node in a previous communication cycle; and wherein during another part of the communication cycle between the second controller and the plurality of nodes of the given robotic arm, the second controller is configured to send an asynchronous command to each node of the given robotic arm using the multi-node message and each node of the given robotic arm is configured to send a response to a synchronous command received by that node in a previous communication cycle; wherein the first controller is configured to send the second controller a single message comprising a plurality of individual multi-node messages, each individual multi-node message associated with a different robotic arm; and wherein the second controller is configured to separate out each individual multi-node message from the single message and send each robotic arm its associated individual multi-node message.
  2. The robotic surgical system of claim 1, wherein the second controller is configured to send the synchronous command at a beginning of the one part of the communication cycle, and wherein each node of the given robotic arm is configured to send the response the synchronous command from the previous communication cycle at an end of the another part of the communication cycle.
  3. The robotic surgical system of claim 1, wherein the communication cycle is defined by a constant cycle time to support isochronous real-time data transfer.
  4. The robotic surgical system of claim 1, wherein the second controller is further configured to receive individual multi-node messages from the ring networks of each of the robotic arms, combine the received individual multi-node messages into a merged message, and send the merged message to the first controller.
  5. The robotic surgical system of claim 1, wherein the plurality of nodes include at least one node having one or more of the following components: a node controller, a single motor, a dual motor, a wireless tool interface, a force/torque sensor, and an input/output board.
  6. The robotic surgical system of claim 1, wherein the synchronous command comprises a motor command and the response to the synchronous command comprises feedback regarding performance of a motor command.
  7. The robotic surgical system of claim 1, wherein the asynchronous command comprises a request and the response to the asynchronous command comprises a response to a request.
  8. The robotic surgical system of claim 1, wherein the second controller comprises at least one memory configured to store asynchronous commands to be sent to the plurality of nodes of the given robotic arm and responses received from the plurality of nodes of the given robotic arm, and wherein each of the plurality of nodes of the given robotic arm comprises at least one memory configured to store asynchronous responses to be sent to the second controller and asynchronous commands received from the second controller.
  9. A method for sending a command to nodes of a robotic arm of a robotic surgical system, the method comprising: performing the following in a robotic surgical system comprising a first controller, a second controller, and a plurality of robotic arms, each robotic arm comprising a plurality of nodes arranged in a ring network: with the first controller, sending the second controller a single message comprising a plurality of individual multi-node messages, wherein each individual multi-node message is associated with a different robotic arm and comprises a plurality of packets, each packet associated with a different node, and with the second controller, separating out each individual multi-node message from the single message and sending each robotic arm its associated individual multi-node message, wherein: in communication cycle N−1, the second controller receives feedback from a command sent to a given robotic arm in a previous communication cycle; in communication cycle N, the second controller generates a command based on the received feedback; and in communication cycle N+1, the second controller sends the generated command to the given robotic arm.
  10. The method of claim 9, wherein the feedback is received at an end of communication cycle N−1, and wherein the generated command is sent to the given robotic arm at a beginning of communication cycle N+1.
  11. The method of claim 9, wherein the command sent to the given robotic arm in the previous communication cycle comprises a synchronous command.
  12. The method of claim 9, wherein communication cycles N−1, N, and N+1 are defined by a constant cycle time to support isochronous real-time data transfer.
  13. The method of claim 9, wherein each node is configured to perform an on-the-fly message exchange for its associated packet in the multi-node message.
  14. The method of claim 9, wherein the plurality of nodes include at least one node having one or more of the following components: a node controller, a single motor, a dual motor, a wireless tool interface, a force/torque sensor, and an input/output board.
  15. The method of claim 9 further comprising in communication cycle N: sending a command generated in communication cycle N−1 to the given robotic arm; and receiving feedback from the given robotic arm to a command sent to the given robotic arm in communication cycle N−1.
  16. A robotic surgical system comprising: a plurality of robotic arms, each robotic arm comprising a plurality of nodes arranged in a ring network; a first controller; and a second controller configured to communicate synchronous and asynchronous information between the second controller and the plurality of nodes of a given robotic arm in a communication cycle; wherein the first controller is configured to send the second controller a single message comprising a plurality of individual multi-node messages, wherein each individual multi-node message is associated with a different robotic arm and comprises a plurality of packets, each packet associated with a different node; and wherein the second controller is configured to separate out each individual multi-node message from the single message and send each robotic arm its associated individual multi-node message.
  17. The robotic surgical system of claim 16, wherein the communication cycle is defined by a constant cycle time to support isochronous real-time data transfer.
  18. The robotic surgical system of claim 16 further comprising means for pipelining a command generation and transmittal process across a plurality of communication cycles.
  19. The robotic surgical system of claim 16: wherein during one part of a communication cycle between the second controller and the plurality of nodes of a given robotic arm, the second controller is configured to send a synchronous command to each node of the given robotic arm using the multi-node message and each node of the given robotic arm is configured to send a response to an asynchronous command sent to that node in a previous communication cycle; and wherein during another part of the communication cycle between the second controller and the plurality of nodes of the given robotic arm, the second controller is configured to send an asynchronous command to each node of the given robotic arm using the multi-node message and each node of the given robotic arm is configured to send a response to a synchronous command received by that node in a previous communication cycle.
  20. The robotic surgical system of claim 16, wherein: in communication cycle N−1, the second controller receives feedback from a command sent to a given robotic arm in a previous communication cycle; in communication cycle N, the second controller generates a command based on the received feedback; and in communication cycle N+1, the second controller sends the generated command to the given robotic arm.

Description

Robotic surgical systems allow healthcare practitioners to achieve greater accuracy, automation, and/or less-invasive approaches while performing a variety of diagnostic and/or therapeutic procedures. Such technologies are broadly applicable to a variety of medical specialties, ranging from ophthalmology and anesthesiology, to orthopedics and interventional radiology. Some robotic surgical systems incorporate sophisticated robotics and visualization technology for performing minimally-invasive surgeries that can lead to reduced scarring and shorter recover times. One example of a minimally-invasive surgery is a laparoscopic procedure, which typically involves creating a number of small incisions in the patient (e.g., in the abdomen), and introducing one or more tools and at least one camera through the incisions into the patient. The surgical procedure is then performed using the introduced tools, with the visualization aid provided by a camera. At least one of the introduced instruments may be attached to one or more robotic anus operated remoted by a user (e.g., a surgeon).

FIG. 1 is an illustration of an operating room arrangement of a robotic surgical system of an embodiment.

FIG. 2 is an illustration of a robotic arm of an embodiment.

FIG. 3 is an illustration of a communications network of a robotic surgical system of an embodiment.

FIGS. 4 and 5 are illustrations of a multi-node message of an embodiment.

FIGS. 6A, 6B, and 6C are illustrations of an on-the-fly node message exchange of an embodiment.

Citations (20)

  • US20100234857A1
  • US20160338676A1
  • US20060074525A1
  • US20130245375A1
  • US20070112463A1
  • US20100145521A1
  • US7757028B2
  • US20120039162A1
  • US20070150631A1
  • US20180303482A1
  • US20110112696A1
  • US20080144526A1
  • US8072999B1
  • US20130345875A1
  • US20140210520A1
  • US20150078746A1
  • US20170097631A1
  • US9544258B2
  • US20190083190A1
  • US20190083186A1
Record as JSON
{
  "publication_number": "US10624707B2",
  "country": "US",
  "kind": "B2",
  "title": "Robotic surgical system and method for communicating synchronous and asynchronous information to and from nodes of a robotic arm",
  "abstract": "A robotic surgical system is disclosed having a ring network for communicating information between a controller and nodes of one or more robotic arms. A communications protocol is described by which synchronous and asynchronous information can be communicated to and from the nodes of the robotic arms. Also disclosed are various aspects of a physical layer that can be used with the network.",
  "claims": [
    "1. A robotic surgical system comprising: a plurality of robotic arms, each robotic arm comprising a plurality of nodes arranged in a ring network; a first controller; and a second controller in communication with the ring networks of each of the plurality of robotic arms and with the first controller, wherein the second controller is configured to communicate with the plurality of nodes of a given robotic arm using a multi-node message comprising a plurality of packets, each packet associated with a different node in the given robotic arm; wherein during one part of a communication cycle between the second controller and the plurality of nodes of the given robotic arm, the second controller is configured to send a synchronous command to each node of the given robotic arm using the multi-node message and each node of the given robotic arm is configured to send a response to an asynchronous command sent to that node in a previous communication cycle; and wherein during another part of the communication cycle between the second controller and the plurality of nodes of the given robotic arm, the second controller is configured to send an asynchronous command to each node of the given robotic arm using the multi-node message and each node of the given robotic arm is configured to send a response to a synchronous command received by that node in a previous communication cycle; wherein the first controller is configured to send the second controller a single message comprising a plurality of individual multi-node messages, each individual multi-node message associated with a different robotic arm; and wherein the second controller is configured to separate out each individual multi-node message from the single message and send each robotic arm its associated individual multi-node message.",
    "2. The robotic surgical system of claim 1, wherein the second controller is configured to send the synchronous command at a beginning of the one part of the communication cycle, and wherein each node of the given robotic arm is configured to send the response the synchronous command from the previous communication cycle at an end of the another part of the communication cycle.",
    "3. The robotic surgical system of claim 1, wherein the communication cycle is defined by a constant cycle time to support isochronous real-time data transfer.",
    "4. The robotic surgical system of claim 1, wherein the second controller is further configured to receive individual multi-node messages from the ring networks of each of the robotic arms, combine the received individual multi-node messages into a merged message, and send the merged message to the first controller.",
    "5. The robotic surgical system of claim 1, wherein the plurality of nodes include at least one node having one or more of the following components: a node controller, a single motor, a dual motor, a wireless tool interface, a force/torque sensor, and an input/output board.",
    "6. The robotic surgical system of claim 1, wherein the synchronous command comprises a motor command and the response to the synchronous command comprises feedback regarding performance of a motor command.",
    "7. The robotic surgical system of claim 1, wherein the asynchronous command comprises a request and the response to the asynchronous command comprises a response to a request.",
    "8. The robotic surgical system of claim 1, wherein the second controller comprises at least one memory configured to store asynchronous commands to be sent to the plurality of nodes of the given robotic arm and responses received from the plurality of nodes of the given robotic arm, and wherein each of the plurality of nodes of the given robotic arm comprises at least one memory configured to store asynchronous responses to be sent to the second controller and asynchronous commands received from the second controller.",
    "9. A method for sending a command to nodes of a robotic arm of a robotic surgical system, the method comprising: performing the following in a robotic surgical system comprising a first controller, a second controller, and a plurality of robotic arms, each robotic arm comprising a plurality of nodes arranged in a ring network: with the first controller, sending the second controller a single message comprising a plurality of individual multi-node messages, wherein each individual multi-node message is associated with a different robotic arm and comprises a plurality of packets, each packet associated with a different node, and with the second controller, separating out each individual multi-node message from the single message and sending each robotic arm its associated individual multi-node message, wherein: in communication cycle N−1, the second controller receives feedback from a command sent to a given robotic arm in a previous communication cycle; in communication cycle N, the second controller generates a command based on the received feedback; and in communication cycle N+1, the second controller sends the generated command to the given robotic arm.",
    "10. The method of claim 9, wherein the feedback is received at an end of communication cycle N−1, and wherein the generated command is sent to the given robotic arm at a beginning of communication cycle N+1.",
    "11. The method of claim 9, wherein the command sent to the given robotic arm in the previous communication cycle comprises a synchronous command.",
    "12. The method of claim 9, wherein communication cycles N−1, N, and N+1 are defined by a constant cycle time to support isochronous real-time data transfer.",
    "13. The method of claim 9, wherein each node is configured to perform an on-the-fly message exchange for its associated packet in the multi-node message.",
    "14. The method of claim 9, wherein the plurality of nodes include at least one node having one or more of the following components: a node controller, a single motor, a dual motor, a wireless tool interface, a force/torque sensor, and an input/output board.",
    "15. The method of claim 9 further comprising in communication cycle N: sending a command generated in communication cycle N−1 to the given robotic arm; and receiving feedback from the given robotic arm to a command sent to the given robotic arm in communication cycle N−1.",
    "16. A robotic surgical system comprising: a plurality of robotic arms, each robotic arm comprising a plurality of nodes arranged in a ring network; a first controller; and a second controller configured to communicate synchronous and asynchronous information between the second controller and the plurality of nodes of a given robotic arm in a communication cycle; wherein the first controller is configured to send the second controller a single message comprising a plurality of individual multi-node messages, wherein each individual multi-node message is associated with a different robotic arm and comprises a plurality of packets, each packet associated with a different node; and wherein the second controller is configured to separate out each individual multi-node message from the single message and send each robotic arm its associated individual multi-node message.",
    "17. The robotic surgical system of claim 16, wherein the communication cycle is defined by a constant cycle time to support isochronous real-time data transfer.",
    "18. The robotic surgical system of claim 16 further comprising means for pipelining a command generation and transmittal process across a plurality of communication cycles.",
    "19. The robotic surgical system of claim 16: wherein during one part of a communication cycle between the second controller and the plurality of nodes of a given robotic arm, the second controller is configured to send a synchronous command to each node of the given robotic arm using the multi-node message and each node of the given robotic arm is configured to send a response to an asynchronous command sent to that node in a previous communication cycle; and wherein during another part of the communication cycle between the second controller and the plurality of nodes of the given robotic arm, the second controller is configured to send an asynchronous command to each node of the given robotic arm using the multi-node message and each node of the given robotic arm is configured to send a response to a synchronous command received by that node in a previous communication cycle.",
    "20. The robotic surgical system of claim 16, wherein: in communication cycle N−1, the second controller receives feedback from a command sent to a given robotic arm in a previous communication cycle; in communication cycle N, the second controller generates a command based on the received feedback; and in communication cycle N+1, the second controller sends the generated command to the given robotic arm."
  ],
  "description_excerpt": "Robotic surgical systems allow healthcare practitioners to achieve greater accuracy, automation, and/or less-invasive approaches while performing a variety of diagnostic and/or therapeutic procedures. Such technologies are broadly applicable to a variety of medical specialties, ranging from ophthalmology and anesthesiology, to orthopedics and interventional radiology. Some robotic surgical systems incorporate sophisticated robotics and visualization technology for performing minimally-invasive surgeries that can lead to reduced scarring and shorter recover times. One example of a minimally-invasive surgery is a laparoscopic procedure, which typically involves creating a number of small incisions in the patient (e.g., in the abdomen), and introducing one or more tools and at least one camera through the incisions into the patient. The surgical procedure is then performed using the introduced tools, with the visualization aid provided by a camera. At least one of the introduced instruments may be attached to one or more robotic anus operated remoted by a user (e.g., a surgeon).\n\nFIG. 1 is an illustration of an operating room arrangement of a robotic surgical system of an embodiment.\n\nFIG. 2 is an illustration of a robotic arm of an embodiment.\n\nFIG. 3 is an illustration of a communications network of a robotic surgical system of an embodiment.\n\nFIGS. 4 and 5 are illustrations of a multi-node message of an embodiment.\n\nFIGS. 6A, 6B, and 6C are illustrations of an on-the-fly node message exchange of an embodiment.",
  "cpc": [
    "H04L 12/423",
    "A61B 17/00234",
    "A61B 2017/00212",
    "A61B 2017/00221",
    "A61B 34/35",
    "A61B 34/37",
    "A61B 34/70",
    "A61B 34/74",
    "B25J 9/1689",
    "H04L 1/0083",
    "H04L 1/1664",
    "H04L 1/1671",
    "H04L 12/43",
    "H04L 2001/0095",
    "H04L 47/10"
  ],
  "ipc": [
    "A61B 34/00",
    "A61B 34/37",
    "H04L 1/00",
    "H04L 1/16",
    "H04L 45/16"
  ],
  "assignees": [
    "Verb Surgical Inc"
  ],
  "inventors": [
    "Philip L. Graves",
    "Klaus R. Zietlow"
  ],
  "filing_date": "2017-09-18",
  "publication_date": "2020-04-21",
  "grant_date": "2020-04-21",
  "priority_date": "2017-09-18",
  "application_number": "US-201715707503-A",
  "family_id": "65719620",
  "cited_by_count": 0,
  "citations": [
    "US20100234857A1",
    "US20160338676A1",
    "US20060074525A1",
    "US20130245375A1",
    "US20070112463A1",
    "US20100145521A1",
    "US7757028B2",
    "US20120039162A1",
    "US20070150631A1",
    "US20180303482A1",
    "US20110112696A1",
    "US20080144526A1",
    "US8072999B1",
    "US20130345875A1",
    "US20140210520A1",
    "US20150078746A1",
    "US20170097631A1",
    "US9544258B2",
    "US20190083190A1",
    "US20190083186A1"
  ]
}

Record 2,213 of 8,000 in Patents full text (MLC-0201). Request the full dataset.