Robotic control system and method

EP4669245A1Pending Publication Date: 2025-12-31MOMENTIS SURGICAL LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2024759904
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-02-22
Filing Date
2024-02-21
Publication Date
2025-12-31

AI Technical Summary

Technical Problem

Free-flow-type robotic controllers in minimally invasive surgery lack effective mechanisms to prevent movements that exceed the mechanical limitations of surgical mechanical arms, leading to errors and inability to replicate certain movements, despite existing haptic feedback solutions being insufficient.

Method used

A robotic control system with processing circuitry that determines haptic feedback to guide the input control within the mechanical limitations of the robotic object, using a kinematic model to detect movement boundaries and apply feedback to prevent exceeding these limits, ensuring the robotic object operates within its capabilities.

Benefits of technology

The system provides precise control by limiting movements to the robotic object's mechanical capabilities, preventing errors and ensuring that only feasible movements are executed, thereby enhancing the safety and effectiveness of robotic surgeries.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IL2024050196_29082024_PF_FP_ABST
    Figure IL2024050196_29082024_PF_FP_ABST
Patent Text Reader

Abstract

The presently disclosed subject matter aims to a system and method comprising at least one input control configured to be operated by a user of said system to control a robotic object; and a processing circuitry configured to: obtain a kinematic model based on a mechanical model of the robotic object, comprising a set of movement boundaries defining movement limits of at least one robotic object controllable by said input control, and preventing said robotic object from performing at least some of said input control's movements; upon detecting, utilizing the kinematic model, that a movement of said input control from a current spatial location to a desired spatial location is expected to cause the robotic object to cross a movement boundary, receive an indication of occurrence of an error; and, determine haptic feedback to be applied to said input control having a component leading the movement of said input control in a direction substantially along the movement boundary.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] ROBOTIC CONTROL SYSTEM AND METHOD

[0002] TECHNICAL FIELD

[0003] The present invention relates to the field of robotic surgery, in particular, robotic systems configured for minimal invasive surgery using controllers.

[0004] BACKGROUND

[0005] Robot-assisted surgeries are surgical procedures performed using robotic systems. These robotic systems, which typically include one or more controllers (or control units) configured to control the movement of one or more respective surgical mechanical arms during system operation, were developed in an effort to overcome the limitations of preexisting minimally-invasive surgical procedures, as well as enhance the capabilities of surgeons performing open surgery.

[0006] Nowadays, robotic systems include one of two main types of controllers: (i) avatar-type controllers, or (ii) free-flow-type controllers. Unlike avatar-type controllers, free-flow-type controllers are unbounded by the mechanical movement limitations of the surgical mechanical arms they control. This attribute, notwithstanding its ability to make the use of such controllers more natural and user-friendly, may also yield error situations in which movement(s) performed by a free-flow-type controller to a point(s) beyond the mechanical limitations of a surgical mechanical arm controlled by it, cannot be repeated by said surgical mechanical arm.

[0007] Despite the existence of several solutions, including haptic feedback-based solutions designed to inflict a force opposite to the force applied by a surgeon using a free-flow-type controller in his attempt to reach a point that the surgical mechanical arm, controlled by it, cannot reach, these solutions remain insufficient, as their primary focus lays on preventing the surgeon from performing the "unauthorized" movement.

[0008] Thus, there is a need in the art for a new robotic control system and method.

[0009] GENERAL DESCRIPTION

[0010] In accordance with a first aspect of the presently disclosed subject matter, there is provided a robotic control system configured for controlling a robotic object, said system comprising: at least one input control configured to be operated by a user of said system for assuming a plurality of spatial states, each associated with an input control position and an input control orientation, and configured for determining a respective robotic object spatial state associated with a robotic object position and a robotic object orientation of the robotic object, wherein said respective robotic object position and said respective robotic object orientation are interlinked; and, a processing circuitry configured to: upon detecting, following a transition attempt of said input control from a current input control spatial state to a desired input control spatial state, that a corresponding transition of said robotic object from a current robotic object spatial state to a desired robotic object spatial state cannot be accomplished, perform movement of said input control to a position closest to the input control position of said desired input control spatial state, to which said robotic object is capable of reaching, entailing a resulting robotic object orientation; and, determine a first haptic feedback to be applied to said input control, wherein said first haptic feedback is directed to lead said input control towards an input control resulting orientation, corresponding to said resulting robotic object orientation.

[0011] In some cases, upon said robotic object reaching said position closest to said input control position of said desired input control spatial state, said system is configured to determine a second haptic feedback to be applied to said input control, in a direction opposite to the movement direction of said robotic object, so as to prevent said input control from moving past said position closest to said input control position of said desired input control spatial state.

[0012] In some cases, the second haptic feedback is determined based on an offset between said position closest to said input control position of said desired input control spatial state and said input control position of said desired input control spatial state.

[0013] In some cases, the first haptic feedback is determined based on an offset between said input control orientation of said current input control spatial state and said input control resulting orientation.

[0014] In some cases, the input control is scaled so that motion orientation angles of said input control yield greater motion orientation angles of said robotic object, and wherein said first haptic feedback is applied in accordance with said scaling.

[0015] In some cases, the corresponding transition of said robotic object from a current robotic object spatial state to a desired robotic object spatial state cannot be accomplished due to one or more mechanical limitations of said robotic object. In some cases, the system further includes a visual display enabling monitoring said resulting robotic object orientation and said position closest to the input control position of said desired input control spatial state.

