WO2023246907A1 - 机械臂的控制方法、医疗系统、计算机设备 - Google Patents

机械臂的控制方法、医疗系统、计算机设备 Download PDF

Info

Publication number
WO2023246907A1
WO2023246907A1 PCT/CN2023/101862 CN2023101862W WO2023246907A1 WO 2023246907 A1 WO2023246907 A1 WO 2023246907A1 CN 2023101862 W CN2023101862 W CN 2023101862W WO 2023246907 A1 WO2023246907 A1 WO 2023246907A1
Authority
WO
WIPO (PCT)
Prior art keywords
target
robotic arm
preset
current
joint position
Prior art date
Application number
PCT/CN2023/101862
Other languages
English (en)
French (fr)
Inventor
孙晓军
王家寅
苗燕楠
Original Assignee
上海微创医疗机器人(集团)股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 上海微创医疗机器人(集团)股份有限公司 filed Critical 上海微创医疗机器人(集团)股份有限公司
Publication of WO2023246907A1 publication Critical patent/WO2023246907A1/zh

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B34/37Master-slave robots
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/76Manipulators having means for providing feel, e.g. force or tactile feedback
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/77Manipulators with motion or force scaling

Definitions

  • This manual belongs to the field of medical robot technology, especially involving control methods of robotic arms, medical systems, and computer equipment.
  • a medical device for example, a medical robot
  • the medical device will directly stop exerting force on the robotic arm. At this time, the robotic arm will fall down naturally.
  • the robotic arm is prone to collision when it naturally falls, thereby causing damage to the robotic arm.
  • subsequent users want to use the medical equipment again, they often need to drag the robotic arm back to the appropriate location by themselves. It can only be started at the correct location, which causes inconvenience to the user in subsequent use.
  • This manual provides control methods, medical systems, and computer equipment for robotic arms.
  • it can automatically control the target robotic arm of the target system in an appropriate manner when it is determined that entering safe mode or malfunctioning abnormality meets the preset trigger conditions.
  • the method is maintained at a suitable position to facilitate subsequent use by doctors and users; on the other hand, it can also effectively reduce damage to the robotic arm caused by collisions during operation and better protect the robotic arm.
  • Embodiments of this specification provide a control method for a robotic arm, which includes: detecting whether the preset trigger conditions are met; and when it is determined that the preset trigger conditions are met, controlling the target robotic arm according to the preset control rules. The matching manner is maintained at the corresponding position; wherein the preset control rules include at least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules.
  • Embodiments of this specification also provide a medical system, which at least includes a robotic arm and a control device, wherein the control device is used to control the robotic arm to maintain it at a corresponding position in a matching manner using the control method of the robotic arm.
  • Embodiments of this specification also provide a computer-readable storage medium on which computer instructions are stored. When the instructions are executed, the relevant steps of the control method of the robotic arm are implemented.
  • the target robotic arm is controlled to maintain at the corresponding position in a matching manner according to the preset control rules; wherein the preset control rules include at least one of the following: preset return control rules , preset suspension control rules, and preset maintenance control rules.
  • the target system can automatically and timely control the target robotic arm to maintain it at the appropriate position in an appropriate manner to facilitate the user. It can be used again later; on the other hand, it can also effectively reduce the damage to the robotic arm caused by collisions during operation and better protect the robotic arm.
  • Matching control rules are automatically selected from the preset return control rules, preset suspension control rules, and preset maintenance control rules to accurately control the target robotic arm, allowing users to obtain a relatively better interactive experience.
  • the external force on the target robotic arm is detected by introducing and utilizing a preset external force observation algorithm.
  • additional new sensors such as stress sensors, acceleration sensors, etc.
  • Only the existing sensors of the robotic arm can be used efficiently and accurately at a lower cost. Detect the external force exerted by the target robotic arm during its movement.
  • Figure 1 is a schematic flowchart of a control method for a robotic arm provided by an embodiment of this specification
  • Figure 2 is a schematic diagram of an embodiment of the structural composition of a doctor's console using the robotic arm control method provided by the embodiment of this specification;
  • Figure 3 is a schematic diagram of the target position and the preset operating interval of the target robotic arm determined when applying the robotic arm control method provided by the embodiment of this specification in an example scenario;
  • Figure 4 is a graph showing the relationship between the acceleration of the target robotic arm and time obtained during trajectory planning using the robotic arm control method provided by the embodiment of this specification in an example scenario;
  • Figure 5 is a graph showing the relationship between the position of the target robotic arm and time obtained during trajectory planning using the robotic arm control method provided by the embodiment of this specification in an example scenario;
  • Figure 6 is a graph showing the relationship between the speed of the target robotic arm and time obtained during trajectory planning using the robotic arm control method provided by the embodiment of this specification in an example scenario;
  • Figure 7 is a schematic diagram of an embodiment in which the control method of the robotic arm provided by the embodiment of this specification is used to detect whether the target robotic arm collides during movement in an example scenario;
  • Figure 8 is a schematic diagram of an embodiment of a preset external force observation algorithm used when applying the control method of the robotic arm provided by the embodiment of this specification in a scene example;
  • Figure 9 is a schematic diagram of an embodiment in which the control method of the robotic arm provided by the embodiment of this specification is applied to control the target robotic arm according to the preset suspension control rules in a scene example;
  • Figure 10 is a schematic diagram of the joint position response curve obtained by applying the control method of the robotic arm provided by the embodiment of this specification in a scenario example when it is determined that there is no divergent motion trend;
  • Figure 11 is a schematic structural diagram of a computer device according to an embodiment of this specification.
  • Figure 12 is a schematic structural diagram of a control device for a robotic arm provided by an embodiment of this specification.
  • Figure 13 is a schematic structural diagram of a medical device provided by an embodiment of this specification.
  • an embodiment of this specification provides a method for controlling a robotic arm.
  • this method may include the following:
  • the target robotic arm is controlled to be maintained at the corresponding position in a matching manner according to the preset control rules; wherein the preset control rules include at least one of the following: preset control rules There are preset return control rules, preset suspension control rules, and preset maintenance control rules.
  • the above method for controlling a robotic arm can be specifically applied to the side of the target system where the robotic arm is provided.
  • the target system may specifically be a medical system, such as a surgical robot, a doctor's console (or doctor's trolley), a patient surgery platform, etc.
  • the target system listed above is only a schematic illustration.
  • the control method of the robotic arm provided in this manual can also be applied to other systems, such as assembly systems used for automated assembly in factories, etc.
  • the above-mentioned target robotic arm can specifically be understood as a robotic arm to be controlled that is provided in the target system.
  • doctor's console As an example for detailed explanation.
  • applications to other systems please refer to the embodiments applied to the doctor's console. This description will not be repeated in this manual.
  • the target robotic arm may specifically include the main robotic arm of the doctor's console (or the main end robotic arm).
  • the above-mentioned main hand robot arm may further include a right main hand robot arm and a left main hand robot arm.
  • the joints of the above-mentioned main manipulator arm may be made of flexible materials and have compliant characteristics.
  • the above-mentioned doctor's console may further include: an armrest (or doctor's armrest), a slave robotic arm (or slave robotic arm), a stereoscopic monitor, and other components.
  • the above-mentioned doctor console can also be equipped with sensors and controllers.
  • the above-mentioned sensors may specifically include: torque sensors, joint speed sensors, joint position sensors, etc.
  • the above-mentioned controllers may specifically include: variable stiffness controller (or compliance controller), critical damping brake controller, PD joint controller, zero force controller, etc.
  • the above-mentioned doctor console can also be provided with a processor.
  • doctor console mentioned above can also be connected to other systems.
  • the above-mentioned doctor's console can also be connected to systems such as patient surgery platforms and image platforms.
  • the processor of the doctor's console determines that the doctor's console enters the safe mode or an abnormality occurs, it determines that the preset trigger conditions are met.
  • the processor can collect relevant data through sensors.
  • the current position of the target robotic arm can be collected through joint position sensors. Joint positions, etc.; and determine matching preset control rules from the preset return control rules, preset suspension control rules, and preset maintenance control rules based on the above relevant data.
  • the processor can control the main hand robotic arm to stop moving through the corresponding controller according to the matching preset control rules; and control the main hand robotic arm to maintain the corresponding position in a matching manner to facilitate the user's subsequent movements. Use it again; at the same time, it can also reduce the damage caused by the collision of the main manipulator due to natural falling.
  • the above-mentioned satisfaction of the preset triggering conditions can be specifically understood to mean that the target system enters the safe mode, or the target system malfunctions abnormally, or other systems connected to the target system malfunction abnormally.
  • the above-mentioned detection of whether a preset trigger condition is met may specifically include: detecting whether the target system enters a safe mode; and, if it is determined that the target system enters a safe mode, determining that the preset trigger condition is met.
  • whether the target system enters the safe mode can be detected by querying and based on the data value identified by the current security mode of the target system.
  • the data value of the above safe mode identifier (for example, SafeFlag) may be stored in the memory of the target system or in the relevant log file of the target system.
  • the data value of the current security mode identification is the first data value (for example, "True”, or "1")
  • the target system enters the security mode
  • the data value is the second data value (for example, "False”, or "0")
  • the target system has not entered the safe mode.
  • a security prompt can also be initiated to remind the user that the target system currently enters the safe mode.
  • the above safety prompts may be sound prompts, image prompts, text prompts, etc.
  • the target system may first perform anomaly detection in real time or on a regular basis (for example, every 1 minute, etc.), and update the data value of the security mode identifier based on the anomaly detection results.
  • the above-mentioned abnormality detection may specifically include at least one of the following: abnormality detection of the target robotic arm in the target system; abnormality detection of other components in the target system except the target robotic arm; abnormality detection of other systems connected to the target system. abnormal detection.
  • the deviation value between the position value calculated by the joint code disk of the target robotic arm and the joint position value calculated by the motor code disk is greater than or equal to the preset deviation. Threshold; and/or, it is detected that the joint code disk or motor code disk feedback data of the target robotic arm jumps; and/or, it is detected that the joint position of the target robotic arm exceeds the preset safe position range; and/or Or, it is detected that the joint speed of the target robotic arm is greater than the preset speed threshold; and/or, it is detected that the joint output torque of the target robotic arm is greater than the preset torque threshold, etc., and it is determined that a fault abnormality exists. Furthermore, the data value of the security mode identifier can be updated from the second data value to the first data value.
  • abnormal indication information about the slave robotic arm in the target system is detected; and/or, an error report from the stereoscopic monitor in the target system is detected. If prompted, etc., it is determined that there is an abnormality. Furthermore, the data value of the security mode identifier can be updated from the second data value to the first data value.
  • an error message is detected about the endoscopic image processor of the image platform; and/or, abnormal indication information about the tool arm of the patient's surgical platform is detected; and /Or, when the security prompt information of other systems is detected, it is determined that there is a fault anomaly.
  • the data value of the security mode identifier can be updated from the second data value to the first data value.
  • the preset trigger conditions when specifically detecting whether the preset trigger conditions are met, it can also be determined that the preset trigger conditions are met when abnormal indication information or error prompts are detected from the target system or other systems connected to the target system; Or, when a pause instruction from the user is detected, it is determined that a preset trigger condition is met.
  • the above-mentioned preset control rules can be specifically understood as a control rule for the movement position and movement mode of the robotic arm.
  • the above-mentioned preset control rules may include at least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules.
  • the robotic arm can be automatically controlled to first move back to the target position and then maintain it at the target position to facilitate the user's subsequent use.
  • the robotic arm can be controlled to remain stationary at the current joint position; and a certain torque is provided to the robotic arm so that the user can easily and conveniently drag the robotic arm to the desired position.
  • the robotic arm can be controlled to stop at the current joint position; and the robotic arm can be locked at the current joint position to avoid damage caused by collision due to the automatic movement of the robotic arm.
  • a matching preset control rule when it is determined that the target system satisfies the preset trigger conditions, a matching preset control rule can be determined from multiple preset control rules according to the specific situation and operation requirements; and further, a matching preset control rule can be determined according to the specific situation and operation requirements. Matching the preset control rules, the target robotic arm is controlled to be maintained at the corresponding position in a matching manner to meet the needs of diverse scenarios.
  • the target robotic arm is controlled to be maintained at the corresponding position in a matching manner.
  • Specific implementation may include the following:
  • the above-mentioned preset operation interval can be specifically understood as the optimal remote control interval (or optimal operation interval) suitable for the target robotic arm operated by the user.
  • the specific range of the above-mentioned preset operation interval can be flexibly determined according to the structural attributes of the target robotic arm and/or the user's personal usage habits.
  • the above-mentioned target position (which may also be called zero position, or zero point position) may specifically include: an initial position or a custom position.
  • the above-mentioned initial position may specifically be the default position where the target robotic arm stays after power-on self-test.
  • the above-mentioned custom location may be a location customized by the user. For example, based on their own usage habits, the user feels that position A in the preset operation interval is more convenient than the initial position, and can set position A as the target position by initiating the corresponding setting operation.
  • the above current joint position can specifically be understood as the position of the joint of the target robotic arm when the preset triggering conditions are determined.
  • the current joint position of the target robotic arm can be collected through the joint position sensor; and then it is detected whether the current joint position of the target robotic arm falls within the preset operating interval.
  • only the target joint of the target machine can be collected through the joint position sensor. the current joint position of the target joint; and then detect whether the current joint position of the above-mentioned target joint falls within the preset operating interval.
  • the target robotic arm When it is detected that the current joint position of the target robotic arm does not belong to the preset operating interval, it can be predicted that when the subsequent user uses the target robotic arm of the target system again, he or she will need to restore the target robotic arm to the preset operating interval. , can be used. In order to simplify user operations, you can select and automatically control the target robot arm to move in a matching manner and maintain it at the target position according to the preset return control rules, so as to facilitate the user's subsequent use; at the same time, it can also reduce the number of target robot arms. Probability of collision.
  • the method may also include the following when implemented:
  • the Cartesian position of the target robotic arm can first be calculated through the forward kinematic solution, which is recorded as CartPos1 (abbreviated as CartP1); and then the Cartesian position of the target robotic arm can be calculated.
  • the distance from the target position, as the distance between the current joint position of the target manipulator and the target position, is recorded as D1; then D1 is compared numerically with the preset distance threshold (for example, D0).
  • the above-mentioned preset distance threshold can be flexibly set according to the structural attributes of the target robotic arm and the user's usage habits.
  • D1 is greater than D0
  • D0 it can be predicted that it will be inconvenient for the user to use the target robotic arm again, and there is a high probability that the target robotic arm will need to be restored to the target position before use.
  • D1 is less than or equal to D0
  • D0 it can be predicted that the user can directly use the target robotic arm at the current joint position in the future without additional drag recovery.
  • a control rule selection request can be sent to the user first; and then the user can be determined based on the feedback result of the control rule selection request by the user.
  • the above-mentioned control of the target robotic arm to move in a matching manner and maintain it at the target position is based on the preset return control rules.
  • Specific implementation may include the following:
  • S2 Based on the current joint position and target position of the target robotic arm, generate the target return path through trajectory planning; where the starting point of the target return path is the current joint position of the target robotic arm, and the end point is the target position;
  • S2 Control the target robotic arm to move to the target position according to the target return path; and maintain the target robotic arm at the target position.
  • the above-mentioned return path can be specifically understood as a path trajectory with the current joint position as the starting point and the target position as the end point.
  • the target return path may be generated according to a preset trajectory planning algorithm.
  • the preset trajectory planning algorithm may specifically include at least one of the following: a T-shaped trajectory planning algorithm, a polynomial method trajectory planning algorithm, or a B-spline trajectory planning algorithm.
  • q(t) is the joint position motion path of the target robotic arm
  • q i is the starting point of the path
  • q c is the joint position of the target robotic arm
  • q f is the end point of the path
  • t c is the joint acceleration time of the target robotic arm
  • t f is the movement time of the target robotic arm
  • t j is The joint deceleration time of the target robotic arm.
  • the acceleration and speed of the target machine can be controlled through the corresponding controller to accurately move the target robot arm to the target position.
  • the target robotic arm can be moved to the target position in a relatively compliant manner based on the target return path through the variable stiffness controller; and the target robotic arm can be maintained at the target position through the variable stiffness controller. This can effectively reduce collisions during movement and damage to the robotic arm caused by collisions.
  • the method may also include the following: sampling track points on the target return path to obtain multiple sampling points; Carry out collision detection; when it is determined that at least one sampling point among multiple sampling points has a collision, adjust the target return path.
  • the target return path can be adjusted to avoid the sampling point where the collision occurs, so as to obtain the adjusted target return path. Further, collision detection can be performed again on the adjusted target return path until a target return path without a collision sampling point is obtained. In this way, a target return path with a smaller expected collision probability can be obtained, and then the target robotic arm can be moved to the target position relatively safely based on the target return path.
  • the following content may also be included:
  • the preset emergency treatment includes at least one of the following: reducing the moving speed of the target robotic arm, executing the compliance control mode, Regenerate the target return path.
  • existing sensors can also be used to detect whether the target robotic arm collides during the movement, and when a collision of the target robotic arm is detected, timely Carry out preset emergency treatment to effectively avoid subsequent collisions, or reduce the damage to the robotic arm caused by the collision, so as to better protect the robotic arm.
  • the target robotic arm it is possible to determine whether a collision occurs during the movement of the target robotic arm by monitoring the changes in data collected by sensors such as joint position sensors, joint speed sensors, and torque sensors. It is also possible to use prediction data based on the data collected by the above sensors.
  • the external force observation algorithm is designed to determine the external force experienced by the target robotic arm; and then based on the external force received, it is determined whether the target robotic arm collides during its movement.
  • the above-mentioned preset external force observation algorithm can be specifically understood as an algorithm that calculates the external force experienced by the object based on non-mechanical parameters such as speed and momentum of the object.
  • a collision prompt about the target robotic arm can also be generated and initiated, prompting the user that the target robotic arm collides in a timely manner so that the user can respond when necessary.
  • Manual operation is performed below, or the most appropriate preset emergency treatment method is manually selected to further reduce collision damage to the target robotic arm.
  • the above collision prompt may be an alarm prompt, an image prompt, a text message prompt, etc.
  • the above-mentioned detection of whether the target robotic arm collides during movement may include the following:
  • the minimum envelope for the target robotic arm can be determined as the target envelope based on the CAD three-dimensional model of the target robotic arm; wherein, the target envelope may specifically include : cuboid, cylinder or other suitable geometric shapes.
  • the minimum envelope of other components in the target system except the target robotic arm is determined as the obstacle envelope. Then, during each control cycle of the target manipulator, it is possible to monitor whether the target envelope and the obstacle envelope interfere with each other, and obtain the corresponding kinematic detection results. According to the kinematic detection results, when it is determined that the target envelope body interferes with the obstacle envelope body, To determine if the target robot arm collides during its movement.
  • the target robot arm can be more accurately determined by predicting and based on the external force experienced by the target robot arm according to the preset external force observation algorithm. Whether the arm collides during movement.
  • the above-mentioned method determines whether the target robotic arm collides during its movement based on the preset external force observation algorithm.
  • Specific implementation may include the following:
  • the external force experienced by the target robotic arm in the current control cycle can be obtained in the following manner according to the preset external force observation algorithm: first, obtain and use the relevant data collected by the sensor to obtain and use the external force of the target robotic arm in the current control cycle. Based on the joint position, joint speed and joint torque (or driving torque), based on the dynamics model, the deviation between the theoretical momentum and the actual momentum of the target robotic arm in the current control cycle is calculated; then based on the theoretical momentum and actual momentum of the target robotic arm in the current control cycle The deviation of the actual momentum is used to calculate the external force experienced by the target robotic arm in the current control cycle.
  • the external force received may specifically include: the drag force of the target robotic arm, and the contact force formed when the target robotic arm comes into contact with other components.
  • r is the observed value of the external force experienced by the target manipulator in the current control cycle
  • K 1 and K 2 are the first gain coefficient and the second gain coefficient respectively
  • e is the theoretical momentum and actual momentum of the target manipulator in the current control cycle. Momentum bias.
  • the accuracy of the determined external force can be adjusted by adjusting the specific values of the first gain coefficient and the second gain coefficient according to the specific situation.
  • the external force on the target robotic arm can be accurately determined using only the data collected by the existing sensors without the need to add additional sensors or use joint acceleration, effectively reducing the processing cost. .
  • the external force TorExt received in each control cycle can be compared with the preset external force threshold (which can be recorded as TorExtMax).
  • the preset external force threshold which can be recorded as TorExtMax.
  • the compliance control mode when it is determined that the target robotic arm collides during movement, the compliance control mode is executed.
  • Specific implementation may include the following:
  • S1 Collect the current joint position (for example, q), current joint speed (for example, v) and current joint torque (for example, TorCur) of the target manipulator;
  • the above-mentioned method of determining the current external force experienced by the target robotic arm based on the preset external force observation algorithm may include: obtaining the current joint position (for example, q), the current joint speed (for example, v), and the current joint position of the target robotic arm.
  • Torque for example, TorCur
  • the preset external force observation algorithm use the current joint position, current joint speed and current joint moment of the target robotic arm to calculate the current external force (for example, TorExt) experienced by the target robotic arm.
  • the calculated compliance position can be recorded as: CmpPos
  • the target position can be recorded as: JointAim.
  • You can add the compliance position to the target position to obtain the corrected target position: JointPos JointAim+CmpPos.
  • the target robotic arm can be controlled to move to the corrected target position through a joint controller (for example, a variable stiffness controller) to reduce collisions during the movement.
  • a joint controller for example, a variable stiffness controller
  • the contact force of the target robotic arm can be determined by calculating the external force; and then through the compliance process in the above way Control and correct the target positions of the joints of the target robotic arm to effectively avoid collisions with obstacles such as other components during the movement of the target robotic arm.
  • the joints of the above-mentioned target robotic arm can also be made of flexible materials, which have flexible characteristics and can deform to a certain extent. Therefore, when moving the target manipulator through the variable stiffness controller, when it is detected that the target manipulator collides with an obstacle, the flexibility characteristics of the joints of the target manipulator can be used to follow the obstacle that the target manipulator contacts. The surface of the object slides to further reduce the impact of the collision on the target robotic arm and reduce the damage caused by the collision to the target robotic arm, thereby better protecting the target robotic arm.
  • the moving speed of the target robotic arm can also be reduced according to a preset deceleration rule to reduce damage to the target robotic arm caused by the collision.
  • the preset deceleration rules may be determined in advance by sorting and learning historical movement records of a large number of sample robot arms.
  • the location of the collision when it is determined that the target robotic arm collides during movement, the location of the collision can also be determined; and based on the location of the collision, trajectory planning can be re-performed in a targeted manner to regenerate a more accurate Good target return path to reduce collisions. Furthermore, the target robotic arm can be subsequently controlled to move to the target position based on the regenerated target return path.
  • the target robotic arm is controlled to maintain the current joint position in a matching manner according to the preset suspension control rules.
  • Specific implementation may include the following:
  • determining the target joint torque for the target robotic arm in the current state based on the current joint position and current joint speed of the target robotic arm may specifically include: based on the dynamics model, using the current joint position to determine the target The joint gravity in the current state of the robotic arm; based on the current joint speed, calculate the damping force used to stop the movement of the target robotic arm in the current state; based on the joint gravity and damping force, determine the target joint torque for the target robotic arm in the current state .
  • the gravity GraTor of each joint of the target robotic arm in the current state can be calculated based on the dynamics model.
  • the damping force DampTor that can quickly stop the target robot arm from the current motion mode is determined.
  • the above-mentioned target joint torque can be output through the zero-force controller, so that the target robotic arm quickly stops moving under the action of the damping force; at the same time, the shutdown of the target robotic arm will not be locked, but will be suspended in a suspended state.
  • the target robotic arm remains at the current joint position.
  • the user can easily move the target robotic arm to any position by manual dragging, while keeping the posture joints of the target robotic arm consistent with the posture of the slave robotic arm.
  • the above-mentioned control of the target robotic arm to maintain the current joint position in a matching manner according to the preset maintenance control rules may include the following:
  • S1 Collect the current joint position of the target robotic arm, and control the target robotic arm to maintain the current joint position
  • the current joint position of the target robotic arm can be collected and recorded as HoldJoint.
  • the target robotic arm is then maintained at the current joint position through the joint controller.
  • it will also monitor whether there is a divergent movement trend in the target robotic arm based on the preset movement trend detection algorithm.
  • the critical damping brake controller can be used to lock the joint positions of the target robotic arm and perform brake operations to prevent the target robotic arm from continuing to move. This can effectively prevent the target robotic arm from being caused by Collisions caused by motion.
  • the critical damping brake controller uses a moderate braking force when locking the joint position of the target robotic arm, which can make the target robotic arm in a critical damping state.
  • the critical damping brake controller can stop the brake operation. Then you can continue to monitor whether the target robot arm has a divergent movement trend.
  • the target robotic arm can be controlled to maintain the current joint position in Hold mode.
  • Hold mode the shutdown of the target robotic arm will be locked.
  • the target robotic arm will not move under the action of external force, thus effectively avoiding damage caused by collision when the target robotic arm moves.
  • the above-mentioned monitoring of whether the target robotic arm has a divergent movement trend is based on a preset movement trend detection algorithm.
  • Specific implementation may include the following:
  • S1 Obtain the joint position response peak value of the target robotic arm at the first time point; and detect whether the joint position response peak value at the first time point is greater than the preset peak threshold;
  • the preset motion trend detection algorithm can be used to accurately determine whether the target robotic arm has a divergent motion trend.
  • HJ_P1, HJ_P2, HJ_P3, and HJ_P4 respectively represent the joint position response peak values at different time points.
  • the first joint position response peak value monitored at the current time point can be recorded as: ErrPosMax (obtain the joint position response at the first time point Peak); then compare ErrPosMax with HJEPS (preset peak threshold).
  • ErrPosMax is less than or equal to HJEPS, it is determined that there is no divergent motion trend currently, and then the joint position response peak value at the next time point can be collected to continue to monitor whether there is a divergent motion trend. If ErrPosMax is greater than HJEPS, collect the joint position response peak value at the next time point and record it as: ErrPosi (get the joint position response peak value at the second time point); then compare ErrPosi with HJEPS (preset peak threshold).
  • ErrPosi is less than or equal to HJEPS, continue to monitor whether there is a divergent movement trend. If ErrPosi is greater than HJEPS, ErrPosi is further compared with ErrPosMax.
  • ErrPosMax is smaller than ErrPosi, it can be determined that the target manipulator has a divergent movement trend.
  • ErrPosMax is greater than or equal to ErrPosi, it can be determined that there is no divergent motion trend currently, and then the joint position response peak value at the next time point can be collected to continue to monitor whether there is a divergent motion trend.
  • the data value of the divergent motion trend identifier can be updated from the original "false” to "true”.
  • the target system can determine whether there is divergent motion in the target manipulator by detecting the data value identified by the divergent motion trend. trend.
  • the control method of the robotic arm by first detecting whether the preset trigger conditions are met; when it is determined that the preset trigger conditions are met, the control method is then controlled according to the preset control rules.
  • the target robotic arm is maintained at the corresponding position in a matching manner; wherein the preset control rules include at least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules.
  • the target robotic arm when it is determined that the preset trigger conditions are met such as entering safe mode or a malfunction occurs, the target robotic arm can be automatically controlled to be maintained at the appropriate position in an appropriate manner to facilitate the user's subsequent use; on the other hand, On the other hand, it can also effectively reduce the damage to the robotic arm caused by collisions during operation and better protect the robotic arm.
  • the target robotic arm based on the current joint position of the target robotic arm, it can also be determined whether the current joint position of the target robotic arm belongs to the preset operating interval, and whether the distance between the current joint position of the target robotic arm and the target position is greater than the preset distance threshold. , intelligently select matching control rules from the preset return control rules, preset suspension control rules, and preset maintenance control rules to accurately control the target robotic arm, allowing users to obtain a better interactive experience.
  • the target robotic arm in the process of controlling the target robotic arm to move to the target position according to the target return path, it also detects whether the target robotic arm collides during the movement; and determines whether the target robotic arm collides during the movement. Under the circumstances, preset emergency treatment should be carried out in a timely manner to further reduce the damage to the robotic arm caused by collisions during operation and better protect the robotic arm.
  • a preset external force observation algorithm is introduced and used to detect the external force experienced by the target robotic arm. In this way, there is no need to add additional sensors or modify the original structure of the robotic arm.
  • the existing sensors of the robotic arm can be used to efficiently and accurately detect the movement of the target robotic arm at a low cost. the external force experienced.
  • Embodiments of this specification also provide a computer device, including a processor and a memory for storing instructions executable by the processor.
  • the processor can perform the following steps according to the instructions: detect whether a preset trigger condition is met; When it is determined that the preset triggering conditions are met, the target robotic arm is controlled to be maintained at the corresponding position in a matching manner according to the preset control rules; wherein the preset control rules include at least one of the following: preset return Position control rules, preset suspension control rules, and preset maintenance control rules.
  • the embodiment of this specification also provides another specific computer device, wherein the computer device includes a network communication port 1101, a processor 1102 and a memory 1103.
  • the computer device includes a network communication port 1101, a processor 1102 and a memory 1103.
  • the above-mentioned The structures are connected via internal cables so that specific data exchanges can occur between the structures.
  • the network communication port 1101 may be specifically used to obtain the data value of the security mode identifier.
  • the processor 1102 may be specifically configured to detect whether the preset trigger conditions are met based on the data value identified by the safe mode; if it is determined that the preset trigger conditions are met, control the target robotic arm according to the preset control rules. Maintained at the corresponding position in a matching manner; wherein the preset control rules include at least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules.
  • the memory 1103 may be specifically used to store corresponding instruction programs.
  • the network communication port 1101 may be a virtual port bound to different communication protocols so that different data can be sent or received.
  • the network communication port may be a port responsible for web data communication, or it may be The port responsible for FTP data communication can also be the port responsible for email data communication.
  • the network communication port may also be a physical communication interface or a communication chip.
  • it can be a wireless mobile network communication chip, such as GSM, CDMA, etc.; it can also be a Wifi chip; it can also be a Bluetooth chip.
  • the processor 1102 may be implemented in any suitable manner.
  • a processor may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (such as software or firmware) executable by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit ( Application Specific Integrated Circuit (ASIC), programmable logic controller and embedded microcontroller form, etc. This manual does not limit it.
  • the memory 1103 can include multiple levels.
  • anything that can save binary data can be a memory; in an integrated circuit, a circuit with a storage function that does not have a physical form is also called a memory. , such as RAM, FIFO, etc.; in the system, storage devices in physical form are also called memories, such as memory sticks, TF cards, etc.
  • Embodiments of this specification also provide a computer-readable storage medium based on the above-mentioned control method of the robotic arm.
  • the computer-readable storage medium stores computer program instructions.
  • the computer program instructions When executed, it is implemented: detecting whether Preset trigger conditions; when it is determined that the preset trigger conditions are met, the target robotic arm is controlled to be maintained at the corresponding position in a matching manner according to the preset control rules; wherein the preset control rules include at least the following One: preset return control rules, preset suspension control rules, and preset maintenance control rules.
  • the above-mentioned storage media includes but is not limited to random access memory (Random Access Memory, RAM), read-only memory (Read-Only Memory, ROM), cache (Cache), and hard disk (Hard Disk Drive, HDD). Or Memory Card.
  • the memory may be used to store computer program instructions.
  • the network communication unit may be an interface configured in accordance with the standards specified by the communication protocol and used for network connection communication.
  • inventions of this specification also provide a control device for a robotic arm.
  • the device may specifically include the following structural modules:
  • the detection module 1201 can be specifically used to detect whether preset trigger conditions are met;
  • the control module 1202 may specifically be used to control the target robotic arm to maintain at the corresponding position in a matching manner according to the preset control rules when it is determined that the preset trigger conditions are met; wherein the preset control rules include At least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules.
  • the above detection module 1201 when the above detection module 1201 is implemented, it can detect whether the preset trigger conditions are met in the following manner: detect whether the target system enters the safe mode; when it is determined that the target system enters the safe mode, determine whether the preset trigger conditions are met. trigger conditions.
  • the target system may specifically include a doctor's console, etc.; correspondingly, the target robotic arm may specifically include a main hand robotic arm of the doctor's console, etc.
  • the target robotic arm when the above-mentioned control module 1202 is implemented, can be controlled to maintain at the corresponding position in a matching manner according to the preset control rules in the following manner: detecting whether the current joint position of the target robotic arm belongs to default Operating interval; when it is determined that the current joint position of the target robotic arm does not belong to the preset operating interval, according to the preset return control rules, the target robotic arm is controlled to move in a matching manner and maintained at the target position.
  • control module 1202 when the above control module 1202 is implemented, after detecting whether the current joint position of the target robotic arm belongs to the preset operation interval, it can also be used to determine whether the current joint position of the target robotic arm belongs to the preset operation. interval, detect whether the distance between the current joint position of the target robotic arm and the target position is greater than the preset distance threshold; when it is determined that the distance between the current joint position of the target robotic arm and the target position is greater than the preset distance threshold, According to the preset return control rules, control the target robotic arm to move in a matching manner and maintain it at the target position; when it is determined that the distance between the current joint position of the target robotic arm and the target position is less than or equal to the preset distance threshold , according to the preset suspension control rules or the preset maintenance control rules, the target robotic arm is controlled to maintain at the current joint position in a matching manner.
  • the target location may specifically include an initial location or a custom location.
  • the target robotic arm can be controlled to move in a matching manner and maintained at the target position according to the preset return control rules in the following manner: Obtain the current position of the target robotic arm. Joint position and target position; according to the current joint position and target position of the target robotic arm, the target return path is generated through trajectory planning; among which, the starting point of the target return path is the current joint position of the target robotic arm, and the end point is the target position; control the target robotic arm to move to the target position according to the target return path; and maintain the target robotic arm at the target position.
  • control module 1202 when the above control module 1202 is implemented, after generating the target return path, it can also be used to sample trajectory points on the target return path to obtain multiple sampling points; Collision detection; when it is determined that at least one sampling point among multiple sampling points has a collision, adjust the target return path.
  • control module 1202 when the above control module 1202 is implemented, in the process of controlling the movement of the target robotic arm to the target position according to the target return path, it can also be used to detect whether the target robotic arm collides during the movement; When it is determined that the target robotic arm collides during its movement, preset emergency handling is performed; the preset emergency handling includes at least one of the following: reducing the moving speed of the target robotic arm, executing the compliance control mode, and regenerating Target return path.
  • control module 1202 when the above-mentioned control module 1202 is implemented, it can detect whether the target robotic arm collides during its movement in the following manner: perform kinematics detection on the target robotic arm to obtain the kinematics detection results; based on the kinematics detection results , determine whether the target robotic arm collides; when it is determined that the target robotic arm does not collide according to the kinematic detection results, it is determined whether the target robotic arm collides during the movement according to the preset external force observation algorithm.
  • the above control module 1202 when the above control module 1202 is implemented, it can determine whether the target robotic arm collides during movement according to the preset external force observation algorithm in the following manner: According to the preset external force observation algorithm, determine whether the target robotic arm collides The external force received in each control cycle; detecting whether the target robotic arm has received an external force greater than the preset external force threshold for a preset number of consecutive control cycles; determining whether the target robotic arm has received an external force greater than the preset external force threshold for a preset number of consecutive control cycles. When the external force is greater than the preset external force threshold, it is determined that the target robotic arm collides during movement.
  • preset emergency treatment can be performed by executing the compliance control mode in the following manner: according to the preset external force Observation algorithm determines the current external force on the target robotic arm; performs limiting processing on the current external force to obtain the current external force after limiting; according to the limiting According to the current external force, the compliant position is calculated; based on the compliant position, the target position is corrected to obtain the corrected target position; the target manipulator is controlled to move to the corrected target position.
  • control module 1202 when the above control module 1202 is implemented, it can be used to obtain the current joint position, current joint speed and current joint torque of the target robotic arm; according to the preset external force observation algorithm, the current joint position of the target robotic arm is used , the current joint speed and the current joint moment, calculate the current external force on the target robotic arm.
  • the target robotic arm can be controlled to maintain the current joint position in a matching manner according to the preset suspension control rules in the following manner: obtain the current joint position of the target robotic arm; Current joint speed; based on the current joint position and current joint speed of the target robotic arm, determine the target joint torque for the target robotic arm in the current state; based on the target joint torque of the target robotic arm, control the target robotic arm to stop moving and float The state is maintained at the current joint position.
  • control module 1202 when the above control module 1202 is implemented, it can also be used to determine the joint gravity of the target robotic arm in the current state based on the dynamics model and the current joint position; and calculate the method for stopping the target robot based on the current joint speed.
  • the target robotic arm when the above control module 1202 is implemented, can be controlled to maintain the current joint position in a matching manner according to the preset maintenance control rules in the following manner: collect the current joint position of the target robotic arm, And control the target robotic arm to maintain the current joint position; monitor whether the target robotic arm has a divergent motion trend according to the preset motion trend detection algorithm; when it detects that the target robotic arm has a divergent motion trend, lock the target robotic arm joint position.
  • the target robotic arm can be monitored for divergent motion trends according to the preset motion trend detection algorithm in the following manner: Obtain the joint position response peak value of the target robotic arm at the first time point. ; and detect whether the peak value of the joint position response at the first time point is greater than the preset peak threshold; when it is determined that the peak value of the joint position response at the first time point is greater than the preset peak threshold, obtain the joint position response at the second time point peak value; and detect whether the joint position response peak value at the second time point is greater than the preset peak threshold; when it is determined that the joint position response peak value at the second time point is greater than the preset peak threshold value, detect the joint position at the second time point Whether the response peak value is greater than the joint position response peak value at the first time point; if it is determined that the joint position response peak value at the second time point is greater than the joint position response peak value at the first time point, it is determined that the target robotic arm has a divergent motion trend.
  • the units, devices or modules explained in the above embodiments can be implemented by computer chips or entities, or by products with certain functions.
  • the functions are divided into various modules and described separately.
  • the functions of each module can be implemented in the same or multiple software and/or hardware, or a module that implements the same function can be implemented by a combination of multiple sub-modules or sub-units.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or integrated. to another system, or some features can be ignored, or not implemented.
  • the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, and the indirect coupling or communication connection of the devices or units may be in electrical, mechanical or other forms.
  • the target robotic arm is automatically controlled to be maintained at the appropriate position in an appropriate manner to facilitate the user's subsequent use; on the other hand, it can also effectively reduce collisions during operation. Damage caused to the robotic arm, better protect the robotic arm.
  • an embodiment of this specification also provides a medical system, which may at least include a robotic arm 1301 and a control device 1302 .
  • the robotic arm 1301 is connected to a control device 1302; the control device 1302 is used to control the robotic arm 1301 to complete corresponding operations.
  • control device 1302 when it detects that the preset trigger conditions are met, for example, when it is determined that the medical system enters the safe mode, it can control the robotic arm 1301 to maintain the corresponding state in a matching manner according to the preset control rules. position; wherein, the preset control rules include at least one of the following: preset return control rules, preset suspension control rules, and preset maintenance control rules.
  • controller in addition to implementing the controller in the form of pure computer-readable program code, the controller can be completely programmed with logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded logic by logically programming the method steps. Microcontroller, etc. to achieve the same function. Therefore, this kind of controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be considered as structures within the hardware component. Or even, the means for implementing various functions can be considered as structures within hardware components as well as software modules implementing the methods.
  • program modules include routines, programs, objects, components, data structures, classes, etc. that perform specific tasks or implement specific abstract data types.
  • program modules can be located in both local and remote computer-readable storage media including storage devices.
  • the computer software product can be stored in a storage medium, such as ROM/RAM, magnetic disk, optical disk, etc., and includes a number of instructions to make a computer software product.
  • a computer device (which may be a personal computer, a mobile terminal, a server, or a network device, etc.) executes the methods described in various embodiments or certain parts of the embodiments of this specification.

Abstract

一种机械臂的控制方法、医疗系统、计算机设备。方法包括步骤:先检测是否满足预设的触发条件(S101);在确定满足预设的触发条件的情况下,再根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则(S102)。这样,一方面,可以在确定进入安全模式或发生故障异常等满足预设的触发条件的情况下,自动控制目标机械臂以合适的方式维持于合适的位置处,以方便用户后续再次使用;另一方面,还可以有效地减少在操作过程中对机械臂碰撞造成的损伤,较好地保护机械臂。

Description

机械臂的控制方法、医疗系统、计算机设备
本申请要求2022年06月21日递交的申请号为202210703008.9、发明名称为“机械臂的控制方法、医疗系统、计算机设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本说明书属于医疗机器人技术领域,尤其涉及机械臂的控制方法、医疗系统、计算机设备。
背景技术
通常当医疗设备(例如,医疗机器人)在进入安全模式或发生故障异常时,医疗设备会直接停止对机械臂的作用力。这时,机械臂会自然落下。
基于上述方法,在实际操作过程中,机械臂自然落下时很容易发生碰撞,进而对机械臂造成损伤;此外,后续用户如果要再次使用该医疗设备,常常需要自行将机械臂拖回到合适的位置处才能启动使用,进而对用户的后续再次使用造成了不便。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书提供了机械臂的控制方法、医疗系统、计算机设备,一方面,可以在确定进入安全模式或发生故障异常等满足预设的触发条件的情况下,自动控制目标系统的目标机械臂以合适的方式维持于合适的位置处,以方便医生用户后续再次使用;另一方面,还可以有效地减少操作过程中的碰撞对机械臂造成的损伤,较好地保护机械臂。
本说明书实施例提供了一种机械臂的控制方法,包括:检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
本说明书实施例还提供了一种医疗系统,至少包括机械臂和控制装置,其中,所述控制装置用于采用所述机械臂的控制方法控制机械臂按照相匹配的方式维持于相应位置处。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述机械臂的控制方法的相关步骤。
基于本说明书提供的机械臂的控制方法、医疗系统、计算机设备,通过先判断目标系统是否进入安全模式或目标系统是否出现故障异常等来检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,再通过根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。这样,一方面,在确定进入安全模式或发生故障异常等满足预设的触发条件的情况下,目标系统可以自动、及时地控制目标机械臂以合适的方式维持于合适的位置处,以方便用户后续再次使用;另一方面,还可以有效地减少操作过程中的碰撞对机械臂造成的损伤,较好地保护机械臂。
进一步,还通过根据目标机械臂的当前关节位置,判断目标机械臂的当前关节位置是否属于预设的操作区间,以及目标机械臂的当前关节位置与目标位置的距离是否大于预设的距离阈值,智能地从 预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则中自动选择相匹配的控制规则来准确地控制目标机械臂,使用户可以获得相对更好的交互体验。
并且,在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,还通过检测目标机械臂在移动过程中是否发生碰撞;并在确定目标机械臂在移动过程中发生碰撞的情况下,及时地进行预设的应急处理,从而可以进一步减少操作过程中的碰撞对机械臂造成的损伤,更好地保护机械臂。
此外,还在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,通过引入并利用预设的外力观测算法来检测目标机械臂所受到的外力。这样,可以不需要额外增加诸如应力传感器、加速度传感器等新的传感器,也不需要对机械臂的原有结构进行改造,仅利用机械臂现有的传感器就能够以较低的成本,高效、准确地检测出目标机械臂在移动过程中所受到的外力。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书的一个实施例提供的机械臂的控制方法的流程示意图;
图2是应用本说明书实施例提供的机械臂的控制方法的医生控制台的结构组成的一个实施例的示意图;
图3是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法时所确定的目标机械臂的目标位置和预设的操作区间的示意图;
图4是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法在进行轨迹规划时得到的目标机械臂的加速度与时间的关系曲线图;
图5是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法在进行轨迹规划时得到的目标机械臂的位置与时间的关系曲线图;
图6是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法在进行轨迹规划时得到的目标机械臂的速度与时间的关系曲线图;
图7是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法检测目标机械臂在移动过程中是否发生碰撞的实施例示意图;
图8是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法时所使用的预设的外力观测算法的实施例示意图;
图9是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法根据预设的悬浮控制规则控制目标机械臂时的实施例示意图;
图10是在一个场景示例中,应用本说明书实施例提供的机械臂的控制方法在确定的不存在发散运动趋势情况下得到的关节位置响应曲线示意图;
图11是本说明书的一个实施例提供的计算机设备的结构组成示意图;
图12是本说明书的一个实施例提供的机械臂的控制装置的结构组成示意图;
图13是本说明书的一个实施例提供的医疗设备的结构组成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
参阅图1所示,本说明书实施例提供了一种机械臂的控制方法。具体实施时,该方法可以包括以下内容:
S101:检测是否满足预设的触发条件;
S102:在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
在一些实施例中,上述机械臂的控制方法具体可以应用于设置有机械臂的目标系统一侧。其中,上述目标系统具体可以是医疗系统,例如,手术机器人、医生控制台(或称医生台车)、患者手术平台等等。当然,需要说明的是,上述所列举的目标系统只是一种示意性说明。具体实施时,根据具体的应用场景和处理需求,还可以将本说明书所提供的机械臂的控制方法应用于其他系统中,例如,工厂中用于进行自动化装配的装配系统等。上述目标机械臂具体可以理解为设置于目标系统的待控制的机械臂。
下面主要以目标系统为医生控制台为例,进行具体说明。对于应用于其他系统的情况,可以参阅应用于医生控制台的实施例。对此,本说明书不再赘述。
具体的,参阅图2所示。相应的,目标机械臂具体可以包括医生控制台的主手机械臂(或称为主端机械臂)。其中,上述主手机械臂进一步可以包括右主手机械臂和左主手机械臂。上述主手机械臂的关节具体可以是使用柔性材料制成的,具有柔顺特点。
除目标机械臂外,上述医生控制台进一步还可以包括:扶手(或称医生扶手)、从手机械臂(或称从端机械臂)、立体监视器等其他部件。
此外,上述医生控制台还可以布设有传感器和控制器等。其中,上述传感器具体可以包括:力矩传感器、关节速度传感器、关节位置传感器等等。上述控制器具体可以包括:变刚度控制器(或称柔顺控制器)、临界阻尼抱闸控制器、PD关节控制器、零力控制器等等。上述医生控制台还可以设置有处理器。
上述医生控制台还可以与其他系统相连。例如,上述医生控制台还可以与患者手术平台、图像平台等系统相连。
具体实施时,医生控制台的处理器在确定医生控制台进入安全模式,或者出现故障异常时,确定满足预设的触发条件。
这时,处理器可以通过传感器采集相关数据,例如,通过关节位置传感器采集目标机械臂的当前 关节位置等;并根据上述相关数据从预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则确定出相匹配的预设的控制规则。
进而,处理器可以根据相匹配的预设的控制规则,通过相应的控制器,控制主手机械臂停止运动;并控制主手机械臂按照相匹配的方式维持于相应位置处,以便于用户后续再次使用;同时也可以减少主手机械臂由于自然落下发生碰撞所造成的损伤。
在一些实施例中,上述满足预设的触发条件具体可以理解为目标系统进入安全模式,或者目标系统出现故障异常,再或者是与目标系统相连的其他系统出现故障异常。
在一些实施例中,上述检测是否满足预设的触发条件,具体可以包括:检测目标系统是否进入安全模式;在确定目标系统进入安全模式的情况下,确定满足预设的触发条件。
具体实施时,可以通过查询并根据目标系统当前的安全模式标识的数据值来检测目标系统是否进入安全模式。其中,上述安全模式标识(例如,SafeFlag)的数据值具体可以存储于目标系统的存储器,或目标系统的相关日志文件中。
具体的,在确定当前的安全模式标识的数据值为第一数据值(例如,“True”,或“1”)的情况下,可以确定目标系统进入安全模式;在确定当前的安全模式标识的数据值为第二数据值(例如,“False”,或“0”)的情况下,可以确定目标系统未进入安全模式。
在确定目标系统进入安全模式之后,还可以发起安全提示,以提示用户目标系统当前进入安全模式。其中,上述安全提示具体可以是声音提示,也可以是图像提示,还可以是文本提示等等。
在一些实施例中,目标系统可以实时或定时(例如,每间隔1分钟等)先进行异常检测,根据异常检测结果,更新安全模式标识的数据值。
其中,上述异常检测具体可以包括以下至少之一:对目标系统中的目标机械臂的异常检测;对目标系统中除目标机械臂以外的其他部件的异常检测;对与目标系统相连的其他系统的异常检测。
具体对目标系统中的目标机械臂进行异常检测时,在检测到目标机械臂的关节码盘计算出的位置值与电机码盘计算出的关节位置值之间的偏差值大于等于预设的偏差阈值;和/或,检测到目标机械臂的关节码盘或电机码盘检反馈的数据出现跳变;和/或,在检测到目标机械臂的关节位置超出预设的安全位置范围;和/或,检测到目标机械臂的关节速度大于预设的速度阈值;和/或,检测到目标机械臂的关节输出力矩大于预设的力矩阈值等情况下,确定存在故障异常。进而可以将安全模式标识的数据值由第二数据值更新为第一数据值。
具体对目标系统中除目标机械臂以外的其他部件的异常检测时,在检测到关于目标系统中的从手机械臂的异常指示信息;和/或,检测到目标系统中的立体监视器的报错提示等情况下,确定存在故障异常。进而可以将安全模式标识的数据值由第二数据值更新为第一数据值。
具体对与目标系统相连的其他系统的异常检测时,在检测到关于图像平台的内窥镜图像处理机的报错提示;和/或,检测到关于患者手术平台的工具臂的异常指示信息;和/或,检测到其他系统的安全提示信息等情况下,确定存在故障异常。进而可以将安全模式标识的数据值由第二数据值更新为第一数据值。
在一些实施例中,具体检测是否满足预设的触发条件时,还可以在检测到来自目标系统或与目标系统相连的其他系统的异常指示信息或报错提示时,确定满足预设的触发条件;或者,在检测到来自用户的暂停指令时,确定满足预设的触发条件。
在一些实施例中,上述预设的控制规则具体可以理解为一种针对机械臂的移动位置和移动方式的控制规则。具体的,上述预设的控制规则可以包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
其中,基于预设的回位控制规则,可以自动控制机械臂先移动回目标位置处;再维持于目标位置处,以方便用户后续再次使用。
基于预设的悬浮控制规则,可以控制机械臂静止于当前关节位置处;并为机械臂提供一定的力矩,以便用户后续可以轻松、便利地将机械臂拖到自己期望的位置处。
基于预设的维持控制规则,可以控制机械臂停止于当前关节位置处;并将机械臂锁住在当前关节位置处,以避免机械臂自行运动发生碰撞导致损伤。
通过上述实施例,在确定目标系统满足预设的触发条件的情况下,可以根据具体情况和操作要求,从多个预设的控制规则中确定出相匹配的预设的控制规则;进而可以根据相匹配的预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处,以满足多样化的场景需求。
在一些实施例中,上述根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处,具体实施时,可以包括以下内容:
S1:检测目标机械臂的当前关节位置是否属于预设的操作区间;
S2:在确定目标机械臂的当前关节位置不属于预设的操作区间的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处。
其中,参阅图3所示,上述预设的操作区间具体可以理解为适合用户操作的目标机械臂的最佳遥控区间(或最适操作区间)。上述预设的操作区间的具体范围可以根据目标机械臂的结构属性,和/或,用户个人的使用习惯灵活确定。
上述目标位置(也可以称为零位,或零点位置)具体可以包括:初始位置或自定义位置。其中,上述初始位置具体可以为默认的目标机械臂开机自检后所停留的位置。上述自定义位置具体可以为用户自定义设置的位置。例如,用户根据自己的使用习惯,觉得预设操作区间中的A位置相对于初始位置更方便,可以通过发起相应的设置操作,将A位置设定为目标位置。上述当前关节位置具体可以理解在确定满足预设的触发条件时目标机械臂的关节的所在位置。
具体实施时,可以通过关节位置传感器采集目标机械臂的当前关节位置;再检测目标机械臂的当前关节位置是否属于预设的操作区间的范围内。
具体的,可以先从目标机械臂的多个关节中确定出在操作过程中不会离开预设的操作区间的关节(例如,左主手机械臂与医生控制台连接处的关节),以及在操作过程中存在概率会离开预设的操作区间的关节(例如,左主手机械臂最外侧的关节);并将在操作过程中存在概率会离开预设的操作区间的关节记为目标关节。相应的,在具体检测时,可以通过关节位置传感器只采集目标机械的目标关 节的当前关节位置;再检测上述目标关节的当前关节位置是否属于预设的操作区间的范围内。
在检测到目标机械臂的当前关节位置不属于预设的操作区间的情况下,可以预判后续用户再次使用目标系统的目标机械臂时,需要自行将目标机械臂恢复到预设的操作区间内,才能使用。为了简化用户操作,可以选择并根据预设的回位控制规则,自动控制目标机械臂按照相匹配的方式移动并维持于目标位置处,以方便用户后续再次使用;同时,也能减少目标机械臂发生碰撞的概率。
在一些实施例中,在检测目标机械臂的当前关节位置是否属于预设的操作区间之后,所述方法具体实施时,还可以包括以下内容:
S1:在确定目标机械臂的当前关节位置属于预设的操作区间的情况下,检测目标机械臂的当前关节位置与目标位置的距离是否大于预设的距离阈值;
S2:在确定目标机械臂的当前关节位置与目标位置的距离大于预设的距离阈值的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处;在确定目标机械臂的当前关节位置与目标位置的距离小于等于预设的距离阈值的情况下,根据预设的悬浮控制规则或预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处。
具体实施时,在采集得到目标机械臂的当前关节位置之后,可以先通过运动学正解计算目标机械臂的笛卡尔位置,记为CartPos1(简记为CartP1);再计算目标机械臂的笛卡尔位置与目标位置之间的距离,作为目标机械臂的当前关节位置与目标位置的距离,记为D1;再将D1与预设的距离阈值(例如,D0)进行数值比较。其中,上述预设的距离阈值具体可以根据目标机械臂的结构属性和用户的使用习惯灵活设置。
在确定D1大于D0的情况下,可以预判用户后续再次使用目标机械臂时不方便,大概率还需要再将目标机械臂恢复到目标位置后才能使用。为了简化用户操作,这时可以选择并根据预设的回位控制规则,自动控制目标机械臂按照相匹配的方式移动并维持于目标位置处,以方便用户后续再次使用;同时,也能减少目标机械臂发生碰撞的概率。
相反,在确定D1小于等于D0的情况下,可以预判用户后续可以直接使用当前关节位置处的目标机械臂,不需要再额外进行拖移恢复。这时可以选择并根据预设的悬浮控制规则或预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处,以减少目标机械臂发生碰撞的概率。
在一些实施例中,具体实施时,还可以在确定满足预设的触发条件的情况下,先向用户发送控制规则选择请求;再接收并根据用户针对控制规则选择请求的反馈结果,确定出用户选中的预设的控制规则;进而可以根据用户选中的预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处,以满足用户个性化的使用需求。
在一些实施例中,上述根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处,具体实施时,可以包括以下内容:
S1:获取目标机械臂的当前关节位置和目标位置;
S2:根据目标机械臂的当前关节位置和目标位置,通过轨迹规划,生成目标回位路径;其中,目标回位路径的起始点为目标机械臂的当前关节位置,结束点为目标位置;
S2:根据目标回位路径,控制目标机械臂移动至目标位置;并将目标机械臂维持于目标位置处。
具体进行轨迹规划时,可以先采集目标机械臂中各个关节的当前关节位置;根据当前关节位置和目标位置,在笛卡尔空间中进行轨迹规划,得到规划轨迹;再将规划轨迹通过运动学逆解计算到目标机械臂的各个关节,得到各个关节的回位路径(或称回零路径),作为目标机械臂的目标回位路径。其中,上述回位路径具体可以理解为以当前关节位置为起始点,以目标位置为结束点的路径轨迹。
在一些实施例中,具体进行轨迹规划时,可以根据预设的轨迹规划算法来生成目标回位路径。其中,预设的轨迹规划算法具体可以包括以下至少之一:T型轨迹规划算法、多项式法的轨迹规划算法、B样条的轨迹规划算法。
以T型轨迹规划算法为例,具体实施时,可以先基于T型轨迹规划算法在笛卡尔空间进行轨迹规划分别得到目标机械臂的加速度与时间的关系、目标机械臂的速度与时间的关系,以及目标机械臂的位置与时间的关系,具体可以参阅图4、图5、图6。再基于上述多种关系,确定得到以下的目标回位路径计算公式:


其中,q(t)为目标机械臂的关节位置运动路径,qi为路径的起始点,为目标机械臂的关节加速度,为目标机械臂的关节速度,qc为目标机械臂的关节位置,qf为路径的结束点,tc为目标机械臂的关节加速时间,tf为目标机械臂的运动时间,tj为目标机械臂的关节减速时间。
进而,可以根据上述目标回位路径,通过相应的控制器控制目标机械的加速度、速度,以精准地将目标机械臂移动至目标位置处。
具体的,例如,可以通过变刚度控制器基于上述目标回位路径以较为柔顺地方式将目标机械臂移动至目标位置处;并通过变刚度控制器将目标机械臂维持于目标位置处。从而可以有效地减少移动过程中的碰撞,以及碰撞对机械臂所造成的损伤。
在一些实施例中,在生成目标回位路径之后,所述方法具体实施时,还可以包括以下内容:对目标回位路径进行轨迹点采样,得到多个采样点;对所述多个采样点进行碰撞检测;在确定多个采样点中至少存在一个采样点存在碰撞的情况下,调整目标回位路径。
具体对采样点进行碰撞检测时,可以先获取目标系统中的其他部件的当前位置;再将多个采样点的位置与其他部件的当前位置进行位置比对,得到对应的比对结果;根据比对结果,在确定多个采样 点中至少存在一个采样点的位置与至少一个其他部件的当前位置的距离小于参考距离时,确定多个采样点中至少存在一个采样点存在碰撞。
这时,可以对目标回位路径进行调整,以避开发生碰撞的采样点,以得到调整后的目标回位路径。进一步,可以对调整后的目标回位路径再次进行碰撞检测,直到得到不存在发生碰撞的采样点的目标回位路径为止。这样,可以得到预计发生碰撞概率较小的目标回位路径,进而可以基于该目标回位路径较为安全地将目标机械臂时移动至目标位置。
在一些实施例中,在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,所述方法具体实施时,还可以包括以下内容:
S1:检测目标机械臂在移动过程中是否发生碰撞;
S2:在确定目标机械臂在移动过程中发生碰撞的情况下,进行预设的应急处理;其中,预设的应急处理包括以下至少之一:降低目标机械臂的移动速度,执行柔顺控制模式,重新生成目标回位路径。
通过上述实施例,在根据目标回位路径移动目标机械臂的过程中,还可以通过已有的传感器检测目标机械臂在移动过程中是否发生碰撞,并在检测到目标机械臂发生碰撞时,及时地进行预设的应急处理,以有效地避免后续碰撞,或者减轻碰撞对机械臂的损伤,从可以较好地保护机械臂。
具体实施时,可以通过监测关节位置传感器、关节速度传感器、力矩传感器等传感器采集的数据的变化情况来确定目标机械臂在移动过程中是否发生碰撞;还可以基于上述传感器所采集的数据,利用预设的外力观测算法,确定出目标机械臂所受到的外力;再基于所受到的外力来确定目标机械臂在移动过程中是否发生碰撞。其中,上述预设的外力观测算法具体可以理解为一种基于对象的速度、动量等非力学参数来计算该对象所受到的外力的算法。
在一些实施例中,在确定目标机械臂在移动过程中发生碰撞的情况下,还可以生成并发起关于目标机械臂的碰撞提示,及时地提示用户目标机械臂发生碰撞,以便用户在必要的情况下进行人工操作,或者人工选择最合适预设的应急处理方式,进一步减少碰撞对目标机械臂的损伤。其中,上述碰撞提示具体可以是警报提示,也可以是图像提示,还可以是短信提示等等。
在一些实施例中,参阅图7所示,上述检测目标机械臂在移动过程中是否发生碰撞,具体实施时,可以包括以下内容:
S1:对目标机械臂进行运动学检测,得到运动学检测结果;
S2:根据运动学检测结果,确定目标机械臂是否发生碰撞;
S3:在根据运动学检测结果,确定目标机械臂未发生碰撞的情况下,根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞。
具体对目标机械臂进行运动学检测时,可以先根据目标机械臂的CAD三维模型,确定出针对目标机械臂的最小包络体作为目标包络体;其中,所述目标包络体具体可以包括:长方体、圆柱体或者其他合适几何形状体。同时,确定出目标系统中除目标机械臂以外的其他部件的最小包络体,作为障碍包络体。接着,可以在目标机械臂的每个控制周期内,监测目标包络体与障碍包络体是否发生干涉,得到对应的运动学检测结果。根据运动学检测结果,在确定目标包络体与障碍包络体发生干涉时,可 以确定目标机械臂在移动过程中发生碰撞。
在仅根据运动学检测结果,确定目标机械臂未发生碰撞的情况下,可以进一步根据预设的外力观测算法,通过预测并根据目标机械臂所受到的外力,从而可以更加精准地确定出目标机械臂在移动过程中是否发生碰撞。
在一些实施例中,参阅图7所示,上述根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞,具体实施时,可以包括以下内容:
S1:根据预设的外力观测算法,确定目标机械臂在各个控制周期所受到的外力;
S2:检测目标机械臂是否存在连续预设个数个控制周期所受到的外力大于预设的外力阈值;
S3:在确定目标机械臂存在连续预设个数个控制周期所受到的外力大于预设的外力阈值的情况下,确定目标机械臂在移动过程中发生碰撞。
具体实施时,参阅图8所示,可以仅基于现有的传感器所采集到的相关数据(例如,目标机械臂的关节位置、关节速度、关节力矩等),通过预设的外力观测算法(例如,外力观测器FunTor的算法),计算得到目标机械臂所受到外力(可以记为:TorExt)。
具体的,可以按照以下方式,根据预设的外力观测算法,获取目标机械臂在当前控制周期所受到的外力:先通过传感器所采集到的相关数据,获取并利用目标机械臂在当前控制周期的关节位置、关节速度和关节力矩(或驱动力矩),基于动力学模型,计算出目标机械臂在当前控制周期的理论动量与实际动量的偏差;再根据目标机械臂在当前控制周期的理论动量与实际动量的偏差,计算出目标机械臂在当前控制周期所受到的外力。
其中,所受到的外力具体可以包括:目标机械臂的拖动力,以及目标机械臂与其他部件接触时形成的接触力。
具体的,根据预设的外力观测算法,可以按照以下算式,计算目标机械臂在当前控制周期所受到的外力:
r=∫[K1(e-∫rdt)-K2r]dt  K1∈Rn×1 K2∈Rn×1
其中,r为目标机械臂在当前控制周期所受到的外力的观测值,K1、K2分别为第一增益系数、第二增益系数,e为目标机械臂在当前控制周期的理论动量与实际动量的偏差。
具体利用上述算式求解目标机械臂在当前控制周期所受到的外力时,可以先获取外力估计值作为初始值;再将上述初始值代入上述算式中,并进行多次迭代,直到出现收敛,停止迭代;再将停止迭代时该算式中的外力值作为目标机械臂在当前控制周期所受到的外力。
具体计算外力时,可以根据具体情况通过调整第一增益系数、第二增益系数的具体值,以调整所确定出的外力的准确度。
通过上述实施例,可以在不需要额外增加传感器、不需要使用关节加速度,仅利用已有的传感器所采集到的数据就能够精准地确定出目标机械臂所受到的外力,有效地降低了处理成本。
进一步,参阅图7所示,可以将每个控制周期所受到的外力TorExt分别与预设的外力阈值(可以记为TorExtMax)进行比较,每连续检测到一个控制周期所受到的外力大于预设的外力阈值时,在 已累计的连续个控制周期所受到的外力大于预设的外力阈值的计数n上加1,得到更新后的个数n+1。在检测到存在连续预设个数个(例如,n_max)控制周期所受到的外力大于预设的外力阈值时,确定目标机械臂在移动过程中发生碰撞;否则,确定目标机械臂在移动过程中未发生碰撞。从而可以精准地识别出目标机械臂在移动过程中是否发生碰撞。
在一些实施例中,在确定目标机械臂在移动过程中发生碰撞的情况下,执行柔顺控制模式,具体实施时,可以包括以下内容:
S1:采集目标机械臂的当前关节位置(例如,q)、当前关节速度(例如,v)和当前关节力矩(例如,TorCur);
S2:根据预设的外力观测算法,利用目标机械臂的当前关节位置、当前关节速度和当前关节力矩,计算目标机械臂所受到的当前外力(例如,TorExt);
S1:根据预设的外力观测算法,确定目标机械臂所受到的当前外力;
S2:对当前外力进行限幅处理,得到限幅后的当前外力;
S3:根据限幅后的当前外力,计算柔顺位置;
S4:根据柔顺位置,修正目标位置,得到修正后的目标位置;
S5:控制目标机械臂移动至修正后的目标位置。
具体的,上述根据预设的外力观测算法,确定目标机械臂所受到的当前外力,可以包括:获取目标机械臂的当前关节位置(例如,q)、当前关节速度(例如,v)和当前关节力矩(例如,TorCur);根据预设的外力观测算法,利用目标机械臂的当前关节位置、当前关节速度和当前关节力矩,计算目标机械臂所受到的当前外力(例如,TorExt)。
具体的,可以将计算出的柔顺位置记为:CmpPos,将目标位置记为:JointAim。可以在目标位置上加上柔顺位置,得到修正后的目标位置:JointPos=JointAim+CmpPos。
进而,可以通过关节控制器(例如,变刚度控制器)控制目标机械臂移动至修正后的目标位置处,以减少移动过程中发生的碰撞。
在柔顺控制模式下,通过变刚度控制器移动目标机械臂时,当目标机械臂与其他部件等障碍物发生接触时,可以通过计算外力确定出目标机械臂的接触力;再通过上述方式经过柔顺控制修正目标机械臂的关节的目标位置以有效地避免目标机械臂在移动过程中与其他部件等障碍物的碰撞。
此外,上述目标机械臂的关节具体还可以是使用柔性材料制成的,具有柔性特征,能够在一定程度上产生形变。因此,具体通过变刚度控制器移动目标机械臂时,在检测到在目标机械臂与障碍物发生碰撞的情况下,可以利用目标机械臂的关节的柔性特征,顺着目标机械臂所接触的障碍物的表面滑动,以进一步减少对碰撞对目标机械臂的影响,减少碰撞对目标机械臂所造成的损伤,从而可以更好地保护目标机械臂。
在一些实施例中,在确定目标机械臂在移动过程中发生碰撞的情况下,还可以根据预设的减速规则,降低目标机械臂的移动速度,以减少碰撞对目标机械臂的损伤。其中,预设的减速规则具体可以是预先通过对大量样本机械臂的历史移动记录进行整理和学习所确定的。
在一些实施例中,在确定目标机械臂在移动过程中发生碰撞的情况下,还可以确定发生碰撞的位置;并根据发生碰撞的位置,有针对性地重新进行轨迹规划,以重新生成能够更好地减少碰撞的目标回位路径。进而,后续可以基于重新生成目标回位路径,继续控制目标机械臂移动至目标位置处。
在一些实施例中,参阅图9所示,上述根据预设的悬浮控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处,具体实施时,可以包括以下内容:
S1:获取目标机械臂的当前关节位置、当前关节速度;
S2:根据目标机械臂的当前关节位置、当前关节速度,确定针对当前状态下的目标机械臂的目标关节力矩;
S3:根据目标机械臂的目标关节力矩,控制目标机械臂停止运动,并以悬浮的状态维持于当前关节位置处。
在一些实施例中,上述根据目标机械臂的当前关节位置、当前关节速度,确定针对当前状态下的目标机械臂的目标关节力矩,具体可以包括:基于动力学模型,利用当前关节位置,确定目标机械臂当前状态下的关节重力;根据当前关节速度,计算用于停止目标机械臂当前状态下的运动的阻尼力;根据关节重力和阻尼力,确定针对当前状态下的目标机械臂的目标关节力矩。
具体实施时,可以基于动力学模型计算出目标机械臂在当前状态下的各个关节的重力GraTor。同时根据当前关节速度,确定出能够使得目标机械臂从当前运动模式下快速停止运动的阻尼力DampTor。进而可以按照以下算式,确定出针对当前状态下的目标机械臂的目标关节力矩:JointTor=GraTor+DampTor。
接着,可以通过零力控制器输出上述目标关节力矩,以使得目标机械臂在阻尼力的作用下,快速地停止运动;同时,不会锁住目标机械臂的关机,而是以悬浮的状态将目标机械臂维持在当前关节位置处。
在上述悬浮的状态下,用户可以很便捷地通过手动拖移将目标机械臂移动到任意位置处,同时保持目标机械臂的姿态关节始终保持与从手机械臂的姿态相匹配。
在一些实施例中,上述根据预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处,具体实施时,可以包括以下内容:
S1:采集目标机械臂的当前关节位置,并控制目标机械臂维持于当前关节位置处;
S2:根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势;
S3:在监测到目标机械臂存在发散运动趋势的情况下,锁住目标机械臂的关节位置。
具体实施时,可以采集目标机械臂的当前关节位置,记为HoldJoint。再通过关节控制器将目标机械臂维持于当前关节位置处。同时,还会根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势。在监测到存在发散运动趋势的情况下,可以通过临界阻尼抱闸控制器锁住目标机械臂的关节位置,进行抱闸操作,以避免目标机械臂继续运动,从而可以有效地避免目标机械臂由于运动所产生的碰撞。其中,临界阻尼抱闸控制器在锁住目标机械臂的关节位置时所使用的抱闸力大小适中,能够使得目标机械臂处于临界阻尼状态。
在通过临界阻尼抱闸控制器控制目标机械臂静止时,临界阻尼抱闸控制器可以停止抱闸操作。进而可以继续监测目标机械臂是否存在发散运动趋势。
基于预设维持控制规则可以控制目标机械臂以Hold模式维持于当前关节位置处。在Hold模式下,目标机械臂的关机会被锁住,相应的,目标机械臂不会在外力的作用下发生移动,从而可以有效地避免目标机械臂移动时的碰撞所造成的损伤。
在一些实施例中,上述根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势,具体实施时,可以包括以下内容:
S1:获取目标机械臂第一时间点的关节位置响应峰值;并检测第一时间点的关节位置响应峰值是否大于预设的峰值阈值;
S2:在确定第一时间点的关节位置响应峰值大于预设的峰值阈值的情况下,获取第二时间点的关节位置响应峰值;并检测第二时间点的关节位置响应峰值是否大于预设的峰值阈值;
S3:在确定第二时间点的关节位置响应峰值大于预设的峰值阈值的情况下,检测第二时间点的关节位置响应峰值是否大于第一时间点的关节位置响应峰值;
S4:在确定第二时间点的关节位置响应峰值大于第一时间点的关节位置响应峰值的情况下,确定目标机械臂存在发散运动趋势。
通过上述实施例,可以利用预设的运动趋势检测算法,精准地判断出目标机械臂是否存在发散运动趋势。
通常在不存在发散运动趋势的情况下,关节位置响应曲线可以参阅图10所示。其中,HJ_P1、HJ_P2、HJ_P3、HJ_P4分别表示不同时间点的关节位置响应峰值。
根据预设的运动趋势检测算法,具体监测目标机械臂是否存在发散运动趋势时,可以将当前时间点监测到的第一个关节位置响应峰值记录为:ErrPosMax(得到第一时间点的关节位置响应峰值);再将ErrPosMax与HJEPS(预设的峰值阈值)进行比较。
根据比较结果,如果ErrPosMax小于等于HJEPS,则确定当前不存在发散运动趋势,进而可以采集下一个时间点的关节位置响应峰值,以继续对是否存在发散运动趋势进行监测。如果ErrPosMax大于HJEPS,则采集下一个时间点的关节位置响应峰值,记为:ErrPosi(得到第二时间点的关节位置响应峰值);再将ErrPosi与HJEPS(预设的峰值阈值)进行比较。
根据比较结果,如果ErrPosi小于等于HJEPS,继续对是否存在发散运动趋势进行监测。如果ErrPosi大于HJEPS,进一步将ErrPosi与ErrPosMax进行比较。
根据比较结果,如果ErrPosMax小于ErrPosi,则可以确定出目标机械臂存在发散运动趋势。相反,如果ErrPosMax大于等于ErrPosi,则可以定当前不存在发散运动趋势,进而可以采集下一个时间点的关节位置响应峰值,以继续对是否存在发散运动趋势进行监测。
在确定目标机械臂存在发散运动趋势时,可以将发散运动趋势标识的数据值由原来的“false”更新为“true”。
相应的,目标系统可以通过检测发散运动趋势标识的数据值来确定目标机械臂是否存在发散运动 趋势。
由上可见,基于本说明书实施例提供的机械臂的控制方法,通过先检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,再通过根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。这样,一方面,可以在确定进入安全模式或发生故障等满足预设的触发条件的情况下,自动控制目标机械臂以合适的方式维持于合适的位置处,以方便用户后续再次使用;另一方面,还可以有效地减少操作过程中的碰撞对机械臂造成的损伤,较好地保护机械臂。
进一步,还可以根据目标机械臂的当前关节位置,通过判断目标机械臂的当前关节位置是否属于预设的操作区间,以及目标机械臂的当前关节位置与目标位置的距离是否大于预设的距离阈值,从预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则中智能地选择相匹配的控制规则来准确地控制目标机械臂,使用户可以获得更好的交互体验。
并且,在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,还通过检测目标机械臂在移动过程中是否发生碰撞;并在确定目标机械臂在移动过程中发生碰撞的情况下,及时地进行预设的应急处理,以进一步减少操作过程中的碰撞对机械臂造成的损伤,更好地保护机械臂。
此外,还在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,引入并利用预设的外力观测算法来检测目标机械臂所受到的外力。这样,不需要额外增加薪的传感器,也不需要对机械臂的原结构进行改造,利用机械臂现有的传感器就能能够以较低的成本,高效、准确地检测出目标机械臂在移动过程中所受到的外力。
本说明书实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
为了能够更加准确地完成上述指令,参阅图11所示,本说明书实施例还提供了另一种具体的计算机设备,其中,所述计算机设备包括网络通信端口1101、处理器1102以及存储器1103,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口1101,具体可以用于获取安全模式标识的数据值。
所述处理器1102,具体可以用于根据安全模式标识的数据值,检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
所述存储器1103,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口1101可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是 负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器1102可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器1103可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述机械臂的控制方法的计算机可读存储介质,所述计算机可读存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:检测是否满足预设的触发条件;在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard Disk Drive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机可读存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图12所示,在软件层面上,本说明书实施例还提供了一种机械臂的控制装置,该装置具体可以包括以下的结构模块:
检测模块1201,具体可以用于检测是否满足预设的触发条件;
控制模块1202,具体可以用于在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
在一些实施例中,上述检测模块1201具体实施时,可以按照以下方式检测是否满足预设的触发条件:检测目标系统是否进入安全模式;在确定目标系统进入安全模式的情况下,确定满足预设的触发条件。
在一些实施例中,所述目标系统具体可以包括医生控制台等;相应的,所述目标机械臂具体可以包括医生控制台的主手机械臂等。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处:检测目标机械臂的当前关节位置是否属于预设的 操作区间;在确定目标机械臂的当前关节位置不属于预设的操作区间的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处。
在一些实施例中,上述控制模块1202具体实施时,在检测目标机械臂的当前关节位置是否属于预设的操作区间之后,还可以用于在确定目标机械臂的当前关节位置属于预设的操作区间的情况下,检测目标机械臂的当前关节位置与目标位置的距离是否大于预设的距离阈值;在确定目标机械臂的当前关节位置与目标位置的距离大于预设的距离阈值的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处;在确定目标机械臂的当前关节位置与目标位置的距离小于等于预设的距离阈值的情况下,根据预设的悬浮控制规则或预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处。
在一些实施例中,所述目标位置具体可以包括初始位置或自定义位置等。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处:获取目标机械臂的当前关节位置和目标位置;根据目标机械臂的当前关节位置和目标位置,通过轨迹规划,生成目标回位路径;其中,目标回位路径的起始点为目标机械臂的当前关节位置,结束点为目标位置;根据目标回位路径,控制目标机械臂移动至目标位置;并将目标机械臂维持于目标位置处。
在一些实施例中,上述控制模块1202具体实施时,在生成目标回位路径之后,还可以用于对目标回位路径进行轨迹点采样,得到多个采样点;对所述多个采样点进行碰撞检测;在确定多个采样点中至少存在一个采样点存在碰撞的情况下,调整目标回位路径。
在一些实施例中,上述控制模块1202具体实施时,在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,还可以用于检测目标机械臂在移动过程中是否发生碰撞;在确定目标机械臂在移动过程中发生碰撞的情况下,进行预设的应急处理;其中,预设的应急处理包括以下至少之一:降低目标机械臂的移动速度,执行柔顺控制模式,重新生成目标回位路径。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式检测目标机械臂在移动过程中是否发生碰撞:对目标机械臂进行运动学检测,得到运动学检测结果;根据运动学检测结果,确定目标机械臂是否发生碰撞;在根据运动学检测结果,确定目标机械臂未发生碰撞的情况下,根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞:根据预设的外力观测算法,确定目标机械臂在各个控制周期所受到的外力;检测目标机械臂是否存在连续预设个数个控制周期所受到的外力大于预设的外力阈值;在确定目标机械臂存在连续预设个数个控制周期所受到的外力大于预设的外力阈值的情况下,确定目标机械臂在移动过程中发生碰撞。
在一些实施例中,上述控制模块1202具体实施时,在确定目标机械臂在移动过程中发生碰撞的情况下,可以按照以下方式通过执行柔顺控制模式进行预设的应急处理:根据预设的外力观测算法,确定目标机械臂所受到的当前外力;对当前外力进行限幅处理,得到限幅后的当前外力;根据限幅后 的当前外力,计算柔顺位置;根据柔顺位置,修正目标位置,得到修正后的目标位置;控制目标机械臂移动至修正后的目标位置。
在一些实施例中,上述控制模块1202具体实施时,可以用于获取目标机械臂的当前关节位置、当前关节速度和当前关节力矩;根据预设的外力观测算法,利用目标机械臂的当前关节位置、当前关节速度和当前关节力矩,计算目标机械臂所受到的当前外力。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的悬浮控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处:获取目标机械臂的当前关节位置、当前关节速度;根据目标机械臂的当前关节位置、当前关节速度,确定针对当前状态下的目标机械臂的目标关节力矩;根据目标机械臂的目标关节力矩,控制目标机械臂停止运动,并以悬浮的状态维持于当前关节位置处。
在一些实施例中,上述控制模块1202具体实施时,还可以用于基于动力学模型,利用当前关节位置,确定目标机械臂当前状态下的关节重力;根据当前关节速度,计算用于停止目标机械臂当前状态下的运动的阻尼力;根据关节重力和阻尼力,确定针对当前状态下的目标机械臂的目标关节力矩。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处:采集目标机械臂的当前关节位置,并控制目标机械臂维持于当前关节位置处;根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势;在监测到目标机械臂存在发散运动趋势的情况下,锁住目标机械臂的关节位置。
在一些实施例中,上述控制模块1202具体实施时,可以按照以下方式根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势:获取目标机械臂第一时间点的关节位置响应峰值;并检测第一时间点的关节位置响应峰值是否大于预设的峰值阈值;在确定第一时间点的关节位置响应峰值大于预设的峰值阈值的情况下,获取第二时间点的关节位置响应峰值;并检测第二时间点的关节位置响应峰值是否大于预设的峰值阈值;在确定第二时间点的关节位置响应峰值大于预设的峰值阈值的情况下,检测第二时间点的关节位置响应峰值是否大于第一时间点的关节位置响应峰值;在确定第二时间点的关节位置响应峰值大于第一时间点的关节位置响应峰值的情况下,确定目标机械臂存在发散运动趋势。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,基于本说明书实施例提供的机械臂的控制装置,一方面,可以在确定进入安全模式或 发生故障等满足预设的触发条件的情况下,自动控制目标机械臂以合适的方式维持于合适的位置处,以方便用户后续再次使用;另一方面,还可以有效地减少操作过程中的碰撞对机械臂造成的损伤,较好地保护机械臂。
参阅图13所示,本说明书实施例还提供了一种医疗系统,至少可以包括机械臂1301和控制装置1302。其中,机械臂1301和控制装置1302相连;所述控制装置1302用于控制机械臂1301完成相应操作。
具体实施时,控制装置1302在检测到满足预设的触发条件的情况下,例如,确定医疗系统进入安全模式时,可以根据预设的控制规则,控制机械臂1301按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机可读存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (17)

  1. 一种机械臂的控制方法,其特征在于,包括:
    检测是否满足预设的触发条件;
    在确定满足预设的触发条件的情况下,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处;其中,预设的控制规则包括以下至少之一:预设的回位控制规则、预设的悬浮控制规则、预设的维持控制规则。
  2. 根据权利要求1所述的机械臂的控制方法,其特征在于,检测是否满足预设的触发条件,包括:
    检测目标系统是否进入安全模式;
    在确定目标系统进入安全模式的情况下,确定满足预设的触发条件。
  3. 根据权利要求1所述的机械臂的控制方法,其特征在于,根据预设的控制规则,控制目标机械臂按照相匹配的方式维持于相应位置处,包括:
    检测目标机械臂的当前关节位置是否属于预设的操作区间;
    在确定目标机械臂的当前关节位置不属于预设的操作区间的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处。
  4. 根据权利要求3所述的机械臂的控制方法,其特征在于,在检测目标机械臂的当前关节位置是否属于预设的操作区间之后,所述方法还包括:
    在确定目标机械臂的当前关节位置属于预设的操作区间的情况下,检测目标机械臂的当前关节位置与目标位置的距离是否大于预设的距离阈值;
    在确定目标机械臂的当前关节位置与目标位置的距离大于预设的距离阈值的情况下,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处;
    在确定目标机械臂的当前关节位置与目标位置的距离小于等于预设的距离阈值的情况下,根据预设的悬浮控制规则或预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处。
  5. 根据权利要求3或4所述的方法,其特征在于,根据预设的回位控制规则,控制目标机械臂按照相匹配的方式移动并维持于目标位置处,包括:
    获取目标机械臂的当前关节位置和目标位置;
    根据目标机械臂的当前关节位置和目标位置,通过轨迹规划,生成目标回位路径;其中,目标回位路径的起始点为目标机械臂的当前关节位置,结束点为目标位置;
    根据目标回位路径,控制目标机械臂移动至目标位置;并将目标机械臂维持于目标位置处。
  6. 根据权利要求5所述的机械臂的控制方法,其特征在于,在生成目标回位路径之后,所述方法还包括:
    对目标回位路径进行轨迹点采样,得到多个采样点;
    对所述多个采样点进行碰撞检测;
    在确定多个采样点中至少存在一个采样点存在碰撞的情况下,调整目标回位路径。
  7. 根据权利要求3或4所述的机械臂的控制方法,其特征在于,在根据目标回位路径,控制目标机械臂移动至目标位置的移动过程中,所述方法还包括:
    检测目标机械臂在移动过程中是否发生碰撞;
    在确定目标机械臂在移动过程中发生碰撞的情况下,进行预设的应急处理;其中,预设的应急处理包括以下至少之一:降低目标机械臂的移动速度,执行柔顺控制模式,重新生成目标回位路径。
  8. 根据权利要求7所述的机械臂的控制方法,其特征在于,检测目标机械臂在移动过程中是否发生碰撞,包括:
    对目标机械臂进行运动学检测,得到运动学检测结果;
    根据运动学检测结果,确定目标机械臂是否发生碰撞;
    在根据运动学检测结果,确定目标机械臂未发生碰撞的情况下,根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞。
  9. 根据权利要求8所述的机械臂的控制方法,其特征在于,根据预设的外力观测算法,确定目标机械臂在移动过程中是否发生碰撞,包括:
    根据预设的外力观测算法,确定目标机械臂在各个控制周期所受到的外力;
    检测目标机械臂是否存在连续预设个数个控制周期所受到的外力大于预设的外力阈值;
    在确定目标机械臂存在连续预设个数个控制周期所受到的外力大于预设的外力阈值的情况下,确定目标机械臂在移动过程中发生碰撞。
  10. 根据权利要求7所述的机械臂的控制方法,其特征在于,在确定目标机械臂在移动过程中发生碰撞的情况下,执行柔顺控制模式,包括:
    根据预设的外力观测算法,确定目标机械臂所受到的当前外力;
    对当前外力进行限幅处理,得到限幅后的当前外力;
    根据限幅后的当前外力,计算柔顺位置;
    根据柔顺位置,修正目标位置,得到修正后的目标位置;
    控制目标机械臂移动至修正后的目标位置。
  11. 根据权利要求10所述的机械臂的控制方法,其特征在于,根据预设的外力观测算法,确定目标机械臂所受到的当前外力,包括:
    获取目标机械臂的当前关节位置、当前关节速度和当前关节力矩;
    根据预设的外力观测算法,利用目标机械臂的当前关节位置、当前关节速度和当前关节力矩,计算目标机械臂所受到的当前外力。
  12. 根据权利要求4所述的机械臂的控制方法,其特征在于,根据预设的悬浮控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处,包括:
    获取目标机械臂的当前关节位置、当前关节速度;
    根据目标机械臂的当前关节位置、当前关节速度,确定针对当前状态下的目标机械臂的目标关节力矩;
    根据目标机械臂的目标关节力矩,控制目标机械臂停止运动,并以悬浮的状态维持于当前关节位置处。
  13. 根据权利要求12所述的机械臂的控制方法,其特征在于,根据目标机械臂的当前关节位置、当前关节速度,确定针对当前状态下的目标机械臂的目标关节力矩,包括:
    基于动力学模型,利用当前关节位置,确定目标机械臂当前状态下的关节重力;根据当前关节速度,计算用于停止目标机械臂当前状态下的运动的阻尼力;
    根据关节重力和阻尼力,确定针对当前状态下的目标机械臂的目标关节力矩。
  14. 根据权利要求4所述的机械臂的控制方法,其特征在于,根据预设的维持控制规则控制目标机械臂按照相匹配的方式维持于当前关节位置处,包括:
    采集目标机械臂的当前关节位置,并控制目标机械臂维持于当前关节位置处;
    根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势;
    在监测到目标机械臂存在发散运动趋势的情况下,锁住目标机械臂的关节位置。
  15. 根据权利要求14所述的机械臂的控制方法,其特征在于,根据预设的运动趋势检测算法,监测目标机械臂是否存在发散运动趋势,包括:
    获取目标机械臂第一时间点的关节位置响应峰值;并检测第一时间点的关节位置响应峰值是否大于预设的峰值阈值;
    在确定第一时间点的关节位置响应峰值大于预设的峰值阈值的情况下,获取第二时间点的关节位置响应峰值;并检测第二时间点的关节位置响应峰值是否大于预设的峰值阈值;
    在确定第二时间点的关节位置响应峰值大于预设的峰值阈值的情况下,检测第二时间点的关节位置响应峰值是否大于第一时间点的关节位置响应峰值;
    在确定第二时间点的关节位置响应峰值大于第一时间点的关节位置响应峰值的情况下,确定目标机械臂存在发散运动趋势。
  16. 一种医疗系统,其特征在于,至少包括机械臂和控制装置,其中,所述控制装置用于采用权利要求1至15中任一项所述方法控制机械臂按照相匹配的方式维持于相应位置处。
  17. 一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现权利要求1至15中任一项所述方法的相关步骤。
PCT/CN2023/101862 2022-06-21 2023-06-21 机械臂的控制方法、医疗系统、计算机设备 WO2023246907A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210703008.9A CN117297791A (zh) 2022-06-21 2022-06-21 机械臂的控制方法、医疗系统、计算机设备
CN202210703008.9 2022-06-21

Publications (1)

Publication Number Publication Date
WO2023246907A1 true WO2023246907A1 (zh) 2023-12-28

Family

ID=89241271

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/101862 WO2023246907A1 (zh) 2022-06-21 2023-06-21 机械臂的控制方法、医疗系统、计算机设备

Country Status (2)

Country Link
CN (1) CN117297791A (zh)
WO (1) WO2023246907A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101653945A (zh) * 2009-09-29 2010-02-24 国营红林机械厂 一种机械臂失效保护装置
US20110213497A1 (en) * 2010-02-26 2011-09-01 Agilent Technolgies, Inc. Robot arm and method of controlling robot arm to avoid collisions
US20150112481A1 (en) * 2013-10-17 2015-04-23 Intuitive Surgical Operations, Inc. Fault reaction, fault isolation, and graceful degradation in a robotic system
CN110405749A (zh) * 2018-04-27 2019-11-05 深圳市优必选科技有限公司 关节限位检测方法、装置、机器人及计算机可读存储介质
CN110536779A (zh) * 2017-03-26 2019-12-03 詹尼斯机器人移动技术加拿大公司 机械臂
CN110696000A (zh) * 2019-11-21 2020-01-17 河北工业大学 一种机械臂试探感知的避障方法
CN113478493A (zh) * 2021-09-07 2021-10-08 成都博恩思医学机器人有限公司 一种机械臂的碰撞保护方法、系统、机器人及存储介质
CN113601509A (zh) * 2021-08-16 2021-11-05 安徽元古纪智能科技有限公司 一种多自由度机械臂柔性控制方法和系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101653945A (zh) * 2009-09-29 2010-02-24 国营红林机械厂 一种机械臂失效保护装置
US20110213497A1 (en) * 2010-02-26 2011-09-01 Agilent Technolgies, Inc. Robot arm and method of controlling robot arm to avoid collisions
US20150112481A1 (en) * 2013-10-17 2015-04-23 Intuitive Surgical Operations, Inc. Fault reaction, fault isolation, and graceful degradation in a robotic system
CN110536779A (zh) * 2017-03-26 2019-12-03 詹尼斯机器人移动技术加拿大公司 机械臂
CN110405749A (zh) * 2018-04-27 2019-11-05 深圳市优必选科技有限公司 关节限位检测方法、装置、机器人及计算机可读存储介质
CN110696000A (zh) * 2019-11-21 2020-01-17 河北工业大学 一种机械臂试探感知的避障方法
CN113601509A (zh) * 2021-08-16 2021-11-05 安徽元古纪智能科技有限公司 一种多自由度机械臂柔性控制方法和系统
CN113478493A (zh) * 2021-09-07 2021-10-08 成都博恩思医学机器人有限公司 一种机械臂的碰撞保护方法、系统、机器人及存储介质

Also Published As

Publication number Publication date
CN117297791A (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
US11344374B2 (en) Detection of unintentional movement of a user interface device
KR101952276B1 (ko) 로봇 매니퓰레이터의 개방-루프/폐쇄-루프 제어를 위한 방법 및 장치
US7664570B2 (en) Method and apparatus for limiting the movement of a robot, and a robot equipped with said apparatus
CN109968377B (zh) 机器人控制系统和控制机器人的方法
US11548153B2 (en) Robot comprising safety system ensuring stopping time and distance
CN110000815B (zh) 一种碰撞检测方法、装置、电子设备及存储介质
CN107116553B (zh) 一种机械臂的操作方法及装置
US11613015B2 (en) Technique for providing reliable control in a cloud robotics system
CN110000807A (zh) 一种机器的舵机保护方法、系统和可读存储介质
CN112476438A (zh) 机械臂避障方法、装置、机械臂及机器人
CN115500954A (zh) 手术机器人及其臂的防碰撞方法、防碰撞系统
WO2023246907A1 (zh) 机械臂的控制方法、医疗系统、计算机设备
CN113478493B (zh) 一种机械臂的碰撞保护方法、系统、机器人及存储介质
JP5912953B2 (ja) 制御装置、及び制御方法
CN113799123B (zh) 机械手防撞控制方法、系统、智能终端及存储介质
JP2023547612A (ja) ロボット動作に使用される安全システム及び方法
JP5774552B2 (ja) ロボット制御装置
KR20230160260A (ko) 의료용 또는 수술용 원격동작을 위한 마스터-슬레이브 로봇 시스템의 비구속 마스터 장치의 가속도 측정 또는 검출에 기반하여 동작 이상상태를 검출하는 방법 및 관련 로봇 시스템
Stengel et al. An approach for safe and efficient human-robot collaboration
CN116175584A (zh) 超声机器人扫描控制方法、装置、设备及存储介质
CN117119986A (zh) 用于基于对速度的测量或检测来检测用于医疗或外科远程操作的主从式机器人系统的不受约束主设备的操作异常的方法和相关的机器人系统
CN112518716A (zh) 机器人的拖动示教触发方法、装置及机器人
KR20230160817A (ko) 의료용 또는 수술용 원격 동작을 위한 마스터-슬레이브 로봇 시스템의 비구속 마스터 장치의 동작 이상상태를 검출하는 방법 및 관련 로봇 시스템
JP2006116635A (ja) ロボットの制御装置
US20230158671A1 (en) Intelligent obstacle avoidance of multi-axis robot arm

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: 23826552

Country of ref document: EP

Kind code of ref document: A1