Contact sensing method, device, medium, equipment and system of continuum robot

By installing sensors on the proximal end of the continuum robot body and on the drive rope, force and driving force data are collected, solving the problem of contact perception in miniaturized continuum robots and realizing real-time and reliable contact perception function.

CN122008168APending Publication Date: 2026-05-12深圳科微医疗科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
深圳科微医疗科技有限公司
Filing Date
2026-02-27
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing technologies make it difficult to implement contact sensing functions in small continuum robots, and sensor integration requires additional space, which affects the miniaturization requirements of robots.

Method used

By installing sensors on the proximal end of the robot body and on the drive rope, force data and driving force data are collected respectively. By combining these data, contact perception information is determined, avoiding the direct placement of sensors on the robot body and reducing computational complexity.

Benefits of technology

It enables real-time and reliable contact perception for small continuum robots, reducing the space occupied by the robot's interior and lowering computational complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122008168A_ABST
    Figure CN122008168A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of continuum robots, and discloses a continuum robot contact sensing method and device, a medium, equipment and a system.According to the scheme, force sense data of a robot body at the near end are obtained, and the force sense data are used for representing overall stress data of the robot body at the near end; meanwhile, driving force data transmitted to the robot body by the driving rope are obtained; and determining contact sensing information of the continuum robot according to the force sense data and the driving force data. According to the technical scheme, the force sense data and the driving force data are collected at the near end and the driving rope end, it is avoided that sensors are directly arranged on the robot body, and therefore the limited working space of the robot is prevented from being occupied; and meanwhile, the contact perception information can be determined by utilizing the near-end force sense data and the driving force data without depending on complex model calculation, so that the calculation complexity is remarkably reduced, and real-time and reliable contact perception in the operation can be realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of continuum robot technology, and in particular to a contact sensing method, device, medium, equipment and system for a continuum robot. Background Technology

[0002] Continuum robots can perform complex movements in confined spaces, showing great potential in medical fields such as neurosurgery, otolaryngology, and laparoscopic surgery. Rope-driven mechanisms are the most classic and widely used actuation method for continuum robots. Compared to other types of continuum robots, rope-driven designs clearly embody biomimetic principles. Similar to the human body structure, the driving ropes are analogous to muscles, and the robot's main body is analogous to the skeleton, achieving coordinated operation through computer control.

[0003] During the movement of a continuous robot, it needs to sense its own contact state, such as the contact position, contact force, and its own shape when in contact with the external environment, in order to achieve high-precision control. To realize the contact sensing function of a continuous robot, related technologies integrate strain gauges, fiber optic sensors, etc., inside the continuous robot to directly measure the robot's shape or contact force. This approach requires additional space to integrate sensors and is difficult to apply to small continuous robots.

[0004] Therefore, there is an urgent need to provide a contact sensing solution that can meet the miniaturization requirements of continuum robots. Summary of the Invention

[0005] To address the aforementioned issues, this application provides a contact sensing method, apparatus, medium, device, and system for a continuum robot.

[0006] According to one aspect of the embodiments of this application, a contact sensing method for a continuum robot is disclosed. The continuum robot includes a robot body and a drive rope, the drive rope being used to drive the robot body to bend. The contact sensing method includes: acquiring force data of the robot body at its proximal end, the force data being data representing the overall force on the robot body at its proximal end; acquiring driving force data transmitted by the drive rope to the robot body; and determining contact sensing information of the continuum robot based on the force data and the driving force data, the contact sensing information being information representing the contact state of the continuum robot.

[0007] According to one aspect of the embodiments of this application, a contact sensing device for a continuum robot is disclosed. The continuum robot includes a robot body and a drive rope, the drive rope being used to drive the robot body to bend. The contact sensing device includes: a first acquisition module configured to acquire force data of the robot body at its proximal end, the force data being data representing the overall force on the robot body at its proximal end; a second acquisition module configured to acquire driving force data transmitted by the drive rope to the robot body; and a determination module configured to determine contact sensing information of the continuum robot based on the force data and the driving force data, the contact sensing information being information representing the contact state of the continuum robot.

[0008] According to one aspect of the embodiments of this application, a computer-readable medium is disclosed having a computer program stored thereon, which, when executed by a processor, implements the contact sensing method as described in the above embodiments.

[0009] According to one aspect of the embodiments of this application, an electronic device is disclosed, comprising: one or more processors; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement the contact sensing method as described in the above embodiments.

[0010] According to one aspect of the embodiments of this application, a robot system is disclosed, comprising: a continuum robot, the continuum robot including a robot body and a drive rope, the drive rope being used to drive the robot body to bend; a first sensor, installed at the proximal end of the robot body, for collecting force data of the robot body at the proximal end; a second sensor, installed on the drive rope, for collecting driving force data transmitted by the drive rope to the robot body; and electronic equipment as described in the above embodiments.

[0011] In some embodiments of this application, the technical solutions first acquire force data at the proximal end of the robot body. This force data represents the overall force experienced by the robot body at the proximal end. Simultaneously, the driving force data transmitted to the robot body via the drive rope is acquired. Based on the force data and driving force data, the contact perception information of the continuum robot is determined. Compared to directly installing sensors on the robot body to obtain contact perception information, the technical solutions of this application avoid directly deploying sensors on the robot body by collecting force data and driving force data at the proximal end and the end of the drive rope, thus avoiding the occupation of the robot's limited workspace. Furthermore, contact perception information can be determined using proximal force data and driving force data without relying on complex model calculations, significantly reducing computational complexity and facilitating real-time and reliable contact perception during surgery. Attached Figure Description

[0012] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the specification, serve to explain the principles of this application.

[0013] Figure 1 A schematic diagram of the structure of an exemplary robot system to which the technical solutions of the embodiments of this application can be applied is shown.

[0014] Figure 2 A schematic diagram of a partial structure of an exemplary continuum robot is shown.

[0015] Figure 3 A flowchart of a contact sensing method for a continuum robot according to an embodiment of this application is shown.

[0016] Figure 4 A flowchart illustrating the determination of the contact position according to one embodiment of this application is shown.

[0017] Figure 5 A flowchart illustrating the determination of force and torque values ​​according to one embodiment of this application is shown.

[0018] Figure 6 A schematic diagram showing the deflection angle at the distal end of a flexible beam after deformation, as well as the force and moment acting on the distal end of the flexible beam, is provided for one embodiment.

[0019] Figure 7 A flowchart illustrating the determination of the total length of the drive rope according to one embodiment of this application is shown.

[0020] Figure 8 A flowchart illustrating the determination of the length of the drive rope within the robot body according to one embodiment of this application is shown.

[0021] Figure 9 A block diagram of the contact sensing device of a continuum robot according to an embodiment of this application is shown.

[0022] Figure 10 A block diagram of an electronic device according to an embodiment of this application is shown.

[0023] Figure 11 A computer system architecture block diagram is shown for implementing some embodiments of this application. Detailed Implementation

[0024] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art.

[0025] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.

[0026] It should be noted that the terminology used in the specification, claims, and accompanying drawings of this application is for describing embodiments only and is not intended to limit the scope of this application. It should be understood that the terms "comprising," "including," "having," etc., as used herein, specify the presence of the stated features, integrals, steps, operations, elements, components, and / or groups thereof, but do not preclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof.

[0027] It will be further understood that although the terms “first,” “second,” etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, a first element may be referred to as a second element without departing from the scope of the invention. Similarly, a second element may be referred to as a first element. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items.

[0028] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0029] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.

[0030] It should be understood that in this application, "at least one" means one or more, and "more" means two or more.

[0031] Figure 1 This diagram illustrates the structure of an exemplary robot system to which the technical solutions of the embodiments of this application can be applied. Figure 2 A schematic diagram of a partial structure of an exemplary continuum robot is shown.

[0032] Reference Figure 1 and Figure 2 As shown, the robot system 100 may include a continuum robot 101, a first sensor 102, a second sensor 103, and electronic devices (not shown in the figure).

[0033] The continuum robot 101 includes a robot body and a drive rope 1011.

[0034] Reference Figure 2 As shown, the robot body includes multiple flexible beams 1012. The flexible beams 1012 undergo bending deformation under the action of the drive rope 1011, thereby causing the robot body to bend. The flexible beams 1012 can be made of stainless steel, spring steel, nickel-titanium alloy, or high-performance composite materials to balance the flexibility and load-bearing capacity of the flexible beams 1012.