[0016] In accordance with a second aspect of the presently disclosed subject matter, there is provided a robotic control system comprising: at least one input control configured to be operated by a user of said system to control a robotic object; and, a processing circuitry configured to: obtain a kinematic model based on a mechanical model of the robotic object and comprising a set of movement boundaries, defining movement limits of at least one robotic object controllable by said input control, said movement limits preventing said robotic object from performing at least some of said input control's movements upon detecting, utilizing the kinematic model, that a movement of said input control from a current spatial location to a desired spatial location is expected to cause the robotic object to cross a movement boundary, receive an indication of occurrence of an error; and, determine haptic feedback to be applied to said input control, said haptic feedback having a component leading the movement of said input control in a direction substantially along the movement boundary.

[0017] In some cases, the at least one input control possesses six degrees of freedom.

[0018] In some cases, the indication of occurrence of the error is received from the kinematic model.

[0019] In some cases, the indication of occurrence of the error is received from the robotic object.

[0020] In some cases, the direction is in correlation with a component of a vector leading from the current spatial location to a surface tangent to a curvature extending from the current spatial location substantially along the movement boundary.

[0021] In some cases, the component is a non-zero component.

[0022] In some cases, the robotic object is a mechanical arm composed of a plurality of segments coupled to one another.

[0023] In some cases, the movement limits are derived from movement limits of the mechanical arm.

[0024] In some cases, (i) the input control includes a control unit at its proximal end configured to be operated by the user of the system, and (ii) the mechanical arm contains an end effector located at its distal end, being controlled by the control unit of the input control. In some cases, the movement boundaries are determined so that a current orientation of the end effector is maintained.

[0025] In some cases, (i) the system includes two input controls associated with two or more mechanical arms, (ii) the two or more mechanical arms are coupled to a Robotic Control Unit (RCU) composed of two or more sub-units, such that each mechanical arm is coupled to a sub unit capable of performing linear movement, and (iii) the set of movement boundaries includes at least one boundary associated with the linear movement of the two or more sub-units.

[0026] In some cases, each input control of the input controls is associated with two or more mechanical arms configured to operate separately or jointly.

[0027] In some cases, the plurality of segments of the mechanical arm include one or more sections configured to act as joint sections so as to enable the maneuvering of the mechanical arm.

[0028] In accordance with a third aspect of the presently disclosed subject matter, there is provided a method comprising: obtaining, by a processing circuitry, a kinematic model based on a mechanical model of a robotic object and comprising a set of movement boundaries, defining movement limits of at least one robotic obj ect controllable by at least one input control, said movement limits preventing said robotic object from performing at least some of said input control's movements; upon detecting, by the processing circuitry, utilizing the kinematic model, that a movement of said input control from a current spatial location to a desired spatial location is expected to cause the robotic object to cross a movement boundary, receiving an indication of occurrence of an error; and, determining, by the processing circuitry, haptic feedback to be applied to said input control, said haptic feedback having a component leading the movement of said input control in a direction substantially along the movement boundary.

[0029] In some cases, the at least one input control possesses six degrees of freedom.

[0030] In some cases, the indication of occurrence of the error is received from the kinematic model.

[0031] In some cases, the indication of occurrence of the error is received from the robotic object.

[0032] In some cases, the direction is in correlation with a component of a vector leading from the current spatial location to a surface tangent to a curvature extending from the current spatial location substantially along the movement boundary. In some cases, the component is a non-zero component.

[0033] In some cases, the robotic object is a mechanical arm composed of a plurality of segments coupled to one another.

[0034] In some cases, the movement boundaries are derived from movement boundaries of the mechanical arm.

[0035] In some cases, (i) the input control includes a control unit at its proximal end configured to be operated by the user of the system, and (ii) the mechanical arm contains an end effector located at its distal end, being controlled by the control unit of the input control.

[0036] In some cases, the movement boundaries are determined so that a current orientation of the end effector is maintained.

[0037] In some cases, (i) the system includes two input controls associated with two or more mechanical arms, (ii) the two or more mechanical arms are coupled to a Robotic Control Unit (RCU) composed of two or more sub-units, such that each mechanical arm is coupled to a sub unit capable of performing linear movement, and (iii) the set of movement boundaries includes at least one boundary associated with the linear movement of the two or more sub-units.

[0038] In some cases, each input control of the input controls is associated with two or more mechanical arms configured to operate separately or jointly.

[0039] In some cases, the plurality of segments of the mechanical arm include one or more sections configured to act as joint sections so as to enable the maneuvering of the mechanical arm.

[0040] In accordance with a fourth aspect of the presently disclosed subject matter, there is provided a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code, executable by at least one processor to perform a method comprising: obtaining, by a processing circuitry, a kinematic model based on a mechanical model of a robotic object and comprising a set of movement boundaries, defining movement limits of at least one robotic object controllable by at least one input control, said movement limits preventing said robotic object from performing at least some of said input control's movements; upon detecting, by the processing circuitry, utilizing the kinematic model, that a movement of said input control from a current spatial location to a desired spatial location is expected to cause the robotic object to cross a movement boundary, receiving an indication of occurrence of an error; and, determining, by the processing circuitry, haptic feedback to be applied to said input control, said haptic feedback having a component leading the movement of said input control in a direction substantially along the movement boundary.

