Mechanical arm motion visualization method, system, terminal device, and readable storage medium
By receiving the target position of the robotic arm's end effector input by the user, obtaining the reachable area, and visually displaying the end effector's motion state, the problem of motion abnormalities caused by unreasonable input coordinates in robotic arm motion control is solved, achieving an intuitive operating experience and improved efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- UBTECH ROBOTICS CORP LTD
- Filing Date
- 2023-06-27
- Publication Date
- 2026-04-21
AI Technical Summary
In robotic arm motion control, if the range of three-dimensional coordinates input by the user exceeds the actual range of motion of the robotic arm or does not conform to the motion law, the robotic arm will be unable to move normally or reach the target position.
By receiving the target position of the robotic arm end effector input by the user, the reachable area of the robotic arm end effector is obtained, and the motion state of the end effector is visualized in the interactive interface. The validity of the target position is detected, the robotic arm end effector is controlled to move to the valid position, and the joint-related connection points are selected as key points for display.
It improves user operation efficiency, avoids invalid position input, enhances intuitive understanding of the robotic arm's range of motion, and is suitable for robotic arm teaching and user operation interfaces.
Smart Images

Figure CN116713995B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotic arm technology, and in particular to a method, system, terminal device, and readable storage medium for visualizing robotic arm motion. Background Technology
[0002] In the field of robotics, when using robotic arms to perform tasks, precise positioning and control of the arm's movement are required. Three-dimensional coordinate axes can provide accurate position information of the robotic arm's end effector. Generally, by inputting the three-dimensional coordinates of the end effector, and then using inverse kinematics algorithms, the angle of each joint is calculated, thereby achieving precise control and positioning of the robotic arm. This control method can be used not only for automated production on industrial production lines but also in various fields such as medical surgery and logistics handling.
[0003] However, when inputting 3D coordinates, the following problems often arise, such as incorrect input range. That is, if the user inputs coordinates beyond the actual range of motion of the robotic arm, or if the input coordinate values do not conform to the robotic arm's motion rules, the robotic arm will fail to move normally or reach the target position. For robotic arms on the market, users usually control them directly through an interface, generally requiring the provision of relevant 3D coordinate information, but since they don't know what a reasonable range is, to avoid the above problems, it is usually necessary to check the robotic arm's range of motion and input accordingly, which is quite cumbersome. Summary of the Invention
[0004] In view of this, embodiments of this application provide a method, system, terminal device, and readable storage medium for visualizing the motion of a robotic arm.
[0005] In a first aspect, embodiments of this application provide a method for visualizing the motion of a robotic arm, including:
[0006] Receive the target position that the robotic arm end effector expects to reach, as input by the user in the interactive interface;
[0007] The reachable area of the robotic arm's end effector is obtained to detect whether the target position is valid; wherein, obtaining the reachable area of the robotic arm's end effector includes: obtaining a first reachable area of the robotic arm's end effector in a first motion plane in a Cartesian coordinate system and a second reachable area of the robotic arm's end effector in a second motion plane in a Cartesian coordinate system; the second motion plane is perpendicular to the first motion plane;
[0008] When valid, the robotic arm end effector is controlled to move from its current position to the target position. The joint-related connection points and end effector positions corresponding to their respective motion planes are selected as key points, and the end effector motion state is visualized. The visualization of the end effector motion state includes: calculating the slope of the line connecting each key point in each motion plane, so as to use the slope of the line to describe the real-time pose of the robotic arm end effector when it moves in its respective motion plane.
[0009] In some embodiments, the target position is the three-dimensional coordinates of the robotic arm's end effector in a Cartesian coordinate system; detecting whether the target position is valid includes:
[0010] Detect whether two values in the three-dimensional coordinates corresponding to the first motion plane are located within the first reachable region, and whether two values in the three-dimensional coordinates corresponding to the second motion plane are located within the second reachable region;
[0011] The target location is considered valid if it is located within the corresponding reachable area.
[0012] In some embodiments, the robotic arm motion visualization method further includes:
[0013] If at least one location is not located within the corresponding reachable area, the target location is deemed invalid.
[0014] If this fails, control the end effector of the robotic arm to remain in its current position.
[0015] In some embodiments, the first motion plane is the XZ plane, and the second motion plane is the XY plane.
[0016] In some embodiments, when detecting whether the two values in the three-dimensional coordinates corresponding to the first motion plane are located within the first reachable region, and whether the two values in the three-dimensional coordinates corresponding to the second motion plane are located within the second reachable region, the method further includes:
[0017] Detect whether the XZ value in the three-dimensional coordinates is located within the first reachable region;
[0018] If it is located, then detect whether the Y value in the three-dimensional coordinates is located within the second reachable region;
[0019] If the position exceeds the limit, the coordinates of the robotic arm's end effector within the first reachable area will be controlled to remain at a coordinate position that is about to exceed the edge of the area.
[0020] In some embodiments, the robotic arm motion visualization method further includes:
[0021] When the XZ value in the three-dimensional coordinates is located within the first reachable region, a fixed axis parallel to the Y-axis is determined within the second reachable region based on the X value;
[0022] The fixed axis is used to indicate the effective range within which the end effector of the robotic arm can adjust the Y value in the three-dimensional coordinates without exceeding the second reachable area.
[0023] In some embodiments, obtaining the first reachable region of the robotic arm end effector in a first motion plane in a Cartesian coordinate system and the second reachable region in a second motion plane in a Cartesian coordinate system includes:
[0024] Construct a 3D model of the robotic arm;
[0025] Select a point from the base of the robotic arm in the three-dimensional model or at a preset height from the base as the origin of the coordinate system of the reachable area to be constructed, and determine the length of each joint of the robotic arm according to the principle of scaling proportionally to the actual size of the robotic arm.
[0026] Based on the origin of the coordinate system, the first reachable area of the end effector of the robotic arm is determined according to the joint limit range of the first motion plane of the robotic arm in the Cartesian coordinate system.
[0027] Based on the origin of the coordinate system, and according to the joint limit range of the robotic arm in the second motion plane of the Cartesian coordinate system, the second reachable area of the robotic arm end is determined.
[0028] In some embodiments, the first motion plane is the XZ plane and the second motion plane is the XY plane; if the robotic arm includes a first to a third joint connected in series, then in the XZ plane, the key points include: the connection points between the first joint and the second joint, the connection points between the second joint and the third joint, and the position of the end effector in the XZ plane;
[0029] In addition, in the XY plane, the key points include: the connection point between the base of the robotic arm and the first joint, and the position of the end effector in the XY plane.
[0030] In some embodiments, the robotic arm motion visualization method further includes:
[0031] Receive the robotic arm runtime input by the user in the interactive interface;
[0032] When the target position is detected to be valid, the end effector of the robotic arm is controlled to move from the current position to the target position according to the specified runtime.
[0033] Secondly, embodiments of this application provide a robotic arm motion visualization system, comprising:
[0034] The interaction module is used to receive the target position that the user expects the robotic arm end effector to reach, as input by the user in the interactive interface.
[0035] The position detection module is used to obtain the reachable area of the end effector of the robotic arm in order to detect whether the target position is valid;
[0036] The motion control module is used to control the end effector of the robotic arm to move from its current position to the target position when it is active, select the joint-related connection points and end effector positions corresponding to their respective motion planes as key points, and visualize the end effector motion state.
[0037] Thirdly, embodiments of this application provide a terminal device, the terminal device including a processor and a memory, the memory storing a computer program, and the processor executing the computer program to implement the described robotic arm motion visualization method.
[0038] Fourthly, embodiments of this application provide a readable storage medium storing a computer program, which, when executed on a processor, implements the aforementioned robotic arm motion visualization method.
[0039] The embodiments of this application have the following beneficial effects:
[0040] The robotic arm motion visualization method of this application receives the target position that the robotic arm's end effector expects to reach, input by the user in an interactive interface. It then uses the reachable area of the end effector to detect whether the target position is valid. If valid, the method controls the end effector to move from its current position to the target position, selecting joint-related connection points and the end effector position corresponding to their respective motion planes as key points, and visually displaying the end effector's motion state. This method, by displaying the reachable area of the robotic arm in the interactive interface, allows users to directly observe the range of motion of the robotic arm, prompts and minimizes the input of unreachable target positions, and provides an intuitive observation of the robotic arm's motion state. It is applicable to robotic arm-related teaching and user interfaces on the market, and can deepen users' understanding of the robotic arm's motion control process. Attached Figure Description
[0041] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0042] Figure 1 A first flowchart of the robotic arm motion visualization method according to an embodiment of this application is shown;
[0043] Figure 2 A schematic diagram showing one possible selection of the origin of the coordinate system for a robot with a three-axis robotic arm is shown.
[0044] Figure 3 It shows the Figure 2 A simplified diagram of each joint and reachable area of the three-axis robotic arm;
[0045] Figure 4 A second flowchart of the robotic arm motion visualization method according to an embodiment of this application is shown;
[0046] Figure 5 A third flowchart of the robotic arm motion visualization method according to an embodiment of this application is shown;
[0047] Figure 6 It shows Figure 2 A schematic diagram of the selection of key points for the three-axis robotic arm in the XZ plane;
[0048] Figure 7 It shows Figure 2 A schematic diagram showing the selection of key points for the three-axis robotic arm in the XY plane;
[0049] Figure 8 A schematic diagram of an interactive interface designed based on an embodiment of this application is shown;
[0050] Figure 9 It shows Figure 2 A visual representation of a three-axis robotic arm at a valid target position;
[0051] Figure 10 A schematic diagram of the structure of the robotic arm motion visualization system according to an embodiment of this application is shown. Detailed Implementation
[0052] The technical solutions in 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.
[0053] The components of the embodiments of this application described and illustrated in the accompanying drawings can be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of this application provided in the drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0054] In the following text, the terms "comprising," "having," and their cognates, which may be used in various embodiments of this application, are intended only to indicate a particular feature, number, step, operation, element, component, or combination thereof, and should not be construed as primarily excluding the presence of one or more other features, numbers, steps, operations, elements, components, or combinations thereof, or adding the possibility of one or more combinations thereof. Furthermore, the terms "first," "second," "third," etc., are used only for distinguishing descriptions and should not be construed as indicating or implying relative importance.
[0055] Unless otherwise specified, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of this application pertain. Terms (such as those defined in commonly used dictionaries) shall be interpreted as having the same meaning as in their contextual meaning in the relevant technical field and shall not be construed as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of this application.
[0056] The following detailed description of some embodiments of this application is provided in conjunction with the accompanying drawings. Unless otherwise specified, the following embodiments and features can be combined with each other.
[0057] In robotic arm control scenarios, it is often necessary to control the robotic arm to perform corresponding tasks, such as writing, drawing, picking, and carrying. At this time, the user needs to set the desired position of the robotic arm's end effector. However, the user-input coordinate range may cause the robotic arm to fail to move normally or fail to reach the target position. The reasons for this are mainly as follows: First, the joint angle limitation of the robotic arm itself. Due to the physical structure of the robotic arm, each joint has a certain range of motion and angle limitation. If the coordinate value input by the user does not match the joint angle limitation of the robotic arm, it will fail to reach the target position or will exhibit abnormal movement. Second, coordinate system mismatch. If the coordinates input by the user are represented in different coordinate systems, or if the choice of coordinate system does not match the movement law of the robotic arm, it may also cause the robotic arm to fail to move normally or fail to reach the target position.
[0058] Therefore, to better demonstrate the motion state of the robotic arm and the validity of the input position range, this application proposes a robotic arm motion visualization method. This method displays the reachable areas or reachability maps of the robotic arm in different motion planes on an interactive interface, allowing users to directly observe the movable area of the robotic arm. Furthermore, when the user inputs the desired position information for the robotic arm's end effector, the method provides real-time feedback on the validity of the input and displays the robotic arm's motion state upon reaching the target position if valid. By visualizing the user interaction, this method avoids the problem of users inputting invalid motion ranges or needing to query the motion range each time before accurately inputting the correct range, thereby improving operational efficiency.
[0059] It is understood that this method can be applied to interactive scenarios such as teaching and user operation related to robotic arms. Furthermore, the number of joints in the robotic arm is not limited; for example, it can include, but is not limited to, multi-axis robotic arms with three or six joints. Moreover, the form of the robotic arm is not limited; it can be a single-arm robot composed of multiple joints and end effectors, such as an industrial handling robot, or a multi-arm robot with multiple robotic arms, such as a medical surgical robot. For multi-arm robots, the motion state of each robotic arm can be displayed using the visualization method of this application.
[0060] The following describes the method for visualizing the motion of the robotic arm using specific examples.
[0061] Figure 1 A flowchart of a robotic arm motion visualization method according to an embodiment of this application is shown. Exemplarily, the robotic arm motion visualization method includes the following steps:
[0062] S110 receives the target position that the robotic arm end effector expects to reach, as input by the user in the interactive interface.
[0063] In this embodiment, the target position can be the three-dimensional coordinates of the robotic arm's end effector in a Cartesian coordinate system, such as (X, Y, Z). Considering the need for precise speed control of the robotic arm, the user can optionally input the robotic arm's runtime, etc., in the interactive interface.
[0064] It is understood that the interactive interface in this embodiment can not only be used to realize user interaction operations, but also display information such as the three-dimensional model / solid structure, reachable area, motion state / pose of the robotic arm, so that users can intuitively understand the motion control of the robotic arm during operation.
[0065] S120, Obtain the reachable area of the end effector of the robotic arm to detect whether the target position is valid.
[0066] The reachable region refers to the set of coordinates that the end effector of the robotic arm can reach in Cartesian space, which is mainly related to the joint limit range of the robotic arm. In one embodiment, the reachable region can be described by different motion planes, for example, including: a first reachable region of the end effector in a first motion plane in the Cartesian coordinate system and a second reachable region in a second motion plane in the Cartesian coordinate system; wherein the second motion plane is perpendicular to the first motion plane.
[0067] For example, the first motion plane mentioned above could be the XZ plane, and the second motion plane could be the XY plane. Of course, other planes can also be chosen, as long as they are conducive to observing the range of motion of the robotic arm; this is not limited here. It can be understood that the reachable areas between these two motion planes are mutually constrained.
[0068] In this embodiment, to map the reachable area of the robotic arm, a three-dimensional model of the robotic arm needs to be constructed first, and then reachability maps are extracted from different motion planes based on this model. It can be understood that the reachability map presents the reachable area based on the three-dimensional model, reflecting the actual motion. The scale of this reachability map needs to be proportionally scaled to the actual size and operating distance of the robotic arm to ensure control accuracy.
[0069] In one implementation, to draw an reachability map, a three-dimensional model of the robotic arm is first constructed. Then, a point is selected from the robotic arm base or at a predetermined height from the base in the three-dimensional model as the origin of the coordinate system for the reachable region to be constructed. The lengths of each joint of the robotic arm are determined according to the principle of scaling proportionally to the actual size of the robotic arm. The location of the origin of the coordinate system for the reachable region can be, for example, the center of the top of the base, or any other location at a distance from the base, as long as the actual height ratio is considered; there is no limitation here.
[0070] Furthermore, based on the selected origin of the coordinate system, the first reachable region of the end effector of the robotic arm is determined according to the joint limit range of the first motion plane of the robotic arm in the Cartesian coordinate system; and the second reachable region of the end effector of the robotic arm is determined according to the joint limit range of the second motion plane of the robotic arm in the Cartesian coordinate system.
[0071] Take a robot equipped with a three-axis robotic arm as an example, such as Figure 2 As shown, the center position of the cross-section at the top of the base can be selected as the origin O of the coordinate system of the reachability diagram; at the same time, combined with Figure 3 The three line segments shown in (a) correspond to the first to third joints of the robotic arm, respectively, with the length of each line segment corresponding to the length of each joint. Furthermore, based on the simplified joint structure, the reachable area of the robotic arm can be easily drawn, such as... Figure 3(b) shows the reachable area in the XZ plane. It is understood that in order for the control of movement distance or position in the interactive interface to correspond to the movement of the robotic arm in actual space, it is necessary to ensure that the joint lengths in the reachable map are scaled proportionally to or the same as the actual joint lengths.
[0072] Example: If the validity of the target location is detected through the two reachable areas mentioned above, such as... Figure 4 As shown, the specific steps may include the following:
[0073] S210, detect whether the two values in the input three-dimensional coordinates corresponding to the first motion plane are located within the first reachable region, and whether the two values in the three-dimensional coordinates corresponding to the second motion plane are located within the second reachable region.
[0074] If both conditions are met, sub-step S220 is executed; otherwise, sub-step S230 is executed. Taking the XZ plane and XY plane mentioned above as examples, this means: detecting whether the XZ value in the three-dimensional coordinates is located within the first reachable region, and whether the XY value in the three-dimensional coordinates is located within the second reachable region.
[0075] S220: If the target location is located within the corresponding reachable area, then the target location is confirmed to be valid.
[0076] S230, if at least one location is not within the corresponding reachable area, then the target location is deemed invalid.
[0077] When both conditions are met, it indicates that the currently input target position is reachable by the robotic arm's end effector. The user can then confirm and save the target position, and the system will control the robotic arm to move from its current position to the valid target position. Conversely, if one condition is not met, it indicates that the target position is unreachable or will exhibit abnormal movement. In this case, the system will keep the robotic arm's end effector in its current position and will not save the currently input target position. Optionally, the system can display a message on the interactive interface indicating that the target position is unreachable or invalid, allowing the user to further adjust the input target position.
[0078] Considering that the movement of the robotic arm in the two motion planes is mutually constrained, when detecting whether the target position is valid, one motion plane can be detected first, and then another different value in the other motion plane can be detected. This can speed up the judgment process.
[0079] For example, the XZ plane and XY plane mentioned above share the same X value. In one implementation, such as... Figure 5 As shown, this robotic arm motion visualization method also includes:
[0080] S310, detect whether the XZ value in the three-dimensional coordinates is located within the first reachable region.
[0081] S320: If the XZ value is within the first reachable region, then further check whether the Y value in the three-dimensional coordinates is within the second reachable region. This can be understood as first determining whether the XZ value is valid, and then determining the Y value. This is because once the XZ value is determined, the X value in the XY plane is locked, and the range of Y values is limited. As an optional solution, if the XZ value is not within the first reachable region, then execute S330.
[0082] S330, if it exceeds the limit, the end effector of the robotic arm can be controlled to stop at the last coordinate position that is about to exceed the edge of the first reachable area.
[0083] For example, when a user drags the end effector of the robotic arm in the interactive interface, if it goes beyond the reachable area of the XZ plane, it can stop at the last coordinate point within that reachable area.
[0084] Alternatively, when determining the Y value, the robotic arm motion visualization method may further include:
[0085] S340, when there is a Y value in the three-dimensional coordinates that is not located in the second reachable region, determine a fixed axis parallel to the Y axis in the second reachable region based on the X value and Z value.
[0086] The fixed axis is used to indicate the effective range within which the end effector of the robotic arm can adjust the Y value in three-dimensional coordinates without exceeding the second reachable area. In other words, with the XZ values fixed, the Y value can move along the fixed axis.
[0087] It is understandable that if the input target position is detected as valid, step S130 can be executed.
[0088] S130, when valid, control the end effector of the robotic arm to move from the current position to the target position, select the joint-related connection points and end effector positions corresponding to their respective motion planes as key points, and visualize the end effector motion state.
[0089] Optionally, when the input has a runtime, the end effector of the robotic arm is controlled to move from the current position to the target position according to the runtime when the target position is detected to be valid.
[0090] In this embodiment, in order to visualize the movement of the robotic arm's end effector, after constructing the three-dimensional model, the joint-related connection points and end effector positions corresponding to their respective motion planes will be selected as key points to describe the pose of the robotic arm during the movement process.
[0091] As an example, in visualizing the motion state of the end effector, the slope of the line connecting each key point in each motion plane can be calculated, and then these slopes can be used to describe the real-time pose of the end effector as it moves in its respective motion plane.
[0092] For example, taking the first motion plane as the XZ plane and the second motion plane as the XY plane, if the robotic arm includes a series of first to third joints, then within the XZ plane, the aforementioned key points can be selected as: the connection point between the first and second joints, the connection point between the second and third joints, and the position of the end effector in the XZ plane, such as... Figure 6 The figures are labeled 1-3. Key point 1 is fixed, while key point 2 changes as key point 3 moves. Therefore, when key point 3 moves, the joint rotation state of the robotic arm can be described by calculating the slope between key points 1 and 2, and the slope between key points 2 and 3.
[0093] Furthermore, within the XY plane, this key point can be selected as: the connection point between the base of the robotic arm and the first joint, and the position of the end effector in the XY plane, such as... Figure 7 The labels 1-2 are shown. Key point 1 is fixed, while key point 2 is the XY value input by the user's movement operation. It can be understood that the slope between key points 1 and 2 describes the state of the joint when rotating, thus realizing the motion state of the robotic arm.
[0094] To better understand the effect of the robot arm's coordinate interaction in this method, let's take a three-axis robot arm as an example, such as... Figure 8 As shown, when the robotic arm is in a certain position, the interactive interface displays the reachable areas of the robotic arm in the XZ plane and XY plane, respectively, as shown by the shaded areas in the figure. The user can then input the target position (including X, Y, and Z values) and runtime into this interface. The system will then check whether the target position is valid within these two reachable areas. If valid, the target position can be reached, such as... Figure 9 As shown, it will also demonstrate the joint posture with which the robotic arm reaches the target position.
[0095] This embodiment's robotic arm motion visualization method designs and displays the reachable areas of the robotic arm in different motion planes within an interactive interface. This allows users to intuitively view or understand whether the input target position is valid and which value is unsuitable. Furthermore, when the target position is valid, the robotic arm's motion state is also displayed, facilitating user observation and understanding of the joint postures during movement. The interactive interface designed using this method provides a good user experience in robotic arm-related teaching demonstrations or actual user operations.
[0096] Figure 10 A schematic diagram of a robotic arm motion visualization system according to an embodiment of this application is shown. Exemplarily, the robotic arm motion visualization system 100 includes:
[0097] The interaction module 110 is used to receive the target position that the user expects the end effector of the robotic arm to reach, as input by the user in the interactive interface.
[0098] The position detection module 120 is used to obtain the reachable area of the end of the robotic arm in order to detect whether the target position is valid.
[0099] The motion control module 130 is used to control the end effector of the robotic arm to move from the current position to the target position when it is active, select the joint-related connection points and end effector positions corresponding to their respective motion planes as key points, and visualize the end effector motion state.
[0100] It is understood that the device in this embodiment corresponds to the robotic arm motion visualization method in the above embodiment, and the options in the above embodiment are also applicable to this embodiment, so they will not be described again here.
[0101] This application also provides a terminal device, such as a computer, console, or other electronic device with logical operation and program execution capabilities. Exemplarily, the terminal device includes a processor and a memory, wherein the memory stores a computer program, and the processor executes the computer program to enable the terminal device to perform the functions of the various modules in the aforementioned robotic arm motion visualization method or robotic arm motion visualization system.
[0102] The processor can be an integrated circuit chip with signal processing capabilities. The processor can be a general-purpose processor, including at least one of a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Network Processor (NP), Digital Signal Processor (DSP), Application-Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application.
[0103] The memory can be, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), etc. The memory is used to store computer programs, and the processor can execute the computer programs accordingly after receiving execution instructions.
[0104] This application also provides a readable storage medium for storing the computer program used in the aforementioned terminal device. For example, the readable storage medium includes various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0105] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that, in alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0106] In addition, the functional modules or units in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0107] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a smartphone, personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.
[0108] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A method for visualizing the motion of a robotic arm, characterized in that, include: Receive the three-dimensional target position that the robotic arm end effector expects to reach, as input by the user in the interactive interface; The reachable area of the robotic arm's end effector is obtained to detect whether the value of the three-dimensional target position in the corresponding motion plane is within the reachable area of the corresponding motion plane, and to determine whether the three-dimensional target position is valid; if it is simultaneously within the corresponding reachable area, it is confirmed as valid. The step of obtaining the reachable region of the robotic arm end effector includes: obtaining a first reachable region of the robotic arm end effector in a first motion plane in a Cartesian coordinate system and a second reachable region in a second motion plane in a Cartesian coordinate system; the second motion plane is perpendicular to the first motion plane and the reachable regions between the two motion planes are mutually constrained; When the three-dimensional target position is valid, control the end effector of the robotic arm to move from the current position to the three-dimensional target position, select the joint-related connection points and end effector positions corresponding to their respective motion planes as key points, and visualize the end effector motion state. The visualization of the end effector's motion state includes: calculating the slope of the line connecting each key point in each motion plane, so as to use the slope of the line to describe the real-time pose of the robotic arm's end effector when it moves in its respective motion plane.
2. The method for visualizing robotic arm motion according to claim 1, characterized in that, The three-dimensional target position is the three-dimensional coordinate of the end effector of the robotic arm in the Cartesian coordinate system; Determining whether the three-dimensional target position is valid includes: Detect whether two values in the three-dimensional coordinates corresponding to the first motion plane are located within the first reachable region, and whether two values in the three-dimensional coordinates corresponding to the second motion plane are located within the second reachable region; The three-dimensional target position is confirmed to be valid when it is located in the corresponding reachable area.
3. The method for visualizing robotic arm motion according to claim 2, characterized in that, Also includes: If at least one of the three-dimensional target locations is not located in the corresponding reachable area, then the location of the three-dimensional target is deemed invalid. If this fails, control the end effector of the robotic arm to remain in its current position.
4. The method for visualizing robotic arm motion according to claim 2, characterized in that, The first motion plane is the XZ plane, and the second motion plane is the XY plane.
5. The method for visualizing robotic arm motion according to claim 4, characterized in that, The step of detecting whether two values in the three-dimensional coordinates corresponding to the first motion plane are located within the first reachable region, and whether two values in the three-dimensional coordinates corresponding to the second motion plane are located within the second reachable region, further includes: Detect whether the XZ value in the three-dimensional coordinates is located within the first reachable region; If it is located, then detect whether the Y value in the three-dimensional coordinates is located within the second reachable region; If the position exceeds the limit, the coordinates of the robotic arm's end effector within the first reachable area will be controlled to remain at a coordinate position that is about to exceed the edge of the area.
6. The method for visualizing robotic arm motion according to claim 5, characterized in that, Also includes: When the XZ value in the three-dimensional coordinates is located within the first reachable region, a fixed axis parallel to the Y axis is determined within the second reachable region based on the X value; The fixed axis is used to indicate the effective range within which the end effector of the robotic arm can adjust the Y value in the three-dimensional coordinates without exceeding the second reachable area.
7. The method for visualizing robotic arm motion according to claim 1, characterized in that, The process of obtaining the first reachable region of the robotic arm's end effector in a first motion plane in a Cartesian coordinate system and the second reachable region in a second motion plane in a Cartesian coordinate system includes: Construct a 3D model of the robotic arm; Select a point from the base of the robotic arm in the three-dimensional model or at a preset height from the base as the origin of the coordinate system of the reachable area to be constructed, and determine the length of each joint of the robotic arm according to the principle of scaling proportionally to the actual size of the robotic arm. Based on the origin of the coordinate system, the first reachable area of the end effector of the robotic arm is determined according to the joint limit range of the first motion plane of the robotic arm in the Cartesian coordinate system. Based on the origin of the coordinate system, and according to the joint limit range of the robotic arm in the second motion plane of the Cartesian coordinate system, the second reachable area of the robotic arm end is determined.
8. The method for visualizing robotic arm motion according to claim 1, characterized in that, The first motion plane is the XZ plane, and the second motion plane is the XY plane; If the robotic arm includes a first to a third joint connected in series, then in the XZ plane, the key points include: the connection points between the first and second joints, between the second and third joints, and the position of the end effector in the XZ plane; In addition, in the XY plane, the key points include: the connection point between the base of the robotic arm and the first joint, and the position of the end effector in the XY plane.
9. The method for visualizing the motion of a robotic arm according to any one of claims 1 to 8, characterized in that, Also includes: Receive the robotic arm runtime input by the user in the interactive interface; When the three-dimensional target position is detected to be valid, the end effector of the robotic arm is controlled to move from the current position to the three-dimensional target position according to the specified runtime.
10. A robotic arm motion visualization system, characterized in that, include: The interaction module is used to receive the three-dimensional target position that the user expects the end effector of the robotic arm to reach, as input by the user in the interactive interface. A position detection module is used to acquire the reachable area of the robotic arm's end effector to detect whether the value of the three-dimensional target position in the corresponding motion plane is within the reachable area of the corresponding motion plane, and to determine whether the three-dimensional target position is valid; when both conditions are met, it is confirmed as valid; wherein, acquiring the reachable area of the robotic arm's end effector includes: acquiring a first reachable area of the robotic arm's end effector in a first motion plane in the Cartesian coordinate system and a second reachable area in a second motion plane in the Cartesian coordinate system; the second motion plane is perpendicular to the first motion plane and the reachable areas between the two motion planes are mutually constrained; The motion control module is used to control the end effector of the robotic arm to move from its current position to the three-dimensional target position when the target position is valid. It selects the joint-related connection points and end effector positions corresponding to their respective motion planes as key points and visualizes the end effector motion state. The visualization of the end effector motion state includes: calculating the slope of the line connecting each key point in each motion plane, so as to use the slope of the line to describe the real-time pose of the end effector of the robotic arm when it moves in its respective motion plane.
11. A terminal device, characterized in that, The terminal device includes a processor and a memory, the memory storing a computer program, and the processor executing the computer program to implement the robotic arm motion visualization method according to any one of claims 1-9.
12. A readable storage medium, characterized in that, It stores a computer program that, when executed on a processor, implements the robotic arm motion visualization method according to any one of claims 1-9.
Citation Information
Patent Citations
Mechanical arm control terminal control method
CN110026980A
Robot repositioning method and device and terminal equipment
CN111158364A