[0035] The robot body also includes a rigid frame 1013 connected to both ends of each flexible beam 1012. The rigid frame 1013 provides structural support for the flexible beam 1012, limiting the flexible beam 1012 from generating unintended excessive deformation or local buckling, and ensuring that the deformation of the flexible beam 1012 is mainly concentrated in a preset direction. The rigid frame 1013 can be designed as a ring, a short tube, a C-shaped or U-shaped cross section to adapt to different bending modes and spatial constraints.

[0036] The drive rope 1011 is used to drive the flexible beam 1012 to bend and deform, thereby causing the robot body to bend and deform, and in turn causing the continuous robot 101 to bend and deform. The drive rope 1011 is threaded through the rigid frame 1013, and the tension distribution of the drive rope 1011 is changed by the drive unit such as a motor to raise and lower the drive rope 1011, thereby causing the flexible beam 1012 to bend and deform.

[0037] The number of drive ropes 1011 can be one or more. Figure 1 In the illustrated embodiment, there are two drive ropes 1011, which are threaded through the rigid frame 1013. By adjusting the tension distribution between the two drive ropes 1011, precise coordinated control of the robot body's bending, twisting, or combined movements in different directions can be achieved.

[0038] The first sensor 102 is installed at the proximal end of the robot body, for example, at the connection between the robot base, the drive unit, and the robot body. It can also be integrated into the structure at the proximal end of the robot body, such as in the base flange. The first sensor 102 is used to collect force data of the robot body at the proximal end. This force data is used to represent the overall force on the robot body at the proximal end, and may include the overall force components of the robot body in one or more directions at the proximal end, and may further include the overall torque components of the robot body in one or more directions at the proximal end.

[0039] When the force data only includes the overall force component of the robot body at the proximal end, the first sensor 102 can be a force sensor. This force sensor can be a multi-dimensional force sensor capable of collecting force data in multiple directions, or it can be a single-dimensional sensor that only collects axial force or normal force. When the force data also includes the overall torque component of the robot body at the proximal end, the first sensor 102 can also be a force / torque sensor with integrated torque measurement function, capable of collecting force and torque information of the robot body at the proximal end.

[0040] The second sensor 103 is mounted on the drive rope 1011, for example, at the connection between the drive rope 1011 and the drive unit. The second sensor 103 is used to collect the driving force data transmitted from the drive rope 1011 to the robot body, that is, the tension or pulling force information transmitted by the drive rope 1011.

[0041] The electronic device can be electrically connected to the first sensor 102 and the second sensor 103 to receive force data collected by the first sensor 102 and driving force data collected by the second sensor 103. Based on the force data collected by the first sensor 102 and the driving force data collected by the second sensor 103, the contact perception method of the continuum robot of this application is executed to determine the contact perception information of the continuum robot 101.

[0042] The implementation details of the technical solutions in the embodiments of this application are described in detail below: Figure 3 A flowchart of a contact sensing method for a continuum robot according to an embodiment of this application is shown. This contact sensing method can be executed by the aforementioned electronic device, see reference... Figure 3 As shown, the contact sensing methods for continuum robots include: Step S310: Obtain force data of the robot body at the proximal end. The force data is used to represent the overall force on the robot body at the proximal end.

[0043] Step S320: Obtain the driving force data transmitted from the drive rope to the robot body.

[0044] Step S330: Based on the force data and driving force data, determine the contact perception information of the continuum robot. The contact perception information is used to represent the contact state of the continuum robot.

[0045] It is understood that step S310 is not limited to being executed before step S320. It can be that step S310 and step S320 are executed simultaneously, or step S320 is executed first and then step S310 is executed.

[0046] These steps are described in detail below.

[0047] Step S310: Obtain force data of the robot body at the proximal end. The force data is used to represent the overall force on the robot body at the proximal end.

[0048] Force perception data at the proximal end of the robot body includes all forces acting on the robot body, such as the driving force of the internal drive rope and the external contact force when the robot body comes into contact with the external environment. By acquiring force perception data at the proximal end of the robot body, we can know the overall force on the robot body at the proximal end, so as to analyze the overall force on the robot body at the proximal end in subsequent steps and determine the contact perception information of the continuum robot.

[0049] Force data can be acquired through sensors located near the proximal end of the robot body, for example, via... Figure 1 The first sensor 102 shown collects force data. The force data collected by the first sensor 102 can be force data in multiple directions, force data in a single direction, or force and torque data in multiple directions. In this embodiment, the force data is six-dimensional data, including three-dimensional force and three-dimensional torque. This six-dimensional force data can be collected by a single six-dimensional force / torque sensor or by a combination of six single-dimensional force / torque sensors. In other embodiments, the force data can also be indirectly estimated based on feedback signals such as current and torque from the continuous robot drive unit, combined with the robot's kinematics and dynamics model.

[0050] Step S320: Obtain the driving force data transmitted from the drive rope to the robot body.

[0051] When the drive rope is stressed, the flexible beam of the robot body bends and deforms, thus causing the robot body to bend and deform. The magnitude and direction of the drive force transmitted to the robot body affect the bending deformation of the flexible beam, thereby affecting the shape of the robot body. By acquiring the drive force data transmitted from the drive rope to the robot body, we can analyze the drive force data in subsequent steps to determine the contact perception information of the continuum robot.

[0052] Drive force data can be acquired by a sensor mounted on the drive rope. This sensor can be, for example,... Figure 1 The second sensor 103 shown is mounted on the drive rope, for example, at the proximal end of the drive rope, to collect drive force data transmitted from the proximal end of the drive rope to the robot body. In other embodiments, the drive force data can also be indirectly calculated from feedback signals such as current, voltage, torque, or displacement of the continuum robot drive unit.

[0053] Step S330: Based on the force data and driving force data, determine the contact perception information of the continuum robot. The contact perception information is used to represent the contact state of the continuum robot.

[0054] The contact perception information of a continuum robot can include the contact force exerted on the robot body by the external environment when the robot body comes into contact with the external environment, the contact position of the robot body when it comes into contact with the external environment, and the shape of the robot body itself.

[0055] After obtaining force data and driving force data through steps S310 and S320, that is, after obtaining the overall force data of the robot body at the proximal end and the driving force data transmitted to the robot body by the driving rope, the contact perception information of the continuum robot can be determined, that is, the contact force between the robot body and the external environment, the contact position, and the shape of the robot body after contact with the external environment can be determined.

[0056] Figure 3 In the illustrated embodiment, during the determination of contact perception information for the continuum robot, force and driving force data are collected at the proximal end and the end of the drive rope. Compared to directly installing sensors on the robot body to obtain contact perception information, this avoids directly deploying sensors on the robot body, which helps reduce the space occupied by sensors within the continuum robot, thus contributing to the miniaturization of the continuum robot. Simultaneously, contact perception information can be determined using proximal force and driving force data without relying on complex model calculations, significantly reducing computational complexity and facilitating real-time and reliable contact perception during surgery.

[0057] In some embodiments, the contact sensing information includes the contact force exerted on the robot body by the external environment when the robot body comes into contact with the external environment, i.e., the external contact force. The external contact force of the continuum robot can be determined based on the difference between the force sensing data and the driving force data.

[0058] During the robot's operation, the main forces it experiences come from external contact forces and the driving force transmitted by the drive rope. Force perception data represents the overall force experienced by the robot at its proximal end. Subtracting the driving force transmitted by the drive rope from the force perception data yields the external contact force. Therefore, step S330 determines the contact perception information of the continuum robot based on the force perception data and the driving force data, including: determining the external contact force of the continuum robot based on the difference between the force perception data and the driving force data.

[0059] In some embodiments, the force values ​​in the same direction of the force perception data and the driving force data are subtracted to obtain the force value of the external contact force of the continuum robot in that direction. The external contact force of the continuum robot can be determined according to the following relationship (1):

[0060] in, , , These represent the force values ​​of the external contact force in different directions. , , These represent the force values ​​of the force perception data in different directions. , , These represent the driving force values ​​of the drive rope in different directions, where 'a' is the number of the drive rope. For example, when the total number of drive ropes is 2, 'a' equals 1 or 2. This refers to drive rope 1, for example, it could be... Figure 2 The first drive rope (red) in the middle. This refers to drive rope 2, for example, it could be... Figure 2 The second drive rope (blue). The number of drive ropes. The force data is then transferred to... Force value in direction With all drive ropes in Subtracting the sum of the driving forces transmitted in the direction, we obtain the external contact force. Force value in direction Force data in Force value in direction With all drive ropes in Subtracting the sum of the driving forces transmitted in the direction, we obtain the external contact force. Force value in direction Force data in Force value in direction With all drive ropes in Subtracting the sum of the driving forces transmitted in the direction, we obtain the external contact force. Force value in direction .