[0041] BRIEF DESCRIPTION OF THE DRAWINGS

[0042] In order to understand the presently disclosed subject matter and to see how it may be carried out in practice, the subj ect matter will now be described, by way of non-limiting examples only, with reference to the accompanying drawings, in which:

[0043] Fig. 1A is a schematic isometric view of a control unit used in an exemplary robotic system, in accordance with the presently disclosed subject matter;

[0044] Fig. IB is a schematic isometric view of a robotic object, controlled by the control unit shown in Fig. 1 A, in accordance with the presently disclosed subject matter;

[0045] Fig. 1C is a schematic isometric view of one example of variance in maneuvering capabilities between an input control and a robotic object controlled by it, in accordance with the presently disclosed subject matter;

[0046] Fig. ID is a schematic isometric view of another example of variance in maneuvering capabilities between an input control and a robotic object controlled by it, in accordance with the presently disclosed subject matter;

[0047] Fig- 2 is a block diagram schematically illustrating one example of a robotic control system, in accordance with the presently disclosed subject matter;

[0048] Fig- 3 is a flowchart illustrating one example of a sequence of operations carried out by a robotic control system, in accordance with the presently disclosed subject matter;

[0049] Fig- 4 is an exemplary illustration of one example of an operation carried out by a robotic control system, in accordance with the presently disclosed subject matter; and,

[0050] Fig. 5 is a flowchart illustrating another example of a sequence of operations carried out by a robotic control system, in accordance with the presently disclosed subject matter;

[0051] Fig. 6 is an exemplary illustration of another example of an operation carried out by a robotic control system, in accordance with the presently disclosed subject matter; and,

[0052] Fig. 7 is an exemplary illustration of yet another example of an operation carried out by a robotic control system, in accordance with the presently disclosed subject matter. DETAILED DESCRIPTION

[0053] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the presently disclosed subject matter. However, it will be understood by those skilled in the art that the presently disclosed subject matter may be practiced without these specific details. In other instances, well- known methods, procedures, and components have not been described in detail so as not to obscure the presently disclosed subject matter.

[0054] In the drawings and descriptions set forth, identical reference numerals indicate those components that are common to different embodiments or configurations.

[0055] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “receiving”, “determining”, or the like, include action and / or processes of a computer that manipulate and / or transform data into other data, said data represented as physical quantities, e.g., such as electronic quantities, and / or said data representing the physical objects. The terms “computer”, “processor”, “processing resource”, “processing circuitry”, and “controller” should be expansively construed to cover any kind of electronic device with data processing capabilities, including, by way of non-limiting example, a personal desktop / laptop computer, a server, a computing system, a communication device, a smartphone, a tablet computer, a smart television, a processor (e.g. digital signal processor (DSP), a microcontroller, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.), a group of multiple physical machines sharing performance of various tasks, virtual servers co-residing on a single physical machine, any other electronic computing device, and / or any combination thereof.

[0056] The operations in accordance with the teachings herein may be performed by a computer specially constructed for the desired purposes or by a general-purpose computer specially configured for the desired purpose by a computer program stored in a non- transitory computer readable storage medium. The term "non-transitory" is used herein to exclude transitory, propagating signals, but to otherwise include any volatile or nonvolatile computer memory technology suitable to the application.

[0057] As used herein, the phrase "for example," "such as", "for instance" and variants thereof describe non-limiting embodiments of the presently disclosed subject matter. Reference in the specification to "one case", "some cases", "other cases" or variants thereof means that a particular feature, structure or characteristic described in connection with the embodiment s) is included in at least one embodiment of the presently disclosed subject matter. Thus, the appearance of the phrase "one case", "some cases", "other cases" or variants thereof does not necessarily refer to the same embodiment s).

[0058] It is appreciated that, unless specifically stated otherwise, certain features of the presently disclosed subject matter, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the presently disclosed subject matter, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable sub-combination.

[0059] In embodiments of the presently disclosed subject matter, fewer, more and / or different stages than those shown in Figs. 3 and 5 may be executed. In embodiments of the presently disclosed subject matter one or more stages illustrated in Figs. 3 and 5 may be executed in a different order and / or one or more groups of stages may be executed simultaneously. Figs. 1A-1D and 2 illustrate a general schematic of the system architecture in accordance with an embodiment of the presently disclosed subject matter. Each module in Fig. 2 can be made up of any combination of software, hardware and / or firmware that performs the functions as defined and explained herein. The modules in Fig. 2 may be centralized in one location or dispersed over more than one location. In other embodiments of the presently disclosed subject matter, the system may comprise fewer, more, and / or different modules than those shown in Fig. 2.

[0060] Any reference in the specification to a method should be applied mutatis mutandis to a system capable of executing the method and should be applied mutatis mutandis to a non-transitory computer readable medium that stores instructions that once executed by a computer result in the execution of the method.

[0061] Any reference in the specification to a system should be applied mutatis mutandis to a method that may be executed by the system and should be applied mutatis mutandis to a non-transitory computer readable medium that stores instructions that may be executed by the system.

[0062] Any reference in the specification to a non-transitory computer readable medium should be applied mutatis mutandis to a system capable of executing the instructions stored in the non-transitory computer readable medium and should be applied mutatis mutandis to method that may be executed by a computer that reads the instructions stored in the non-transitory computer readable medium.

