Anti-collision system for a vascular intervention robot
By designing an anti-collision system, which uses data processing and collision calculation modules to identify potential collisions and send stop commands, the problem of collisions with the robotic arm of vascular interventional surgery was solved, achieving effective protection for the robot and the patient, as well as efficient calculation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI OPERATION ROBOT CO LTD
- Filing Date
- 2022-04-24
- Publication Date
- 2026-04-28
AI Technical Summary
Existing vascular interventional surgical robots lack effective collision avoidance algorithms, making the arm structure prone to collisions during operation, which can damage the robot arm and cause harm to the patient.
A collision avoidance system was designed, including a data processing module, a collision query module, a collision calculation module, and a robot arm control module. By collecting motor data, the system calculates the robot's position and pose in the world coordinate system, judges potential collisions, and sends a stop command when a collision is detected, thus protecting the robot and the patient.
It effectively prevents collisions between the robotic arm, actuator, and base, protecting both the patient and the robot, reducing CPU load, improving computing efficiency, and facilitating testing and debugging.
Smart Images

Figure CN116968040B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the technical field of vascular interventional surgical robot control, and more specifically, to a collision avoidance system for vascular interventional robots. Background Technology
[0002] Vascular interventional robots are a type of robot designed for diseases requiring vascular intervention. These robots can deliver guidewires, catheters, and stents, and can also deploy stents. Because surgeons need to move their arms during procedures such as changing guidewires, moving the robot, and deploying stents, a collision avoidance system has been developed to prevent surgeon errors, protect the patient and the robot, and safeguard surgical consumables in the actuator hand. Collision avoidance refers to preventing collisions between the robot and the patient, between the robot arms, and between the robot's shoulder, elbow, wrist, and actuator hand. The collision avoidance algorithm for vascular interventional robots must ensure that, during operation, the robot prevents injury to the patient while also preventing collisions between robot arms. This ensures that consumables in the robot arms and actuator hand are not damaged by collisions.
[0003] Patent document CN111449752A discloses a passive positioning robotic arm for a propulsion mechanism of an endovascular interventional surgical robot. The robotic arm is mounted on an operating table. The robotic arm includes: a base module, a horizontal movement module, a lifting module, a first rotary joint, a second rotary joint, and a pitch angle adjustment module. The base module is mounted on the operating table, the horizontal movement module is mounted on the base module, the bottom of the lifting module is mounted on the horizontal movement module, one end of the first rotary joint is connected to the top of the lifting module, and the other end is connected to one end of the second rotary joint. The pitch angle adjustment module is mounted on the other end of the second rotary joint. The surgical robot is mounted on the pitch angle adjustment module.
[0004] Current interventional surgical robots all adopt a roller-type box structure and lack arm components. Therefore, the arm structure is a first in vascular interventional robots. The theory and rules of collision avoidance algorithms are still under investigation. Therefore, collision avoidance algorithms for vascular interventional surgical robots have research and practical application value.
[0005] Therefore, a new technical solution is needed to improve the above-mentioned technical problems. Summary of the Invention
[0006] In view of the deficiencies in the prior art, the purpose of this invention is to provide a collision avoidance system for vascular interventional robots.
[0007] The present invention provides a collision avoidance system for a vascular interventional robot, comprising a data processing module, a collision query module, a collision calculation module, a configuration module, and a vascular interventional robot arm control module.
[0008] The data processing module collects pulse position, pulse velocity, and pulse acceleration from the motors in the vascular intervention robot;
[0009] The collision inquiry module queries the necessary modules before sending any movement commands to the robot.
[0010] The collision calculation module calculates the collisions of the vascular intervention robot under various motion states.
[0011] The configuration module configures the pulse zeroing position of each motor of the vascular intervention robot;
[0012] The vascular interventional robot arm control module performs overall control of the robot arm and sends a corresponding stop command when the collision module calculates that there is a collision at a relevant location.
[0013] Preferably, the data processing module combines the pulse position, pulse velocity, and pulse acceleration of the motor with the robot model to calculate the position, velocity, and acceleration of the vascular intervention robot in the world coordinate system, calculate the pose of the robot end effector and the various parts that collide in the world coordinate system, and display the angle between the current executing hand and the horizontal blood vessel.
[0014] Preferably, the data processing module collects pulse data from each motor of the vascular intervention robot, calculates the position of each point of the robot according to the zero-point position of the motor configured by the configuration module, calculates the pose information of each point, and obtains the pose of each point of the robot in the Cartesian coordinate system.
[0015] Preferably, the collision query module determines whether a collision will occur in the direction of the upcoming movement based on the pose of each part of the vascular intervention robot and the currently transmitted motion command. If a collision occurs, it will return to the collision state, and the collision module will flash.
[0016] Preferably, the collision query module determines whether a collision will occur based on the robot's command and current state; if a collision is determined to have occurred, the system causes the simulated area at the collision location to flash; if no collision is determined to have occurred, the robot, according to the command, calls the trajectory planning module to perform trajectory planning, calls the motor, and completes the relevant actions.
[0017] Preferably, the collision calculation module calculates the distances of each part based on the configured safety distance and the poses of the points in the data processing module; it processes the calculation of point-to-point distances, point-to-mechanical plane distances, and point-to-irregular plane distances; and determines whether a collision occurs at each position based on these distances and the robot's commands. When a distance reaches the configured distance, the collision calculation module sends a stop command to the control module to stop the command that caused the collision. When the collision command is repeated, the collision query module detects the command, calculates the collision result, and ultimately the command cannot be executed.
[0018] Preferably, the collision distance is configurable; when the collision calculation module detects that a relevant logical point has reached a safe distance, it sends a corresponding command to stop.
[0019] Preferably, the collision avoidance system also includes dynamic settings for patient protection configurations, with different safety protection distances set according to the patient's size.
[0020] Preferably, the anti-collision system further includes a collision system that allows the vascular intervention robot to have two states: a command to run and a command to stop.
[0021] Preferably, the vascular intervention robot arm control module is a state machine for arm control, and the state machine features include a static state, a ready state, a processing state, a moving state, and a stopped state.
[0022] Compared with the prior art, the present invention has the following beneficial effects:
[0023] 1. The technical solution of this invention protects all parties to the greatest extent and has a low cost;
[0024] 2. This invention can effectively prevent collisions between the robot arm, actuator, and base, and can also protect the robot from collisions with patients.
[0025] 3. The system of the present invention is easy to test. Each function can be passed in with relevant parameters separately, which can be used for unit testing. It is also easy to debug. After modularization, each module has its own function, which can be better debugged and the problem can be found.
[0026] 4. The system modules of the present invention are easy to configure, with separate configuration modules that can adapt to configuration work in confined spaces or with special needs of the robot; and they are easy to reuse. After modularization, some functions can be reused in functions that will be developed in the future.
[0027] 5. The system of the present invention is easy to understand, the logic of the whole process is clearer, and the functions of each module are more clearly defined; moreover, the calculation process is less, which provides higher calculation efficiency and reduces the CPU load; it can better meet the requirements of collision and can prevent collisions that were previously impossible to prevent. Attached Figure Description
[0028] Other features, objects, and advantages of the present invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0029] Figure 1 This is a model of the vascular intervention robot and a schematic diagram of the lever zero position in an example of the present invention;
[0030] Figure 2 An example flowchart of the anti-collision system for the vascular intervention robot of the present invention;
[0031] Figure 3 This is a schematic diagram of the state machine of the arm control module in this invention.
[0032] in:
[0033] Configuration module 100, Data processing module 103
[0034] Collision query module 101 Collision calculation module 104
[0035] Arm control module 102 Other steps module 105 Detailed Implementation
[0036] The present invention will now be described in detail with reference to specific embodiments. These embodiments will help those skilled in the art to further understand the present invention, but do not limit the invention in any way. It should be noted that those skilled in the art can make several changes and improvements without departing from the concept of the present invention. These all fall within the protection scope of the present invention.
[0037] Example 1:
[0038] The present invention provides a collision avoidance system for a vascular interventional robot, including a data processing module 103, a collision query module 101, a collision calculation module 104, a configuration module 100, and a vascular interventional robot arm control module 102.
[0039] The data processing module 103 collects the pulse position, pulse velocity, and pulse acceleration of the motors in the vascular intervention robot. Combining this data with the robot's model, the module calculates the robot's position, velocity, and acceleration in the world coordinate system, as well as the pose of the robot's end effector and any parts involved in the collision, displaying the angle between the current actuator and the horizontal blood vessel. The module 103 also collects pulse data from each motor of the vascular intervention robot, calculates the position of each component based on the motor zero-point position configured by the configuration module 100, and calculates the pose information of each point, obtaining the pose of each point in the Cartesian coordinate system.
[0040] Before sending any motion commands to the robot, the collision inquiry module 101 queries the relevant modules. Based on the pose of each part of the vascular intervention robot and the currently input motion command, the collision inquiry module 101 determines whether a collision will occur in the direction of the intended movement. If a collision occurs, it returns to a collision state, and the collision module flashes. The collision inquiry module 101 determines whether a collision will occur based on the robot's command and the current state. If a collision is detected, the system causes the simulated location of the collision to flash. If no collision is detected, the robot, according to the command, calls the trajectory planning module to perform trajectory planning, activates the motors, and completes the relevant actions.
[0041] The collision calculation module 104 calculates collisions for the vascular intervention robot in various motion states. Based on the configured safety distance and the poses of points in the data processing module 103, the collision calculation module 104 calculates the distances between various parts, including point-to-point distances, distances from a point to a mechanical plane, and distances from a point to an irregular plane. Based on these distances and the robot's commands, it determines whether a collision has occurred. When a distance reaches the configured distance, the collision calculation module 104 sends a stop command to the control module to stop the command causing the collision. When the collision command is repeated, the collision query module 101 detects the command, calculates the collision result, and ultimately prevents the command from running. The collision distance is configurable; when the collision calculation module 104 detects that a relevant logical point has reached the safety distance, it sends a corresponding stop command.
[0042] The configuration module 100 configures the pulse zeroing position of each motor of the vascular intervention robot; the vascular intervention robot arm control module 102 performs overall control of the robot arm and sends corresponding stop commands when the collision module calculates that there is a collision at a relevant position. The vascular intervention robot arm control module 102 is a state machine for arm control, and the state machine features include a static state, a ready state, a processing state, a moving state, and a stopped state.
[0043] The collision avoidance system also includes dynamic settings for patient protection, allowing for different safety distances to be set based on the patient's size. The system also provides two states for the vascular intervention robot: an authorized start command and a stop command.
[0044] Example 2:
[0045] Example 2 is a preferred embodiment of Example 1, and is used to illustrate the present invention in more detail.
[0046] Collision avoidance system for vascular interventional robots. This system protects against collisions during normal operation of the vascular interventional robot, including the movement of the robotic arm and the actuator hand. It includes:
[0047] The data processing module 103 collects the pulse position, pulse velocity, and pulse acceleration from the motors in the vascular intervention robot. Then, it combines the motor pulse position, pulse velocity, and pulse acceleration with the robot model to calculate the robot's position, velocity, and acceleration in the world coordinate system. This allows for further calculation of the robot's end effector and the pose of any potentially colliding parts in the world coordinate system. The angle between the current actuator and the horizontal blood vessel is displayed, aiding the physician's judgment.
[0048] The collision query module 101 is used to query the robot before sending any motion commands. After querying, the module will determine whether a collision will occur in the direction of the intended movement based on the pose of various parts of the vascular intervention robot and the currently transmitted motion command. If a collision is expected, it will return to a collision state and cause the module indicating a collision to flash.
[0049] The collision calculation module 104 is used to calculate collisions for the vascular intervention robot under various motion states. The collision calculation module 104 extracts the poses of each point in the world coordinate system from the data processing module 103, combining them with points and lines that may collide with the vascular intervention robot on the plane. These points and lines are then combined to determine the possible collision locations of the vascular intervention robot. For example, actuators 2 and 3 select three points in the mechanical structure of actuator 2 in the model, and similarly, actuator 3 selects three points in the mechanical structure of actuator 3. Then, a collision condition for actuators 2 and 3 is calculated to determine whether actuators 2 and 3 collide. Finally, corresponding commands are sent based on the results calculated by the collision calculation module 104.
[0050] Configuration module 100 is used to configure the pulse zero-point positions of each motor of the vascular interventional robot. It also configures the zero-point positions of the shoulder, elbow, and wrist of the vascular interventional robot. Based on the zero-point positions of configuration module 100, data processing module 103 can calculate the pose of each point of the vascular interventional robot in the world coordinate system under the current state, thus providing basic data for subsequent judgments. Collision distance is also configured. The collision distance in collision calculation module 104 is determined based on the distance in configuration module 100. A default minimum position for patient protection is also configured.
[0051] The vascular interventional robot arm control module 102 is used for the overall control of the robot arm and to send corresponding stop commands when the collision module calculates a collision at a relevant location. This achieves collision avoidance for the vascular interventional robot, protecting the patient, the robot, and related consumables. The arm control module 102 simultaneously controls the coaxial motion, axial motion, vertical motion, angular clockwise motion, and angular counterclockwise motion of the robot arm.
[0052] The data processing module 103 collects the pulse data from each motor of the vascular intervention robot. Based on the motor zero-point position configured by the configuration module 100, which is the horizontal position of each link, it calculates the position of each point of the robot. It further calculates the pose information of each point, ultimately obtaining the pose of each point of the robot in the Cartesian coordinate system. The points selected by the data processing module 103 are those that need to be calculated later in collision querying and collision detection. These points were selected through practice. These points include each joint point, points on the actuator housing, and points on different planes of the housing. This forms the pose of the basic points for the collision avoidance system calculation. During the movement of the vascular intervention robot, the module also calculates the direction, speed, and acceleration information of the machine's movement under corresponding commands, becoming the data basis for collision avoidance calculations.
[0053] The collision avoidance method for vascular interventional robots involves a collision query. The robot can only continue operation after the collision query provides a non-collision command. For the collision query module 101, based on the robot's command and current state, it determines whether the current instruction will result in a collision. If a collision is predicted, the system causes the simulated area at the collision location to flash. If a collision is determined not to occur, the robot, according to the command, calls the trajectory planning module to perform trajectory planning, and then calls the motors to complete the relevant actions.
[0054] The collision avoidance algorithm provides comprehensive collision protection for the robot under normal operating conditions. The collision calculation module 104 calculates the distances of various parts based on the configured safety distances and the poses of points in the data processing module 103. Specifically, it calculates point-to-point distances, distances from a point to a mechanical plane, and distances from a point to an irregular plane. Then, based on these distances and the robot's commands, it determines whether a collision will occur at each location. When a distance reaches the configured limit, the collision calculation module 104 sends a stop command to the control module, thus stopping the collision command. If the robot attempts to execute a collision command again, the collision query module 101 will detect this, calculate the collision result, and ultimately prevent the command from running.
[0055] The collision avoidance system has a configurable collision distance. When the collision calculation module 104 detects that a relevant logical point has reached the safe distance, it will send a corresponding command to stop. This protects the robotic arm, the patient, and medical supplies.
[0056] The collision avoidance system also includes dynamic settings for patient protection configurations. Different safe protection distances are set according to the patient's size.
[0057] The collision avoidance system also includes a collision system that allows the vascular intervention robot to have only two states: allow the command to run or stop the command.
[0058] The arm control module 102 is a state machine for arm control. The state machine features include a static state, a ready state, a processing state, a moving state, and a stopped state.
[0059] The entire collision avoidance system of this invention operates as follows: First, the configuration module configures the safe distances for each collision point, the range of motion for each motor, and the safe distance between the robot and the human body or bed. After the program is configured, the entire robot system can enter normal working mode. In normal operation, the data processing module continuously runs, providing the current status of all motors, including motor status, speed, acceleration, pulse value, and other motor information. Then, the doctor can operate the vascular intervention robot system via the software interface or the buttons on the control console. When the doctor operates the robot to move the robot arm, the collision query module first checks for collisions. If no collision is detected, the vascular intervention robot arm control module sends relevant control commands to the motors required for movement, causing the vascular intervention robot to move according to the planned path and posture. During the robot's movement, the collision calculation module continuously runs. Based on the commands from the data processing module and the arm control module, and the trajectory planning data, the collision calculation module calculates whether the current pose of each part of the vascular intervention robot is within the safe distance configured by the configuration module. When the collision calculation module determines that any part of the vascular intervention robot exceeds the safe distance of the configuration module, a collision is detected, and a stop command is sent to the relevant location via the vascular intervention robot arm control module. At this point, the vascular intervention robot arm stops moving, and the collision calculation module ceases operation. To allow the vascular intervention robot to re-enter motion, it needs to re-enter the collision avoidance system of this invention according to the logic described above.
[0060] In light of the current state of vascular interventional surgery robots, a collision avoidance system for such robots has been invented. This invention provides both the practical and theoretical aspects of collision avoidance for vascular interventional robots. The first step is the robot modeling process. The robot is a 3-axis arm with an additional movement mechanism, essentially an RRRP robot. To simplify the robot model, it is simplified to an RRR and the additional movement mechanism. This transforms the vascular interventional robot into a standard 3R arm structure. Based on the specific applications of vascular interventional surgery, the zero points of the shoulder joint, axis joints, and wrist joint are all selected at specific locations using a level, facilitating subsequent calculations and understanding. The overall placement diagram is shown below. Figure 1As shown, after modeling the robot, the zero-point position is determined by ensuring that links AB, BC, and CD are aligned with the x-axis, which is also the 0-degree position for calculating motor angles. The counter-clockwise direction is considered positive. At this point, the robot model is established, and the zero-point positions of each axis of the robot's rotary motors are found. The vascular interventional surgery robot has two arms and four hands. The modeling method for the other arm and hand is the same. Because the arm and hand only move in the x and y planes, the z-axis direction is temporarily disregarded. Therefore, this modeling method greatly simplifies the problem and makes it easier to understand. The robot modeling process is described below.
[0061] First is the configuration module 100. The configuration module 100 is used to configure the minimum distance between various collision points of the vascular interventional surgical robot. It also configures the pulse position of the motors when the robot arm is at zero degrees. Finally, it configures the default position of the robot relative to the patient.
[0062] The data processing module 103 receives pulse information, velocity information, and acceleration information from the motor. Based on the configuration information, the data processing module 103 converts the motor pulse information into distance or angle information. Then, based on the model, it calculates the pose information of potential collision points in the world coordinate system. The data processing module 103 continuously processes and obtains the pose information of the robot arm's end effector.
[0063] The data processing module 103 also includes emergency processing of some abnormal data to keep the robot's arm temporarily unable to move.
[0064] The collision query module 101 is used to judge and control the robot's commands before movement. When the collision query result is no collision, the robot's command can be sent to the motor's actuator, and the robot will then move. When the collision query result is a collision, the robot's control command cannot be issued, and the part of the robot that is about to collide is flashed to indicate this.
[0065] The collision calculation module 104 is used to calculate the pose information of key points after data processing. It calculates the distances between each key point, the distance of a straight line from a key point to a given point, and the minimum distance to the currently executing hand. After calculating the distances, it further calculates the relevant distances to ensure that related positions do not collide.
[0066] The collision calculation module 104 includes calculating the distances between key points, the distances from key points to relevant lines, and the distances from key points to points on relevant non-standard planes where feature points can be extracted to represent the non-standard plane. It also includes calculating the position of the end effector as close to the patient as possible. All these distances are configured with corresponding safety distances.
[0067] Collision calculation also includes combining several distance judgments to form a criterion for judging collisions between two positions of the vascular intervention robot.
[0068] Collision calculation also includes determining whether the current robot command will resolve the collision after a collision state is identified. If it can resolve the collision, the collision calculation module 104 will execute the command.
[0069] Collision calculation also includes sending a stop command to the robotic arm in the event of an imminent collision, allowing the robot to stop safely and ensuring collision avoidance between the robot and the patient. When a collision is determined to be unlikely, the collision calculation module 104 will not issue any instructions to the robot. This ensures that the collision avoidance system will not affect the normal operation of the vascular interventional robot, enhancing system stability.
[0070] The arm control module is a state machine for controlling arm motion. The arm's state changes according to different commands, controlling the arm to perform different movements. These motion states include axial movement, vertical movement, horizontal movement, and hand movements. The arm control module establishes a state machine for arm motion. The operation of the state machine is described in [link to documentation]. Figure 3 Each arm state is categorized into four phases: stationary, ready, processing, moving, and stopped. When the arm moves, the main thread sends a command indicating the arm's movement state. Upon receiving the command, the arm's state machine prepares accordingly, calculating data and collision avoidance mechanisms while simultaneously sending relevant data. When a collision is detected, a stop command is sent, and the arm enters the corresponding state machine and stops operating. This method controls various movement modes using a state machine, providing better and more explicit control over the arm's movement state.
[0071] The robot model in this invention is established based on the DH modeling method.
[0072] Specific distance calculation formulas include the two-point distance formula:
[0073] The formula for calculating the distance from a point to a line is as follows:
[0074] Let there be two points A and B, with coordinates A(x1, y1) and B(x2, y2) respectively. Then the distance between points A and B is:
[0075] Let the equation of line L be Ax + By + C = 0, and the coordinates of point P be (x0, y0). Then the distance from point P to line L is:
[0076] When the vascular interventional robot is in operation, the doctor may manipulate the movement of the hand or arm. At this time, by calculating the distances between points in a simplified model, the distances from points to certain straight lines, and the distances from points to certain groups of points, and finally through logical deduction, it is determined whether two parts will collide. This achieves collision avoidance for the vascular interventional robot, protecting the robot's arm, the patient, and medical consumables.
[0077] To make the present invention clearer, the following examples will be used to further illustrate the present invention in detail.
[0078] Figure 1 This is an exemplary structural diagram of the collision avoidance system for a vascular interventional robot in an embodiment of the present invention. In this example, the movement of one of the robotic arms is controlled by an installed drive motor and actuator (not shown in the circle in the diagram). The end of the actuator also has a linear motor and actuator. The encoder values of each motor can be transmitted to the collision avoidance system via a protocol. The entire collision avoidance system includes a configuration module 100, a collision query module 101, an arm control module 102, a data processing module 103, and a collision avoidance calculation module 104.
[0079] Figure 1 This is a simplified model of a vascular interventional robot. As shown in the diagram, the robot has two arms. The marked points on the robot may collide with other parts. Taking the collision between rod AB and point J on the base in the simplified diagram as an example, and combining this with the workflow... Figure 2 and arm control Figure 3 Explain the collision process of a collision avoidance system.
[0080] The first step is system startup, which involves a self-check procedure. Step 106 checks whether the vascular interventional robot is functioning properly.
[0081] The system then enters the configuration module 100 to read the pre-configured safety distance standards into the program. Simultaneously, the robotic arm operates to determine the patient's lowest and closest head positions. This configures the standards for patient protection.
[0082] The system then waits for robot commands. These commands include commands for the arm and the hand. Arm commands include horizontal and vertical movements. Hand commands include forward, backward, rotation, and tightening. Once a command is input, the system enters the collision query module 101. The collision query module 101 determines whether the current command will cause a collision. If a collision occurs, it enters the collision display module 105, displaying the colliding mechanism. If no collision occurs, the current command is executed. For example, consider the collision between lever AB and point J. When a command is given to move robot arm 1 vertically downwards, lever AB will move closer to point J. When the system determines that lever AB will collide with point J, it sends a stop command to the arm collision module. The arm then stops. When the system tries to move robot arm 1 vertically downwards again, the collision detection module detects that the current command will cause a collision, displays the collision module, and does not send the corresponding control command to the arm control module 102. For example, when the robot arm 1 is to move horizontally in the negative x-axis direction, because this command will not cause a collision, it will continue to be passed to the arm control module 102, allowing the robot arm to complete the corresponding action. This is the function of collision query: preventing collision-causing commands from being executed, while allowing non-collision-causing commands to continue to be executed.
[0083] Then, when the collision query module 101 determines that there will be no collision, it will send a control command to the arm control module 102. The arm control module 102 will then... Figure 3 The operating principle of the robot arm state machine is as follows: after trajectory planning and interpolation algorithms, relevant path information and pulse information are sent to the motor controller, causing the motor to perform corresponding movements, thus allowing the robot arm to move along the planned trajectory. At the same time, the data processing module 103 is activated.
[0084] The data processing module 103102 calculates the data based on the robot model and the input motor information. Figure 1 The system calculates the pose information of each point. It also combines these to generate special points with irregular shapes. The system calculates the distances between points and between points and lines. Finally, it calculates the velocity, acceleration, and direction information of relevant points.
[0085] Then, the collision calculation module 104103 is entered. The collision calculation module 104 performs relevant logical operations based on the configuration information, data processing information, and robot command information to calculate whether a collision will occur at each collision point. Taking the collision between lever AB and point J as an example, the movement of lever AB is only related to the motor movement of shoulder joint A. Therefore, the configuration module 100 configures the operable range of the shoulder joint motor. Simultaneously, the robot's planned movements, such as vertical downward movement, horizontal leftward movement, and axial leftward movement of the vascular intervention robot arm, which allow lever AB to move, may all lead to a collision between lever AB and point J. The collision calculation module 104 first calculates the collision point of the trajectory, thus stopping the robot arm at the point before a possible collision. Simultaneously, the collision calculation module 104 also determines whether a collision will occur based on the range of the shoulder joint and the safe distance between lever AB and point J. When the safe distance is reached, a collision is determined. Then, combined with the state machine, a stop command is sent to the arm control module 102. Then, the corresponding movement of the vascular intervention robot stops, and the corresponding collision mechanism is displayed. When the same command is sent, or a command that may cause a collision between link AB and point J, the collision query module 101 will directly reject the control command to be sent to the robot and display the current collision mechanism. When the collision calculation module 104 calculates that there is no collision, it will make the collision calculation thread wait for 10ms, and then re-enter the collision calculation module 104103 to make a judgment.
[0086] This ensures that the AB levers of the interventional vascular robot will not collide with point J under any robot command. The same method can be applied to other key points where collisions may occur, thus realizing a collision avoidance system for the interventional vascular robot and ensuring the safety of the patient, the robot, and consumables.
[0087] Those skilled in the art will understand that, besides implementing the system and its various devices, modules, and units provided by this invention in the form of purely computer-readable program code, the same functions can be achieved entirely through logical programming of the method steps, making the system and its various devices, modules, and units of this invention function in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, the system and its various devices, modules, and units provided by this invention can be considered as a hardware component, and the devices, modules, and units included therein for implementing various functions can also be considered as structures within the hardware component; alternatively, the devices, modules, and units for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0088] Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the specific embodiments described above, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Unless otherwise specified, the embodiments and features described in this application can be arbitrarily combined with each other.
Claims
1. A collision avoidance system for vascular interventional robots, characterized in that, It includes a data processing module (103), a collision query module (101), a collision calculation module (104), a configuration module (100), and a vascular intervention robot arm control module (102). The data processing module (103) collects the pulse position, pulse velocity and pulse acceleration from the motor in the vascular intervention robot; The collision query module (101) queries the relevant modules before sending any motion commands to the robot. The collision calculation module (104) calculates the collision of the vascular intervention robot in various motion states; The configuration module (100) configures the pulse zeroing position of each motor of the vascular intervention robot; The vascular interventional robot arm control module (102) performs overall control of the robot arm and sends a corresponding stop command when the collision module calculates that there is a collision at a relevant position; The collision query module (101) determines whether a collision will occur in the direction of the movement based on the pose of each part of the vascular intervention robot and the currently transmitted motion command. If a collision occurs, it will return to the collision state and the collision module will flash. The collision calculation module (104) calculates the distance of each part according to the configured safety distance and the pose of the point in the data processing module (103); it calculates the distance between points, the distance between a point and a mechanical plane and the distance between a point and an irregular plane, and judges whether there is a collision at each position based on these distances and the robot's command. When a distance reaches the configured distance, the collision calculation module (104) sends a stop command to the control module to stop the command that causes the collision. When the collision command is repeated, the collision query module (101) detects the command, calculates the result of the collision, and finally the command cannot be run.
2. The anti-collision system for vascular interventional robots according to claim 1, characterized in that, The data processing module (103) combines the pulse position, pulse velocity and pulse acceleration of the motor with the robot model to calculate the position, velocity and acceleration of the vascular intervention robot in the world coordinate system, calculate the pose of the robot end and the various parts that collide in the world coordinate system, and display the angle between the current execution hand and the horizontal blood vessel.
3. The anti-collision system for vascular interventional robots according to claim 1, characterized in that, The data processing module (103) collects pulse data of each motor of the vascular intervention robot, calculates the position of each part of the robot according to the zero position of the motor configured by the configuration module (100), calculates the pose information of each point, and obtains the pose of each point of the robot in the Cartesian coordinate system.
4. The anti-collision system for vascular interventional robots according to claim 1, characterized in that, The collision query module (101) determines whether a collision will occur based on the robot's command and current state. When a collision is determined to have occurred, the system makes the simulated part of the collision location flash. When no collision is determined to have occurred, the robot calls the trajectory planning module according to the command to perform trajectory planning, calls the motor, and completes the relevant actions.
5. The anti-collision system for a vascular interventional robot according to claim 1, characterized in that, The collision distance can be configured; when the collision calculation module (104) detects that a relevant logical point has reached the safe distance, it sends a corresponding command to stop.
6. The anti-collision system for a vascular interventional robot according to claim 1, characterized in that, The collision avoidance system also includes dynamic settings for patient protection configurations, with different safety protection distances set according to the patient's size.
7. The anti-collision system for vascular interventional robots according to claim 1, characterized in that, The collision avoidance system also includes a collision system that allows the vascular intervention robot to have two states: a command to run and a command to stop.
8. The anti-collision system for a vascular interventional robot according to claim 1, characterized in that, The vascular intervention robot arm control module (102) is a state machine for arm control, and the state machine features include a static state, a ready state, a processing state, a moving state, and a stopped state.
Citation Information
Patent Citations
Passive positioning mechanical arm for propelling mechanism of endovascular intervention surgical robot
CN111449752A
Mobile robot operation system having anti-collision function
CN105082160A
Patient positioning system for radiation therapy system
CN1894577A