[0061] Force data represents the total force acting on the robot body. By subtracting all the driving forces transmitted by the drive cables from this total force, the external contact force is separated from the driving force transmitted by the drive cables, which helps to obtain accurate external contact force.

[0062] In some embodiments, the contact sensing information further includes the contact position of the robot body when it comes into contact with the external environment, and the contact sensing method further includes: determining the contact position of the robot body when it comes into contact with the external environment based on external contact force and driving force data.

[0063] The external contact force is determined by the difference between force data and driving force data. Based on this, the contact position of the robot body when it comes into contact with the external environment is determined by using the determined external contact force and the collected driving force data. The contact position of the robot body when it comes into contact with the external environment can be obtained without integrating sensors on the robot body.

[0064] Figure 4 A flowchart illustrating the determination of a contact location according to an embodiment of this application is shown. (Refer to...) Figure 4 As shown, based on external contact force and driving force data, the contact position of the robot body when it comes into contact with the external environment is determined, including: Step S410: Preset a contact position of the robot body, and determine the far end position of each flexible beam after deformation based on the preset contact position, driving force data and external contact force.

[0065] Step S420: Determine the total length of the drive rope based on the distal position of each flexible beam after deformation. The total length of the drive rope includes the length of the drive rope within the robot body and the elastic elongation length of the drive rope.

[0066] Step S430: Update the preset contact position based on the difference between the total length of the drive rope and the preset drive rope length, and iterate the update process of the contact position until the difference converges.

[0067] Step S440: Take the contact position corresponding to the convergence of the difference as the contact position when the robot body comes into contact with the external environment.

[0068] Figure 4 In the illustrated embodiment, a predetermined contact position for the robot body is first established. Then, the distal position of each flexible beam after deformation is determined by combining the acquired driving force data and external contact force. The total length of the drive rope is then determined based on the distal position of each flexible beam after deformation. This process is iteratively updated until the difference between the calculated total drive rope length and the predetermined drive rope length converges. The difference between the total drive rope length and the predetermined drive rope length effectively reflects the deviation of the contact position, and updating the contact position accordingly helps to obtain an accurate contact position.

[0069] In step S410, a contact position of the robot body is preset, and the far end position of each flexible beam after deformation is determined based on the preset contact position, driving force data and external contact force.

[0070] The distal position of each flexible beam after deformation is related to the contact position of the robot body, the driving force data, and the external contact force. To determine the distal position of each flexible beam after deformation, a contact position of the robot body can be preset. Then, the distal position of each flexible beam after deformation is determined using the preset contact position, known driving force data, and external contact force.

[0071] In some embodiments, the method of determining the far end position of each flexible beam after deformation using a preset contact position, known driving force data and external contact force can be to determine the far end position of each flexible beam after deformation by iterative calculation based on the preset contact position, driving force data and external contact force.

[0072] Specifically, this process can include: First, for each flexible beam, based on preset contact positions, driving force data, and external contact forces, the deformed distal position is determined through iterative calculation. Each iteration includes: determining the force and moment values ​​acting on the distal end of the flexible beam in the current iteration based on the preset contact positions, driving force data, the previously obtained distal position of the flexible beam after deformation, and the external contact forces; obtaining the distal position of the flexible beam after deformation in the current iteration based on the force and moment values ​​acting on the distal end of the flexible beam and the elastic modulus of the flexible beam determined in the previous iteration; and determining the elastic modulus of the flexible beam in the current iteration based on the obtained distal position. Then, the above iterative calculation process is repeated until the loss value between the previous parameter values ​​and the current parameter values ​​converges, thus determining the deformed distal position of each flexible beam. The parameter values ​​include at least one of the following: the deformed distal position of the flexible beam, the force value acting on the distal end of the flexible beam, the moment value, and the elastic modulus.

[0073] In this embodiment, the physical centerline of the continuum robot can be discretized into multiple segments. Each segment corresponds to a flexible beam. For each flexible beam, the distal position of the deformed flexible beam is determined through iterative calculation until the loss value between the previous parameter value and the current parameter value converges. The parameter value may include at least one of the following: the distal position of the deformed flexible beam, the force value acting on the distal end of the flexible beam, the torque value, and the elastic modulus. This means that the calculation and application of the loss value are not limited to a specific parameter, but can flexibly select any one or more of the variable parameters.

[0074] In the field of medical devices, the end of a medical device that is closer to the operator during use is usually defined as the proximal end, and the end that is farther away from the operator during use is defined as the distal end. Therefore, the distal end of a flexible beam after deformation is the same as the end of the flexible beam that is farther away from the operator after deformation.

[0075] The following describes the calculation process for each iteration: Based on the preset contact position, driving force data, the far end position of the flexible beam after deformation obtained in the previous iteration, and the external contact force, the force and moment values ​​acting on the far end of the flexible beam in this iteration are determined. Based on the force and moment values ​​acting on the far end of the flexible beam and the elastic modulus of the flexible beam determined in the previous iteration, the far end position of the flexible beam after deformation in this iteration is obtained. Based on the far end position obtained in this iteration, the elastic modulus of the flexible beam in this iteration is determined.

[0076] Specifically, in the first round of iterative calculations, the distal position and elastic modulus of each flexible beam are given. Therefore, based on the given distal position, preset contact position, driving force data, and external contact force, the force and moment values ​​acting on the distal end of the flexible beam can be determined. Then, based on the determined force and moment values ​​and the given elastic modulus, the distal position of the flexible beam after deformation can be obtained. After obtaining the distal position, the elastic modulus of the flexible beam can be determined based on the distal position. This iterative process is then repeated, executing the process of "calculating force and moment values, solving for the distal position, solving for the elastic modulus, and finally comparing the differences." If convergence has been achieved, the iteration terminates.

[0077] In other embodiments, determining the distal position of each flexible beam after deformation using a preset contact position, known driving force data, and external contact force can also involve constructing geometric constraints based on the preset contact position, establishing kinematic equilibrium equations by combining the driving force data and external contact force, and determining the distal position of each flexible beam after deformation by solving the kinematic equilibrium equations. Alternatively, the distal position of each flexible beam after deformation can be directly obtained through analytical calculation based on the preset contact position, driving force data, and external contact force, combined with a preset flexible beam mechanical model (such as an Euler-Bernoulli beam model, a pseudo-rigid body model, etc.).

[0078] In some embodiments, such as Figure 5 As shown, for each round of iterative calculation, based on the preset contact position, driving force data, the far end position of the flexible beam after deformation obtained in the previous iteration, and the external contact force, determining the force and moment values ​​acting on the far end of the flexible beam can specifically include steps S510 to S530: Step S510: Based on the preset contact position, the far end position of the flexible beam after deformation obtained last time, and the external contact force in the world coordinate system, determine the force vector and moment vector acting on the far end of the flexible beam in the local coordinate system. Step S520: Determine the tension of the drive rope based on the far end position of the deformed flexible beam and the driving force data obtained in the previous step. Step S530: Based on the determined tension of the drive rope and the force vector and torque vector acting on the far end of the flexible beam in the local coordinate system, determine the force and torque values ​​acting on the far end of the flexible beam this time.

[0079] It is understood that step S510 is not limited to being executed before step S520. It can be that step S510 and step S520 are executed simultaneously, or step S520 is executed first and then step S510 is executed.

[0080] The flexible beam is subjected to forces from the driving rope and external contact forces. Figure 5 In the illustrated embodiment, the force vector and torque vector acting on the far end of the flexible beam in the local coordinate system can be determined based on the preset contact position, the previously obtained far end position of the flexible beam after deformation, and the external contact force in the world coordinate system. These force vectors and torque vectors originate from the external contact force. Furthermore, the tension of the drive rope is determined based on the previously obtained far end position of the flexible beam after deformation and the driving force data, thereby revealing the force and torque originating from the drive rope. Based on this, and by combining the force vector and torque vector originating from the external contact force, the force and torque values ​​acting on the far end of the flexible beam in this instance can be accurately determined. Steps S510 to S530 are described in detail below: In step S510, based on the preset contact position, the far end position of the flexible beam after deformation obtained in the previous step, and the external contact force in the world coordinate system, the force vector and moment vector acting on the far end of the flexible beam in the local coordinate system are determined.