[0063] Bearing this in mind, attention is drawn to Figs. 1A to IB, showing schematic isomeric views of components of an exemplary robotic system (also interchangeably referred to herein as “system”) on which a robotic control system operates, in accordance with the presently disclosed subject matter.

[0064] As shown in the schematic isomeric views, robotic system 100 may include: (i) one or more input controls, denoted 102 (Fig. 1A), and (ii) one or more robotic objects, denoted 104 (optionally being mechanical arms (Fig. IB), though other types of robotic objects may also be applicable). Each input control may control at least one robotic object of said robotic objects 104, enabling a user (e.g., a physician, a surgeon, an operator, etc.) of said robotic system to control the movement(s) and / or operation(s) of said at least one robotic object, during robotic system’s 100 operation(s).

[0065] It is to be of note that, in some cases, a single input control may selectively control more than one robotic object, optionally divided by time, such that at each point in time, the input control may control a single robotic object (optionally selected by a user).

[0066] It is also to be of note that throughout the description, whenever reference is made to the term “input control” it may be interpreted as a standalone device, or part of a more extensive control system configured to support the input control itself, while it is being operated by a surgeon (e.g., as the surgeon is holding the input control in his hands, or in any other manner).

[0067] It is further to be of note that, in some cases, the one or more input controls 102 may optionally be coupled to a designated console (not shown), containing additional components, e.g., an arm support component, a display component, etc., whereas the one or more robotic objects may be coupled to a Robotic Control Unit (RCU) (not shown), composed of two or more sub-units, each associated with at least one robotic object, capable of performing linear movement.

[0068] Attention is now drawn to Fig. 1A. Fig. 1 A shows a schematic isometric view of an exemplary input control 102.

[0069] It is to be of note that the below description of input control 102 serves as a mere example not intended in any way to limit the scope of the presently disclosed subject matter and that any other input control for controlling the robotic system may also be used, mutatis mutandis. As shown in the schematic isomeric view, input control 102, which may be, for example, a motorized input control capable of inflicting a counter force (e.g., haptic force, etc.) in response to a force being exerted by a user, may include (i) one or more kinematic structures, denoted 105a to 105c, and (ii) a control unit, denoted 106, located at the control unit's proximal end, connected to said kinematic structures through their meeting point, denoted 108.

[0070] Control unit 106 may include a hand grip, denoted 110, optionally shaped and sized to be gripped by a user’s hand and / or by parts of the user’s hand (e.g., at least one finger), and one or more interfaces, represented by reference number 112, for the user's fingers (e.g., the user's forefinger and thumb).

[0071] Hand grip 110 may be located within control unit 106 in a manner that enables it to perform movements associated with rotational forces about the x, y, and z planes (i.e., roll, pitch, and yaw), in addition to displacement movements associated with the x, y, and z planes (i.e., left-right, up-down, forward-backward), originating from kinematic structures 105a to 105c.

[0072] The combination of the above movements (i.e., the movements associated with the x, y, and z planes and the rotational forces about the x, y, and z planes) provides the input control its multiple degrees of freedom (e.g., six degrees of freedom, etc.) such that a user activating input control 102, by holding control unit 106, may reach any point in a predefined space of said control unit.

[0073] Contrary to the input control, the motion of a robotic object 104 in space may be limited by its mechanical structure (i.e., mechanical model) associated with a set of movement boundaries, defining movement limits preventing the robotic object from performing at least some of said input control's movements.

[0074] Attention is now drawn to Fig. IB. Fig. IB shows a schematic isomeric view of an exemplary robotic object 104.

[0075] It is to be of note that the below description of robotic object 104 serves as a mere example not intended in any way to limit the scope of the presently disclosed subject matter and that any other robotic object may also be used, mutatis mutandis.

[0076] As shown in the schematic view, and in no way intended to limit the scope of the presently disclosed subject matter, the robotic object may be a mechanical arm directed to be controlled by a respective input control 102, during a surgical procedure. The mechanical arm, which may optionally be at least partially inserted into a patient’s natural orifice (e.g., vagina, rectum, mouth, nostril, and the like) during the surgical procedure, may include a plurality of segments, denoted 114a to 114n (n being any letter representing any number of segments), coupled to one another (e.g., by forming a series of segments that fit one another or being nested within one another).

[0077] Segments 114a to 114n, which may have flexible features, may be associated with one or more gears (not shown) directed to actuate bending and / or rotation of the arm's segments.

[0078] In some cases, the plurality of segments may include one or more sections configured to act as joint sections so as to enable the maneuvering of the mechanical arm.

[0079] In some cases, the mechanical arm may include an end effector, denoted 116, located at said mechanical arm's distal end, being controlled by the user's fingers, optionally through the one or more interfaces 112 of control unit 106.

[0080] In correlation with the explanation above with respect to the robotic object, despite its extensive maneuvering capabilities, the mechanical arm may be limited by its mechanical model, which prevents it from performing at least some of its respective input control's movements. In one example, as illustrated in Fig. 1C, assuming end effector 106 of mechanical arm 104 is parallel to a segment of the arm (e.g., segment 114a), due to bending of the segment to which said end effector is coupled (e.g., segment 114n), an action performed using input control 102 controlling said arm, involving moving end effector 106 straight downwards from its initial position, denoted "A", to a desired position, denoted "B", located beyond the position of the parallel segment, would be impossible for arm 104 to complete, since end effector 106 would collide with the parallel segment (e.g., segment 114a) mid-movement. In another example, as illustrated in Fig. ID, assuming position "C" of end effector 106 represents its movement limit, an action performed using input control 102, controlling said arm, involving an attempt to move end effector 106 from position "C" to position "D", located outside said end effector's movement limit, could not be completed by arm 104.

