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.La présente invention concerne des procédés, des systèmes et des appareils pour commander des systèmes chirurgicaux. Dans un aspect de la présente invention, un procédé comprend l'obtention, au niveau d'un sous-système de commande associé à un système chirurgical, d'informations de configuration de matériel, depuis un premier sous-système côté patient qui est couplé en communication avec et commandé par le sous-système de commande ; la détermination d'une version de logiciel devant être utilisée par le sous-système de commande et le premier sous-système côté patient, la détermination de la version de logiciel comprenant la sélection de la version de logiciel parmi une pluralité de versions de logiciel, et chaque version de logiciel de la pluralité de versions de logiciel étant associé àe un sous-système côté patient particulier ; l'instruction au premier sous-système côté patient d'utiliser la version de logiciel ; la détermination que la version du logi