[0081] The method for determining the moment vector acting on the far end of the flexible beam in the local coordinate system can be based on the preset contact position, the far end position of the flexible beam after deformation obtained in the previous test, and the external contact force in the world coordinate system.

[0082] Specifically, the distance between the contact point and the distal end of the deformed flexible beam is the lever arm acting on the flexible beam. Multiplying this lever arm by the force acting on the flexible beam yields the moment vector acting on the distal end of the flexible beam in the local coordinate system. The force vector acting on the distal end of the flexible beam mainly depends on the external contact force and the shape of the flexible beam. Combining the distal end position of the deformed flexible beam with the external contact force, the force vector acting on the distal end of the flexible beam can be obtained.

[0083] In some embodiments, the moment vector and force vector acting on the far end of the flexible beam in the local coordinate system can be determined according to the following relationship (2):

[0084] in, Let be the moment vector acting on the far end of the i-th flexible beam in the local coordinate system. This is the contact position, which is the contact position in the world coordinate system. Let represent the far end position of the i-th flexible beam after deformation. This far end position is the far end position in the world coordinate system. For the first The lever arm corresponding to a flexible beam For the external contact force in the world coordinate system, the first Multiplying the lever arm corresponding to the first flexible beam by the external contact force in the world coordinate system yields the force acting on the first flexible beam in the local coordinate system. The moment vector at the far end of a flexible beam. Let be the force vector acting on the far end of the i-th flexible beam in the local coordinate system. For the first The deflection angle at the far end of the flexible beam after deformation. For the numbering of the flexible beam, Let be the rotation transformation matrix. To convert the external contact force in the world coordinate system to the force vector acting on the far end of the i-th flexible beam in the local coordinate system, The number of flexible beams between the contact point and the proximal end of the robot body.

[0085] It should be noted that when implementing step S510 through relation (2), due to the fact that in relation (2) The far end position is in the world coordinate system, while the far end position of the deformed flexible beam known in step S510 is in the local coordinate system. Therefore, relation (2) needs to be combined with relations (3) and (4) to first transform the far end position of the local coordinate system to the far end position of the world coordinate system. Specifically, it can be obtained from the following relations (3) and (4):

[0086]

[0087] in, Let be the rotation transformation matrix. This is a homogeneous transformation matrix used for transformations between the world coordinate system and the local coordinate system. , , These represent the different components of the distal position of the i-th flexible beam after deformation, obtained through iterative calculation. For translation along the z-axis , Let be the length of the driving rope within the rigid frame at the distal end of the i-th flexible beam. That is, translation along the r-axis and z-axis respectively. and , Let be the rotation matrix about the y-axis. That is, rotation about the y-axis , This is the number for the flexible beam.

[0088] By connecting the rigid translation and flexible rotation of the robot body through relation (3), a homogeneous transformation matrix from the world coordinate system to the local coordinate system of the flexible beam is constructed. The homogeneous transformation matrix This characterizes the displacement of the rigid parts of the robot body and the deformation displacement / rotation of each segment of the flexible beam. Relationship (4) utilizes the homogeneous transformation matrix. The far-end position of the flexible beam in the local coordinate system is converted to the far-end position in the world coordinate system.

[0089] Furthermore, relation (2) also needs to be combined with relations (5), (6) and (7) to first determine the contact position. The distance between the contact point and the proximal end of the robot body Express:

[0090]

[0091]

[0092] in, The distance between the contact point and the proximal end of the robot body, as referenced. Figure 1 The distance from point P to point O. Let be the length of the driving rope within the rigid frame connected to the distal end of the i-th flexible beam. Let be the length of the i-th flexible beam (before deformation). The number of flexible beams between the contact point and the proximal end of the robot body, for example, at the contact point... Figure 1When point P is in the middle, then =5 , It is the first The length of the flexible beam (before deformation). This is a homogeneous transformation matrix used for transformations between the world coordinate system and the local coordinate system. For time t, the first The homogeneous transformation matrix corresponding to each flexible beam. That is, translation along the z-axis , Let be the rotation transformation matrix about the y-axis. That is, rotation about the y-axis Spend, It is the deflection angle of the external contact force on a plane perpendicular to the tangent of the rigid frame. Roty That is, rotating 90 degrees around the y-axis. The distance between different drive ropes, That is, translation along the z-axis distance. For the contact position, Let be the rotation transformation matrix.

[0093] Please continue reading Figure 5 In step S520, the tension of the drive rope is determined based on the far end position of the deformed flexible beam obtained in the previous step and the driving force data.

[0094] Each flexible beam has two ends, and each end is connected to a rigid frame, as shown in the figure. Figure 2 As shown, the connection surface between the near end of the flexible beam and the rigid frame is taken as the contact surface A, and the connection surface between the far end of the flexible beam and the rigid frame is taken as the contact surface B. Figure 2 The drive ropes consist of two ropes, which will be referred to as the first drive rope (red) and the second drive rope (blue) for ease of explanation below. The physical points where the first drive rope contacts contact surfaces A and B within the i-th flexible beam are respectively... and The physical points where the second driving rope contacts contact surfaces A and B within the i-th flexible beam are respectively and .

[0095] At the physical point of the first drive rope This includes: the tension acting on one side of the first drive rope. Tension acting on the other side of the first drive rope At the physical point of the first drive rope This includes: the tension acting on one side of the first drive rope. Tension acting on the other side of the first drive rope At the node of the second drive rope This includes: the tension acting on one side of the second drive rope. Tension acting on the other side of the second drive rope At the node of the second drive rope This includes: the tension acting on one side of the second drive rope. Tension acting on the other side of the second drive rope The physical point where the first driving rope contacts contact surface A. tension The reverse extension line, and the physical point where the first drive rope contacts the contact surface B. tension The opposite extensions of the two lines intersect, and the angle between the two extensions is... Let be the deflection angle at the distal end of the i-th flexible beam after deformation. Wherein, the physical point where the second driving rope contacts contact surface A. tension The reverse extension line, and the physical point where the second drive rope contacts the contact surface B. tension The opposite extensions of the two lines intersect, and the angle between the two extensions is... Let be the deflection angle at the distal end of the i-th flexible beam after deformation. , refer to Figure 6 As shown.

[0096] In some embodiments, according to the winch friction theory, the tension relationship between the physical points in contact with the drive rope and contact surfaces A and B can be expressed by the following equation (8):

[0097] Where 'a' is the number of the drive rope; for example, when the total number of drive ropes is 2, 'a' equals 1 or 2. This refers to drive rope 1, for example, it could be... Figure 2 The first drive rope (red) in the middle. This refers to drive rope 2, for example, it could be... Figure 2 The second drive rope (blue). For the drive rope at the contact surface The deflection angle, For the drive rope at the contact surface The deflection angle, Let be the quasi-static friction coefficient of the contact surface between the driving rope and the i-th flexible beam. is the base of the natural logarithm.

[0098] Due to the static friction between the contact surfaces of the drive rope and the flexible beam, the tension on the force output side... It will be greater than the tension on the force input side according to an exponential law. Magnification from The decision is made based on this to obtain the accurate force output side tension. The drive rope is continuous at the contact surface. , There are no additional sources of tension abrupt change in between, therefore the driving rope At the contact surface Tension near the force output side Directly used as the drive rope at the contact surface Tension near the force input side . With the drive rope at the contact surface Similarly, for the tension relationship of the contact surface... Similarly, the drive rope at the contact surface is amplified by magnification. Tension near the force input side The driving rope is obtained at the contact surface Tension near the force output side The tension relationship of the driving rope between the flexible beams obtained in this way conforms to the actual situation of the driving rope and helps to obtain accurate driving rope tension.

[0099] The quasi-static friction coefficient can be determined according to the following relationship (9):

[0100] in, Let t be the quasi-static friction coefficient of the contact surface between the driving rope and the i-th flexible beam, and t be the time. Let be the length of the driving rope between the physical points where the driving rope contacts the corresponding contact surface of the i-th flexible beam at time t. Let be the length of the driving rope between the physical points where the driving rope contacts the corresponding contact surface of the i-th flexible beam at time t-1. When the length of the driving rope decreases... Values When the length of the drive rope increases, The value is - When the length of the drive rope remains constant, The value is - arrive Between. When the drive rope is in a slack state. The value is 0.

