A control method, system and robot for the angle of a bracket based on a robot
Through the intelligent inspection robot, the solar position and photovoltaic panel position are calculated in real time, and the angle of the photovoltaic tracking bracket is automatically adjusted, which solves the problems of low detection efficiency and inaccurate angle of the photovoltaic tracking bracket, and improves the power generation efficiency and detection efficiency.
Patent Information
- Application Number
- CN202311534733.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-17
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2043-11-17
AI Technical Summary
The tracking accuracy detection efficiency of existing photovoltaic tracking brackets is low, the traditional manual detection method is time-consuming and labor-intensive, and the theoretical calculation method fails to consider actual terrain factors, resulting in inaccurate angles, which affects power generation efficiency.
The intelligent patrol robot is adopted to obtain the robot position and GPS data, combine the solar position algorithm to calculate the sun direction vector, and use lidar and camera to obtain the photovoltaic panel position, calculate the optimal tracking angle, and control the bracket adjustment.
Automatic and accurate photovoltaic tracking bracket angle adjustment is achieved, which improves power generation efficiency, reduces labor costs, reduces terrain impact, and improves detection efficiency.
Smart Images

Figure CN117519301B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of photovoltaic power generation, and more specifically, to a method, system, and robot for controlling a robot-based bracket angle. Background Art
[0002] Tracking accuracy of photovoltaic trackers is a key indicator for evaluating tracking performance. Currently, the most commonly used method for testing tracking accuracy is to use precision measuring instruments, such as laser rangefinders, angle measuring instruments, or specialized devices, to measure the position and angle of the trackers to assess their accuracy. However, manual testing methods are labor-intensive and inefficient due to objective factors.
[0003] As the scale of photovoltaic power plants continues to expand, traditional manual inspection methods are becoming increasingly inefficient. Therefore, automated tracking bracket accuracy testing has become an urgent need. While some theoretical methods exist on the market to calculate accuracy, these methods often suffer from issues such as inaccurate angle calculations due to a failure to consider actual terrain. Consequently, the tracking angle of a single tracking bracket remains inaccurate, hindering the tracking system's full power generation capacity. Summary of the Invention
[0004] In order to solve the above technical problems, the present application provides a control method, system and robot based on the robot's bracket angle. With the help of the intelligent inspection robot, the difference between the current bracket's tracking angle and the optimal tracking angle is calculated through its detection image and actual tilt angle, thereby evaluating the tracking performance of the current tracking bracket and enabling the tracking bracket to achieve precise tracking.
[0005] Specifically, the technical solutions of this application are as follows:
[0006] In a first aspect, the present application discloses a method for controlling a support angle based on a robot, which is executed by the robot and comprises the following steps:
[0007] Obtain the current position of the robot in the global coordinate system; obtain the GPS data of the robot; obtain current time data; use the current time data and the GPS data of the robot to calculate the solar position data using the SPA (SPA: Solar Position Algorithm, solar position algorithm) model; the solar position data includes the solar altitude angle and the solar azimuth angle;
[0008] Calculating the position coordinates of the sun in the global coordinate system using the solar altitude angle and the solar azimuth angle; converting the position coordinates of the sun in the global coordinate system into a Cartesian coordinate system based on the robot to obtain a current direction vector of the sun in the Cartesian coordinate system;
[0009] Acquire a depth image of the photovoltaic tracking panel by using a laser radar and a camera provided on the robot, thereby acquiring a position of the photovoltaic tracking panel relative to the robot;
[0010] Combining the posture of the robot in the global coordinate system and the posture of the photovoltaic tracking panel relative to the robot, the posture and normal vector of the photovoltaic tracking panel in the global coordinate system are calculated; the normal vector represents the orientation of the surface of the photovoltaic tracking panel and is used to determine the optimal angle of the photovoltaic tracking panel;
[0011] According to the direction vector of the sun and the optimal angle of the photovoltaic tracking panel, the robot sends instructions to control the tracking bracket to adjust to the optimal angle.
[0012] In some embodiments, the coordinates (x1, y1, z1) are used to represent the current position of the robot in the global coordinate system; (roll1, pitch1, yaw1) are used to represent the current posture of the robot in the global coordinate system;
[0013] Azi is used to represent the azimuth angle of the sun; Alt is used to represent the altitude angle of the sun.
[0014] In some embodiments, (x, y, z) is used to represent the position coordinates of the sun in the global coordinate system;
[0015] x=cos(Alt)*sin(Azi)
[0016] y=cos(Alt)*cos(Azi)
[0017] z=sin(Alt)
[0018] Wherein, Azi represents the azimuth angle of the sun; Alt represents the altitude angle of the sun;
[0019] Use S = [S1, S2, S3] to represent the direction vector of the sun in the Cartesian coordinate system;
[0020] S1=x*cos(Latitude)*cos(LST)-y*sin(Latitude)+z*cos(Latitude)*sin(LST)
[0021] S2=x*sin(LST)+y*cos(LST)
[0022] S3=-x*sin(Latitude)*cos(LST)+y*sin(Latitude)*sin(LST)+z*cos(Latitude)
[0023] Among them, Latitude represents latitude, and LST represents the hour angle corresponding to the local standard time.
[0024] In some embodiments, the step of obtaining a depth image of the photovoltaic tracking panel by using a laser radar and a camera provided on the robot, thereby obtaining a position of the photovoltaic tracking panel relative to the robot, specifically includes the following sub-steps:
[0025] Capturing a depth image of the photovoltaic tracking panel using the laser radar and the camera, segmenting the depth image to obtain a panel area in the depth image, estimating a normal vector of the panel area as (n_x, n_y, n_z); and estimating the coordinates of a point on the photovoltaic tracking panel as (p_x, p_y, p_z);
[0026] According to the intrinsic parameter matrix of the depth image, (u, v) is used to represent the pixel coordinates; the depth value of the depth image is converted into the three-dimensional coordinates (x_c, y_c, z_c) in the camera coordinate system;
[0027] According to the extrinsic parameter matrix of the camera, the point (x_c, y_c, z_c) in the camera coordinate system is converted to the point (x_g, y_g, z_g) in the robot coordinate system;
[0028] Convert the coordinates (p_x, p_y, p_z) of the point on the photovoltaic tracking panel to a point (p_g_x, p_g_y, p_g_z) in the robot coordinate system;
[0029] According to the plane point coordinates (p_g_x, p_g_y, p_g_z) and normal vector (n_x, n_y, n_z) in the robot coordinate system, the position (x2, y2, z2) and posture (roll2, pitch2, yaw2) of the photovoltaic tracking panel in the robot coordinate system are estimated using the least squares method.
[0030] In some embodiments, the step of calculating the pose and normal vector of the photovoltaic tracking panel in the global coordinate system by combining the pose of the robot in the global coordinate system with the pose of the photovoltaic tracking panel relative to the robot comprises the following steps:
[0031] Construct the robot's transformation matrix T_robot_global using the robot's position (x1, y1, z1) and posture (roll1, pitch1, yaw1) in the global coordinate system;
[0032] The position (x2, y2, z2) and posture (roll2, pitch2, yaw2) of the photovoltaic tracking panel in the robot coordinate system are converted to the global coordinate system, and the position and posture of the photovoltaic tracking panel in the global coordinate system are obtained as follows:
[0033] P_global=T_robot_global*P_robot
[0034] R_global=T_robot_global*R_robot
[0035] Wherein, T_robot_global is the transformation matrix of the robot; P_robot = [x2, y2, z2, 1] is the position vector of the photovoltaic tracking panel in the robot coordinate system; R_robot is the rotation matrix of the photovoltaic tracking panel in the robot coordinate system;
[0036] The normal vector of the photovoltaic tracking panel in the global coordinate system is represented by the column vector of the rotation matrix R_global, and the third column of the rotation matrix R_global is selected as the normal vector of the photovoltaic tracking panel in the global coordinate system: N=[r_31, r_32, r_33].
[0037] In some embodiments, the robot's transformation matrix T_robot_global is calculated using the following formula:
[0038] Translation vector: translation(x1, y1, z1) = [[1, 0, 0, x1]
[0039] [0, 1, 0, y1]
[0040] [0, 0, 1, z1]
[0041] [0, 0, 0, 1]]
[0042] Rotate the vector around the x-axis: R_x = [[1, 0, 0, 0]
[0043] [0, cos(roll1), -sin(roll1), 0]
[0044] [0, sin(roll1), cos(roll1), 0]
[0045] [0, 0, 0, 1]]
[0046] Rotate the vector around the y-axis: R_y = [[cos(pitch1), 0, sin(pitch1), 0]
[0047] [0, 1, 0, 0]
[0048] [-sin(pitch1),0,cos(pitch1),0]
[0049] [0, 0, 0, 1]]
[0050] Rotate the vector around the z-axis: R_z = [[cos(yaw1), -sin(yaw1), 0, 0]
[0051] [sin(yaw1), cos(yaw1), 0, 0]
[0052] [0, 0, 1, 0]
[0053] [0, 0, 0, 1]]
[0054] Rotation matrix: rotation(roll1, pitch1, yaw1) = R_x*R_y*R_z
[0055] Robot transformation matrix: T_robot_global = translation(x1, y1, z1)*rotation(roll1, pitch1, yaw1).
[0056] In some embodiments, the optimal angle θ of the photovoltaic tracking panel is calculated by the following formula:
[0057] dot_product(S,N)=S1*r_31+S2*r_32+S3*r_33
[0058] θ=arccos(dot_product(S,N))
[0059] Wherein, dot_product(S, N) represents the dot product of the sun direction vector S and the normal vector N of the photovoltaic tracking panel.
[0060] In some embodiments, the robot sending instructions to control the tracking bracket to adjust to the optimal angle based on the direction vector of the sun and the optimal angle of the photovoltaic tracking panel further includes the steps of:
[0061] If the current angle of the tracking bracket is not equal to the optimal angle, a control instruction is sent to the control system of the tracking bracket to control the angle of the tracking bracket so that the tracking bracket is adjusted to the optimal angle.
[0062] In a second aspect, the present application further discloses a control system based on the support angle of a robot, characterized by comprising:
[0063] The data acquisition module is used to obtain the current position and posture of the robot in the global coordinate system; obtain the GPS data of the robot; and obtain the current time data;
[0064] A solar positioning module, configured to calculate solar position data using the SPA model with the aid of the current time data and the GPS data of the robot; the solar position data including the solar altitude angle and the solar azimuth angle;
[0065] a coordinate conversion module, configured to calculate the position coordinates of the sun in the global coordinate system using the solar altitude angle and the solar azimuth angle; convert the position coordinates of the sun in the global coordinate system into a Cartesian coordinate system based on the robot, and obtain a current direction vector of the sun in the Cartesian coordinate system;
[0066] A photovoltaic tracking panel measurement module is used to obtain a depth image of the photovoltaic tracking panel through a laser radar and a camera provided on the robot, thereby obtaining a position of the photovoltaic tracking panel relative to the robot;
[0067] a posture calculation module, configured to combine the posture of the robot in the global coordinate system with the posture of the photovoltaic tracking panel relative to the robot to calculate the posture and normal vector of the photovoltaic tracking panel in the global coordinate system; the normal vector represents the orientation of the surface of the photovoltaic tracking panel and is used to determine the optimal angle of the photovoltaic tracking panel;
[0068] The angle calculation module is used to control the robot to send instructions to control the tracking bracket to adjust to the optimal angle based on the direction vector of the sun and the optimal angle of the photovoltaic tracking panel.
[0069] The information interaction module is used to send control instructions to the control system of the tracking bracket to control the angle of the tracking bracket so that the tracking bracket is adjusted to an optimal angle.
[0070] In a third aspect, the present application further discloses a mobile intelligent inspection robot for photovoltaic power stations, characterized in that it includes at least a control system based on the robot's bracket angle as described in the above embodiment.
[0071] Compared with the prior art, this application has at least one of the following beneficial effects:
[0072] 1. This application uses a model to calculate the position of the sun and the sun direction vector in real time, obtains the real-time position of the photovoltaic tracking panel through the robot, and then converts the panel position photographed by the robot camera into the global coordinate system. There is no need for the tracking bracket or photovoltaic panel to feedback information to the robot, making the calculation of the optimal angle of the tracking bracket more accurate.
[0073] 2. This application eliminates the influence of the inclination between the ground surface where the tracking bracket is located and the horizontal plane on the angle calculation results by converting between the camera coordinate system, the robot coordinate system, and the global coordinate system. The calculation process of the tracking bracket's optimal angle is not affected by the terrain, and the tracking performance of the tracking bracket can be quickly evaluated.
[0074] 3. The entire measurement, calculation, evaluation, and adjustment process requires no human intervention, reducing labor costs and improving work efficiency. Automated evaluation and adjustment of the tracking angle can also adjust the tracking bracket to the optimal angle for power generation in real time, increasing the power generation of the photovoltaic power station. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] The preferred implementation scheme will be described below in a clear and understandable manner with reference to the accompanying drawings to further illustrate the above-mentioned characteristics, technical features, advantages and implementation methods of the present application.
[0076] Figure 1 A flowchart of the steps of a method embodiment of the present application;
[0077] Figure 2 Schematic diagram of the scenario provided for this application;
[0078] Figure 3 This is a structural block diagram of a system embodiment of the present application. DETAILED DESCRIPTION
[0079] In the following description, specific details such as specific system structures and technologies are provided for illustration rather than limitation to facilitate a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid obstructing the description of the present application with unnecessary details.
[0080] It will be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of the described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or collections.
[0081] To simplify the drawings, only portions relevant to the invention are schematically depicted in each figure; they do not represent the actual structure of the product. Furthermore, to simplify the drawings and facilitate understanding, in some figures, only one component with the same structure or function is schematically depicted or labeled. In this document, "one" not only means "only one" but also "more than one."
[0082] It should be further understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
[0083] It should be noted that, unless otherwise specified or limited, the terms "mounted," "connected," and "connected" should be understood broadly. For example, they can refer to fixed, removable, or integral connections; mechanical or electrical connections; direct or indirect connections through an intermediary; and internal communication between two components. Those skilled in the art will understand the specific meanings of these terms in this application based on the specific circumstances.
[0084] In addition, in the description of the present application, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0085] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the specific implementation methods of the present application will be described below with reference to the accompanying drawings. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings and other implementation methods can be obtained based on these drawings without inventive work.
[0086] Because the sun's angle of radiation is constantly changing, traditional fixed photovoltaic panels have low power generation efficiency. This is why photovoltaic tracking systems are no longer fixed at a fixed angle. Instead, they follow the sun like a sunflower, increasing the amount of solar radiation received and thus boosting the overall power generation of the power plant.
[0087] While photovoltaic tracking systems allow for continuous adjustment of the panels' angle, many power plants are built in relatively harsh environments. Uneven terrain, frequent sandstorms, rain, and snow create challenges for power plant operation and maintenance. Photovoltaic tracking systems are susceptible to the effects of terrain, weather, and component aging. Over time, these systems can experience problems such as motor and controller misalignment, rotation system failure, and bearing slippage. This can lead to the inability of the photovoltaic tracker to accurately adjust its angle. Failures can negatively impact the solar photovoltaic system's power generation and reduce efficiency.
[0088] Reference Manual Figure 1 , an embodiment of a control method based on the support angle of a robot provided in the present application includes the following steps: S100, obtaining the current position and posture of the robot in the global coordinate system; obtaining the GPS data of the robot; obtaining the current time data.
[0089] Specifically, the robot's position and posture are obtained using a positioning device installed on the robot itself. The position and posture consist of position and posture. In this embodiment, the coordinates (x1, y1, z1) are used to represent the current position of the robot in the global coordinate system, and (roll1, pitch1, yaw1) are used to represent the current posture of the robot in the global coordinate system.
[0090] The GPS coordinates of the current location are obtained through the GPS receiver installed on the robot. GPS coordinates can be expressed as longitude and latitude on the earth.
[0091] The robot's own time system is used to obtain the current time data in real time, including the current date and time.
[0092] S200, using the current time data and the GPS data of the robot, using the SPA model to calculate the sun position data; the sun position data includes the sun altitude angle and the sun azimuth angle.
[0093] Specifically, using a deep learning model to predict the sun's position at a specific moment is a relatively existing technology. The model needs to be trained and tested before use to ensure the accuracy of the model's prediction results. In this embodiment, the SPA model is used for prediction. Similarly, in another embodiment, using other existing models to predict the sun's position is also within the scope of protection of this application.
[0094] S300, using the solar altitude angle and the solar azimuth angle, calculate the position coordinates of the sun in the global coordinate system; convert the position coordinates of the sun in the global coordinate system into a Cartesian coordinate system based on the robot, and obtain the current direction vector of the sun in the Cartesian coordinate system.
[0095] For details, please refer to the attached manual. Figure 2 , Figure 2A schematic diagram of the global scene is provided. As can be seen in the figure, there is an inclination between the ground where the robot is located and the horizontal plane, and the coordinate system with the robot itself as the origin is the robot coordinate system. The coordinate system including the robot, tracking bracket, and sun is a schematic diagram of the global coordinate system. More preferably, the global coordinate system can include the entire photovoltaic array, or the entire photovoltaic power plant. The origin position of the global coordinate system can be determined according to the actual position. In the global coordinate system, the azimuth of the sun represents the direction of the sun relative to the north, generally with 0 degrees in the south, 90 degrees in the east, and -90 degrees in the west. The altitude angle of the sun represents the angle of the sun relative to the horizon, with 0 degrees indicating on the horizon and 90 degrees indicating at the zenith. Azi is used to represent the azimuth angle of the sun; Alt is used to represent the altitude angle of the sun. In the global coordinate system, (x, y, z) can be used to represent the position coordinates of the sun in the global coordinate system.
[0096] x=cos(Alt)*sin(Azi)
[0097] y=cos(Alt)*cos(Azi)
[0098] z=sin(Alt)
[0099] Wherein, Azi represents the azimuth angle of the sun; Alt represents the altitude angle of the sun.
[0100] Furthermore, we transform the sun's direction vector in the horizontal coordinate system into a Cartesian coordinate system based on the robot. Assume that the Earth's equatorial plane is the XY plane, with the Z axis perpendicular to the equator and facing north. Based on the definition of the geographic coordinate system, we transform the sun's direction vector in the horizontal coordinate system into a Cartesian coordinate system based on the robot. The sun's direction vector in the Cartesian coordinate system based on the robot is S = [S1, S2, S3].
[0101] S1=x*cos(Latitude)*cos(LST)-y*sin(Latitude)+z*cos(Latitude)*sin(LST)
[0102] S2=x*sin(LST)+y*cos(LST)
[0103] S3=-x*sin(Latitude)*cos(LST)+y*sin(Latitude)*sin(LST)+z*cos(Latitude)
[0104] Among them, Latitude represents the latitude of the robot, and LST represents the hour angle corresponding to the local standard time (Local Standard Time).
[0105] S400 , obtaining a depth image of the photovoltaic tracking panel by using a laser radar and a camera provided on the robot, thereby obtaining a position of the photovoltaic tracking panel relative to the robot.
[0106] Specifically, executing S400 includes the following sub-steps:
[0107] S410: Capture a depth image of the photovoltaic tracking panel using the laser radar and the camera. Segment the depth image to obtain a panel region in the depth image, estimate the normal vector of the panel region as (n_x, n_y, n_z), and estimate the coordinates of a point on the photovoltaic tracking panel as (p_x, p_y, p_z).
[0108] A better approach is to use a depth image, also known as a range image. This image uses the distance (depth) from the image collector to each point in the scene as its pixel value. It directly reflects the geometry of the visible surface of the scene. Depth images can be converted into point cloud data through coordinate transformation. Point cloud data with regularity and necessary information can also be reverse-calculated into depth image data.
[0109] S420, according to the intrinsic parameter matrix of the depth image, use (u, v) to represent the coordinates of each pixel point in the depth image; and convert the depth value of the depth image into three-dimensional coordinates (x_c, y_c, z_c) in the camera coordinate system.
[0110] S430 , converting the point (x_c, y_c, z_c) in the camera coordinate system into the point (x_g, y_g, z_g) in the robot coordinate system according to the extrinsic parameter matrix of the camera.
[0111] S440, converting the coordinates (p_x, p_y, p_z) of the point on the photovoltaic tracking panel into a point (p_g_x, p_g_y, p_g_z) in the robot coordinate system
[0112] S450, based on the plane point coordinates (p_g_x, p_g_y, p_g_z) and normal vector (n_x, n_y, n_z) in the robot coordinate system, use the least squares method to estimate the position (x2, y2, z2) and posture (roll2, pitch2, yaw2) of the photovoltaic tracking panel in the robot coordinate system.
[0113] S500, combining the posture of the robot in the global coordinate system and the posture of the photovoltaic tracking panel relative to the robot, calculate the posture and normal vector of the photovoltaic tracking panel in the global coordinate system; the normal vector represents the orientation of the surface of the photovoltaic tracking panel and is used to determine the optimal angle of the photovoltaic tracking panel.
[0114] Specifically, step S500 includes the following sub-steps:
[0115] S510 , constructing a transformation matrix T_robot_global of the robot using the position (x1, y1, z1) and posture (roll1, pitch1, yaw1) of the robot in the global coordinate system.
[0116] The robot's transformation matrix T_robot_global is calculated using the following formula:
[0117] Translation vector: translation(x1, y1, z1) = [[1, 0, 0, x1]
[0118] [0, 1, 0, y1]
[0119] [0, 0, 1, z1]
[0120] [0, 0, 0, 1]]
[0121] Rotate the vector around the x-axis: R_x = [[1, 0, 0, 0]
[0122] [0, cos(roll1), -sin(roll1), 0]
[0123] [0, sin(roll1), cos(roll1), 0]
[0124] [0, 0, 0, 1]]
[0125] Rotate the vector around the y-axis: R_y = [[cos(pitch1), 0, sin(pitch1), 0]
[0126] [0, 1, 0, 0]
[0127] [-sin(pitch1),0,cos(pitch1),0]
[0128] [0, 0, 0, 1]]
[0129] Rotate the vector around the z-axis: R_z = [[cos(yaw1), -sin(yaw1), 0, 0]
[0130] [sin(yaw1), cos(yaw1), 0, 0]
[0131] [0, 0, 1, 0]
[0132] [0, 0, 0, 1]]
[0133] Rotation matrix: rotation(roll1, pitch1, yaw1) = R_x*R_y*R_z
[0134] Robot transformation matrix: T_robot_global = translation(x1, y1, z1)*rotation(roll1, pitch1, yaw1).
[0135] S520, converting the position (x2, y2, z2) and posture (roll2, pitch2, yaw2) of the photovoltaic tracking panel in the robot coordinate system to the global coordinate system, and obtaining the position and posture of the photovoltaic tracking panel in the global coordinate system as follows:
[0136] P_global=T_robot_global*P_robot
[0137] R_global=T_robot_global*R_robot
[0138] Among them, T_robot_global is the transformation matrix of the robot; P_robot = [x2, y2, z2, 1] is the position vector of the photovoltaic tracking panel in the robot coordinate system; R_robot is the rotation matrix of the photovoltaic tracking panel in the robot coordinate system.
[0139] S530 , the normal vector of the photovoltaic tracking panel in the global coordinate system is represented by the column vector of the rotation matrix R_global, and the third column [r_31, r_32, r_33] of the R_global matrix is selected as the normal vector of the photovoltaic tracking panel in the global coordinate system: N=[r_31, r_32, r_33].
[0140] S600: According to the direction vector of the sun and the optimal angle of the photovoltaic tracking panel, the robot sends an instruction to control the tracking bracket to adjust to the optimal angle.
[0141] Specifically, the optimal angle θ of the photovoltaic tracking panel is calculated by the following formula:
[0142] dot_product(S,N)=S1*r_31+S2*r_32+S3*r_33
[0143] θ=arccos(dot_product(S,N))
[0144] Wherein, dot_product(S, N) represents the dot product of the sun direction vector S and the normal vector N of the photovoltaic tracking panel.
[0145] Another embodiment of a robot-based support angle control method provided herein includes, after step S600, further comprising: S700, if the current angle is not equal to the optimal angle, sending a control instruction to a control system of the tracking support to control the angle of the tracking support so that the tracking support is adjusted to the optimal angle.
[0146] Specifically, after evaluating the tracking angle of the tracking bracket, the angle of the tracking bracket can be adjusted as needed. In one implementation of this embodiment, the following sub-steps are performed:
[0147] S701: Determine whether the current angle is equal to the optimal angle.
[0148] S702: If yes, it means that the tracking bracket is operating normally and no adjustment is required.
[0149] S703: If not, it means that the tracking bracket is operating abnormally, and the tracking bracket is controlled to be adjusted to the optimal angle.
[0150] In another implementation of this embodiment, the following sub-steps are performed:
[0151] S701: Determine whether the tracking accuracy is greater than the target accuracy.
[0152] S702: If yes, it means that the tracking bracket is operating normally and no adjustment is required.
[0153] If not, it means that the tracking bracket is operating abnormally and needs to be controlled to adjust the tracking bracket to the optimal angle, or the abnormal situation is reported to a higher-level client for feedback.
[0154] Based on the same technical concept, the present application also discloses a control system based on the support angle of the robot, which can be used to implement any of the above-mentioned control methods based on the support angle of the robot. Specifically, an embodiment of the control system based on the support angle of the robot of the present application is shown in the attached specification. Figure 3 Shown, including:
[0155] The data acquisition module 10 is used to obtain the current position and posture of the robot in the global coordinate system, obtain the GPS data of the robot, and obtain the current time data.
[0156] Specifically, the data acquisition module 10 includes at least the following submodules: a robot pose acquisition submodule 11, which is configured to acquire the robot's pose using a positioning device installed on the robot. The pose consists of position and posture. In this embodiment, the coordinates (x1, y1, z1) are used to represent the robot's current position in the global coordinate system; and (roll1, pitch1, yaw1) are used to represent the robot's current posture in the global coordinate system.
[0157] The GPS positioning submodule 12 is used to obtain the GPS coordinates of the current position through a GPS receiver installed in the robot. The GPS coordinates can be expressed as longitude and latitude on the earth.
[0158] The time recording submodule 13 is used to obtain the current time data in real time through the time system set in the robot itself, wherein the time data includes the current date and time.
[0159] The solar positioning module 20 is configured to calculate solar position data using the SPA model with the help of the current time data and the GPS data of the robot. The solar position data includes the solar altitude angle and the solar azimuth angle.
[0160] Specifically, using a deep learning model to predict the sun's position at a specific moment is a relatively existing technology. The model needs to be trained and tested before use to ensure the accuracy of the model's prediction results. In this embodiment, the SPA model is used for prediction. Similarly, in another embodiment, using other existing models to predict the sun's position is also within the scope of protection of this application.
[0161] The coordinate conversion module 30 is configured to calculate the position coordinates of the sun in the global coordinate system using the solar altitude angle and the solar azimuth angle. The coordinates of the sun in the global coordinate system are converted into a Cartesian coordinate system based on the robot to obtain a current direction vector of the sun in the Cartesian coordinate system.
[0162] For details, please refer to the attached manual. Figure 2 , Figure 2A schematic diagram of the global scene is provided. As can be seen in the figure, there is an inclination between the ground where the robot is located and the horizontal plane, and the coordinate system with the robot itself as the origin is the robot coordinate system. The coordinate system including the robot, tracking bracket, and sun is a schematic diagram of the global coordinate system. More preferably, the global coordinate system can include the entire photovoltaic array, or the entire photovoltaic power plant. The origin position of the global coordinate system can be determined according to the actual position. In the global coordinate system, the azimuth of the sun represents the direction of the sun relative to the north, generally with 0 degrees in the south, 90 degrees in the east, and -90 degrees in the west. The altitude angle of the sun represents the angle of the sun relative to the horizon, with 0 degrees indicating on the horizon and 90 degrees indicating at the zenith. Azi is used to represent the azimuth angle of the sun; Alt is used to represent the altitude angle of the sun. In the global coordinate system, (x, y, z) can be used to represent the position coordinates of the sun in the global coordinate system.
[0163] x=cos(Alt)*sin(Azi)
[0164] y=cos(Alt)*cos(Azi)
[0165] z=sin(Alt)
[0166] Wherein, Azi represents the azimuth angle of the sun; Alt represents the altitude angle of the sun.
[0167] Furthermore, the sun's direction vector in the horizontal coordinate system is converted to a Cartesian coordinate system based on the robot. Assume that the Earth's equatorial plane is the XY plane, with the Z axis perpendicular to the equator and facing north. Based on the definition of the geographic coordinate system, the sun's direction vector in the horizontal coordinate system is converted to a Cartesian coordinate system based on the robot. The sun's direction vector in this Cartesian coordinate system is S = [S1, S2, S3].
[0168] S1=x*cos(Latitude)*cos(LST)-y*sin(Latitude)+z*cos(Latitude)*sin(LST)
[0169] S2=x*sin(LST)+y*cos(LST)
[0170] S3=-x*sin(Latitude)*cos(LST)+y*sin(Latitude)*sin(LST)+z*cos(Latitude)
[0171] Among them, Latitude represents the latitude of the robot, and LST represents the hour angle corresponding to the local standard time (Local Standard Time).
[0172] The photovoltaic tracking panel measurement module 40 is used to obtain a depth image of the photovoltaic tracking panel through the laser radar and camera provided on the robot, thereby obtaining the position and posture of the photovoltaic tracking panel relative to the robot.
[0173] Specifically, the photovoltaic tracking panel measurement module 40 includes at least the following submodules:
[0174] The camera module 41 is configured to capture a depth image of the photovoltaic tracking panel using the laser radar and the camera.
[0175] The image segmentation submodule 42 is used to segment the depth image, obtain the panel area in the depth image, estimate the normal vector of the panel area as (n_x, n_y, n_z); and estimate the coordinates of a point on the photovoltaic tracking panel as (p_x, p_y, p_z).
[0176] A better approach is to use a depth image, also known as a range image. This image uses the distance (depth) from the image collector to each point in the scene as its pixel value. It directly reflects the geometry of the visible surface of the scene. Depth images can be converted into point cloud data through coordinate transformation. Point cloud data with regularity and necessary information can also be reverse-calculated into depth image data.
[0177] The depth value conversion submodule 43 is used to use (u, v) to represent the coordinates of each pixel point in the depth image according to the intrinsic parameter matrix of the depth image; and convert the depth value of the depth image into three-dimensional coordinates (x_c, y_c, z_c) in the camera coordinate system.
[0178] The coordinate point conversion submodule 44 is used to convert the point (x_c, y_c, z_c) in the camera coordinate system into the point (x_g, y_g, z_g) in the robot coordinate system according to the external parameter matrix of the camera, and also includes converting the coordinates (p_x, p_y, p_z) of the point on the photovoltaic tracking panel into the point (p_g_x, p_g_y, p_g_z) in the robot coordinate system.
[0179] The posture estimation submodule 45 is used to estimate the position (x2, y2, z2) and posture (roll2, pitch2, yaw2) of the photovoltaic tracking panel in the robot coordinate system based on the plane point coordinates (p_g_x, p_g_y, p_g_z) and normal vector (n_x, n_y, n_z) in the robot coordinate system using the least squares method.
[0180] The pose calculation module 50 is configured to combine the robot's pose in the global coordinate system with the pose of the photovoltaic tracking panel relative to the robot to calculate the pose and normal vector of the photovoltaic tracking panel in the global coordinate system. The normal vector represents the orientation of the photovoltaic tracking panel surface and is used to determine the optimal angle of the photovoltaic tracking panel.
[0181] Specifically, the posture calculation module 50 includes at least the following submodules:
[0182] The transformation matrix submodule 51 is used to construct the robot's transformation matrix T_robot_global using the robot's position (x1, y1, z1) and posture (roll1, pitch1, yaw1) in the global coordinate system.
[0183] In one implementation of this embodiment, the transformation matrix T_robot_global of the robot is calculated using the following formula:
[0184] Translation vector: translation(x1, y1, z1) = [[1, 0, 0, x1]
[0185] [0, 1, 0, y1]
[0186] [0, 0, 1, z1]
[0187] [0, 0, 0, 1]]
[0188] Rotate the vector around the x-axis: R_x = [[1, 0, 0, 0]
[0189] [0, cos(roll1), -sin(roll1), 0]
[0190] [0, sin(roll1), cos(roll1), 0]
[0191] [0, 0, 0, 1]]
[0192] Rotate the vector around the y-axis: R_y = [[cos(pitch1), 0, sin(pitch1), 0]
[0193] [0, 1, 0, 0]
[0194] [-sin(pitch1),0,cos(pitch1),0]
[0195] [0, 0, 0, 1]]
[0196] Rotate the vector around the z-axis: R_z = [[cos(yaw1), -sin(yaw1), 0, 0]
[0197] [sin(yaw1), cos(yaw1), 0, 0]
[0198] [0, 0, 1, 0]
[0199] [0, 0, 0, 1]]
[0200] Rotation matrix: rotation(roll1, pitch1, yaw1) = R_x*R_y*R_z
[0201] Robot transformation matrix: T_robot_global = translation(x1, y1, z1)*rotation(roll1, pitch1, yaw1).
[0202] The posture conversion submodule 52 is used to convert the position (x2, y2, z2) and posture (roll2, pitch2, yaw2) of the photovoltaic tracking panel in the robot coordinate system to the global coordinate system, and obtain the position and posture of the photovoltaic tracking panel in the global coordinate system as follows:
[0203] P_global=T_robot_global*P_robot
[0204] R_global=T_robot_global*R_robot
[0205] Among them, T_robot_global is the transformation matrix of the robot; P_robot = [x2, y2, z2, 1] is the position vector of the photovoltaic tracking panel in the robot coordinate system; R_robot is the rotation matrix of the photovoltaic tracking panel in the robot coordinate system.
[0206] The normal vector conversion submodule 53 is used to represent the normal vector of the photovoltaic tracking panel in the global coordinate system by the column vector of the rotation matrix R_global. The third column [r_31, r_32, r_33] of the R_global matrix is selected as the normal vector of the photovoltaic tracking panel in the global coordinate system: N = [r_31, r_32, r_33].
[0207] The angle calculation module 60 is used to control the robot to send instructions to control the tracking bracket to adjust to the optimal angle according to the direction vector of the sun and the optimal angle of the photovoltaic tracking panel.
[0208] Specifically, the optimal angle θ of the photovoltaic tracking panel is calculated by the following formula:
[0209] dot_product(S,N)=S1*r_31+S2*r_32+S3*r_33
[0210] θ=arccos(dot_product(S,N))
[0211] Wherein, dot_product(S, N) represents the dot product of the sun direction vector S and the normal vector N of the photovoltaic tracking panel.
[0212] In another system embodiment provided herein, based on the aforementioned system embodiment, the control system based on the robot's support angle further includes an information interaction module 70 for signal communication with the tracking support controller and a host computer. In this embodiment, the angle calculation module 60 is further configured to determine whether the current angle is equal to the optimal angle.
[0213] If yes, the tracking bracket is functioning properly and no adjustments are needed.
[0214] If not, it means that the tracking bracket is operating abnormally, and the information interaction module 70 sends a control instruction to the control system of the tracking bracket to control the angle of the tracking bracket so that the tracking bracket is adjusted to the optimal angle.
[0215] In another implementation of the above embodiment, the angle calculation module 60 is further configured to determine whether the tracking accuracy is greater than the target accuracy.
[0216] If yes, the tracking bracket is functioning properly and no adjustments are needed.
[0217] If not, it means that the tracking bracket is operating abnormally and needs to be controlled to adjust to the optimal angle. The information exchange module 70 is also used to feed back the tracking accuracy calculation result of each tracking bracket to a higher-level management device.
[0218] Based on the same concept, this application also discloses a mobile photovoltaic power station intelligent inspection robot, which includes at least the robot's support angle control system described in the above system embodiment. Preferably, the mobile photovoltaic power station intelligent inspection robot is configured to implement the robot's support angle control method described in any of the above method embodiments.
[0219] The mobile photovoltaic power station intelligent inspection robot includes all modules of the aforementioned control system based on the robot's support angle. It also includes a mobile module and a main control module for controlling the robot's operations. The main control module is electrically or signal-connected to the other modules to coordinate the actions of the other modules. The other modules operate collaboratively under the control of the main control module. The mobile module is used to drive the robot to a designated location.
[0220] The present application discloses a control method, system and robot based on the support angle of a robot having the same technical concept. The technical details of the three embodiments are applicable to each other and will not be described in detail here to reduce repetition.
[0221] Those skilled in the art will clearly understand that, for the sake of convenience and brevity of description, only the division of the above-mentioned program modules is used as an example for illustration. In actual applications, the above-mentioned functions can be assigned to different program modules as needed, that is, the internal structure of the device can be divided into different program units or modules to complete all or part of the functions described above. The program modules in the embodiment can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one processing unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software program unit. In addition, the specific names of the program modules are only for the purpose of distinguishing each other and are not used to limit the scope of protection of this application.
[0222] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0223] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein 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 beyond the scope of this application.
[0224] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. Exemplarily, the device embodiments described above are merely schematic. Exemplarily, the division of the modules or units is merely a logical function division. There may be other division methods in actual implementation. Exemplarily, 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, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
[0225] 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, and 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 as needed.
[0226] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0227] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present application.
[0228] Obviously, those skilled in the art may make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is intended to include these modifications and variations.
Claims
1. A method for controlling the angle of a robot support, characterized in that: The following steps are involved: Obtain the current position of the robot in the global coordinate system; obtain the GPS data of the robot; obtain the current time data; Calculating solar position data using the SPA model with the help of the current time data and the GPS data of the robot; the solar position data includes solar altitude angle and solar azimuth angle; Calculating the position coordinates of the sun in the global coordinate system using the solar altitude angle and the solar azimuth angle; converting the position coordinates of the sun in the global coordinate system into a Cartesian coordinate system based on the robot to obtain a current direction vector of the sun in the Cartesian coordinate system; Acquire a depth image of the photovoltaic tracking panel by using a laser radar and a camera provided on the robot, thereby acquiring a position of the photovoltaic tracking panel relative to the robot; Combining the posture of the robot in the global coordinate system and the posture of the photovoltaic tracking panel relative to the robot, the posture and normal vector of the photovoltaic tracking panel in the global coordinate system are calculated; the normal vector represents the orientation of the surface of the photovoltaic tracking panel and is used to determine the optimal angle of the photovoltaic tracking panel; According to the direction vector of the sun and the optimal angle of the photovoltaic tracking panel, the robot sends instructions to control the tracking bracket to adjust to the optimal angle.
2. The method for controlling the angle of a robot-based support according to claim 1, wherein: The coordinates (x1, y1, z1) are used to represent the current position of the robot in the global coordinate system; and (roll1, pitch1, yaw1) are used to represent the current posture of the robot in the global coordinate system. Azi is used to represent the azimuth angle of the sun; Alt is used to represent the altitude angle of the sun.
3. The robot-based support angle control method according to claim 2, characterized in that: Use (x, y, z) to represent the position coordinates of the sun in the global coordinate system; x=cos(Alt)*sin(Azi) y=cos(Alt)*cos(Azi) z=sin(Alt) Wherein, Azi represents the azimuth angle of the sun; Alt represents the altitude angle of the sun; Use S = [S1, S2, S3] to represent the direction vector of the sun in the Cartesian coordinate system; S1=x*cos(Latitude)*cos(LST)-y*sin(Latitude)+z*cos(Latitude)*sin(LST) S2=x*sin(LST)+y*cos(LST) S3=-x*sin(Latitude)*cos(LST)+y*sin(Latitude)*sin(LST)+z*cos(Latitude) Among them, Latitude represents latitude, and LST represents the hour angle corresponding to the local standard time.
4. A robot-based support angle control method according to claim 3, characterized in that: The process of obtaining a depth image of the photovoltaic tracking panel by using the laser radar and camera provided on the robot, thereby obtaining the position of the photovoltaic tracking panel relative to the robot, specifically includes the following sub-steps: Capturing a depth image of the photovoltaic tracking panel using the laser radar and the camera, segmenting the depth image to obtain a panel area in the depth image, estimating a normal vector of the panel area as (n_x, n_y, n_z); and estimating the coordinates of a point on the photovoltaic tracking panel as (p_x, p_y, p_z); According to the intrinsic parameter matrix of the depth image, (u, v) is used to represent the pixel coordinates; the depth value of the depth image is converted into the three-dimensional coordinates (x_c, y_c, z_c) in the camera coordinate system; According to the extrinsic parameter matrix of the camera, the point (x_c, y_c, z_c) in the camera coordinate system is converted to the point (x_g, y_g, z_g) in the robot coordinate system; Convert the coordinates (p_x, p_y, p_z) of the point on the photovoltaic tracking panel to a point (p_g_x, p_g_y, p_g_z) in the robot coordinate system; According to the plane point coordinates (p_g_x, p_g_y, p_g_z) and normal vector (n_x, n_y, n_z) in the robot coordinate system, the position (x2, y2, z2) and posture (roll2, pitch2, yaw2) of the photovoltaic tracking panel in the robot coordinate system are estimated using the least squares method.
5. The method for controlling the angle of a robot-based support according to claim 4, wherein: The method of combining the posture of the robot in the global coordinate system with the posture of the photovoltaic tracking panel relative to the robot to calculate the posture and normal vector of the photovoltaic tracking panel in the global coordinate system includes the following steps: Construct the robot's transformation matrix T_robot_global using the robot's position (x1, y1, z1) and posture (roll1, pitch1, yaw1) in the global coordinate system; The position (x2, y2, z2) and posture (roll2, pitch2, yaw2) of the photovoltaic tracking panel in the robot coordinate system are converted to the global coordinate system, and the position and posture of the photovoltaic tracking panel in the global coordinate system are obtained as follows: P_global=T_robot_global*P_robot R_global=T_robot_global*R_robot Wherein, T_robot_global is the transformation matrix of the robot; P_robot = [x2, y2, z2, 1] is the position vector of the photovoltaic tracking panel in the robot coordinate system; R_robot is the rotation matrix of the photovoltaic tracking panel in the robot coordinate system; The normal vector of the photovoltaic tracking panel in the global coordinate system is represented by the column vector of the rotation matrix R_global, and the third column of the rotation matrix R_global is selected as the normal vector of the photovoltaic tracking panel in the global coordinate system: N=[r_31, r_32, r_33].
6. A robot-based support angle control method according to claim 5, characterized in that: The robot's transformation matrix T_robot_global is calculated using the following formula: Translation vector: translation(x1, y1, z1) = [[1, 0, 0, x1] [0,1,0,y1] [0,0,1,z1] [0,0,0,1]] Rotate the vector around the x-axis: R_x = [[1, 0, 0, 0] [0, cos(roll1), -sin(roll1), 0] [0, sin(roll1), cos(roll1), 0] [0,0,0,1]] Rotate the vector around the y-axis: R_y = [[cos(pitch1), 0, sin(pitch1), 0] [0,1,0,0] [-sin(pitch1),0,cos(pitch1),0] [0,0,0,1]] Rotate the vector around the z-axis: R_z = [[cos(yaw1), -sin(yaw1), 0, 0] [sin(yaw1), cos(yaw1), 0, 0] [0,0,1,0] [0,0,0,1]] Rotation matrix: rotation(roll1, pitch1, yaw1) = R_x*R_y*R_z Robot transformation matrix: T_robot_global = translation(x1, y1, z1)*rotation(roll1, pitch1, yaw1).
7. The method for controlling the angle of a robot-based support according to claim 5, wherein: The optimal angle θ of the photovoltaic tracking panel is calculated by the following formula: dot_product(S,N)=S1*r_31+S2*r_32+S3*r_33 θ=arccos(dot_product(S,N)) Wherein, dot_product(S, N) represents the dot product of the sun direction vector S and the normal vector N of the photovoltaic tracking panel.
8. The method for controlling the angle of a robot-based support according to claim 1, wherein: The robot sends instructions to control the tracking bracket to adjust to the optimal angle according to the direction vector of the sun and the optimal angle of the photovoltaic tracking panel, and further includes the steps of: If the current angle of the tracking bracket is not equal to the optimal angle, a control instruction is sent to the control system of the tracking bracket to control the angle of the tracking bracket so that the tracking bracket is adjusted to the optimal angle.
9. A control system based on the support angle of a robot, characterized in that: include: The data acquisition module is used to obtain the current position and posture of the robot in the global coordinate system; obtain the GPS data of the robot; and obtain the current time data; A solar positioning module, configured to calculate solar position data using the SPA model with the aid of the current time data and the GPS data of the robot; the solar position data including the solar altitude angle and the solar azimuth angle; a coordinate conversion module, configured to calculate the position coordinates of the sun in the global coordinate system using the solar altitude angle and the solar azimuth angle; convert the position coordinates of the sun in the global coordinate system into a Cartesian coordinate system based on the robot, and obtain a current direction vector of the sun in the Cartesian coordinate system; A photovoltaic tracking panel measurement module is used to obtain a depth image of the photovoltaic tracking panel through a laser radar and a camera provided on the robot, thereby obtaining a position of the photovoltaic tracking panel relative to the robot; a posture calculation module, configured to combine the posture of the robot in the global coordinate system with the posture of the photovoltaic tracking panel relative to the robot to calculate the posture and normal vector of the photovoltaic tracking panel in the global coordinate system; the normal vector represents the orientation of the surface of the photovoltaic tracking panel and is used to determine the optimal angle of the photovoltaic tracking panel; The angle calculation module is used to calculate the optimal angle of the photovoltaic tracking panel according to the direction vector of the sun and the normal vector of the photovoltaic tracking panel.
10. A mobile intelligent inspection robot for photovoltaic power stations, characterized in that: Which at least includes a control system based on the robot's support angle as described in claim 9.
Citation Information
Patent Citations
Adjustment control method and system for photovoltaic tracking support
CN116449876A
Robot type apparatus for tracking the sunlight
KR101031286B1