Control method, device and equipment of mechanical arm, storage medium and electronic device
By acquiring the working range and current position relationship of the robotic arm, the movement of the robotic arm is controlled, which solves the problem of high computational complexity after adding an end effector and achieves more efficient robotic arm operation.
Patent Information
- Application Number
- CN202210212262.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-04
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2042-03-04
AI Technical Summary
In existing technologies, adding a longer end effector to the end of a robotic arm increases the complexity of reachability calculations, reduces processing efficiency, and makes it difficult to determine the reachability of the current pose.
By acquiring the working range of the robotic arm and the current positional relationship between the target detection point and the target reference point, the movement of the robotic arm is controlled, avoiding traversal of the joint space. The pose information is determined using a preset coordinate system and a coordinate system established by the chassis, and the movement of the robotic arm and the chassis is controlled.
It reduces the amount of computation, improves processing efficiency, and expands the working space and flexibility of the robotic arm.
Smart Images

Figure CN116728396B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to the technical field of intelligent robots and Internet of Things, and in particular, to a control method and device of a mechanical arm, equipment, a storage medium and an electronic device. BACKGROUND
[0002] The mobile operation system of the mechanical arm usually includes a mobile platform and a mechanical arm. Unlike the mechanical arm of the traditional fixed base operation, the mechanical arm mobile system with the mobile platform has a wider range of applications, such as Figure 1 As shown, the reachable space of the mechanical arm operation is studied to move the chassis, so that the mechanical arm completes the grasping task.
[0003] In the related art, the current research on the reachable space of the mechanical arm mainly adopts the Monte Carlo method, which traverses the joint space or the reachable area of the end of the mechanical arm in three-dimensional space, but this method has high computational complexity and only contains position information. When a long end effector is added to the end of the mechanical arm, the influence of the working pose on the mechanical arm will increase sharply, such as Figure 2 As shown, pose1 (pose1) is reachable, but pose2 (pose2) is not reachable, and it is difficult to judge the reachability of the current pose, which has the technical problems of large amount of calculation and low processing efficiency.
[0004] Currently, there is no effective solution to the above problems. SUMMARY
[0005] The embodiments of the present disclosure provide a control method, device and equipment of a mechanical arm, a storage medium and an electronic device to at least solve the technical problem of low processing efficiency caused by large amount of calculation.
[0006] According to an aspect of an embodiment of the present disclosure, a control method of a mechanical arm is provided, including: obtaining a working range of the mechanical arm, wherein the working range is used to represent a position relationship allowed to be reached by a target detection point relative to a target reference point, the target reference point is a fixed joint point on the mechanical arm relative to the chassis, the target detection point is a fixed joint point on the mechanical arm relative to the end of the mechanical arm, and the end of the mechanical arm is used to grasp an article; obtaining a current position relationship of the target detection point relative to the target reference point; and controlling the mechanical arm to move according to the current position relationship and the working range.
[0007] Optionally, obtaining the current position relationship of the target detection point relative to the target reference point includes: obtaining target pose information, wherein the target pose information is pose information of the mechanical arm determined based on a preset coordinate system, and the preset coordinate system is established based on the chassis of the mechanical arm; and determining the current position relationship of the target detection point relative to the target reference point based on the target pose information.
[0008] Optionally, determining the current position relationship of the target detection point relative to the target reference point based on the target pose information comprises: determining a first position of the target detection point relative to the chassis based on the target pose information and a preset distance of the target detection point relative to the end; obtaining a second position of the target reference point relative to the chassis; and determining the current position relationship based on the first position and the second position.
[0009] Optionally, obtaining the working range of the robot arm comprises: obtaining distances between adjacent two joints of the robot arm between the target detection point and the target reference point; and determining the working range based on the distances between the adjacent two joints.
[0010] Optionally, the current position relationship comprises a target distance and a target position, and controlling the robot arm to move based on the current position relationship and the working range comprises: if the target distance is within the working range, controlling the robot arm to move based on the target pose information and controlling the chassis to remain stationary; and if the target distance is not within the working range, controlling the robot arm to move based on the target pose information and controlling the chassis to move based on the target position.
[0011] Optionally, the target position comprises a first coordinate value and a second coordinate value, and controlling the chassis to move based on the target position comprises: if the first coordinate value is greater than a first preset value, controlling the chassis to move in a first direction, wherein the first preset value is a maximum distance in the working range and the first direction represents a positive direction of a first coordinate axis in a preset coordinate system; if the first coordinate value is less than a second preset value, controlling the chassis to move in a second direction, wherein the second preset value is an opposite number of the maximum distance and the second direction represents a negative direction of the first coordinate axis; if the second coordinate value is greater than the first preset value, controlling the chassis to move in a third direction, wherein the third direction represents a positive direction of a second coordinate axis in the preset coordinate system; and if the second coordinate value is less than the second preset value, controlling the chassis to move in a fourth direction, wherein the fourth direction represents a negative direction of the second coordinate axis.
[0012] According to another aspect of the embodiments of the present disclosure, a control device of a robot arm is also provided, comprising: a first obtaining module configured to obtain a working range of the robot arm, wherein the working range represents a position relationship of a target detection point relative to a target reference point allowed to be reached, the target reference point is a joint point on the robot arm with a fixed position relative to a chassis, the target detection point is a joint point on the robot arm with a fixed position relative to an end of the robot arm, and the end of the robot arm is configured to grasp an object; a second obtaining module configured to obtain a current position relationship of the target detection point relative to the target reference point; and a control module configured to control the robot arm to move based on the current position relationship and the working range.
[0013] According to another aspect of the embodiments of the present disclosure, a control device of a mechanical arm is also provided, comprising: a mechanical arm configured to move a target object; a chassis connected to the mechanical arm and configured to carry the mechanical arm; and a controller configured to obtain a working range of the mechanical arm, wherein the working range is configured to represent a position relationship allowed to be reached by a target detection point relative to a target reference point, the target reference point is a fixed joint point on the mechanical arm relative to a position of the chassis, and the target detection point is a fixed joint point on the mechanical arm relative to a position of an end of the mechanical arm configured to grasp the object; obtain a current position relationship of the target detection point relative to the target reference point; and control the mechanical arm to move according to the current position relationship and the working range.
[0014] According to another aspect of the embodiments of the present disclosure, a computer storage medium is also provided, which stores a plurality of instructions, the instructions being adapted to be loaded and executed by a processor to perform the steps of the control method of the mechanical arm according to any one of the above embodiments.
[0015] According to another aspect of the embodiments of the present disclosure, an electronic device is also provided, comprising: a processor and a memory, wherein the memory stores a computer program, and the computer program is adapted to be loaded and executed by the processor to perform the steps of the control method of the mechanical arm according to any one of the above embodiments.
[0016] In the embodiments of the present disclosure, by obtaining the working range of the mechanical arm and the current position relationship of the target detection point relative to the target reference point, and then controlling the mechanical arm to move according to the current position relationship and the working range, the joint space does not need to be traversed, thereby achieving the technical effect of reducing the amount of calculation, and further solving the technical problem of low processing efficiency caused by large amount of calculation. BRIEF DESCRIPTION OF DRAWINGS
[0017] The accompanying drawings, which are included to provide a further understanding of the present disclosure and constitute a part of the present disclosure, illustrate certain illustrative embodiments of the present disclosure and are used to explain the present disclosure, but do not limit the present disclosure. In the drawings:
[0018] Figure 1 is a first schematic diagram of mechanical arm movement according to the related art;
[0019] Figure 2 is a second schematic diagram of mechanical arm movement according to the related art;
[0020] Figure 3 is a flowchart of a control method of a mechanical arm according to an embodiment of the present disclosure;
[0021] Figure 4 is a modeling schematic diagram of a six-joint end mechanical arm according to an embodiment of the present disclosure;
[0022] Figure 5 is a schematic diagram of a working range of a mechanical arm according to an optional embodiment of the present disclosure;
[0023] Figure 6 is a structural schematic diagram of a control device of a mechanical arm according to an embodiment of the present disclosure;
[0024] Figure 7 is a structural schematic diagram of a control device of a mechanical arm according to an embodiment of the present disclosure;
[0025] Figure 8 is a structural schematic diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0026] In order to enable persons skilled in the art to better understand the present disclosure scheme, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, not all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by persons skilled in the art without creative labor should belong to the scope of protection of the present disclosure.
[0027] The following description refers to the accompanying drawings. Unless otherwise indicated, same numbers in different drawings indicate same or similar elements. The following detailed description does not represent all implementations consistent with the present disclosure. Instead, they are merely examples of apparatuses and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0028] It should be noted that the terms "first", "second", and the like in the description and claims of the present disclosure and the above drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or a chronological sequence. It should be understood that such use of data can be interchanged under appropriate circumstances, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not necessarily limit to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices. In addition, in the description of the present disclosure, "a plurality of" means two or more, unless otherwise specified. "And / or", which describes the association between objects, means that there can be three relationships, for example, A and / or B can represent three cases: A exists alone, A and B exist together, and B exists alone. The character " / " generally represents an "or" relationship between the associated objects before and after.
[0029] Embodiment 1
[0030] According to an embodiment of the present disclosure, an embodiment of a control method of a mechanical arm is provided.
[0031] The steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that here.
[0032] Figure 3 is a flowchart of a control method of a mechanical arm according to an embodiment of the present disclosure. As shown in Figure 1 the method can include the following steps:
[0033] Step S301, obtaining a working range of the mechanical arm, wherein the working range is used to represent a position relationship allowed to be reached by a target detection point relative to a target reference point, the target reference point is a joint node on the mechanical arm fixed relative to the chassis, and the target detection point is a joint node on the mechanical arm fixed relative to the end of the mechanical arm, and the end of the mechanical arm is used to grasp an article.
[0034] Specifically, the mechanical arm can be a mechanical arm of an end offset configuration connected with a mobile platform.
[0035] The reference point can be a joint node on the mechanical arm fixed relative to the chassis, but there can be multiple joint nodes on one mechanical arm that can serve as reference points, and in actual calculation process, one of them is usually selected as the reference point, and the target reference point can be the joint node serving as the reference point. The detection point can be a joint node on the mechanical arm fixed relative to the end of the mechanical arm, and not fixed relative to other joint nodes on the mechanical arm, but there can be multiple joint nodes on one mechanical arm that can serve as detection points, and in actual calculation process, one of them is usually selected as the detection point, and the target detection point can be the joint node serving as the detection point. In an optional embodiment, as shown in FIG. 4, point O represents the base of the mechanical arm, O0X0Y0Z0 is the base coordinate system, point O represents the chassis of the mechanical arm, point E represents the end of the mechanical arm, and there is no any rotary joint between point O and point A, so point A is fixed relative to point O, and point A can be selected as the target reference point. There is a vertical rotation relative to Z1 and a horizontal rotation relative to Z2 at point B, so point B is not fixed relative to point O and cannot serve as the target reference point. Because there is only a horizontal rotation relative to Z6 at point E, the position of point D relative to point E is fixed; secondly, because there is a horizontal rotation relative to Z4 and Z5 at point C, the position of point D relative to point C is not fixed. In summary, point D is selected as the target detection point.
[0036] The working range can be a set of spatial relations and distances that can be reached between the target detection point and the target reference point, i.e. the working range, in one optional embodiment, as shown in Figure 4 and Figure 5 Figure 5 is a schematic diagram of the working range of a mechanical arm, Figure 5 Each letter in the diagram represents a joint of the mechanical arm, point D is the target detection point, point A is the target reference point, and the working range of the mechanical arm is a set of straight-line distances from point A to point E. There is a horizontal rotation of point B relative to Z3 from point A to point D, and the rotation angle between AB and BC is θ1, which satisfies: where d ab represents the straight-line distance from point A to point B, d bd represents the straight-line distance from point B to point D, and it is noted that d ab is known, and d ab = a2. The angle between CB and CD is θ2, which satisfies:
[0037] where d bc represents the straight-line distance from point B to point C, d cd represents the straight-line distance from point C to point D, and there is a horizontal rotation between points B and D relative to Z4 and Z5. Without considering the joint angle limit and the self-collision of the mechanical arm, point D exists in a spherical region with point C as the center and d cd as the radius. Therefore, when θ1 = θ2 = π, the distance between point A and point D is maximum, and there is:
[0038] where d ad_max can be the maximum value of d ab , a2 is the straight-line distance from point A to point B, a3 is the straight-line distance from point B' to point B, d4 is the straight-line distance from point B' to point C, and a5 is the straight-line distance from point C to point D.
[0039] In the case of d bc >d cd , for the distance between points B and D, there is:
[0040] where d bd_min is the minimum distance between points B and D, d bd_max is the maximum distance between points B and D, θ2 is the rotation angle between points BC and CD, and when θ1 = 0, there is d ab >d bd_max , d ab <d bd_min , and d bd_min <dab <d bd_max In the three cases, the same is not considered joint angle limit and mechanical arm self-collision, there are:
[0041] The minimum distance between points A and B is obtained, and d ad The value range of d ad∈ [d ad_min , d ad_max ], that is, the working range. After determining the working range, compare the working range with the distance between the current target detection point and the target reference point, if the above distance is in the working range, control the mechanical arm to move based on the target pose information, and control the chassis to remain stationary, if the above distance is not in the working range, control the mechanical arm to move and the chassis to move based on the target pose information.
[0042] Step S302, obtaining the current position relationship of the target detection point relative to the target reference point.
[0043] Specifically, the current position relationship includes the distance between the target reference point and the target detection point and the target position. The target position can be the position vector of the target detection point relative to the target reference point in the preset coordinate system. Before obtaining the current position relationship, the target pose information needs to be obtained, which can be the link transformation matrix based on the coordinate system corresponding to point O, including the position information of all joints of the mechanical arm, and is the pose information of the coordinate system established based on the chassis of the mechanical arm. After obtaining the target pose information, the coordinate system corresponding to the target detection point and the preset coordinate system corresponding to the target reference point can be calculated, and the preset distance from the target detection point to the end of the mechanical arm can be obtained. After obtaining the target pose information, the target position of the target detection point in the preset coordinate system can be determined according to the above preset distance and the target pose information. In addition, the information of the target reference point in the preset coordinate system can be directly obtained from the target pose information, and then the distance between the target reference point and the target detection point in the preset coordinate system is calculated to obtain the above current position relationship.
[0044] Step S303, controlling the mechanical arm to move according to the current position relationship and the working range.
[0045] Specifically, the operation of the mechanical arm usually needs the mechanical arm end to be completed, and therefore, reachability test needs to be performed on the mechanical arm end, that is, whether the mechanical arm can reach the corresponding target pose is determined. After it is determined that the current positional relationship of the mechanical arm is located in the working range, the mechanical arm is controlled to move, including: comparing the distance between the target detection point and the target reference point in the current positional relationship and the working range, if the distance is within the working range, the mechanical arm is controlled to move based on the target pose information, and the chassis is controlled to remain stationary, and if the distance is not within the working range, the mechanical arm is controlled to move based on the target pose information, and the chassis is controlled to move based on the target position. In this way, compared with the existing mechanical arm which can only move in a specified environmental space, the mechanical arm can move more flexibly and has a larger moving space.
[0046] In the above embodiment of the present disclosure, the working range of the mechanical arm and the current positional relationship of the target detection point relative to the target reference point are obtained, and then the mechanical arm is controlled to move according to the current positional relationship and the working range, without traversing the joint space, thereby achieving the technical effect of reducing the amount of calculation, and further solving the technical problem of low processing efficiency caused by large amount of calculation.
[0047] Optionally, obtaining the current positional relationship of the target detection point relative to the target reference point includes: obtaining target pose information, wherein the target pose information is pose information of the mechanical arm determined based on a preset coordinate system, and the preset coordinate system is established based on a chassis of the mechanical arm; and determining the current positional relationship of the target detection point relative to the target reference point based on the target pose information.
[0048] Specifically, the present disclosure can establish a corresponding coordinate system for the joints of the mechanical arm based on forward kinematics, wherein the preset coordinate system can be a corresponding coordinate system established based on the chassis of the mechanical arm, and the target pose information can be a link transformation matrix in the coordinate system corresponding to point O, including the positional information of all joint points of the mechanical arm. In an optional embodiment, as shown in Figure 4 point O represents the chassis of the mechanical arm, point E represents the mechanical arm end of the mechanical arm, and points A, B, B', C and D all represent other joints of the mechanical arm. The coordinate system is established by using the D-H parameter method, O0X0Y0Z0-O6X6Y6Z6, and each joint in the figure rotates around the Z axis of the corresponding coordinate system.
[0049] After determining the target detection point and the target reference point, the coordinate system corresponding to the target detection point and the preset coordinate system corresponding to the target reference point can be calculated. The preset distance from the target detection point to the end effector of the robotic arm can be obtained. After acquiring the target pose information, the position of the target detection point in the preset coordinate system can be determined based on the preset distance and the target pose information. In addition, the information of the target reference point in the preset coordinate system can be directly obtained from the target pose information. Then, the distance between them can be calculated based on the information of the target reference point and the information of the target detection point in the preset coordinate system.
[0050] Optionally, determining the current positional relationship of the target detection point relative to the target reference point based on the target pose information includes: determining a first position of the target detection point relative to the chassis based on the target pose information and a preset distance between the target detection point and the end effector; obtaining a second position of the target reference point relative to the chassis; and determining the current positional relationship based on the first and second positions.
[0051] Specifically, the preset distance can be the distance between the joint represented by the target detection point and the end effector of the robotic arm. The first position can be the coordinate position of the target detection point in the preset coordinate system, which needs to be calculated from the preset distance and the target pose. The second position can be the position of the target reference point in the preset coordinate system. Since the target reference point is fixed relative to the chassis of the robotic arm, the second position can be directly obtained from the target pose. The current positional relationship includes the spatial relationship and distance between the first and second positions, where the spatial relationship between the first and second positions can be the position vector of the target detection point relative to the target reference point in the preset coordinate system.
[0052] As an optional implementation, for a grasping task, given the target pose relative to a preset coordinate system... O T E′ :
[0053] The second position of the target reference point can be determined from the target pose. O p A =[0 0 d1]; for example Figure 4 As shown, point D is translated backward by d6 relative to the end point E along z6. The position of the target detection point in the preset coordinate system can be calculated using the following formula: O p D′ =p-d6 * a, where p = (p x ,p y ,p z ) represents the position of the end effector E in the preset coordinate system during the target pose, a = (a x ,a y ,a zThe vector d represents the z-axis of the end coordinate system O6X6Y6Z6 in the base coordinate system, and d6 represents the distance between points D and E. Then, the position vector of the target detection point relative to the target reference point can be obtained using the following formula:
[0054] A p D′ = O p D′ - O p A =[p x -d6*a x p y -d6*a y p z -d6*a z -d1]
[0055] Where, p = (p x ,p y ,p z ) represents the position of the end effector E in the preset coordinate system during the target pose, a = (a x ,a y ,a z The vector d1 represents the distance between points D and E in the base coordinate system, and d6 represents the distance between points O and A. After obtaining the position vector of the target detection point relative to the target reference point, the distance between the target reference point and the target detection point can be obtained by calculating the magnitude of this position vector.
[0056] Optionally, controlling the movement of the robotic arm based on the current positional relationship includes: obtaining the working range of the robotic arm, wherein the working range is used to characterize the current positional relationship that the target detection point is allowed to reach relative to the target reference point; and controlling the movement of the robotic arm based on the current positional relationship and the working range.
[0057] Optionally, obtaining the working range of the robotic arm includes: obtaining the distance between two adjacent joints between the target detection point and the target reference point on the robotic arm; and determining the working range based on the distance between the two adjacent joints.
[0058] Specifically, there are multiple keypoints between the target detection point and the target reference point. Each keypoint may have a different rotation angle. During the operation of the robotic arm, the straight-line distance between adjacent keypoints constantly changes. We can first determine the distances between all adjacent keypoints between the target detection point and the target reference point. Then, based on the geometric relationships of these distances in the robotic arm model, we can calculate the maximum and minimum values of the distance between the target detection point and the target reference point, thereby determining the range of values for the distance between the target reference point and the target detection point—that is, the aforementioned working range. For example, as... Figure 5As shown, point A is a target reference point, point D is a target detection point, AD represents the distance from point A to point D, when θ1= θ2= π, the distance from the target reference point to the target detection point is the maximum, that is, d AD The maximum distance can be calculated by the following formula: AD = AB + BC + CD.
[0059] Alternatively, the current position relationship includes: a target distance and a target position, and based on the current position relationship and the working range, the control of the movement of the robot arm includes: if the target distance is within the working range, moving the robot arm based on the control target pose information and keeping the chassis stationary; and if the target distance is not within the working range, moving the robot arm based on the control target pose information and moving the chassis based on the target position.
[0060] Specifically, the target position is a position vector of the target detection point relative to the target reference point in a preset coordinate system. If the target distance is within the working range, it indicates that the target pose of the current robot arm is reachable without moving the chassis, and only the movement of the robot arm needs to be controlled according to the target pose information; if the target distance is not within the working range, the relationship between the target position and the working range is determined.
[0061] Alternatively, the target position includes: a first coordinate value and a second coordinate value, and the movement of the chassis based on the target position includes: if the first coordinate value is greater than a first preset value, moving the chassis in a first direction, wherein the first preset value is the maximum distance in the working range, and the first direction is used to represent the positive direction of the first coordinate axis in the preset coordinate system; if the first coordinate value is less than a second preset value, moving the chassis in a second direction, wherein the second preset value is the opposite of the maximum distance, and the second direction is used to represent the negative direction of the first coordinate axis; if the second coordinate value is greater than the first preset value, moving the chassis in a third direction, wherein the third direction is used to represent the positive direction of the second coordinate axis in the preset coordinate system; and if the second coordinate value is less than the second preset value, moving the chassis in a fourth direction, wherein the fourth direction is used to represent the negative direction of the second coordinate axis.
[0062] Specifically, the target position is a multi-dimensional vector in a preset coordinate system, the first coordinate axis is an X axis in the preset coordinate system, the first coordinate value is a value of the target position on the X axis, the first direction can be a positive direction of the X axis in the preset coordinate system, and the second direction can be a negative direction of the X axis in the preset coordinate system; the second coordinate axis can be a Y axis in the preset coordinate system, the second coordinate value can be a value of the target position on the Y axis, the third direction can be a positive direction of the Y axis in the preset coordinate system, and the fourth direction can be a negative direction of the Y axis in the preset coordinate system. If the first coordinate value of the target position is greater than a first preset value, the base is controlled to move in the positive direction of the X axis; if the first coordinate value of the target position is less than a second preset value, the base of the robot arm is controlled to move in the negative direction of the X axis. If the second coordinate value of the target position is greater than the first preset value, the base is controlled to move in the positive direction of the Y axis; if the second coordinate value of the target position is greater than the first preset value, the base is controlled to move in the positive direction of the Y axis; if the second coordinate value of the target position is less than the second preset value, the base is controlled to move in the reverse direction of the Y axis.
[0063] Embodiment 2
[0064] The embodiment of the present disclosure further provides a control device of a robot arm. It should be noted that the control device of the robot arm in this embodiment can be used to execute the control method of the robot arm in the embodiment of the present disclosure.
[0065] Figure 6 FIG. 1 is a structural schematic diagram of a control device of a robot arm according to an embodiment of the present disclosure, as shown in the figure, the device comprises: Figure 6
[0066] The first acquisition module 61 is configured to acquire a working range of the robot arm, wherein the working range is used to represent a position relationship allowed to be reached by a target detection point relative to a target reference point, the target reference point is a joint point on the robot arm with a fixed position relative to the base, and the target detection point is a joint point on the robot arm with a fixed position relative to a robot arm end, and the robot arm end is used to grasp an article.
[0067] The second acquisition module 62 is configured to acquire a current position relationship of the target detection point relative to the target reference point.
[0068] The control module 63 is configured to control the robot arm to move according to the current position relationship and the working range.
[0069] In the embodiment of the present disclosure, by acquiring the working range of the robot arm and the current position relationship of the target detection point relative to the target reference point, and then controlling the robot arm to move according to the current position relationship and the working range, the joint space does not need to be traversed, thereby achieving the technical effect of reducing the amount of calculation, and further solving the technical problem of low processing efficiency caused by large amount of calculation.
[0070] Optionally, the second obtaining module comprises: a pose information obtaining unit, configured to obtain target pose information, wherein the target pose information is pose information of the robot arm determined based on a preset coordinate system, and the preset coordinate system is established based on a chassis of the robot arm; and a position relationship determining unit, configured to determine a current position relationship of the target detection point relative to the target reference point based on the target pose information.
[0071] Optionally, the position relationship determining unit comprises: an information obtaining subunit, configured to obtain target pose information, wherein the target pose information is pose information of the robot arm determined based on a preset coordinate system, and the preset coordinate system is established based on a chassis of the robot arm; and a position relationship determining subunit, configured to determine a current position relationship of the target detection point relative to the target reference point based on the target pose information.
[0072] Optionally, the first obtaining module comprises: a joint distance obtaining unit, configured to obtain a distance between two adjacent joints on the robot arm and between the target detection point and the target reference point; and a working range determining unit, configured to determine a working range based on the distance between the two adjacent joints.
[0073] Optionally, the current position relationship comprises: a target distance and a target position, and the control module comprises: a first control unit, configured to control the robot arm to move based on the target pose information and control the chassis to remain stationary if the target distance is within the working range; and a second control unit, configured to control the robot arm to move based on the target pose information and control the chassis to move based on the target position if the target distance is not within the working range.
[0074] Optionally, the target position comprises: a first coordinate value and a second coordinate value, and the second control unit is further configured to control the chassis to move in a first direction if the first coordinate value is greater than a first preset value, wherein the first preset value is a maximum distance in the working range, and the first direction is used to represent a positive direction of a first coordinate axis in the preset coordinate system; control the chassis to move in a second direction if the first coordinate value is less than a second preset value, wherein the second preset value is an opposite number of the maximum distance, and the second direction is used to represent a negative direction of the first coordinate axis; control the chassis to move in a third direction if the second coordinate value is greater than the first preset value, wherein the third direction is used to represent a positive direction of a second coordinate axis in the preset coordinate system; and control the chassis to move in a fourth direction if the second coordinate value is less than the second preset value, wherein the fourth direction is used to represent a negative direction of the second coordinate axis.
[0075] Embodiment 3
[0076] The embodiments of the present disclosure further provide a control device of a robot arm. It should be noted that the control device of the robot arm in the embodiments can be used to execute the control method of the robot arm in the embodiments of the present disclosure.
[0077] Figure 7 is a structural schematic diagram of a control device of a mechanical arm according to an embodiment of the present disclosure, as shown in the figure, the device comprises: Figure 7
[0078] a mechanical arm 71, configured to move a target object.
[0079] a chassis 72, connected with the mechanical arm, configured to carry the mechanical arm.
[0080] a controller 73, configured to acquire a working range of the mechanical arm, wherein the working range is used to represent a position relationship allowed to be reached by a target detection point relative to a target reference point, the target reference point is a joint point on the mechanical arm which is fixed relative to the chassis, and the target detection point is a joint point on the mechanical arm which is fixed relative to an end of the mechanical arm configured to grasp the object; acquire a current position relationship of the target detection point relative to the target reference point; and control the mechanical arm to move according to the current position relationship and the working range.
[0081] In the embodiment of the present disclosure, the working range of the mechanical arm and the current position relationship of the target detection point relative to the target reference point are taken, and then the mechanical arm is controlled to move according to the current position relationship and the working range, without traversing the joint space, thereby realizing the technical effect of reducing the amount of calculation, and further solving the technical problem of low processing efficiency caused by large amount of calculation.
[0082] Optionally, the processor is further configured to acquire target pose information, wherein the target pose information is pose information of the mechanical arm determined based on a preset coordinate system, and the preset coordinate system is established based on a chassis of the mechanical arm; and determine the current position relationship of the target detection point relative to the target reference point based on the target pose information.
[0083] Optionally, the processor is further configured to determine a first position of the target detection point relative to the chassis based on the target pose information and a preset distance of the target detection point relative to the end; acquire a second position of the target reference point relative to the chassis; and determine the current position relationship based on the first position and the second position.
[0084] Optionally, the processor is further configured to acquire a distance between two adjacent joint points on the mechanical arm between the target detection point and the target reference point; and determine the working range based on the distance between the two adjacent joint points.
[0085] Optionally, the current position relationship includes a target distance and a target position, and the processor is further configured to, if the target distance is within the working range, control the mechanical arm to move based on the target pose information and control the chassis to remain stationary; and if the target distance is not within the working range, control the mechanical arm to move based on the target pose information and control the chassis to move based on the target position.
[0086] Optionally, the target position comprises a first coordinate value and a second coordinate value, and the processor is further configured to control the chassis to move in a first direction if the first coordinate value is greater than a first preset value, wherein the first preset value is a maximum distance in the working range, and the first direction represents a positive direction of a first coordinate axis in a preset coordinate system; control the chassis to move in a second direction if the first coordinate value is less than a second preset value, wherein the second preset value is an opposite number of the maximum distance, and the second direction represents a negative direction of the first coordinate axis; control the chassis to move in a third direction if the second coordinate value is greater than the first preset value, wherein the third direction represents a positive direction of a second coordinate axis in the preset coordinate system; and control the chassis to move in a fourth direction if the second coordinate value is less than the second preset value, wherein the fourth direction represents a negative direction of the second coordinate axis.
[0087] Embodiment 4
[0088] The embodiments of the present disclosure further provide a computer storage medium, which can store a plurality of instructions. The instructions are suitable for being loaded and executed by a processor to perform the method steps of the embodiments shown in the above Figure 3 The specific implementation process can refer to the specific description of the embodiments shown in the above Figure 3 The specific implementation process can refer to the specific description of the embodiments shown in the above
[0089] The device where the storage medium is located can be an intelligent interactive tablet.
[0090] Embodiment 5
[0091] As shown in the above Figure 8 The intelligent interactive tablet 1000 can include at least one processor 1001, at least one network interface 1004, a user interface 1003, a memory 1005, and at least one communication bus 1002.
[0092] The communication bus 1002 is configured to realize the connection and communication between the components.
[0093] The user interface 1003 can include a display screen (Display) and a camera (Camera). Optionally, the user interface 1003 can further include a standard wired interface and a wireless interface.
[0094] Optionally, the network interface 1004 can include a standard wired interface and a wireless interface (such as a WI-FI interface).
[0095] The processor 1001 can include one or more processing cores. The processor 1001 connects various parts in the smart interactive tablet 1000 through various interfaces and lines, and performs various functions and processes data of the smart interactive tablet 1000 by running or executing instructions, programs, code sets or instruction sets stored in the memory 1005, and calling data stored in the memory 1005. Alternatively, the processor 1001 can be implemented in at least one of a hardware form of a digital signal processing (DSP), a field-programmable gate array (FPGA), and a programmable logic array (PLA). The processor 1001 can be integrated with a combination of one or more of a central processing unit (CPU), a graphics processing unit (GPU), and a modem. Among them, the CPU is mainly used to process the operating system, user interface and application programs; the GPU is used to render and draw the content to be displayed on the display screen; and the modem is used to process wireless communication. It can be understood that the above-mentioned modem can also not be integrated into the processor 1001, but can be realized by a separate chip.
[0096] The memory 1005 can include a random access memory (RAM) and can also include a read-only memory (ROM). Optionally, the memory 1005 includes a non-transitory computer-readable storage medium. The memory 1005 can be used to store instructions, programs, codes, code sets or instruction sets. The memory 1005 can include a program storage area and a data storage area. The program storage area can store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playing function, an image playing function, etc.), instructions for implementing the above-mentioned various method embodiments, etc. The data storage area can store data related to the above-mentioned various method embodiments, etc. The memory 1005 can also be at least one storage device located away from the above-mentioned processor 1001. As shown in the figure, the memory 1005 as a computer storage medium can include an operating system, a network communication module, a user interface module, and an operation application program of the smart interactive tablet. Figure 8
[0097] In Figure 8 In the illustrated intelligent interactive tablet 1000, the user interface 1003 is mainly used to provide an interface for user input and obtain user input data; and the processor 1001 can be used to call the operation application of the intelligent interactive tablet stored in the memory 1005, and specifically perform the following operations:
[0098] obtaining a working range of the mechanical arm, wherein the working range is used to represent a position relationship allowed to be reached by the target detection point relative to a target reference point, the target reference point is a fixed joint point on the mechanical arm relative to the chassis, and the target detection point is a fixed joint point on the mechanical arm relative to the end of the mechanical arm, and the end of the mechanical arm is used to grasp an article; obtaining a current position relationship of the target detection point relative to the target reference point; and controlling the mechanical arm to move according to the current position relationship and the working range.
[0099] Optionally, the obtaining of the current position relationship of the target detection point relative to the target reference point comprises: obtaining target pose information, wherein the target pose information is pose information of the mechanical arm determined based on a preset coordinate system, and the preset coordinate system is established based on the chassis of the mechanical arm; and determining the current position relationship of the target detection point relative to the target reference point based on the target pose information.
[0100] Optionally, the determining of the current position relationship of the target detection point relative to the target reference point based on the target pose information comprises: determining a first position of the target detection point relative to the chassis based on the target pose information and a preset distance of the target detection point relative to the end; obtaining a second position of the target reference point relative to the chassis; and determining the current position relationship based on the first position and the second position.
[0101] Optionally, the obtaining of the working range of the mechanical arm comprises: obtaining a distance between adjacent two joint points on the mechanical arm between the target detection point and the target reference point; and determining the working range based on the distance between the adjacent two joint points.
[0102] Optionally, the position relationship comprises a target distance and a target position, and the controlling of the mechanical arm to move based on the position relationship and the working range comprises: if the target distance is within the working range, controlling the mechanical arm to move based on the target pose information and controlling the chassis to remain stationary; and if the target distance is not within the working range, controlling the mechanical arm to move based on the target pose information and controlling the chassis to move based on the target position.
[0103] Optionally, the target position comprises a first coordinate value and a second coordinate value, and the controlling the chassis to move based on the target position comprises: if the first coordinate value is greater than a first preset value, controlling the chassis to move in a first direction, wherein the first preset value is a maximum distance in the working range, and the first direction represents a positive direction of a first coordinate axis in a preset coordinate system; if the first coordinate value is less than a second preset value, controlling the chassis to move in a second direction, wherein the second preset value is a negative number of the maximum distance, and the first direction represents a negative direction of the first coordinate axis; if the second coordinate value is greater than the first preset value, controlling the chassis to move in a third direction, wherein the third direction represents a positive direction of a second coordinate axis in the preset coordinate system; and if the second coordinate value is less than the second preset value, controlling the chassis to move in a fourth direction, wherein the fourth direction represents a negative direction of the second coordinate axis.
[0104] In one embodiment, the operating system of the smart interactive panel is an Android system, and in the Android system, the
[0105] The processor 1001 further performs the following steps:
[0106] obtaining a working range of the mechanical arm, wherein the working range represents a position relationship of the target detection point relative to a target reference point, the target reference point is a joint point on the mechanical arm that is fixed relative to the chassis, and the target detection point is a joint point on the mechanical arm that is fixed relative to a mechanical arm end, and the mechanical arm end is used to grasp an object; obtaining a current position relationship of the target detection point relative to the target reference point; and controlling the mechanical arm to move according to the current position relationship and the working range.
[0107] In one embodiment, the processor 1001 further performs the following steps:
[0108] Optionally, the obtaining of the current position relationship of the target detection point relative to the target reference point comprises: obtaining target pose information, wherein the target pose information is pose information of the mechanical arm determined based on a preset coordinate system, and the preset coordinate system is established based on the chassis of the mechanical arm; and determining the current position relationship of the target detection point relative to the target reference point based on the target pose information.
[0109] Optionally, the determining of the current position relationship of the target detection point relative to the target reference point based on the target pose information comprises: determining a first position of the target detection point relative to the chassis based on the target pose information and a preset distance of the target detection point relative to the end; obtaining a second position of the target reference point relative to the chassis; and determining the current position relationship based on the first position and the second position.
[0110] Optionally, the controlling the robot arm to move according to the position relationship comprises: obtaining a working range of the robot arm, wherein the working range is used to represent a position relationship allowed to be reached by the target detection point relative to the target reference point; and controlling the robot arm to move based on the position relationship and the working range.
[0111] Optionally, the obtaining the working range of the robot arm comprises: obtaining a distance between two adjacent joints on the robot arm between the target detection point and the target reference point; and determining the working range based on the distance between the two adjacent joints.
[0112] Optionally, the position relationship comprises: a target distance and a target position, and the controlling the robot arm to move based on the position relationship and the working range comprises: if the target distance is within the working range, controlling the robot arm to move based on the target pose information and keeping the chassis stationary; and if the target distance is not within the working range, controlling the robot arm to move based on the target pose information and controlling the chassis to move based on the target position.
[0113] Optionally, the target position comprises: a first coordinate value and a second coordinate value, and the controlling the chassis to move based on the target position comprises: if the first coordinate value is greater than a first preset value, controlling the chassis to move in a first direction, wherein the first preset value is a maximum distance in the working range, and the first direction is used to represent a positive direction of a first coordinate axis in a preset coordinate system; if the first coordinate value is less than a second preset value, controlling the chassis to move in a second direction, wherein the second preset value is an opposite number of the maximum distance, and the second direction is used to represent a negative direction of the first coordinate axis; if the second coordinate value is greater than the first preset value, controlling the chassis to move in a third direction, wherein the third direction is used to represent a positive direction of a second coordinate axis in the preset coordinate system; and if the second coordinate value is less than the second preset value, controlling the chassis to move in a fourth direction, wherein the fourth direction is used to represent a negative direction of the second coordinate axis.
[0114] In the embodiments of the present disclosure, by obtaining the working range of the robot arm and the current position relationship of the target detection point relative to the target reference point, and then controlling the robot arm to move according to the current position relationship and the working range, the joint space does not need to be traversed, thereby achieving the technical effect of reducing the amount of calculation, and further solving the technical problem of low processing efficiency caused by large amount of calculation.
[0115] Those skilled in the art should understand that the embodiments of the present disclosure can be provided as a method, a system, or a computer program product. Therefore, the present disclosure can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, the present disclosure can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0116] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks Figure 1 means for functionally implementing the steps listed in the flowchart block or blocks.
[0117] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks Figure 1 means for functionally implementing the steps listed in the flowchart block or blocks.
[0118] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks Figure 1 means for functionally implementing the steps listed in the flowchart block or blocks.
[0119] In one typical configuration, the computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.
[0120] The memory can include non-persistent memory and / or volatile memory, such as random access memory (RAM) and / or cache memory, for storing instructions and data used and / or generated by the computing device. The memory can also include non-volatile memory, such as read-only memory (ROM), electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, or nonvolatile random access memory (RAM) (e.g., fault tolerant RAM), for storing instructions and data used and / or generated by the computing device. The memory is an example of computer-readable media.
[0121] Computer-readable media includes permanent and non-permanent, movable and non-movable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible by a computing device. According to the definition herein, computer-readable media does not include transitory media such as modulated data signals and carriers.
[0122] It should also be noted that the terms "comprising", "containing", or any other variant thereof are intended to cover a non-exclusive inclusion, such that a process, method, article or apparatus that comprises a list of elements does not only include those elements, but can also include other elements not expressly listed or inherent to such process, method, article or apparatus. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of additional identical elements in the process, method, article or apparatus that includes the element.
[0123] The above is only an embodiment of the present disclosure and is not intended to limit the present disclosure. The present disclosure can have various modifications and changes for those skilled in the art. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present disclosure shall be included in the scope of claims of the present disclosure.
Claims
1. A control method of a robot arm, characterized by, The method comprises: obtaining a working range of the robot arm, wherein the working range is used to represent a position relationship allowed to be reached by a target detection point relative to a target reference point, the target reference point is a joint point on the robot arm fixed relative to a chassis, and the target detection point is a joint point on the robot arm fixed relative to an end of the robot arm; obtaining a current position relationship of the target detection point relative to the target reference point; controlling the robot arm to move according to the current position relationship and the working range; wherein the obtaining of the current position relationship of the target detection point relative to the target reference point comprises: calculating a coordinate position of the target detection point in a preset coordinate system according to a preset distance and target pose information, determining a first position based on the coordinate position of the target detection point in the preset coordinate system, wherein the preset coordinate system is established based on the chassis of the robot arm, and the target pose information is pose information of the robot arm determined based on the preset coordinate system; obtaining a position of the target reference point in the preset coordinate system from the target pose information, determining a second position based on the position of the target reference point in the preset coordinate system; and determining the current position relationship based on the first position and the second position.
2. The method of claim 1, wherein, The obtaining of the current position relationship of the target detection point relative to the target reference point comprises: obtaining the target pose information; determining the current position relationship of the target detection point relative to the target reference point based on the target pose information.
3. The method of claim 2, wherein, The determining of the current position relationship of the target detection point relative to the target reference point based on the target pose information comprises: determining a first position of the target detection point relative to the chassis based on the target pose information and a preset distance of the target detection point relative to the end; obtaining a second position of the target reference point relative to the chassis; determining the current position relationship based on the first position and the second position.
4. The method of claim 1, wherein, The obtaining of the working range of the robot arm comprises: obtaining a distance between two adjacent joint points on the robot arm between the target detection point and the target reference point; determining the working range based on the distance between the two adjacent joint points.
5. The method of claim 1, wherein, The current position relationship comprises a target distance and a target position, and the controlling of the robot arm to move based on the current position relationship and the working range comprises: if the target distance is within the working range, controlling the robot arm to move based on target pose information and controlling the chassis to remain stationary; if the target distance is not within the working range, controlling the robot arm to move based on target pose information and controlling the chassis to move based on the target position.
6. The method of claim 5, wherein, The target position comprises a first coordinate value and a second coordinate value, and the controlling of the chassis to move based on the target position comprises: if the first coordinate value is greater than a first preset value, controlling the chassis to move in a first direction, wherein the first preset value is a maximum distance in the working range, and the first direction is used to represent a positive direction of a first coordinate axis in the preset coordinate system. If the first coordinate value is less than a second preset value, the chassis is controlled to move in a second direction, wherein the second preset value is an opposite number of the maximum distance, and the second direction represents a negative direction of the first coordinate axis; If the second coordinate value is greater than the first preset value, the chassis is controlled to move in a third direction, wherein the third direction represents a positive direction of a second coordinate axis in the preset coordinate system; If the second coordinate value is less than the second preset value, the chassis is controlled to move in a fourth direction, wherein the fourth direction represents a negative direction of the second coordinate axis.
7. A control device of a robot arm, characterized by, Comprise: A first acquisition module is used to acquire the working range of the mechanical arm, wherein the working range represents the position relationship of the target detection point relative to the target reference point that is allowed to be reached, the target reference point is a joint point on the mechanical arm that is fixed relative to the chassis, and the target detection point is a joint point on the mechanical arm that is fixed relative to the end of the mechanical arm; A second acquisition module is used to acquire the current position relationship of the target detection point relative to the target reference point; A control module is used to control the movement of the mechanical arm based on the current position relationship and the working range. The second acquisition module is further used to calculate the coordinate position of the target detection point in a preset coordinate system based on a preset distance and target pose information, determine a first position based on the coordinate position of the target detection point in the preset coordinate system, obtain the position of the target reference point in the preset coordinate system from the target pose information, determine a second position based on the position of the target reference point in the preset coordinate system, and determine the current position relationship based on the first position and the second position.
8. A control device of a robot arm, characterized by, Comprise: A mechanical arm is used to move a target object; A chassis is connected to the mechanical arm and is used to carry the mechanical arm; A controller is used to acquire the working range of the mechanical arm, wherein the working range represents the position relationship of the target detection point relative to the target reference point that is allowed to be reached, the target reference point is a joint point on the mechanical arm that is fixed relative to the chassis, and the target detection point is a joint point on the mechanical arm that is fixed relative to the end of the mechanical arm and is used to grasp an object; acquire the current position relationship of the target detection point relative to the target reference point; and control the movement of the mechanical arm based on the current position relationship and the working range. The controller is further configured to calculate a coordinate position of the target detection point in a preset coordinate system according to a preset distance and target pose information, determine a first position based on the coordinate position of the target detection point in the preset coordinate system, wherein the preset coordinate system is established based on a chassis of the robot arm, and the target pose information is pose information of the robot arm determined based on the preset coordinate system; obtain a position of the target reference point in the preset coordinate system from the target pose information, determine a second position based on the position of the target reference point in the preset coordinate system; and determine the current position relationship based on the first position and the second position.
9. A computer storage medium, characterized in that The computer storage medium stores a plurality of instructions, which are suitable for being loaded and executed by a processor to perform the method steps of any one of claims 1 to 6.
10. An electronic device, comprising: Comprise: A processor and a memory; wherein the memory stores a computer program, and the computer program is suitable for being loaded and executed by the processor to perform the method steps of any one of claims 1 to 6. A processor and a memory; wherein the memory stores a computer program, and the computer program is suitable for being loaded and executed by the processor to perform the method steps of any one of claims 1 to 6.
Citation Information
Patent Citations
Robot local path planning method
CN106990777A
Robot control device, control method therefor, and program
JP2013082049A