[0101] Here It can be calculated using relation (10):

[0102] in, , Let be the position coordinates of the physical point where the driving rope contacts the contact surface B in the local coordinate system.

[0103] It should be noted that the local coordinate system here refers to a two-dimensional orthogonal coordinate system established with the physical point where the driving rope contacts the contact surface B as the origin, including the horizontal r-axis and the vertical z-axis. All local coordinate systems in this paper are established using a similar method, that is, a local reference system with a local point as the origin and rz as the axis. For example, see [link to relevant documentation]. Figure 6 The world coordinate system in this paper is the rz-axis coordinate system. The world coordinate system used here is a conventional global reference system, which can be a global xz-axis Cartesian coordinate system established with a fixed endpoint near the robot's body as the origin, for example, see [link to relevant documentation]. Figure 1 The xz axis coordinate system in the text.

[0104] further, , It can be determined according to the following relation (11):

[0105] in, , Let be the components of the distal position of the i-th flexible beam after deformation in different directions. This refers to the deflection angle at the far end of the flexible beam after deformation. This represents the distance between different drive ropes.

[0106] As for relation (8) and It can be calculated using the following relation (12): (12) in, For the drive rope at the contact surface The deflection angle, It is the arctangent function. , These are the drive rope and the contact surface, respectively. The coordinates of the physical point of contact. The distance between different drive ropes, For the drive rope at the contact surface The deflection angle, Let be the deflection angle at the far end of the i-th flexible beam after deformation.

[0107] Using the drive rope at the contact surface Using the position coordinates at the location and the distance between different drive ropes, the arctangent function is used to calculate the position of the drive rope at the contact surface. The deflection angle. Based on this, the deflection angle at the far end of the flexible beam after deformation and the deflection angle of the drive rope at the contact surface are used. The relationship between the deflection angles is used to obtain the driving rope's position at the contact surface. The deflection angle. The drive rope at the contact surface. The deflection angle and the drive rope at the contact surface The process of determining the deflection angle is simplified into a geometric operation, which helps to simplify the driving rope at the contact surface. The process of determining the deflection angle helps simplify the determination of the tension of the drive rope.

[0108] Finally, assuming that the contact surface B is the decomposition surface, and considering the subsequent segments from the contact surface B to the far end of the robot body as a whole, the following relationship (13) can be used to calculate the result. In the calculation Then, the tension at each physical point where the driving rope contacts contact surfaces A and B can be obtained through equation (8):

[0109] in, To drive the tension at the physical point where the rope contacts contact surface B, For the driving force data of the drive rope, is the base of the natural logarithm. The quasi-static friction coefficient represents the frictional characteristics of the drive rope under quasi-static conditions, reflecting the influence of friction on the tension of the drive rope. Let be the deflection angle of the driving rope at the physical point of contact with contact surface A. Let be the deflection angle of the driving rope at the physical point where it contacts contact surface B.

[0110] Please continue reading Figure 5 In step S530, the force and torque values ​​acting on the far end of the flexible beam are determined based on the determined tension of the drive rope and the force and torque vectors acting on the far end of the flexible beam in the local coordinate system.

[0111] Among them, the force and torque values ​​acting on the far end of the i-th flexible beam mainly include the tension of the driving rope and the external contact force acting on the far end of the flexible beam, as shown in equation (14):

[0112] in, , For the components of the force acting on the far end of the i-th flexible beam at time t in different directions, see [reference]. Figure 6 As shown, , For two different directions, To control the tension on one side of the physical point where the driving rope contacts contact surface B, For driving rope in Contact surface The deflection angle at the point of contact is projected onto the tension of the drive rope by obtaining the cosine and sine values. , By analyzing the direction, we can determine the components of the tension in the drive rope in different directions, and thus obtain the components of the force acting on the far end of the flexible beam in different directions. , These are the force vectors acting on the far end of the flexible beam in the local coordinate system. Let be the torque value acting on the far end of the i-th flexible beam. For the drive rope at the contact surface The deflection angle at the physical point of contact. The distance between different drive ropes, For coefficients, This is the moment vector acting on the far end of the flexible beam in the local coordinate system.

[0113] In determining the far-end position of each flexible beam after deformation through iterative calculation, each iteration includes: The first step is to determine the force and moment values ​​acting on the far end of the flexible beam this time, based on the preset contact position, driving force data, the far end position of the flexible beam after deformation obtained last time, and external contact force. The second step is to obtain the position of the far end of the flexible beam after deformation based on the force and moment values ​​acting on the far end of the flexible beam and the elastic modulus of the flexible beam determined in the previous step. The third step is to determine the elastic modulus of the flexible beam based on the obtained far-end position.

[0114] For details on the first step, please refer to the detailed description of steps S510 to S530 above. Next, the second and third steps of each round of iterative calculation will be explained in detail.

[0115] In this embodiment of the application, for each flexible beam, its force equilibrium differential equation is established based on the Bernoulli-Euler model, and the constitutive equation of the Bernoulli-Euler beam is given by relation (15):

[0116] in, The elastic modulus of the flexible beam. It is the elastic modulus of the i-th flexible beam at time t. Let be the moment of inertia of the i-th flexible beam section. Let be the arc length of the i-th flexible beam, and t be the time interval. Let be the deflection angle at the far end of the i-th flexible beam after deformation. , These represent the components of the force acting on the far end of the flexible beam in different directions.

[0117] Based on this, set boundary conditions. and Among them, combined with boundary conditions and And based on the above relation (15), the following mechanical models (16) and (17) are obtained:

[0118]

[0119] in, , , The distal end of the flexible beam after deformation. for dimensionless form, for dimensionless form, Let be the length of the i-th flexible beam (before deformation).

[0120] The austenite composition ratio in a flexible beam changes with the deflection angle at its distal end after deformation. Therefore, a change in the distal position of the flexible beam alters the austenite composition ratio, thus changing its elastic modulus. Consequently, the third step of each iterative calculation, based on the obtained distal position, determines the elastic modulus of the flexible beam. This can include: determining the austenite composition ratio based on the obtained distal position; and determining the elastic modulus of the flexible beam based on the austenite composition ratio. This helps in obtaining an accurate elastic modulus for the flexible beam.

[0121] In some embodiments, the elastic modulus of the flexible beam is determined according to the following relationship (18):

[0122] in, The elastic modulus of the flexible beam. The elastic modulus of austenite. The elastic modulus of martensite. This represents the austenite composition ratio.

[0123] According to the above relationships (2)-(18), it can be seen that when the force, moment and elastic modulus of the flexible beam acting on the far end at a certain moment are known, the position of the far end of the flexible beam after deformation at that moment can be deduced according to relationship (16); when the position of the far end of the flexible beam after deformation at a certain moment is known, the force, moment and elastic modulus of the flexible beam acting on the far end at the next moment can be deduced according to relationships (14) and (18), as shown in the following relationship (19):

[0124] in, The components of the force acting on the far end of the flexible beam at all times in different directions. The moment value acting on the far end of the flexible beam at all times. for The elastic modulus of the flexible beam at any given time. for The components of the far end position of the flexible beam in different directions at any given time, where for Deflection angle at all times for The components of the far end position of the flexible beam in different directions at any given time, where for Deflection angle at any moment.

[0125] In other words, the force, moment, and elastic modulus acting on the far end of the flexible beam at the previous moment can be deduced from the position of the far end of the flexible beam at the next moment. Therefore, for each flexible beam, the deformed far end position can be determined through iterative calculations until the convergence condition is met.

[0126] The convergence condition can be either the convergence of the loss value between the previous parameter value and the current parameter value, or the convergence of the loss value between the previous parameter value and the current parameter value, where the corresponding far-end position of each flexible beam after deformation is taken as the final determined far-end position. Alternatively, the parameter value can be the far-end position of the flexible beam after deformation, where the convergence condition is met when the loss value between the previous far-end position and the calculated far-end position converges. The parameter value can also be the force value acting on the far end of the flexible beam, where the convergence condition is met when the loss value between the previous force value acting on the far end of the flexible beam and the calculated force value acting on the far end of the flexible beam converges. Finally, the parameter value can be the elastic modulus of the flexible beam, where the convergence condition is met when the loss value between the previous elastic modulus and the calculated elastic modulus converges.

