Photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry
Patent Information
- Application Number
- CN202611201157.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-10
- Publication Date
- 2026-10-09
AI Technical Summary
[0002]在现有的光伏作业通道中,通常配置有多台光伏机器人用于清洁、巡检等作业,机器人在通道内按各自任务独立运行,并通过通信链路交换位姿、速度和边界相关信息,以便在狭窄通道内保持一定的作业间距并减少相互干扰;由于机器人在实际运行过程中会受到通信时延、到包乱序、局部遮挡、边界触发以及传感器有效性变化等因素影响,接收端往往难以及时得到稳定一致的邻机状态,进而导致相对位置判断不准确、动态安全距离难以实时确定,最终使通道内多机器人协同让行与限速控制出现偏差,容易产生碰边、相互阻塞或停机等待时间超限的问题
1、本发明针对光伏作业通道中因通信时延和到包乱序导致邻机状态判断不准确的问题;本方案中的状态包处理模块直接按照到达顺序和时间戳验证状态包的有效性,而不需要先进行长时间重排等待;通过为每一邻机建立有效状态包窗口,系统基于时间差外推邻机位置及航向角,并对速度信息加权处理以获得预测速度;这种处理方式有效消除了单一静态状态的局限,确保控制器能及时获取稳定、一致的邻机预测状态;
Smart Images

