Control of multiple devices
First Claim
1. A method comprising:
- obtaining, at a control subsystem associated with a surgical system, a hardware configuration from a first patient side subsystem of the surgical system, wherein the first patient side subsystem is communicatively coupled to and controlled by the control subsystem;
determining, with a data processing apparatus, a software version to be used by the control subsystem and the first patient side subsystem, wherein determining the software version includes selecting the software version from among a plurality of software versions, and wherein each software version of the plurality of software versions is associated with a particular patient side subsystem;
instructing, with the data processing apparatus, the first patient side subsystem to use the software version;
determining, with the data processing apparatus, whether the software version is currently loaded on the control subsystem;
in response to determining that the software version is not currently loaded on the control subsystem, loading, with the data processing apparatus, the software version on the control subsystem;
validating, with the data processing apparatus, the software version loaded on the control subsystem and the first patient side subsystem;
initializing, with the data processing apparatus, the surgical system with the software version;
receiving, at the first patient side subsystem, an instruction to load the software version;
determining that the software version is located on a second configuration different from a first configuration currently loaded on the first patient side subsystem;
storing data corresponding to the second configuration; and
configuring the first patient side subsystem to the second configuration.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatuses for controlling surgical systems. In one aspect, a method includes obtaining, at a control subsystem associated with a surgical system, hardware configuration information from a first patient side subsystem that is communicatively coupled to and controlled by the control subsystem; determining a software version to be used by the control subsystem and the first patient side subsystem, wherein determining the software version includes selecting the software version from among a plurality of software versions, and wherein each software version of the plurality of software versions is associated with a particular patient side subsystem; instructing the first patient side subsystem to use the software version; determining whether the software version is currently loaded on the control subsystem; in response to determining that the software version is not currently loaded on the control subsystem, loading the software version on the control subsystem; and initializing the surgical system.
41 Citations
16 Claims
-
1. A method comprising:
-
obtaining, at a control subsystem associated with a surgical system, a hardware configuration from a first patient side subsystem of the surgical system, wherein the first patient side subsystem is communicatively coupled to and controlled by the control subsystem; determining, with a data processing apparatus, a software version to be used by the control subsystem and the first patient side subsystem, wherein determining the software version includes selecting the software version from among a plurality of software versions, and wherein each software version of the plurality of software versions is associated with a particular patient side subsystem; instructing, with the data processing apparatus, the first patient side subsystem to use the software version; determining, with the data processing apparatus, whether the software version is currently loaded on the control subsystem; in response to determining that the software version is not currently loaded on the control subsystem, loading, with the data processing apparatus, the software version on the control subsystem; validating, with the data processing apparatus, the software version loaded on the control subsystem and the first patient side subsystem; initializing, with the data processing apparatus, the surgical system with the software version; receiving, at the first patient side subsystem, an instruction to load the software version; determining that the software version is located on a second configuration different from a first configuration currently loaded on the first patient side subsystem; storing data corresponding to the second configuration; and configuring the first patient side subsystem to the second configuration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
obtaining, at a control subsystem associated with a surgical system, a hardware configuration from a first patient side subsystem of the surgical system, wherein the first patient side subsystem is communicatively coupled to and controlled by the control subsystem; determining, with a data processing apparatus, a software version to be used by the control subsystem and the first patient side subsystem, wherein determining the software version includes selecting the software version from among a plurality of software versions, and wherein each software version of the plurality of software versions is associated with a particular patient side subsystem; instructing, with the data processing apparatus, the first patient side subsystem to use the software version; determining, with the data processing apparatus, whether the software version is currently loaded on the control subsystem; in response to determining that the software version is not currently loaded on the control subsystem, loading, with the data processing apparatus, the software version on the control subsystem; validating, with the data processing apparatus, the software version loaded on the control subsystem and the first patient side subsystem; initializing, with the data processing apparatus, the surgical system with the software version wherein instructing the first patient side subsystem to use the software version comprises;
loading the software version on the first patient side subsystem by;determining a particular boot image of multiple boot images, wherein the particular boot image contains the software version; and rebooting the first patient side subsystem from a current boot image to the particular boot image, wherein rebooting the first patient side subsystem from the current boot image to the particular boot image comprises; obtaining a first header block for the particular boot image; restoring the obtained first header block to the particular boot image; storing a copy of a second header block for the current boot image; and after restoring of the obtained first header block and storing of the copy of the second header block, invalidating the second header block for the current boot image.
-
-
14. A system, comprising:
-
a control subsystem, wherein the control subsystem is configured to communicatively couple with a plurality of patient-side subsystems, wherein each patient-side subsystem is associated with a software configuration of a plurality of software configurations, and wherein the control subsystem configures the system by; determining a combination of the control subsystem communicatively coupled with a particular patient-side subsystem of the plurality of patient-side subsystems, selecting a particular software configuration from the plurality of software configurations based on the combination, initializing the system after validating the particular software configuration; transmitting instructions from the control subsystem to the particular patient-side subsystem to load the particular software configuration, wherein the particular patient-side subsystem is configured to; receive the instruction to load the software version; determine that the software version is located on a second configuration different from a first configuration currently loaded on the particular patient side subsystem store data corresponding to the second configuration; and configure the particular patient side subsystem to the second configuration. - View Dependent Claims (15, 16)
-
Specification