[0127] Please continue reading Figure 4 In step S420, the total length of the drive rope is determined based on the distal position of each flexible beam after deformation. This total length includes the length of the drive rope within the robot body and its elastic elongation.

[0128] After the flexible beam deforms, the robot body bends, and the drive rope undergoes elastic deformation simultaneously, changing the total length of the drive rope. In order to determine the contact position when the robot body comes into contact with the external environment, in this embodiment, in addition to determining the far end position of the flexible beam in step S410, it is also necessary to determine the total length of the drive rope.

[0129] Figure 7 A flowchart illustrating the determination of the total length of the drive rope according to one embodiment of this application is shown. (Refer to...) Figure 7 As shown, the total length of the drive rope is determined based on the distal position of each flexible beam after deformation, including: Step S710: Determine the length of the drive rope inside the robot body based on the far end position of each flexible beam after deformation.

[0130] Step S720: Based on the driving force data and the length of the driving rope before the main body of the driving robot bends, determine the elastic elongation length of the driving rope after the main body of the driving robot bends.

[0131] Step S730: The total length of the drive rope is obtained by summing the length of the drive rope inside the robot body and the elastic elongation length of the drive rope.

[0132] exist Figure 7 In the embodiment shown, considering the elastic elongation length generated when the drive rope undergoes elastic deformation, the total length of the drive rope can be accurately determined by combining this elastic elongation length with the length of the drive rope within the robot body.

[0133] As described above, the robot body includes flexible beams and rigid frames connected to both ends of the flexible beams. The length of the drive rope within the robot body includes the length of the drive rope passing through the rigid frames, which does not change due to deformation of the robot body. The length of the drive rope within the robot body also includes the length of the drive rope located between the rigid frames at both ends of each flexible beam, which changes with the deformation of the flexible beam.

[0134] Step S710, based on the far end position of each flexible beam after deformation, determines the length of the drive rope within the robot body, including: determining the length of the drive rope passing through the rigid frame and determining the length of the drive rope between the rigid frames at both ends of each flexible beam.

[0135] Figure 8A flowchart illustrating the determination of the length of the drive rope within the robot body according to one embodiment of this application is shown. (Refer to...) Figure 8 As shown, the length of the drive rope within the robot body is determined based on the distal position of each flexible beam after deformation, including: Step S810: Obtain the first length of the drive rope passing through the rigid frame of the robot body.

[0136] Step S820: Based on the far end position of each flexible beam after deformation, determine the position coordinates of the driving rope between the rigid frames at both ends of each flexible beam at the end face of the rigid frame.

[0137] Step S830: Determine the second length of the drive rope between the rigid frames at both ends of each flexible beam based on the position coordinates of the drive rope at the end face of the rigid frame.

[0138] Step S840: Determine the length of the drive rope within the robot body based on the first length and the second length.

[0139] The first length of the drive rope passing through the rigid frame of the robot body will not change due to the deformation of the robot body. This first length can be pre-recorded in memory data. In step S810, the first length of the drive rope passing through the rigid frame of the robot body can be obtained by retrieving the memory data.

[0140] The length of the drive rope between the rigid frames at both ends of each flexible beam changes with the deformation of the flexible beam. The position coordinates of the drive rope at the end face of the rigid frame change accordingly. The end face of the drive rope can be referenced... Figure 2 The contact surfaces A and B are shown. Therefore, in step S820, the position coordinates of the drive rope at the end face of the rigid frame connected to the far end of each flexible beam can be determined based on the far end position of each flexible beam after deformation.

[0141] In some embodiments, the position coordinates of the drive rope at the end face of the rigid frame connected to the far end of each flexible beam can be determined according to the relation (11). For details, please refer to the relevant discussion above, which will not be repeated here.

[0142] After determining the position coordinates of the drive rope at the end face of the rigid frame, the length of the drive rope between the rigid frames at both ends of the flexible beam can be determined. In some embodiments, the second length of the drive rope between the rigid frames at both ends of each flexible beam can be determined according to the relation (10), as detailed in the preceding discussion, and will not be repeated here.

[0143] After determining the first length of the drive rope passing through the rigid frame of the robot body and the second length of the drive rope between the rigid frames at both ends of each flexible beam, the length of the drive rope within the robot body is obtained by summing all the first lengths and all the second lengths. Therefore, in step S840, the length of the drive rope within the robot body can be determined by summing all the obtained first lengths and all the obtained second lengths.

[0144] In some embodiments, the length of the drive rope within the robot body can be determined according to the following relationship (20):

[0145] in, The length of the drive rope located within the robot's body. Let be the length of the driving rope between the rigid frames at both ends of the i-th flexible beam, which is also the second length. Let this be the length of the driving rope within the rigid frame connected to the distal end of the i-th flexible beam, also known as the first length. This refers to the number of flexible beams.

[0146] exist Figure 8 In the illustrated embodiment, based on the distal position of each flexible beam after deformation, the position coordinates of the drive rope at the end face of the rigid frame connected to the distal end of each flexible beam are determined. Based on this, a second length of the drive rope between the rigid frames at both ends of each flexible beam is determined, which helps improve the accuracy of calculating the length of the drive rope between the rigid frames at both ends of each flexible beam. Furthermore, the length of the drive rope between the rigid frames at both ends of each flexible beam and the length of the drive rope passing through the rigid frame are added together to obtain the length of the drive rope within the robot body, which further improves the accuracy of calculating the length of the drive rope within the robot body.

[0147] Please continue reading Figure 7 After determining the length of the drive rope within the robot body, step S720 requires further determination of the elastic elongation length of the drive rope. The elastic elongation length of the drive rope is positively correlated with the force acting on the drive rope and the range of the force's length. The greater the force and the longer the rope segment, the greater the deformation potential. The elastic elongation length of the drive rope is inversely correlated with its resistance to deformation. The stronger the resistance to deformation, the less likely it is to deform. The resistance to deformation is related to the elastic modulus and moment of inertia of the drive rope. Therefore, in step S720, the elastic elongation length of the drive rope after the robot body bends can be determined according to the following relationship (21):

[0148] in, For drive rope The elastic elongation length after the main body of the driven robot bends. For driving force data, The length of the drive rope before the robot body bends. The elastic modulus of the driving rope, Let be the moment of inertia of the cross section of the driving rope.

[0149] The above relationship (21) sets the elastic elongation length to be directly proportional to the driving force data and the length of the driving rope before the main body of the robot bends, and inversely proportional to the elastic modulus and moment of inertia of the driving rope, which helps to improve the accuracy of the elastic elongation length.

[0150] Step S730: The total length of the drive rope is obtained by summing the length of the drive rope inside the robot body and the elastic elongation length of the drive rope.

[0151] Specifically, the total length of the drive rope depends on the length of the drive rope within the robot body and the elastic elongation length of the drive rope. In step S730, the total length of the drive rope can be obtained according to the following relationship (22):

[0152] in, The total length of the drive rope, The length of the drive rope located within the robot's body. This is the elastic elongation length of the drive rope.

[0153] Please continue reading Figure 4 In step S430, the preset contact position is updated based on the difference between the total length of the drive rope and the preset drive rope length. The update process of the contact position is iterated until the difference converges.

[0154] Specifically, the smaller the difference between the total length of the drive rope and the preset drive rope length, the more accurate the preset contact position is; the larger the difference between the total length of the drive rope and the preset drive rope length, the larger the error in the preset contact position. The preset contact position is updated based on the difference between the total length of the drive rope and the preset drive rope length. The process of determining the total length of the drive rope is iterated until the difference converges, which helps to improve the accuracy of the obtained contact position.

[0155] In some embodiments, the following objective function (23) is constructed:

[0156]

[0157]

[0158] in, For the preset contact position, Let be the difference between the total length of the drive rope and the preset drive rope length. The objective function aims to minimize this difference. The constraint ensures that the driving force transmitted by the drive rope is always positive.

[0159] The difference between the total length of the drive rope and the preset drive rope length can be calculated using the following formula (24):

[0160] in, This is the difference between the total length of the drive rope and the preset drive rope length. To preset the drive rope length, This is the total length of the drive rope.

[0161] In step S440, the contact position corresponding to the convergence of the difference is taken as the contact position of the robot body when it comes into contact with the external environment.

