Dexterous hand control method, dexterous hand control device, dexterous hand, and robot
By receiving remote operation data and determining the target angle of the drive motor, the problem of poor versatility of the dexterous hand is solved, enabling multiple motion control of the dexterous hand and improving its operational capabilities.
Patent Information
- Application Number
- CN202411770184.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-03
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2044-12-03
AI Technical Summary
Existing dexterous hands have poor versatility and cannot perform a variety of actions; they can only perform specific commands such as clenching a fist or extending fingers.
By receiving teleoperation data, the target angle of the drive motor is determined using the first mapping relationship, and the drive motor is controlled to rotate to realize the movement of the dexterous hand, including the use of collision detection and tactile sensors to ensure the control of various movements of the dexterous hand.
It enhances the versatility of the dexterous hand, enabling it to perform various actions such as picking up and placing objects, pressing switches, and opening and closing doors, thereby improving the dexterous hand's operational flexibility.
Smart Images

Figure CN119388470B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, specifically to a dexterous hand control method, a dexterous hand control device, a dexterous hand, and a robot. Background Technology
[0002] With the continuous development of robotics technology, robots can be used to perform tasks in many environments that are unfavorable to humans. A dexterous hand is the end effector of a robot, used to perform tasks; therefore, the power of the dexterous hand directly affects whether the task can be completed safely and accurately.
[0003] The dexterous hand in related technologies can only complete specific instructions and perform specific actions, such as clenching a fist or extending fingers, and has poor versatility. Summary of the Invention
[0004] In view of this, embodiments of this application provide a dexterous hand control method, a dexterous hand control device, a dexterous hand, and a robot, which solves the problem of poor versatility of dexterous hands.
[0005] In a first aspect, embodiments of this application provide a dexterous hand control method applied to a dexterous hand. The dexterous hand includes a palm, at least one finger, and at least one drive motor. The finger includes multiple joints and multiple phalanges. One phalange of one finger is connected to the palm via one joint, and adjacent phalanges of one finger are connected via one joint. The drive motor is connected to at least one joint and configured to drive the joint to move, thereby realizing the movement of the dexterous hand. The dexterous hand control method includes: receiving teleoperation data, the teleoperation data including target position data and / or target angle data, the target position data representing the target position of the finger input by the teleoperation device, and the target angle data representing the target angle of the joint input by the teleoperation device; determining the target angle of the drive motor based on a first mapping relationship and the teleoperation data, wherein the first mapping relationship is determined based on the structure of the dexterous hand; and sending the target angle of the drive motor to the drive motor, causing the drive motor to rotate to the target angle.
[0006] In some embodiments, the first mapping relationship includes: a mapping relationship between the target position data and the target angle data, and a mapping relationship between the target angle of the drive motor and the target angle of the joint; wherein, determining the target angle of the drive motor based on the first mapping relationship and the teleoperation data includes: when the teleoperation data includes the target position data, solving for the target angle of the joint based on the mapping relationship between the target position data and the target angle data and the target position data, and determining the solution result; when the solution result is unsolvable, controlling the state of the drive motor to remain unchanged; when the solution result is solvable, determining the target angle of the drive motor based on the mapping relationship between the target angle of the drive motor and the target angle of the joint and the target angle of the joint.
[0007] In some embodiments, the step of solving the target angle of the joint based on the mapping relationship between the target position data and the target angle data and the target position data, and determining the solution result, includes: scaling the target position data based on a scaling factor to obtain scaled target position data; solving the target angle of the joint based on the mapping relationship between the target position data and the target angle data and the scaled target position data, and determining the solution result.
[0008] In some embodiments, the teleoperation device includes an operating glove; before scaling the target position data based on a scaling factor to obtain scaled target position data, the method further includes: determining first motion space data of the dexterous hand based on the geometric relationship between the joints and the knuckles and the coupling relationship between the joints, the first motion space data of the dexterous hand being used to characterize the range of motion of the dexterous hand; and determining the scaling factor based on the first motion space data of the dexterous hand and the second motion space data of the operating glove.
[0009] In some embodiments, the number of fingers is multiple; when the solution result is solvable, determining the target angle of the drive motor based on the mapping relationship between the target angle of the drive motor and the target angle of the joint and the target angle of the joint includes: performing collision detection based on a collision detection algorithm and the target angles of the multiple joints respectively, and determining the collision detection result; when the collision detection result indicates a collision, keeping the state of the drive motor unchanged; when the solution result is solvable and the collision detection result indicates no collision, determining the target angle of the drive motor based on the mapping relationship between the target angle of the drive motor and the target angle of the joint and the target angle of the joint.
[0010] In some embodiments, the dexterous hand further includes a tactile sensor disposed on the finger, the tactile sensor being configured to detect the force applied to the finger and generate a sensing value; wherein, when the solution result is solvable and the collision detection result is no collision, determining the target angle of the drive motor based on the mapping relationship between the target angle of the drive motor and the target angle of the joint and the target angle of the joint includes: receiving the sensing value sent by the tactile sensor; when the sensing value is greater than a preset value, controlling the state of the drive motor to remain unchanged; when the solution result is solvable, the collision detection result is no collision, and the sensing value is less than or equal to the preset value, determining the target angle of the drive motor based on the mapping relationship between the target angle of the drive motor and the target angle of the joint and the target angle of the joint.
[0011] In some embodiments, determining the target angle of the drive motor based on the first mapping relationship and the teleoperation data includes: when the teleoperation data includes the target angle data, performing normalization and denormalization processing on the target angle data based on the second mapping relationship to determine the actual target angle of the joint, wherein the second mapping relationship is determined based on the range of motion of the teleoperation device and the range of motion of the dexterous hand; and determining the target angle of the drive motor based on the first mapping relationship and the actual target angle of the joint.
[0012] In some embodiments, the dexterous hand further includes at least one position sensor, the at least one position sensor being connected to at least one joint, the position sensor being configured to detect the current angle of the corresponding joint, wherein the dexterous hand control method further includes: receiving the current angle of the joint; determining the current angle of the drive motor based on a third mapping relationship and the current angle of the joint, wherein the third mapping relationship is determined based on the connection relationship between the drive motor and the joint; and sending the current angle of the drive motor to the drive motor.
[0013] Secondly, embodiments of this application provide a dexterous hand control device applied to a dexterous hand. The dexterous hand includes a palm, at least one finger, and at least one drive motor. The finger includes multiple joints and multiple phalanges. One phalange of one finger is connected to the palm through one joint, and adjacent phalanges of one finger are connected through one joint. The drive motor is connected to at least one joint and configured to drive the joint to move, thereby realizing the movement of the dexterous hand. The dexterous hand control device includes: a receiving module configured to receive teleoperation data, the teleoperation data including target position data and / or target angle data, the target position data representing the target position of the finger input by the teleoperation device, and the target angle data representing the target angle of the joint input by the teleoperation device; a calculation module configured to determine the target angle of the drive motor based on a first mapping relationship and the teleoperation data, wherein the first mapping relationship is determined based on the structure of the dexterous hand; and a sending module configured to send the target angle of the drive motor to the drive motor, causing the drive motor to rotate to the target angle.
[0014] Thirdly, embodiments of this application provide a dexterous hand, comprising: a palm; at least one finger, the finger including multiple joints and multiple phalanges, one phalange of the finger being connected to the palm via one of the joints, and adjacent phalanges of the finger being connected via one of the joints; at least one drive motor connected to at least one of the joints and configured to drive the joints to move; and a controller communicatively connected to the drive motor and configured to control the rotation of the drive motor using the dexterous hand control method mentioned in the first aspect.
[0015] Fourthly, embodiments of this application provide a robot, comprising: a main body; and at least one dexterous hand, as mentioned in the third aspect, connected to the main body.
[0016] This application provides a dexterous hand control method that first receives teleoperation data, then determines the target angle of the drive motor based on the first mapping data and the teleoperation data, and then sends the target angle of the drive motor to the drive motor, causing the drive motor to rotate to the target angle, so that the drive motor drives the joint to move, thereby moving the finger to the target position or rotating the joint to the target angle, realizing the control of the joint, and thus controlling the dexterous hand to perform teleoperation actions. This enables the dexterous hand to perform various actions using a teleoperation device, such as picking up and placing objects, pressing switches, opening and closing doors, threading needles, etc., improving the versatility of the dexterous hand. Attached Figure Description
[0017] The above and other objects, features, and advantages of this application will become more apparent from the more detailed description of the embodiments thereof in conjunction with the accompanying drawings. The drawings are provided to further illustrate the embodiments of this application and form part of the specification. They are used together with the embodiments of this application to explain the application and do not constitute a limitation thereof. In the drawings, the same reference numerals generally represent the same parts.
[0018] Figure 1 The diagram shown is a schematic representation of an application scenario of a dexterous hand provided in an embodiment of this application.
[0019] Figure 2 The diagram shown is a flowchart of a dexterous hand control method provided in an embodiment of this application.
[0020] Figure 3 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application.
[0021] Figure 4 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application.
[0022] Figure 5 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application.
[0023] Figure 6 The diagram shown is a schematic diagram of the first motion space data of a dexterous hand provided in an embodiment of this application.
[0024] Figure 7 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application.
[0025] Figure 8 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application.
[0026] Figure 9 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application.
[0027] Figure 10 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application.
[0028] Figure 11 The diagram shown is a structural schematic of a dexterous hand control device provided in an embodiment of this application.
[0029] Figure 12 The diagram shown is a structural schematic of a robot provided in one embodiment of this application.
[0030] Figure 13 The diagram shown is a structural schematic of an electronic device provided in an embodiment of this application.
[0031] Figure label:
[0032] 1. Robot; 2. Main body; 3. Dexterous hand; 31. Palm; 32. Fingers; 321. Joint; 322. Knuckle; 33. Drive motor; 4. Controller; 5. Remote control device. Detailed Implementation
[0033] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0034] In related technologies, dexterous hands can only perform specific instructions and actions, such as clenching a fist or extending fingers, resulting in poor versatility. The inventors discovered that dexterous hand movements can be controlled using teleoperation devices. For example, the teleoperation device can be manufactured in the shape of a glove, allowing the user to perform certain actions while wearing the glove, and then the dexterous hand can mimic these actions, thereby enabling the dexterous hand to perform various actions and improving its versatility.
[0035] The structure and control method of the dexterous hand are described in detail below with reference to the accompanying drawings.
[0036] Figure 1 The diagram shown is an application scenario illustration of a dexterous hand provided in an embodiment of this application. Figure 1 As shown, the dexterous hand 3 includes a palm 31, at least one finger 32, and at least one drive motor 33. The finger 32 includes multiple joints 321 and multiple knuckles 322. One knuckle 322 of a finger 32 is connected to the palm 31 via a joint 321, and adjacent knuckles 322 of a finger 32 are connected via joints 321. The drive motor 33 is connected to at least one joint 321 and is configured to drive the joint 321 to move, thereby enabling the movement of the dexterous hand 3.
[0037] For example, the execution entity of the dexterous hand control method is controller 4. Controller 4 is capable of receiving, processing, and sending data. Controller 4 can be a logic controller, microprogrammed controller, computer, tablet, mobile phone, server, etc.
[0038] For example, the remote operating device 5 may be an operating glove, operating finger cot, etc. The controller 4 is communicatively connected to the remote operating device 5 and the drive motor 33 of the dexterous hand 3.
[0039] against Figure 1In the image, the dexterous hand 3 is represented by a single-line rectangle for knuckles 322, a circle for joints 321, a double-line rectangle for drive motors 33, and a thick solid-line rectangle for the palm 31.
[0040] Figure 2 The diagram shown is a flowchart illustrating a dexterous hand control method according to an embodiment of this application. Figure 2 As shown, the dexterous hand control method includes the following steps.
[0041] Step 100: Receive remote operation data.
[0042] Specifically, teleoperation data includes target position data and / or target angle data. For example, teleoperation data may contain only target position data, only target angle data, or both.
[0043] For example, the target position data is used to characterize the target position of the finger 32 input by the teleoperation device 5. For example, the target position data may be the coordinates of the fingertip position of the finger 32, or it may be the coordinates of other pre-set positions of the finger 32.
[0044] For example, the target angle data is used to characterize the target angle of the joint 321 input by the teleoperation device 5. For instance, the target angle data could be the angle by which the joint 321 needs to rotate. Specifically, if a user is wearing an operating glove and a joint of the user's finger rotates by 30 degrees, the corresponding position of the operating glove will also bend by 30 degrees, then 30 degrees could be the target angle data.
[0045] Step 200: Based on the first mapping relationship and teleoperation data, determine the target angle of the drive motor 33.
[0046] Specifically, the first mapping relationship is determined based on the structure of the dexterous hand 3. In other words, each dexterous hand 3 corresponds to a unique first mapping relationship, therefore, the first mapping relationship can be pre-input to the controller 4.
[0047] For example, the drive motor 33 is connected to the joint 321, so there is a unique reduction ratio between the drive motor 33 and the joint 321, meaning there is a first mapping relationship between the target angle of the drive motor 33 and the target angle of the joint 321. Given the target angle of the joint 321, the target angle of the drive motor 33 can be determined based on the first mapping relationship and the target angle of the joint 321. In other words, when the teleoperation data includes target angle data, the first mapping relationship can be the reduction ratio between the drive motor 33 and the joint 321. For example, if the joint 321 is directly driven by the drive motor 33, then if the drive motor 33 rotates 10 degrees, the joint 321 rotates 10 degrees. As another example, if the reduction ratio between the drive motor 33 and the joint 321 is 2, then if the drive motor 33 rotates 10 degrees, the joint 321 rotates 5 degrees.
[0048] For example, when the teleoperation data includes target position data, the target position data can be first converted into target angle data, and then the target angle data can be converted into the target angle of the drive motor 33. Specifically, since the mechanical structure of a dexterous hand 3 is unique, there is a mapping relationship between the target position data and the target angle data. Therefore, when the target position data is known, the target angle of the joint 321 can be determined according to the mapping relationship between the target position data and the target angle data. In other words, there is a unique functional relationship f between the target position data and the target angle data, and the target position data is equal to the product of f and the target angle data. The first mapping relationship can be the product of the reduction ratio of the drive motor 33 and the joint 321 and f.
[0049] Step 300: The target angle of the drive motor 33 is sent to the drive motor 33, so that the drive motor 33 rotates to the target angle.
[0050] For example, after the target angle is sent to the drive motor 33, the drive motor 33 can rotate according to the target angle, thereby rotating to the target angle. For example, the drive motor 33 generally knows the current angle. After receiving the target angle, the drive motor 33 subtracts the current angle from the target angle to obtain the relative angle. Then, after the drive motor 33 rotates the relative angle, it reaches the target angle.
[0051] The dexterous hand control method provided in this application first receives teleoperation data, then determines the target angle of the drive motor 33 based on the first mapping data and the teleoperation data, and then sends the target angle of the drive motor 33 to the drive motor 33, causing the drive motor 33 to rotate to the target angle, so that the drive motor 33 drives the joint 321 to move, thereby causing the finger 32 to move to the target position or causing the joint 321 to rotate to the target angle, thereby realizing the control of the joint 321, and thus controlling the dexterous hand 3 to perform teleoperation actions. This realizes the use of the teleoperation device 5 to control the dexterous hand 3 to perform various actions, and improves the versatility of the dexterous hand 3.
[0052] Figure 3 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application. Figure 2 This application extends from the embodiments shown. Figure 3 The illustrated embodiment will be described in detail below. Figure 3 The illustrated embodiments and Figure 2 The differences between the embodiments shown are not repeated here, and the similarities are not repeated here.
[0053] like Figure 3 As shown, determining the target angle of the drive motor 33 based on the first mapping relationship and teleoperation data includes the following steps.
[0054] Step 210: Determine whether the teleoperation data includes target location data.
[0055] If the teleoperation data includes target location data, proceed to step 220; if the teleoperation data does not include target location data, proceed to step 260.
[0056] Specifically, the first mapping relationship includes: the mapping relationship between target position data and target angle data, and the mapping relationship between the target angle of drive motor 33 and the target angle of joint 321. The mapping relationship between the target angle of drive motor 33 and the target angle of joint 321 is equal to the mapping relationship between the rotation angle of drive motor 33 and the rotation angle of joint 321.
[0057] For example, target position data is generally represented by coordinates, and target angle data is generally represented by angle values. The data length of target position data and target angle data are generally different. Controller 4 can determine whether it has received target position data or target angle data based on the data length of the received teleoperation data.
[0058] Step 220: Based on the mapping relationship between target position data and target angle data and the target position data, solve for the target angle of joint 321 and determine the solution result.
[0059] Specifically, the mechanical structure of a dexterous hand 3 is unique, so there is a mapping relationship between target position data and target angle data. Therefore, given the target position data, the target angle of joint 321 can be determined based on the mapping relationship between the target position data and the target angle data.
[0060] Step 230: Determine if there is a solution.
[0061] Specifically, determine whether there is a solution. If there is no solution, proceed to step 240. If there is a solution, proceed to step 250.
[0062] Step 240: The state of the drive motor 33 remains unchanged.
[0063] In practical applications, during the process of solving for the target angle of joint 321, there may be a situation where the solution is unsolvable. When this happens, it can be assumed that the finger 32 cannot be controlled to reach the target position by rotating joint 321. Therefore, the state of the control drive motor 33 can be kept unchanged to prevent damage to the dexterous hand 3.
[0064] Step 250: Based on the mapping relationship between the target angle of the drive motor 33 and the target angle of the joint 321, and the target angle of the joint 321, determine the target angle of the drive motor 33.
[0065] If the solution is available, it means that the finger 32 can be controlled to reach the target position by rotating the joint 321. Therefore, the target angle of the drive motor 33 can be determined based on the target angle of the joint 321 and the first mapping relationship.
[0066] Step 260: Determine the target angle of the drive motor 33 based on the target angle data and the first mapping relationship.
[0067] In practical applications, teleoperation data is either target position data or target angle data. If it is determined that the teleoperation data is not target position data, then the teleoperation data is target angle data.
[0068] Figure 4 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application. Figure 3 This application extends from the embodiments shown. Figure 4 The illustrated embodiment will be described in detail below. Figure 4 The illustrated embodiments and Figure 3 The differences between the embodiments shown are not repeated here, and the similarities are not repeated here.
[0069] like Figure 4As shown, based on the mapping relationship between target position data and target angle data, and the target position data, the target angle of joint 321 is solved, and the solution result is determined by the following steps.
[0070] Step 221: Based on the scaling factor, scale the target location data to obtain scaled target location data.
[0071] For example, the scaling factor can be determined based on the size of the dexterous hand 3 and the size of the teleoperated device 5. In practical applications, the scaling factor can be pre-input into the controller 4.
[0072] Step 222: Based on the mapping relationship between target position data and target angle data and the scaled target position data, solve for the target angle of joint 321 and determine the solution result.
[0073] Since the size of the remote control device 5 and the size of the dexterous hand 3 may be different, the target position data is scaled to obtain scaled target position data, which makes it easier to convert the position data of the remote control device 5 into the position data of the dexterous hand 3, and thus facilitates the subsequent calculation of the rotation angle of the drive motor 33.
[0074] Figure 5 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application. Figure 4 This application extends from the embodiments shown. Figure 5 The illustrated embodiment will be described in detail below. Figure 5 The illustrated embodiments and Figure 4 The differences between the embodiments shown are not repeated here, and the similarities are not repeated here.
[0075] like Figure 5 As shown, before scaling the target location data based on the scaling factor to obtain the scaled target location data, the following steps are also included.
[0076] Step 400: Based on the geometric relationship between joint 321 and phalanx 322 and the coupling relationship between joint 321, determine the first motion space data of dexterous hand 3.
[0077] For example, the remote operation device 5 includes an operating glove.
[0078] For example, the first motion space data of the dexterous hand 3 is used to characterize the range of motion of the dexterous hand 3.
[0079] Figure 6 The diagram shown is a schematic representation of the first motion space data of a dexterous hand provided in an embodiment of this application. Figure 6As shown, blue represents the range of motion of the thumb of dexterous hand 3, green represents the range of motion of the index finger of dexterous hand 3, gray represents the range of motion of the middle finger of dexterous hand 3, yellow represents the range of motion of the ring finger of dexterous hand 3, and magenta represents the range of motion of the little finger of dexterous hand 3. In other words, in Figure 6 In the middle, the four graphics at the top represent the range of motion of the little finger, the ring finger, the middle finger, and the index finger of the dexterous hand 3, respectively, from left to right. The graphic in the lower right corner represents the range of motion of the thumb of the dexterous hand 3. Figure 6 The units for the X, Y, and Z axes are all meters.
[0080] Step 450: Determine the scaling factor based on the first motion space data of the dexterous hand 3 and the second motion space data of the operating glove.
[0081] For example, the second motion space data of the operating glove is an attribute of the operating glove, and each operating glove corresponds to a unique second motion space data. The second motion space data of the operating glove is used to characterize the range of motion that the operating glove can achieve during the user's movement while wearing it.
[0082] For example, the scaling factor can be determined based on the first motion space data of the dexterous hand 3 and the second motion space data of the operating glove by: calculating the ratio of the first motion space data of the dexterous hand 3 to the second motion space data of the operating glove, and determining the ratio as the scaling factor.
[0083] The scaling factor was determined by using the first motion space data of the dexterous hand 3 and the second motion space data of the operating glove. The scaling ratios of the dexterous hand 3 and the operating glove during the motion were compared to make the scaling factor more accurate.
[0084] Figure 7 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application. Figure 3 This application extends from the embodiments shown. Figure 7 The illustrated embodiment will be described in detail below. Figure 7 The illustrated embodiments and Figure 3 The differences between the embodiments shown are not repeated here, and the similarities are not repeated here.
[0085] like Figure 7 As shown, when the solution result is that there is a solution, the target angle of the drive motor 33 is determined based on the mapping relationship between the target angle of the drive motor 33 and the target angle of the joint 321, and the target angle of the joint 321, including the following steps.
[0086] Step 251: Perform collision detection based on the collision detection algorithm and the target angles of the multiple joints 321, and determine the collision detection results.
[0087] For example, there are multiple fingers 32. Collisions may occur between multiple fingers 32.
[0088] For example, the collision detection algorithm can be a Flexible Collision Library (FCL) collision detection algorithm, or other collision detection algorithms, as long as they can detect whether a collision occurs between multiple fingers 32. Specifically, the FCL collision detection algorithm is an efficient collision detection library, mainly used to handle collision detection problems between geometric objects.
[0089] Step 252: Determine whether there is a collision in the collision detection results.
[0090] If the collision detection result indicates a collision, proceed to step 253; if the solution result indicates a solution and the collision detection result indicates no collision, proceed to step 254.
[0091] Step 253: The state of the drive motor 33 remains unchanged.
[0092] Step 254: Based on the mapping relationship between the target angle of the drive motor 33 and the target angle of the joint 321, and the target angle of the joint 321, determine the target angle of the drive motor 33.
[0093] Collision detection can prevent collisions between fingers 32, thus preventing damage to the dexterous hand 3.
[0094] Figure 8 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application. Figure 7 This application extends from the embodiments shown. Figure 8 The illustrated embodiment will be described in detail below. Figure 8 The illustrated embodiments and Figure 7 The differences between the embodiments shown are not repeated here, and the similarities are not repeated here.
[0095] like Figure 8 As shown, when the solution result is that there is a solution and the collision detection result is that there is no collision, the target angle of the drive motor 33 is determined based on the mapping relationship between the target angle of the drive motor 33 and the target angle of the joint 321 and the target angle of the joint 321, including the following steps.
[0096] Step 255: Receive the sensor values sent by the tactile sensor.
[0097] For example, the dexterous hand 3 also includes a tactile sensor disposed on the finger 32. The tactile sensor is configured to detect the force applied to the finger 32, generate a sensing value, and then send the generated sensing value to the controller 4. The tactile sensor can be a force sensor, strain gauge, etc.
[0098] Step 256: Determine whether the sensor value is greater than the preset value.
[0099] If the sensor value is greater than the preset value, proceed to step 257. If the solution result is that there is a solution, the collision detection result is that there is no collision, and the sensor value is less than or equal to the preset value, proceed to step 258.
[0100] For example, the preset value can be set according to actual requirements. For instance, the preset value could be the maximum force that the dexterous hand 3 can withstand. For example, the preset value could be 80% of the maximum force that the dexterous hand 3 can withstand.
[0101] Step 257: The state of the drive motor 33 remains unchanged.
[0102] Step 258: Based on the mapping relationship between the target angle of the drive motor 33 and the target angle of the joint 321, and the target angle of the joint 321, determine the target angle of the drive motor 33.
[0103] For example, if the drive motor 33 continues to rotate when the sensing value is greater than the preset value, it may cause the dexterous hand 3 to bear greater force, resulting in damage to the dexterous hand 3. Therefore, it is necessary to control the state of the drive motor 33 to remain unchanged to prevent damage to the dexterous hand 3.
[0104] Figure 9 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application. Figure 2 This application extends from the embodiments shown. Figure 9 The illustrated embodiment will be described in detail below. Figure 9 The illustrated embodiments and Figure 2 The differences between the embodiments shown are not repeated here, and the similarities are not repeated here.
[0105] like Figure 9 As shown, the target angle of the drive motor 33 is determined based on the first mapping relationship and teleoperation data, including the following steps.
[0106] Step 500: Based on the second mapping relationship, normalize and denormalize the target angle data to determine the actual target angle of joint 321.
[0107] For example, it can be first determined whether the teleoperation data includes target angle data. If the teleoperation data includes target angle data, the target angle data is normalized and denormalized based on the second mapping relationship to determine the actual target angle of joint 321.
[0108] For example, step 500 can also be performed when the teleoperation data does not include target location data.
[0109] For example, the second mapping relationship is determined based on the range of motion of the teleoperation device 5 and the range of motion of the dexterous hand 3. For example, the second mapping relationship can be a proportional relationship between the range of motion of the teleoperation device 5 and the range of motion of the dexterous hand 3. For instance, if the teleoperation device 5 is an operating glove, and the user is wearing the glove, and a joint of the user's finger rotates 30 degrees, the corresponding joint 321 of the dexterous hand 3 also rotates 30 degrees. Then the second mapping relationship is that if the teleoperation device 5 rotates 30 degrees, the corresponding joint 321 of the dexterous hand 3 also rotates 30 degrees. For instance, if the teleoperation device 5 is an operating glove, and the user is wearing the glove, and a joint of the user's finger rotates 60 degrees, the corresponding joint 321 of the dexterous hand 3 also rotates 30 degrees. Then the second mapping relationship is that if the teleoperation device 5 rotates 60 degrees, the corresponding joint 321 of the dexterous hand 3 also rotates 30 degrees.
[0110] For example, normalization scales the target angle data according to a second mapping relationship, causing the data to fall within a specific range. Denormalization scales the data within that specific range according to the second mapping relationship, converting it into the actual target angle of joint 321. For instance, if the second mapping relationship states that the target angle data is twice the actual target angle, then normalization could reduce the angle by one-tenth, and denormalization could increase it by five times. For example, if the target angle data is 60 degrees, normalization would result in 6 degrees, and denormalization would result in 30 degrees.
[0111] Step 600: Based on the first mapping relationship and the actual target angle of joint 321, determine the target angle of drive motor 33.
[0112] In practical applications, the range of motion of the remote control device 5 and the dexterous hand 3 may not be the same. Therefore, normalization and denormalization are used to determine the actual target angle of the joint 321 to ensure that the target angle of the drive motor 33 is the actual target angle that the drive motor 33 needs to rotate to.
[0113] Figure 10 The diagram shown is a flowchart illustrating a dexterous hand control method according to another embodiment of this application. Figure 2 This application extends from the embodiments shown. Figure 10The illustrated embodiment will be described in detail below. Figure 10 The illustrated embodiments and Figure 2 The differences between the embodiments shown are not repeated here, and the similarities are not repeated here.
[0114] like Figure 10 As shown, the dexterous hand control method also includes the following steps.
[0115] Step 710: Receive the current angle of joint 321.
[0116] Specifically, the dexterous hand 3 also includes at least one position sensor connected to at least one joint 321, the position sensor being configured to detect the current angle of the corresponding joint 321.
[0117] Step 720: Determine the current angle of the drive motor 33 based on the third mapping relationship and the current angle of the joint 321.
[0118] Specifically, the third mapping relationship is determined based on the connection relationship between the drive motor 33 and the joint 321. In other words, each dexterous hand 3 corresponds to a unique third mapping relationship, therefore, the third mapping relationship can be pre-input to the controller 4.
[0119] For example, the drive motor 33 is connected to the joint 321, so there is a unique reduction ratio between the drive motor 33 and the joint 321, meaning there is a third mapping relationship between the current angle of the drive motor 33 and the current angle of the joint 321. Given the current angle of the joint 321, the current angle of the drive motor 33 can be determined based on the third mapping relationship and the current angle of the joint 321. In other words, the third mapping relationship can be the reduction ratio between the drive motor 33 and the joint 321. For example, if the joint 321 is directly driven by the drive motor 33, then if the drive motor 33 rotates 10 degrees, the joint 321 rotates 10 degrees. As another example, if the reduction ratio between the drive motor 33 and the joint 321 is 2, then if the drive motor 33 rotates 10 degrees, the joint 321 rotates 5 degrees. For example, the third mapping relationship is equal to the first mapping relationship.
[0120] Step 730: Send the current angle of drive motor 33 to drive motor 33.
[0121] In practical applications, the drive motor 33 can determine the current angle without the need for other sensors or devices to provide the current angle of the drive motor 33. However, in some special cases, such as when the drive motor 33 malfunctions and cannot establish a mathematical relationship between the rotation of the joint 321 and the rotation of the motor, the drive motor 33 can refer to the current angle sent by the controller 4 to improve the accuracy of the rotation of the drive motor 33.
[0122] For example, the rotation angle of the drive motor 33 is the difference between the target angle of the drive motor 33 and the current angle of the drive motor 33.
[0123] Figure 11 The diagram shown is a structural schematic of a dexterous hand control device provided in an embodiment of this application. Figure 11 As shown, the dexterous hand control device 800 includes a receiving module 810, a calculation module 820, and a transmitting module 830.
[0124] The dexterous hand control device is applied to a dexterous hand, which includes a palm, at least one finger, and at least one drive motor. The finger includes multiple joints and multiple phalanges. One phalange of a finger is connected to the palm through a joint, and adjacent phalanges of a finger are connected through a joint. The drive motor is connected to at least one joint and is configured to drive the joint movement to realize the movement of the dexterous hand.
[0125] The receiving module 810 is configured to receive teleoperation data, including target position data and / or target angle data. The target position data represents the target position of a finger input by the teleoperation device, and the target angle data represents the target angle of a joint input by the teleoperation device. The calculation module 820 is configured to determine the target angle of the drive motor based on a first mapping relationship and the teleoperation data, wherein the first mapping relationship is determined based on the structure of the dexterous hand. The sending module 830 is configured to send the target angle of the drive motor to the drive motor, causing the drive motor to rotate to the target angle.
[0126] In some embodiments, the first mapping relationship includes: a mapping relationship between target position data and target angle data, and a mapping relationship between the target angle of the drive motor and the target angle of the joint. The calculation module 820 is further configured to, when the teleoperation data includes target position data, solve for the target angle of the joint based on the mapping relationship between the target position data and target angle data and the target position data, and determine the solution result; if the solution result is unsolvable, the state of the drive motor remains unchanged; if the solution result is solvable, the target angle of the drive motor is determined based on the mapping relationship between the target angle of the drive motor and the target angle of the joint and the target angle of the joint.
[0127] In some embodiments, the calculation module 820 is further configured to scale the target position data based on a scaling factor to obtain scaled target position data; and to solve the target angle of the joint based on the mapping relationship between the target position data and the target angle data and the scaled target position data, and to determine the solution result.
[0128] In some embodiments, the teleoperation device includes an operating glove. The dexterous hand control device 800 also includes a motion space solving module 840 and a scaling factor solving module 850.
[0129] The motion space solving module 840 is configured to determine the first motion space data of the dexterous hand based on the geometric relationships of the joints and phalanges and the coupling relationships between the joints. The first motion space data of the dexterous hand is used to characterize the range of motion of the dexterous hand. The scaling factor solving module 850 is configured to determine the scaling factor based on the first motion space data of the dexterous hand and the second motion space data of the operating glove.
[0130] In some embodiments, the number of fingers is multiple. The calculation module 820 is further configured to perform collision detection based on a collision detection algorithm and the target angles of the multiple joints, and determine the collision detection result; if the collision detection result indicates a collision, the state of the control drive motor remains unchanged; if the solution result indicates a solution and the collision detection result indicates no collision, the target angle of the drive motor is determined based on the mapping relationship between the target angle of the drive motor and the target angle of the joint, and the target angle of the joint.
[0131] In some embodiments, the dexterous hand further includes a tactile sensor disposed on the finger, configured to detect the force applied to the finger and generate a sensing value. The calculation module 820 is further configured to receive the sensing value sent by the tactile sensor; if the sensing value is greater than a preset value, the state of the drive motor remains unchanged; if the solution result is a solution, the collision detection result is no collision, and the sensing value is less than or equal to the preset value, the target angle of the drive motor is determined based on the mapping relationship between the target angle of the drive motor and the target angle of the joint, and the target angle of the joint.
[0132] In some embodiments, the calculation module 820 is further configured to, when the teleoperation data includes target angle data, perform normalization and denormalization processing on the target angle data based on a second mapping relationship to determine the actual target angle of the joint, wherein the second mapping relationship is determined based on the range of motion of the teleoperation device and the range of motion of the dexterous hand; and determine the target angle of the drive motor based on the first mapping relationship and the actual target angle of the joint.
[0133] In some embodiments, the dexterous hand further includes at least one position sensor connected to at least one joint, the position sensor being configured to detect the current angle of the corresponding joint. The dexterous hand control device 800 also includes a current angle receiving module 860, a current angle calculation module 870, and a current angle sending module 880.
[0134] The current angle receiving module 860 is configured to receive the current angle of the joint. The current angle calculation module 870 is configured to determine the current angle of the drive motor based on a third mapping relationship and the current angle of the joint, wherein the third mapping relationship is determined based on the connection relationship between the drive motor and the joint. The current angle sending module 880 is configured to send the current angle of the drive motor to the drive motor.
[0135] One embodiment of this application also provides a dexterous hand. For example... Figure 1 The dexterous hand shown includes: a palm 31, at least one finger 32, at least one drive motor 33, and a controller 4.
[0136] The finger 32 includes multiple joints 321 and multiple knuckles 322. One knuckle 322 of a finger 32 is connected to the palm 31 via a joint 321, and adjacent knuckles 322 of a finger 32 are connected via joints 321. At least one drive motor 33 is connected to at least one joint 321 and is configured to drive the joint 321 to move. The controller 4 is communicatively connected to the drive motor 33 and is configured to control the rotation of the drive motor 33 using the dexterous hand control method of the above embodiment.
[0137] Since the controller 4 of the dexterous hand 3 uses the dexterous hand control method of the above embodiment to control the rotation of the drive motor 33, the dexterous hand 3 has all the technical features and technical effects of the dexterous hand control method, which will not be repeated here.
[0138] Figure 12 The diagram shown is a structural schematic of a robot provided in one embodiment of this application. Figure 12 As shown, robot 1 includes: a main body 2 and at least one dexterous hand 3.
[0139] The dexterous hand 3 is connected to the main body 2. The main body 2 can be the structure of the body part of a humanoid robot or the structure of the arm part of an industrial robot; this application does not make any specific limitation.
[0140] Since robot 1 includes the dexterous hand 3 mentioned in the above embodiments, robot 1 has all the technical features and effects of the dexterous hand 3, which will not be repeated here.
[0141] In the various embodiments of this application, unless the form of connection is explicitly defined, the connection can be a detachable connection such as a bolt and nut, screw, snap fastener, or magnetic attraction. In some connections where there is no particular requirement for a non-detachable fit, a non-detachable connection can be achieved through welding, bonding, or other methods.
[0142] Below, for reference Figure 13 To describe an electronic device according to embodiments of the present disclosure. Figure 13 The diagram shown is a structural schematic of an electronic device provided in an embodiment of this disclosure.
[0143] like Figure 13 As shown, the electronic device 1300 includes one or more processors 1310 and memory 1320.
[0144] The processor 1310 may be a central processing unit (CPU) or other form of processing unit with data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 1300 to perform desired functions.
[0145] The memory 1320 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 1310 may execute the program instructions to implement the image evaluation methods of the various embodiments of this disclosure mentioned above and / or other desired functions. Various contents, such as target fundus images, may also be stored in the computer-readable storage medium.
[0146] In one example, the electronic device 1300 may also include an input device 1330 and an output device 1340, which are interconnected via a bus system and / or other forms of connection mechanism (not shown).
[0147] The input device 1330 may include, for example, a keyboard, a mouse, etc. The output device 1340 may include, for example, a monitor, a speaker, a printer, and a communication network and its connected remote output devices, etc.
[0148] Of course, for the sake of simplicity, Figure 13 Only some of the components of the electronic device 1300 relevant to this disclosure are shown, omitting components such as buses, input / output interfaces, etc. In addition, the electronic device 1300 may include any other suitable components depending on the specific application.
[0149] In addition to the methods and apparatus described above, embodiments of this disclosure may also be computer program products, including computer program instructions that, when executed by a processor, cause the processor to perform the steps in the image evaluation methods according to various embodiments of this disclosure as described above.
[0150] Computer program products can be written in any combination of one or more programming languages to perform the operations of embodiments of this disclosure. The programming languages include object-oriented programming languages such as Java and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on a user's computing device, partially on a user's computing device, as a standalone software package, partially on a user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0151] Furthermore, embodiments of this disclosure may also be computer-readable storage media storing computer program instructions thereon, which, when executed by a processor, cause the processor to perform the steps in the image evaluation methods according to various embodiments of this disclosure described above.
[0152] Computer-readable storage media may take the form of any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may, for example, include, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0153] The terms "an embodiment" or "embodiment" used in this specification indicate that the described embodiment may include a specific feature, structure, or characteristic, but not every embodiment necessarily includes that specific feature, structure, or characteristic. Furthermore, such phrases do not necessarily refer to the same embodiment. Additionally, when a specific feature, structure, or characteristic is described in connection with an embodiment, implementing such a feature, structure, or characteristic in conjunction with other embodiments, whether explicitly described or not, is within the knowledge scope of those skilled in the art.
[0154] It should be understood that “on,” “above,” and “on top of” in this disclosure should be interpreted in the broadest manner, such that “on” means not only “directly on something” but also “on something” with an intermediate feature or layer therebetween, and that “above” or “on top of” means not only “on top of something” but also “on top of something” without an intermediate feature or layer therebetween (i.e., directly on something).
[0155] Furthermore, for ease of explanation, spatial relative terms such as "below," "below," "under," "above," and "above" may be used to describe the relationship of a component or feature relative to other components or features as shown in the figures. Spatial relative terms are intended to encompass different orientations of components in use or operation other than those shown in the figures. Devices may have other orientations (rotated 90 degrees or in other orientations), and the spatial relative descriptive terms used herein may be interpreted accordingly.
[0156] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0157] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications or equivalent substitutions made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A method for controlling a dexterous hand, characterized in that, The invention is applied to a dexterous hand, which includes a palm, at least one finger, and at least one drive motor. The finger includes multiple joints and multiple phalanges. One phalange of one finger is connected to the palm through one joint, and adjacent phalanges of one finger are connected through one joint. The drive motor is connected to at least one joint and is configured to drive the joint to move, thereby realizing the movement of the dexterous hand. The dexterous hand control method includes: Receive teleoperation data, the teleoperation data including target position data and / or target angle data, the target position data being used to characterize the target position of the finger input by the teleoperation device, and the target angle data being used to characterize the target angle of the joint input by the teleoperation device; Based on the first mapping relationship and the teleoperation data, the target angle of the drive motor is determined, wherein the first mapping relationship is determined based on the structure of the dexterous hand; The target angle of the drive motor is sent to the drive motor, causing the drive motor to rotate to the target angle; The first mapping relationship includes: the mapping relationship between the target position data and the target angle data, and the mapping relationship between the target angle of the drive motor and the target angle of the joint; The step of determining the target angle of the drive motor based on the first mapping relationship and the teleoperation data includes: When the teleoperation data includes the target location data, the target location data is scaled based on a scaling factor to obtain scaled target location data. Based on the mapping relationship between the target position data and the target angle data and the scaled target position data, the target angle of the joint is solved, and the solution result is determined. If the solution result is that there is a solution, the target angle of the drive motor is determined based on the mapping relationship between the target angle of the drive motor and the target angle of the joint, and the target angle of the joint.
2. The dexterous hand control method according to claim 1, characterized in that, After determining the target angle of the joint based on the mapping relationship between the target position data and the target angle data and the scaled target position data, and after determining the solution result, the method further includes: If the solution result is no solution, the state of the drive motor remains unchanged.
3. The dexterous hand control method according to claim 1, characterized in that, The remote operation device includes operating gloves; Before scaling the target location data based on a scaling factor to obtain scaled target location data, the method further includes: Based on the geometric relationship between the joints and the phalanges and the coupling relationship between the joints, the first motion space data of the dexterous hand is determined, and the first motion space data of the dexterous hand is used to characterize the range of motion of the dexterous hand; The scaling factor is determined based on the first motion space data of the dexterous hand and the second motion space data of the operating glove.
4. The dexterous hand control method according to claim 1, characterized in that, The number of fingers is multiple; When the solution result is a solution, determining the target angle of the drive motor based on the mapping relationship between the target angle of the drive motor and the target angle of the joint, and the target angle of the joint, includes: Collision detection is performed based on a collision detection algorithm and the target angles of the various joints, and the collision detection result is determined. If the collision detection result indicates a collision, the state of the drive motor is kept unchanged. If the solution result is that there is a solution and the collision detection result is that there is no collision, the target angle of the drive motor is determined based on the mapping relationship between the target angle of the drive motor and the target angle of the joint and the target angle of the joint.
5. The dexterous hand control method according to claim 4, characterized in that, The dexterous hand also includes a tactile sensor disposed on the finger, the tactile sensor being configured to detect the force applied to the finger and generate sensor values; Wherein, the step of determining the target angle of the drive motor based on the mapping relationship between the target angle of the drive motor and the target angle of the joint, and the target angle of the joint, when the solution result is solvable and the collision detection result is no collision, includes: Receive the sensing values sent by the tactile sensor; If the sensor value is greater than a preset value, the state of the drive motor is kept unchanged. If the solution result is that there is a solution, the collision detection result is that there is no collision, and the sensing value is less than or equal to the preset value, the target angle of the drive motor is determined based on the mapping relationship between the target angle of the drive motor and the target angle of the joint and the target angle of the joint.
6. The dexterous hand control method according to any one of claims 1 to 5, characterized in that, Determining the target angle of the drive motor based on the first mapping relationship and the teleoperation data includes: When the teleoperation data includes the target angle data, the target angle data is normalized and denormalized based on the second mapping relationship to determine the actual target angle of the joint. The second mapping relationship is determined based on the range of motion of the teleoperation device and the range of motion of the dexterous hand. Based on the first mapping relationship and the actual target angle of the joint, the target angle of the drive motor is determined.
7. The dexterous hand control method according to claim 6, characterized in that, The dexterous hand further includes at least one position sensor, which is connected to at least one of the joints. The position sensor is configured to detect the current angle of the corresponding joint. The dexterous hand control method further includes: Receive the current angle of the joint; The current angle of the drive motor is determined based on the third mapping relationship and the current angle of the joint, wherein the third mapping relationship is determined based on the connection relationship between the drive motor and the joint; The current angle of the drive motor is sent to the drive motor.
8. A dexterous hand control device, characterized in that, The invention is applied to a dexterous hand, which includes a palm, at least one finger, and at least one drive motor. The finger includes multiple joints and multiple phalanges. One phalange of one finger is connected to the palm through one joint, and adjacent phalanges of one finger are connected through one joint. The drive motor is connected to at least one joint and is configured to drive the joint to move, thereby realizing the movement of the dexterous hand. The dexterous hand control device includes: A receiving module is configured to receive teleoperation data, the teleoperation data including target position data and / or target angle data, the target position data being used to characterize the target position of the finger input by the teleoperation device, and the target angle data being used to characterize the target angle of the joint input by the teleoperation device; A calculation module is configured to determine the target angle of the drive motor based on a first mapping relationship and the teleoperation data, wherein the first mapping relationship is determined based on the structure of the dexterous hand; wherein the first mapping relationship includes: a mapping relationship between the target position data and the target angle data and a mapping relationship between the target angle of the drive motor and the target angle of the joint; wherein determining the target angle of the drive motor based on the first mapping relationship and the teleoperation data includes: when the teleoperation data includes the target position data, scaling the target position data based on a scaling factor to obtain scaled target position data; solving for the target angle of the joint based on the mapping relationship between the target position data and the target angle data and the scaled target position data, and determining the solution result; if the solution result is a solution, determining the target angle of the drive motor based on the mapping relationship between the target angle of the drive motor and the target angle of the joint and the target angle of the joint; The transmitting module is configured to transmit the target angle of the drive motor to the drive motor, causing the drive motor to rotate to the target angle.
9. A dexterous hand, characterized in that, include: palm; At least one finger, the finger including multiple joints and multiple phalanges, one phalange of the finger being connected to the palm via one of the joints, and adjacent phalanges of the finger being connected via one of the joints; At least one drive motor is connected to at least one of the joints and configured to drive the joints to move; The controller, which is communicatively connected to the drive motor, is configured to control the rotation of the drive motor using the dexterous hand control method according to any one of claims 1 to 7.
10. A robot, characterized in that, include: main body; At least one dexterous hand as described in claim 9 is connected to the body.
Citation Information
Patent Citations
Five-finger dexterous arm-hand robot teleoperation method based on data glove
CN118322199A
Teleoperation control method, device and system of robot dexterous hand and medium
CN118700158A