[0081] Given the variance in maneuvering capabilities between the input controls and the robotic objects being controlled by them, during robotic system’s operation, as explained hereinbefore, a user may perform a variety of motions or actions, through the input controls, that the robotic objects will not be able to achieve. To cope with such scenarios, the robotic control system of the presently disclosed subject matter may perform one or more robotic control processes as described in further detail hereafter with respect to Figs. 3 and 5.

[0082] Attention is now drawn to components of the robotic control system 200.

[0083] Fig- 2 is a block diagram schematically illustrating one example of the robotic control system 200, in accordance with the presently disclosed subject matter.

[0084] In accordance with the presently disclosed subject matter, the robotic control system 200 (also interchangeably referred to herein as “system 200”) can comprise a communication interface 206. The communication interface 206 (e.g., a network card, a Wi-Fi client, a Li-Fi client, 3G / 4G client, or any other component), enables system 200 to communicate over a network with external systems and handles inbound and outbound communications from such systems. For example, system can receive, through communication interface 206, a kinematic model based on a mechanical model of a robotic object.

[0085] System 200 can further comprise or be otherwise associated with a data repository 204 (e.g., a database, a storage system, a memory including Read Only Memory - ROM, Random Access Memory - RAM, or any other type of memory, etc.) configured to store data. Some examples of data that can be stored in the data repository 104 include:

[0086] • One or more mechanical models of one or more robotic objects;

[0087] • One or more kinematic models based on one or more mechanical models of one or more robotic objects;

[0088] • One or more sets of movement boundaries, defining movement limits of one or more robotic objects controllable by one or more input controls;

[0089] • One or more indications of occurrences of errors;

[0090] • One or more components of one or more haptic feedbacks designed to lead the movement of one or more input control in a direction substantially along a movement boundary; etc.

[0091] Data repository 204 can be further configured to enable retrieval and / or update and / or deletion of the stored data. It is to be noted that in some cases, data repository can be distributed, while the system 200 has access to the information stored thereon, e.g., via a wired or wireless network to which system 200 is able to connect (utilizing its communication interface 206). System 200 further comprises processing circuitry 202. Processing circuitry 202 can be one or more processing units (e.g., central processing units), microprocessors, microcontrollers (e.g., microcontroller units (MCUs)) or any other computing devices or modules, including multiple and / or parallel and / or distributed processing units, which are adapted to independently or cooperatively process data for controlling relevant system 200 resources and for enabling operations related to system’s 200 resources.

[0092] The processing circuitry 202 comprises a robotic control module 208, configured to perform a robotic control process, as further detailed herein, inter alia with reference to Figs. 3 and 5.

[0093] Turning to Fig. 3 there is shown a flowchart illustrating one example of the operations carried out by the robotic control system 200, in accordance with the presently disclosed subject matter.

[0094] Accordingly, the robotic control system 200 (also interchangeably referred to hereafter as “system 200”) can be configured to perform a robotic control process 300, e.g., using robotic control module 208.

[0095] For this purpose, system 200 obtains a kinematic model based on a mechanical model of a robotic object and comprising a set of movement boundaries, defining movement limits of at least one robotic object controllable by said input control. The movement limits prevent said robotic object from performing at least some of said input control's movements (block 302).

[0096] By way of a non-limiting example, presented merely for the purpose of better understanding the presently disclosed subject matter and not intended in any way to limit its scope, system 200 obtains a kinematic model based on the mechanical model of mechanical arm 104, illustrated in Fig. IB. The kinematic model of said mechanical arm 104 includes, for example, a movement boundary referring to the scenario described hereinbefore in relation to Fig. 1C, in which the end effector is incapable of performing a movement straight downwards to a desired location, due to the presence of a segment of the arm, located parallel to said end effector, between the current location of the end effector and the desired location.

[0097] Next, upon detecting, utilizing the kinematic model, that a movement of the input control from a current spatial location to a desired spatial location is expected to cause the robotic object to cross a movement boundary, receives an indication of occurrence of an error (block 304) In some cases, the indication of occurrence of an error may be received from the kinematic model. In other cases, said indication may be received from the robotic object itself.

[0098] In accordance with our non-limiting example, upon detection of movement of the input control 102, which controls said mechanical arm 104, instructing the movement of the end effector from its current location to said desired location, as described above in relation to Fig. 1C, system 200 receives, upon arrival of the arm at the movement boundary, an indication of occurrence of an error, originating from mechanical arm 104.

[0099] Following receiving an indication of occurrence of an error, system 200 determines haptic feedback to be applied to the input control, having a component leading the movement of the input control in a direction substantially along the movement boundary (block 306).

[0100] In accordance with our non-limiting example, system 200 determines haptic feedback to be applied to the input control 102 such that the haptic feedback directs said input control 102 in a direction substantially along said movement boundary of mechanical arm 104.

[0101] In some cases, the direction is in correlation with a component of a vector leading from the current spatial location to a surface tangent to a curvature extending from the current spatial location substantially along the movement boundary.

[0102] In some cases, the component is a non-zero component. In such cases, the angle formed between a line constructed between the current spatial location and the desired spatial location and the movement boundary is different from 90 degrees, which enables the component to be used to substantially direct the input control's movement in a direction along the movement boundary.

