Method and apparatus for determining working range of robot, and electronic device and storage medium
By building virtual models and calculating activity key points, and using position transformation matrix to draw the robot's working range, the problem of large drawing workload is solved, efficiency and accuracy are improved, and the robot's activity ability and limitations are demonstrated.
Patent Information
- Application Number
- PCT/CN2024/115580
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-25
- Filing Date
- 2024-08-29
- Publication Date
- 2025-07-03
AI Technical Summary
When drawing the working range of a robot, it is very labor-intensive and inefficient, making it difficult to effectively demonstrate its working ability and limitations.
Build a virtual model of the robot under the spatial coordinate system, obtain activity parameters, calculate activity key points, and draw two-dimensional or three-dimensional working ranges using position transformation matrix.
The robot's working range drawing process is simplified, efficiency and accuracy are improved, and its activity ability and limitations are clearly demonstrated, making it easier to plan and analyze.
Smart Images

Figure CN2024115580_03072025_PF_FP_ABST
Abstract
Description
Method, device, electronic device and storage medium for determining robot working range
[0001] This application claims priority to a patent application filed with the State Intellectual Property Office of China on December 25, 2023, with application number 202311800039.7 and application name “Method, device, electronic device and storage medium for determining the working range of a robot”. Technical Field
[0002] The present application relates to the technical field of robot equipment, and in particular to a method, device, electronic device and storage medium for determining the working range of a robot. Background Art
[0003] With the development of robotics, robots can be multi-jointed manipulators or multi-degree-of-freedom devices for diverse applications. They can automatically perform tasks, relying on their own power and control capabilities to achieve various functions. Robots can accept human intelligence or operate according to pre-programmed programs. Both multi-jointed manipulators and multi-degree-of-freedom robots have limited working ranges. Predicting and mapping a robot's working range effectively analyzes its working range, allowing for flexible control over the robot's execution. However, mapping a robot's working range requires repeated parameter updates, resulting in a large workload.
[0004] Summary of the Invention
[0005] The embodiments of the present application provide a method, device, electronic device and storage medium for determining the working range of a robot, so as to solve or partially solve the problems of heavy workload and low drawing efficiency when drawing the working range of the robot.
[0006] The present application discloses a method for determining a robot's working range, including:
[0007] Construct a virtual model of the robot in a spatial coordinate system;
[0008] acquiring robot activity parameters corresponding to the robot from the virtual model;
[0009] Performing point calculation based on the robot's activity parameters to obtain a number of activity key points corresponding to the robot, each of the activity key points representing the position of the end of the robot's working part when the robot's active joint is at an extreme position;
[0010] Obtaining a position transformation matrix for the robot, wherein the position transformation matrix is used to calculate the coordinate value of the end during the movement of the robot;
[0011] The robot is controlled according to the robot activity parameters, and in response to the first activity of the robot, calculations are performed based on the position transformation matrix and the several activity key points, and curves between the activity key points are drawn to obtain the corresponding two-dimensional working range of the robot.
[0012] In some feasible embodiments, the robot activity parameters include at least the extreme range of motion and joint distance of the active joints in the robot, and the length of the connecting rods between different active joints. The point calculation based on the robot activity parameters to obtain several key activity points corresponding to the robot includes:
[0013] At least one of the extreme range of motion, the joint distance, and the connecting rod length is used to perform point calculation to obtain a plurality of key activity points corresponding to the robot.
[0014] In some feasible embodiments, the extreme range of motion includes a first extreme range of motion of a first movable joint and a second extreme range of motion of a second movable joint, the first extreme range of motion includes a first positive extreme angle and a first negative extreme angle, and the second extreme range of motion includes a second positive extreme angle and a second negative extreme angle, and the point calculation using at least one of the extreme range of motion, the joint distance, and the connecting rod length to obtain several key activity points corresponding to the robot includes:
[0015] The position of the end when the first movable joint is at the first negative limit angle and the second movable joint is at the second positive limit angle is used as a first movable key point;
[0016] The position of the end when the first movable joint is at the first positive limit angle and the second movable joint is at the second positive limit angle is used as the second movable key point;
[0017] Calculating a first angle of the second movable joint using the connecting rod length and the joint distance;
[0018] The position of the end when the first movable joint is at the first positive limit angle, the second movable joint is at the first angle, and the first movable joint and the second movable joint are collinear is used as the third movable key point;
[0019] The position of the end when the first movable joint is at the first negative limit angle, the second movable joint is at the first angle, and the first movable joint and the second movable joint are collinear is used as the fourth movable key point;
[0020] The position of the end when the first movable joint is at a first negative limit angle and the second movable joint is at a second negative limit angle is used as the fifth movable key point;
[0021] performing a calculation using the second negative limit angle, the connecting rod length, and the joint distance to obtain a second angle, and calculating the sum of the second angle and the second negative limit angle to obtain a third angle;
[0022] When the first movable joint is located at the first negative limit angle and the second movable joint is located at the third angle, the position of the end is used as the sixth movable key point.
[0023] In some feasible embodiments, the robot activity parameters include a first joint activity angle of a first movable joint and a second joint activity angle of a second movable joint in the robot, and controlling the activity of the robot according to the robot activity parameters includes:
[0024] The first movable joint is controlled to move according to the first joint movable angle, and the second movable joint is controlled to move according to the second joint movable angle.
[0025] In some feasible embodiments, in response to the first movement of the robot, performing calculations based on the position transformation matrix and the plurality of movement key points, drawing curves between the movement key points, and obtaining the corresponding two-dimensional working range of the robot includes:
[0026] In response to a first movement of the robot, obtaining component values of each key point of the movement, the component values including a first component value of an X-axis vector in the spatial coordinate system, a second component value of a Y-axis vector in the spatial coordinate system, and a third component value of a Z-axis vector in the spatial coordinate system;
[0027] Obtaining sequence information for the plurality of key activity points, and inputting the first component value, the second component value, and the third component value corresponding to each key activity point into the position transformation matrix in sequence according to the sequence information, to obtain a first spatial coordinate value of the end point in the spatial coordinate system during the movement of the robot;
[0028] The first spatial coordinate value is used to draw the two-dimensional working range corresponding to the robot.
[0029] In some feasible embodiments, the robot activity parameter further includes a third joint activity angle of a third active joint in the robot, and the method further includes:
[0030] Controlling the first movable joint to move according to the first joint movable angle, controlling the second movable joint to move according to the second joint movable angle, and controlling the third movable joint to move according to the third joint movable angle;
[0031] In response to the second activity of the robot, the plurality of activity key points are calculated according to the position transformation matrix, curves between the activity key points are drawn, and the corresponding three-dimensional working range of the robot is obtained.
[0032] In some feasible embodiments, in response to the second activity of the robot, calculating the plurality of activity key points according to the position transformation matrix, drawing curves between the activity key points, and obtaining the corresponding three-dimensional working range of the robot includes:
[0033] In response to a second movement of the robot, inputting the first component value, the second component value, and the third component value corresponding to each of the key points of the movement into the position transformation matrix in sequence according to the sequence information, to obtain a second spatial coordinate value of the end point in the spatial coordinate system during the movement of the robot;
[0034] The second spatial coordinate value is used to draw the three-dimensional working range corresponding to the robot.
[0035] The embodiment of the present application further discloses a device for determining a robot working range, comprising:
[0036] Model building module, used to build a virtual model of the robot in a spatial coordinate system;
[0037] a parameter acquisition module, configured to acquire robot activity parameters corresponding to the robot from the virtual model;
[0038] a key point determination module, configured to perform position calculation based on the robot's activity parameters to obtain a plurality of activity key points corresponding to the robot, each of which represents the position of the end of the robot's working part when the robot's active joint is at an extreme position;
[0039] A matrix acquisition module, configured to acquire a position transformation matrix for the robot, wherein the position transformation matrix is used to calculate the coordinate value of the end during the movement of the robot;
[0040] A range determination module is used to control the robot's activities according to the robot's activity parameters, and in response to the robot's first activity, calculate based on the position transformation matrix and the multiple activity key points, draw a curve between the activity key points, and obtain the robot's corresponding two-dimensional working range.
[0041] In some feasible embodiments, the robot movement parameter includes a first joint movement angle of a first movable joint and a second joint movement angle of a second movable joint in the robot, and the range determination module is specifically configured to:
[0042] The first movable joint is controlled to move according to the first joint movable angle, and the second movable joint is controlled to move according to the second joint movable angle.
[0043] In some feasible embodiments, the robot activity parameters include at least the extreme range of motion and joint distance of the movable joints in the robot, and the length of the connecting rods between different movable joints. The key point determination module is specifically configured to:
[0044] At least one of the extreme range of motion, the joint distance, and the connecting rod length is used to perform point calculation to obtain a plurality of key activity points corresponding to the robot.
[0045] In some feasible embodiments, the extreme range of motion includes a first extreme range of motion of the first movable joint and a second extreme range of motion of the second movable joint, the first extreme range of motion includes a first positive extreme angle and a first negative extreme angle, the second extreme range of motion includes a second positive extreme angle and a second negative extreme angle, and the key point determination module is specifically configured to:
[0046] The position of the end when the first movable joint is at the first negative limit angle and the second movable joint is at the second positive limit angle is used as a first movable key point;
[0047] The position of the end when the first movable joint is at the first positive limit angle and the second movable joint is at the second positive limit angle is used as the second movable key point;
[0048] Calculating a first angle of the second movable joint using the connecting rod length and the joint distance;
[0049] The position of the end when the first movable joint is at the first positive limit angle, the second movable joint is at the first angle, and the first movable joint and the second movable joint are collinear is used as the third movable key point;
[0050] The position of the end when the first movable joint is at the first negative limit angle, the second movable joint is at the first angle, and the first movable joint and the second movable joint are collinear is used as the fourth movable key point;
[0051] The position of the end when the first movable joint is at a first negative limit angle and the second movable joint is at a second negative limit angle is used as the fifth movable key point;
[0052] performing a calculation using the second negative limit angle, the connecting rod length, and the joint distance to obtain a second angle, and calculating the sum of the second angle and the second negative limit angle to obtain a third angle;
[0053] When the first movable joint is located at the first negative limit angle and the second movable joint is located at the third angle, the position of the end is used as the sixth movable key point.
[0054] In some feasible embodiments, the range determination module is specifically configured to:
[0055] In response to a first movement of the robot, obtaining component values of each key point of the movement, the component values including a first component value of an X-axis vector in the spatial coordinate system, a second component value of a Y-axis vector in the spatial coordinate system, and a third component value of a Z-axis vector in the spatial coordinate system;
[0056] Obtaining sequence information for the plurality of key activity points, and inputting the first component value, the second component value, and the third component value corresponding to each key activity point into the position transformation matrix in sequence according to the sequence information, to obtain a first spatial coordinate value of the end point in the spatial coordinate system during the movement of the robot;
[0057] The first spatial coordinate value is used to draw the two-dimensional working range corresponding to the robot.
[0058] In some feasible embodiments, the robot activity parameter further includes a third joint activity angle of a third active joint in the robot, and the device further includes:
[0059] a control module, configured to control the first movable joint to move according to the first joint movable angle, control the second movable joint to move according to the second joint movable angle, and control the third movable joint to move according to the third joint movable angle;
[0060] A drawing module is used to calculate the several key points of the activity according to the position transformation matrix in response to the second activity of the robot, draw curves between the key points of the activity, and obtain the corresponding three-dimensional working range of the robot.
[0061] In some feasible embodiments, the drawing module is specifically configured to:
[0062] In response to a second movement of the robot, inputting the first component value, the second component value, and the third component value corresponding to each of the key points of the movement into the position transformation matrix in sequence according to the sequence information, to obtain a second spatial coordinate value of the end point in the spatial coordinate system during the movement of the robot;
[0063] The second spatial coordinate value is used to draw the three-dimensional working range corresponding to the robot.
[0064] An embodiment of the present application further discloses an electronic device, comprising a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;
[0065] The memory is used to store computer programs;
[0066] The processor is used to implement the method described in the embodiment of the present application when executing the program stored in the memory.
[0067] The embodiments of the present application further disclose a computer-readable storage medium having instructions stored thereon, which, when executed by one or more processors, causes the processors to execute the method as described in the embodiments of the present application.
[0068] Embodiments of the present application include the following advantages:
[0069] In an embodiment of the present application, after constructing a virtual model of the robot in a spatial coordinate system, the robot activity parameters corresponding to the robot can be obtained from the virtual model, and then point calculations are performed based on the robot activity parameters to obtain several activity key points corresponding to the robot. Each activity key point represents the position of the end of the robot's working part when the robot's active joint is at an extreme position. Then, a position transformation matrix for the robot is obtained, and the position transformation matrix is used to calculate the coordinate value of the end during the robot's activity. The robot is then controlled according to the robot activity parameters, and in response to the robot's first activity, calculations are performed based on the position transformation matrix and several activity key points to draw a line between the activity key points. The curve between them is used to obtain the corresponding two-dimensional working range of the robot, thereby obtaining the robot's activity parameters, calculating the position of the end of the robot's working part when the robot's active joint is at the extreme position, and obtaining the movable extreme position point of the robot's working part. Then, the trajectory of the robot during activity is calculated through the position transformation matrix and each activity key point to obtain the robot's working range, which simplifies the process and difficulty of drawing the robot's working range. It not only greatly improves the drawing efficiency and reduces the workload, but also by drawing the corresponding two-dimensional working range, it can more clearly show the robot's activity capabilities and limitations on the corresponding plane, facilitate robot planning and analysis, and improve the robot's work efficiency and accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0070] FIG1 is a flowchart of a method for determining a robot working range provided in an embodiment of the present application;
[0071] FIG2 is a schematic diagram of a virtual model of a robot provided in an embodiment of the present application;
[0072] FIG3 is a schematic diagram of key points of movement of a robot provided in an embodiment of the present application;
[0073] FIG4 is a schematic diagram of a two-dimensional working range of a robot provided in an embodiment of the present application;
[0074] FIG5 is a schematic diagram of a three-dimensional working range of a robot provided in an embodiment of the present application;
[0075] FIG6 is a schematic diagram of a first working range of a robot provided in an embodiment of the present application;
[0076] FIG7 is a schematic diagram of a second working range of the robot provided in an embodiment of the present application;
[0077] FIG8 is a schematic diagram of a third working range of the robot provided in an embodiment of the present application;
[0078] FIG9 is a structural block diagram of a device for determining a robot working range provided in an embodiment of the present application;
[0079] FIG10 is a block diagram of an electronic device provided in an embodiment of the present application.
[0080] The above drawings include the following reference numerals:
[0081] 901, model building module; 902, parameter acquisition module; 903, key point determination module; 904, matrix acquisition module; 905, range determination module;
[0082] 1000. Electronic device; 1001. Radio frequency unit; 1002. Network module; 1003. Audio output unit; 1004. Input unit; 10041. Graphics processor; 10042. Microphone; 1005. Sensor; 1006. Display unit; 10061. Display panel; 1007. User input unit; 10071. Touch panel; 10072. Other input devices; 1008. Interface unit; 1009. Memory; 1010. Processor; 1011. Power supply. DETAILED DESCRIPTION
[0083] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0084] As an example, for a robot, by drawing its working range, the robot's working capabilities and limitations can be effectively analyzed. For example, for a robot with a multi-joint manipulator, by drawing the working range of its arm, the working capabilities and limitations of its arm can be effectively demonstrated. In this process, the end of the arm (fingers or wrist, etc.) can be regarded as a particle, and the moving range of the particle in space is the working range of the robot arm. However, predicting and drawing the working range of the robot can effectively analyze the working range of the robot so as to flexibly control the robot to perform the corresponding work content. However, when drawing the working range of the robot, there is a problem of repeatedly updating parameters, resulting in a large workload for drawing.
[0085] In this regard, in an embodiment of the present application, by constructing a virtual model of the robot in a spatial coordinate system, the robot activity parameters corresponding to the robot can be obtained from the virtual model, and then point calculations are performed based on the robot activity parameters to obtain several activity key points corresponding to the robot. Each activity key point represents the position of the end of the robot's working part when the robot's active joint is in the extreme position. Then, the position transformation matrix for the robot is obtained, and the position transformation matrix is used to calculate the coordinate value of the end during the robot's activity. The robot is then controlled according to the robot activity parameters, and in response to the robot's first activity, the activity key points are drawn based on the position transformation matrix and several activity key points. The curve between them is used to obtain the corresponding two-dimensional working range of the robot, thereby obtaining the robot's activity parameters, calculating the position of the end of the robot's working part when the robot's active joint is at the extreme position, and obtaining the movable extreme position point of the robot's working part. Then, the trajectory of the robot during activity is calculated through the position transformation matrix and each activity key point to obtain the robot's working range, which simplifies the process and difficulty of drawing the robot's working range. It not only greatly improves the drawing efficiency and reduces the workload, but also by drawing the corresponding two-dimensional working range, it can more clearly show the robot's activity capabilities and limitations on the corresponding plane, facilitate robot planning and analysis, and improve the robot's work efficiency and accuracy.
[0086] 1 , there is shown a flowchart of a method for determining a robot working range provided in an embodiment of the present application, which may specifically include the following steps:
[0087] Step 101, constructing a virtual model of the robot in a spatial coordinate system;
[0088] Alternatively, a robot is an intelligent device that can interact with users and perform specific tasks, such as a smart home robot, which can typically perceive the environment through sensors, cameras, and voice recognition technology, and can communicate and collaborate with other smart devices, home networks, or smart assistants. The functions and features of a smart home robot may include:
[0089] Home management: Smart home robots can interact with users through voice or touch interfaces to perform home management functions, such as setting alarms, reminders, managing calendars, checking weather and news, etc.
[0090] Security monitoring: Some smart home robots are equipped with cameras and sensors to monitor home security. They can detect intrusions, remind users if doors and windows are closed, sound alarms, and send real-time video and alert notifications to users via mobile apps.
[0091] Home care: Smart home robots can monitor the health of elderly or sick people, including key indicators such as heart rate and blood pressure. They can also provide home emergency assistance, detect falls, and automatically notify emergency contacts.
[0092] Temperature control and energy management: By connecting to smart thermostats and electrical appliances, smart home robots can help users achieve intelligent temperature control and energy management, automatically adjusting indoor temperature and appliance usage based on user habits and behaviors to improve energy efficiency.
[0093] Entertainment and music playback: Smart home robots can provide users with more entertainment options by connecting to speakers and music streaming services to play music, listen to the radio, provide jokes and entertainment content.
[0094] In addition, in addition to the functions mentioned above, some robots that can perform corresponding tasks can complete the tasks that humans can perform, such as cleaning, agricultural labor, construction, and high-altitude work. Based on this, analyzing and mapping the robot's working range can effectively and intuitively display the robot's working capabilities and limitations, so that the robot can be planned and analyzed accordingly.
[0095] In the embodiments of the present application, the working range of a robot can be the range that the robot components can reach, also known as the robot's operating space or workspace. The working range of a robot can be defined by its mechanical structure and joint limitations, and generally depends on the number of joints, joint types, and mechanical structure of the robot. For example, on the one hand, an industrial robot with 6 degrees of freedom can generally move and perform tasks in three-dimensional space, and its working range is wider because it has greater flexibility and maneuverability; on the other hand, a robot with only 2 degrees of freedom may have a strictly limited operating space, and can only move within a plane, and its working range is smaller.
[0096] When drawing the robot's working range, a virtual model of the robot can be constructed in a spatial coordinate system. Then, the corresponding robot activity parameters can be obtained from the virtual model so that the working range can be drawn based on the robot activity parameters. In some feasible implementations, the construction of the virtual model can be carried out by following the modeling rules of the DH model (Denavit-Hartenberg model) and determining the corresponding spatial coordinate system. The spatial coordinate system can only mark the X and Z directions, and the Y direction can follow the right-hand rule.
[0097] In an embodiment not shown, assuming a robot consisting of two revolute joints, the process of constructing a virtual model may include: determining a base coordinate system (coordinate system 0): selecting a coordinate system fixed to the robot's base as the base coordinate system, and aligning its origin with the robot's center of rotation. Typically, the X-axis of the base coordinate system is aligned with the robot's forward direction, and the Z-axis is vertically upward and parallel to the direction of gravity. Determining the first joint coordinate system (coordinate system 1): aligning the rotation axis of joint 1 with the Z-axis of the base coordinate system. The rotation axis of joint 1 is the robot's first revolute joint axis, which is along the robot's first rotational motion direction. Determining the second joint coordinate system (coordinate system 2): aligning the rotation axis of joint 2 with the rotation axis of joint 1. The rotation axis of joint 2 is the robot's second revolute joint axis, which is along the robot's second rotational motion direction. Determining the end-effector coordinate system (coordinate system 3): This coordinate system is located at the robot's end effector (at the end of the robot's working range), with the X-axis of the end effector aligned with the robot's feed direction and the Z-axis vertically upward.
[0098] 2, a schematic diagram of a virtual model of a robot provided in an embodiment of the present application is shown. A virtual model corresponding to the robot is constructed based on the DH model modeling rules. The coordinate systems corresponding to the virtual model (only the X and Z directions are marked) include: a first coordinate system (X0O0Z0), a second coordinate system (X1O1Z1), a third coordinate system (X2O2Z2), a fourth coordinate system (X3O3Z3), a fifth coordinate system (X4O4Z4), a sixth coordinate system (X5O5Z5), a seventh coordinate system (X6O6Z6), and an eighth coordinate system (X t O t Z t ). Among them, the first coordinate system can be the base coordinate system, the second, third, and fourth coordinate systems can be joint coordinate systems, that is, the coordinate systems corresponding to the robot joints, the fifth, sixth, and seventh coordinate systems can be rotation coordinate systems, that is, the coordinate systems corresponding to the robot's rotating parts, and the eighth coordinate system can be the end effector coordinate system, etc.
[0099] In addition, as shown in Figure 2, a can be the length of the robot's connecting rod, α can be the torsion angle of the connecting rod, d can be the joint distance, θ can be the joint angle, i = 1, 2, 3, 4, 5, 6... etc., J2 and J3 are the robot's active joints, and O0 can represent the base origin, O1 represents the vertical intersection between the base and the first active joint, O2 represents the origin of the first active joint, O3 represents the origin of the second active joint, O4 / O5 / O6 represent the origin of the rotation joint, and O tRepresents the origin of the end effector. And, d1 can be the joint distance between the base and the first movable joint; a2 can be the connecting rod length between the first movable joint and the base; a3 can be the connecting rod length between the first movable joint and the second movable joint; a4 can be the connecting rod length between the second movable joint and the rotary joint; d4 can be the joint distance between the second movable joint and the rotary joint; d t It can be the joint distance between the revolute joint and the end effector, etc.
[0100] Step 102, obtaining robot activity parameters corresponding to the robot from the virtual model;
[0101] In a specific implementation, as described in the previous embodiment, after a virtual model corresponding to the robot is constructed, the virtual model can be labeled accordingly, and the robot activity parameters corresponding to the robot can be obtained. Among them, the robot activity parameters may include at least the connecting rod length, the connecting rod torsion angle, the joint distance, and the joint angle, etc. In addition, for each movable joint, it is limited by the mechanical structure and has a corresponding limit range of motion. The limit range of motion can be an angle value range consisting of a positive limit angle and a negative limit angle, and the movable joint can rotate within the angle value range. Optionally, the maximum angle value of the movable joint that can be rotated clockwise can be used as the positive limit angle, and the maximum angle value of the counterclockwise rotation can be used as the negative limit angle, or vice versa. This application does not impose any restrictions on this.
[0102] Step 103: performing point calculation based on the robot's activity parameters to obtain a number of activity key points corresponding to the robot, each of which represents the position of the end of the robot's working part when the robot's active joint is at an extreme position;
[0103] In an embodiment of the present application, when different active joints of the robot are in different positions, the end of the robot's working part may be in different positions. Based on the active joints being in the corresponding extreme positions, the extreme position point of the end of the working part can be determined, thereby representing the position of the end of the robot's working part when the active joints of the robot are in the extreme positions through different active key points.
[0104] In some feasible implementations, the robot's activity parameters include at least the extreme activity range and joint distance of the active joints in the robot, and the connecting rod length between different active joints. At least one of the extreme activity range, joint distance and connecting rod length can be used for point calculation to obtain several corresponding activity key points of the robot, so that the position of the end of the robot's working part when the robot's active joint is in the extreme position can be represented by different activity key points.
[0105] Among them, the extreme range of motion includes the first extreme range of motion of the first movable joint and the second extreme range of motion of the second movable joint, the first extreme range of motion includes the first positive extreme angle and the first negative extreme angle, and the second extreme range of motion includes the second positive extreme angle and the second negative extreme angle. When the first movable joint is at the first negative extreme angle and the second movable joint is at the second positive extreme angle, the position of the end is taken as the first movable key point; when the first movable joint is at the first positive extreme angle and the second movable joint is at the second positive extreme angle, the position of the end is taken as the second movable key point; the first angle of the second movable joint is calculated using the connecting rod length and the joint distance, and then the first movable joint is at the first positive extreme angle and the second movable joint is at the first angle, and the first When the movable joint is collinear with the second movable joint, the position of the end is used as the third movable key point, and when the first movable joint is at the first negative limit angle and the second movable joint is at the first angle, and the first movable joint and the second movable joint are collinear, the position of the end is used as the fourth movable key point; and when the first movable joint is at the first negative limit angle and the second movable joint is at the second negative limit angle, the position of the end is used as the fifth movable key point; the second negative limit angle, the connecting rod length and the joint distance are used to calculate to obtain the second angle, and the sum of the second angle and the second negative limit angle is calculated to obtain the third angle, and when the first movable joint is at the first negative limit angle and the second movable joint is at the third angle, the position of the end is used as the sixth movable key point.
[0106] In one example, referring to FIG3 , a schematic diagram of the key points of movement provided in an embodiment of the present application is shown. A robot comprising two movable joints (J2 joint and J3 joint) is used as an example for illustrative description. When the movable joints of the robot are located at different positions, the positions of the key points of movement determined are different. Points 1, 2, 3, 4, 5, and 6 are the positions of the robot's end when the first and second movable joints of the robot are located at corresponding positions, respectively. In a specific implementation, the process of determining each key point of movement can be as follows:
[0107] Point 1: J2 joint angle is at the negative limit position J 2min , J3 joint angle is the positive limit position J 3max ;
[0108] Point 2: J2 joint angle is at the positive limit position J 2max , J3 joint angle is the positive limit position J 3max ;
[0109] Point 3: J2 joint angle is at the positive limit position J 2max , J3 and J2 joints are collinear, that is, the J3 joint angle is atan(a4 / d4)-90° (i.e., the first angle);
[0110] Point 4: J2 joint angle is at the negative limit position J 2min , J3 and J2 joints are collinear, that is, the J3 joint angle is atan(a4 / d4)-90° (i.e., the first angle);
[0111] Point 5: J2 joint angle is at the negative limit position J 2min , J3 joint angle is the negative limit position J 3min ;
[0112] Point 6: J2 joint angle is at the negative limit position J 2min , J3 joint angle is the negative limit position J 3min +2∠C (this sum is also called the third angle);
[0113] ∠C (the second angle) can be calculated as follows:
[0114] Assume that the length of O2O3 is l1, the length from O3 to point 5 is l2, and the length from O2 to point 5 is l3.
[0115] ∠B=270°+J 3min -atan(a4 / d4)
[0116] Therefore, based on the formula constructed above, ∠C can be obtained, and the third angle can be further obtained, so as to control the second movable joint to rotate to the corresponding position based on the third angle, and then determine the position of point 6.
[0117] Step 104: obtaining a position transformation matrix for the robot, wherein the position transformation matrix is used to calculate the coordinate value of the end during the movement of the robot;
[0118] In an embodiment of the present application, after determining each key point of the activity, the position transformation matrix for the robot can be further obtained so that the coordinate value of the end of the robot during the activity process can be calculated through the position transformation matrix, thereby drawing the working range based on the corresponding coordinate value.
[0119] The position transformation matrix may be a transformation matrix constructed for adjacent links, which may be:
[0120] i-1 A i =rot z (θ i )trans z (d i )trans x (a i )rot x (α i )
[0121] Among them, rot z (θ i ) Rotation transformation matrix around the Z axis, angle θ i ;trans z (d i ) Translate the transformation matrix along the Z axis, the translation distance is d i ;rot x (α i ) Rotation transformation matrix around the x-axis, angle α i ;trans x (a i ) Translate the transformation matrix along the X axis, the translation distance is a i , so the coordinate value of the end of the robot during the activity can be obtained through the position transformation matrix.
[0122] Step 105: Control the robot's activity according to the robot's activity parameters, and in response to the robot's first activity, calculate based on the position transformation matrix and the several activity key points, draw curves between the activity key points, and obtain the corresponding two-dimensional working range of the robot.
[0123] In an embodiment of the present application, after the activity key points and the position transformation matrix are determined, the robot can be controlled according to the corresponding robot activity parameters, and during the robot's activity, calculations are performed based on the position transformation matrix and several activity key points, and curves are drawn between the several activity key points to obtain the corresponding two-dimensional working range of the robot, thereby obtaining the robot's activity parameters, calculating the position of the end of the robot's working part when the robot's active joint is at the extreme position, and obtaining the movable extreme position point of the robot's working part. Then, the robot's working range is obtained by calculating the trajectory of the robot during activity through the position transformation matrix and each activity key point, which simplifies the process and difficulty of drawing the robot's working range, not only greatly improving the drawing efficiency and reducing the workload, but also by drawing the corresponding two-dimensional working range, the robot's activity capabilities and limitations on the corresponding plane can be more clearly displayed, which facilitates the planning and analysis of the robot and improves the robot's work efficiency and accuracy.
[0124] Among them, the robot activity parameters also include the first joint activity angle of the first movable joint and the second joint activity angle of the second movable joint in the robot. The first movable joint can be controlled to move according to the first joint activity angle, and the second movable joint can be controlled to move according to the second joint activity angle. Therefore, under the condition of a fixed base, by controlling the two movable joints to move, the robot can be controlled to move on the corresponding plane, so as to draw the two-dimensional activity range of the robot on the corresponding plane.
[0125] In some feasible implementations, during the robot's activity, in response to the robot's first activity, component values of each activity key point are obtained, the component values including the first component value of the X-axis vector in the spatial coordinate system, the second component value of the Y-axis vector in the spatial coordinate system, and the third component value of the Z-axis vector in the spatial coordinate system, and sequence information for several activity key points is obtained, and the first component value, second component value, and third component value corresponding to each activity key point are input into the position transformation matrix in sequence according to the sequence information to obtain the first spatial coordinate value of the end point in the spatial coordinate system during the robot's activity, and then the first spatial coordinate value is used to draw the corresponding two-dimensional working range of the robot, thereby simplifying the process and difficulty of drawing the robot's working range, not only greatly improving the drawing efficiency and reducing the workload, but also by drawing the corresponding two-dimensional working range, the robot's activity capabilities and limitations on the corresponding plane can be more clearly displayed, which facilitates the planning and analysis of the robot and improves the robot's work efficiency and accuracy.
[0126] In addition, when the movable joint is controlled to move and the base is controlled to rotate at the same time, the corresponding three-dimensional working range of the robot can be obtained. Specifically, the robot movement parameter also includes the third joint movement angle of the third movable joint in the robot. Then, the first movable joint can be controlled to move according to the first joint movement angle, the second movable joint can be controlled to move according to the second joint movement angle, and the third movable joint can be controlled to move according to the third joint movement angle. In response to the second movement of the robot, several key points of the movement are calculated according to the position transformation matrix, and curves between the key points of the movement are drawn to obtain the corresponding three-dimensional working range of the robot. Specifically, in response to the second movement of the robot, the first component value, the second component value, and the third component value corresponding to each key point of the movement can be input into the position transformation matrix in sequence according to the sequence information to obtain the second spatial coordinate value of the end point in the spatial coordinate system during the movement of the robot. Then, the second spatial coordinate value is used to draw the corresponding three-dimensional working range of the robot, thereby simplifying the process and difficulty of drawing the robot's working range, not only greatly improving the drawing efficiency and reducing the workload, but also by drawing the corresponding three-dimensional working range, the robot's ability and limitations in the corresponding space can be more clearly demonstrated, facilitating the planning and analysis of the robot, and improving the robot's work efficiency and accuracy.
[0127] In one example, taking O6 as an example, the position transformation matrix is processed as follows:
[0128] Among them, p x 、p y 、p zare the X, Y, and Z coordinate values of the O6 position respectively;
[0129] n x 、n y 、n z They are the component values of the X6 axis vector of the O6X6Y6Z6 coordinate system projected to X0, Y0, and Z0 in the O0X0Y0Z0 coordinate system respectively;
[0130] o x 、o y 、o z They are the component values of the Y6-axis vector of the O6X6Y6Z6 coordinate system projected to X0, Y0, and Z0 in the O0X0Y0Z0 coordinate system respectively;
[0131] a x 、a y 、a z They are the component values of the Z6 axis vector of the O6X6Y6Z6 coordinate system projected to X0, Y0, and Z0 in the O0X0Y0Z0 coordinate system.
[0132] Through the above process, during the robot's activity, the corresponding component values can be input into the position transformation matrix to obtain the corresponding coordinate values of the end, and then the corresponding curve is constructed based on the coordinate values to obtain the corresponding working range of the robot.
[0133] Among them, the sequence information can be point 6, point 1, point 2, point 3, point 4, point 5, point 6, etc., and the first movable joint, the second movable joint, etc. are controlled in turn, and they move according to the joint angles corresponding to the movable joints. Then, the coordinate values of each point in the O0X0Y0Z0 coordinate system are calculated and recorded, and the corresponding graph is drawn to obtain the two-dimensional working range of the robot, as shown in Figure 4.
[0134] In addition, based on the above-mentioned drawing of the two-dimensional working range of the robot, if the rotation angle of the control base is added, and the coordinate values of each point are calculated and recorded according to the position transformation matrix, the corresponding image can be drawn based on the new coordinate values, thereby obtaining the three-dimensional working range of the robot, as shown in Figure 5.
[0135] Based on the above process in the embodiment of the present application, when the staff wants to draw a specified working range of any active angle within the range of motion of the robot, they only need to input the corresponding joint active angle to obtain the corresponding working trajectory of the robot. For example, referring to Figures 6, 7, and 8, they respectively correspond to the running trajectory of the end of the robot when the J3 joint moves from 20° to 70° and the remaining joint angles are set to 0°; the running trajectory of the end of the robot when the J2 joint moves from 40° to 80° and the remaining joint angles are set to 0°; when the J3 joint moves from 20° to 70°, the remaining angles are 0°, and then the J3 angle is kept at 70° and the J2 joint moves from 0° to 20°, the running trajectory of the end of the robot, etc. This application does not impose any restrictions on this.
[0136] It should be noted that the embodiments of the present application include but are not limited to the above examples. It is understandable that those skilled in the art can also make settings according to actual needs under the guidance of the ideas of the embodiments of the present application, and the present application does not impose any restrictions on this.
[0137] In an embodiment of the present application, after constructing a virtual model of the robot in a spatial coordinate system, the robot activity parameters corresponding to the robot can be obtained from the virtual model, and then point calculation is performed based on the robot activity parameters to obtain several activity key points corresponding to the robot, each of which represents the position of the end of the robot's working part when the robot's active joint is in an extreme position, and then the position transformation matrix for the robot is obtained, and the position transformation matrix is used to calculate the coordinate value of the end during the robot's activity process, and then the robot is controlled according to the robot activity parameters, and in response to the first activity of the robot, calculation is performed based on the position transformation matrix and the several activity key points. Calculate, draw the curve between the activity key points, obtain the two-dimensional working range corresponding to the robot, thereby obtaining the robot's activity parameters, calculate the position of the end of the robot's working part when the robot's active joint is at the extreme position, obtain the movable extreme position point of the working part in the robot, and then calculate the trajectory of the robot during activity through the position transformation matrix and each activity key point, and finally obtain the robot's working range, which simplifies the process and difficulty of drawing the robot's working range, not only greatly improves the drawing efficiency and reduces the workload, but also by drawing the corresponding two-dimensional working range, the robot's activity ability and limitations on the corresponding plane can be more clearly displayed, which is convenient for robot planning and analysis, and improves the robot's work efficiency and accuracy.
[0138] It should be noted that for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present application are not limited by the order of the actions described, because according to the embodiments of the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all partial embodiments, and the actions involved are not necessarily required by the embodiments of the present application.
[0139] 9 , a block diagram of a device for determining a robot's working range according to an embodiment of the present application is shown, which may include the following modules:
[0140] Model construction module 901, used to construct a virtual model of the robot in a spatial coordinate system;
[0141] A parameter acquisition module 902 is used to acquire robot activity parameters corresponding to the robot from the virtual model;
[0142] A key point determination module 903 is configured to perform position calculation based on the robot's motion parameters to obtain a number of motion key points corresponding to the robot, each of which represents the position of the end of the robot's working component when the robot's motion joint is at an extreme position;
[0143] A matrix acquisition module 904 is used to acquire a position transformation matrix for the robot, wherein the position transformation matrix is used to calculate the coordinate value of the end point during the movement of the robot;
[0144] The range determination module 905 is used to control the robot's activities according to the robot's activity parameters, and in response to the robot's first activity, calculate based on the position transformation matrix and the several activity key points, draw a curve between the activity key points, and obtain the corresponding two-dimensional working range of the robot.
[0145] In some feasible embodiments, the robot movement parameter includes a first joint movement angle of a first movable joint and a second joint movement angle of a second movable joint in the robot, and the range determination module 905 is specifically configured to:
[0146] The first movable joint is controlled to move according to the first joint movable angle, and the second movable joint is controlled to move according to the second joint movable angle.
[0147] In some feasible embodiments, the robot activity parameters include at least the extreme range of motion and joint distance of the movable joints in the robot, and the length of the connecting rods between different movable joints. The key point determination module 903 is specifically configured to:
[0148] At least one of the extreme range of motion, the joint distance, and the connecting rod length is used to perform point calculation to obtain a plurality of key activity points corresponding to the robot.
[0149] In some feasible embodiments, the extreme range of motion includes a first extreme range of motion of the first movable joint and a second extreme range of motion of the second movable joint, the first extreme range of motion includes a first positive extreme angle and a first negative extreme angle, and the second extreme range of motion includes a second positive extreme angle and a second negative extreme angle. The key point determination module 903 is specifically configured to:
[0150] The position of the end when the first movable joint is at the first negative limit angle and the second movable joint is at the second positive limit angle is used as a first movable key point;
[0151] The position of the end when the first movable joint is at the first positive limit angle and the second movable joint is at the second positive limit angle is used as the second movable key point;
[0152] Calculating a first angle of the second movable joint using the connecting rod length and the joint distance;
[0153] The position of the end when the first movable joint is at the first positive limit angle, the second movable joint is at the first angle, and the first movable joint and the second movable joint are collinear is used as the third movable key point;
[0154] The position of the end when the first movable joint is at the first negative limit angle, the second movable joint is at the first angle, and the first movable joint and the second movable joint are collinear is used as the fourth movable key point;
[0155] The position of the end when the first movable joint is at a first negative limit angle and the second movable joint is at a second negative limit angle is used as the fifth movable key point;
[0156] performing a calculation using the second negative limit angle, the connecting rod length, and the joint distance to obtain a second angle, and calculating the sum of the second angle and the second negative limit angle to obtain a third angle;
[0157] When the first movable joint is located at the first negative limit angle and the second movable joint is located at the third angle, the position of the end is used as the sixth movable key point.
[0158] In some feasible embodiments, the range determination module 905 is specifically configured to:
[0159] In response to a first movement of the robot, obtaining component values of each key point of the movement, the component values including a first component value of an X-axis vector in the spatial coordinate system, a second component value of a Y-axis vector in the spatial coordinate system, and a third component value of a Z-axis vector in the spatial coordinate system;
[0160] Obtaining sequence information for the plurality of key activity points, and inputting the first component value, the second component value, and the third component value corresponding to each key activity point into the position transformation matrix in sequence according to the sequence information, to obtain a first spatial coordinate value of the end point in the spatial coordinate system during the movement of the robot;
[0161] The first spatial coordinate value is used to draw the two-dimensional working range corresponding to the robot.
[0162] In some feasible embodiments, the robot activity parameter further includes a third joint activity angle of a third active joint in the robot, and the device further includes:
[0163] a control module, configured to control the first movable joint to move according to the first joint movable angle, control the second movable joint to move according to the second joint movable angle, and control the third movable joint to move according to the third joint movable angle;
[0164] A drawing module is used to calculate the several key points of the activity according to the position transformation matrix in response to the second activity of the robot, draw curves between the key points of the activity, and obtain the corresponding three-dimensional working range of the robot.
[0165] In some feasible embodiments, the drawing module is specifically configured to:
[0166] In response to a second movement of the robot, inputting the first component value, the second component value, and the third component value corresponding to each of the key points of the movement into the position transformation matrix in sequence according to the sequence information, to obtain a second spatial coordinate value of the end point in the spatial coordinate system during the movement of the robot;
[0167] The second spatial coordinate value is used to draw the three-dimensional working range corresponding to the robot.
[0168] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0169] In addition, an embodiment of the present application also provides an electronic device, including: a processor, a memory, and a computer program stored in the memory and runnable on the processor. When the computer program is executed by the processor, the various processes of the above-mentioned embodiment of the method for determining the working range of the robot are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0170] The present application also provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the various processes of the above-mentioned method for determining the working range of the robot are implemented, and the same technical effects are achieved. To avoid repetition, the details are not described here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0171] FIG10 is a schematic diagram of the hardware structure of an electronic device for implementing various embodiments of the present application.
[0172] The electronic device 1000 includes but is not limited to components such as a radio frequency unit 1001, a network module 1002, an audio output unit 1003, an input unit 1004, a sensor 1005, a display unit 1006, a user input unit 1007, an interface unit 1008, a memory 1009, a processor 1010, and a power supply 1011. Those skilled in the art will appreciate that the electronic device structure involved in the embodiments of the present application does not constitute a limitation on the electronic device, and the electronic device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently. In the embodiments of the present application, the electronic device includes but is not limited to a mobile phone, a tablet computer, a laptop computer, a PDA, a vehicle-mounted terminal, a wearable device, and a pedometer.
[0173] It should be understood that in the embodiments of the present application, the RF unit 1001 may be used to receive and transmit signals during information transmission or calls. Specifically, it receives downlink data from the base station and transmits it to the processor 1010 for processing; in addition, it transmits uplink data to the base station. Typically, the RF unit 1001 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, and the like. Furthermore, the RF unit 1001 may communicate with the network and other devices via a wireless communication system.
[0174] The electronic device provides users with wireless broadband Internet access through the network module 1002, such as helping users to send and receive emails, browse web pages, and access streaming media.
[0175] The audio output unit 1003 can convert audio data received by the RF unit 1001 or the network module 1002 or stored in the memory 1009 into an audio signal and output it as sound. In addition, the audio output unit 1003 can also provide audio output related to a specific function performed by the electronic device 1000 (for example, a call signal reception sound, a message reception sound, etc.). The audio output unit 1003 includes a speaker, a buzzer, a receiver, etc.
[0176] The input unit 1004 is used to receive audio or video signals. The input unit 1004 may include a graphics processing unit (GPU) 10041 and a microphone 10042. The graphics processor 10041 processes image data of still pictures or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The processed image frames can be displayed on the display unit 1006. The image frames processed by the graphics processor 10041 can be stored in the memory 1009 (or other storage medium) or transmitted via the radio frequency unit 1001 or the network module 1002. The microphone 10042 can receive sound and process such sound into audio data. In the case of a telephone call mode, the processed audio data can be converted into a format that can be sent to a mobile communication base station via the radio frequency unit 1001 for output.
[0177] The electronic device 1000 also includes at least one sensor 1005, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor includes an ambient light sensor and a proximity sensor, wherein the ambient light sensor can adjust the brightness of the display panel 10061 according to the brightness of the ambient light, and the proximity sensor can turn off the display panel 10061 and / or the backlight when the electronic device 1000 is moved to the ear. As a type of motion sensor, the accelerometer sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used to identify the posture of the electronic device (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; the sensor 1005 can also include a fingerprint sensor, a pressure sensor, an iris sensor, a molecular sensor, a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, etc., which will not be repeated here.
[0178] The display unit 1006 is used to display information input by the user or information provided to the user. The display unit 1006 may include a display panel 10061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
[0179] The user input unit 1007 can be used to receive input digital or character information, and to generate key signal input related to the user settings and function control of the electronic device. Specifically, the user input unit 1007 includes a touch panel 10071 and other input devices 10072. The touch panel 10071, also known as a touch screen, can collect user touch operations on or near it (such as operations performed by the user using any suitable object or accessory such as a finger, stylus, etc. on or near the touch panel 10071). The touch panel 10071 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch direction, detects the signal caused by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device and converts it into contact point coordinates, which are then sent to the processor 1010, which receives the command sent by the processor 1010 and executes it. In addition, the touch panel 10071 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 10071, the user input unit 1007 may also include other input devices 10072. Specifically, the other input devices 10072 may include but are not limited to a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and an operating stick, which will not be described in detail here.
[0180] Furthermore, the touch panel 10071 may be overlaid on the display panel 10061. When the touch panel 10071 detects a touch operation on or near the touch panel 10071, the touch operation is transmitted to the processor 1010 to determine the type of touch event. The processor 1010 then provides a corresponding visual output on the display panel 10061 based on the type of touch event. It will be understood that in one embodiment, the touch panel 10071 and the display panel 10061 are used as two independent components to implement the input and output functions of the electronic device. However, in some embodiments, the touch panel 10071 and the display panel 10061 may be integrated to implement the input and output functions of the electronic device. The specific details are not limited here.
[0181] The interface unit 1008 is an interface for connecting external devices to the electronic device 1000. For example, the external devices may include a wired or wireless headset port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, etc. The interface unit 1008 may be used to receive input (e.g., data information, power, etc.) from the external device and transmit the received input to one or more elements within the electronic device 1000, or may be used to transmit data between the electronic device 1000 and the external device.
[0182] Memory 1009 can be used to store software programs and various data. Memory 1009 may primarily include a program storage area and a data storage area. The program storage area may store an operating system and at least one application required for a function (such as a sound playback function or an image playback function); the data storage area may store data generated based on the use of the mobile phone (such as audio data, a phone book, etc.). Furthermore, memory 1009 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0183] Processor 1010 is the control center of the electronic device. It connects all parts of the electronic device using various interfaces and circuits. By running or executing software programs and / or modules stored in memory 1009 and accessing data stored in memory 1009, it performs various functions of the electronic device and processes data, thereby providing overall monitoring of the electronic device. Processor 1010 may include one or more processing units; processor 1010 may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into processor 1010.
[0184] The electronic device 1000 may also include a power supply 1011 (such as a battery) to supply power to each component, wherein the power supply 1011 may be logically connected to the processor 1010 through a power management system, thereby realizing functions such as charging, discharging, and power consumption management through the power management system.
[0185] In addition, the electronic device 1000 also includes some functional modules not shown, which will not be described here.
[0186] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.
[0187] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0188] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of this application, ordinary technicians in this field can also make many forms without departing from the purpose of this application and the scope of protection of the claims, all of which are within the protection of this application.
[0189] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the embodiments of this application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0190] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0191] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0192] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0193] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0194] If the functions are implemented in the form of software functional units 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 the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.
[0195] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A method for determining the working range of a robot, characterized in that Including: Constructing a virtual model of the robot in a spatial coordinate system; Obtaining robot motion parameters corresponding to the robot from the virtual model; Performing point position calculations based on the robot motion parameters to obtain a number of motion key points corresponding to the robot, where each motion key point represents the position of the end of the working component of the robot when the motion joints of the robot are in the limit positions; Obtaining a position transformation matrix for the robot, where the position transformation matrix is used to calculate the coordinate values of the end during the motion of the robot; Performing motion control on the robot according to the robot motion parameters, and in response to a first motion of the robot, calculating based on the position transformation matrix and the number of motion key points to draw a curve between the motion key points to obtain a two-dimensional working range corresponding to the robot.
2. The method according to claim 1, wherein The robot motion parameters at least include the limit motion ranges and joint distances of the motion joints in the robot, and the link lengths between different motion joints. The performing point position calculations based on the robot motion parameters to obtain a number of motion key points corresponding to the robot includes: Performing point position calculations using at least one of the limit motion ranges, the joint distances, and the link lengths to obtain a number of motion key points corresponding to the robot.
3. The method according to claim 2, wherein The limit motion ranges include a first limit motion range of a first motion joint and a second limit motion range of a second motion joint. The first limit motion range includes a first positive limit angle and a first negative limit angle, and the second limit motion range includes a second positive limit angle and a second negative limit angle. The performing point position calculations using at least one of the limit motion ranges, the joint distances, and the link lengths to obtain a number of motion key points corresponding to the robot includes: Taking the position of the end when the first motion joint is at the first negative limit angle and the second motion joint is at the second positive limit angle as a first motion key point; Taking the position of the end when the first motion joint is at the first positive limit angle and the second motion joint is at the second positive limit angle as a second motion key point; Calculating a first angle of the second motion joint using the link length and the joint distance; Taking the positions of the end when the first motion joint is at the first positive limit angle and the second motion joint is at the first angle, and when the first motion joint and the second motion joint are collinear as a third motion key point; Taking the positions of the end when the first motion joint is at the first negative limit angle and the second motion joint is at the first angle, and when the first motion joint and the second motion joint are collinear as a fourth motion key point; Taking the position of the end when the first motion joint is at the first negative limit angle and the second motion joint is at the second negative limit angle as a fifth motion key point; Calculating using the second negative limit angle, the link length, and the joint distance to obtain a second angle, and calculating the sum of the second angle and the second negative limit angle to obtain a third angle; When the first movable joint is at the first negative limit angle and the second movable joint is at the third angle, the position where the end is located is used as the sixth movable key point.
4. The method according to claim 1, characterized in that, The robot movement parameters include the first joint movement angle of the first movable joint and the second joint movement angle of the second movable joint in the robot. Controlling the movement of the robot according to the robot movement parameters includes: Controlling the first movable joint to move according to the first joint movement angle, and controlling the second movable joint to move according to the second joint movement angle.
5. The method according to claim 4, characterized in that Responding to the first movement of the robot, calculating according to the position transformation matrix and the several movable key points, and drawing a curve between the movable key points to obtain the two-dimensional working range corresponding to the robot, including: Responding to the first movement of the robot, obtaining the component values of each of the movable key points. The component values include the first component value of the X-axis vector in the space coordinate system, the second component value of the Y-axis vector in the space coordinate system, and the third component value of the Z-axis vector in the space coordinate system; Obtaining the sequence information for the several movable key points, and sequentially inputting the first component value, the second component value, and the third component value corresponding to each of the movable key points into the position transformation matrix according to the sequence information to obtain the first space coordinate value of the end in the space coordinate system during the movement of the robot; Using the first space coordinate value to draw the two-dimensional working range corresponding to the robot.
6. The method according to claim 5, characterized in that The robot movement parameters further include the third joint movement angle of the third movable joint in the robot, and the method further includes: Controlling the first movable joint to move according to the first joint movement angle, controlling the second movable joint to move according to the second joint movement angle, and controlling the third movable joint to move according to the third joint movement angle; Responding to the second movement of the robot, calculating the several movable key points according to the position transformation matrix, and drawing a curve between the movable key points to obtain the three-dimensional working range corresponding to the robot.
7. The method according to claim 6, wherein The responding to the second movement of the robot, calculating the several movable key points according to the position transformation matrix, and drawing a curve between the movable key points to obtain the three-dimensional working range corresponding to the robot, includes: Responding to the second movement of the robot, sequentially inputting the first component value, the second component value, and the third component value corresponding to each of the movable key points into the position transformation matrix according to the sequence information to obtain the second space coordinate value of the end in the space coordinate system during the movement of the robot; Using the second space coordinate value to draw the three-dimensional working range corresponding to the robot.
8. A device for determining the working range of a robot, characterized in that, Including: A model construction module for constructing a virtual model of a robot in a spatial coordinate system; A parameter acquisition module for acquiring robot motion parameters corresponding to the robot from the virtual model; A key point determination module for performing point position calculations based on the robot motion parameters to obtain a plurality of motion key points corresponding to the robot, each of the motion key points representing the position of the end of the working component of the robot when the motion joints of the robot are in the limit positions; A matrix acquisition module for acquiring a position transformation matrix for the robot, the position transformation matrix being used to calculate the coordinate values of the end during the robot motion; A range determination module for controlling the motion of the robot according to the robot motion parameters, and in response to a first motion of the robot, calculating based on the position transformation matrix and the plurality of motion key points to draw a curve between the motion key points to obtain a two-dimensional working range corresponding to the robot.
9. The device according to claim 8, characterized in that, The robot motion parameters at least include the limit motion ranges and joint distances of the motion joints in the robot, and the lengths of the connecting rods between different motion joints. The key point determination module 903 is specifically configured to perform point position calculations using at least one of the limit motion ranges, the joint distances, and the lengths of the connecting rods to obtain a plurality of motion key points corresponding to the robot.
10. The device according to claim 9, characterized in that, The limit motion range includes a first limit motion range of a first motion joint and a second limit motion range of a second motion joint. The first limit motion range includes a first positive limit angle and a first negative limit angle, and the second limit motion range includes a second positive limit angle and a second negative limit angle. The key point determination module 903 is specifically configured to: Take the position of the end when the first motion joint is at the first negative limit angle and the second motion joint is at the second positive limit angle as a first motion key point; Take the position of the end when the first motion joint is at the first positive limit angle and the second motion joint is at the second positive limit angle as a second motion key point; Calculate a first angle of the second motion joint using the length of the connecting rod and the joint distance; Take the position of the end when the first motion joint is at the first positive limit angle and the second motion joint is at the first angle, and when the first motion joint and the second motion joint are collinear as a third motion key point; Take the position of the end when the first motion joint is at the first negative limit angle and the second motion joint is at the first angle, and when the first motion joint and the second motion joint are collinear as a fourth motion key point; Take the position of the end when the first motion joint is at the first negative limit angle and the second motion joint is at the second negative limit angle as a fifth motion key point; Calculations are performed using the second negative limit angle, the connecting rod length, and the joint distance to obtain a second angle, and the sum of the second angle and the second negative limit angle is calculated to obtain a third angle; When the first movable joint is at the first negative limit angle and the second movable joint is at the third angle, the position where the end is located is used as the sixth movable key point.
11. The device according to claim 8, wherein The robot movement parameters include the first joint movement angle of the first movable joint and the second joint movement angle of the second movable joint in the robot. The range determination module 905 is specifically configured to control the first movable joint to move according to the first joint movement angle, and control the second movable joint to move according to the second joint movement angle.
12. The device according to claim 11, characterized in that, The range determination module 905 is specifically configured to: In response to the first movement of the robot, obtain the component values of each of the movement key points. The component values include the first component value of the X-axis vector in the space coordinate system, the second component value of the Y-axis vector in the space coordinate system, and the third component value of the Z-axis vector in the space coordinate system; Obtain the sequence information for the several movement key points, and sequentially input the first component value, the second component value, and the third component value corresponding to each of the movement key points into the position transformation matrix according to the sequence information to obtain the first space coordinate value of the end in the space coordinate system during the movement of the robot; Use the first space coordinate value to draw the two-dimensional working range corresponding to the robot.
13. The device according to claim 12, characterized in that, The robot movement parameters further include the third joint movement angle of the third movable joint in the robot. The device further includes: A control module, configured to control the first movable joint to move according to the first joint movement angle, control the second movable joint to move according to the second joint movement angle, and control the third movable joint to move according to the third joint movement angle; A drawing module, configured to, in response to the second movement of the robot, calculate the several movement key points according to the position transformation matrix, draw a curve between the movement key points, and obtain the three-dimensional working range corresponding to the robot.
14. The device according to claim 13, characterized in that, The drawing module is specifically configured to: In response to the second movement of the robot, sequentially input the first component value, the second component value, and the third component value corresponding to each of the movement key points into the position transformation matrix according to the sequence information to obtain the second space coordinate value of the end in the space coordinate system during the movement of the robot; Use the second space coordinate value to draw the three-dimensional working range corresponding to the robot.
15. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus. Among them, the processor, the communication interface, and the memory complete communication with each other through the communication bus; The memory is used to store a computer program; When the processor is used to execute the program stored in the memory, it implements the method according to any one of claims 1-7.
16. A computer-readable storage medium, characterized in that, Instructions are stored thereon, which, when executed by one or more processors, cause the processors to perform the method according to any one of claims 1-7.
Citation Information
Patent Citations
Novel trajectory planning method for series robot
CN108000501A
Method and device for drawing working space of palletizing robot
CN111596617A
Method and device for obtaining working range of robot
CN112192567A
Method and device for determining working range of six-axis robot
CN112338918A
Method and device for determining operation range of mechanical arm and electronic equipment
CN115741709A