[0162] The contact position corresponding to the convergence of the difference between the total length of the drive rope and the preset drive rope length is the accurate contact position. Using the contact position corresponding to the convergence of the difference as the contact position when the robot body comes into contact with the external environment helps to improve the accuracy of the obtained contact position.

[0163] In some embodiments, when the difference between the total length of the drive rope and the preset drive rope length converges, the distal position of each flexible beam after deformation can be determined again based on the contact position, driving force data, and external contact force corresponding to the convergence of the difference; based on the re-determined distal position of each flexible beam after deformation, the shape of the robot body can be determined. This helps to improve the accuracy of the robot body's shape.

[0164] In some embodiments, the following perception algorithm is set for the external contact force, contact position, and shape of the continuum robot: Input: Preset drive rope length, force data of the robot body at the proximal end, and drive force data transmitted from the drive rope to the robot body; Output: External contact force, contact location, and its own shape ( ); Initialization: k=1, ; Calculate the external contact force according to equation (2); when When iterating, perform the following operations: solve for the force and moment values ​​acting on the far end of the flexible beam according to relation (14); solve for the boundary conditions BC1 and BC2 according to relation (16) and update the far end position of the flexible beam after deformation; update the elastic modulus of the flexible beam according to the boundary condition BC3 in relation (18); the iteration ends.

[0165] Furthermore, the total length of the drive rope, including the elastic elongation length, is calculated according to the relations (20) and (21); the difference between the total length of the drive rope and the preset drive rope length is calculated according to the relation (24); the boundary condition BC4 is solved using the optimization function according to the relation (23), and finally the contact position and shape information of the continuum robot are extracted.

[0166] Next, refer to Figure 9 This embodiment provides a contact sensing device 900 for a continuum robot. The contact sensing device 900 includes a first acquisition module 901, a second acquisition module 902, and a determination module 903. The first acquisition module 901 is configured to acquire force data of the robot body at its proximal end, where the force data represents the overall force experienced by the robot body at the proximal end. The second acquisition module 902 is configured to acquire driving force data transmitted to the robot body by a drive cable. The determination module 903 is configured to determine the contact sensing information of the continuum robot based on the force data and the driving force data, where the contact sensing information represents the contact state of the continuum robot.

[0167] In some embodiments of this application, the contact sensing information includes external contact force, which is the contact force applied to the robot body by the external environment when the robot body comes into contact with the external environment. The determination module 903 is configured to determine the external contact force of the continuum robot based on the difference between the force sensing data and the driving force data.

[0168] In some embodiments of this application, the contact sensing information also includes the contact position of the robot body when it comes into contact with the external environment. The determination module 903 is configured to determine the contact position of the robot body when it comes into contact with the external environment based on the external contact force and driving force data.

[0169] In some embodiments of this application, the robot body includes multiple flexible beams that deform under the drive of a drive rope. The determination module 903 is configured to: preset a contact position of the robot body; determine the distal position of each flexible beam after deformation based on the preset contact position, drive force data, and external contact force; determine the total length of the drive rope based on the distal position of each flexible beam after deformation, the total length of the drive rope including the length of the drive rope within the robot body and the elastic elongation length of the drive rope; update the preset contact position based on the difference between the total length of the drive rope and the preset drive rope length, iterating the update process of the contact position until the difference converges; and take the contact position corresponding to the convergence of the difference as the contact position of the robot body when it comes into contact with the external environment.

[0170] In some embodiments of this application, the determining module 903 is configured to: determine the far end position of each flexible beam after deformation based on the contact position, driving force data and external contact force corresponding to the difference convergence; and determine the shape of the robot body itself based on the far end position of each flexible beam after deformation determined again.

[0171] In some embodiments of this application, the determining module 903 is configured as follows: for each flexible beam, the deformed distal position is determined by iterative calculation based on the preset contact position, driving force data, and external contact force. Each round of iterative calculation includes: determining the force and moment values ​​acting on the distal end of the flexible beam in the current iteration based on the preset contact position, driving force data, the distal end position of the flexible beam obtained in the previous iteration, and the external contact force; obtaining the distal end position of the flexible beam in the current iteration based on the force and moment values ​​acting on the distal end of the flexible beam and the elastic modulus of the flexible beam determined in the previous iteration; and determining the elastic modulus of the flexible beam in the current iteration based on the distal end position obtained in the current iteration. The above iterative calculation process is repeated until the loss value between the parameter value in the previous iteration and the parameter value in the current iteration converges, thereby determining the distal end position of each flexible beam after deformation. The parameter values ​​include at least one of the distal end position of the flexible beam after deformation, the force value acting on the distal end of the flexible beam, the moment value, and the elastic modulus.

[0172] In some embodiments of this application, the determining module 903 is configured to: determine the force vector and torque vector acting on the far end of the flexible beam in the local coordinate system based on the preset contact position, the far end position of the flexible beam after deformation obtained in the previous time, and the external contact force in the world coordinate system; determine the tension of the driving rope based on the far end position of the flexible beam after deformation obtained in the previous time and the driving force data; and determine the force value and torque value acting on the far end of the flexible beam this time based on the determined tension of the driving rope and the force vector and torque vector acting on the far end of the flexible beam in the local coordinate system.

[0173] In some embodiments of this application, the determining module 903 is configured to: determine the moment vector acting on the far end of the flexible beam in the local coordinate system based on the preset contact position, the far end position of the flexible beam after deformation obtained in the previous time, and the external contact force in the world coordinate system; and determine the force vector acting on the far end of the flexible beam in the local coordinate system based on the far end position of the flexible beam after deformation obtained in the previous time and the external contact force in the world coordinate system.

[0174] In some embodiments of this application, the determining module 903 is configured to: determine the austenite composition ratio in the flexible beam based on the obtained remote position; and determine the elastic modulus of the flexible beam based on the austenite composition ratio.

[0175] In some embodiments of this application, the determining module 903 is configured to: determine the length of the drive rope within the robot body based on the far end position of each flexible beam after deformation; determine the elastic elongation length of the drive rope after bending the robot body based on the driving force data and the length of the drive rope before bending the robot body; and obtain the total length of the drive rope based on the sum of the length of the drive rope within the robot body and the elastic elongation length of the drive rope.

[0176] In some embodiments of this application, the robot body further includes a rigid frame connected to both ends of each flexible beam, and a drive rope is threaded through the rigid frame. The determining module 903 is configured to: obtain a first length of the drive rope threaded within the rigid frame of the robot body; determine the position coordinates of the drive rope at the end face of the rigid frame connected to the far end of each flexible beam based on the far end position of each flexible beam after deformation; determine a second length of the drive rope between the rigid frames at both ends of each flexible beam based on the position coordinates of the drive rope at the end face of the rigid frame connected to the far end of each flexible beam; and determine the length of the drive rope within the robot body based on the first length and the second length.

[0177] For detailed information on the first acquisition module 901, the second acquisition module 902, and the determination module 903, please refer to the description in the above method steps, which will not be repeated here.

[0178] Next, refer to Figure 10 This embodiment provides an electronic device 1000, which includes one or more processors 1001 and a memory 1002. The memory 1002 is used to store one or more programs. When one or more programs are executed by one or more processors 1001, the electronic device 1000 implements the contact sensing method of this application.

[0179] Figure 11 The diagram shows a computer system architecture block diagram for implementing some embodiments of this application. It should be noted that... Figure 11The computer system shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0180] Reference Figure 11 As shown, the computer system 1100 includes a CPU (Central Processing Unit) 1101, which can perform various appropriate actions and processes according to a program stored in ROM (Read-Only Memory) 1102 or a program loaded from storage portion 1108 into RAM (Random Access Memory) 1103, such as executing the contact sensing method in the above embodiments. Various programs and data required for system operation are also stored in RAM 1103. The CPU 1101, ROM 1102, and RAM 1103 are interconnected via bus 1104. An I / O (Input / Output) interface 1105 is also connected to bus 1104.

[0181] The following components are connected to I / O interface 1105: an input section 1106 including a keyboard, mouse, etc.; an output section 1107 including CRT (Cathode Ray Tube), LCD (Liquid Crystal Display), etc., and speakers, etc.; a storage section 1108 including a hard disk, etc.; and a communication section 1109 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 1109 performs communication processing via a network such as the Internet. A drive 1110 is also connected to I / O interface 1105 as needed. Removable media 1111, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., are installed on drive 1110 as needed so that computer programs read from them can be installed into storage section 1108 as needed.