[0103] In some cases, robotic control system 200 may be associated with an algorithm configured to calculate the forces and weights acting on said input control. Fig. 4 shows an exemplary illustration correlating with the above. As shown in Fig. 4, a user operating control unit 106 performs a movement involving moving said control unit 106 in order to move the robotic object / end effector from a current spatial location 402 to a desired spatial location 404. Upon detecting, utilizing the kinematic model of mechanical arm 104, that the movement of the control unit 106, attempting to move the robotic object from said current spatial location 402 to said desired spatial location 404 causes the robotic object to cross a movement boundary, denoted 406, system 200 receives an indication of occurrence of an error from said mechanical arm 104. Following receiving said indication, system 200 generates: (i) a surface 408 tangent to movement boundary 406, at the point of encounter with said movement boundary 406, and (ii) a vector 410 perpendicular to said surface 408. Vector 410 is then disassembled into its components, a first component 412 and a second component 414, and the control unit's 106 movement is directed in the direction of the second component 414, in the general direction substantially along the movement boundary 406.

[0104] The resulting effect of this haptic feedback on the surgeon or operator of the control unit is their hand being guided along a seemingly invisibly path, limiting their movement along it. While this provides a certain limitation compared to the provided predetermined freedom of the control unit, it nevertheless allows for a more precise control over the robotic object and prevents the operator from eventually performing movements by the controller which cannot be imitated or executed by the robotic object. Thus, the above-described process and resulting haptic feedback gently nudge the operator’s hand into the natural movement allowable by the mechanical design of the robotic object.

[0105] It is to be noted that throughout the above description, whenever the “kinematic model” term is mentioned, this term may be interpreted both as a kinematic model based on a portion of the robotic object, such that said kinematic model represents a specific relevant state of said robotic object’s portion, and a kinematic model based on the mechanical model of the whole robotic object.

[0106] Turning to Fig. 5 there is shown a flowchart illustrating another example of the operations carried out by the robotic control system 200, in accordance with the presently disclosed subject matter.

[0107] By way of introduction, robotic control system 200 may include at least one input control, e.g., input control 102, configured to be operated by a user of said system for assuming a plurality of spatial states, each associated with an input control position and an input control orientation. Input control 102 may be configured for determining a respective robotic object spatial state associated with a robotic object position and a robotic object orientation of a robotic object, e.g., robotic object 104, being controlled by said system, while said respective robotic object position and said respective robotic object orientation are interlinked. Accordingly, the robotic control system 200 (also interchangeably referred to hereafter as “system 200”) can be configured to perform a robotic control process 500, e.g., using robotic control module 208.

[0108] For this purpose, upon detecting, following a transition attempt of input control 102 from a current input control spatial state to a desired input control spatial state, that a corresponding transition of robotic object 104 from a current robotic object spatial state to a desired robotic object spatial state cannot be accomplished (i.e., either the position or orientation associated with said desired robotic object spatial state cannot be reached, optionally due to one or more mechanical limitations of robotic object 104), system 200 performs movement of said input control to a position closest to input control position of said desired input control spatial state, a corresponding position of which said robotic object is capable of reaching. However, this entails a resulting robotic object orientation (block 502 to block 506), which may not correspond to the desired input control orientation.

[0109] By way of a non-limiting example, presented merely for the purpose of better understanding the presently disclosed subject matter and not intended in any way to limit its scope, as illustrated in Fig. 6, initially, both input control 102 and robotic object 104 are in the same spatial state, denoted 602 and 602' respectively (i.e., input control position, denoted 602a, and input control orientation, denoted 602b, correspond to robotic object position, denoted 602a', and robotic object orientation, denoted 602b').

[0110] Upon detecting, following a transition attempt of input control 102 from its current spatial location 602, to a desired spatial location, denoted 604, that a corresponding movement cannot be accomplished by robotic object 104 (i.e., robotic object 104 cannot perform a respective movement to desired spatial location 604' associated with a robotic object position, denoted 604a', and a robotic object orientation, denoted 604b'), system 200 preforms movement of input control 102 to a position closest to said desired position, denoted 606a, a corresponding position of which said robotic object is capable of reaching (denoted 606a'), entailing a resulting robotic object orientation, denoted 606b'.

[0111] System 200 then determines a first haptic feedback to be applied to said input control, which is directed to lead said input control towards an input control resulting orientation, corresponding to said resulting robotic object orientation (block 508). In accordance with our non-limiting example, system 200 determines a first haptic feedback to be applied to input control 102, which is directed to lead said input control towards an input control resulting orientation, denoted 606b, associated with said resulting robotic object orientation 606b'.

[0112] In some cases, system 200 may further include a visual display (not shown) enabling monitoring the resulting robotic object orientation and the position closest to the input control position of the desired input control spatial state.

[0113] In some cases, the first haptic feedback may be determined based on an offset between the input control orientation of the current input control spatial state and the input control resulting orientation.

[0114] In some cases, input control 102 may be scaled so that motion orientation angles of said input control yield greater motion orientation angles of robotic object 104. In such cases, the first haptic feedback may be applied in accordance with said scaling.

[0115] The resulting effect of the first haptic feedback on the surgeon or operator of the input control is their hand being guided to an orientation coinciding with the orientation of the robotic object. While this provides a certain limitation compared to the provided predetermined freedom of the input control, it nevertheless allows for more precise control over the robotic object and prevents the operator from eventually performing movements by the controller, which cannot be imitated or executed by the robotic object.

