WO2022037392A1 - 机器人系统以及控制方法 - Google Patents
机器人系统以及控制方法 Download PDFInfo
- Publication number
- WO2022037392A1 WO2022037392A1 PCT/CN2021/109713 CN2021109713W WO2022037392A1 WO 2022037392 A1 WO2022037392 A1 WO 2022037392A1 CN 2021109713 W CN2021109713 W CN 2021109713W WO 2022037392 A1 WO2022037392 A1 WO 2022037392A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- target
- joint
- arms
- pose
- arm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/30—Surgical robots
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods
- A61B17/00234—Surgical instruments, devices or methods for minimally invasive surgery
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/70—Manipulators specially adapted for use in surgery
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods
- A61B2017/00017—Electrical control of surgical instruments
- A61B2017/00225—Systems for controlling multiple different instruments, e.g. microsurgical systems
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods
- A61B17/00234—Surgical instruments, devices or methods for minimally invasive surgery
- A61B2017/00292—Surgical instruments, devices or methods for minimally invasive surgery mounted on or guided by flexible, e.g. catheter-like, means
- A61B2017/00296—Surgical instruments, devices or methods for minimally invasive surgery mounted on or guided by flexible, e.g. catheter-like, means mounted on an endoscope
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods
- A61B17/00234—Surgical instruments, devices or methods for minimally invasive surgery
- A61B2017/00292—Surgical instruments, devices or methods for minimally invasive surgery mounted on or guided by flexible, e.g. catheter-like, means
- A61B2017/003—Steerable
- A61B2017/00318—Steering mechanisms
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B17/00—Surgical instruments, devices or methods
- A61B17/00234—Surgical instruments, devices or methods for minimally invasive surgery
- A61B2017/00292—Surgical instruments, devices or methods for minimally invasive surgery mounted on or guided by flexible, e.g. catheter-like, means
- A61B2017/0034—Surgical instruments, devices or methods for minimally invasive surgery mounted on or guided by flexible, e.g. catheter-like, means adapted to be inserted through a working channel of an endoscope
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/30—Surgical robots
- A61B2034/302—Surgical robots specifically adapted for manipulations within body cavities, e.g. within abdominal or thoracic cavities
Definitions
- the present disclosure relates to the field of robots, and in particular, to a robot system and a control method.
- Laparoscopic surgery is a widely used surgical form with advantages such as small incision.
- surgical robots have used moving arms to achieve higher stability and precision in surgical procedures.
- the moving arm pushes the surgical instrument into the surgical site in the body (eg, human or animal) by poking to perform the surgical procedure.
- the surgical process realized by the use of surgical robots mainly includes preoperative positioning, intraoperative operation and postoperative finishing.
- a surgical assistant such as an assistant doctor or a nurse
- the moving arm Before surgery, it is usually necessary for a surgical assistant (such as an assistant doctor or a nurse) to adjust the moving arm to a suitable posture according to the type of surgery and the surgical posture, connect the moving arm to the stamping card fixedly, and then set it at the end of the moving arm Surgical instruments, so that the surgical instruments enter the body by poking.
- Movement of the kinematic arm can be manually adjusted by the surgical assistant from its distal end (i.e., near the patient end), or by the surgical assistant or physician by operating controls at the proximal end of the kinematic arm (i.e., near the physician's control end) control.
- the present disclosure provides a control method for a robotic system, the robotic system including a plurality of motion arms, the control method comprising: selecting the plurality of motion arms of the robotic system based on an operation command one or more of the target moving arms; determine the initial pose of one or more of the target moving arms; determine one or more initial poses of the target moving arms based on the operation command and one or more target poses of the target moving arms; and determining, based on an interpolation method, a motion path of one or more of the target moving arms from the initial pose to the target pose, the motion paths including at least one motion stage.
- the present disclosure provides a robotic system comprising: a plurality of motion arms; and a control device configured to select one or more of the plurality of motion arms based on operational commands As a target moving arm, determine the initial poses of one or more target moving arms; determine one or more target moving arms based on the operation command and the initial poses of the one or more target moving arms and determining, based on an interpolation method, a motion path of one or more of the target moving arms from the initial pose to the target pose, the motion path including at least one motion stage.
- the present disclosure provides a computer-readable storage medium comprising one or more instructions executable by a processor to perform a control method for a robotic system including a plurality of motions
- the control method includes: selecting one or more of the multiple moving arms of the robot system as a target moving arm based on an operation command; determining the initial pose of one or more of the target moving arms; the operation command and the initial pose of one or more of the target moving arms, determine the target pose of one or more of the target moving arms; and based on the interpolation method, determine that one or more of the target moving arms from the A motion path from the initial pose to the target pose, where the motion path includes at least one motion stage.
- FIG. 1 shows a structural block diagram of a robot system according to some embodiments of the present disclosure
- FIG. 2 shows a schematic three-dimensional structure diagram of a robot system according to some embodiments of the present disclosure
- FIG. 3 shows a schematic structural diagram of a moving arm of a robot system according to some embodiments of the present disclosure
- FIG. 4 shows a partial cross-sectional view of an auxiliary connection device according to some embodiments of the present disclosure
- FIG. 5 shows a flowchart of a control method for a robotic system according to some embodiments of the present disclosure
- FIG. 6 shows another structural block diagram of a robot system according to some embodiments of the present disclosure
- FIG. 7 shows a flowchart of a method for determining a target pose of a moving arm according to some embodiments of the present disclosure
- FIG. 8 shows a flowchart of a method for determining a motion path of a moving arm according to some embodiments of the present disclosure
- FIG. 9 shows a flowchart of a method for determining the step size of each joint included in a moving arm according to some embodiments of the present disclosure
- Figure 10 shows a flowchart of a method for controlling movement of a target movement arm in a single movement control loop according to some embodiments of the present disclosure
- FIG. 11 shows a schematic structural diagram of a control apparatus according to some embodiments of the present disclosure.
- the terms “installed”, “connected”, “connected” and “coupled” should be understood in a broad sense, for example, it may be a fixed connection, or It can be a detachable connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium; it can be an internal connection between two components.
- installed e.g., it may be a fixed connection, or It can be a detachable connection; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium; it can be an internal connection between two components.
- the end close to the user eg, a doctor
- proximal proximal or rear
- distal distal or front
- anterior distal, distal or front
- position refers to the location of an object or a portion of an object in three-dimensional space (eg, the three translational degrees of freedom can be described using changes in Cartesian X, Y, and Z coordinates, such as along the Cartesian X, respectively axis, three translational degrees of freedom in Y-axis and Z-axis).
- position refers to a rotational setting of an object or a portion of an object (eg, three rotational degrees of freedom, which may be described using roll, pitch, and yaw).
- the term "pose” refers to a combination of position and pose of an object or a part of an object, which can be described, for example, using the six parameters of the six degrees of freedom mentioned above.
- the pose of the moving arm or a part thereof refers to the pose of the coordinate system defined by the moving arm or a part thereof relative to the coordinate system defined by the support, the base where the moving arm is located, or the world coordinate system.
- the position of the kinematic arm or a portion thereof may be represented by a set of joint values (eg, a one-dimensional matrix of these joint values) of a plurality of joints of the kinematic arm.
- the joint value of the joint may include the angle that the corresponding joint rotates relative to the corresponding joint axis or the distance that the joint moves relative to the initial position.
- the movement path of the moving arm refers to the path traveled by the moving arm to move from one position or posture to another position or posture.
- FIG. 1 shows a structural block diagram of a robotic system 10 according to some embodiments of the present disclosure.
- the robotic system 10 may include a control device 11 and a plurality of motion arms connected with the control device 11 .
- the plurality of movement arms may include a first movement arm 12a and a second movement arm 12b.
- the control device 11 may be used to control the first moving arm 12a and the second moving arm 12b.
- the control device 11 can adjust the movement, posture, mutual coordination and the like of the first moving arm 12a and the second moving arm 12b.
- the first kinematic arm 12a and the second kinematic arm 12b may include a first end arm 128a and a second end arm 128b, respectively, at the ends or distal ends.
- the control device 11 may control the movement of the first moving arm 12a or the second moving arm 12b so as to move the first end arm 128a or the second end arm 128b to a desired position and posture.
- the present disclosure illustrates an exemplary robotic system 10 in FIG. 1 and subsequent figures as including two kinematic arms.
- the robotic system 10 may also include three, four or more kinematic arms.
- the robotic system 10 may include a surgical robotic system, such as a laparoscopic surgical robotic system. It should be understood that robotic system 10 may also include specialized or general-purpose robotic systems used in other fields (eg, manufacturing, machinery, etc.).
- FIG. 2 shows a schematic three-dimensional structure diagram of the robot system 10 according to some embodiments of the present disclosure.
- the robot system 10 is a surgical robot system, which may include an operating cart 13 and a first moving arm 12 a and a second moving arm 12 b provided on the operating cart 13 .
- the surgical cart 13 may include a base 131 and a beam 132 .
- the first moving arm 12a and the second moving arm 12b can be movably arranged on the beam 132 .
- multiple moving arms of the robot system 10 may also be arranged on multiple operating trolleys, for example, each moving arm is correspondingly arranged on one operating trolley. Or one moving arm is arranged on one operating trolley, and the other multiple moving arms are arranged on another operating trolley. These embodiments still fall within the scope of the present disclosure.
- each kinematic arm (eg, the first kinematic arm 12a and the second kinematic arm 12b) of the robotic system 10 may include multiple links and multiple joints.
- each joint of each moving arm may include a motor for driving the corresponding joint to move, thereby driving the corresponding link to rotate.
- FIG. 3 shows a schematic structural diagram of a moving arm of the robot system 10 according to some embodiments of the present disclosure.
- the second moving arm 12b (or the first moving arm 12a) may include joints 1201b-1208b and links 121b-128b.
- the proximal end of the link 121b (the end close to the beam 132 is defined as the proximal end of the moving arm in the present disclosure) is connected with the beam 132, and the links 121b-127b are serially connected in sequence.
- the joint 1201b may be located at the proximal end of the connection between the beam 132 and the connecting rod 121b
- the joint 1202b may be located at the connection between the connecting rod 121b and the second connecting rod 122b
- the joint 1203b may be located at the connection between the connecting rod 122b and the connecting rod 123b.
- 1204b may be located at the connection between link 123b and link 124b
- joint 1205b may be located at the connection between link 124b and link 125b
- joint 1206b may be located at the connection between link 125b and link 126b
- joint 1207b may be located at the link
- joint 1208b may be located at the connection of link 127b to link 128b.
- the link 128b serves as the most distal link of the second moving arm 12b, forming a second end arm 128b of the second moving arm 12b.
- the determination and representation of the position and attitude of the end arm requires a joint decision of each of the aforementioned joints. It should be understood that the links 126b, 127b and 128b together constitute the distal center of motion mechanism (RCM mechanism) of the second moving arm 12b.
- RCM mechanism distal center of motion mechanism
- robotic system 10 may include one or more surgical instruments.
- surgical instrument 14a may be mounted on first end arm 128a of first kinematic arm 12a
- surgical instrument 14b may be mounted on second end arm 128b of second kinematic arm 12b.
- surgical instruments 14a and 14b may include, but are not limited to, clamps for performing surgery, electrosurgical knives, or image capture devices (eg, endoscopic tools) for performing illuminated imaging, and the like.
- Surgical instrument 14a and a portion of surgical instrument 14b (eg, an arm body and a tip instrument disposed at the distal end of the arm body) may be entered into a body part of a human or animal to perform a medical procedure, such as surgery.
- the robotic system 10 may also include an auxiliary connection device 15, such as a sheath.
- Auxiliary connection device 15 can be installed on the human or animal body (eg in an incision or opening), one part can be positioned on the part of the human or animal body where surgery is required, and the other part is used to connect with the moving arm (eg with the first, second and second).
- the first and second end arms 128a, 128b) of the moving arms 12a, 12b are detachably connected to better serve the surgery.
- FIG. 4 shows a partial cross-sectional view of the auxiliary connection device 15 according to some embodiments of the present disclosure.
- the auxiliary connection device 15 may include a sheath 151 and a sheath 152 .
- the auxiliary connecting device 15 may also include at least two connecting portions (eg, connecting portions 153 and 154 ).
- the connection part may include, but is not limited to, a clamp, a snap-fit structure, an adhesive structure, a plug-in structure, and a pull-in structure.
- the connecting parts 153 and 154 may be fixedly arranged on the sheath tubes 151 and 152, respectively.
- each moving arm (eg, the first and second moving arms 12a, 12b ) may include a connecting member (eg, the connecting member shown in FIG. 2 ) that cooperates with the connecting portion (eg, connecting portions 153 and 154 ) 1281a and 1281b).
- the auxiliary connecting device 15 can be detachably and fixedly connected to the connecting pieces 1281 a and 1281 b of the first and second moving arms 12 a and 12 b through the connecting parts 153 and 154 , respectively.
- the connectors 1281a and 1281b may be fixedly disposed on the first end arm 128a and the second end arm 128b, respectively.
- the connecting pieces 1281a and 1281b are respectively connected with the connecting portion 153 and the connecting portion 154, so that the auxiliary connecting device 15 can be detachably and fixedly connected with the first and second moving arms 12a, 12b.
- the spatial position of the first end arm 128a, the second end arm 128b, the connecting pieces 1281a and 1281b in Cartesian coordinates and the attitude orientation of the rotational coordinates can be represented by a coordinate vector.
- the configuration of the auxiliary connection device may be determined based on the current procedure type or the configuration of the auxiliary connection device, eg, the configuration of the auxiliary connection device may be determined based on the current procedure type. Based on the configuration of the auxiliary connecting device, the shapes and relative positional relationships between the multiple sheath tubes of the auxiliary connecting device are determined, so as to determine the relative postures of the distal ends of the multiple moving arms.
- the distal end of the moving arm may comprise a distal arm of the moving arm, a distal motion center mechanism (RCM mechanism) of the moving arm, or a portion on the moving arm for connecting with an auxiliary connection device.
- the pose of the distal end of the moving arm may include the pose of the distal arm of the moving arm, the pose of the distal motion center mechanism (RCM mechanism) of the moving arm, or the pose of the part on the moving arm for connecting with the auxiliary connecting device .
- the current surgery type may be the type currently requiring surgery, for example, the surgery type may include, but is not limited to, general surgery, thoracic surgery, urological surgery, gynecological surgery, and the like.
- the auxiliary connection device may include a sheath, and the configuration of the sheath may include, for example, the specifications and types of sheaths under different surgical procedures (the specifications and types may include, but are not limited to, for example, the length of the sheath, radial size, aperture size, number of sheath tubes, relative positional relationship of multiple sheath tubes, etc.).
- Each of the plurality of sheaths is associated with the relative pose relationship of at least one moving arm, and the relative pose relationship between the sheaths of different configurations and each moving arm may be different.
- the relative pose relationship of the ends of the first moving arm 12a and the second moving arm 12b can be determined.
- the relative pose relationship between the ends of the first moving arm 12a and the second moving arm 12b may indicate the positional relationship and attitude relationship of the end of the first moving arm 12a relative to the end of the second moving arm 12b in the world space coordinate system.
- the end relative pose relationship may include, for example, a relative pose relationship formed between the first end arm 128a of the first moving arm 12a and the second end arm 128b of the second moving arm 12b.
- the tip relative pose relationship may also include a relative pose relationship formed between the surgical instruments 14a and 14b mounted on the first tip arm 128a and the second tip arm 128b.
- the relative pose relationship of the ends may further include a relative pose relationship formed between the connecting pieces 1281a and 1281b fixedly disposed on the first end arm 128a and the second end arm 128b.
- the relative pose relationship between the surgical instruments, the relative pose relationship between the end arms and the relative pose relationship between the connectors may have a mapping relationship.
- the tip relative pose relationship may be stored in an associated relative pose model, which may be used to calculate the target pose of the tip of the first moving arm 12a or the second moving arm 12b.
- connecting pieces 1281a and 1281b are respectively fixed on the first end arm 128a and the second end arm 128b, when the first end arm 128a and the second end arm 128b conform to the relative pose relationship of the ends, the connecting pieces 1281a and 1281b can be respectively Connected with the connecting parts 153 and 154 .
- the target pose of the surgical instrument 14a installed at the end of the first moving arm 12a in the world coordinates can be determined
- the second moving arm 12b moves to the target pose, which can be The target pose of the surgical instrument 14b mounted on the end of the second moving arm 12b in the world coordinates is determined.
- the pose of the moving arm or part of it can be achieved by joints.
- the fixed locations on each moving arm may be achieved by some of the plurality of joints included in the respective kinematic arms.
- the target spatial posture of the fixed part on each moving arm can be realized by other joints among the plurality of joints included in the corresponding moving arm.
- the plurality of joints of the ends of the kinematic arm (eg, first and second end arms 128a, 128b ) used to achieve the target spatial pose are relative to the joints of the kinematic arm used to achieve the target spatial position near the distal end of the exercise arm.
- the multiple joints for realizing the target spatial posture and target spatial position of the end of the moving arm may also include other setting manners, which may be specifically set according to usage requirements.
- the surgical instruments 14a and 14b can pass through the sheath tubes 151 and 152 of the auxiliary connecting device 15, respectively, and smoothly pass through the sheath tubes 151 and 152 at a predetermined angle, along the sheath tubes.
- the movement of 151 and 152 into the human body requires the corresponding poses of surgery.
- the sheaths 151 and 152 of the auxiliary connection device 15 may be flexible, and the portion of the surgical instruments 14a, 14b extending through the auxiliary connection device 15 may also be flexible, which may facilitate the connection between the first distal arm 128a and the second
- the connecting parts 153 and 154 on the auxiliary connecting device 15 can be connected with the connecting parts 1281a and 1281b on each moving arm, and the flexible part of the auxiliary connecting device 15 can be connected to the end arm.
- auxiliary connection device 15 shown in FIG. 4 is merely exemplary.
- robotic system 10 may include three, four, or more kinematic arms, and auxiliary connection device 15 may include three, four, or more sheaths, each sheath including a corresponding connection thereon A part is used for connecting each sheath with each moving arm and constraining the relative pose relationship between the plurality of end arms.
- FIG. 5 shows a flowchart of a control method 500 for a robotic system (eg, robotic system 10 ) in accordance with some embodiments of the present disclosure.
- FIG. 6 illustrates another simplified block diagram of robotic system 10 in accordance with some embodiments of the present disclosure.
- the method 500 may be performed by a control device (eg, control device 11 ) of the robotic system 10 .
- the control device 11 may be configured on a computing device.
- Method 500 may be implemented by software, firmware, and/or hardware.
- step 501 based on the operation command, one or more of the plurality of moving arms is selected as the target moving arm.
- one of the plurality of motion arms of the robotic system 10 may be selected as the target motion arm, or two or more of the plurality of motion arms of the robotic system 10 may be selected as the target exercise arm.
- the operation command may be input by the user through the control device 11 to control the movement of one target moving arm or control the overall movement of a plurality of target moving arms.
- the control device 11 may include an input device 113 .
- the input device 113 is configured to receive an operation command from the user, or receive an operation instruction from the user, so that the control device 11 can obtain a specific operation command based on the operation instruction.
- the first moving arm 12a may be selected as the target moving arm, and the operation command may be used to control the first moving arm 12a to move from the initial pose to the target pose.
- the first moving arm 12a and the second moving arm 12b may be selected as the target moving arm, and the operation command may be used to control the first moving arm 12a and the second moving arm 12b to move together as a whole from the initial pose to
- the target pose for example, the whole can be commanded to pitch, rotate, and translate to the target pose.
- initial poses of one or more target moving arms are determined.
- the first moving arm 12a or the second moving arm 12b is selected as the target moving arm.
- the control device 11 may be communicatively connected with the first and second moving arms 12a, 12b.
- the first motion arm 12a may also include one or more sensors 129a.
- the motors of the joints 1201a-1208a may be coupled to a plurality of sensors 129a, respectively.
- the second kinematic arm 12b may also include one or more sensors 129b.
- the motors of the joints 1201b-1208b may be coupled to a plurality of sensors 129b, respectively.
- Sensors 129a and 129b may represent a plurality of sensors.
- Sensors 129a and 129b may include, but are not limited to, encoders or potentiometers, for example.
- the sensor can be used to acquire data corresponding to multiple joints of the moving arm, so as to measure the joint value of the corresponding joint.
- the sensor may include a fiber optic sensor extended on the moving arm for obtaining the pose of the moving arm.
- the control device 11 may include one or more processors 111 and a memory 112 .
- the processor 111 may be connected in communication with the plurality of sensors 129a of the first moving arm 12a to obtain current joint values of the respective joints 1201a-1208a of the first moving arm 12a through the plurality of sensors 129a.
- the processor 111 may be connected in communication with the plurality of sensors 129b of the second moving arm 12b to obtain current joint values of the respective joints 1201b-1208b of the second moving arm 12b through the plurality of sensors 129b.
- the processor 111 may solve the current joint value of each joint based on the forward kinematic models of the first and second moving arms 12a and 12b to obtain the first moving arm 12a and the second moving arm
- the initial pose of 12b or a portion thereof eg, the end of the first moving arm 12a and the end of the second moving arm 12b.
- the forward kinematics model of the first moving arm 12a may be preset and stored in the memory 112 .
- the forward kinematic model of the moving arm can obtain the pose of the moving arm or the pose of any part (for example, the first and second end arms 128a, 128b, fixed Connectors 1281a, 1281b provided on the first and second moving arms 12a, 12b, postures of the surgical instruments 14a, 14b mounted on the first and second moving arms 12a, 12b, etc.).
- the target poses of the one or more target moving arms are determined.
- the target pose of the distal end of the one or more target kinematic arms may be determined based on the manipulation command and the initial pose of the one or more target kinematic arms.
- the target pose of the tip of the target kinematic arm may be determined based on manipulation commands received from the user.
- the operation command may include the target pose, the mode and magnitude of the movement, and so on.
- the target pose of the tip can be determined based on the initial pose of the tip of the target moving arm and the manner (eg, leftward movement, rotation, etc.) and magnitude (eg, movement distance, rotation angle, etc.) of the tip.
- the target poses of the one or more target moving arms are determined. It should be understood that the inverse kinematics model of the moving arm can solve the model of each joint value of the moving arm based on the known pose of the end of the moving arm to obtain the pose of the moving arm.
- the first moving arm 12a is selected as the target moving arm, and the target pose of the end of the first moving arm 12a may be determined based on the operation command and the initial pose of the first moving arm 12a.
- the inverse kinematics model of the first moving arm 12a is used for calculation to determine the target pose of the first moving arm 12a.
- the first moving arm 12a and the second moving arm 12b are selected as the target moving arms, the target pose of the end of the first moving arm 12a may be determined based on the operation command, and the target posture of the end of the first moving arm 12a may be determined based on the operation command.
- the method shown in FIG. 7 can be used to determine the target pose of the moving arm based on the target pose of the end of the moving arm.
- the motion paths of the one or more target moving arms from the initial pose to the target pose are determined.
- the motion path includes at least one motion phase.
- the end pose of each motion stage can be determined by interpolation to form the motion path.
- one or more target motion arms can be controlled to move from an initial pose to a target pose through at least one motion control loop, the at least one motion control loop corresponding to at least one motion phase.
- the first kinematic arm 12a is selected as the target kinematic arm.
- the moving path of the first moving arm 12a may be planned by using an interpolation method. Based on the constraint relationship, when the first moving arm 12a moves along each movement stage of the movement path, there will be no interference relationship, such as collision, with other moving arms of the plurality of moving arms.
- the constraint relationship for each movement stage, it can be determined whether an interference relationship will be formed between one or more target movement arms or with other movement arms of the plurality of movement arms. In some embodiments, based on the constraint relationship being satisfied, it is determined that no interfering relationship will occur between the one or more target kinematic arms or with other kinematic arms of the plurality of kinematic arms. Based on the constraint relationship not being satisfied, it is determined that an interference relationship will occur between one or more target kinematic arms or with other kinematic arms of the plurality of kinematic arms. In some embodiments, the constraint relationship may be defined by an interference model. It should be understood that the interference model may be preset.
- one of the plurality of kinematic arms is selected as the target kinematic arm.
- the constraint relationship may include at least one of the following: a relative position sequence relationship between the target moving arm and other moving arms of the plurality of moving arms conforms to a predetermined relative position sequence relationship, a predetermined point associated with the target moving arm, and a target moving arm. The distance between the predetermined points associated with the corresponding one or more moving arms of the moving arm is greater than the predetermined safety distance, the predetermined line segment associated with the target moving arm and the one or more moving arms corresponding to the target moving arm.
- the distance between the connected predetermined line segments is greater than a predetermined safety distance, or the difference between the joint value of one or more joints of the target moving arm and the joint value of the corresponding joint of one or more moving arms corresponding to the target moving arm
- the value is greater than a predetermined safe value.
- the predetermined relative position sequence relationship may include, but is not limited to, clockwise or counterclockwise order among the plurality of movement arms.
- the relative position sequence relationship between the plurality of moving arms can be represented by the relative position sequence of the joints or links of the moving arms.
- the first moving arm 12a is selected as the target moving arm.
- One or more joints (eg, joints 1202a and/or 1203a ) of the first kinematic arm 12a proximate the beam 132 at the end of each motion phase are at the end of each motion phase with the corresponding position of the adjacent kinematic arm (eg, the second kinematic arm 12b ) proximate the beam 132 .
- the relative position sequence of one or more joints (for example, the joints 1202b and/or 1203b ) at the end positions of each movement stage conforms to clockwise or counterclockwise ordering, and it can be determined that the first movement arm 12a and the second movement arm 12b satisfy the relative position Constraints on sequential relationships. On the contrary, it can be determined that an unpredetermined relative position sequence occurs between the first moving arm 12a and the second moving arm 12b, which may cause an interference relationship between the first moving arm 12a and the second moving arm 12b.
- the end of one or more links (eg, links 121a and/or 122a ) of the first moving arm 12a can also be determined by determining the ends of the corresponding links of the second moving arm 12b (eg, links 121b and 122a ). Whether the relative position sequence of the ends of 122b) conforms to a predetermined relative position sequence relationship (for example, clockwise or counterclockwise ordering), so as to determine whether the relative position sequence relationship between the first moving arm 12a and the second moving arm 12b conforms to A predetermined relative position sequence relationship.
- a predetermined relative position sequence relationship for example, clockwise or counterclockwise ordering
- the predetermined point associated with the target moving arm may include a fixed point on a link of the target moving arm, a joint of the target moving arm, or other points associated with the target moving arm.
- the first moving arm 12a is selected as the target moving arm.
- the predetermined point associated with the first moving arm 12a may be a predetermined joint (eg, joint 1203a) of the first moving arm 12a.
- the one or more moving arms corresponding to the first moving arm 12a may include a second moving arm 12b or other moving arms that are closely spaced from the first moving arm 12a. The corresponding moving arm is exemplified by the second moving arm 12b.
- the predetermined point associated with the second kinematic arm 12b may be a corresponding joint of the second kinematic arm 12b (eg, joint 1203b).
- the distance between the joint 1203a of the first kinematic arm 12a and the joint 1203b of the second kinematic arm 12b may be based on the joint axis of the joint 1203a of the first kinematic arm 12a and the joint 1203b of the second kinematic arm 12b joint axis to determine.
- the predetermined point associated with the first moving arm 12a may be a fixed point on a predetermined link (eg, link 121a) of the first moving arm 12a, a predetermined point associated with the second moving arm 12b This may be a fixed point on a corresponding link (eg link 121b) of the second moving arm 12b or an adjacent link (eg 123b).
- a predetermined link eg, link 121a
- a predetermined point associated with the second moving arm 12b This may be a fixed point on a corresponding link (eg link 121b) of the second moving arm 12b or an adjacent link (eg 123b).
- the predetermined point associated with the first kinematic arm 12a may be a fixed point on a predetermined link (eg, distal center of motion mechanism, RCM mechanism) in the first kinematic arm 12a, and the second kinematic The predetermined point to which the arm 12b is associated may be a projection point on the horizontal plane of the axis of the link of the second moving arm 12b (eg, link 124b).
- a predetermined link eg, distal center of motion mechanism, RCM mechanism
- the safety distance may be a preset distance, for example, may include but not be limited to 135mm.
- the safety distance may also be set based on the size of the joint or link.
- the safety distances between predetermined points corresponding to different joints or links may be different.
- the predetermined points associated with the first moving arm 12a and the second moving arm 12b may include, but are not limited to, those shown in the above-described embodiments.
- the predetermined line segments associated with the target kinematic arm may include edges or axes of links of the target kinematic arm, joint axes of the target kinematic arm, or other line segments associated with the target kinematic arm. It should be understood that the minimum distance between two line segments is the smaller of the distance between the start points of the two line segments and the distance between the end points of the two line segments.
- the first moving arm 12a is selected as the target moving arm.
- the one or more moving arms corresponding to the target moving arm may include the second moving arm 12b or other moving arms that are closely spaced from the first moving arm 12a. The corresponding moving arm is exemplified by the second moving arm 12b.
- the predetermined line segment associated with the first moving arm 12a may be a predetermined link (eg, link 121a) of the first moving arm 12b, and the predetermined line segment associated with the second moving arm 12b may be a predetermined link of the second moving arm 12b.
- a rod eg, link 122b).
- the predetermined line segment associated with the first moving arm 12a may be a predetermined link (eg, link 125a) of the first moving arm 12a
- the predetermined line segment associated with the second moving arm 12b may be the second A predetermined link of the moving arm 12b (eg, a remote center of motion mechanism (RCM mechanism) is near the edge of the link 125a, eg, the link 126a is near the edge of the link 125a).
- RCM mechanism remote center of motion mechanism
- the predetermined line segment associated with the first moving arm 12a may be between the RCM point of the first moving arm 12a and a point on the extension line of the predetermined link (eg, link 128a) of the first moving arm 12a
- the predetermined line segment associated with the second moving arm 12b may be an edge of the first moving arm 12a that a predetermined link (eg, the link 128b) of the second moving arm 12b is close to.
- the predetermined line segment associated with the first moving arm 12a may be an edge (eg, an edge close to the second moving arm 12b) of a predetermined link (eg, link 124a) of the first moving arm 12a
- the predetermined line segment associated with the second moving arm 12b may be an edge (eg, an edge close to the first moving arm 12a) of a corresponding link (eg, link 124b) of the second moving arm 12b.
- the predetermined line segment associated with the first moving arm 12a may be the joint axis of the first moving arm 12a
- the predetermined line segment associated with the second moving arm 12b may be the joint axis of the second moving arm 12b.
- the predetermined line segment associated with the first kinematic arm 12a may be the intersection of the joint axis of the first kinematic arm 12a (eg, the axis of the joint 1204a ) and another joint axis (eg, the axis of the joint 1205a ) and the first A line segment between the distal ends of a link (eg, link 125a) of a moving arm 12a
- the predetermined line segment associated with the second moving arm 12b may be the joint axis of the second moving arm 12b (eg, the axis of the joint 1204b) and another A line segment between the intersection of a joint axis (eg, the axis of joint 1205b ) and the distal end of a link (eg, link 125b ) of second kinematic arm 12b .
- the minimum distance between the link 121a and the link 122b is greater than the safety distance, or the RCM mechanism of the link 125a and the second moving arm 12b is close to the edge of the link 125a (for example, the link 126b is close to the edge of the link 125a ) is greater than the safety distance, or the line segment formed between the RCM point of the first moving arm 12a1 and the point on the extension line of the connecting rod 128a and the edge of the first moving arm 12a that is close to the connecting rod 128b
- the minimum distance is greater than the safety distance, or the minimum distance between the edge of the link 124a close to the second moving arm 12b and the edge of the link 124b close to the first moving arm 12a is greater than the safety distance, or the intersection of the axes of the joint 1204a and the joint 1205a
- the safety distance may include, but is not limited to, 135mm, 120mm, 60mm, and the like, for example. It should be understood that the safety distance may also be set based on the size of the joint or link. The safety distances between predetermined points corresponding to different joints or links may be different. It should be understood that the predetermined line segments associated with the first moving arm 12a and the second moving arm 12b may include, but are not limited to, the situations shown in the above embodiments.
- the first kinematic arm 12a is selected as the target kinematic arm.
- the difference value of is greater than a predetermined safety value (eg safety angle)
- a predetermined safety value eg safety angle
- the difference between the joint values is smaller than the predetermined safety value, it is determined that an interference relationship may occur between the first moving arm 12a and the second moving arm 12b.
- the interference model can also be used for the interference judgment between the moving arms adjacent to each other or between the moving arms in close positions.
- the interference model is compared against structures prone to interference between adjacent moving arms (eg, a predetermined line segment associated with the first moving arm 12a and a predetermined line segment associated with the second moving arm 12b, and The predetermined point associated with the first kinematic arm 12a and the predetermined point associated with the second kinematic arm 12b, one or more joints of the first kinematic arm 12a and the corresponding joint of the second kinematic arm 12b), while the plurality of kinematic arms Structures that do not interfere with each other can be excluded from the comparison object of the interference model, and there is no need to compare all structures on the adjacent moving arms, which can reduce the computational complexity of the interference model comparison process and improve the work efficiency of the system.
- FIG. 7 shows a flowchart of a method 700 for determining a target pose of a moving arm according to some embodiments of the present disclosure.
- the method 700 may be used to implement step 505 as shown in FIG. 5 , determining the target pose of the one or more target moving arms based on the initial poses of the one or more target moving arms.
- Method 700 may be performed by a control device (eg, control device 11 ) of robotic system 10 .
- the control device 11 may be configured on a computing device.
- Method 700 may be implemented by software, firmware, and/or hardware.
- the target moving arm is the first moving arm 12a as an example.
- One of the multiple joints of the first moving arm 12a may be selected as the characteristic joint, and the recommended target joint value of the characteristic joint may be preset.
- the characteristic joint of the moving arm may be a joint among the plurality of joints that is prone to collision with an adjacent moving arm.
- the selected characteristic joint may be a joint among the joints of the first moving arm 12a that is prone to collide with other moving arms (eg, the second moving arm 12b ), such as the joint 1205a or 1206a shown in FIG. 3 .
- the robot system 10 includes multiple moving arms (eg, three or four moving arms), the recommended target joint values of the characteristic joints of different moving arms may be different.
- step 703 other target joint values are determined based on the target pose of the end of the target moving arm and the recommended target joint value. It should be understood that, based on the selected target pose of the end of the target moving arm and the recommended target joint value, the inverse kinematics model of the target moving arm is solved to obtain other target joint values of the selected target moving arm. It should be understood that the other target joint values include target joint values of all other joints of the target moving arm except the characteristic joints. Take the selected target moving arm as the first moving arm 12a as an example.
- the inverse kinematics model of the first moving arm 12a may be solved based on the target pose of the first end arm 128a of the first moving arm 12a and the recommended target joint value of the recommended joint (eg, 1205a) to obtain the first motion Other target joint values for arm 12a. It should be understood that multiple target moving arms can also be selected, and other target joint values of each target moving arm can be determined through the method described in step 703 .
- method 700 may also include step 705 .
- step 705 For each target moving arm, in step 705, it is determined whether other target joint values are within the joint motion range of the corresponding joint. It should be understood that each joint of the target moving arm has a certain motion range, and the joint motion range of each joint is the range between the minimum limit joint value and the maximum limit joint value of the corresponding joint, and the minimum limit joint value and the maximum limit joint value are The limit joint value is not within this range. For example and not by way of limitation, some joints have a range of motion between 18 degrees and 45 degrees, some joints have a range of motion between 45 degrees and 90 degrees, and still others have a range of motion between -90 degrees and -45 degrees. between degrees and so on.
- method 700 may also include step 707 .
- step 707 the recommended target joint value is incremented or decremented by a predetermined adjustment value to adjust the recommended target joint value of the moving arm.
- the first moving arm 12a is selected as the target moving arm.
- the recommended target joint value is incremented or decremented by a predetermined adjustment value to adjust the recommended target joint of the first moving arm 12a value.
- the adjustment value may be set to, for example, 0.2° or 0.5°, etc. to adjust the recommended target joint value.
- 0.2° or 0.5° is only an example, and the adjustment value can also be set to other values. Increment or decrement the predetermined adjustment value, and traverse until there is a solution or the joint motion range of the characteristic joint is reached (the joint limit value may not be included). For example, a solution can indicate that the recommended target joint value is within the joint motion range of the characteristic joint.
- the method 700 may further include the following step: judging whether the adjusted recommended target joint value is within the joint motion range of the characteristic joint. In response to the adjusted recommended target joint value being within the joint motion range of the characteristic joint, the adjusted recommended target joint value is selected as the recommended target joint value, and the process returns to step 703 .
- method 700 may also include step 711 .
- a target pose of the target moving arm is determined based on the recommended target joint value of the target moving arm and other target joint values. For example, in response to the other target joint values of the target moving arm (eg, the first moving arm 12a) being within the joint motion range of the corresponding joint, determining the first moving arm 12a based on the recommended target joint value and the other target joint values A target pose of the moving arm 12a. For example, a set of the recommended target joint value and other target joints may be selected as the target joint value of the first moving arm 12a. By determining the target joint value of the first moving arm 12a, the target pose of the first moving arm 12a can be determined. It should be understood that other moving arms of the plurality of moving arms can also use the method 700 to determine the target pose of the moving arm.
- method 700 may also include step 709 .
- step 709 it is determined whether an interference relationship will be formed between the target moving arm and other moving arms.
- the first moving arm 12a is selected as the target moving arm.
- the adjacent moving arm e.g, the second moving arm. 12b
- step 711 is performed in response to no interference relationship being formed between the plurality of motion arms.
- step 707 is re-executed in response to an interference relationship between the selected target moving arm and other moving arms.
- the recommended target joint value of the first moving arm 12a is incremented or decremented by a predetermined adjustment value to adjust the recommended value of the first moving arm 12a. Target joint value.
- the first moving arm 12a may be selected.
- a set of solutions in which each joint of 1 is least likely to interfere with the second moving arm 12b is output as a unique solution as the target joint value of the first moving arm 12a.
- FIG. 8 shows a flowchart of a method 800 for determining a motion path of a moving arm according to some embodiments of the present disclosure.
- the method 800 may be used to implement step 507 as shown in FIG. 5 , based on an interpolation method, to determine the movement path of one or more target moving arms from the initial pose to the target pose.
- Method 800 may be performed by a control device of robotic system 10, such as control device 11.
- the control device 11 may be configured on a computing device.
- Method 800 may be implemented by software, firmware, and/or hardware.
- the joint step size of each joint included in the target moving arm is determined.
- the process of controlling the movement of the target moving arm to the target pose may include multiple movement stages.
- a single motion phase may be 80ms.
- the joint step size of each joint may indicate the angle by which the corresponding joint can move about its joint axis during each motion phase.
- a single movement stage corresponding to a movement step of the target movement arm may be preset, wherein the movement step of the target movement arm may be a set of joint steps of multiple joints of the target movement arm.
- the joint step length of each joint included in the target moving arm can be determined by the method shown in FIG. 9 .
- the ending pose of the target moving arm in each movement stage is determined.
- an interpolation method may be used between the initial pose of the target moving arm and the target pose to determine the ending pose of each of the multiple motion stages.
- the first moving arm 12a is selected as the target moving arm.
- the current posture of the first movement arm 12a is the initial posture of the first movement arm 12a.
- the initial posture of the first movement arm 12a is the end posture of the previous movement phase.
- the ending joint value of each joint of the first moving arm 12a in the current cycle is determined.
- the ending pose of each movement stage can be determined by the method shown in FIG. 10 .
- step 805 it is determined whether an interference relationship will be formed between the target moving arm and other moving arms based on the ending pose of each movement stage. For example, based on the ending pose of the target moving arm (eg, the first moving arm 12a ) in the current movement stage, using the constraint relationship in the method 500 to determine whether the first moving arm 12a and other moving arms (eg, the second moving arm 12b ) Whether there will be an interference relationship between them, such as collision.
- the movement path of the target moving arm is determined based on the ending pose of each movement stage. For example, in response to the movement of one or more target moving arms from the initial pose to the end pose, no interference relationship is formed between the target moving arm and other moving arms, and the ending pose of each movement stage is determined as the movement path .
- the target moving arm includes the first moving arm 12a and the second moving arm 12b
- the first moving arm 12a and other moving arms for example, the second moving arm 12b or other moving arms with a similar distance
- the corresponding joint of the target moving arm can be controlled to move with the joint step length of the corresponding joint through the instruction.
- an alarm message is issued.
- an alert message may be issued in response to the formation of an interfering relationship between one or more of the target kinematic arms and other kinematic arms.
- select the first moving arm 12a and the second moving arm 12b as the target moving arm use the interference model to perform interference judgment on the first moving arm 12a and the second moving arm 12b, and respond to the first moving arm 12a and the second moving arm. At least one of the 12b collides with the other moving arms, an alarm message can be issued.
- the method 800 may further include the step of: judging whether the initial pose of the target moving arm is equal to the target pose of the target moving arm. In response to the initial pose of the target kinematic arm being less than the target pose of the target kinematic arm, step 805 is performed. In response to the initial pose of the target kinematic arm being equal to the target pose of the target kinematic arm, the motion path planning ends.
- FIG. 9 shows a flowchart of a method 900 of determining the joint step size of each joint included in the target moving arm according to some embodiments of the present disclosure.
- the method 900 can be used to implement step 801 as shown in FIG. 8 , determining the joint step size of each joint included in the one or more target moving arms.
- Method 900 may be performed by a control device (eg, control device 11 ) of robotic system 10 .
- the control device 11 may be configured on a computing device.
- Method 900 may be implemented by software, firmware, and/or hardware.
- step 901 based on the target pose of the target moving arm, the difference between the target pose of the target moving arm and the initial pose is determined.
- the pose of the target moving arm eg, the first moving arm 12a
- the difference between the target pose of the moving arm and the initial pose can be represented by a set of differences between the joint values of the corresponding joint of the moving arm at the target pose and the corresponding joint at the initial pose.
- the target joint step number is determined based on the difference value of each joint in the difference between the target pose of the target moving arm and the initial pose and the joint step extreme value of each joint.
- the joint step size may indicate the angle by which the joint can move about its joint axis during each motion phase.
- the joint step limit can refer to the maximum angle that each joint can move about its joint axis in each motion phase.
- the first moving arm is determined based on the difference value of each joint in the difference between the target pose of the target moving arm (eg, the first moving arm 12a) and the initial pose and the joint step extreme value of each joint Steps per joint for 12a. The maximum number of steps in the number of steps per joint can be selected as the target joint step number.
- step 905 the joint step length of each joint of the target moving arm is determined based on the difference value of each joint in the difference between the target pose of the target moving arm and the initial pose and the target joint step number. For example, by dividing the difference of each joint in the difference between the target pose and the initial pose of the first moving arm 12a by the target joint steps, the joint of each joint of the first moving arm 12a can be calculated. step size.
- Method 1000 shows a flow diagram of a method 1000 for controlling movement of a target moving arm in a single motion control loop, according to some embodiments of the present disclosure.
- Method 1000 may be performed by a control device (eg, control device 11 ) of robotic system 10 .
- the control device 11 may be configured on a computing device.
- Method 1000 may be implemented by software, firmware, and/or hardware.
- the current joint value of each joint of the target kinematic arm is determined.
- the current joint value of each joint of the target moving arm can be obtained through multiple sensors. It should be understood that for the first motion control loop, the initial joint value of the target moving arm is used as the current joint value.
- the current joint value of each joint is the joint value of each joint corresponding to the actual end pose of the previous motion control loop.
- step 1003 based on the current joint value and joint step size of each joint of the target moving arm, the temporary ending pose of the target moving arm in each motion control loop is determined.
- method 1000 can optionally also include step 1005 .
- step 1005 one or more joints among the plurality of joints of the target moving arm are selected as predetermined joints, and an interpolation domain of the predetermined joints is set.
- the interpolation domain may be set based on the ending joint value of the predetermined joint in each motion phase.
- the interpolation domain refers to the value domain surrounding the interpolation (eg, centered on the interpolation), where the interpolation corresponds to the ending joint value of each joint in each motion phase.
- the target moving arm includes the first moving arm 12a and the second moving arm 12b
- one or more joints among the plurality of joints of the first moving arm 12a may be selected as the predetermined joint
- a plurality of joints of the second moving arm 12b may be selected
- One or more of the joints are used as predetermined joints, and the interpolation fields of the end poses of the predetermined joints of the first moving arm 12a and the second moving arm 12b in each movement stage are respectively set.
- the predetermined joints of the first moving arm 12a and the second moving arm 12b may be joints corresponding to each other, and may also be different from other joints, and the interpolation fields of the predetermined joints may also be different.
- the predetermined joints and interpolation domain are predetermined.
- step 1007 the temporary end joint value corresponding to the predetermined joint of the target moving arm in the temporary end pose is compared with the predetermined joint interpolation field, and it is determined whether the temporary end joint value falls within the interpolation field of the predetermined joint.
- the temporary ending pose is taken as the ending pose of the target moving arm in each motion control loop.
- the temporary ending pose is taken as the ending pose of the target moving arm in each motion control loop.
- the temporary end joint value is compensated based on the interpolation domain.
- the temporary end joint value is compensated such that the temporary end joint value falls within the interpolation domain.
- the temporary end joint value may be added or subtracted to compensate for the corresponding end joint value.
- step 1013 based on the compensated temporary end joint value, the compensated temporary end pose of the target moving arm is determined, and the compensated temporary end pose is used as the end pose of the target moving arm in each motion control cycle.
- method 1000 can optionally also include step 1015 .
- step 1015 for each motion control loop, it may be determined whether an interference relationship will be formed between one or more target motion arms or with other motion arms of the plurality of motion arms based on the ending pose of the motion control loop.
- step 1017 in response to the formation of an interference relationship between one or more target moving arms or with other moving arms of the plurality of moving arms, control one or more target moving arms to stop moving or issue an alarm message.
- method 1000 may also include step 1019 .
- step 1019 in response to no interference relationship between one or more target moving arms or with other moving arms of the plurality of moving arms, control the one or more target moving arms to move to the end pose of the movement phase.
- the one or more target kinematic arms are controlled to move from the current pose in response to no interference relationship being formed between the one or more target kinematic arms or with other kinematic arms of the multiple kinematic arms to the end pose to complete the current motion control loop until one or more target motion arms move to the target pose.
- FIG. 11 shows an architectural schematic diagram of the control device 11 included in the robot system 10 according to an embodiment of the present disclosure.
- the control device 11 may include an input device 113 , an output device 114 , one or more memories 112 , one or more processors 111 , and a communication interface 115 .
- the control device 11 may also not include an output device.
- the input device 113 may include, but is not limited to, buttons, keyboards, touch screens, microphones, and the like.
- the input device may be configured to directly receive an operation command from the user, or receive an operation instruction from the user so that the control device can acquire a specific operation command based on the operation instruction.
- the operation command may include, for example, a command to command the second end arm 128b and the first end arm 128a to keep the relative pose relationship of the ends unchanged.
- the input device 113 may also be used to receive setting information from the user, such as the current surgical type, the configuration of the auxiliary connecting device, the setting information of the relative pose model, etc., and the like.
- output devices 114 may include, but are not limited to, displays, speakers, indicator lights, and the like, which may be configured to indicate the status of various components of robotic system 10, output error alert signals, and the like.
- a computer program executable on the processor 111 may be stored in the memory 112 .
- the processor 111 implements the control methods described in the above embodiments when executing the computer program.
- the number of the memory 112 and the processor 111 may be one or more.
- the communication interface 115 is used for communication between the control device 11 (eg, the processor 111 of the control device 11 ) and external devices.
- the control device 11 may communicate with motors disposed in respective joints of each moving arm (eg, the first moving arm 12a, the second moving arm 12b), for example, through the communication interface 115, so as to instruct the moving arms to move to Corresponding to the target position, the control device 11 may also communicate with the sensors at each joint of the moving arm, for example, through the communication interface 115, so as to receive the joint value of each joint of the moving arm.
- the communication interface 115 may be a CAN bus communication interface, which enables the control device 11 to communicate with the motors and sensors provided in each joint through the CAN bus.
- the input device 113 , the output device 114 , the memory 112 , the processor 111 and the communication interface 115 can be connected to each other through a bus to complete mutual communication.
- the bus can be an industry standard architecture (ISA, Industry Standard Architecture) bus, a peripheral device interconnect (PCI, Peripheral Component) bus or an extended industry standard architecture (EISA, Extended Industry Standard Component) bus and so on.
- ISA Industry Standard Architecture
- PCI Peripheral Component
- EISA Extended Industry Standard Component
- the processor 111 may be various types of general-purpose processors such as a central processing unit (CPU) and a digital signal processor (DSP), which are not limited herein.
- CPU central processing unit
- DSP digital signal processor
- control device 11 may be integrated with the base 131 and located within the base 131 (eg, below the base 131 ) to save space.
- control device 11 may also be provided separately from the base 131 , or the control device 11 may be partially integrated with the base 131 and the other part separated from the base 131 .
- the control device 11 can also adopt other setting manners, and is connected in communication with each moving arm and can control each moving arm.
- the present disclosure provides a computer-readable storage medium that can include at least one instruction executed by a processor to configure the processor to perform the control in any of the above embodiments method.
- the present disclosure provides a computer system that can include a non-volatile storage medium and at least one processor.
- the non-volatile storage medium may include at least one instruction.
- the processor is configured to execute at least one instruction to perform the control method in any of the above embodiments.
- a computer-readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device.
- the computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any combination of the above.
- computer readable storage media may include, but are not limited to, portable computer disks, hard disks, read only memory (ROM), random access memory (RAM), erasable programmable read only memory (EPROM) , Electrically Erasable Programmable Read-Only Memory (EEPROM), Flash memory or other solid-state memory technology, CD-ROM, Digital Versatile Disc (DVD), HD-DVD, Blue-Ray or other optical storage devices, magnetic tape, Disk storage or other magnetic storage device, or any other medium capable of storing required information and accessible by a computer, having stored thereon computer-executable instructions that, when executed in a machine (eg, a computer device), The machine is caused to execute the control method of the present disclosure.
- computer devices may include personal computers, servers, or network devices, among others.
- Some embodiments of the present disclosure can help to optimize the position of the moving arm during preoperative preparation, and can calculate the target pose of the other moving arm according to the real-time pose of one moving arm and make it move to the target pose , so as to realize the preoperative setup process with a high degree of automation.
- the moving arm after calculating the target poses of other moving arms in real time, it is also possible to prevent the moving arm from interfering during the movement process in a specific planning manner, so that the moving arm can reach the target position accurately, quickly and safely , so as to achieve efficient and safe preoperative preparation.
- the ends of the plurality of moving arms move in an integral manner, and the relative pose relationship of the ends of the plurality of moving arms can be kept unchanged during the movement, so as to realize the movement of the plurality of moving arms quickly and accurately .
- the position and posture of the surgical instruments installed on the multiple moving arms can also be quickly adjusted, which can reduce the difficulty of the user (such as a doctor) in the operation, so as to improve the preoperative or intraoperative performance. work efficiency.
- the present disclosure also discloses the following:
- a control method for a robotic system comprising a plurality of moving arms, the control method comprising:
- a motion path of one or more of the target moving arms from the initial pose to the target pose is determined, the motion path including at least one motion stage.
- the relative position sequence relationship between the target moving arm and other moving arms of the plurality of moving arms conforms to a predetermined relative position sequence relationship
- a distance between a predetermined point associated with the target moving arm and a predetermined point associated with one or more moving arms corresponding to the target moving arm is greater than a predetermined safety distance
- the distance between a predetermined line segment associated with the target kinematic arm and a predetermined line segment associated with one or more kinematic arms corresponding to the target kinematic arm is greater than a predetermined safety distance
- the difference between the joint value of the one or more joints of the target moving arm and the joint value of the corresponding joint of the one or more moving arms corresponding to the target moving arm is greater than a predetermined safety value.
- Target poses include:
- a target pose of one or more of the target moving arms is determined based on the target pose of the end of the one or more target moving arms and an inverse kinematic model.
- the target pose of the described end of the described target moving arm comprises one of the following:
- the target position and target attitude of the remote center of motion mechanism (RCM mechanism) of the target kinematic arm or
- the target moving arm is used for the target position and target posture of the end connected with the auxiliary connecting device.
- determining one or more of the target movements based on the target pose and inverse kinematics model of the end of one or more of the target moving arms The target poses of the arms include: for each target moving arm,
- the recommended target joint value is incremented or decremented by a predetermined adjustment value to adjust the recommended target joint value.
- the selected target pose of the target moving arm is determined based on the recommended target joint value and the other target joint values.
- determining the motion path of one or more of the target moving arms from the initial pose to the target pose based on an interpolation method comprises: for: Each target arm,
- the movement path of the target movement arm is determined.
- determining the joint step size of each joint included in the target moving arm comprises:
- the joint step size of each joint is determined based on the difference value of each joint in the difference values of the target moving arm and the target joint step number.
- control method further comprising: controlling one or more of the target moving arms from the initial position through at least one motion control loop based on the motion path.
- the pose moves to the target pose, the at least one motion control loop corresponding to the at least one motion phase.
- the temporary ending pose is taken as the ending pose of the target moving arm in each motion control loop.
- control method according to item 14 further comprising:
- the compensated temporary end pose of the target moving arm is determined as the end pose of the target moving arm in each motion control loop.
- the one or more target moving arms are controlled to stop moving or an alarm message is issued.
- controlling the movement of one or more of the target movement arms to the end of the movement phase pose In response to the interference relationship not being formed between one or more of the target movement arms or with other movement arms of the plurality of movement arms, controlling the movement of one or more of the target movement arms to the end of the movement phase pose.
- a robotic system comprising:
- a control device configured to perform the control method of any one of items 1-17.
- a computer readable storage medium comprising one or more instructions executable by a processor to perform the control method according to any of items 1-17.
- a computer system comprising:
- a memory for storing at least one instruction
- a processor configured to execute the at least one instruction to perform the control method of any of items 1-17.
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Surgery (AREA)
- Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Veterinary Medicine (AREA)
- Public Health (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Animal Behavior & Ethology (AREA)
- Heart & Thoracic Surgery (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Robotics (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
Abstract
一种用于机器人系统(10)的控制方法,机器人系统(10)包括多个运动臂(12a, 12b),控制方法包括:基于操作命令,选择机器人系统(10)的多个运动臂(12a, 12b)中的一个或多个作为目标运动臂(501);确定一个或多个目标运动臂的初始位姿(503);基于操作命令和一个或多个目标运动臂的初始位姿,确定一个或多个目标运动臂的目标位姿(505);以及基于插值法,确定一个或多个目标运动臂从初始位姿到目标位姿的运动路径(507);运动路径包括至少一个运动阶段。通过规划运动路径,以使一个或多个运动臂(12a, 12b)精确、快速、安全地到达目标位置,从而实现高效安全的运动臂控制。
Description
相关申请的交叉引用
本申请要求于2020年8月19日提交的、申请号为2020108372328、发明名称为“用于医疗设备的控制方法、医疗设备控制系统及存储介质”的中国专利申请的优先权,该申请的全文以引用方式整体结合于此。
本公开涉及机器人领域,尤其涉及机器人系统以及控制方法。
腹腔镜手术是被广泛运用的手术形式,具有创口小等优势。近年来,手术机器人使用运动臂实现更高稳定性和精确性的外科手术。手术中,运动臂将手术器械通过戳卡送入体内(例如人类或动物)的手术部位,实施外科手术。
目前,使用手术机器人实现的手术过程主要包括术前定位、术中操作和术后整理。在术前,通常需要由手术助理(例如助理医生或护师)根据手术类型及手术位姿将运动臂调整到合适的位姿,将运动臂与戳卡固定连接,然后在运动臂的末端设置手术器械,以使手术器械通过戳卡进入体内。运动臂的运动既可以由手术助理从其远端(即靠近患者端处)手动调整,也可以由手术助理或医生通过操作在运动臂近端(即靠近医生控制端处)的控制装置来进行控制。然而,由于运动臂可能体积和重量较大,存在稳定性问题和碰撞风险,尤其在单孔手术中。因此,运动臂调整复杂且耗时。类似地,在术中、术后,运动臂的调整都存在以上问题。
发明内容
在一些实施例中,本公开提供了一种用于机器人系统的控制方法,所述机器人系统包括多个运动臂,所述控制方法包括:基于操作命令,选择所述机器人系统的多个运动臂中的一个或多个作为目标运动臂;确定一个或多个所述目标运动臂的初始位姿;基于所述操作命令和一个或多个所述目标运动臂的初始位姿,确定一个或多个所述目标运动臂的目标位姿;以及基于插值法,确定一个或多个所述目标运动臂从所述初始位姿到所述目标位姿的运动路径,所述运动路径包括至少一个运动阶段。
在一些实施例中,本公开提供了一种机器人系统,包括:多个运动臂;以及控制装置,所述控制装置被配置成基于操作命令,选择所述多个运动臂中的一个或多个作为目标运动臂,确定一个或多个所述目标运动臂的初始位姿;基于所述操作命令和一个或多个所述目标运动臂的初始位姿,确定一个或多个所述目标运动臂的目标位姿;以及基于插值法,确定一个或多个所述目标运动臂从所述初始位姿到所述目标位姿的运动路径,所述运动路径包括至少一个运动阶段。
在一些实施例中,本公开提供了一种计算机可读存储介质,包括一个或多个指令,所述指令由处理器执行以执行用于机器人系统的控制方法,所述机器人系统包括多个运动臂,所述控制方法包括:基于操作命令,选择所述机器人系统的多个运动臂中的一个或多个作为目标运动臂;确定一个或多个所述目标运动臂的初始位姿;基于所述操作命令和一个或多个所述目标运动臂的初始位姿,确定一个或多个所述目标运动臂的目标位姿;以及基于插值法,确定一个或多个所述目标运动臂从所述初始位姿到所述目标位姿的运动路径,所述运动路径包括至少一个运动阶段。
为了清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单的介绍。下面描述中的附图仅仅示出本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本公开实施例的内容和这些附图获得其他的实施例。
图1示出了根据本公开一些实施例的机器人系统的结构框图;
图2示出了根据本公开一些实施例的机器人系统的立体结构示意图;
图3示出了根据本公开一些实施例的机器人系统的运动臂的结构示意图;
图4示出了根据本公开一些实施例的辅助连接装置的局部剖面图;
图5示出了根据本公开一些实施例的用于机器人系统的控制方法的流程图;
图6示出了根据本公开一些实施例的机器人系统的另一结构框图;
图7示出了根据本公开一些实施例的用于确定运动臂的目标位姿的方法的流程图;
图8示出了根据本公开一些实施例的用于确定运动臂的运动路径的方法的流程图;
图9示出了根据本公开一些实施例的用于确定运动臂所包含的每个关节的步长的方法的流程图;
图10示出了根据本公开一些实施例的用于在单个运动控制循环中控制目标运动 臂运动的方法的流程图;
图11示出了根据本公开一些实施例的控制装置的架构示意图。
为使本公开解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本公开实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本公开示例性实施例,而不是全部的实施例。
在本公开的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本公开的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“耦合”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连;可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。在本公开中,在手术机器人系统中,定义靠近用户(例如医生)的一端为近端、近部或后端、后部,靠近手术患者的一端为远端、远部或前端、前部。本领域技术人员可以理解,本公开的实施例可以用于医疗器械或手术机器人,也可以用于其他非医疗装置。
在本公开中,术语“位置”指对象或对象的一部分在三维空间中的定位(例如,可使用笛卡尔X、Y和Z坐标方面的变化描述三个平移自由度,例如分别沿笛卡尔X轴、Y轴和Z轴的三个平移自由度)。在本公开中,术语“姿态”指对象或对象的一部分的旋转设置(例如三个旋转自由度,可使用滚转、俯仰和偏转来描述这三个旋转自由度)。在本公开中,术语“位姿”指对象或对象的一部分的位置和姿态的组合,例如可使用以上提到的六个自由度中的六个参数来描述。在本公开中,运动臂或其一部分的位姿是指运动臂或其一部分定义的坐标系相对于运动臂所在的支架、基座定义的坐标系或世界坐标系的位姿。在本公开中,运动臂或其一部分的位置可由运动臂的多个关节的关节值的集合(例如由这些关节值组成的一维矩阵)来表示。在本公开中,关节的关节值可以包括相应关节相对于相应的关节轴所旋转的角度或者相对于初始位置移动的距离。在本公开中,运动臂的运动路径是指运动臂从一个位置或姿态移动到另一个位置或姿态所经过的路径。
图1示出了根据本公开一些实施例的机器人系统10的结构框图。如图1所示,机器人系统10可以包括控制装置11以及与控制装置11连接的多个运动臂。在一些实施例中,如图1所示,多个运动臂可以包括第一运动臂12a和第二运动臂12b。控制装置11可以用于控制第一运动臂12a和第二运动臂12b。例如,控制装置11可以调整第一运动臂12a和第二运动臂12b的运动、位姿、相互协调等。在一些实施例中,第一运动臂12a和第二运动臂12b在末端或远端处可以分别包括第一末端臂128a和第二末端臂128b。控制装置11可以控制第一运动臂12a或第二运动臂12b运动,以使第一末端臂128a或第二末端臂128b运动至期望的位置和姿态。
本公开文本为了便于简要说明,在图1以及后续附图中将示例性机器人系统10示为包括两个运动臂。但是本领域的技术人应理解,机器人系统10还可以包括三个、四个或更多的运动臂。机器人系统10可以包括手术机器人系统,例如腔镜手术机器人系统。应当理解,机器人系统10还可以包括用于其他领域(例如,制造、机械等等)的专用或通用机器人系统。
图2示出了根据本公开一些实施例的机器人系统10的立体结构示意图。如图2所示,机器人系统10是手术机器人系统,可以包括手术台车13以及设置在手术台车13上的第一运动臂12a和第二运动臂12b。在一些实施例中,手术台车13可以包括基座131和横梁132。在一些实施例中,第一运动臂12a和第二运动臂12b可以活动设置在横梁132上。应当理解,机器人系统10的多个运动臂也可以设置在多个手术台车上,例如,每个运动臂对应设置在一个手术台车上。或者一个运动臂设置在一个手术台车上,其余多个运动臂设置在另一手术台车上。这些实施例仍落在本公开的保护范围之内。
在一些实施例中,机器人系统10的每个运动臂(例如第一运动臂12a和第二运动臂12b)可以包括多根连杆以及多个关节。在一些实施例中,每个运动臂的每个关节可以包括电机,用于驱动相应的关节运动,进而带动相应的连杆转动。
图3示出了根据本公开一些实施例的机器人系统10的运动臂的结构示意图。如图3所示,第二运动臂12b(或第一运动臂12a)可以包括关节1201b-1208b和连杆121b-128b。连杆121b的近端(在本公开中靠近横梁132的一端被定义为运动臂的近端)与横梁132连接,连杆121b-127b依次串连。其中关节1201b可以位于横梁132与连杆121b的近端连接处,关节1202b可以位于连杆121b与第二连杆122b的连接处,关节1203b可以位于连杆122b与连杆123b的连接处,关节1204b可以位于连杆123b与连杆124b的连接处,关节1205b可以位于连杆124b与连杆125b的连接处,关节1206b可以位于连杆125b与连杆126b的连接处,关节1207b可以位于连杆126b与连 杆127b的连接处,关节1208b可以位于连杆127b与连杆128b的连接处。连杆128b作为第二运动臂12b的最远端的连杆,形成第二运动臂12b的第二末端臂128b。末端臂的位置和姿态的确定和表示需要前述每个关节共同决定。应当理解,连杆126b、127b和128b,共同构成第二运动臂12b的远端运动中心机构(RCM机构)。
在一些实施例中,机器人系统10可以包括一个或多个手术器械。如图3所示,手术器械14a可以安装在第一运动臂12a的第一末端臂128a上,并且手术器械14b可以安装在第二运动臂12b的第二末端臂128b上。应当理解,手术器械14a和手术器械14b可以包括但不限于用于实施手术的夹钳、电刀或用于进行照明成像的图像捕获设备(例如内窥镜工具)等等。手术器械14a和手术器械14b的一部分(例如臂体和设置在臂体远端的末端器械)可进入人类或动物的某个身体部位内以实施医疗操作,例如手术。
在一些实施例中,如图2所示,机器人系统10还可以包括辅助连接装置15,例如鞘套。辅助连接装置15可以安装在人体或动物体上(例如切口或开口中),一部分可以被定位在人类或动物需要进行手术的身体部位,另一部分用于与运动臂(例如与第一、第二运动臂12a、12b的第一、第二末端臂128a、128b)可拆卸地连接,以更好地为手术服务。
图4示出了根据本公开一些实施例的辅助连接装置15的局部剖面图。在一些实施例中,如图4所示,辅助连接装置15可以包括鞘管151和鞘管152。在一些实施例中,辅助连接装置15还可以包括至少两个连接部(例如连接部153和154)。连接部可以包括但不限于夹钳、卡合结构、粘合结构、插拔结构、吸合结构。连接部153和154可以分别固定设置在鞘管151和152上。
在一些实施例中,每个运动臂(例如第一、第二运动臂12a、12b)上可以包括与连接部(例如连接部153和154)配合的连接件(例如图2所示的连接件1281a和1281b)。辅助连接装置15可以通过连接部153和154分别与第一、第二运动臂12a、12b的连接件1281a和1281b可拆卸地固定连接。在一些实施例中,如图2所示,连接件1281a和1281b可以分别固定设置在第一末端臂128a和第二末端臂128b上。连接件1281a和1281b分别与连接部153和连接部154连接,以使辅助连接装置15与第一、第二运动臂12a、12b可拆卸固定连接。
应当理解,第一末端臂128a、第二末端臂128b、连接件1281a和1281b在笛卡尔坐标的空间位置和旋转坐标的姿态指向可以通过坐标向量表示。在一些实施例中,可基于当前手术类型或辅助连接装置的构型,例如,基于当前手术类型可以确定辅助连接装置的构型。基于辅助连接装置的构型,确定辅助连接装置的多个鞘管之间的形状 和相对位置关系,以确定多个运动臂的末端相对位姿。应该理解,运动臂的末端可以包括运动臂的末端臂、运动臂的远端运动中心机构(RCM机构)、或者运动臂上用于与辅助连接装置连接的部位。运动臂的末端的位姿可以包括运动臂的末端臂的位姿、运动臂的远端运动中心机构(RCM机构)的位姿、或者运动臂上用于与辅助连接装置连接的部位的位姿。
在一些实施例中,当前手术类型可以是当前需进行手术的类型,例如,手术类型可以包括但不限于普外科手术、胸外科手术、泌尿外科手术、妇科手术等。在一些实施例中,辅助连接装置可以包括鞘套,鞘套的构型可以包括例如不同术式下的鞘套的规格和型号(规格和型号可以包括但不限于例如鞘套的长度、径向尺寸、孔径大小、鞘管数量、多个鞘管设置的相对位置关系等)。多个鞘套中的每个与至少一个运动臂的相对位姿关系相关联,不同构型的鞘套与每个运动臂的相对位姿关系可以不同。
例如,可基于鞘管151和152的形状和相对位置关系,可以确定第一运动臂12a和第二运动臂12b的末端相对位姿关系。第一运动臂12a与第二运动臂12b之间的末端相对位姿关系可指示在世界空间坐标系下第一运动臂12a的末端相对于第二运动臂12b的末端的位置关系和姿态关系。应当理解,末端相对位姿关系可以包括例如第一运动臂12a的第一末端臂128a和第二运动臂12b的第二末端臂128b之间形成的相对位姿关系。或者,末端相对位姿关系还可以包括安装在第一末端臂128a和第二末端臂128b上的手术器械14a和14b之间形成的相对位姿关系。或者,末端相对位姿关系还可以包括固定设置在第一末端臂128a和第二末端臂128b上的连接件1281a和1281b之间形成的相对位姿关系。应理解,手术器械之间的相对位姿关系,末端臂之间的相对位姿关系和连接件之间的相对位姿关系可以具有映射关系。在一些实施例中,末端相对位姿关系可以存储在相关联的相对位姿模型中,可以用于计算第一运动臂12a或第二运动臂12b的末端的目标位姿。由于连接件1281a和1281b分别固定在第一末端臂128a和第二末端臂128b上,因此在第一末端臂128a和第二末端臂128b符合末端相对位姿关系时,连接件1281a和1281b可以分别与连接部153和154连接。
应当理解,第一运动臂12a运动至目标位姿,可以确定安装于第一运动臂12a末端的手术器械14a在世界坐标内的目标位姿,并且第二运动臂12b运动至目标位姿,可以确定安装于第二运动臂12b末端的手术器械14b在世界坐标内的目标位姿。运动臂或其一部分的姿态可以通过关节来实现。例如,在一些实施例中,每个运动臂上的固定部位(例如第一、第二末端臂128a、128b,以及固定设置的在第一、第二运动臂12a、12b上的连接件1281a、1281b、安装在第一、第二运动臂12a、12b上的手术器械14a、14b)的目标空间位置可以通过相应运动臂所包括的多个关节中的一些关节实 现。每个运动臂上的固定部位的目标空间姿态可以通过相应运动臂所包括的多个关节中的另一些关节实现。在一些实施例中,运动臂的末端(例如第一、第二末端臂128a、128b)用于实现目标空间姿态的多个关节相对于该运动臂的用于实现目标空间位置的多个关节更靠近运动臂的远端。应当理解,实现运动臂的末端的目标空间姿态和目标空间位置的多个关节还可以包括其他设置方式,具体可以根据使用需求设置。
在一些实施例中,待手术器械安装到末端臂后,手术器械14a和14b可以通过辅助连接装置15的鞘管151和152,按预定的角度分别顺利穿过鞘管151和152,沿鞘管151和152运动进入人体内需要手术的相应位姿。在一些实施例中,辅助连接装置15的鞘管151和152可以是柔性的,并且手术器械14a、14b延伸穿过辅助连接装置15的部分也是柔性的,可以便于在第一末端臂128a和第二末端臂128b大致符合末端相对位姿关系时,辅助连接装置15上的连接部153、154可以与每个运动臂上的连接件1281a、1281b连接,辅助连接装置15的柔性部分可以在末端臂的位姿具有一定误差的情况下,保证每个手术器械仍可以顺利通过鞘管进入手术区域。
应当理解,如图4所示的辅助连接装置15仅仅是示例性的。在一些实施例中,机器人系统10可以包括三个、四个或更多的运动臂,辅助连接装置15可包括三个、四个或更多的鞘管,每个鞘管上包括相应的连接部,以便用于每个鞘管与每个运动臂连接,并约束多个末端臂之间的末端相对位姿关系。
本公开提供了一种可以用于机器人系统的控制方法。图5示出了根据本公开一些实施例的用于机器人系统(例如机器人系统10)的控制方法500的流程图。图6示出了根据本公开一些实施例的机器人系统10的另一简化框图。如图5和图6所示,该方法500可以由机器人系统10的控制装置(例如控制装置11)来执行。控制装置11可以配置在计算设备上。方法500可以由软件、固件和/或硬件来实现。
如图5所示,在步骤501,基于操作命令,选择多个运动臂中的一个或多个作为目标运动臂。在一些实施例中,基于操作命令,可以选择机器人系统10的多个运动臂中的一个作为目标运动臂,或者可以选择机器人系统10的多个运动臂中的两个或更多运动臂作为目标运动臂。在一些实施例中,操作命令可以由用户通过控制装置11输入,用于控制一个目标运动臂运动或控制多个目标运动臂整体运动。在一些实施例中,控制装置11可包括输入装置113。输入装置113被配置成可以用于接收来自用户的操作命令,或者接收来自用户的操作指示,以使控制装置11能够基于该操作指示而获取具体的操作命令。例如,基于操作命令,可以选择第一运动臂12a作为目标运动臂,操作命令可以用于控制第一运动臂12a从初始位姿运动到目标位姿。或者,基于操作命令,可以选择第一运动臂12a和第二运动臂12b作为目标运动臂,操作命令可以用于 控制第一运动臂12a和第二运动臂12b作为整体一起从初始位姿运动到目标位姿,例如可以命令整体一起俯仰、旋转、平移运动至目标位姿。
在步骤503,确定一个或多个目标运动臂的初始位姿。例如,选择第一运动臂12a或第二运动臂12b作为目标运动臂。在一些实施例中,如图6所示,控制装置11可与第一运动臂和第二运动臂12a、12b通信连接。在一些实施例中,如图6所示,第一运动臂12a还可以包括一个或多个传感器129a。关节1201a-1208a的电机可以分别与多个传感器129a耦合。第二运动臂12b还可以包括一个或多个传感器129b。关节1201b-1208b的电机可以分别与多个传感器129b耦合。图6示例性地示出一个传感器,应当理解,图示的传感器129a和129b可以表示多个传感器。传感器129a和129b可以包括但不限于例如编码器或电位计。传感器可以用于获取对应运动臂的多个关节的数据,以测得相应关节的关节值。在一些实施例中,传感器可以包括延伸设置在运动臂上的光纤传感器,用于获得运动臂的位姿。
如图6所示,控制装置11可以包括一个或多个处理器111和存储器112。处理器111可以与第一运动臂12a的多个传感器129a通信连接,以通过多个传感器129a获得第一运动臂12a的各个关节1201a-1208a的当前关节值。处理器111可以与第二运动臂12b的多个传感器129b通信连接,以通过多个传感器129b获得第二运动臂12b的各个关节1201b-1208b的当前关节值。
在一些实施例中,处理器111可以基于第一、第二运动臂12a、12b的正运动学模型,对各个关节的当前关节值进行解算,以得到第一运动臂12a和第二运动臂12b或其一部分(例如第一运动臂12a的末端和第二运动臂12b的末端)的初始位姿。第一运动臂12a的正运动学模型可以预先设置并存储在存储器112中。运动臂的正运动学模型可以基于运动臂已知的所有关节变量(例如关节值),获得运动臂的位姿或任意部分的位姿(例如第一、第二末端臂128a、128b,、固定设置在第一、第二运动臂12a、12b上的连接件1281a、1281b、安装在第一、第二运动臂12a、12b上的手术器械14a、14b的位姿等等)。
在步骤505,基于操作命令和一个或多个目标运动臂的初始位姿,确定一个或多个目标运动臂的目标位姿。在一些实施例中,可以基于操作命令和一个或多个目标运动臂的初始位姿,确定一个或多个目标运动臂的末端的目标位姿。在一些实施例中,目标运动臂的末端的目标位姿可以基于从用户接收的操作命令来确定。或者操作命令可以包括目标位姿、运动的方式和幅度等等。例如,可以基于目标运动臂的末端的初始位姿以及运动的方式(例如,向左移动、旋转等)和幅度(例如,移动距离、旋转角度等),确定末端的目标位姿。基于一个或多个目标运动臂的末端的目标位姿和逆 运动学模型,确定一个或多个目标运动臂的目标位姿。应当理解,运动臂的逆运动学模型可以基于运动臂已知的末端的位姿,求解运动臂的各关节值的模型,以得到运动臂的位姿。
在一些实施例中,选择第一运动臂12a作为目标运动臂,可以基于操作命令和第一运动臂12a的初始位姿,确定第一运动臂12a的末端的目标位姿。利用第一运动臂12a的逆运动学模型进行解算,以确定第一运动臂12a的目标位姿。在一些实施例中,选择第一运动臂12a和第二运动臂12b作为目标运动臂,可以基于操作命令确定第一运动臂12a的末端的目标位姿,基于第一运动臂12a的末端的目标位姿和末端相对位姿关系,确定第二运动臂12b的末端的目标位姿,可以使第一运动臂12a的末端和第二运动臂12b的末端在运动过程中能够保证末端相对位姿关系不变。这样,可以实现多个运动臂的末端作为一个整体运动。如图7所示方法可以用于基于运动臂的末端的目标位姿,确定运动臂的目标位姿。
在步骤507,基于插值法,确定一个或多个目标运动臂从初始位姿到目标位姿的运动路径。在一些实施例中,运动路径包括至少一个运动阶段。可以通过插值法,确定每个运动阶段的结束位姿,以形成运动路径。在一些实施例中,基于运动路径,可以通过至少一个运动控制循环,控制一个或多个目标运动臂从初始位姿运动到目标位姿,至少一个运动控制循环对应于至少一个运动阶段。在一些实施例中,选择第一运动臂12a作为目标运动臂。可以利用插值法规划第一运动臂12a的运动路径。基于约束关系以使第一运动臂12a沿运动路径的每个运动阶段运动时,不会与多个运动臂的其他运动臂发生干涉关系,例如碰撞。
在一些实施例中,可以基于约束关系,对每个运动阶段,判断一个或多个目标运动臂之间或与多个运动臂的其他运动臂之间是否会形成干涉关系。在一些实施例中,基于约束关系被满足,确定一个或多个目标运动臂之间或与多个运动臂的其他运动臂之间不会发生干涉关系。基于约束关系不被满足,确定一个或多个目标运动臂之间或与多个运动臂的其他运动臂之间会发生干涉关系。在一些实施例中,约束关系可以通过干涉模型进行限定。应当理解,干涉模型可以是预先设置的。
在一些实施例中,例如,选择多个运动臂中的一个作为目标运动臂。约束关系可以包括以下中的至少一项:目标运动臂与多个运动臂的其他运动臂之间的相对位置顺序关系符合预定的相对位置顺序关系、与目标运动臂相关联的预定点和与目标运动臂相应的一个或多个运动臂上相关联的预定点之间的距离大于预定的安全距离、与目标运动臂相关联的预定线段和与目标运动臂相应的一个或多个运动臂上相关联的预定线段之间的距离大于预定的安全距离、或者目标运动臂的一个或多个关节的关节值和与 目标运动臂相应的一个或多个运动臂的相应关节的关节值之间的差值大于预定的安全值。应当理解,选择多个运动臂中的两个或更多运动臂作为目标运动臂,可以分别判断每个目标运动臂与其对应运动臂之间是否满足约束关系。
在一些实施例中,预定的相对位置顺序关系可以包括但不限于多个运动臂之间按顺时针或逆时针顺序排序。多个运动臂之间的相对位置顺序关系可以通过运动臂的关节或连杆的相对位置顺序表示。例如,选择第一运动臂12a作为目标运动臂。第一运动臂12a靠近横梁132的一个或多个关节(例如关节1202a和/或1203a)在每个运动阶段的结束位置与相邻运动臂(例如第二运动臂12b)靠近横梁132的相应的一个或多个关节(例如关节1202b和/或1203b)在每个运动阶段的结束位置的相对位置顺序符合顺时针或逆时针排序,可以确定第一运动臂12a与第二运动臂12b满足相对位置顺序关系的约束。反之,可以确定第一运动臂12a与第二运动臂12b之间出现非预定的相对位置顺序,可能导致第一运动臂12a与第二运动臂12b之间发生干涉关系。在一些实施例中,还可以通过判断第一运动臂12a的一个或多个连杆(例如连杆121a和/或122a)的末端与第二运动臂12b的相应连杆(例如连杆121b和/或122b)的末端的相对位置顺序是否符合预定的相对位置顺序关系(例如顺时针或逆时针排序),以确定第一运动臂12a与第二运动臂12b之间的相对位置顺序关系是否符合预定的相对位置顺序关系。
在一些实施例中,与目标运动臂相关联的预定点可以包括目标运动臂的连杆上的固定点、目标运动臂的关节或其他与目标运动臂相关的点。例如,选择第一运动臂12a作为目标运动臂。与第一运动臂12a相关联的预定点可以为第一运动臂12a的预定关节(例如关节1203a)。与第一运动臂12a相应的一个或多个运动臂可以包括第二运动臂12b或与第一运动臂12a相隔距离近的其他运动臂。相应运动臂以第二运动臂12b为例。与第二运动臂12b相关联的预定点可以为第二运动臂12b的相应关节(例如关节1203b)。在一些实施例中,第一运动臂12a的关节1203a与第二运动臂12b的关节1203b之间的距离可以基于第一运动臂12a的关节1203a的关节轴线与第二运动臂12b的关节1203b的关节轴线来确定。在一些实施例中,与第一运动臂12a相关联的预定点可以为第一运动臂12a的预定连杆(例如连杆121a)上的固定点,与第二运动臂12b相关联的预定点可以为第二运动臂12b的相应连杆(例如连杆121b)或相邻连杆(例如123b)上的固定点。在一些实施例中,与第一运动臂12a相关联的预定点可以为第一运动臂12a中的预定连杆(例如,远端运动中心机构,RCM机构)上的固定点,与第二运动臂12b相关联的预定点可以为第二运动臂12b的连杆(例如连杆124b)的轴线在水平面上的投影点。例如,关节1203a与关节1203b的关节轴线的距离大于 安全距离,或者第一运动臂12a和第二运动臂12b上的预定点之间的距离大于安全距离,可以确定第一运动臂12a与第二运动臂12b满足预定点安全距离关系的约束。反之,预定点之间的距离小于安全距离,确定第一运动臂12a和第二运动臂12b之间可能会发生干涉关系。应当理解,安全距离可以是预先设定的距离,例如可以包括但不限于135mm。应理解,安全距离还可以基于关节或连杆的尺寸设定。不同关节或连杆对应的预定点之间的安全距离可以不同。应当理解,与第一运动臂12a和与第二运动臂12b相关联的预定点可以包括但不限于上述实施例中示出的情况。
在一些实施例中,与目标运动臂相关联的预定线段可以包括目标运动臂的连杆的棱边或轴线、目标运动臂的关节轴线或其他与目标运动臂相关的线段。应理解,两个线段之间的最小距离是这两个线段的起点之间的距离与这两个线段的终点之间的距离之中较小的那个距离。例如,选择第一运动臂12a作为目标运动臂。与目标运动臂相应的一个或多个运动臂可以包括第二运动臂12b或与第一运动臂12a相隔距离近的其他运动臂。相应运动臂以第二运动臂12b为例。与第一运动臂12a相关联的预定线段可以为第一运动臂12b的预定连杆(例如连杆121a),与第二运动臂12b相关联的预定线段可以为第二运动臂12b的预定连杆(例如连杆122b)。在一些实施例中,与第一运动臂12a相关联的预定线段可以为第一运动臂12a的预定连杆(例如连杆125a),与第二运动臂12b相关联的预定线段可以为第二运动臂12b的预定连杆(例如远端运动中心机构(RCM机构)靠近连杆125a的棱边,例如连杆126a靠近连杆125a的棱边)。在一些实施例中,与第一运动臂12a相关联的预定线段可以为第一运动臂12a的RCM点与第一运动臂12a的预定连杆(例如连杆128a)延长线上的点之间形成的线段,与第二运动臂12b相关联的预定线段可以为第二运动臂12b的预定连杆(例如连杆128b)靠近的第一运动臂12a的棱边。在一些实施例中,与第一运动臂12a相关联的预定线段可以为第一运动臂12a的预定连杆(例如连杆124a)的棱边(例如靠近第二运动臂12b的棱边),并且与第二运动臂12b相关联的预定线段可以为第二运动臂12b的相应连杆(例如连杆124b)的棱边(例如靠近第一运动臂12a的棱边)。在一些实施例中,与第一运动臂12a相关联的预定线段可以为第一运动臂12a的关节轴线,与第二运动臂12b相关联的预定线段可以为第二运动臂12b的关节轴线。在一些实施例中,与第一运动臂12a相关联的预定线段可以为第一运动臂12a的关节轴线(例如关节1204a的轴线)和另一关节轴线(例如关节1205a的轴线)的交点与第一运动臂12a的连杆(例如连杆125a)远端之间的线段,与第二运动臂12b相关联的预定线段可以为第二运动臂12b的关节轴线(例如关节1204b的轴线)和另一关节轴线(例如关节1205b的轴线)的交点与第二运动臂12b的连杆(例如连杆125b)远端之间的 线段。例如,连杆121a与连杆122b之间的最小距离大于安全距离,或者连杆125a与第二运动臂12b的RCM机构靠近连杆125a的棱边(例如连杆126b靠近连杆125a的棱边)之间的最小距离大于安全距离,或者第一运动臂12a1的RCM点与连杆128a延长线上的点之间形成的线段与连杆128b靠近的第一运动臂12a的棱边之间的最小距离大于安全距离,或者连杆124a靠近第二运动臂12b的棱边与连杆124b靠近第一运动臂12a的棱边之间的最小距离大于安全距离,或者关节1204a和关节1205a的轴线交点与连杆125a远端形成的线段与关节1204b和关节1205a的轴线交点与连杆125b远端形成的线段之间的最小距离大于安全距离,可以确定第一运动臂12a与第二运动臂12b满足预定线段安全距离关系的约束。反之,预定线段之间的距离小于安全距离,确定第一运动臂12a和第二运动臂12b之间可能会发生干涉关系。应当理解,安全距离例如可以包括但不限于135mm、120mm、60mm等。应理解,安全距离还可以基于关节或连杆的尺寸设定。不同关节或连杆对应的预定点之间的安全距离可以不同。应当理解,与第一运动臂12a和与第二运动臂12b相关联的预定线段可以包括但不限于上述实施例中示出的情况。
在一些实施例中,例如,选择第一运动臂12a作为目标运动臂。第一运动臂12a的一个或多个关节的关节值(例如关节1203a的关节值)与其他运动臂(例如第二运动臂12b)的相应关节的关节值(例如关节1203b的关节值)之间的差值大于预定的安全值(例如安全角度),可以确定第一运动臂12a与第二运动臂12b满足关节安全角度关系的约束。反之,关节值之间的差值小于预定安全值,确定第一运动臂12a和第二运动臂12b之间可能会发生干涉关系。
应当理解,在机器人系统包括三个、四个或更多个运动臂时,干涉模型也可以用于彼此相邻的运动臂之间或者位置相近的运动臂之间的干涉判断。在一些实施中,干涉模型的比较对象可以是相邻运动臂之间易于发生干涉的结构(例如与第一运动臂12a相关联的预定线段和与第二运动臂12b相关联的预定线段、与第一运动臂12a相关联的预定点和与第二运动臂12b相关联的预定点、第一运动臂12a的一个或多个关节与第二运动臂12b的相应关节),而多个运动臂之间不会发生干涉的结构可以被排除在干涉模型的比较对象之外,不需要对相邻运动臂上的所有结构进行比较,可以减少干涉模型比较过程的运算量,提高系统的工作效率。
图7示出了根据本公开一些实施例的用于确定运动臂的目标位姿的方法700的流程图。在一些实施例中,方法700可以用于实现如图5所示的步骤505,基于一个或多个目标运动臂的初始位姿以确定一个或多个目标运动臂的目标位姿。方法700可以由机器人系统10的控制装置(例如控制装置11)来执行。控制装置11可以配置在计 算设备上。方法700可以由软件、固件和/或硬件来实现。
如图7所示,对于每个目标运动臂,在步骤701,选择目标运动臂的多个关节之一作为特征关节,设置特征关节的推荐目标关节值。在一些实施例中,以目标运动臂为第一运动臂12a为例。可以选择第一运动臂12a的多个关节之一作为特征关节,并预先设置特征关节的推荐目标关节值。在一些实施例中,运动臂的特征关节可以为多个关节中易于与相邻运动臂发生碰撞的关节。例如,所选的特征关节可以为第一运动臂12a的多个关节中容易与其他运动臂(例如第二运动臂12b)发生碰撞的关节,例如图3所示的关节1205a或1206a。应当理解,在机器人系统10包括多个运动臂(例如三个或四个运动臂)时,不同的运动臂的特征关节的推荐目标关节值可以不同。
在步骤703,基于目标运动臂的末端的目标位姿和推荐目标关节值,确定其他目标关节值。应当理解,基于选择的目标运动臂的末端的目标位姿和推荐目标关节值,对目标运动臂的逆运动学模型进行解算,以获得选择的目标运动臂的其他目标关节值。应理解,其他目标关节值包括目标运动臂的除特征关节外的所有其他关节的目标关节值。以选择的目标运动臂为第一运动臂12a为例。可以基于第一运动臂12a的第一末端臂128a的目标位姿和推荐关节(例如1205a)的推荐目标关节值,对第一运动臂12a的逆运动学模型进行解算,以获得第一运动臂12a的其他目标关节值。应理解,也可以选择多个目标运动臂,通过步骤703所述方法,确定每个目标运动臂的其他目标关节值。
在一些实施例中,方法700还可以包括步骤705。对于每个目标运动臂,在步骤705,判断其他目标关节值是否在相应关节的关节运动范围之内。应当理解,目标运动臂的每个关节具有一定的运动范围,每个关节的关节运动范围为相应关节的最小极限关节值和最大极限关节值之间的范围,并且该最小极限关节值以及该最大极限关节值不在该范围之内。例如而非作为限制,有的关节的运动范围在18度到45度之间,有的关节的运动范围在45度到90度之间,还有的关节的运动范围在-90度到-45度之间等等。
在一些实施例中,方法700还可以包括步骤707。在步骤707,将推荐目标关节值递增或递减预定的调整值,以调整运动臂的推荐目标关节值。例如,选择第一运动臂12a作为目标运动臂。响应于第一运动臂12a的其他目标关节值中的至少一个不在相应关节的关节运动范围之内,将推荐目标关节值递增或递减预定的调整值,以调整第一运动臂12a的推荐目标关节值。在一些实施例中,可以将调整值设置为例如0.2°或0.5°等等来调整推荐目标关节值。应理解,0.2°或0.5°仅作为示例,调整值还可以设置为其他值。递增或递减预定的调整值,遍历直到有解或者达到特征关节的关节运 动范围(可以不包括关节极限值),例如有解可以表示推荐目标关节值在特征关节的关节运动范围之内。
在一些实施例中,方法700还可以包括以下步骤:判断调整后的推荐目标关节值是否在特征关节的关节运动范围之内。响应于调整后的推荐目标关节值在特征关节的关节运动范围之内,选取调整后的推荐目标关节值作为推荐目标关节值,并返回步骤703。
在一些实施例中,方法700还可以包括步骤711。在步骤711,基于目标运动臂的推荐目标关节值和其他目标关节值,确定目标运动臂的目标位姿。例如,响应于目标运动臂(例如第一运动臂12a)的其他目标关节值都在相应关节的关节运动范围之内,基于第一运动臂12a的推荐目标关节值和其他目标关节值,确定第一运动臂12a的目标位姿。例如,可以选择推荐目标关节值和其他目标关节的集合作为第一运动臂12a的目标关节值。通过确定第一运动臂12a的目标关节值,可以确定第一运动臂12a的目标位姿。应当理解,多个运动臂的其他运动臂也可以通过方法700以确定运动臂的目标位姿。
在一些实施例中,方法700还可以包括步骤709。在步骤709,判断目标运动臂与其他运动臂之间是否会形成干涉关系。例如,选择第一运动臂12a为目标运动臂。响应于第一运动臂12a的所有的其他目标关节值都在相应关节的关节运动范围之内,基于方法500中的干涉模型,判断第一运动臂12a与相邻运动臂(例如第二运动臂12b)之间是否会形成干涉关系。在一些实施例中,响应于多个运动臂之间不会形成干涉关系,执行步骤711。例如,响应于第一运动臂12a与第二运动臂12b之间不会形成干涉关系,基于第一运动臂12a的推荐目标关节值和其他目标关节值,确定第一运动臂12a的目标位姿。在一些实施例中,响应于选择的目标运动臂与其他运动臂之间会形成干涉关系的情况下,重新执行步骤707。例如,响应于第一运动臂12a与第二运动臂12b之间会形成干涉关系,将第一运动臂12a的推荐目标关节值递增或递减预定的调整值,以调整第一运动臂12a的推荐目标关节值。
在一些实施例中,在推荐目标关节值和其他目标关节值有多组满足条件的解(例如有多组满足条件的第一运动臂12a的目标关节值)时,可以选择第一运动臂12a的各关节最不会与第二运动臂12b发生干涉的一组解作为唯一解输出,作为第一运动臂12a的目标关节值。
图8示出了根据本公开一些实施例的用于确定运动臂的运动路径的方法800的流程图。在一些实施例中,方法800可以用于实现如图5所示的步骤507,基于插值法,确定一个或多个目标运动臂从初始位姿到目标位姿的运动路径。方法800可以由机器 人系统10的控制装置(例如控制装置11)来执行。控制装置11可以配置在计算设备上。方法800可以由软件、固件和/或硬件来实现。
如图8所示,对于每个运动臂,在步骤801,确定目标运动臂所包含的每个关节的关节步长。在一些实施例中,控制目标运动臂运动至目标位姿的过程,可以包括多个运动阶段。在一种实现中,单个运动阶段可以是80ms。在一些实施例中,每个关节的关节步长可以指示相应关节在每个运动阶段可绕其关节轴移动的角度。例如,单个运动阶段对应于目标运动臂的运动步长可以预先设定,其中目标运动臂的运动步长可以是目标运动臂的多个关节的关节步长的集合。在一些实施例中,可以通过如图9所示方法确定目标运动臂所包含的每个关节的关节步长。
在步骤803,基于每个关节的关节步长,确定目标运动臂在每个运动阶段的结束位姿。在一些实施例中,可以在目标运动臂的初始位姿与目标位姿之间,采用插值法确定多个运动阶段中每个运动阶段的结束位姿。例如,选择第一运动臂12a为目标运动臂。在当前运动阶段为第一个运动阶段时,第一运动臂12a的当前位姿为第一运动臂12a的初始位姿。在当前运动阶段不是第一个运动阶段时,第一运动臂12a的初始位姿为上一步运动阶段的结束位姿。
基于第一运动臂12a的初始位姿,以及第一运动臂12a的每个关节对应的关节步长,确定第一运动臂12a的每个关节在当前循环的结束关节值。在一些实施例中,可以通过如图10所示方法确定每个运动阶段的结束位姿。
在步骤805,基于每个运动阶段的结束位姿,判断目标运动臂和其他运动臂之间是否会形成干涉关系。例如,基于目标运动臂(例如第一运动臂12a)在当前运动阶段的结束位姿,利用方法500中的约束关系,判断第一运动臂12a和其他运动臂(例如第二运动臂12b)之间是否会形成干涉关系,例如碰撞。
在步骤807,基于每个运动阶段的结束位姿,确定目标运动臂的运动路径。例如,响应于一个或多个目标运动臂从初始位姿运动到结束位姿过程中,目标运动臂和其他运动臂之间不会形成干涉关系,确定每个运动阶段的结束位姿作为运动路径。应理解,当目标运动臂包括第一运动臂12a和第二运动臂12b时,响应于第一运动臂12a和其他运动臂(例如第二运动臂12b或距离相近的其他运动臂),以及第二运动臂12b与其他运动臂(例如第一运动臂12a或距离相近的其他运动臂)之间不会形成干涉关系。例如可以通过指令控制目标运动臂的对应关节以对应关节的关节步长运动。
在步骤809,发出警报信息。例如,响应于一个或多个目标运动臂和其他运动臂之间会形成干涉关系,可以发出警报信息。例如,选择第一运动臂12a和第二运动臂12b作为目标运动臂,利用干涉模型对第一运动臂12a和第二运动臂12b进行干涉判 断,响应于第一运动臂12a和第二运动臂12b中的至少一个与其他运动臂发生碰撞,可以发出警报信息。
在一些实施例中,方法800还可以包括以下步骤:判断目标运动臂的初始位姿是否等于目标运动臂的目标位姿。响应于目标运动臂的初始位姿小于目标运动臂的目标位姿,执行步骤805。响应于目标运动臂的初始位姿等于目标运动臂的目标位姿,结束运动路径规划。
图9示出了根据本公开一些实施例的确定目标运动臂所包含的每个关节的关节步长的方法900的流程图。在一些实施例中,方法900可以用于实现如图8所示的步骤801,确定一个或多个目标运动臂所包含的每个关节的关节步长。方法900可以由机器人系统10的控制装置(例如控制装置11)来执行。控制装置11可以配置在计算设备上。方法900可以由软件、固件和/或硬件来实现。
如图9所示,在步骤901,基于目标运动臂的目标位姿,确定目标运动臂的目标位姿与初始位姿之间的差值。例如,目标运动臂(例如第一运动臂12a)的位姿可以通过第一运动臂12a所包括的多个关节的关节值的集合表示。运动臂的目标位姿与初始位姿之间的差值可以通过运动臂对应关节在目标位姿与对应关节在初始位姿的关节值的差值的集合表示。
在步骤903,基于目标运动臂的目标位姿与初始位姿之间的差值中每个关节的差值以及每个关节的关节步长极值,确定目标关节步数。应当理解,关节步长可以指示关节在每个运动阶段中可绕其关节轴移动的角度。关节步长极值可以指每个关节在每个运动阶段中可绕其关节轴移动的最大角度。例如,基于目标运动臂(例如第一运动臂12a)的目标位姿与初始位姿之间的差值中每个关节的差值以及每个关节的关节步长极值,确定第一运动臂12a的每个关节的步数。可以选择每个关节的步数中的最大步数作为目标关节步数。
在步骤905,基于目标运动臂的目标位姿与初始位姿之间的差值中每个关节的差值以及目标关节步数,确定目标运动臂的每个关节的关节步长。例如,通过将第一运动臂12a的目标位姿与初始位姿之间的差值中每个关节的差值除以目标关节步数,可计算得到第一运动臂12a的每个关节的关节步长。
图10示出了根据本公开一些实施例的用于在单个运动控制循环中控制目标运动臂运动的方法1000的流程图。方法1000可以由机器人系统10的控制装置(例如控制装置11)来执行。控制装置11可以配置在计算设备上。方法1000可以由软件、固件和/或硬件来实现。
如图10所示,在步骤1001,对于每个运动控制循环,确定目标运动臂的每个关 节的当前关节值。例如,可以通过多个传感器获得目标运动臂的每个关节的当前关节值。应当理解,对于第一个运动控制循环,将目标运动臂的初始关节值作为当前关节值。对于非第一个运动控制循环,每个关节的当前关节值是上一个运动控制循环的实际结束位姿对应的每个关节的关节值。
在步骤1003,基于目标运动臂的每个关节的当前关节值和关节步长,确定目标运动臂在每个运动控制循环的临时结束位姿。
在一些实施例中,可任选地,方法1000还可以包括步骤1005。在步骤1005,选择目标运动臂的多个关节中的一个或多个关节作为预定关节,并设置预定关节的插值域。应当理解,可以基于预定关节在每个运动阶段的结束关节值,设置插值域。插值域是指围绕插值(例如,以插值为中心)的值域,其中插值对应于每个关节在每个运动阶段的结束关节值。例如,目标运动臂包括第一运动臂12a和第二运动臂12b,可以选择第一运动臂12a的多个关节中的一个或多个关节作为预定关节,以及选择第二运动臂12b的多个关节中的一个或多个关节作为预定关节,并分别设置第一运动臂12a和第二运动臂12b的预定关节在每个运动阶段的结束位姿的插值域。应理解,第一运动臂12a和第二运动臂12b的预定关节可以彼此相应的关节,也可以与不相应的其他关节,预定关节的插值域也可以不同。在一些实施例中,预定关节和插值域是预先确定的。
在步骤1007,将临时结束位姿中对应于目标运动臂的预定关节的临时结束关节值与预定关节插值域相比较,判断临时结束关节值是否落在预定关节的插值域内。
在步骤1009,将临时结束位姿作为目标运动臂在每个运动控制循环的结束位姿。例如,响应于预定关节的临时结束关节值落在插值域内,将临时结束位姿作为目标运动臂在每个运动控制循环的结束位姿。
在一些实施例中,在步骤1011,基于插值域,对临时结束关节值进行补偿。响应于预定关节的临时结束关节值不在插值域内,基于插值域,对临时结束关节值进行补偿使得临时结束关节值落在插值域内。例如,响应于预定关节的临时结束关节值不在插值域内,可以对临时结束关节值进行加或减,以对相应的结束关节值进行补偿。
在步骤1013,基于补偿后的临时结束关节值,确定目标运动臂补偿后的临时结束位姿,将补偿后的临时结束位姿作为目标运动臂在每个运动控制循环的结束位姿。
在一些实施例中,可任选地,方法1000还可以包括步骤1015。在步骤1015,对于每个运动控制循环,可以基于运动控制循环的结束位姿,判断一个或多个目标运动臂之间或与多个运动臂的其他运动臂之间是否会形成干涉关系。
在步骤1017,响应于一个或多个目标运动臂之间或与多个运动臂的其他运动臂之 间会形成干涉关系,控制一个或多个目标运动臂停止运动或发出警报信息。
在一些实施例中,方法1000还可以包括步骤1019。在步骤1019,响应于一个或多个目标运动臂之间或与多个运动臂的其他运动臂之间不会形成干涉关系,控制一个或多个目标运动臂运动到运动阶段的结束位姿。例如,对于每个运动控制循环,响应于一个或多个目标运动臂之间或与多个运动臂的其他运动臂之间不会形成干涉关系,控制一个或多个目标运动臂从当前位姿运动到结束位姿,以完成当前运动控制循环,直至一个或多个目标运动臂运动到目标位姿。
图11示出了根据本公开的实施例的包括在机器人系统10中的控制装置11的架构示意图。在一些实施例中,如图11所示,该控制装置11可包括输入装置113、输出装置114、一个或多个存储器112、一个或多个处理器111以及通信接口115。在一些实施例中,控制装置11也可不包括输出装置。
在一些实施例中,输入装置113可以包括但不限于按钮、键盘、触摸屏、话筒等装置。输入装置可以被配置成用于直接接收来自用户的操作命令,或者接收来自用户的操作指示使得控制装置能够基于该操作指示而获取具体的操作命令。操作命令可以包括例如命令第二末端臂128b与第一末端臂128a保持末端相对位姿关系不变运动的命令。在一些实施例中,输入装置113还可用于接收来自用户的设置信息,例如当前手术类型、辅助连接装置的构型、相对位姿模型等的设置信息等。
在一些实施例中,输出装置114可以包括但不限于显示器、扬声器和指示灯等,其可被配置成用于指示机器人系统10的各个组成部分的状态、输出错误警报信号等等。
在一些实施例中,存储器112中可存储可在处理器111上执行的计算机程序。处理器111在执行计算机程序时实现上述实施例中描述的控制方法。存储器112和处理器111的数量可以为一个或多个。通信接口115用于在该控制装置11(例如控制装置11的处理器111)和外部设备之间进行通信。在本公开中,控制装置11可例如通过通信接口115与设置在各运动臂(例如第一运动臂12a、第二运动臂12b)的各个关节中的电机进行通信,从而指令各运动臂运动到相应的目标位置,控制装置11还可例如通过通信接口115与运动臂的各个关节处的传感器进行通信,以接收运动臂的各个关节的关节值。在本公开的一个示例中,该通信接口115可以为CAN总线通信接口,其使得控制装置11能够通过CAN总线与设置在各关节的电机以及传感器连接通信。
如图11所示,输入装置113、输出装置114、存储器112、处理器111和通信接口115可通过总线相互连接,以完成相互间的通信。总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线,外部设备互连(PCI,Peripheral Component)总 线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等等。
在一些实施例中,处理器111可以为中央处理器(CPU)、数字信号处理器(DSP)等各种类型通用处理器,在此不做限定。
在一些实施例中,控制装置11可以与基座131集成在一起并位于基座131内(例如基座131下方),以便节约空间。但是在实际应用中,控制装置11还可以与基座131分开设置,或者控制装置11可部分与基座131集成在一起,另一部分与基座131分开。或者控制装置11也可采用其他设置方式,与各个运动臂通信连接并能对各运动臂进行控制。
在一些实施例中,本公开提供了一种计算机可读存储介质,计算机可读存储介质可以包括至少一个指令,至少一个指令由处理器执行以将处理器配置为执行以上任何实施例中的控制方法。
在一些实施例中,本公开提供了一种计算机系统,可以包括非易失性存储介质和至少一个处理器。非易失性存储介质可以包括至少一个指令。处理器被配置为执行至少一个指令以执行以上任何实施例中的控制方法。
在一些实施例中,计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。
在一些实施例中,计算机可读取存储介质可以包括但不限于:便携式计算机盘、硬盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(DVD)、HD-DVD、蓝光(Blue-Ray)或其他光存储设备、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他介质,其上存储有计算机可执行指令,计算机可执行指令在机器(例如计算机设备)中运行时,使得机器执行本公开的控制方法。应当理解,计算机设备可以包括个人计算机、服务器或者网络设备等。
本公开的一些实施例,能够有助于优化术前准备过程中运动臂的摆位,可以根据一个运动臂的实时位姿计算出其他运动臂的目标位姿并使其运动至该目标位姿,从而实现自动化程度较高的术前摆位过程。
本公开的一些实施例,在实时计算出其他运动臂的目标位姿后,还可以以特定的规划方式防止运动臂在运动过程中发生干涉,使该运动臂精确、快速、安全地到达目标位置,从而实现高效安全的手术术前准备。
本公开的一些实施例,多个运动臂的末端以整体方式运动,并在运动过程中能够 保持多个运动臂的末端的相对位姿关系不变,以快速准确地实现多个运动臂的运动。在术中,通过多个运动臂整体运动,还可以实现安装于多个运动臂上的手术器械的位姿快速调整,可以降低用户(例如医生)的操作难度,以提高术前或术中的工作效率。
本公开还公开了以下:
1.一种用于机器人系统的控制方法,所述机器人系统包括多个运动臂,所述控制方法包括:
基于操作命令,选择所述机器人系统的多个运动臂中的一个或多个作为目标运动臂;
确定一个或多个所述目标运动臂的初始位姿;
基于所述操作命令和一个或多个所述目标运动臂的初始位姿,确定一个或多个所述目标运动臂的目标位姿;以及
基于插值法,确定一个或多个所述目标运动臂从所述初始位姿到所述目标位姿的运动路径,所述运动路径包括至少一个运动阶段。
2.根据第1项所述的控制方法,还包括:
基于约束关系,对于每个运动阶段,判断一个或多个所述目标运动臂之间或与所述多个运动臂的其他运动臂之间是否会形成干涉关系。
3.根据第2项所述的控制方法,所述约束关系包括以下中的至少一项:
所述目标运动臂与所述多个运动臂的其他运动臂之间的相对位置顺序关系符合预定的相对位置顺序关系;
与所述目标运动臂相关联的预定点和与所述目标运动臂相应的一个或多个运动臂上相关联的预定点之间的距离大于预定的安全距离;
与所述目标运动臂相关联的预定线段和与所述目标运动臂相应的一个或多个运动臂上相关联的预定线段之间的距离大于预定的安全距离;或者
所述目标运动臂的一个或多个关节的关节值和与所述目标运动臂相应的一个或多个运动臂的相应关节的关节值之间的差值大于预定的安全值。
4.根据第1-3项中的任一项所述的控制方法,基于所述操作命令和一个或多个所述目标运动臂的初始位姿,确定一个或多个所述目标运动臂的目标位姿包括:
基于操作命令和一个或多个所述目标运动臂的初始位姿,确定一个或多个所述目标运动臂的末端的目标位姿;以及
基于一个或多个所述目标运动臂的末端的目标位姿和逆运动学模型,确定一个或多个所述目标运动臂的目标位姿。
5.根据第4项所述的控制方法,所述目标运动臂的所述末端的目标位姿包括以下 中的一项:
所述目标运动臂的末端臂的目标位置和目标姿态;
所述目标运动臂的远端运动中心机构(RCM机构)的目标位置和目标姿态;或
所述目标运动臂用于与辅助连接装置连接的末端的目标位置和目标姿态。
6.根据第4-5项中的任一项所述的控制方法,基于一个或多个所述目标运动臂的末端的目标位姿和逆运动学模型,确定一个或多个所述目标运动臂的目标位姿包括:对于每个目标运动臂,
选择多个关节之一作为特征关节;
设置所述特征关节的推荐目标关节值;以及
基于末端的目标位姿和推荐目标关节值,确定其他目标关节值。
7.根据第6项所述的控制方法,还包括:对于每个目标运动臂,
判断所述其他目标关节值是否在相应关节的关节运动范围之内;以及
响应于所述其他目标关节值中的至少一个不在相应关节的关节运动范围之内,将所述推荐目标关节值递增或递减预定的调整值,以调整所述推荐目标关节值。
8.根据第7项所述的控制方法,
响应于所述其他目标关节值都在相应关节的关节运动范围之内,基于所述推荐目标关节值和其他目标关节值,确定选择的所述目标运动臂的目标位姿。
9.根据第6-8项中的任一项所述的控制方法,所述特征关节为所述目标运动臂的多个关节中易于与相邻运动臂发生碰撞的关节。
10.根据第1-9项中的任一项所述的控制方法,所述操作命令由用户通过用户接口输入,用于控制所述目标运动臂运动或控制多个目标运动臂整体运动。
11.根据第1-10项中的任一项所述的控制方法,基于插值法确定一个或多个所述目标运动臂从所述初始位姿到所述目标位姿的运动路径包括:对于每个目标运动臂,
确定所述目标运动臂所包含的每一关节的关节步长;
基于每一关节的关节步长,确定所述目标运动臂在每个运动阶段的结束位姿;
基于每个运动阶段的结束位姿,确定所述目标运动臂的运动路径。
12.根据第11项所述的控制方法,确定所述目标运动臂所包含的每一关节的关节步长包括:
基于所述目标运动臂的所述初始位姿和所述目标位姿,确定所述目标位姿与所述初始位姿之间的差值;
基于所述差值中对应于每一关节的差值以及每一关节的关节步长极值,确定所述目标运动臂的每一关节的步数;
选择每一关节的步数中的最大步数作为目标关节步数;
基于所述目标运动臂的所述差值中每一关节的差值以及所述目标关节步数,确定每一关节的关节步长。
13.根据第1-12项中的任一项所述的控制方法,还包括:基于所述运动路径,通过至少一个运动控制循环,控制一个或多个所述目标运动臂从所述初始位姿运动到所述目标位姿,所述至少一个运动控制循环对应于所述至少一个运动阶段。
14.根据第13项所述的控制方法,还包括:
对于每个运动控制循环,
确定所述目标运动臂的每个关节的当前关节值;
基于所述目标运动臂的每个关节的当前关节值和关节步长,确定所述目标运动臂在每个运动控制循环的临时结束位姿;
将所述临时结束位姿中对应于所述目标运动臂的预定关节的临时结束关节值与预定关节插值域相比较;以及
响应于所述预定关节的临时结束关节值落在所述插值域内,将所述临时结束位姿作为所述目标运动臂在每个运动控制循环的结束位姿。
15.根据第14项所述的控制方法,还包括:
响应于所述预定关节的临时结束关节值不在所述插值域内,基于所述插值域,对所述临时结束关节值进行补偿使得所述临时结束关节值落在所述插值域内;以及
基于经补偿的临时结束关节值,确定所述目标运动臂的经补偿的临时结束位姿作为所述目标运动臂在每个运动控制循环的结束位姿。
16.根据第15项所述的控制方法,还包括:对于每个运动控制循环,
基于每个运动控制循环的结束位姿,判断一个或多个所述目标运动臂之间或与所述多个运动臂的其他运动臂之间是否会形成干涉关系;以及
响应于一个或多个所述目标运动臂之间或与所述多个运动臂的其他运动臂之间会形成所述干涉关系,控制一个或多个所述目标运动臂停止运动或发出警报信息。
17.根据第16项所述的控制方法,
响应于一个或多个所述目标运动臂之间或与所述多个运动臂的其他运动臂之间不会形成所述干涉关系,控制一个或多个所述目标运动臂运动到运动阶段的结束位姿。
18.一种机器人系统,包括:
多个运动臂;以及
控制装置,被配置成执行如第1-17项中的任一项所述的控制方法。
19.根据第18项所述的机器人系统,所述机器人系统还包括辅助连接装置,所述 辅助连接装置包括多个鞘管,所述多个鞘管能分别与所述多个运动臂的末端连接。
20.一种计算机可读存储介质,包括一个或多个指令,所述指令由处理器执行以执行根据如第1-17项中的任一项所述的控制方法。
21.一种计算机系统,包括:
存储器,用于存储至少一个指令;以及
处理器,被配置为执行所述至少一个指令以执行如第1-17项中的任一项所述的控制方法。
注意,上述仅为本公开的示例性实施例及所运用技术原理。本领域技术人员会理解,本公开不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本公开的保护范围。因此,虽然通过以上实施例对本公开进行了较为详细的说明,但是本公开不仅仅限于以上实施例,在不脱离本公开构思的情况下,还可以包括更多其他等效实施例,而本公开的范围由所附的权利要求范围决定。
Claims (19)
- 一种用于机器人系统的控制方法,所述机器人系统包括多个运动臂,所述控制方法包括:基于操作命令,选择所述机器人系统的多个运动臂中的一个或多个作为目标运动臂;确定一个或多个所述目标运动臂的初始位姿;基于所述操作命令和一个或多个所述目标运动臂的初始位姿,确定一个或多个所述目标运动臂的目标位姿;以及基于插值法,确定一个或多个所述目标运动臂从所述初始位姿到所述目标位姿的运动路径,所述运动路径包括至少一个运动阶段。
- 根据权利要求1所述的控制方法,其特征在于,还包括:基于约束关系,对每个运动阶段,判断一个或多个所述目标运动臂之间或与所述多个运动臂的其他运动臂之间是否会形成干涉关系。
- 根据权利要求2所述的控制方法,其特征在于,所述约束关系包括以下中的至少一项:所述目标运动臂与所述多个运动臂的其他运动臂之间的相对位置顺序关系符合预定的相对位置顺序关系;与所述目标运动臂相关联的预定点和与所述目标运动臂相应的一个或多个运动臂上相关联的预定点之间的距离大于预定的安全距离;与所述目标运动臂相关联的预定线段和与所述目标运动臂相应的一个或多个运动臂上相关联的预定线段之间的距离大于预定的安全距离;或者所述目标运动臂的一个或多个关节的关节值和与所述目标运动臂相应的一个或多个运动臂的相应关节的关节值之间的差值大于预定的安全值。
- 根据权利要求1所述的控制方法,其特征在于,基于所述操作命令和一个或多个所述目标运动臂的初始位姿,确定一个或多个所述目标运动臂的目标位姿包括:基于操作命令和一个或多个所述目标运动臂的初始位姿,确定一个或多个所述目标运动臂的末端的目标位姿;以及基于一个或多个所述目标运动臂的末端的目标位姿和逆运动学模型,确定一个或多个所述目标运动臂的目标位姿。
- 根据权利要求4所述的控制方法,其特征在于,所述目标运动臂的所述末端的目标位姿包括以下中的一项:所述目标运动臂的末端臂的目标位置和目标姿态;所述目标运动臂的远端运动中心机构(RCM机构)的目标位置和目标姿态;或所述目标运动臂用于与辅助连接装置连接的末端的目标位置和目标姿态。
- 根据权利要求4所述的控制方法,其特征在于,基于一个或多个所述目标运动臂的末端的目标位姿和逆运动学模型,确定一个或多个所述目标运动臂的目标位姿包括:对于每个目标运动臂,选择多个关节之一作为特征关节;设置所述特征关节的推荐目标关节值;以及基于末端的目标位姿和推荐目标关节值,确定其他目标关节值。
- 根据权利要求6所述的控制方法,其特征在于,还包括:对于每个目标运动臂,判断所述其他目标关节值是否在相应关节的关节运动范围之内;以及响应于所述其他目标关节值中的至少一个不在相应关节的关节运动范围之内,将所述推荐目标关节值递增或递减预定的调整值,以调整所述推荐目标关节值。
- 根据权利要求6所述的控制方法,其特征在于,所述特征关节为所述目标运动臂的多个关节中易于与相邻运动臂发生碰撞的关节。
- 根据权利要求1所述的控制方法,其特征在于,所述操作命令由用户通过用户接口输入,用于控制所述目标运动臂运动或控制多个目标运动臂整体运动。
- 根据权利要求1所述的控制方法,其特征在于,基于插值法确定一个或多个所述目标运动臂从所述初始位姿到所述目标位姿的运动路径包括:对于每个目标运动臂,确定所述目标运动臂所包含的每一关节的关节步长;基于每一关节的关节步长,确定所述目标运动臂在每个运动阶段的结束位姿;基于每个运动阶段的结束位姿,确定所述目标运动臂的运动路径。
- 根据权利要求10所述的控制方法,其特征在于,确定所述目标运动臂所包含的每一关节的关节步长包括:基于所述目标运动臂的所述初始位姿和所述目标位姿,确定所述目标位姿与所述初始位姿之间的差值;基于所述差值中对应于每一关节的差值以及每一关节的关节步长极值,确定所述目标运动臂的每一关节的步数;选择每一关节的步数中的最大步数作为目标关节步数;以及基于所述目标运动臂的所述差值中每一关节的差值以及所述目标关节步数,确定每一关节的关节步长。
- 根据权利要求1所述的控制方法,其特征在于,还包括:基于所述运动路径,通过至少一个运动控制循环,控制一个或多个所述目标运动臂从所述初始位姿运动到所述目标位姿,所述至少一个运动控制循环对应于所述至少一个运动阶段。
- 根据权利要求12所述的控制方法,其特征在于,还包括:对于每个运动控制循环,确定所述目标运动臂的每个关节的当前关节值;基于所述目标运动臂的每个关节的当前关节值和关节步长,确定所述目标运动臂在每个运动控制循环的临时结束位姿;将所述临时结束位姿中对应于所述目标运动臂的预定关节的临时结束关节值与预定关节插值域相比较;以及响应于所述预定关节的临时结束关节值落在所述插值域内,将所述临时结束位姿作为所述目标运动臂在每个运动控制循环的结束位姿。
- 根据权利要求13所述的控制方法,其特征在于,还包括:响应于所述预定关节的临时结束关节值不在所述插值域内,基于所述插值域,对所述临时结束关节值进行补偿使得所述临时结束关节值落在所述插值域内;以及基于经补偿的临时结束关节值,确定所述目标运动臂的经补偿的临时结束位姿作为所述目标运动臂在每个运动控制循环的结束位姿。
- 根据权利要求14所述的控制方法,其特征在于,还包括:对于每个运动控制循环,基于每个运动控制循环的结束位姿,判断一个或多个所述目标运动臂之间或与所述多个运动臂的其他运动臂之间是否会形成干涉关系;以及响应于一个或多个所述目标运动臂之间或与所述多个运动臂的其他运动臂之间会形成所述干涉关系,控制一个或多个所述目标运动臂停止运动或发出警报信息。
- 根据权利要求15所述的控制方法,其特征在于,响应于一个或多个所述目标运动臂之间或与所述多个运动臂的其他运动臂之间不会形成所述干涉关系,控制一个或多个所述目标运动臂运动到运动阶段的结束位姿。
- 一种机器人系统,包括:多个运动臂;以及控制装置,所述控制装置被配置成基于操作命令,选择所述多个运动臂中的一个或多个作为目标运动臂,确定一个或多个所述目标运动臂的初始位姿;基于所述操作命令和一个或多个所述目标运动臂的初始位姿,确定一个或多个所述目标运动臂的目标位姿;以及基于插值法,确定一个或多个所述目标运动臂从所述初始位姿到所述目标位姿的运动路径,所述运动路径包括至少一个运动阶段。
- 根据权利要求17所述的机器人系统,其特征在于,所述机器人系统还包括辅助连接装置,所述辅助连接装置包括多个鞘管,所述多个鞘管能分别与所述多个运动臂的末端连接。
- 一种计算机可读存储介质,包括一个或多个指令,所述指令由处理器执行以执行用于机器人系统的控制方法,所述机器人系统包括多个运动臂,所述控制方法包括:基于操作命令,选择所述机器人系统的多个运动臂中的一个或多个作为目标运动臂;确定一个或多个所述目标运动臂的初始位姿;基于所述操作命令和一个或多个所述目标运动臂的初始位姿,确定一个或多个所述目标运动臂的目标位姿;以及基于插值法,确定一个或多个所述目标运动臂从所述初始位姿到所述目标位姿的运动路径,所述运动路径包括至少一个运动阶段。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010837232.8 | 2020-08-19 | ||
| CN202010837232 | 2020-08-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022037392A1 true WO2022037392A1 (zh) | 2022-02-24 |
Family
ID=80283162
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/109713 Ceased WO2022037392A1 (zh) | 2020-08-19 | 2021-07-30 | 机器人系统以及控制方法 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN114073588B (zh) |
| WO (1) | WO2022037392A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116000952A (zh) * | 2023-01-18 | 2023-04-25 | 华中科技大学 | 一种双机器人协作喷涂时的最优初始加工位姿确定方法 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118163094B (zh) * | 2024-03-05 | 2025-12-09 | 哈尔滨思哲睿智能医疗设备股份有限公司 | 机器人主手关节角度确定方法、装置、机器人及介质 |
| CN120770881B (zh) * | 2025-09-08 | 2025-11-14 | 骨圣元化机器人(深圳)有限公司 | 机器人控制方法、装置及计算机程序产品 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150033473A (ko) * | 2013-09-24 | 2015-04-01 | 삼성전자주식회사 | 로봇 및 그 제어방법 |
| CN105455901A (zh) * | 2015-11-20 | 2016-04-06 | 清华大学 | 针对手术机器人的避障规划方法和避障规划系统 |
| CN106361440A (zh) * | 2016-08-31 | 2017-02-01 | 北京术锐技术有限公司 | 一种柔性手术工具系统及其在运动约束下的控制方法 |
| CN107427328A (zh) * | 2016-01-22 | 2017-12-01 | 奥林巴斯株式会社 | 医疗用机械手系统 |
| CN109397244A (zh) * | 2018-11-23 | 2019-03-01 | 华中科技大学 | 一种一体化双7自由度机械臂全向移动机器人系统与控制方法 |
| CN109620410A (zh) * | 2018-12-04 | 2019-04-16 | 微创(上海)医疗机器人有限公司 | 机械臂防碰撞的方法及系统、医疗机器人 |
| CN110464471A (zh) * | 2019-09-10 | 2019-11-19 | 深圳市精锋医疗科技有限公司 | 手术机器人及其末端器械的控制方法、控制装置 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109591014B (zh) * | 2018-12-18 | 2020-06-23 | 武汉科技大学 | 一种双臂协作机器人的双臂协调搬运方法 |
-
2021
- 2021-07-30 CN CN202110872601.1A patent/CN114073588B/zh active Active
- 2021-07-30 WO PCT/CN2021/109713 patent/WO2022037392A1/zh not_active Ceased
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150033473A (ko) * | 2013-09-24 | 2015-04-01 | 삼성전자주식회사 | 로봇 및 그 제어방법 |
| CN105455901A (zh) * | 2015-11-20 | 2016-04-06 | 清华大学 | 针对手术机器人的避障规划方法和避障规划系统 |
| CN107427328A (zh) * | 2016-01-22 | 2017-12-01 | 奥林巴斯株式会社 | 医疗用机械手系统 |
| CN106361440A (zh) * | 2016-08-31 | 2017-02-01 | 北京术锐技术有限公司 | 一种柔性手术工具系统及其在运动约束下的控制方法 |
| CN109397244A (zh) * | 2018-11-23 | 2019-03-01 | 华中科技大学 | 一种一体化双7自由度机械臂全向移动机器人系统与控制方法 |
| CN109620410A (zh) * | 2018-12-04 | 2019-04-16 | 微创(上海)医疗机器人有限公司 | 机械臂防碰撞的方法及系统、医疗机器人 |
| CN110464471A (zh) * | 2019-09-10 | 2019-11-19 | 深圳市精锋医疗科技有限公司 | 手术机器人及其末端器械的控制方法、控制装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116000952A (zh) * | 2023-01-18 | 2023-04-25 | 华中科技大学 | 一种双机器人协作喷涂时的最优初始加工位姿确定方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN114073588B (zh) | 2025-05-30 |
| CN114073588A (zh) | 2022-02-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114073585B (zh) | 机器人系统以及控制方法 | |
| US11013565B2 (en) | Surgical robotic system and control of surgical robotic system | |
| CN107072864B (zh) | 用于配准到手术台的系统及方法 | |
| WO2022037392A1 (zh) | 机器人系统以及控制方法 | |
| KR102869641B1 (ko) | 툴 포즈를 유지하는 시스템 및 방법 | |
| JP2018110873A (ja) | 画像キャプチャ装置及び操作可能な装置可動アームの制御された動作の間の衝突回避 | |
| KR101812297B1 (ko) | 로봇의 마스터 조작 디바이스 및 이를 구비한 수술용 로봇의 제어방법 | |
| CN116649992B (zh) | 用于医学技术的机器人系统的轨迹规划 | |
| WO2022037356A1 (zh) | 机器人系统以及控制方法 | |
| CN115089302A (zh) | 手术机器人系统及方法 | |
| CA3125185A1 (en) | Systems and methods to optimize reachability, workspace, and dexterity in minimally invasive surgery | |
| CN114073587B (zh) | 机器人系统以及控制方法 | |
| CN116076984A (zh) | 内窥镜视野调整方法、控制系统及可读存储介质 | |
| CN115429432B (zh) | 可读存储介质、手术机器人系统和调整系统 | |
| CN114073586B (zh) | 机器人系统以及控制方法 | |
| CN115192196B (zh) | 计算机可读存储介质及手术机器人系统 | |
| CN119388416B (zh) | 一种结合导纳控制器的腹腔镜运镜方法及系统 | |
| CN217040289U (zh) | 一种双机械臂机构及机器人 | |
| CN117503360A (zh) | 手术床与手术机器人的联动系统 | |
| JP2025152923A (ja) | 手術ロボットシステムおよびその制御方法 | |
| JP2025152922A (ja) | 手術ロボットシステムおよびその制御方法 | |
| CN121041043A (zh) | 一种手术机器人系统的控制方法、装置及手术机器人系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21857487 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21857487 Country of ref document: EP Kind code of ref document: A1 |