[0182] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for performing all or some of the steps shown in the flowcharts of the contact sensing method. In such embodiments, the computer program can be downloaded and installed from a network via communication section 1109, and / or installed from removable medium 1111. When the computer program is executed by central processing unit (CPU) 1101, it performs various functions defined in the system of this application.

[0183] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program. The transmitted data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.

[0184] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0185] The units described in the embodiments of this application can be implemented in software or hardware, and the described units can also be located in a processor. The names of these units do not necessarily limit the specific unit itself.

[0186] In another aspect, this application also provides a computer-readable medium, which may be included in the computer device described in the above embodiments; or it may exist independently and not assembled into the computer device. The computer-readable medium carries one or more programs that, when executed by the computer device, cause the computer device to implement the methods described in the above embodiments.

[0187] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0188] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, touch terminal, or network device, etc.) to execute the methods according to the embodiments of this application.

[0189] In addition, this application also provides a net cleaning device, which includes a main body for performing cleaning operations on nets and electronic equipment installed on the main body. The main body can be an underwater cleaning robot or the like.

[0190] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the appended claims.

Claims

1. A contact sensing method for a continuum robot, characterized in that, The continuum robot includes a robot body and a drive rope, the drive rope being used to drive the robot body to bend; the contact sensing method includes: Acquire force data of the robot body at the proximal end, the force data being used to represent the overall force on the robot body at the proximal end; Acquire the driving force data transmitted from the drive rope to the robot body; Based on the force data and the driving force data, the contact perception information of the continuum robot is determined, and the contact perception information is used to represent the contact state of the continuum robot.

2. The contact sensing method according to claim 1, characterized in that, The contact sensing information includes external contact force, which is the contact force applied to the robot body by the external environment when the robot body comes into contact with the external environment. Based on the force data and the driving force data, the contact perception information of the continuum robot is determined, including: The external contact force of the continuum robot is determined based on the difference between the force perception data and the driving force data.

3. The contact sensing method according to claim 2, characterized in that, The contact sensing information also includes the contact position of the robot body when it comes into contact with the external environment, and the method further includes: Based on the external contact force and the driving force data, the contact position of the robot body when it comes into contact with the external environment is determined.

4. The contact sensing method according to claim 3, characterized in that, The robot body comprises multiple flexible beams, which deform under the drive of the drive rope. Based on the external contact force and the drive force data, the contact position of the robot body when it comes into contact with the external environment is determined, including: A contact position of the robot body is preset, and the far end position of each flexible beam after deformation is determined based on the preset contact position, the driving force data, and the external contact force. The total length of the drive rope is determined based on the distal position of each of the flexible beams after deformation. The total length of the drive rope includes the length of the drive rope located within the robot body and the elastic elongation length of the drive rope. Based on the difference between the total length of the drive rope and the preset drive rope length, the preset contact position is updated, and the update process of the contact position is iterated until the difference converges. The contact position corresponding to the convergence of the difference is taken as the contact position of the robot body when it comes into contact with the external environment.

5. The contact sensing method according to claim 4, characterized in that, The method further includes: Based on the contact position corresponding to the convergence of the difference, the driving force data, and the external contact force, the far end position of each flexible beam after deformation is determined again. The shape of the robot body is determined based on the re-determined distal position of each of the flexible beams after deformation.

6. The contact sensing method according to claim 4, characterized in that, Based on the preset contact position, the driving force data, and the external contact force, the distal position of each flexible beam after deformation is determined, including: For each flexible beam, the deformed distal position is determined through iterative calculation based on the preset contact position, the driving force data, and the external contact force. Each iteration includes: Based on the preset contact position, the driving force data, the previously obtained distal position of the flexible beam after deformation, and the external contact force, the force and torque values ​​acting on the distal end of the flexible beam this time are determined. Based on the force and torque values ​​acting on the distal end of the flexible beam and the elastic modulus of the flexible beam determined last time, the distal position of the flexible beam after deformation this time is obtained. Based on the distal position obtained this time, the elastic modulus of the flexible beam this time is determined. The above iterative calculation process is repeated until the loss value between the previous parameter value and the current parameter value converges, and the far end position of each flexible beam after deformation is determined. The parameter value includes at least one of the following: the far end position of the flexible beam after deformation, the force value acting on the far end of the flexible beam, the moment value, and the elastic modulus.

7. The contact sensing method according to claim 6, characterized in that, Based on the preset contact position, the driving force data, the previously obtained distal position of the flexible beam after deformation, and the external contact force, determine the force and torque values ​​acting on the distal end of the flexible beam this time, including: Based on the preset contact position, the previously obtained far end position of the flexible beam after deformation, and the external contact force in the world coordinate system, determine the force vector and moment vector acting on the far end of the flexible beam in the local coordinate system. Based on the previously obtained distal position of the deformed flexible beam and the driving force data, the tension of the driving rope is determined; Based on the determined tension of the drive rope, and the force vector and torque vector acting on the far end of the flexible beam in the local coordinate system, the force and torque values ​​acting on the far end of the flexible beam in this instance are determined.

8. The contact sensing method according to claim 7, characterized in that, Based on the preset contact position, the previously obtained distal position of the flexible beam after deformation, and the external contact force in the world coordinate system, determine the force vector and moment vector acting on the distal end of the flexible beam in the local coordinate system, including: Based on the preset contact position, the previously obtained far end position of the flexible beam after deformation, and the external contact force in the world coordinate system, determine the moment vector acting on the far end of the flexible beam in the local coordinate system. Based on the previously obtained position of the far end of the flexible beam after deformation and the external contact force in the world coordinate system, the force vector acting on the far end of the flexible beam in the local coordinate system is determined.

9. The contact sensing method according to claim 6, characterized in that, Based on the obtained far-end position, the elastic modulus of the flexible beam is determined, including: Based on the obtained far-end position, the austenite composition ratio in the flexible beam is determined; The elastic modulus of the flexible beam is determined based on the austenite composition ratio.

10. The contact sensing method according to claim 4, characterized in that, The total length of the drive rope is determined based on the distal position of each of the flexible beams after deformation, including: The length of the drive rope within the robot body is determined based on the distal position of each of the flexible beams after deformation. Based on the driving force data and the length of the driving rope before driving the robot body to bend, determine the elastic elongation length of the driving rope after driving the robot body to bend; The total length of the drive rope is obtained by summing the length of the drive rope within the robot body and the elastic elongation of the drive rope.

11. The contact sensing method according to claim 10, characterized in that, The robot body also includes a rigid frame connected to both ends of each of the flexible beams, and the drive rope is threaded through the rigid frame; Determining the length of the drive rope within the robot body based on the distal position of each of the deformed flexible beams includes: Obtain the first length of the drive rope passing through the rigid frame of the robot body; Based on the far end position of each of the flexible beams after deformation, determine the position coordinates of the drive rope at the end face of the rigid frame connected to the far end of each of the flexible beams. The second length of the drive rope between the rigid frames at both ends of each flexible beam is determined based on the position coordinates of the drive rope at the end face of the rigid frame connected to the far end of each flexible beam. The length of the drive rope located within the robot body is determined based on the first length and the second length.

12. A contact sensing device for a continuum robot, characterized in that, The continuous robot includes a robot body and a drive rope, the drive rope being used to drive the robot body to bend; the contact sensing device includes: The first acquisition module is configured to acquire force data of the robot body at the proximal end, wherein the force data is used to represent the overall force on the robot body at the proximal end; The second acquisition module is configured to acquire the driving force data transmitted from the drive rope to the robot body. The determination module is configured to determine the contact perception information of the continuum robot based on the force perception data and the driving force data, wherein the contact perception information is information used to represent the contact state of the continuum robot.

13. A computer-readable medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the contact sensing method as described in any one of claims 1 to 11.

14. An electronic device, characterized in that, include: One or more processors; A storage device for storing one or more programs, which, when executed by one or more processors, cause the one or more processors to implement the contact sensing method as described in any one of claims 1 to 11.

15. A robot system, characterized in that, include: A continuous robot, comprising a robot body and a drive rope, the drive rope being used to drive the robot body to bend; The first sensor is installed at the proximal end of the robot body to collect force data of the robot body at the proximal end; The second sensor is installed on the drive rope and is used to collect the driving force data transmitted from the drive rope to the robot body. The electronic device according to claim 14.