[0116] It is to be of note that the determination of the first haptic feedback may be performed before, concurrently, or after the movement of said input control to the position closest to said desired position.

[0117] In some cases, upon robotic object 104 reaching the position closest to the input control position of the desired input control spatial state, system 200 may be configured to determine a second haptic feedback to be applied to input control 102, in a direction opposite to the movement direction of robotic object 104, so as to prevent input control 102 from moving past the position closest to said input control position of said desired input control spatial state. For example, as illustrated in Fig. 7, initially, both input control 102 and robotic object 104 are in the same spatial state, denoted 702 and 702' respectively (i.e., input control position, denoted 702a, and input control orientation, denoted 702b, coincide robotic object position, denoted 702a', and robotic object orientation, denoted 702b'). Upon detecting that a transition of input control 102 from its current input control position, represented by dashed line 'a', to a desired input control position, represented by dashed line 'c', cannot be accomplished by robotic object 104 (i.e., robotic object 104 cannot perform a respective movement to a desired robotic object position, represented by dashed line ' c> '), system 200 preforms movement of robotic object 104 to a position closest to the input control position of the desired input control spatial, represented by dashed line ' b’ ', and determine second haptic feedback to be applied to input control 102, in a direction opposite to the movement direction of robotic object 104, so as to prevent input control 102 from moving past the position closest to the input control position of the desired input control spatial state, represented by dashed line 'b'.

[0118] In some cases, the second haptic feedback may be determined based on an offset between the position closest to the input control position of the desired input control spatial state and the input control position of the desired input control spatial state.

[0119] In some cases, robotic control system 200 may be associated with an algorithm directed to determine what influences the position(s) and orientation(s) of components of the robotic system on which system 200 operates, and in what way. In addition, said algorithm may be directed to determine how to provide a user of said robotic system with their desired position.

[0120] It is to be noted, with reference to Figs. 3 and 5, that some of the blocks can be integrated into a consolidated block or can be broken down to a few blocks and / or other blocks may be added. It is to be further noted that some of the blocks are optional. It should be also noted that whilst the flow diagram is described also with reference to the system elements that realizes them, this is by no means binding, and the blocks can be performed by elements other than those described herein.

[0121] It is to be understood that the presently disclosed subject matter is not limited in its application to the details set forth in the description contained herein or illustrated in the drawings. The presently disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. Hence, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting. As such, those skilled in the art will appreciate that the conception upon which this disclosure is based may readily be utilized as a basis for designing other structures, methods, and systems for carrying out the several purposes of the present presently disclosed subject matter.

[0122] It will also be understood that the system according to the presently disclosed subject matter can be implemented, at least partly, as a suitably programmed computer. Likewise, the presently disclosed subject matter contemplates a computer program being readable by a computer for executing the disclosed method. The presently disclosed subject matter further contemplates a machine-readable memory tangibly embodying a program of instructions executable by the machine for executing the disclosed method.

Claims

CLAIMS:

1. A robotic control system configured for controlling a robotic object, said system comprising: at least one input control configured to be operated by a user of said system for assuming a plurality of spatial states, each associated with an input control position and an input control orientation, and configured for determining a respective robotic object spatial state associated with a robotic object position and a robotic object orientation of the robotic object, wherein said respective robotic object position and said respective robotic object orientation are interlinked; and, a processing circuitry configured to: upon detecting, following a transition attempt of said input control from a current input control spatial state to a desired input control spatial state, that a corresponding transition of said robotic object from a current robotic object spatial state to a desired robotic object spatial state cannot be accomplished, perform movement of said input control to a new input control position closest to the input control position of said desired input control spatial state, a corresponding position of which said robotic object is capable of reaching, entailing a resulting robotic object orientation; and, determine a first haptic feedback to be applied to said input control, wherein said first haptic feedback is directed to lead said input control towards an input control resulting orientation, corresponding to said resulting robotic object orientation.

2. The robotic control system of claim 1, wherein upon said robotic object reaching said position closest to said input control position of said desired input control spatial state, said system is configured to determine a second haptic feedback to be applied to said input control, in a direction opposite to the movement direction of said robotic object, so as to prevent said input control from moving past said position closest to said input control position of said desired input control spatial state.

3. The robotic control system of claim 2, wherein said second haptic feedback is determined based on an offset between said position closest to said input control position of said desired input control spatial state and said input control position of said desired input control spatial state.

4. The robotic control system of claim 1, wherein said first haptic feedback is determined based on an offset between said input control orientation of said current input control spatial state and said input control resulting orientation.

5. The robotic control system of claim 4, wherein said input control is scaled so that motion orientation angles of said input control yield greater motion orientation angles of said robotic object, and wherein said first haptic feedback is applied in accordance with said scaling.

6. The robotic control system of claim 1, wherein said corresponding transition of said robotic object from a current robotic object spatial state to a desired robotic object spatial state cannot be accomplished due to one or more mechanical limitations of said robotic object.

7. The robotic control system of claim 1 , wherein said system further includes a visual display enabling monitoring said resulting robotic object orientation and said position closest to the input control position of said desired input control spatial state.