Figure CN122884023A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of photovoltaic operation and maintenance robots and multi-robot collaborative control, specifically a photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry. Background Technology
[0002] In existing photovoltaic operation channels, multiple photovoltaic robots are typically configured for cleaning, inspection, and other tasks. The robots operate independently within the channel according to their respective tasks and exchange pose, speed, and boundary-related information through communication links to maintain a certain working distance and reduce mutual interference in the narrow channel. However, due to factors such as communication delays, packet out-of-order delivery, partial occlusion, boundary triggering, and changes in sensor effectiveness during actual operation, the receiving end often struggles to obtain a stable and consistent status of neighboring robots in a timely manner. This leads to inaccurate relative position judgments and difficulty in determining dynamic safety distances in real time. Ultimately, this causes deviations in the collaborative yielding and speed control of multiple robots within the channel, easily resulting in problems such as collisions, mutual blockages, or exceeding the stop waiting time limit. Summary of the Invention
[0003] The purpose of this invention is to provide a photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry, which avoids processing wait caused by out-of-order reordering of communication state packets and dependence on unknown path planning models, and makes it easier to control the dynamic safety distance and cooperative yielding of multiple robots in narrow passages.
[0004] The objective of this invention can be achieved through the following technical solutions: A photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry includes at least two photovoltaic robots and a main system composed of collaborative control units within each photovoltaic robot. Each photovoltaic robot includes a walking mechanism, a working mechanism, a controller, a communication interface, an encoder, an inertial measurement unit, an ultra-wideband ranging module, an edge touch sensor, and a boundary information acquisition component, wherein the boundary information acquisition component provides the channel boundary position; Each collaborative control unit includes a body acquisition module, a pose encoding module, a status packet processing module, a risk assessment module, a collaborative decision-making module, and an execution feedback module; The body acquisition module outputs the local status and channel boundary position to the pose encoding module and the risk assessment module; The pose encoding module generates the local pose and motion increment, and sends the state packet, which represents the pose in a common reference coordinate system, through the communication interface. The status packet processing module receives neighbor status packets and outputs the predicted status of the neighbor. The risk assessment module evaluates the uncertainty of adjacent machine states and determines the dynamic safety distance based on motion increments; The collaborative decision-making module outputs operation or avoidance instructions to the controller based on the dynamic safety distance and robot priority; The execution feedback module updates the information of the local machine and neighboring machines based on the execution feedback.
[0005] As a preferred option, the pose coding module determines the robot's current pose and motion increment; When the robot enters the working channel or detects a boundary trigger signal, it establishes a reference and sends a reference synchronization packet through the communication interface to unify the common reference pose and sequence number within the channel.
[0006] As a preferred embodiment, the pose coding module obtains the cumulative pose transformation matrix by combining the sequence number and the current motion increment before sending the status packet; The state packet includes packet identifier, channel identifier, reference information, timestamp, cumulative pose transformation matrix, motion increment, velocity information, and state quality and boundary markers.
[0007] Preferably, the state packet processing module verifies the validity of the state packets according to their arrival order and timestamp, combines the cumulative pose transformation matrix in the valid state packets with the saved common reference pose to determine the neighboring machine's observation pose, and discards invalid or timed-out state packets.
[0008] As a preferred embodiment, the status packet processing module establishes a valid status packet window for each neighboring machine, extrapolates the neighboring machine's position and heading angle based on the difference between the current control time and the transmission timestamp, and performs weighted processing on the speed information within the window to obtain the predicted speed of the neighboring machine.
[0009] As a preferred approach, the risk assessment module extracts the motion timing deviation based on the combined differences of adjacent motion increments within the effective state packet window, and comprehensively determines the uncertainty of the adjacent machine's state by combining communication delay, ultra-wideband ranging standard deviation, and state quality.
[0010] As a preferred option, the risk assessment module determines the dynamic safety distance based on the robot's outer contour, positioning margin, uncertainty of adjacent robot status, and relative speed.
[0011] As a preferred option, the collaborative decision-making module transforms the local pose and the neighboring machine's predicted pose in the neighboring machine's predicted state to the channel coordinate system in order to determine the relative distance and speed between the robots. When the prediction interval Less than or equal to dynamic safety distance When the predicted distance is... Greater than dynamic safety distance At the same time, control the photovoltaic robot to maintain the preset working state.
[0012] As a preferred option, the low-priority robot performs lateral offset to give way or reduces the longitudinal target speed within the allowable limits based on the available lateral clearance of the channel, the lateral envelope width of the photovoltaic robot, and the preset risk threshold; when the predicted spacing returns to a safe level, it gradually returns to the preset operating state.
[0013] Preferably, when a boundary trigger signal is generated, the pose encoding module establishes a new common reference based on the pose at the trigger time and sends a boundary reference packet. The robot receives updated baseline information and clears invalid data from the old baseline; when communication times out or necessary calculation data is missing, the robot is controlled to slow down or stop.
[0014] The beneficial effects of this invention are: 1. This invention addresses the problem of inaccurate neighbor status judgment caused by communication delays and out-of-order packet arrival in photovoltaic operation channels. The status packet processing module in this solution directly verifies the validity of status packets according to their arrival order and timestamp, without requiring a long reordering wait. By establishing a valid status packet window for each neighbor, the system extrapolates the neighbor's position and heading angle based on the time difference and performs weighted processing on the speed information to obtain the predicted speed. This processing method effectively eliminates the limitations of a single static state, ensuring that the controller can obtain stable and consistent predicted neighbor status in a timely manner. 2. This invention addresses the technical deficiency of traditional operations where dynamic safety distances are difficult to determine accurately and in real time. The risk assessment module of this solution extracts the combined differences of adjacent motion increments within the effective state packet window to obtain the true motion timing deviation. The system comprehensively evaluates this deviation along with communication latency, ultra-wideband ranging standard deviation, and state quality to accurately determine the uncertainty of adjacent machine states. Based on this, the dynamic safety distance output by combining the robot's outer contour and positioning margin is more in line with actual working conditions, effectively reducing the risk of collisions in narrow passages. 3. This invention addresses the problem of robots blocking each other or exceeding the waiting time limit; the collaborative decision-making module uniformly converts the poses of the local and neighboring robots to the channel coordinate system, intuitively determining the relative distance and speed; when the predicted distance is less than the dynamic safe distance, the system controls the low-priority robot to perform lateral offset or slow down to give way within the safety limit based on the available lateral width of the channel, the lateral envelope width, and the risk threshold according to priority rules; this mechanism not only avoids collisions caused by two robots blindly avoiding each other at the same time, but also gradually restores the preset working state after the distance is safe, ensuring overall work efficiency; 4. In actual operation, the robot of this invention is often affected by boundary triggering and changes in sensor effectiveness. When a boundary triggering signal is generated, the pose encoding module establishes a new common reference based on the pose at the triggering time and sends a boundary reference packet. The receiving robot will update and clear the failed data under the old reference accordingly. This cuts off the interference of the accumulated error under the old reference on subsequent control. At the same time, in extreme cases such as communication timeout or lack of necessary calculation data, the controller can autonomously issue deceleration or stop commands. This ensures that the robot maintains a safe and controllable state even in the absence of information, avoiding malicious loss of control and collisions. Attached Figure Description
[0015] Other features, objects, and advantages of the invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings: Figure 1 This is a module structure diagram of the photovoltaic robot collaborative system in the embodiment. Detailed Implementation
[0016] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0017] Please see Figure 1 A photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry includes at least two photovoltaic robots and a main system composed of collaborative control units within each photovoltaic robot. Each photovoltaic robot includes a walking mechanism, a working mechanism, a controller, a communication interface, an encoder, an inertial measurement unit, an ultra-wideband ranging module, an edge touch sensor, and a boundary information acquisition component. The boundary information acquisition component provides the position of the channel boundary. Each collaborative control unit includes a body acquisition module, a pose encoding module, a status packet processing module, a risk assessment module, a collaborative decision-making module, and an execution feedback module; The body acquisition module outputs the local status and channel boundary position to the pose encoding module and the risk assessment module; The pose encoding module generates the local pose and motion increment, and sends the state packet, which represents the pose in a common reference coordinate system, through the communication interface. The status packet processing module receives neighbor status packets and outputs the predicted status of the neighbor. The risk assessment module evaluates the uncertainty of adjacent machine states and determines the dynamic safety distance based on motion increments; The collaborative decision-making module outputs operation or avoidance instructions to the controller based on the dynamic safety distance and robot priority; The execution feedback module updates the local and neighboring machine information based on the execution feedback; In one embodiment, the pose encoding module determines the robot's current pose and motion increment; when the robot enters the work channel or detects a boundary trigger signal, it establishes a reference and sends a reference synchronization packet through the communication interface to unify the common reference pose and sequence number within the channel; Before sending the status packet, the pose coding module combines the sequence number with the current motion increment to obtain the cumulative pose transformation matrix; The state packet includes packet identifier, channel identifier, reference information, timestamp, cumulative pose transformation matrix, motion increment, velocity information, and state quality and boundary markers.
[0018] In this embodiment, at least two photovoltaic robots are deployed in the same work channel, with one robot performing cleaning or inspection in front and the other robot performing the same task in the rear or adjacent channel section. The controller inside each robot sequentially drives the encoder, inertial measurement unit, ultra-wideband ranging module and edge touch sensor to collect body data according to the system cycle; Among them, the encoder outputs wheel speed or displacement information, the inertial measurement unit outputs attitude change information, the ultra-wideband ranging module outputs the distance observation value between the machine and the neighboring machine, the edge touch sensor outputs the trigger signal of whether it touches the working boundary, and the boundary information acquisition component outputs the channel boundary position. The above data first enters the body acquisition module, and then is converted into the body pose and motion increment by the pose encoding module. Specifically, the pose encoding module converts the displacement changes of each encoder in a system cycle into longitudinal displacement increment and lateral displacement increment in the body coordinate system according to the pre-calibrated positive kinematic relationship of the walking mechanism, and uses the difference in heading angle between the first and last moments of the cycle as the heading increment. The heading angle difference is normalized to a principal value range centered at zero before participating in pose update to avoid heading angle errors. This can cause false large-angle rotations; when inertial measurement unit data is invalid, the heading increment calculated by the encoder's forward kinematics is used, and the state quality flag is reduced to low quality; the two-dimensional position and heading angle are calculated using a third-order homogeneous transformation matrix. The motion increment matrix is generated using the same element arrangement, so that the outputs of the encoder and the inertial measurement unit can uniquely correspond to the translation and rotation terms of the pose matrix. In order to enable the positive kinematic relationship to be directly realized, the controller saves a set of linear conversion coefficients from the periodic displacement of each encoder to the increment of the body coordinate system for each type of walking mechanism during the calibration phase. Let the encoder displacement column vector involved in the solution within one system cycle be... ,in Indicates the first The displacement of each encoder, The total number of encoders, superscript This represents the matrix transpose, and the pose encoding module follows... Calculate the longitudinal displacement increment, lateral displacement increment, and heading increment corresponding to the encoder, where To correspond one-to-one with the chassis structure of the robot The calibration coefficient matrix, where each column corresponds to the contribution coefficient of an encoder to the longitudinal, lateral, and heading directions; For traveling mechanisms that lack lateral movement capability, The second line is preset to zero; during execution, the encoder pulse count is first combined with the wheel diameter or transmission ratio to calculate the values. Then, by performing the matrix multiplication described above, we obtain... , and ; When the inertial measurement unit is active, the normalized heading angle difference is taken as the heading increment for this cycle. When the inertial measurement unit is invalid, take ; Normalization to the principal value interval centered at zero is performed according to the following rules: if the heading angle difference is greater than Then subtract continuously Until it falls If the heading angle difference is less than Then add continuously Until it falls ; The pose encoding module updates the current pose by multiplying the motion increment in the body coordinate system by the pose of the previous cycle. The common reference coordinate system here refers to the pose reference starting point shared by all robots in the same channel. When the channel identifier corresponds to a pre-stored reference, the robot directly calls the pre-stored reference and its reference sequence number when entering the channel. When a robot enters the channel for the first time and there is no corresponding pre-stored reference, or when the edge touch sensor detects a trigger signal at the channel boundary, the pose encoding module uses the robot pose at the current moment as the new common reference pose and synchronizes the sequence number to other robots in the same channel. The first robot to enter the robot or detect the boundary trigger signal sends a reference synchronization packet through the communication interface. The reference synchronization packet includes at least the sending robot identifier, channel identifier, common reference pose, serial number and timestamp. Therefore, all subsequent status packets sent by each robot carry the same reference information, and the receiving end can directly recover the pose of the neighboring robot under the reference according to the reference in the packet, without having to re-concatenate multiple packets that arrive out of order. When generating the cumulative pose transformation matrix, the pose encoding module starts from the first motion increment after the sequence number and multiplies each one in ascending order of the sequence number until the motion increment corresponding to the current sequence number is combined. After establishing a new common reference, the cumulative results under the old reference stop being continued and are re-accumulated from the sequence position corresponding to the new common reference. After receiving the neighboring machine's status packets through the communication interface, the status packet processing module first deduplicates the packets by robot identifier and packet identifier, and then checks the channel identifier, sequence number, sending timestamp, and status quality flag. For packets with complete format, valid time, and a quality flag of low or high quality, the status packet processing module retains its cumulative pose transformation matrix and combines it with the saved common reference pose to obtain the neighboring machine's observed pose. Invalid packets will not be updated; only the packet identifier will be retained for subsequent deduplication. The packet identifier consists of the robot identifier and the current sequence number. The status packet also retains the motion increment matrix, boundary marker, and longitudinal linear velocity, lateral linear velocity, and angular velocity fields in the common reference coordinate system corresponding to the current sequence number. The status quality flag distinguishes between invalid, low quality, and high quality, while the boundary flag distinguishes between untriggered and triggered. The above velocity fields correspond to the robot's velocity information along the channel direction, lateral direction, and heading in the common reference coordinate system, which facilitates subsequent prediction of neighboring robot positions. The velocity fields are generated by converting encoder and inertial measurement unit data in the body coordinate system to the common reference coordinate system according to the current heading. In this process, the longitudinal and lateral linear velocities are respectively taken as the components obtained by dividing the corresponding displacement increment by the system period, and the angular velocity is taken as the value obtained by dividing the normalized heading increment by the system period, thus ensuring that the coordinate direction of the velocity field is consistent with the cumulative pose transformation matrix; in specific generation, firstly using... and Obtain the velocity components in the body coordinate system, and then use the current heading angle. according to: Converting to a common reference coordinate system, the angular velocity is taken as... in, For the system period, , , Write the longitudinal linear velocity, lateral linear velocity, and angular velocity fields respectively; the determination of the state quality flag adopts a fixed rule: when the encoder field is missing, the common reference information is missing, the timestamp is invalid, or the motion increment cannot be generated, it is marked as invalid; When the encoder is valid and the inertial measurement unit (IMU) is invalid, or when the IMU is valid but the ultra-wideband ranging field is missing, it is marked as low quality; when the encoder, IMU, timestamp, and common reference information are all valid, it is marked as high quality. Whether the ultra-wideband ranging field is valid or not does not affect pose recovery but does affect subsequent uncertainty calculation. After receiving the neighboring machine's observed pose and current velocity information from the state packet processing module, the risk assessment module extracts the motion increment matrix corresponding to different sequence numbers for multiple valid state packets from the same neighboring machine within the window, and only processes the motion increment matrices with adjacent sequence numbers. and Compare the results of the positive combination and the exchange combination, and use the difference between the two as the motion timing deviation; This comparison is only used for risk assessment and does not change the processing method of receiving, verifying and updating status packets according to the order of communication arrival; if there is only one valid status packet in the window, it is considered that the current uncertainty of the neighboring machine mainly comes from communication delay and ranging error, and the motion sequence difference term is no longer added; The risk assessment module converts motion timing deviation, adjacent machine linear velocity, communication delay, and ultra-wideband ranging fluctuation into a single length quantity, which serves as the adjacent machine state uncertainty and is used to subsequently determine the dynamic safety distance. The collaborative decision-making module takes the dynamic safety distance output by the risk assessment module and the robot priority as inputs; the priority is usually determined by a combination of task management information, the order of entry into the channel, and the robot's identification. When two robots enter the same narrow passage at the same time and the predicted spacing is insufficient, the robot with lower priority is given a lateral yielding or speed limit command by the controller, while the robot with higher priority maintains its operating speed and running status near the center line of the passage. The controller calls the calibration coefficient matrix saved during the calibration phase. Based on the inverse kinematics matrix of the robot's chassis The target instruction is parsed into the required action increments for each encoder and actuator: This is thus converted into a control quantity that can be executed by the underlying motor of the walking mechanism; The execution feedback module continuously reads the execution results of the walking mechanism, such as the current wheel speed, offset, and stop response status, and writes these results back to the local pose and relative information of neighboring machines; During write-back, the target speed or target offset issued by the controller is not used to replace the execution value. Instead, the wheel displacement measured by the encoder is used to regenerate the motion increment of this cycle. The lateral position measured by the boundary information acquisition component is used to correct the lateral offset. When the stop response is completed, the longitudinal speed, lateral speed and angular speed of the machine are set to zero. The status packet processing module uses the corrected local pose and the predicted pose of the neighboring machine to recalculate the relative position and relative speed, without directly rewriting the original fields in the status packet of the neighboring machine. Therefore, during the next system cycle calculation, both the pose encoding module and the risk assessment module can update the local and neighboring machine states based on the execution results, reducing subsequent control judgment deviations.
[0019] In one embodiment, the state packet processing module verifies the validity of the state packets according to their arrival order and timestamps, combines the cumulative pose transformation matrix in the valid state packets with the saved common reference pose to determine the neighboring machine observation pose, and discards invalid or timed-out state packets. The status packet processing module establishes a valid status packet window for each neighboring machine, extrapolates the neighboring machine's position and heading angle based on the difference between the current control time and the transmission timestamp, and performs weighted processing on the speed information within the window to obtain the predicted speed of the neighboring machine. The risk assessment module extracts the motion timing deviation based on the combined differences of adjacent motion increments within the effective state packet window, and comprehensively determines the uncertainty of the adjacent machine's state by combining communication delay, ultra-wideband ranging standard deviation, and state quality. The risk assessment module determines the dynamic safety distance based on the robot's outer contour, positioning margin, uncertainty of adjacent robot status, and relative speed.
[0020] In this implementation, the status packet processing module processes the status packets arriving in the communication link in the order of arrival, rather than rearranging them by sequence number first; due to reflections, shading, and delays within the photovoltaic array channel, the arrival order of the packets may differ from the transmission order. If the packets are rearranged before processing, the controller will experience a delay exceeding the control cycle. To avoid this delay, the status packet processing module performs format verification, timeliness verification, and baseline consistency verification only once for each packet. If the common reference pose and sequence number in the packet are consistent with the information stored on the local machine, the packet is regarded as a valid observation of the corresponding neighboring machine at the time of transmission; if there is no corresponding common reference information at present, the packet is cached first, and then a reference synchronization packet is requested from the communication interface. After receiving the reference synchronization packet, the status packet processing module then matches the buffer packet with the new common reference, thereby restoring the neighboring machine's observed pose. The transmitting and receiving ends maintain a unified time reference through the same time source or periodic time synchronization. The preset effective duration should be greater than the sum of the time synchronization error limit and the normal communication delay limit. When the detected clock deviation exceeds the time synchronization error limit, the corresponding status packet does not participate in position extrapolation and triggers resynchronization. To facilitate extrapolating the current state of neighboring machines, the status packet processing module sets up a valid status packet window for each neighboring machine; this window only stores a preset time period prior to the current control time, and the number of such packets does not exceed a preset positive integer. The latest valid status packet; Each packet in the window carries longitudinal linear velocity, lateral linear velocity, and angular velocity. The status packet processing module uses the difference between the current control time and the sending timestamp as the extrapolation duration. First, it extrapolates the translation position of the neighboring machine according to this duration, and then extrapolates the heading angle according to the angular velocity. When the angular velocity field is invalid, the heading angle remains unchanged, and only the translation position is extrapolated. For the speed data within the window, the status packet processing module determines the weights according to the principle of being negatively correlated with communication delay and adjacent sequence interval, and positively correlated with status quality level. After weighting each component separately, it normalizes the data using only the status packets with valid corresponding fields. When a field is invalid, it is removed from the weighted calculation of the corresponding component and is not used for extrapolation with invalid values. When a certain velocity component does not have a valid field, the velocity extrapolation of that component is not performed, and the component is marked as unavailable for subsequent safe distance calculation to perform speed limiting or stop processing; in specific execution, the normalized weighted results of longitudinal linear velocity, lateral linear velocity and angular velocity are calculated separately, and then the valid status packet with the sending timestamp closest to the current control time is selected from the window as the extrapolation reference packet; When the transmission timestamps are the same, the state packet with the larger sequence number is selected. The state packet processing module uses the neighboring aircraft's observed pose of the reference packet as the extrapolation starting point, and uses the difference between the current control time and the transmission timestamp of the reference packet as the uniform extrapolation duration. It then updates the longitudinal position, lateral position, and heading angle using the available weighted velocity components. Only one neighboring aircraft predicted state is generated in the same control cycle. The remaining state packets within the window only participate in the velocity weighting and motion timing deviation calculations and no longer generate competing prediction results. Through the above extrapolation calculations, the controller obtains the predicted state of the neighboring machine near the current control time, rather than being limited to the static state at the time of transmission; preset time period and The window is determined based on the status packet sending period, the maximum normal communication delay, and the amount of historical data that the controller can receive, so that under normal communication conditions, the window can retain at least two adjacent sequences of status packets. One feasible setting is to take five status packets and send them within a preset time period. The weight is set to 5; the weights are determined according to the graded scoring method: when the communication delay does not exceed one-third of the preset effective duration, is between one-third and two-thirds, and is greater than two-thirds, the delay score is set to 3, 2, and 1 respectively. When the sequence number interval with the latest valid packet is 0, 1, or not less than 2, the sequence score is 3, 2, and 1 respectively; the quality scores for high-quality and low-quality states are 2 and 1 respectively; the product of the three scores is used as the original weight of the corresponding state packet, and then normalized based on the sum of the original weights of all valid packets of the same velocity component, so that the normalized weights are between 0 and 1 and the sum is 1; in the case of sequence number wrapping, the interval is first calculated according to the sequence number modulus specified in the state packet protocol, and then the score is performed. To avoid unrealizable branches during the weighting process, the state packet processing module executes in the following fixed order: first, iterates through the window and establishes separate lists of valid packets for vertical linear velocity, horizontal linear velocity, and angular velocity; Then, calculate the original weight sum independently for each list; if the original weight sum of a list is greater than zero, use that sum as the denominator to complete the normalized weighting of that component; if the original weight sum is zero, mark that component as unavailable directly. When extrapolating, a uniform velocity model is used for available components, that is, the position components of the reference package in the common reference coordinate system are respectively added to the product of the corresponding weighted velocity and the uniform extrapolation time; for unavailable components, the original value of the reference package is kept unchanged, but the unavailable label of the component is passed to the subsequent risk assessment and collaborative decision-making modules, and the missing velocity is not replaced by a zero value. The risk assessment module extracts the motion increment matrix corresponding to different sequence numbers from the valid state packet window and compares the two matrices of adjacent sequences. and The motion timing deviation was calculated based on the differences arising from different matrix multiplication orders. ; Since the rotation terms in the homogeneous transformation matrix are dimensionless and the translation terms have length dimensions, when calculating this difference, a pre-agreed uniform length scale is used to normalize the translation terms involved in the comparison to dimensionless values, while the rotation terms remain dimensionless. This normalization is only used to calculate the motion timing deviation; the cumulative pose, motion increment, and neighboring machine position in the state packet are still saved and restored according to the length unit. Standardized length scale The values are determined by preset values in the upper limit of positioning error, maximum stroke per cycle and channel characteristic length of the same model robot, and remain unchanged in the same channel and the same window, so that the elements of the matrix difference can be compared under the same dimension of Frobenius norm. The differences here directly reflect whether the combination results of motion increments are consistent across different time series; if there are fewer than two valid packets in the window, it is impossible to compare adjacent sequences, therefore... Set to zero; The comparison of adjacent sequences is completed by looking up the status packet with the corresponding sequence number in the window, without changing the process of receiving, verifying and updating status packets according to the order of communication arrival; In the specific calculation, first, the translation terms in the motion increment matrix are... , Divide by the aforementioned uniform length scale respectively This yields a dimensionless matrix used only for comparison. After extracting the dimensionless comparison matrix, the Frobenius norm difference between the forward combination and the commutative combination results is calculated using the following matrix equation. : in, Represents the trace of a matrix. and To standardize length The normalized dimensionless pose transformation matrix is then applied to adjacent sequences. and Calculate the Frobenius norm difference; if multiple adjacent sequence pairs exist within the window, calculate the difference for each pair and take the maximum value as the difference. ; and In this comparison process, the corresponding dimensionless comparison matrix is used. and Substitute to avoid directly comparing translation terms with dimensionless rotation terms; The risk assessment module includes The neighboring machine's state uncertainty is calculated by weighting the neighboring machine's linear velocity, communication delay, and ultra-wideband ranging standard deviation. The quality factor for high-quality states is set to 1, while the quality factor for low-quality states is set to a preset value greater than 1, in order to amplify the impact of low-quality states on uncertainty. When there are multiple valid packets within the window, the maximum value of the difference among adjacent sequence pairs is used as the threshold. Specifically, the uncertainty is determined according to: in, For the uncertainty length scale, For state quality factor, , and A positive normalized benchmark, For the adjacent machine's linear velocity, For communication delay, For ultra-wideband ranging standard deviation, , , The weights are non-negative and sum to one. The maximum position deviation per cycle caused by motion timing deviation, communication delay deviation, and ultra-wideband ranging error reaching the calibration upper limit are defined as follows: The analytical calculation formula for each weight is as follows: When multiple valid state packets exist within a window Take the maximum value among the quality factors of the valid state packets participating in the current calculation, so that low-quality states are not canceled out by the weighted results of high-quality states; high-quality states correspond to... Low-quality state corresponds to The default value is greater than 1; To ensure that normalization calculations are always possible, , and All are pre-set to a lower limit value greater than zero; among them From normal accessible work samples The 95th percentile value is determined, and when this percentile value is zero or less than a preset lower limit, the preset lower limit is used. When the static ultra-wideband ranging standard deviation sample is insufficient or the current ultra-wideband ranging field is missing, the calibrated upper limit of the ranging error is taken; this uncertainty, together with the local positioning margin, relative speed, and communication delay, is used to determine the dynamic safety distance according to the following formula: in, and These are the minimum circumradii of the circles covering the outer contours of the machine and the adjacent machine, respectively. This provides a positioning margin for the machine. The difference between the local speed and the predicted speed of the neighboring machine. This is the upper limit of the dynamic safety distance, determined by the channel length and braking distance. Channel length and braking distance determine upper limit This is to prevent the safe distance from exceeding the available passageway range; the above parameters were calibrated through straight-line driving, turning, communication delay, and ultra-wideband static ranging tests before the same model of robot was put into operation. Take samples of normal accessible operations The 95th percentile, Take the product of the preset operation speed and the preset effective duration. Take the 95th percentile value of the standard deviation sample of static ultra-wideband ranging. Take the larger value between the upper limit of the positioning error and the maximum stroke of one control cycle; , and First, determine the position prediction error based on the proportion caused by each of the three types of errors reaching their respective calibration limits. Then, normalize the sum to one. When the distinction between high and low quality states is not obvious, each can be taken separately. for and ; The communication delay corresponding to the latest valid status packet is used. Use the standard deviation of the current ranging sliding window as the sample; when there are fewer than two samples, use the upper limit of the ranging error obtained from static calibration. The smaller of the value obtained by subtracting the end stopping allowance from the longitudinal length of the channel and the smaller value between the control range required for the robot to complete braking under the conditions of maximum permissible speed and minimum designed adhesion is taken; if the obtained value is... Less than , and If the basic outline of the structure requires safety, then robots are prohibited from entering the passage at the same time. The status packet processing module implements flow control on the above data using bounded ring windows set separately for each neighboring machine; each neighboring machine window is pre-allocated with a maximum of A state packet position is defined. When a new valid state packet arrives, it is written to the current write position and the write position is cyclically incremented. When the window is not full, the number of valid packets is increased. When the window is full, the status packet with the earliest sent timestamp that has completed the current control cycle calculation is overwritten. Status packets that are participating in the current cycle extrapolation or risk assessment are retained through the current cycle snapshot until the end of the current cycle calculation and will not change the current cycle input due to the overwrite operation. The status packet goes through five logical states sequentially from the processing state of the received window: pending verification, valid, expired, reference pending synchronization, and invalid. It enters the valid state when both the format, time, and reference pass the verification. When the effective duration is exceeded, it enters the expired state and is removed from the extrapolation candidate; when a common reference is missing, it enters the reference pending synchronization state and is only retained until the reference request times out. When there are unrecoverable errors in the encoder, cumulative pose, or timestamp, it enters a failure state and only retains its packet identifier for deduplication. After the reference synchronization arrives, only packets that have not exceeded the valid duration and whose channel identifier and neighbor identifier match are sent back to the reference for verification. Expired or invalid packets are not reactivated. At the start of each system cycle, the status packet processing module first locks the read-only snapshot of each neighboring machine window, and then performs speed weighting, prediction and timing deviation calculation on the snapshot; New packets received in this period will only be included in the next period's snapshot to avoid a half-updated state caused by simultaneous reception interruption and control calculation modifying the same window. If the number of valid packets arriving from the same neighboring machine within a system cycle exceeds If the timestamps are the same, the newer packets are retained first; if the timestamps are the same, the packets with the larger sequence numbers are retained, and the eliminated packets are marked as expired and not included in subsequent calculations. The benchmark update, old window clearing, and new benchmark packet writing adopt an atomic switch within the same control cycle: before the switch is completed, the old benchmark snapshot is still available for use in the current cycle; after the switch is completed, subsequent cycles only read the new benchmark window, thereby avoiding the use of two common benchmarks by the same neighboring machine in a prediction cycle. To address time axis discrepancies between heterogeneous robots, the transmitter and receiver, in addition to using a unified time base, periodically record the synchronization results to form clock offset estimates and offset change directions. When a status packet arrives, the receiver first corrects the transmission time using the currently valid offset estimate before performing a timeliness judgment. When the offset change obtained from two consecutive time synchronizations exceeds the allowable drift, or when the corrected transmission time is backward, the position extrapolation of the neighboring machine is suspended, only its packet identifier and the latest reference information are retained, and resynchronization is triggered; after resynchronization is completed, only status packets whose time sequence is restored to continuity and whose corrected timestamp does not exceed the valid duration can enter the valid window; For multiple status packets arriving at the communication interface in the same period, the status packet processing module completes lightweight checksum and enters the ring window according to the arrival interruption order. The specific matrix combination, speed weighting and risk calculation are all performed by the periodic task on the snapshot. When the writing position of the circular window conflicts with the reading position of the periodic task, the periodic task is given priority to use the locked snapshot, and the new status packet is postponed to the next cycle for processing, so as not to block the control cycle of the walking mechanism.
[0021] In one embodiment, the collaborative decision-making module converts the local pose and the neighboring machine's predicted pose in the neighboring machine's predicted state to the channel coordinate system to determine the relative distance and speed between the robots. When the prediction interval Less than or equal to dynamic safety distance When the predicted distance is... Greater than dynamic safety distance At the same time, control the photovoltaic robot to maintain the preset working state; Based on the available lateral clearance of the passage, the lateral envelope width of the photovoltaic robot, and the preset risk threshold, the low-priority robot performs lateral offset to give way or reduces the longitudinal target speed within the allowable limits; when the predicted spacing returns to a safe level, it gradually returns to the preset operating state. When a boundary trigger signal is generated, the pose encoding module establishes a new common reference based on the pose at the trigger time and sends a boundary reference packet. The robot receives updated baseline information and clears invalid data from the old baseline; when communication times out or necessary calculation data is missing, the robot is controlled to slow down or stop.
[0022] In this implementation, the collaborative decision-making module first transforms the local pose and the predicted pose of the neighboring robot into the channel coordinate system, and then compares the distance between the two in the channel direction and the lateral direction; so as to unify the relative relationship of the robots in any orientation into the same channel reference, so that the controller can directly determine whether to perform yielding. If the predicted spacing Greater than or equal to dynamic safety distance The controller maintains the preset operating speed and keeps the lateral offset command at zero; if Less than The yielding order is determined by the task priority given by the task management module, the order of entry into the channel timestamp, and the ascending order of the robot identifier, so as to avoid two robots shifting to the same side at the same time. The robot with lower priority is responsible for yielding, while the robot with higher priority continues to move forward at its working speed; the task priority adopts a pre-configured integer level, with the smaller value taking precedence; when the task priorities are the same, the robot that entered the channel earlier takes precedence; when the first two are the same, the robot with the smaller identifier takes precedence, so that any two robots can obtain a unique yielding order. When yielding laterally, the collaborative decision-making module first determines the available lateral range based on the left and right boundaries of the channel and the outer contour of the robot. The lateral offset is zeroed out at the center line of the channel, with positive values to the left. The specific lower and upper limits are jointly limited by the minimum allowable distance between the right and left boundaries and the lateral envelope width of the robot. If the lateral clearance of the passage is sufficient to allow the two robots to be staggered, and the motion timing deviation is... If the risk threshold is not exceeded, the robot will perform a lateral offset to the side away from the neighboring robot within the allowed range; If the condition is not met, no lateral offset will be given. Instead, the longitudinal target velocity will be set to the smaller of the safe velocity and the velocity scaled according to the spacing ratio. The lateral offset command will be re-determined in each control cycle based on the updated channel boundary, robot envelope and neighboring robot predicted position. When any boundary constraint is not met, the lateral offset is immediately canceled and the longitudinal deceleration is performed; in this way, the robot will not forcibly move laterally and collide with the edge when the channel is too narrow, nor will it maintain a low speed after the safe distance is restored. When the predicted robot spacing is continuous When the number of control cycles is greater than the sum of the dynamic safety distance and the preset recovery margin, among which The preset positive integer is used to reduce the lateral offset towards the zero point of the channel centerline in a preset step size each cycle, while increasing the longitudinal target speed in a preset cycle without exceeding the preset operating speed, until the preset operating state is restored. In the absence of continuity When the cycle condition is met, the current yield control is maintained to avoid premature release of yield due to the spacing fluctuation of a single cycle; the target value of the lateral offset is determined according to the minimum offset required to ensure that the spacing between the lateral envelope edges of the two robots is not less than the lateral safety margin, and is limited to between the lower limit and the upper limit. If there is no feasible offset that meets the condition in the direction away from the neighboring machine, the longitudinal speed limit is directly switched; when determining the target value, the collaborative decision module first reads the predicted lateral coordinates of the neighboring machine and the lateral envelope width of the local machine and the neighboring machine, and takes the leftward and rightward movements of the local machine as candidate directions respectively; For each candidate direction, starting from the current lateral coordinate of the machine, the offset is gradually increased until the distance between the lateral envelope edges of the two robots reaches the lateral safety margin. This position is then taken as the candidate target for that direction. If the candidate target exceeds the lower or upper limit of the lateral offset, the direction is determined to be infeasible. If only one direction is feasible, use that direction; if both directions are feasible, use the direction with smaller lateral movement; if the movement is the same, use the direction that is far away from the predicted lateral coordinate of the neighboring machine; if neither direction is feasible, execute longitudinal speed limiting. Therefore, the lateral offset can be directly and progressively calculated based on the boundary position, robot envelope, and predicted positions of neighboring robots, without relying on an unpublished path planning model. To ensure a deterministic implementation process for the progressively increasing offset, the collaborative decision-making module uses a fixed search step size in each control cycle. Iterate through the two candidate directions, left and right, respectively. Obtain the minimum value among the component's lateral resolution, lateral positioning resolution, and maximum permissible lateral speed within a control cycle, based on boundary information; for a given candidate direction, sequentially verify the candidate lateral coordinates of the machine. in, This is the current horizontal coordinate of the machine. For positive integers, does it simultaneously satisfy the following conditions: the distance from the outer edge of the machine's lateral envelope to the left and right boundaries is not less than its respective minimum allowable distance, and the distance between the machine's lateral envelope edges and those of adjacent machines is not less than the lateral safety margin; the aforementioned lateral envelope edge distance: in, Predict the lateral coordinates of neighboring aircraft. and These are the lateral envelope widths of the local machine and the adjacent machine, respectively; the first time the condition is met. This is recorded as a candidate target in that direction. If the condition is still not met after traversing to the upper or lower limit of the horizontal offset, then that direction is recorded as infeasible. After determining the final target, the controller does not jump directly to the candidate target in a single cycle. Instead, it approaches the target value with the current lateral offset by an amount not exceeding the single cycle travel corresponding to the maximum allowable lateral speed, so that the search results correspond one-to-one with the execution results. The minimum allowable distance between the left and right boundaries is the sum of the upper limit of boundary measurement error, the upper limit of robot lateral positioning error, and the structural anti-collision margin. The lateral safety margin is the sum of the upper limit of the lateral positioning error of the two robots and the maximum lateral travel during the control lag period; The risk threshold is obtained from normal steering and lateral movement tests. The product of the 95th percentile of the sample and the safety factor, with the safety factor ranging from 1.1 to 1.5; The safe speed is determined through real vehicle braking tests, ensuring that the distance the robot brakes from this speed under the minimum design attachment conditions does not exceed the remaining distance after deducting the contour safety distance from the currently available longitudinal spacing; The recovery margin shall not be less than the sum of the upper limit of the local positioning error, the upper limit of the calibration of the adjacent machine's state uncertainty, and the upper limit of the ultra-wideband ranging error; The corresponding duration is not less than three status packet sending cycles; The lateral offset correction step size per cycle shall not exceed the stroke corresponding to the maximum permissible lateral velocity and the control cycle, and the longitudinal target velocity increase per cycle shall not exceed the velocity increment generated by the maximum permissible longitudinal acceleration within one control cycle. When the edge touch sensor comes into contact with the boundary of the working area and generates a boundary trigger signal, the pose encoding module takes the local pose at the trigger moment as the new common reference pose and sends the boundary reference packet through the communication interface. The boundary reference packet includes the sending robot identifier, channel identifier, boundary trigger information, common reference pose, sequence number, and trigger timestamp; After receiving the packet, the receiving robot first updates the common reference information of the corresponding neighboring robot based on the sending robot's identifier and the channel identifier. Then, it clears the state packets, cumulative pose transformation matrix, motion timing deviation, and state uncertainty stored by the neighboring robot under the old serial number, and only retains the boundary reference packet and the valid state packets with serial numbers greater than the corresponding serial numbers of the boundary reference packet. By processing the state before and after the boundary trigger separately, the cumulative error under the old reference is avoided from affecting subsequent control. When establishing a new baseline, the sequence number is incremented based on the old value and written into the boundary baseline packet along with the status packet sequence number corresponding to the trigger time; the update and clear operations are completed as an indivisible process; the old sequence number status packets received before the new baseline synchronization is completed only record the packet identifier for deduplication and no longer participate in the neighboring machine status update; When there are no valid status packets in the valid status packet window, or when no status packets from neighboring machines are received for several consecutive system cycles, the collaborative decision-making module first reduces the longitudinal target speed to a safe speed. If communication is not restored after the preset stop time, or if the dynamic safety distance cannot be calculated due to the lack of envelope parameters, positioning data, or speed data, the controller outputs a stop command and the walking mechanism performs a stop action. In cases where only a single velocity component is missing but the dynamic safety distance can still be determined based on the effective pose, envelope parameters, and ranging data, the controller executes speed limiting according to the calculation results of the available data and does not fill the missing field with arbitrary values; when the missing data makes it impossible to determine the dynamic safety distance, stop control is then executed; thus maintaining the robot's controlled state in the event of communication interruption or missing critical data. The preset communication duration is the larger of three times the normal state packet sending cycle and the upper limit of the communication delay calibration. The preset stop duration is the sum of the preset communication duration and the time required for the robot to reduce from the preset working speed to the safe speed. When only the lateral speed is lacking, lateral yielding is prohibited and longitudinal speed is limited. When only longitudinal velocity is lacking, the upper limit of the distance change rate obtained from continuous effective ultra-wideband distance observation is used for conservative speed limiting. If the change rate cannot be obtained, the speed limit is stopped. When angular velocity is lacking, the heading angle is kept constant, and the positioning margin is increased to the sum of the original calibration value and the lateral deviation corresponding to the maximum possible heading error during the control lag period.
Claims
1. A photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry, characterized in that, It includes at least two photovoltaic robots and a main system consisting of collaborative control units within each photovoltaic robot; Each photovoltaic robot includes a walking mechanism, a working mechanism, a controller, a communication interface, an encoder, an inertial measurement unit, an ultra-wideband ranging module, an edge touch sensor, and a boundary information acquisition component, wherein the boundary information acquisition component provides the channel boundary position; Each collaborative control unit includes a body acquisition module, a pose encoding module, a status packet processing module, a risk assessment module, a collaborative decision-making module, and an execution feedback module; The body acquisition module outputs the local status and the channel boundary position to the pose encoding module and the risk assessment module; The pose encoding module generates the local pose and motion increment, and sends the state packet, which represents the pose in a common reference coordinate system, through the communication interface. The status packet processing module receives neighbor status packets and outputs the predicted status of the neighbor. The risk assessment module evaluates the uncertainty of adjacent machine states and determines the dynamic safety distance based on motion increments; The collaborative decision-making module outputs operation or avoidance instructions to the controller based on the dynamic safety distance and robot priority; The execution feedback module updates the information of the local machine and neighboring machines based on the execution feedback.
2. The photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry according to claim 1, characterized in that, The pose encoding module determines the robot's current pose and motion increment; When the robot enters the working channel or detects a boundary trigger signal, it establishes a reference and sends a reference synchronization packet through the communication interface to unify the common reference pose and sequence number within the channel.
3. The photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry according to claim 2, characterized in that, Before sending the status packet, the pose encoding module combines the sequence number with the current motion increment to obtain the cumulative pose transformation matrix; The state packet includes a packet identifier, channel identifier, reference information, timestamp, cumulative pose transformation matrix, motion increment, velocity information, and state quality and boundary markers.
4. The photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry according to claim 3, characterized in that, The status packet processing module verifies the validity of the status packets according to their arrival order and timestamps. It combines the cumulative pose transformation matrix in the valid status packets with the saved common reference pose to determine the neighboring machine's observation pose, and discards invalid or timed-out status packets.
5. The photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry according to claim 4, characterized in that, The status packet processing module establishes a valid status packet window for each neighboring machine, extrapolates the neighboring machine's position and heading angle based on the difference between the current control time and the transmission timestamp, and performs weighted processing on the speed information within the window to obtain the predicted speed of the neighboring machine.
6. The photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry according to claim 5, characterized in that, The risk assessment module extracts the motion timing deviation based on the combined differences of adjacent motion increments within the effective state packet window, and comprehensively determines the uncertainty of the neighboring machine's state by combining communication delay, ultra-wideband ranging standard deviation, and state quality.
7. The photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry according to claim 6, characterized in that, The risk assessment module determines the dynamic safety distance based on the robot's outer contour, positioning margin, uncertainty of adjacent robot status, and relative speed.
8. The photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry according to claim 7, characterized in that, The collaborative decision-making module converts the local pose and the neighboring machine's predicted pose in the neighboring machine's predicted state to the channel coordinate system in order to determine the relative distance and speed between the robots. When the prediction interval Less than or equal to the dynamic safety distance When the predicted distance is... Greater than the dynamic safety distance At the same time, the photovoltaic robot is controlled to maintain the preset working state.
9. The photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry according to claim 8, characterized in that, The low-priority robot performs lateral offset to give way or reduces the longitudinal target speed within the allowable limits based on the available lateral net width of the channel, the lateral envelope width of the photovoltaic robot, and the preset risk threshold; when the predicted spacing returns to a safe level, it gradually returns to the preset operating state.
10. The photovoltaic robot collaborative system based on swarm intelligence and non-commutative geometry according to claim 9, characterized in that, When a boundary trigger signal is generated, the pose encoding module establishes a new common reference based on the pose at the trigger time and sends a boundary reference packet. The robot receives updated baseline information and clears invalid data from the old baseline; when communication times out or necessary calculation data is missing, the robot is controlled to slow down or stop.