Robot control method, device, readable storage medium and robot system
By calculating the final coordinates of the robot's end effector and controlling the movement of the robot body, the problem of difficulty in moving the robot's end effector without changing its pose in the existing technology is solved, achieving efficient and accurate robot movement and reducing CPU performance requirements.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GREE ELECTRIC APPLIANCE INC OF ZHUHAI
- Filing Date
- 2023-08-15
- Publication Date
- 2026-04-17
AI Technical Summary
In applications with limited space, existing technologies struggle to move robots and guide rails efficiently and accurately while ensuring that the robot's end effector remains in the world coordinate system.
By obtaining the initial and target positions of the robot's base, the final coordinates of the robot's end effector are calculated, and geometric and inverse kinematic algorithms are used to control the robot's body motion to keep the robot's end effector pose unchanged in the world coordinate system.
This technology enables simple and efficient robot movement while maintaining the robot's end-effector pose in the world coordinate system, reducing CPU performance requirements and improving the accuracy and efficiency of movement.
Smart Images

Figure CN117021090B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics, and more specifically, to a robot control method, a robot control device, a computer-readable storage medium, and a robot system. Background Technology
[0002] With the widespread use of industrial robots, their applications in smart manufacturing scenarios are becoming increasingly complex. To expand the robot's operating radius and functional modules, the industry typically mounts six-axis robots onto moving guideways, adding a seventh axis or travel axis. This allows the robot to move along designated routes, thus extending its operational range. In some space-constrained applications, adjusting the robot's state at a known target point to avoid collisions with other workpieces requires not only adjusting the robot's pose but also moving the guideway. However, moving both the guideway and the robot separately while maintaining the robot's end effector's pose in the world coordinate system is extremely difficult and inefficient. Summary of the Invention
[0003] The main objective of this application is to provide a robot control method, a robot control device, a computer-readable storage medium, and a robot system, so as to at least solve the problem of efficient and accurate robot movement in the prior art when the end-effector pose of the robot in the world coordinate system cannot be guaranteed to remain unchanged.
[0004] To achieve the above objectives, according to one aspect of this application, a robot control method is provided. The robot is mounted on a guide rail, and includes a robot body and a robot base. The robot body is located on the robot base. The method further includes: obtaining an initial position and a target position of the robot base, wherein the target position is the final position to which the robot base is to move; calculating the final coordinates of a robot end effector based at least on the initial position and the target position of the robot base, wherein the final coordinates of the robot end effector are the coordinates of the robot end effector in a robot base coordinate system when the robot base is located at the target position, the origin of the robot base coordinate system is any point on the robot base, and one of the coordinate axes of the robot base coordinate system is parallel to the guide rail; and controlling the movement of the robot body during the process of the robot base moving from the initial position to the target position based on the final coordinates of the robot end effector, so that the end effector pose of the robot remains unchanged in the world coordinate system.
[0005] Optionally, the final coordinates of the robot end effector are calculated based at least on the initial position and the target position of the robot base, including: obtaining a coordinate system deviation angle, which is the angle of deviation between the robot base coordinate system and the guide rail coordinate system, wherein the guide rail coordinate system is established based on the guide rail, the origin of the guide rail coordinate system is any point on the guide rail, and one of the coordinate axes of the guide rail coordinate system is parallel to the guide rail; obtaining a base movement distance, which is the distance between the initial position and the target position; and calculating the final coordinates of the robot end effector based at least on the coordinate system deviation angle, the base movement distance, and the initial coordinates of the robot end effector.
[0006] Optionally, the final coordinates of the robot end effector are calculated based at least on the coordinate system deviation angle, the base movement distance, and the initial coordinates of the robot end effector, including: obtaining the coordinate calculation formula. ,in, Let be the initial coordinates of the robot's end effector. The initial x-axis coordinate value of the robot's end effector. The initial y-axis coordinate value of the robot's end effector. The initial z-axis coordinate value of the robot's end effector is given, and the initial control axis coordinate value of the robot's end effector is given. Let be the final coordinates of the robot's end effector, and Δx be the distance the base has moved. The coordinate system deviation angle is given; the final coordinates of the robot end effector are calculated based on the coordinate system deviation angle, the base movement distance, the initial coordinates of the robot end effector, and the coordinate calculation formula.
[0007] Optionally, controlling the movement of the robot body during the process of the robot base moving from the initial position to the target position based on the final coordinates of the robot end effector includes: determining the target joint angles corresponding to each joint of the robot when the robot base is located at the target position using an inverse kinematics algorithm based on the final coordinates of the robot end effector; and controlling the movement of each joint of the robot during the process of the robot base moving from the initial position to the target position so that the joint angles of each joint of the robot are the same as the target joint angles corresponding to the joints.
[0008] Optionally, the guide rail includes a drive motor for driving the robot base to move on the guide rail. The method further includes: when the rotation direction of the drive motor is a first direction, the robot base moves along the positive direction of the first coordinate axis of the guide rail coordinate system; when the rotation direction of the drive motor is a second direction, the robot base moves along the negative direction of the first coordinate axis of the guide rail coordinate system.
[0009] Optionally, obtaining the initial position and the target position of the robot base includes: obtaining a linkage cycle, wherein the linkage cycle is the cycle from start-up to stop of the guide rail and the robot; and obtaining the initial position and the target position of the robot base according to the linkage cycle.
[0010] According to another aspect of this application, a robot control device is provided. The robot is mounted on a guide rail, and the robot includes a robot body and a robot base. The robot body is located on the robot base. The device further includes: an acquisition unit, configured to acquire an initial position and a target position of the robot base, wherein the target position is the final position to which the robot base is to move; a calculation unit, configured to calculate the final coordinates of the robot end effector based at least on the initial position and the target position of the robot base, wherein the final coordinates of the robot end effector are the coordinates of the robot end effector in a robot base coordinate system when the robot base is located at the target position, the origin of the robot base coordinate system is any point on the robot base, and one of the coordinate axes of the robot base coordinate system is parallel to the guide rail; and a control unit, configured to control the movement of the robot body during the process of the robot base moving from the initial position to the target position based on the final coordinates of the robot end effector, so that the end effector pose of the robot in the world coordinate system remains unchanged.
[0011] According to another aspect of this application, a computer-readable storage medium is provided, the computer-readable storage medium including a stored program, wherein, when the program is executed, it controls the device on which the computer-readable storage medium is located to perform any of the robot control methods described above.
[0012] According to another aspect of this application, a robot system is provided, comprising: a robot including a robot body, a robot base, and a control device for the robot, the robot body being located on the robot base, and the robot control device being used to execute any of the robot control methods described above; and a guide rail on which the robot is mounted.
[0013] Optionally, the guide rail further includes a drive motor for driving the robot base to move on the guide rail.
[0014] Applying the technical solution of this application, the above-mentioned robot control method involves a robot mounted on a guide rail. The robot includes a robot body and a robot base, with the robot body located on the robot base. First, the initial position and target position of the robot base are obtained, with the target position being the final position the robot base intends to move to. Then, based at least on the initial and target positions of the robot base, the final coordinates of the robot's end effector are calculated. These final coordinates are the coordinates of the robot's end effector in the robot's base coordinate system when the robot base is at the target position. The origin of the robot's base coordinate system is any point on the robot base, and one of its coordinate axes is parallel to the guide rail. Finally, based on the final coordinates of the robot's end effector, the robot body is controlled to move as the robot base moves from the initial position to the target position, ensuring that the robot's end effector pose remains unchanged in the world coordinate system. This method, based on the initial and target positions of the robot base, calculates the robot's end effector coordinates using a geometric algorithm, linking the robot and the guide rail. This ensures simple and efficient robot movement while maintaining the robot's end effector pose in the world coordinate system, reducing CPU performance requirements. It solves the problem in existing technologies where efficient and accurate robot movement cannot be guaranteed while maintaining the robot's end effector pose in the world coordinate system. Attached Figure Description
[0015] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments and descriptions of this application are used to explain this application and do not constitute an undue limitation of this application. In the drawings:
[0016] Figure 1 A hardware structure block diagram of a mobile terminal for performing a robot control method according to an embodiment of this application is shown;
[0017] Figure 2 A flowchart illustrating a robot control method according to an embodiment of this application is shown.
[0018] Figure 3 A schematic diagram of the structure of a robot system provided according to an embodiment of this application is shown;
[0019] Figure 4 A geometric diagram illustrating the linkage between a robot and a guide rail, according to an embodiment of this application, is shown.
[0020] Figure 5 A structural block diagram of a robot control device provided according to an embodiment of this application is shown.
[0021] The above figures include the following reference numerals:
[0022] 1. Robot body; 2. Drive motor; 3. Robot base; 4. Guide rail; 102. Processor; 104. Memory; 106. Transmission equipment; 108. Input / output device. Detailed Implementation
[0023] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.
[0024] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.
[0025] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate for the embodiments of this application described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0026] As described in the background section, in some space-constrained applications, to adjust the robot's state at a known target work point and avoid collisions with other workpieces in the workspace, existing solutions require not only adjusting the robot's pose but also moving the guide rail. However, moving the guide rail and the robot separately while ensuring the robot's end effector remains in Cartesian space pose is very difficult and inefficient. To address the problem of efficient and accurate movement of the guide rail and the robot while maintaining the robot's end effector's Cartesian space pose in existing technologies, embodiments of this application provide a robot control method, a robot control device, a computer-readable storage medium, and a robot system.
[0027] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
[0028] The methods and embodiments provided in this application can be executed on a mobile terminal, a computer terminal, or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 This is a hardware structure block diagram of a mobile terminal for a robot control method according to an embodiment of the present invention. Figure 1 As shown, a mobile terminal may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data are also shown. The mobile terminal may further include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the mobile terminal described above. For example, the mobile terminal may also include components that are more... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.
[0029] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the robot control method in this embodiment of the invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thereby implementing the above-described method. The memory 104 may include high-speed random access memory and non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of the aforementioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. The transmission device 106 is used to receive or send data via a network. Specific examples of the aforementioned networks may include wireless networks provided by the mobile terminal's communication provider. In one example, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0030] This embodiment provides a control method for a robot that runs on a mobile terminal, computer terminal, or similar computing device. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Also, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0031] Figure 2 This is a flowchart of a robot control method according to an embodiment of this application. The robot is mounted on a guide rail and includes a robot body and a robot base. The robot body is located on the robot base, as shown below. Figure 2 As shown, the method includes the following steps:
[0032] Step S201: Obtain the initial position and the target position of the robot base. The target position of the robot base is the final position that the robot base is to be moved to.
[0033] Specifically, the robot can be a four-axis, five-axis, or six-axis robot. For a six-axis robot, linking the robot with the guide rail is equivalent to adding a seventh axis, achieving seven-axis linkage. Furthermore, both the initial position and the target position of the robot base are obtained based on the guide rail coordinate system. In some industrial scenarios, to expand the robot's working range or avoid other workpieces in the workspace, the robot base is moved to the target position.
[0034] The specific implementation steps of step S201 are as follows:
[0035] Step S2011: Obtain the linkage cycle, which is the cycle from start to stop for the guide rail and the robot.
[0036] Step S2012: According to the above linkage cycle, obtain the initial position and the target position of the robot base.
[0037] Specifically, the time interval of the linkage cycle is related to the performance of the controller in the robot. Within the limits of performance, the time interval should be set as small as possible to ensure the real-time performance and accuracy of the linkage between the robot and the guide rail.
[0038] Step S202: Calculate the final coordinates of the robot end effector based at least on the initial position and the target position of the robot base. The final coordinates of the robot end effector are the coordinates of the robot end effector in the robot base coordinate system when the robot base is located at the target position. The origin of the robot base coordinate system is any point on the robot base, and one of the coordinate axes of the robot base coordinate system is parallel to the guide rail.
[0039] Specifically, the robot's base coordinate system can be established using either the right-hand rule or the left-hand rule. For example... Figure 3 As shown, b is the robot base coordinate system, a is the positive x-axis direction of the robot base coordinate system, w is the guide rail coordinate system, and n is the positive x-axis direction of the guide rail coordinate system. In this example, the robot base coordinate system and the guide rail coordinate system are perpendicular to each other.
[0040] The specific implementation steps of step S202 are as follows:
[0041] Step S301: Obtain the coordinate system deviation angle. The coordinate system deviation angle is the angle of deviation between the robot base coordinate system and the guide rail coordinate system. The guide rail coordinate system is established based on the guide rail. The origin of the guide rail coordinate system is any point on the guide rail. One of the coordinate axes of the guide rail coordinate system is parallel to the guide rail.
[0042] Step S302: Obtain the base movement distance, which is the distance between the initial position and the target position;
[0043] Step S303: Calculate the final coordinates of the robot end effector based at least on the aforementioned coordinate system deviation angle, the aforementioned base movement distance, and the aforementioned initial coordinates of the robot end effector.
[0044] Specifically, combining the guide rail and the robot allows for expanded working range while enabling efficient coordination between the guide rail's movement axes and the robot's body axes. This reduces the difficulty of teaching target points and improves teaching accuracy. Both the guide rail coordinate system and the robot's base coordinate system can be established using either the right-hand rule or the left-hand rule. Figure 3 As shown, b is the robot base coordinate system, a is the positive x-axis direction of the robot base coordinate system, w is the guide rail coordinate system, and n is the positive x-axis direction of the guide rail coordinate system. That is, the coordinate system deviation angle is 90°. In other embodiments, the coordinate system deviation angle can also be any value in the range of 0°-180°.
[0045] The specific implementation steps of step S303 are as follows:
[0046] Step S3031: Obtain the coordinate calculation formula ,in, Let be the initial coordinates of the robot's end effector. The initial x-axis coordinate value of the robot's end effector. The initial y-axis coordinate value of the robot's end effector. The initial z-axis coordinate value of the robot's end effector is given, and the initial control axis coordinate value of the robot's end effector is given. Let be the final coordinates of the robot's end effector, and Δx be the distance the base has moved. The deviation angle of the coordinate system;
[0047] Step S3032: Calculate the final coordinates of the robot end effector based on the coordinate system deviation angle, the base movement distance, the initial coordinates of the robot end effector, and the coordinate calculation formula.
[0048] Specifically, a geometric calculation method is used to achieve the linkage between the guide rail and the robot, which is simple and efficient in solving the problem, reduces the complexity of the problem, improves the calculation speed, and reduces the performance requirements of the CPU.
[0049] For example: Figure 4 As shown, CE coincides with the y-axis of the robot's base coordinate system, and ED coincides with the x-axis of the robot's base coordinate system. Let be the deviation angle of the above coordinate system, and From the geometric relationships in the diagram, we can see that... ; ; ; Let the initial position of the robot base be point A, and the initial coordinates of the robot's end effector in the robot's base coordinate system be P(x, y, z). In the linkage mode, when the guide rail moves to point B, the position of the robot's end effector in the base coordinate system is P'. When the guide rail moves a distance of Δx, i.e., |AB|=Δx, the final coordinates P' of the robot's end effector can be calculated using the coordinate calculation formula described above.
[0050] Step S203: Based on the final coordinates of the robot end effector, control the movement of the robot body as the robot base moves from the initial position to the target position, so that the end effector pose of the robot remains unchanged in the world coordinate system.
[0051] Specifically, the end-effector pose refers to the robot's end-effector pose in the world coordinate system. The end-effector coordinates are the coordinates of the robot's end-effector within the robot's base coordinate system. The origin of the robot's base coordinate system is a point on the robot's base. Therefore, when the robot's base moves, the robot's base coordinate system also moves, and the coordinates of the robot's end-effector in the robot's base coordinate system will naturally differ from those before the robot's base moved. The direction of guide rail movement can be the positive x-direction of the guide rail coordinate system or it can be defined as the negative x-direction. Similarly, defining it as the positive or negative y or z direction also applies.
[0052] Cartesian space is a vector space with an inner product, which can be represented as elements in a finite-dimensional real number space. Vectors can be represented as elements in a coordinate system, and the distance between two vectors can be measured using Euclidean distance. In Cartesian space, we can define concepts such as the length, angle, and orthogonality of vectors, and we can use the inner product of vectors to define the angle and orthogonality between vectors. Descartes' concept of space inherited from Aristotle's. He equated space (internal places) with the extension of objects (tangible entities), proposed "general space" and "special space," and refuted the atomistic concepts of "void" and "atoms." The generalization of the radial and Cartesian coordinate systems from the plane to space: Three non-coplanar number axes intersecting at the origin constitute a radial coordinate system in space. A radial coordinate system with equal units of measurement on the three number axes is called a spatial Cartesian coordinate system. A Cartesian coordinate system with three mutually perpendicular number axes is called a spatial Cartesian rectangular coordinate system; otherwise, it is called a spatial Cartesian oblique coordinate system.
[0053] The specific implementation steps of step S203 are as follows:
[0054] Step S2031: Based on the final coordinates of the robot end effector, the inverse kinematics algorithm is used to determine the target joint angles corresponding to each joint of the robot when the robot base is located at the target position.
[0055] Step S2032: During the process of the robot base moving from the initial position to the target position, the movement of each joint of the robot is controlled so that the joint angle of each joint of the robot is the same as the target joint angle corresponding to the joint.
[0056] Specifically, the final coordinates of the robot end effector in the robot base coordinate system are first obtained through simple and efficient calculation using geometric algorithms. Then, based on the final coordinates of the robot end effector in the base coordinate system, the target joint angles corresponding to each joint of the robot are calculated using an inverse kinematics algorithm, provided that the robot base is located at the target position and the robot end effector pose remains unchanged. By controlling the movement of each joint of the robot to the target joint angle, the robot base can be moved most accurately in the shortest time and with the least performance consumption, while ensuring that the robot end effector pose remains unchanged in the world coordinate system.
[0057] Furthermore, inverse kinematics (IK) algorithms are primarily used to solve robot position problems. Their main purpose is to determine the angles of each joint of the robot based on the position and orientation of the robot's end effector. IK algorithms require determining the robot's kinematic parameters, including joint lengths, the relative positions of the robot arm components, and joint constraints. Only based on these parameters can IK algorithms be used to calculate the angles of each joint.
[0058] The guide rail includes a drive motor, which drives the robot base to move on the guide rail. The method also includes the following steps:
[0059] Step S401: When the rotation direction of the drive motor is the first direction, the robot base moves along the positive direction of the first coordinate axis of the guide rail coordinate system.
[0060] In step S402, when the rotation direction of the drive motor is the second direction, the robot base moves along the negative direction of the first coordinate axis of the guide rail coordinate system.
[0061] Specifically, the above steps precisely control the movement of the robot's base, enabling it to reach the target position. The robot operates in two modes: linked and non-linked. In non-linked mode, when the guide rail drive motor rotates forward, the robot follows the base in the positive x-direction; when the drive motor rotates in reverse, the robot moves with the guide rail in the negative x-direction. In linked mode, when the guide rail drive motor rotates forward, the robot base still follows the base in the positive x-direction; when the drive motor rotates in reverse, the robot base still moves with the guide rail in the negative x-direction, but all joints of the robot body also move to ensure that the robot's end effector pose remains unchanged in space.
[0062] The technical solution of this application describes a robot control method. The robot is mounted on a guide rail and includes a robot body and a robot base. The robot body is located on the robot base. First, the initial position and target position of the robot base are obtained. The target position is the final position the robot base is to move to. Then, based at least on the initial and target positions of the robot base, the final coordinates of the robot end effector are calculated. The final coordinates of the robot end effector are the coordinates of the robot end effector in the robot base coordinate system when the robot base is at the target position. The origin of the robot base coordinate system is any point on the robot base, and one of its coordinate axes is parallel to the guide rail. Finally, based on the final coordinates of the robot end effector, the robot body is controlled to move during the process of the robot base moving from the initial position to the target position, so that the robot end effector pose remains unchanged in the world coordinate system. This method, based on the initial and target positions of the robot base, calculates the coordinates of the robot end effector using a geometric algorithm, linking the robot and the guide rail. It can move the robot simply and efficiently while ensuring that the robot end effector pose remains unchanged in the world coordinate system, reducing CPU performance requirements. This solves the problem in existing technologies that cannot guarantee efficient and accurate robot movement while maintaining the robot end effector pose unchanged in the world coordinate system.
[0063] To enable those skilled in the art to better understand the technical solution of this application, the implementation process of the robot control method of this application will be described in detail below with reference to specific embodiments.
[0064] This embodiment relates to a specific robot control method, including the following steps:
[0065] Step S1: Define the positive x-direction of the robot's base coordinate system (e.g., ... Figure 4 x' in the figure and the positive direction of guide rail movement (as shown in the figure) Figure 4 The angle between x and x is θ. When the robot base starts at point A, the robot's end position on the guide rail is at point D.
[0066] Step S2: Select non-linkage mode, such as Figure 4 As shown, the robot is a series of rigid bodies. When the robot's base moves to point B, the robot's end effector coincides with point C in space. The geometric relationships in the diagram show that AB and DC are parallel.
[0067] Step S3: Select the linkage mode. When the robot base moves from A to B along the x-direction, in order to ensure that the robot's end pose remains unchanged in the world coordinate system, that is, when the robot base moves, the position of the robot's end remains unchanged at point D, the coordinates of the robot's end in the robot's base coordinate system will change.
[0068] Step S4: According to the right-hand rule, CE coincides with the robot's y-axis, and ED coincides with the robot's x-axis. From the geometric relationships in the diagram, we can see that... ; ; Let the initial position of the robot base be point A, and the initial coordinates of the robot's end effector in the robot's base coordinate system be P(x, y, z). In the linkage mode, when the guide rail moves to point B, the position of the robot's end effector in the base coordinate system is P'. When the guide rail moves a distance of Δx, i.e., |AB|=Δx, to ensure that the position of the robot's end effector remains at point D, the calculation formula is obtained from the above geometric relationship. The final position P' of the robot end effector in the robot base coordinate system is obtained by using the above calculation formula.
[0069] Step S5: Set the linkage cycle T between the robot and the guide rail. In each cycle T, the distance Δx moved by the guide rail is synchronized to the robot. The target point p' of the robot is calculated, and the controller's inverse kinematics module calculates the joint angle corresponding to the current position point. It sends the signal to the servo driver to move the robot to the specified joint position, so that the robot's end-effector pose remains unchanged in space.
[0070] It should be noted that the steps shown in the flowchart in 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 flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.
[0071] This application also provides a robot system, such as... Figure 3 As shown, it includes: a robot, comprising a robot body 1, a robot base 3, and a control device for the robot, wherein the robot body 1 is located on the robot base 3, and the robot control device is used to execute any of the robot control methods described above; and a guide rail 4 on which the robot is mounted.
[0072] The guide rail also includes a drive motor 2, which is used to drive the robot base to move on the guide rail.
[0073] The technical solution of this application provides a robot system comprising: a robot, including a robot body, a robot base, and a control device for the robot; the robot body is located on the robot base, and the robot control device is used to execute any of the aforementioned robot control methods; and a guide rail on which the robot is mounted. This system calculates the coordinates of the robot's end effector based on the initial and target positions of the robot base using a geometric algorithm, and links the robot and the guide rail. This ensures simple and efficient robot movement while maintaining the robot's end effector pose in the world coordinate system, reducing CPU performance requirements. It solves the problem in existing technologies where efficient and accurate robot movement cannot be guaranteed while maintaining the robot's end effector pose in the world coordinate system.
[0074] This application also provides a robot control device. It should be noted that the robot control device of this application can be used to execute the robot control method provided in this application. This device is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0075] The control device for the robot provided in the embodiments of this application will be described below.
[0076] Figure 5 This is a schematic diagram of a robot control device according to an embodiment of this application. The robot is mounted on a guide rail, and the robot includes a robot body and a robot base, with the robot body located on the robot base, as shown below. Figure 5 As shown, the device includes an acquisition unit 10, a calculation unit 20, and a control unit 30. The acquisition unit 10 is used to acquire the initial position and the target position of the robot base, where the target position is the final position to which the robot base is to move. The calculation unit 20 is used to calculate the final coordinates of the robot end effector based at least on the initial position and the target position of the robot base. The final coordinates of the robot end effector are the coordinates of the robot end effector in the robot base coordinate system when the robot base is at the target position. The origin of the robot base coordinate system is any point on the robot base, and one of the coordinate axes of the robot base coordinate system is parallel to the guide rail. The control unit 30 is used to control the movement of the robot body during the process of the robot base moving from the initial position to the target position based on the final coordinates of the robot end effector, so that the end effector pose of the robot in the world coordinate system remains unchanged.
[0077] The robot control device described in this application comprises a robot mounted on a guide rail, the robot including a robot body and a robot base, the robot body situated on the robot base, and the device including an acquisition unit, a calculation unit, and a control unit. The acquisition unit acquires the initial position and the target position of the robot base, the target position being the final position the robot base is to move to. The calculation unit calculates the final coordinates of the robot end effector based at least on the initial and target positions of the robot base. The final coordinates of the robot end effector are the coordinates of the robot end effector in the robot base coordinate system when the robot base is at the target position. The origin of the robot base coordinate system is any point on the robot base, and one of its coordinate axes is parallel to the guide rail. The control unit controls the movement of the robot body based on the final coordinates of the robot end effector as the robot base moves from the initial position to the target position, ensuring that the robot end effector pose remains unchanged in the world coordinate system. This device, based on the initial and target positions of the robot base, calculates the coordinates of the robot end effector using a geometric algorithm, linking the robot and the guide rail, and can move the robot simply and efficiently while maintaining the robot end effector pose unchanged in the world coordinate system, reducing CPU performance requirements. This addresses the problem of efficiently and accurately moving robots when existing technologies cannot guarantee that the robot's end-effector pose remains unchanged in the world coordinate system.
[0078] In one optional example, the calculation unit includes a first acquisition module, a second acquisition module, and a first calculation module. The first acquisition module is used to acquire the coordinate system deviation angle, which is the angle of deviation between the robot base coordinate system and the guide rail coordinate system. The guide rail coordinate system is established based on the guide rail, with its origin at any point on the guide rail, and one of its coordinate axes parallel to the guide rail. The second acquisition module is used to acquire the base movement distance, which is the distance between the initial position and the target position. The first calculation module is used to calculate the final coordinates of the robot end effector based at least on the coordinate system deviation angle, the base movement distance, and the initial coordinates of the robot end effector. This allows for efficient collaboration between the guide rail movement axis and the robot body axis while expanding the working range, reducing the teaching target point and improving teaching accuracy.
[0079] For example, the first calculation module includes a third acquisition module and a second calculation module, wherein the third acquisition module is used to acquire the coordinate calculation formula. ,in, Let be the initial coordinates of the robot's end effector. The initial x-axis coordinate value of the robot's end effector. The initial y-axis coordinate value of the robot's end effector. The initial z-axis coordinate value of the robot's end effector is given, and the initial control axis coordinate value of the robot's end effector is given. Let be the final coordinates of the robot's end effector, and Δx be the distance the base has moved. The first calculation module is the coordinate system deviation angle; the second calculation module is used to calculate the final coordinates of the robot end effector based on the coordinate system deviation angle, the base movement distance, the initial coordinates of the robot end effector, and the coordinate calculation formula. A geometric calculation method is used to achieve linkage between the guide rail and the robot, resulting in a simple and efficient solution, reduced problem complexity, increased calculation speed, and lower CPU performance requirements.
[0080] As an optional solution, the control unit includes a determination module and a control module. The determination module is used to determine the target joint angles corresponding to each joint of the robot when the robot base is located at the target position, based on the final coordinates of the robot end effector using an inverse kinematic algorithm. The control module is used to control the movement of each joint of the robot during the process of the robot base moving from the initial position to the target position, so that the joint angles of each joint of the robot are the same as the target joint angles corresponding to the joints. This allows for the most accurate movement of the robot base with the shortest time and least performance consumption, while ensuring that the robot end effector pose remains unchanged in the world coordinate system.
[0081] In one optional embodiment, the guide rail includes a drive motor for driving the robot base to move on the guide rail. The device further includes a first moving module and a second moving module. The first moving module is used to move the robot base along the positive direction of a first coordinate axis of the guide rail coordinate system when the drive motor rotates in a first direction. The second moving module is used to move the robot base along the negative direction of the first coordinate axis of the guide rail coordinate system when the drive motor rotates in a second direction. This allows for precise control of the robot base's movement, enabling it to reach a target position.
[0082] In this embodiment, the acquisition unit includes a first acquisition module and a second acquisition module. The first acquisition module is used to acquire the linkage cycle, which is the cycle from start-up to stop for the guide rail and the robot. The second acquisition module is used to acquire the initial position and the target position of the robot base according to the linkage cycle. This ensures the real-time performance and accuracy of the linkage between the robot and the guide rail.
[0083] The control device for the robot includes a processor and a memory. The aforementioned acquisition units are stored as program units in the memory, and the processor executes these program units to achieve the corresponding functions. All of the above modules reside in the same processor; alternatively, the modules may be located in different processors in any combination.
[0084] The processor contains a kernel, which retrieves the corresponding program unit from memory. One or more kernels can be configured, and adjusting kernel parameters can address the problem in existing technologies where it is impossible to guarantee the efficient and accurate movement of the robot's end effector while maintaining its pose in Cartesian space.
[0085] The memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.
[0086] This invention provides a computer-readable storage medium including a stored program, wherein, when the program is executed, it controls the device containing the computer-readable storage medium to perform the control method of the robot.
[0087] Specifically, the robot control methods include:
[0088] Step S201: Obtain the initial position and the target position of the robot base. The target position of the robot base is the final position that the robot base is to be moved to.
[0089] Specifically, the robot can be a four-axis, five-axis, or six-axis robot. For a six-axis robot, linking the robot with the guide rail is equivalent to adding a seventh axis, achieving seven-axis linkage. Furthermore, both the initial position and the target position of the robot base are obtained based on the guide rail coordinate system. In some industrial scenarios, to expand the robot's working range or avoid other workpieces in the workspace, the robot base is moved to the target position.
[0090] Step S202: Calculate the final coordinates of the robot end effector based at least on the initial position and the target position of the robot base. The final coordinates of the robot end effector are the coordinates of the robot end effector in the robot base coordinate system when the robot base is located at the target position. The origin of the robot base coordinate system is any point on the robot base, and one of the coordinate axes of the robot base coordinate system is parallel to the guide rail.
[0091] Specifically, the robot's base coordinate system can be established using either the right-hand rule or the left-hand rule. For example... Figure 3 As shown, b is the robot base coordinate system, a is the positive x-axis direction of the robot base coordinate system, w is the guide rail coordinate system, and n is the positive x-axis direction of the guide rail coordinate system. In this example, the robot base coordinate system and the guide rail coordinate system are perpendicular to each other.
[0092] Step S203: Based on the final coordinates of the robot end effector, control the movement of the robot body as the robot base moves from the initial position to the target position, so that the end effector pose of the robot remains unchanged in the world coordinate system.
[0093] Specifically, the end-effector pose refers to the robot's end-effector pose in the world coordinate system. The end-effector coordinates are the coordinates of the robot's end-effector within the robot's base coordinate system. The origin of the robot's base coordinate system is a point on the robot's base. Therefore, when the robot's base moves, the robot's base coordinate system also moves, and the coordinates of the robot's end-effector in the robot's base coordinate system will naturally differ from those before the robot's base moved. The direction of guide rail movement can be the positive x-direction of the guide rail coordinate system or it can be defined as the negative x-direction. Similarly, defining it as the positive or negative y or z direction also applies.
[0094] Optionally, the final coordinates of the robot end effector are calculated based at least on the initial position and the target position of the robot base, including: obtaining the coordinate system deviation angle, which is the angle of deviation between the robot base coordinate system and the guide rail coordinate system, wherein the guide rail coordinate system is established based on the guide rail, the origin of the guide rail coordinate system is any point on the guide rail, and one of the coordinate axes of the guide rail coordinate system is parallel to the guide rail; obtaining the base movement distance, which is the distance between the initial position and the target position; and calculating the final coordinates of the robot end effector based at least on the coordinate system deviation angle, the base movement distance, and the initial coordinates of the robot end effector.
[0095] Optionally, the final coordinates of the robot end effector are calculated based at least on the coordinate system deviation angle, the base travel distance, and the initial coordinates of the robot end effector, including: obtaining the coordinate calculation formula. ,in, Let be the initial coordinates of the robot's end effector. The initial x-axis coordinate value of the robot's end effector. The initial y-axis coordinate value of the robot's end effector. The initial z-axis coordinate value of the robot's end effector is given, and the initial control axis coordinate value of the robot's end effector is given. Let be the final coordinates of the robot's end effector, and Δx be the distance the base has moved. Let be the coordinate system deviation angle; calculate the final coordinates of the robot end effector based on the coordinate system deviation angle, the base movement distance, the initial coordinates of the robot end effector, and the coordinate calculation formula.
[0096] Optionally, controlling the movement of the robot body during the process of the robot base moving from the initial position to the target position based on the final coordinates of the robot end effector includes: using an inverse kinematics algorithm to determine the target joint angles corresponding to each joint of the robot when the robot base is located at the target position, based on the final coordinates of the robot end effector; and controlling the movement of each joint of the robot during the process of the robot base moving from the initial position to the target position, so that the joint angles of each joint of the robot are the same as the target joint angles corresponding to the joints.
[0097] Optionally, the guide rail includes a drive motor for driving the robot base to move on the guide rail. The method further includes: when the rotation direction of the drive motor is a first direction, the robot base moves along the positive direction of the first coordinate axis of the guide rail coordinate system; when the rotation direction of the drive motor is a second direction, the robot base moves along the negative direction of the first coordinate axis of the guide rail coordinate system.
[0098] Optionally, obtaining the initial position and the target position of the robot base includes: obtaining the linkage cycle, where the linkage cycle is the cycle from start-up to stop of the guide rail and the robot; and obtaining the initial position and the target position of the robot base according to the linkage cycle.
[0099] This invention provides a processor for running a program, wherein the program executes the control method of the robot during runtime.
[0100] Specifically, the robot control methods include:
[0101] Step S201: Obtain the initial position and the target position of the robot base. The target position of the robot base is the final position that the robot base is to be moved to.
[0102] Specifically, the robot can be a four-axis, five-axis, or six-axis robot. For a six-axis robot, linking the robot with the guide rail is equivalent to adding a seventh axis, achieving seven-axis linkage. Furthermore, both the initial position and the target position of the robot base are obtained based on the guide rail coordinate system. In some industrial scenarios, to expand the robot's working range or avoid other workpieces in the workspace, the robot base is moved to the target position.
[0103] Step S202: Calculate the final coordinates of the robot end effector based at least on the initial position and the target position of the robot base. The final coordinates of the robot end effector are the coordinates of the robot end effector in the robot base coordinate system when the robot base is located at the target position. The origin of the robot base coordinate system is any point on the robot base, and one of the coordinate axes of the robot base coordinate system is parallel to the guide rail.
[0104] Specifically, the robot's base coordinate system can be established using either the right-hand rule or the left-hand rule. For example... Figure 3 As shown, b is the robot base coordinate system, a is the positive x-axis direction of the robot base coordinate system, w is the guide rail coordinate system, and n is the positive x-axis direction of the guide rail coordinate system. In this example, the robot base coordinate system and the guide rail coordinate system are perpendicular to each other.
[0105] Step S203: Based on the final coordinates of the robot end effector, control the movement of the robot body as the robot base moves from the initial position to the target position, so that the end effector pose of the robot remains unchanged in the world coordinate system.
[0106] Specifically, the end-effector pose refers to the robot's end-effector pose in the world coordinate system. The end-effector coordinates are the coordinates of the robot's end-effector within the robot's base coordinate system. The origin of the robot's base coordinate system is a point on the robot's base. Therefore, when the robot's base moves, the robot's base coordinate system also moves, and the coordinates of the robot's end-effector in the robot's base coordinate system will naturally differ from those before the robot's base moved. The direction of guide rail movement can be the positive x-direction of the guide rail coordinate system or it can be defined as the negative x-direction. Similarly, defining it as the positive or negative y or z direction also applies.
[0107] Optionally, the final coordinates of the robot end effector are calculated based at least on the initial position and the target position of the robot base, including: obtaining the coordinate system deviation angle, which is the angle of deviation between the robot base coordinate system and the guide rail coordinate system, wherein the guide rail coordinate system is established based on the guide rail, the origin of the guide rail coordinate system is any point on the guide rail, and one of the coordinate axes of the guide rail coordinate system is parallel to the guide rail; obtaining the base movement distance, which is the distance between the initial position and the target position; and calculating the final coordinates of the robot end effector based at least on the coordinate system deviation angle, the base movement distance, and the initial coordinates of the robot end effector.
[0108] Optionally, the final coordinates of the robot end effector are calculated based at least on the coordinate system deviation angle, the base travel distance, and the initial coordinates of the robot end effector, including: obtaining the coordinate calculation formula. ,in, Let be the initial coordinates of the robot's end effector. The initial x-axis coordinate value of the robot's end effector. The initial y-axis coordinate value of the robot's end effector. The initial z-axis coordinate value of the robot's end effector is given, and the initial control axis coordinate value of the robot's end effector is given. Let be the final coordinates of the robot's end effector, and Δx be the distance the base has moved. Let be the coordinate system deviation angle; calculate the final coordinates of the robot end effector based on the coordinate system deviation angle, the base movement distance, the initial coordinates of the robot end effector, and the coordinate calculation formula.
[0109] Optionally, controlling the movement of the robot body during the process of the robot base moving from the initial position to the target position based on the final coordinates of the robot end effector includes: using an inverse kinematics algorithm to determine the target joint angles corresponding to each joint of the robot when the robot base is located at the target position, based on the final coordinates of the robot end effector; and controlling the movement of each joint of the robot during the process of the robot base moving from the initial position to the target position, so that the joint angles of each joint of the robot are the same as the target joint angles corresponding to the joints.
[0110] Optionally, the guide rail includes a drive motor for driving the robot base to move on the guide rail. The method further includes: when the rotation direction of the drive motor is a first direction, the robot base moves along the positive direction of the first coordinate axis of the guide rail coordinate system; when the rotation direction of the drive motor is a second direction, the robot base moves along the negative direction of the first coordinate axis of the guide rail coordinate system.
[0111] Optionally, obtaining the initial position and the target position of the robot base includes: obtaining the linkage cycle, where the linkage cycle is the cycle from start-up to stop of the guide rail and the robot; and obtaining the initial position and the target position of the robot base according to the linkage cycle.
[0112] This invention provides a device including a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it performs at least the following steps:
[0113] Step S201: Obtain the initial position and the target position of the robot base. The target position of the robot base is the final position that the robot base is to be moved to.
[0114] Step S202: Calculate the final coordinates of the robot end effector based at least on the initial position and the target position of the robot base. The final coordinates of the robot end effector are the coordinates of the robot end effector in the robot base coordinate system when the robot base is located at the target position. The origin of the robot base coordinate system is any point on the robot base, and one of the coordinate axes of the robot base coordinate system is parallel to the guide rail.
[0115] Step S203: Based on the final coordinates of the robot end effector, control the movement of the robot body as the robot base moves from the initial position to the target position, so that the end effector pose of the robot remains unchanged in the world coordinate system.
[0116] The devices mentioned in this article can be servers, PCs, tablets, mobile phones, etc.
[0117] Optionally, the final coordinates of the robot end effector are calculated based at least on the initial position and the target position of the robot base, including: obtaining the coordinate system deviation angle, which is the angle of deviation between the robot base coordinate system and the guide rail coordinate system, wherein the guide rail coordinate system is established based on the guide rail, the origin of the guide rail coordinate system is any point on the guide rail, and one of the coordinate axes of the guide rail coordinate system is parallel to the guide rail; obtaining the base movement distance, which is the distance between the initial position and the target position; and calculating the final coordinates of the robot end effector based at least on the coordinate system deviation angle, the base movement distance, and the initial coordinates of the robot end effector.
[0118] Optionally, the final coordinates of the robot end effector are calculated based at least on the coordinate system deviation angle, the base travel distance, and the initial coordinates of the robot end effector, including: obtaining the coordinate calculation formula. ,in, Let be the initial coordinates of the robot's end effector. The initial x-axis coordinate value of the robot's end effector. The initial y-axis coordinate value of the robot's end effector. The initial z-axis coordinate value of the robot's end effector is given, and the initial control axis coordinate value of the robot's end effector is given. Let be the final coordinates of the robot's end effector, and Δx be the distance the base has moved. Let be the coordinate system deviation angle; calculate the final coordinates of the robot end effector based on the coordinate system deviation angle, the base movement distance, the initial coordinates of the robot end effector, and the coordinate calculation formula.
[0119] Optionally, controlling the movement of the robot body during the process of the robot base moving from the initial position to the target position based on the final coordinates of the robot end effector includes: using an inverse kinematics algorithm to determine the target joint angles corresponding to each joint of the robot when the robot base is located at the target position, based on the final coordinates of the robot end effector; and controlling the movement of each joint of the robot during the process of the robot base moving from the initial position to the target position, so that the joint angles of each joint of the robot are the same as the target joint angles corresponding to the joints.
[0120] Optionally, the guide rail includes a drive motor for driving the robot base to move on the guide rail. The method further includes: when the rotation direction of the drive motor is a first direction, the robot base moves along the positive direction of the first coordinate axis of the guide rail coordinate system; when the rotation direction of the drive motor is a second direction, the robot base moves along the negative direction of the first coordinate axis of the guide rail coordinate system.
[0121] Optionally, obtaining the initial position and the target position of the robot base includes: obtaining the linkage cycle, where the linkage cycle is the cycle from start-up to stop of the guide rail and the robot; and obtaining the initial position and the target position of the robot base according to the linkage cycle.
[0122] This application also provides a computer program product, which, when executed on a data processing device, is suitable for executing an initialization program having at least the following method steps:
[0123] Step S201: Obtain the initial position and the target position of the robot base. The target position of the robot base is the final position that the robot base is to be moved to.
[0124] Step S202: Calculate the final coordinates of the robot end effector based at least on the initial position and the target position of the robot base. The final coordinates of the robot end effector are the coordinates of the robot end effector in the robot base coordinate system when the robot base is located at the target position. The origin of the robot base coordinate system is any point on the robot base, and one of the coordinate axes of the robot base coordinate system is parallel to the guide rail.
[0125] Step S203: Based on the final coordinates of the robot end effector, control the movement of the robot body as the robot base moves from the initial position to the target position, so that the end effector pose of the robot remains unchanged in the world coordinate system.
[0126] Optionally, the final coordinates of the robot end effector are calculated based at least on the initial position and the target position of the robot base, including: obtaining the coordinate system deviation angle, which is the angle of deviation between the robot base coordinate system and the guide rail coordinate system, wherein the guide rail coordinate system is established based on the guide rail, the origin of the guide rail coordinate system is any point on the guide rail, and one of the coordinate axes of the guide rail coordinate system is parallel to the guide rail; obtaining the base movement distance, which is the distance between the initial position and the target position; and calculating the final coordinates of the robot end effector based at least on the coordinate system deviation angle, the base movement distance, and the initial coordinates of the robot end effector.
[0127] Optionally, the final coordinates of the robot end effector are calculated based at least on the coordinate system deviation angle, the base travel distance, and the initial coordinates of the robot end effector, including: obtaining the coordinate calculation formula. ,in, Let be the initial coordinates of the robot's end effector. The initial x-axis coordinate value of the robot's end effector. The initial y-axis coordinate value of the robot's end effector. The initial z-axis coordinate value of the robot's end effector is given, and the initial control axis coordinate value of the robot's end effector is given. Let be the final coordinates of the robot's end effector, and Δx be the distance the base has moved. Let be the coordinate system deviation angle; calculate the final coordinates of the robot end effector based on the coordinate system deviation angle, the base movement distance, the initial coordinates of the robot end effector, and the coordinate calculation formula.
[0128] Optionally, controlling the movement of the robot body during the process of the robot base moving from the initial position to the target position based on the final coordinates of the robot end effector includes: using an inverse kinematics algorithm to determine the target joint angles corresponding to each joint of the robot when the robot base is located at the target position, based on the final coordinates of the robot end effector; and controlling the movement of each joint of the robot during the process of the robot base moving from the initial position to the target position, so that the joint angles of each joint of the robot are the same as the target joint angles corresponding to the joints.
[0129] Optionally, the guide rail includes a drive motor for driving the robot base to move on the guide rail. The method further includes: when the rotation direction of the drive motor is a first direction, the robot base moves along the positive direction of the first coordinate axis of the guide rail coordinate system; when the rotation direction of the drive motor is a second direction, the robot base moves along the negative direction of the first coordinate axis of the guide rail coordinate system.
[0130] Optionally, obtaining the initial position and the target position of the robot base includes: obtaining the linkage cycle, where the linkage cycle is the cycle from start-up to stop of the guide rail and the robot; and obtaining the initial position and the target position of the robot base according to the linkage cycle.
[0131] It is obvious to those skilled in the art that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those described herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.
[0132] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied 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.
[0133] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0134] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0135] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0136] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0137] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, like read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0138] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, 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, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0139] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0140] As can be seen from the above description, the embodiments of this application achieve the following technical effects:
[0141] 1) The technical solution of this application describes a robot control method. The robot is mounted on a guide rail and includes a robot body and a robot base. The robot body is located on the robot base. First, the initial position and target position of the robot base are obtained. The target position is the final position the robot base is to move to. Then, based at least on the initial and target positions of the robot base, the final coordinates of the robot end effector are calculated. The final coordinates of the robot end effector are the coordinates of the robot end effector in the robot base coordinate system when the robot base is at the target position. The origin of the robot base coordinate system is any point on the robot base, and one of its coordinate axes is parallel to the guide rail. Finally, based on the final coordinates of the robot end effector, the robot body is controlled to move during the process of the robot base moving from the initial position to the target position, so that the end effector pose remains unchanged in the world coordinate system. This method, based on the initial and target positions of the robot base, calculates the coordinates of the robot end effector using a geometric algorithm, linking the robot and the guide rail. This ensures that the robot end effector pose remains unchanged in the world coordinate system, enabling simple and efficient robot movement and reducing CPU performance requirements. This addresses the problem of efficiently and accurately moving robots when existing technologies cannot guarantee that the robot's end-effector pose remains unchanged in the world coordinate system.
[0142] 2) The robot control device of this application comprises a robot mounted on a guide rail, the robot including a robot body and a robot base, the robot body located on the robot base, and the device including an acquisition unit, a calculation unit, and a control unit. The acquisition unit is used to acquire the initial position and the target position of the robot base, the target position being the final position the robot base is to move to. The calculation unit is used to calculate the final coordinates of the robot end effector based at least on the initial and target positions of the robot base, the final coordinates being the coordinates of the robot end effector in the robot base coordinate system when the robot base is at the target position, the origin of the robot base coordinate system being any point on the robot base, and one of the coordinate axes of the robot base coordinate system being parallel to the guide rail. The control unit is used to control the movement of the robot body during the movement of the robot base from the initial position to the target position based on the final coordinates of the robot end effector, so that the end effector pose remains unchanged in the world coordinate system. This device calculates the coordinates of the robot end effector based on the initial and target positions of the robot base using a geometric algorithm, linking the robot and the guide rail, and can move the robot simply and efficiently while ensuring that the end effector pose remains unchanged in the world coordinate system, reducing the performance requirements of the CPU. This addresses the problem of efficiently and accurately moving robots when existing technologies cannot guarantee that the robot's end-effector pose remains unchanged in the world coordinate system.
[0143] 3) The technical solution of this application: The aforementioned robot system includes: a robot, comprising a robot body, a robot base, and a control device for the robot. The robot body is located on the robot base, and the robot control device is used to execute any of the aforementioned robot control methods; and a guide rail on which the robot is mounted. This system, based on the initial and target positions of the robot base, calculates the coordinates of the robot's end effector using a geometric algorithm, linking the robot and the guide rail. This ensures simple and efficient robot movement while maintaining the robot's end effector pose in the world coordinate system, reducing CPU performance requirements. It solves the problem in existing technologies where it is impossible to guarantee efficient and accurate robot movement while maintaining the robot's end effector pose in the world coordinate system.
[0144] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A control method of a robot characterized by, The robot is mounted on a guide rail. The robot includes a robot body and a robot base, with the robot body located on the robot base. The method further includes: Obtain the initial position and the target position of the robot base, where the target position is the final position to which the robot base is to be moved; Obtain the coordinate system deviation angle, which is the angle of deviation between the robot base coordinate system and the guide rail coordinate system. The guide rail coordinate system is established based on the guide rail, the origin of the guide rail coordinate system is any point on the guide rail, and one of the coordinate axes of the guide rail coordinate system is parallel to the guide rail. The base movement distance is obtained, which is the distance between the initial position and the target position; Obtain coordinate calculation formula ,in, Let be the initial coordinates of the robot's end effector. The initial x-axis coordinate value of the robot's end effector. The initial y-axis coordinate value of the robot's end effector. The initial z-axis coordinate value of the robot's end effector is given, and the initial control axis coordinate value of the robot's end effector is given. Let be the final coordinates of the robot's end effector, and Δx be the distance the base has moved. The deviation angle of the coordinate system; Based on the coordinate system deviation angle, the base movement distance, the initial coordinates of the robot end effector, and the coordinate calculation formula, the final coordinates of the robot end effector are calculated. The final coordinates of the robot end effector are the coordinates of the robot end effector in the robot base coordinate system when the robot base is located at the target position. The origin of the robot base coordinate system is any point on the robot base, and one of the coordinate axes of the robot base coordinate system is parallel to the guide rail. Based on the final coordinates of the robot end effector, the inverse kinematics algorithm is used to determine the target joint angles corresponding to each joint of the robot when the robot base is located at the target position. During the process of the robot base moving from the initial position to the target position, the movement of each joint of the robot is controlled so that the joint angle of each joint of the robot is the same as the target joint angle corresponding to the joint, so that the end pose of the robot in the world coordinate system remains unchanged.
2. The control method according to claim 1, characterized by, The guide rail includes a drive motor, which is used to drive the robot base to move on the guide rail. The method further includes: When the drive motor rotates in the first direction, the robot base moves along the positive direction of the first coordinate axis of the guide rail coordinate system; When the drive motor rotates in the second direction, the robot base moves along the negative direction of the first coordinate axis of the guide rail coordinate system.
3. The control method according to claim 1, characterized by, Obtaining the initial position and the target position of the robot base includes: Obtain the linkage cycle, which is the cycle from start to stop for the guide rail and the robot; According to the aforementioned linkage cycle, the initial position and the target position of the robot base are obtained.
4. A control device of a robot characterized by comprising: The robot is mounted on a guide rail. The robot includes a robot body and a robot base, with the robot body located on the robot base. The device also includes: The acquisition unit is used to acquire the initial position and the target position of the robot base, wherein the target position of the robot base is the final position to which the robot base is to be moved. A calculation unit is used to calculate the final coordinates of the robot end effector based at least on the initial position of the robot base and the target position of the robot base. The final coordinates of the robot end effector are the coordinates of the robot end effector in the robot base coordinate system when the robot base is located at the target position. The origin of the robot base coordinate system is any point on the robot base, and one of the coordinate axes of the robot base coordinate system is parallel to the guide rail. The control unit is used to control the movement of the robot body as the robot base moves from the initial position to the target position based on the final coordinates of the robot end effector, so that the end effector pose of the robot remains unchanged in the world coordinate system. The calculation unit includes a first acquisition module, a second acquisition module, and a first calculation module. The first acquisition module is used to acquire the coordinate system deviation angle, which is the angle of deviation between the robot base coordinate system and the guide rail coordinate system. The guide rail coordinate system is established based on the guide rail, and the origin of the guide rail coordinate system is any point on the guide rail. One of the coordinate axes of the guide rail coordinate system is parallel to the guide rail. The second acquisition module is used to acquire the base movement distance, which is the distance between the initial position and the target position. The first calculation module is used to calculate the final coordinates of the robot end effector based at least on the coordinate system deviation angle, the base movement distance, and the initial coordinates of the robot end effector. The first calculation module includes a third acquisition module and a second calculation module, wherein the third acquisition module is used to acquire the coordinate calculation formula. ,in, Let be the initial coordinates of the robot's end effector. The initial x-axis coordinate value of the robot's end effector. The initial y-axis coordinate value of the robot's end effector. The initial z-axis coordinate value of the robot's end effector is given, and the initial control axis coordinate value of the robot's end effector is given. Let be the final coordinates of the robot's end effector, and Δx be the distance the base has moved. The coordinate system deviation angle is defined as follows: the second calculation module is used to calculate the final coordinates of the robot end effector based on the coordinate system deviation angle, the base movement distance, the initial coordinates of the robot end effector, and the coordinate calculation formula. The control unit includes a determining module and a controlling module. The determining module is used to determine the target joint angles corresponding to each joint of the robot when the robot base is located at the target position, based on the final coordinates of the robot end effector using an inverse kinematics algorithm. The controlling module is used to control the movement of each joint of the robot during the process of the robot base moving from the initial position to the target position, so that the joint angles of each joint of the robot are the same as the target joint angles corresponding to the joints.
5. A computer readable storage medium, characterized in that, The computer-readable storage medium includes a stored program, wherein, when the program is executed, it controls the device containing the computer-readable storage medium to perform the robot control method according to any one of claims 1 to 3.
6. A robot system, characterized by include: A robot includes a robot body, a robot base, and a control device for the robot, wherein the robot body is located on the robot base, and the robot control device is used to execute the robot control method according to any one of claims 1 to 3; The robot is mounted on a guide rail.
7. The robotic system of claim 6, wherein, The guide rail also includes a drive motor, which is used to drive the robot base to move on the guide rail.
Citation Information
Patent Citations
Calculation method of real-time pose of target for following by six-axis robot end
CN111230866A
Workpiece surface measuring method and device and wing wallboard soft mold polishing method
CN115972093A