Storage tank bottom plate detection robot and working method thereof
By using RRT algorithm and lidar to generate obstacle avoidance detection paths in the tank bottom detection robot, full coverage detection and independent obstacle avoidance of the tank bottom plate are achieved, which solves the cost and time-consuming problems of traditional methods and improves detection efficiency.
Patent Information
- Application Number
- CN202411745220.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-02
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2044-12-02
AI Technical Summary
The tank bottom plate detection robot is difficult to detect independently inside the tank and avoid floating roof support rods and sacrificial anode blocks, resulting in the impact of detection functions, and traditional methods are expensive and time-consuming.
A controller based on the RRT algorithm is used to generate feasible paths, and a raster map is generated in combination with lidar scanning data to generate a detection path that can avoid obstacles. The robot moves along this path for full coverage detection.
It realizes full coverage detection of the storage tank base plate and independent obstacle avoidance, improves detection efficiency, reduces detection complexity, and solves the expensive and time-consuming problems of traditional methods.
Smart Images

Figure CN119247388A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of industrial robots for detection, and in particular to a tank bottom plate detection robot and a working method thereof. Background Art
[0002] Large storage tanks are indispensable equipment in oil depots for storing crude oil and other petroleum products. However, the bottom of the tank is susceptible to corrosion from the chemicals stored in it, which may lead to leakage risks. Therefore, regular inspection of the tank bottom is a vital safety measure. Traditional inspection methods require emptying the tank and sending inspectors into the tank, which is expensive and time-consuming. In order to solve this problem, a tank bottom inspection robot is proposed to inspect the tank bottom, which can achieve the purpose of automatic inspection.
[0003] There are multiple sets of floating roof support rods and several sacrificial anode blocks on the tank bottom plate, and the internal environment is complex. When the tank bottom plate inspection robot performs autonomous operations inside the tank, it needs to inspect all places on the tank bottom plate, and it also needs to perform autonomous obstacle avoidance in real time to avoid floating roof support rods and sacrificial anode blocks to avoid collisions. If the tank bottom plate inspection robot does not have the corresponding obstacle avoidance capability, when there is an obstacle in front of it, the tank bottom plate inspection robot will get stuck and affect the inspection function of the tank bottom plate inspection robot. How to enable the tank bottom plate inspection robot to inspect all places on the tank bottom plate while being able to reliably bypass obstacles has become a problem that needs to be solved urgently. Summary of the invention
[0004] The purpose of this application is to provide a tank bottom plate detection robot and a working method thereof, which can detect all parts of the tank bottom plate and perform autonomous obstacle avoidance at the same time.
[0005] To achieve the above objectives, this application provides the following solutions.
[0006] In a first aspect, the present application provides a tank bottom plate inspection robot, which includes: a robot body and a controller and a laser radar mounted on the robot body, and the controller and the laser radar are communicatively connected.
[0007] The controller is used to generate a feasible path from a starting point to an end point based on an RRT algorithm, and control the robot body to move along the feasible path; the starting point and the end point are both located on the bottom plate of the storage tank.
[0008] The laser radar is used to scan the internal environment of the storage tank to obtain scanning data when the robot body moves along the feasible path.
[0009] The controller is also used to generate a grid map of the interior of the tank based on the scanning data, generate an inspection path based on the grid map that can avoid obstacles and perform full coverage inspection of the tank bottom plate, and control the robot body to move along the inspection path to inspect the tank bottom plate.
[0010] Optionally, the tank bottom plate detection robot further includes: a gyroscope mounted on the robot body, and the gyroscope is communicatively connected to the controller.
[0011] The gyroscope is used to detect the angular velocity of the robot body.
[0012] The controller is also used to determine the target angle that the robot body needs to rotate to based on the position coordinates of the first target point and the position coordinates of the second target point when the robot body moves along the detection path, whenever the robot body is ready to move from a first target point on the detection path to a second target point on the detection path, control the rotation of the robot body based on the target angle, calculate a calculated angle based on the angular velocity of the robot body during rotation, determine whether the calculated angle is equal to the target angle, and if so, control the robot body to move in a straight line from the first target point to the second target point; wherein the detection path includes a plurality of target points, and the first target point and the second target point are two adjacent target points.
[0013] Optionally, the tank bottom plate inspection robot further includes: an odometer mounted on the robot body, and the odometer is communicatively connected to the controller.
[0014] The odometer is used to detect the motor speed of the robot body.
[0015] The controller is also used to determine the target displacement from the first target point to the second target point based on the position coordinates of the first target point and the position coordinates of the second target point when the robot body moves along the detection path, each time the robot body moves from the first target point to the second target point, calculate the calculated displacement based on the motor speed during the movement from the first target point to the second target point, determine whether the calculated displacement is equal to the target displacement, and if so, control the robot body to continue moving along the detection path.
[0016] Optionally, the tank bottom plate inspection robot further includes: a camera mounted on the robot body, and the camera is communicatively connected to the controller.
[0017] The camera is used to photograph the bottom plate of the storage tank when the robot body moves along the detection path to obtain a captured video.
[0018] The controller is used to use the video frame as input for each video frame in the captured video, and to use a trained defect detection model to determine whether there is a defect in the video frame, and if there is a defect, calculate the defect area of the defect.
[0019] Optionally, the trained defect detection model adopts a convolutional neural network.
[0020] Optionally, the defect area is calculated as follows.
[0021] .
[0022] in, is the defect area; is the distance from the optical center of the camera to the defect; is the focal length of the camera; It is the ratio of the defect area on the ground to the defect area on the camera imaging plane.
[0023] In a second aspect, the present application provides a working method of a tank bottom plate inspection robot, which is applied to any of the tank bottom plate inspection robots described above, and the working method of the tank bottom plate inspection robot includes the following steps.
[0024] A feasible path from a starting point to an end point is generated based on an RRT algorithm, and the robot body is controlled to move along the feasible path; the starting point and the end point are both located on the bottom plate of the storage tank.
[0025] Obtain scanning data; the scanning data is data obtained by the laser radar scanning the internal environment of the tank when the robot body moves along the feasible path.
[0026] A grid map of the interior of the tank is generated based on the scan data.
[0027] Based on the grid map, a detection path is generated that can avoid obstacles and perform full coverage detection on the tank bottom plate, and the robot body is controlled to move along the detection path to detect the tank bottom plate.
[0028] Optionally, the grid map includes multiple grids obtained by dividing the tank bottom plate, each grid corresponds to an area of the tank bottom plate, each grid has a cost value, the cost value of the grid containing obstacles is negative, and the cost value of the grid without obstacles is positive. Based on the grid map, a detection path that can avoid obstacles and perform full coverage detection on the tank bottom plate is generated, specifically including: according to the principle that each grid can only be passed once, all grids with positive cost values are connected to form a detection path.
[0029] Optionally, the detection path includes a plurality of target points, and controlling the robot body to move along the detection path specifically includes the following steps.
[0030] Based on a first target point where the robot body is currently located, a second target point is sent to the robot body; the first target point and the second target point are two adjacent target points.
[0031] The target angle at which the robot body needs to rotate is determined based on the position coordinates of the first target point and the position coordinates of the second target point, and the rotation of the robot body is controlled based on the target angle.
[0032] Based on the angular velocity of the robot body during rotation, the calculated angle is obtained.
[0033] Determine whether the calculated angle is equal to the target angle.
[0034] If they are equal, the robot body is controlled to move linearly from the first target point to the second target point.
[0035] A target displacement moving from the first target point to the second target point is determined based on the position coordinates of the first target point and the position coordinates of the second target point.
[0036] The calculated displacement is calculated based on the motor speed during the movement from the first target point to the second target point.
[0037] It is determined whether the calculated displacement is equal to the target displacement.
[0038] If they are equal, the second target point is used as the first target point of the next iteration, and the step of "sending the second target point to the robot body based on the first target point where the robot body is currently located" is returned until the second target point is the last target point of the detection path.
[0039] Optionally, the calculation formula of the target angle is as follows.
[0040] .
[0041] in, is the target angle; is the Y coordinate of the position of the second target point; is the Y coordinate of the position of the first target point; is the X coordinate of the position of the second target point; is the X coordinate of the position of the first target point.
[0042] According to the specific embodiments provided in this application, this application discloses the following technical effects.
[0043] The present application provides a tank bottom plate detection robot and a working method thereof, the tank bottom plate detection robot comprises: a robot body and a controller and a laser radar mounted on the robot body, the controller and the laser radar are in communication connection. The controller generates a feasible path from a starting point to an end point based on an RRT algorithm, and controls the robot body to move along the feasible path. During the movement of the robot body along the feasible path, the laser radar scans the internal environment of the tank to obtain scanning data. The controller generates a grid map of the inside of the tank based on the scanning data, generates a detection path that can avoid obstacles and can fully cover the tank bottom plate based on the grid map, and controls the robot body to move along the detection path to detect the tank bottom plate. The present application pre-generates a detection path that can avoid obstacles and can fully cover the tank bottom plate through the cooperation of the laser radar and the controller. The robot body subsequently moves along the detection path to detect the tank bottom plate, so that autonomous obstacle avoidance can be performed while detecting all places of the tank bottom plate. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0045] Figure 1 This is a schematic diagram of the structure of a tank bottom plate inspection robot provided in Example 1 of the present application.
[0046] Figure 2 A schematic diagram of the workflow of a tank bottom plate inspection robot provided in Example 1 of the present application.
[0047] Figure 3 A schematic diagram of camera detection defect simulation provided in Example 1 of the present application.
[0048] Figure 4 A schematic flow chart of a working method of a tank bottom plate inspection robot provided in Example 2 of the present application.
[0049] Figure numerals: 1-robot body; 2-laser radar; 3-gyroscope; 4-odometer; 5-camera. DETAILED DESCRIPTION
[0050] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0051] Example 1.
[0052] This embodiment provides a tank bottom plate detection robot. Figure 1 and Figure 2 As shown, the tank bottom plate detection robot includes: a robot body 1 and a controller and a laser radar 2 loaded on the robot body 1, and the controller and the laser radar 2 are communicatively connected.
[0053] The robot body 1 is used to complete the movement process of the tank bottom plate inspection robot and to load other components. The size of the robot body 1 can be determined according to user needs, and the size of the robot body 1 can be used to set the path sparseness in path planning and the expansion radius of the tank bottom plate inspection robot during movement.
[0054] The controller is used to generate a feasible path from the starting point to the end point based on the RRT (Rapidly-exploring Random Trees) algorithm, and control the robot body 1 to move along the feasible path. The starting point and the end point are both located on the bottom plate of the tank. Among them, the starting point and the end point can be set randomly, and it is only necessary to ensure that the positions of the starting point and the end point are different. The RRT algorithm is a robot motion planning algorithm. After the tank bottom plate detection robot is powered on, the controller uses the starting point and the end point as input, and uses the RRT algorithm to generate a feasible path from the starting point to the end point through random sampling and rapid exploration of the environment. The robot body 1 performs simple automatic movement along the feasible path inside the tank until it moves to the end point.
[0055] The laser radar 2 is used to scan the internal environment of the tank and obtain scanning data when the robot body 1 moves along the feasible path. When the robot body 1 moves along the feasible path, the laser radar 2 mounted on the robot body 1 can scan the surrounding environment, detect the position and shape of obstacles, and collect environmental data. That is, when the robot body 1 moves along the feasible path, the laser radar 2 is used to scan the environment inside the tank at the same time until the robot body 1 moves to the end point. At this time, the laser radar 2 completes the environment scan inside the tank and forms scanning data, which is subsequently used to create an environmental map for full coverage path planning.
[0056] The controller is also used to generate a grid map of the interior of the tank based on the scan data, generate a detection path based on the grid map that can avoid obstacles and perform full coverage detection on the tank bottom plate, and control the robot body 1 to move along the detection path to perform full coverage detection on the tank bottom plate.
[0057] Among them, the grid map inside the tank can be generated based on the scan data using any existing laser radar mapping algorithm. The grid map includes multiple grids obtained by dividing the tank bottom plate, each grid corresponds to an area of the tank bottom plate, and each grid has a cost value. The cost value of the grid containing obstacles is negative, which can be recorded as -250, and the cost value of the grid without obstacles is positive. When dividing the grid, the grid size is set according to the size of the robot body 1, thereby changing the path sparseness of the path planning.
[0058] Among them, a detection path that can avoid obstacles and perform full coverage detection on the bottom plate of the tank is generated based on the grid map, specifically including: according to the principle that each grid can only be passed once, all grids with positive cost values are connected to form a detection path. Specifically, when the detection path is planned according to the grid map generated by the scanning data of the laser radar 2, the controller obtains the initial position of the robot body 1 (that is, the current position of the robot body 1), and converts the initial position into a coordinate of the grid map, so as to convert the initial position into the initial point of the detection path planning, and connects all grids with positive cost values from the initial point in sequence to generate the detection path. When connecting grids with positive cost values, since the grid map has a cost value, it is detected whether there are grids marked as negative numbers around the previous grid with a positive cost value. If a grid with a negative cost value appears, it means that there is an obstacle in the grid, and the detection is cyclically detected until a grid with a positive cost value appears, and the current grid with a positive cost value is connected with the previous grid with a positive cost value. The planned detection path will automatically bypass the obstacle, thereby avoiding the obstacle.
[0059] After the grid map is drawn and the inspection path is planned, the tank bottom inspection robot can perform autonomous inspection operations at the initial position according to the planned inspection path.
[0060] In this embodiment, the controller may adopt a ROS (Robot Operating System) mainboard.
[0061] In this embodiment, when controlling the robot body to move along the detection path, the controller divides the detection path into multiple target points, sends the target points in real time, and when the robot reaches the target point, compares the calculated displacement with the target displacement. If the calculated displacement is equal to the target displacement, the controller continues to send the next target point, and the robot moves to the next target point. This process is repeated until the robot has walked through all the target points of the detection path, and then the robot automatically returns to the initial point, and the detection task is completed.
[0062] When the next target point is not in a straight line with the current target point, the robot will turn. At this time, the ROS mainboard will send the target angle that the robot needs to turn. Assuming that the position coordinates of the current target point are ( , the position coordinates of the next target point are ( , the angle between the two position coordinates is set as the target angle , the calculation formula of the target angle is shown in the following formula (1).
[0063] (1).
[0064] In formula (1), is the target angle; The Y coordinate of the next target point; The Y coordinate of the current target point; The X coordinate of the next target point; The X coordinate of the current target point.
[0065] According to the above formula (1), the target angle that the robot needs to rotate can be obtained. During the process of the robot rotating based on the target angle, the angular velocity of the gyroscope 3 is read in real time. When the robot completes the rotation based on the target angle, the calculated angle is calculated. If the calculated angle is equal to the target angle, it is determined that the robot has rotated to the set target angle. At this time, the robot performs linear motion until it moves to the next published target point.
[0066] The calculated angle of the robot is obtained by integration operation, and the calculated angle is obtained by the angular velocity data of gyroscope 3 The integral is as shown in the following formula (2).
[0067] = (2).
[0068] In formula (2), To calculate the angle; for Angular velocity at the moment; Representative Read the angular velocity of gyroscope 3 again, Representative The angular velocity of gyroscope 3 is read first. This is the last time the robot rotates to the target angle; is the interval between two readings of the angular velocity of the gyroscope 3 .
[0069] Based on this, the tank bottom plate detection robot of this embodiment also includes: a gyroscope 3 mounted on the robot body 1, the gyroscope 3 is connected to the controller in communication, the gyroscope 3 is used to detect the angular velocity of the robot body 1, and the controller is also used to determine the target angle that the robot body 1 needs to rotate based on the position coordinates of the first target point and the position coordinates of the second target point when the robot body 1 moves along the detection path, whenever the robot body 1 is ready to move from the first target point of the detection path to the second target point of the detection path, the robot body 1 is controlled to rotate based on the target angle, and the calculated angle is calculated based on the angular velocity of the robot body 1 during the rotation process, and it is determined whether the calculated angle is equal to the target angle. If they are equal, the robot body 1 is controlled to move in a straight line from the first target point to the second target point. Wherein, the detection path includes multiple target points, and the first target point and the second target point are two adjacent target points.
[0070] The controller receives the angular velocity of the gyroscope 3 and the motor speed of the odometer 4 in the driving board in real time through the serial port, thereby calculating the robot's movement mileage and obtaining the calculated displacement. When the robot moves to the next published target point, the calculated displacement is compared with the target displacement. If they are equal, it means that the robot body 1 has correctly moved to the next target point.
[0071] The calculated displacement is divided into the X-direction calculated displacement And calculate the displacement in the Y direction , the calculation formulas are shown in equations (3) and (4).
[0072] (3).
[0073] (4).
[0074] In the above formula, Calculate the displacement for the X direction; The robot movement speed is obtained by converting the motor speed of the odometer 4; is the robot angle, which is equal to the target angle; The interval between two readings of the motor speed of the odometer 4 is equal to the interval between two readings of the angular velocity of the gyroscope 3; Calculate the displacement for the Y direction.
[0075] When moving from the current target point to the next target point, an X-direction calculated displacement and a Y-direction calculated displacement are calculated for each interval between two adjacent readings of the motor speed of the odometer 4. All X-direction calculated displacements are accumulated to obtain the final X-direction calculated displacement from the current target point to the next target point. All Y-direction calculated displacements are accumulated to obtain the final Y-direction calculated displacement from the current target point to the next target point.
[0076] Set the robot movement speed to , the unit is The motor speed of odometer 4 is set to , the unit is rpm (i.e. revolutions per minute), the wheel diameter of the robot body 1 is set to , the unit is , the reduction ratio is set to , It can be taken as 100. According to the above settings, the calculation formula of the robot's motion speed is shown in the following formula (5).
[0077] (5).
[0078] Based on this, the tank bottom plate inspection robot of this embodiment further includes: an odometer 4 mounted on the robot body 1, and the odometer 4 is communicatively connected with the controller.
[0079] The odometer 4 is used to detect the motor speed of the robot body 1 .
[0080] The controller is also used to determine the target displacement from the first target point to the second target point based on the position coordinates of the first target point and the position coordinates of the second target point when the robot body 1 moves along the detection path, each time the robot body 1 moves from the first target point of the detection path to the second target point, calculate the calculated displacement based on the motor speed during the movement from the first target point to the second target point, and determine whether the calculated displacement is equal to the target displacement. If they are equal, control the robot body 1 to continue moving along the detection path.
[0081] In this embodiment, controlling the robot body 1 to move along the detection path specifically includes the following steps.
[0082] (1) Based on the first target point where the robot body 1 is currently located, a second target point is sent to the robot body 1 , where the first target point and the second target point are two adjacent target points.
[0083] (2) Determine a target angle that the robot body 1 needs to rotate at based on the position coordinates of the first target point and the position coordinates of the second target point, and control the rotation of the robot body 1 based on the target angle.
[0084] (3) Based on the angular velocity of the robot body 1 during the rotation process, the calculated angle is obtained.
[0085] (4) Determine whether the calculated angle is equal to the target angle.
[0086] (5) If they are equal, the robot body 1 is controlled to move linearly from the first target point to the second target point.
[0087] (6) Determine a target displacement from the first target point to the second target point based on the position coordinates of the first target point and the position coordinates of the second target point.
[0088] (7) Based on the motor speed during the movement from the first target point to the second target point, the displacement is calculated.
[0089] (8) Determine whether the calculated displacement is equal to the target displacement.
[0090] (9) If they are equal, the second target point is used as the first target point of the next iteration, and the process returns to the step of “sending the second target point to the robot body 1 based on the first target point where the robot body 1 is currently located” until the second target point is the last target point of the detection path.
[0091] It should be noted that the second target point is a target point that the robot body 1 has not passed.
[0092] The robot carries a camera 5, which can be a binocular camera. When the robot moves along the detection path, the camera 5 takes real-time photos of the tank bottom environment and calculates the size of the defect area of the tank bottom in real time.
[0093] Based on this, the tank bottom plate inspection robot of this embodiment further includes: a camera 5 mounted on the robot body 1, and the camera 5 is communicatively connected with the controller.
[0094] The camera 5 is used to shoot the tank bottom plate when the robot body 1 moves along the detection path to obtain a shot video.
[0095] The controller is used to take each video frame in the captured video as input, and use the trained defect detection model to determine whether there is a defect in the video frame. If a defect exists, the defect area of the defect is calculated.
[0096] Among them, the trained defect detection model uses a convolutional neural network. The convolutional neural network is mainly a discriminant network. Based on the VovNet v3.5 architecture, there can be networks of different types and sizes to adapt to the training of data sets of different sizes. The function of the convolutional neural network is to determine whether there are ground defects in the currently monitored image. The input is an image, and the output is a binary discrimination result of whether there are ground defects.
[0097] like Figure 3 As shown in the figure, the angle between the camera imaging plane and the ground is θ, AB represents the length of the longest inner side of the defect on the ground, and CD represents the length of the longest inner side of the defect in the camera coordinate system. Figure 3 , the calculation formula of the defect area is shown in the following formula (6).
[0098] (6).
[0099] in, is the defect area; is the distance from the optical center of the camera to the defect; is the focal length of the camera. Assume that the focal lengths in the X and Y directions are equal, that is, the focal length in the X direction = Y-direction focal length ; is the ratio of the defect area on the ground to the defect area on the camera imaging plane, .
[0100] This embodiment provides a tank bottom plate inspection robot based on laser radar 2, which can realize robot obstacle avoidance, path planning, path tracking and defect detection, and adopts full coverage path planning and path tracking to perform autonomous operation. The tank bottom plate inspection can be performed without human control. The camera 5 can be used to detect the size of the defect area of the tank bottom plate in real time, and can meet the requirements of autonomous obstacle avoidance while the robot detects all places in the tank. The camera 5 can be used to observe the situation inside the tank in real time, and the defects on the tank bottom plate can also be detected in real time. This embodiment can realize the automation of the tank bottom plate inspection robot, greatly improve the efficiency of inspection and reduce the complexity of inspection, solve the problem of the lack of reliable autonomous inspection of the existing tank bottom plate inspection robot, realize autonomous path planning, autonomous obstacle avoidance, robot positioning, and finally realize traversal inspection in the barrier-free area of the tank bottom plate.
[0101] The advantages of this embodiment are as follows.
[0102] (1) High detection coverage: The robot is controlled by full coverage path planning to detect the tank bottom plate in real time, which can conduct a comprehensive inspection of the tank bottom plate.
[0103] (2) High detection efficiency: The robot can automatically perform tank bottom plate inspection without human control.
[0104] Example 2.
[0105] like Figure 4 As shown, this embodiment provides a working method of a tank bottom plate detection robot, which is applied to the tank bottom plate detection robot described in Example 1, and the working method of the tank bottom plate detection robot includes the following steps.
[0106] S1: Generate a feasible path from a starting point to an end point based on the RRT algorithm, and control the robot body to move along the feasible path; the starting point and the end point are both located on the bottom plate of the tank.
[0107] S2: Obtain scanning data; the scanning data is data obtained by the laser radar scanning the internal environment of the tank when the robot body moves along the feasible path.
[0108] S3: Generate a grid map of the interior of the storage tank based on the scan data.
[0109] S4: Based on the grid map, a detection path is generated that can avoid obstacles and perform full coverage detection on the tank bottom plate, and the robot body is controlled to move along the detection path to detect the tank bottom plate.
[0110] In S3, the grid map includes multiple grids obtained by dividing the tank bottom plate, each grid corresponds to an area of the tank bottom plate, each grid has a cost value, the cost value of the grid containing obstacles is negative, and the cost value of the grid without obstacles is positive. Based on the grid map, a detection path is generated that can avoid obstacles and perform full coverage detection on the tank bottom plate, specifically including: according to the principle that each grid can only be passed once, all grids with positive cost values are connected to form a detection path.
[0111] In S4, the detection path includes multiple target points, and the robot body is controlled to move along the detection path, which specifically includes the following steps.
[0112] (1) Based on the first target point where the robot body is currently located, a second target point is sent to the robot body, where the first target point and the second target point are two adjacent target points.
[0113] (2) Determine a target angle at which the robot body needs to rotate based on the position coordinates of the first target point and the position coordinates of the second target point, and control the rotation of the robot body based on the target angle.
[0114] (3) Based on the angular velocity of the robot body during rotation, the angle is calculated.
[0115] (4) Determine whether the calculated angle is equal to the target angle.
[0116] (5) If they are equal, the robot body is controlled to move in a straight line from the first target point to the second target point.
[0117] (6) Determine a target displacement from the first target point to the second target point based on the position coordinates of the first target point and the position coordinates of the second target point.
[0118] (7) Based on the motor speed during the movement from the first target point to the second target point, the displacement is calculated.
[0119] (8) Determine whether the calculated displacement is equal to the target displacement.
[0120] (9) If they are equal, the second target point is used as the first target point of the next iteration, and the process returns to the step of “sending the second target point to the robot body based on the first target point where the robot body is currently located” until the second target point is the last target point of the detection path.
[0121] The calculation formula of the target angle is shown in the following formula (7).
[0122] (7).
[0123] In formula (7), is the target angle; is the Y coordinate of the position of the second target point; is the Y coordinate of the position of the first target point; is the X coordinate of the position of the second target point; is the X coordinate of the position of the first target point.
[0124] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0125] This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. At the same time, for those skilled in the art, according to the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting this application.
Claims
1. A tank bottom plate inspection robot, characterized in that: The tank bottom plate detection robot comprises: a robot body and a controller and a laser radar mounted on the robot body, wherein the controller and the laser radar are in communication connection; The controller is used to generate a feasible path from a starting point to an end point based on an RRT algorithm, and control the robot body to move along the feasible path; the starting point and the end point are both located on the bottom plate of the storage tank; The laser radar is used to scan the internal environment of the storage tank to obtain scanning data during the movement of the robot body along the feasible path; The controller is also used to generate a grid map of the interior of the tank based on the scanning data, generate an inspection path based on the grid map that can avoid obstacles and perform full coverage inspection of the tank bottom plate, and control the robot body to move along the inspection path to inspect the tank bottom plate.
2. The tank bottom plate inspection robot according to claim 1, characterized in that: The tank bottom plate detection robot further comprises: a gyroscope mounted on the robot body, the gyroscope being communicatively connected with the controller; The gyroscope is used to detect the angular velocity of the robot body; The controller is also used to determine the target angle that the robot body needs to rotate to based on the position coordinates of the first target point and the position coordinates of the second target point when the robot body moves along the detection path, whenever the robot body is ready to move from a first target point on the detection path to a second target point on the detection path, control the rotation of the robot body based on the target angle, calculate a calculated angle based on the angular velocity of the robot body during rotation, determine whether the calculated angle is equal to the target angle, and if so, control the robot body to move in a straight line from the first target point to the second target point; wherein the detection path includes a plurality of target points, and the first target point and the second target point are two adjacent target points.
3. The tank bottom plate detection robot according to claim 2, characterized in that: The tank bottom plate inspection robot further comprises: an odometer mounted on the robot body, the odometer being communicatively connected with the controller; The odometer is used to detect the motor speed of the robot body; The controller is also used to determine the target displacement from the first target point to the second target point based on the position coordinates of the first target point and the position coordinates of the second target point when the robot body moves along the detection path, each time the robot body moves from the first target point to the second target point, calculate the calculated displacement based on the motor speed during the movement from the first target point to the second target point, determine whether the calculated displacement is equal to the target displacement, and if so, control the robot body to continue moving along the detection path.
4. The tank bottom plate inspection robot according to claim 1, characterized in that: The tank bottom plate inspection robot further comprises: a camera mounted on the robot body, the camera being communicatively connected with the controller; The camera is used to shoot the bottom plate of the tank when the robot body moves along the detection path to obtain a shot video; The controller is used to use the video frame as input for each video frame in the captured video, and to use a trained defect detection model to determine whether there is a defect in the video frame, and if there is a defect, calculate the defect area of the defect.
5. The tank bottom plate inspection robot according to claim 4, characterized in that: The trained defect detection model adopts a convolutional neural network.
6. The tank bottom plate inspection robot according to claim 4, characterized in that: The calculation formula for the defect area is: ; in, is the defect area; is the distance from the optical center of the camera to the defect; is the focal length of the camera; It is the ratio of the defect area on the ground to the defect area on the camera imaging plane.
7. A working method of a tank bottom plate inspection robot, applied to the tank bottom plate inspection robot according to any one of claims 1 to 6, characterized in that: The working method of the tank bottom plate detection robot comprises: Generate a feasible path from a starting point to an end point based on the RRT algorithm, and control the robot body to move along the feasible path; the starting point and the end point are both located on the bottom plate of the tank; Acquire scanning data; the scanning data is data obtained by the laser radar scanning the internal environment of the storage tank during the movement of the robot body along the feasible path; generating a grid map of the interior of the storage tank based on the scan data; Based on the grid map, a detection path is generated that can avoid obstacles and perform full coverage detection on the tank bottom plate, and the robot body is controlled to move along the detection path to detect the tank bottom plate.
8. The working method of the tank bottom plate detection robot according to claim 7, characterized in that: The grid map includes multiple grids obtained by dividing the tank bottom plate, each grid corresponds to an area of the tank bottom plate, each grid has a cost value, the cost value of the grid containing obstacles is a negative number, and the cost value of the grid without obstacles is a positive number. Based on the grid map, a detection path that can avoid obstacles and perform full coverage detection on the tank bottom plate is generated, specifically including: according to the principle that each grid can only be passed once, all grids with positive cost values are connected to form a detection path.
9. The working method of the tank bottom plate detection robot according to claim 7, characterized in that: The detection path includes a plurality of target points, and controlling the robot body to move along the detection path specifically includes: Based on the first target point where the robot body is currently located, sending a second target point to the robot body; the first target point and the second target point are two adjacent target points; Determine a target angle at which the robot body needs to rotate based on the position coordinates of the first target point and the position coordinates of the second target point, and control the rotation of the robot body based on the target angle; Based on the angular velocity of the robot body during rotation, the angle is calculated; Determining whether the calculated angle is equal to the target angle; If they are equal, the robot body is controlled to move linearly from the first target point to the second target point; Determine a target displacement from the first target point to the second target point based on the position coordinates of the first target point and the position coordinates of the second target point; Calculating a calculated displacement based on a motor speed during movement from the first target point to the second target point; Determining whether the calculated displacement is equal to the target displacement; If they are equal, the second target point is used as the first target point of the next iteration, and the step of "sending the second target point to the robot body based on the first target point where the robot body is currently located" is returned until the second target point is the last target point of the detection path.
10. The working method of the tank bottom plate detection robot according to claim 9, characterized in that: The target angle is calculated as: ; in, is the target angle; is the Y coordinate of the position of the second target point; is the Y coordinate of the position of the first target point; is the X coordinate of the position of the second target point; is the X coordinate of the position of the first target point.
Citation Information
Patent Citations
Mobile robot path planning method based on distance judgment and angle deflection
CN111338359A
Wheeled robot linear trajectory tracking method capable of bypassing obstacles
CN112241171A
Method for realizing real-time planning of obstacle avoidance path of omnidirectional mobile robot based on grid method
CN113359756A
Indoor mobile robot automatic navigation system and navigation method thereof
CN116242348A
Deep reinforcement learning local path planning method based on trajectory tracking
CN118259671A
Cited By
Laser radar positioning method using tank wall reflection mark in storage tank
CN119828153A