8. A robotic control system comprising: at least one input control configured to be operated by a user of said system to control a robotic object; and, a processing circuitry configured to: obtain a kinematic model based on a mechanical model of the robotic object and comprising a set of movement boundaries, defining movement limits of at least one robotic object controllable by said input control, said movement limits preventing said robotic object from performing at least some of said input control's movements;upon detecting, utilizing the kinematic model, that a movement of said input control from a current spatial location to a desired spatial location is expected to cause the robotic object to cross a movement boundary, receive an indication of occurrence of an error; and, determine haptic feedback to be applied to said input control, said haptic feedback having a component leading the movement of said input control in a direction substantially along the movement boundary.

9. The robotic control system of claim 8, wherein said at least one input control possesses six degrees of freedom.

10. The robotic control system of claim 8, wherein said indication of occurrence of said error is received from said kinematic model.

11. The robotic control system of claim 8, wherein said indication of occurrence of said error is received from said robotic object.

12. The robotic control system of claim 8, wherein said direction is in correlation with a component of a vector leading from the current spatial location to a surface tangent to a curvature extending from the current spatial location substantially along the movement boundary.

13. The robotic control system of claim 12, wherein said component is a non-zero component.

14. The robotic control system of claim 8, wherein said robotic object is a mechanical arm composed of a plurality of segments coupled to one another.

15. The robotic control system of claim 14, wherein (i) said input control includes a control unit at its proximal end configured to be operated by said user of said system, and (ii) said mechanical arm contains an end effector located at its distal end, being controlled by said control unit of said input control.

16. The robotic control system of claim 15, wherein the movement boundaries are determined so that a current orientation of the end effector is maintained.

17. The robotic control system of claim 14, wherein (i) said system includes two input controls associated with two or more mechanical arms, (ii) said two or more mechanical arms are coupled to a Robotic Control Unit (RCU) composed of two or more sub-units, such that each mechanical arm is coupled to a sub unit capable of performing linear movement, and (iii) said set of movement boundaries includes at least one boundary associated with said linear movement of said two or more subunits.

18. The robotic control system of claim 17, wherein each input control of said input controls is associated with two or more mechanical arms configured to operate separately or jointly.

19. The robotic surgical system of claim 14, wherein said plurality of segments of said mechanical arm include one or more sections configured to act as joint sections so as to enable the maneuvering of said mechanical arm.

20. A robotic control method comprising: obtaining, by a processing circuitry, a kinematic model based on a mechanical model of a robotic object and comprising a set of movement boundaries, defining movement limits of at least one robotic object controllable by at least one input control, said movement limits preventing said robotic object from performing at least some of said input control's movements; upon detecting, by the processing circuitry, utilizing the kinematic model, that a movement of said input control from a current spatial location to a desired spatial location is expected to cause the robotic object to cross a movement boundary, receiving an indication of occurrence of an error; and, determining, by the processing circuitry, haptic feedback to be applied to said input control, said haptic feedback having a component leading the movement of said input control in a direction substantially along the movement boundary.

21. The robotic control method of claim 20, wherein said at least one input control possesses six degrees of freedom.

22. The robotic control method of claim 20, wherein said indication of occurrence of said error is received from said kinematic model.

23. The robotic control method of claim 20, wherein said indication of occurrence of said error is received from said robotic object.

24. The robotic control method of claim 20, wherein said direction is in correlation with a component of a vector leading from the current spatial location to a surface tangent to a curvature extending from the current spatial location substantially along the movement boundary.

25. The robotic control method of claim 24, wherein said component is a non-zero component.

26. The robotic control method of claim 20, wherein said robotic object is a mechanical arm composed of a plurality of segments coupled to one another.

27. The robotic control method of claim 26, wherein said movement boundaries are derived from movement boundaries of the mechanical arm.

28. The robotic control method of claim 26, wherein (i) said input control includes a control unit at its proximal end configured to be operated by said user of said system, and (ii) said mechanical arm contains an end effector located at its distal end, being controlled by said control unit of said input control.

29. The robotic control method of claim 28, wherein the movement boundaries are determined so that a current orientation of the end effector is maintained.

30. The robotic control method of claim 26, wherein (i) said system includes two input controls associated with two or more mechanical arms, (ii) said two or moremechanical arms are coupled to a Robotic Control Unit (RCU) composed of two or more sub-units, such that each mechanical arm is coupled to a sub unit capable of performing linear movement, and (iii) said set of movement boundaries includes at least one boundary associated with said linear movement of said two or more subunits.

31. The robotic control method of claim 30, wherein each input control of said input controls is associated with two or more mechanical arms configured to operate separately or jointly.

32. The robotic control method of claim 26, wherein said plurality of segments of said mechanical arm include one or more sections configured to act as joint sections so as to enable the maneuvering of said mechanical arm.

33. A non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code, executable by at least one processor to perform a robotic control method, the robotic control method comprising: obtaining, by a processing circuitry, a kinematic model based on a mechanical model of a robotic object and comprising a set of movement boundaries, defining movement limits of at least one robotic object controllable by at least one input control, said movement limits preventing said robotic object from performing at least some of said input control's movements; upon detecting, by the processing circuitry, utilizing the kinematic model, that a movement of said input control from a current spatial location to a desired spatial location is expected to cause the robotic object to cross a movement boundary, receiving an indication of occurrence of an error; and, determining, by the processing circuitry, haptic feedback to be applied to said input control, said haptic feedback having a component leading the movement of said input control in a direction substantially along the movement boundary.