An assisted parking method based on a vision navigation parking robot
By using a vision-based parking robot, which employs a manual annotation and convolutional neural network model for detecting empty parking spaces and a lane line detection algorithm based on color space transformation, low-cost and efficient parking is achieved, solving the problems of high cost and low parking efficiency in existing technologies.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NORTHWESTERN POLYTECHNICAL UNIV
- Filing Date
- 2023-04-20
- Publication Date
- 2026-06-02
AI Technical Summary
Existing parking robots mostly use high-precision LiDAR, which results in high costs and difficulty in quickly and accurately parking vehicles in parking lot environments, leading to low parking efficiency and insufficient space utilization.
By employing a parking space detection model based on manual annotation and convolutional neural networks, and a lane line detection algorithm based on color space transformation, combined with the robot's own camera and cloud control, precise parking of vehicles can be achieved.
It improves parking efficiency and space utilization in parking lots while reducing costs.
Smart Images

Figure CN116665477B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of autonomous driving technology, specifically relating to an assisted parking method. Background Technology
[0002] With the improvement of people's living standards, one car per household has become the current reality for many families. This increase in the number of vehicles has led to congested parking lots, a shortage of parking spaces, and low parking efficiency. In parking lots, drivers often have to observe their surroundings from inside the car to find a parking space, wasting a lot of energy. Therefore, providing clear directions to parking spaces is essential. Furthermore, during rush hour and holidays, there is an even greater need to park quickly, but with limited parking space, if each driver has to try multiple times to park, it can easily cause traffic congestion. Therefore, learning how to quickly reverse into a parking space is crucial and necessary.
[0003] Therefore, if there were an intelligent robot capable of carrying vehicles and transporting them to parking spaces, the above-mentioned hassles could be eliminated. The cloud would inform the robot of the location of available parking spaces, and the robot would directly grasp the wheels using its robotic arm. It would then autonomously navigate to the parking space, assisting in precise parking. With cloud-based control, multiple parking robots could work collaboratively, with unified task allocation and path planning for all robots within the parking lot based on its layout and dynamic changes in vehicle and user needs, effectively improving parking efficiency and space utilization.
[0004] Currently, many companies have their own parking robots, most of which use high-precision LiDAR, which has the problem of high cost, while very few robots directly use visual sensors for navigation. Summary of the Invention
[0005] To overcome the shortcomings of existing technologies, this invention provides an assisted parking method based on a vision-guided parking robot. First, an empty parking space detection model using manual annotation and a convolutional neural network is used to detect available spaces. The parking robot carries the vehicle to be parked, and the cloud sends the location information of the designated parking space to the robot. Then, a lane detection algorithm based on color space transformation is used to detect lanes, enabling the robot to move along a specific trajectory. Finally, the robot's own camera completes the parking maneuver. This invention assists vehicles in completing efficient parking, improves parking space utilization, and reduces costs.
[0006] The technical solution adopted by this invention to solve its technical problem includes the following steps:
[0007] Step 1: Upload the surveillance video of the parking lot layout to the cloud, and read the surveillance video frame by frame in the cloud;
[0008] A parking space detection model based on manual annotation and convolutional neural networks is constructed. Parking spaces are marked in the monitoring images without vehicles in advance, and all parking spaces are segmented in the marked areas. Then, the presence of vehicles in the parking spaces in the monitoring video images is detected to identify whether there are any vacant parking spaces. When the car owner parks the car at the entrance of the parking lot, the parking robot carries the waiting vehicle, and the cloud sends the location information of the designated parking space to the parking robot.
[0009] Step 2: Construct a lane line detection algorithm based on color space transformation;
[0010] The parking robot reads road images through its front-facing camera, transforms the road images into a bird's-eye view through inverse perspective transformation, transforms the RGB image into HSV space, merges the hue and saturation images, and automatically adjusts the image threshold according to the scene lighting conditions to obtain a binarized image that reflects the lane line scene, thereby extracting the main part of the lane line.
[0011] Step 3: In the road image, based on the main part of the lane lines, obtain the coordinates of the road boundary points. Fit the road boundary line into a cubic function curve using the least squares method. Calculate the road centerline based on the coordinates of the boundary line. The deviation between the robot and the target trajectory is represented by calculating the average offset distance between the position of the road centerline and the center of the field of view.
[0012] Step 4: Control the robot's steering based on the deviation between the robot and the target trajectory. Use the deviation as the input to the controller, calculate the desired angular velocity of the robot through the control algorithm, and achieve the steering function through the differential speed of the inner and outer wheels.
[0013] Step 5: Based on steps 2 to 4, the robot runs along the designated trajectory. During the operation, the robot uses its own camera to identify the landmark QR code in real time and decodes the QR code information. If the decoded information does not match the designated parking space, the robot continues to move forward; if the decoded information matches the parking space, the robot stops.
[0014] Step 6: The robot arrives at the parking space. The robot's side camera recognizes the sign in the middle of the parking space and controls the robot to position the sign in the center of the side camera's field of view. The robot rotates 90 degrees in place so that the front camera is aimed at the parking space. At this time, the robot moves forward into the parking space. When the front camera recognizes the QR code containing the parking sign information, the robot completes parking and unloads the vehicle waiting to be parked.
[0015] Step 7: The vehicle exits the parking space along the original trajectory. The front-facing camera identifies lane lines, plans a path in real time, and leaves the parking space according to the planned path.
[0016] Preferably, the empty parking space detection model based on manual annotation and convolutional neural networks is as follows:
[0017] Step 1-1: Read the surveillance images without vehicles, mark the parking spaces in the images with rectangles, divide all parking spaces into single parking space images, and number all images according to the distance of the parking spaces from the parking lot entrance.
[0018] Steps 1-2: Collect multiple images of parking spaces with and without cars to form a dataset classifying parking spaces with and without cars, and convert all images to grayscale images, and uniformly convert the image size to 60*20.
[0019] Steps 1-3: Train the convolutional neural network;
[0020] The network input layer consists of two convolutional layers nested within a pooling layer, with both convolutional layers being 5x5 and the pooling layer being 2x2. After passing through the pooling layer, the network is connected to a fully connected layer via the ReLU activation function. The fully connected layer has two output nodes, representing the states of having a car and not having a car.
[0021] Steps 1-4: The parking robot carries the vehicles waiting to be parked, counts all available parking spaces in the cloud, and sends the number representing the designated parking space to the robot.
[0022] Preferably, the lane line detection algorithm is as follows:
[0023] Step 2-1: Install the robot's front-facing camera at the center of the front of the robot so that the robot can collect real-time images of the road ahead during operation;
[0024] Step 2-2: Convert the image captured by the camera into a bird's-eye view using inverse perspective transformation:
[0025] Let (a,b) be the coordinates of the image, (A,B) be the coordinates of (a,b) in the bird's-eye view, and h be the parameter matrix. The calibration formula is as follows:
[0026]
[0027] Where h = [h1, h2, h3, h4, h5, h6, h7, h8] T ;
[0028] Steps 2-3: Select four points on the image and determine the four corresponding points according to the scale of the bird's-eye view, thereby obtaining the calibration matrix h; then, obtain the bird's-eye view by following the transformation matrix.
[0029]
[0030] Steps 2-4: Transform the RGB image space to HSV space, binarize the grayscale images of the H and S channels to obtain images H1 and S1, and perform an AND operation on images H1 and S1 to obtain a fused image I, which contains the outline of the lane lines; filter out the outlines that are not lane lines through morphological operations, and then search for boundary points from the middle to both sides in image I, forming two sets of boundary points on the left and right sides of the image; use the least squares method to fit the boundary points on both sides into a cubic curve, thus achieving the fitting of the lane lines.
[0031] Preferably, step 3 specifically comprises:
[0032] Step 3-1: Calculate a center guide line based on the fitted lane lines on both sides;
[0033] In each row of the image, if there are points on the lane lines on both sides, the center point coordinates are the midpoint; if there are points on the lane lines only on the right side, the center point coordinates are the right boundary point minus half the road width; if there are points on the lane lines only on the left side, the center point coordinates are the left boundary point plus half the road width.
[0034] Step 3-2: Calculate the offset distance between the midpoint coordinates of each lane in the bird's-eye view and the center coordinates of the image. Take the average of all results to obtain the average offset distance, which represents the deviation between the robot and the target trajectory.
[0035] Preferably, step 4 specifically comprises:
[0036] Step 4-1: During the robot's movement, it is necessary to control the robot's speed and direction respectively;
[0037] Step 4-2: During direction control, the robot's rotation uses differential speed control. The average offset distance is recorded as error. The output of the differential speed diff_speed is obtained through the position-based PD algorithm as follows:
[0038] diff_speed=p*error+d*(error-last_error)
[0039] Step 4-3: During speed control, the differential speed is correlated with the desired speed of the wheels on both sides to achieve steering; the robot uses the difference between its own speed and the desired speed collected by the encoder as the input of the PID controller, and calculates the duty cycle required for motor drive through the incremental PI algorithm to achieve wheel rotation.
[0040] The incremental PI output formula is as follows:
[0041] error1 = speed-target
[0042] duty=duty+i*error1+p*(error1-last_error1)
[0043] Where speed is the robot's actual linear velocity, target is the target velocity of the robot's two wheels, error1 is the difference between the two, last_error1 is the error1 at the previous moment, p and i are the integral coefficient and proportional coefficient, respectively, and duty is the duty cycle of the motor output; the parking robot runs in the parking lot according to the specified trajectory.
[0044] Preferably, the robot uses its own camera to identify the landmark QR code in real time and decodes the QR code information. The specific process is as follows:
[0045] Step 5-1: Convert the image to a grayscale image, perform Gaussian filtering on the image, and convert it to a binarized image;
[0046] Step 5-2: Perform morphological opening and closing operations on the binary image;
[0047] Step 5-3: Extract possible outlines from the image, determine the corner positions, and determine whether it is a QR code based on the number of corners and the closure characteristics of the outline;
[0048] Step 5-4: Perform perspective correction on the QR code based on the corner positions;
[0049] Step 5-5: Extract the ID matrix inside the QR code and identify the ID sequence.
[0050] The beneficial effects of this invention are as follows:
[0051] This invention can assist vehicles in parking efficiently, improve parking space utilization, and reduce costs. Attached Figure Description
[0052] Figure 1 This is a flowchart of the assisted parking method of the present invention.
[0053] Figure 2 This invention provides a process for detecting empty parking spaces.
[0054] Figure 3 This is a flowchart of the lane line extraction and robot navigation process of the present invention;
[0055] Figure 4 This is a flowchart of the QR code decoding process of the present invention. Detailed Implementation
[0056] The present invention will be further described below with reference to the accompanying drawings and embodiments.
[0057] like Figure 1As shown, a parking assistance method based on a vision-guided parking robot includes the following steps:
[0058] Step 1: Upload the parking lot layout surveillance video to the cloud and read the video frame by frame in the cloud. A parking space detection model based on manual annotation and convolutional neural networks was constructed. Parking spaces were pre-annotated in surveillance images without vehicles, and all parking spaces were segmented within the labeled areas. A car classification model was built to identify whether the segmented image content contains vehicles, thereby detecting and identifying whether parking spaces are vacant. Figure 2 As shown in the image, the car owner parks their car at the parking lot entrance, the parking robot picks up the vehicle waiting to be parked, and the cloud sends the location information of the designated parking space to the parking robot.
[0059] Step 2: Construct a lane line detection algorithm based on color space transformation: The robot reads road images through its front-facing camera, transforms the images into a bird's-eye view through inverse perspective transformation, transforms the RGB image into HSV space, merges the hue and saturation images, and automatically adjusts the image threshold according to the scene lighting conditions to obtain a binarized image that reflects the lane line scene, thereby extracting the main part of the lane line.
[0060] Step 3: In the image, based on the main part of the lane lines, obtain the coordinates of the road boundary points. Fit the road boundary lines to a cubic function curve using the least squares method, and calculate the road centerline based on the coordinates of the boundary lines. The deviation between the robot's trajectory and the target trajectory is represented by calculating the average offset distance between the centerline position and the center of the field of view.
[0061] Step 4: Control the robot's steering based on the deviation between the robot and the target trajectory. Use the deviation as the input to the controller, calculate the desired robot angular velocity using a PID algorithm, and achieve the steering function through the differential speed of the inner and outer wheels.
[0062] Step 5: Based on steps 2-4, the robot can then operate along a specific trajectory. During operation, the robot uses its own camera to identify landmark QR codes in real time and decodes the QR code information. If the decoded information does not match the designated parking space, the robot continues moving forward; if the decoded information matches the parking space, the robot stops. Figure 4 As shown.
[0063] Step 6: The robot arrives at the parking space. The side camera identifies the sign in the middle of the garage and controls the robot to position the sign in the center of the side camera's field of view. The robot rotates 90 degrees in place so that the front camera is facing the garage. At this point, the robot moves forward into the garage. When the front camera recognizes the QR code containing the parking sign information, the robot completes parking and unloads the vehicle waiting to be parked.
[0064] Step 7: The vehicle exits the garage along its original trajectory. The front-facing camera identifies lane lines, plans a path in real time, and the vehicle leaves the parking space according to the planned path. Specific implementation examples:
[0066] In vacant parking space detection, this invention constructs a vacant parking space detection model based on manual annotation and a convolutional neural network. OpenCV is used to read surveillance images without vehicles, and parking spaces are marked with rectangular boxes in the images. All parking spaces are segmented into individual parking space images, and each image is numbered according to its distance from the parking lot entrance. Subsequently, multiple parking space images with and without vehicles are collected to form a dataset classifying the presence and absence of vehicles. Due to the obvious feature differences, a relatively simple convolutional neural network is trained, and all images are converted to grayscale and sized to 60*20 pixels to standardize the input image size and format. The network input first consists of two convolutional layers nested within a pooling layer, where both convolutional layers are 5*5 and the pooling layer is 2*2. After each pooling layer, the image passes through a ReLU activation function before entering the next module. Finally, a fully connected layer is used, with two output nodes representing the presence and absence of vehicles, respectively. Based on this method, the parking space status detection is completed. The parking robot carries vehicles waiting to be parked. The cloud system counts all available parking spaces and sends the number representing the designated parking space to the robot.
[0067] In the lane detection module, this invention constructs a lane detection algorithm based on color space transformation. The robot's front-facing camera is installed at the center of the front of the robot. During operation, the robot acquires real-time images of the road ahead. To facilitate navigation, the images acquired by the camera are first converted into a bird's-eye view through inverse perspective transformation. The transformation process is as follows: If (a,b) are the coordinates of the image in the camera, (A,B) are the corresponding coordinates of (a,b) in the bird's-eye view, and h is the parameter matrix, the calibration formula is as follows:
[0068]
[0069] Where h = [h1, h2, h3, h4, h5, h6, h7, h8] T .
[0070] Four points are selected from the image captured by the camera, and four corresponding points are determined according to the scale of the bird's-eye view, thus obtaining the calibration matrix h. Then, the bird's-eye view is obtained by performing the following transformation matrix.
[0071]
[0072] To extract lane lines (white) from a bird's-eye view, the RGB image space is transformed to HSV space. The grayscale images of the H and S channels are binarized to obtain images H1 and S1. An AND operation is performed on images H1 and S1 to obtain a fused image I, which contains the approximate outline of the lane lines. To extract the lane line boundaries more precisely, morphological operations are used to filter out non-lane line contours. Then, boundary points are searched from the center outwards in image I, forming two clusters of boundary points on the left and right sides of the image. The least squares method is used to fit the boundary points on both sides to a cubic curve. Based on this, the lane lines are fitted.
[0073] like Figure 3 As shown, during robot navigation, a central guide line is first calculated based on the fitted lane lines on both sides. In each row of the image, if points exist on both lane lines, the center point coordinates are the midpoint; if points exist only on the right side, the center point coordinates are the right boundary point minus half the road width; if points exist only on the left side, the center point coordinates are the left boundary point plus half the road width (road width represents the distance between the two lane lines and the same row of pixels in the bird's-eye view). Then, the offset distance between the lane midpoint coordinates and the image center coordinates of each row in the bird's-eye view is calculated. The average of all results is taken to obtain the average offset distance, which represents the deviation between the robot and the target trajectory.
[0074] During robot movement, both speed and direction need to be controlled. For direction control, differential speed control is used for rotation. The average offset distance calculated above is denoted as error. The output of the differential speed, diff_speed, is obtained through the positional PD algorithm as follows:
[0075] diff_speed=p*error+d*(error-last_error)
[0076] During speed control, the differential speed is correlated with the desired speeds of the two wheels to achieve steering. The robot uses the difference between its own speed (collected by the encoder) and the desired speed as input to the PID controller. Through an incremental PI algorithm, the required duty cycle for motor drive is calculated, thus enabling wheel rotation. The incremental PI output formula is as follows:
[0077] error1 = speed-target
[0078] duty=duty+i*error1+p*(error1-last_error1)
[0079] Where `speed` is the robot's actual linear velocity, `target` is the target velocity of the robot's two wheels, `error1` is the difference between the two, `last_error1` is the `error1` at the previous moment, `p` and `i` are the integral and proportional coefficients, respectively, and `duty` is the duty cycle of the motor output. Through this process, the robot can run along a specific trajectory in the parking lot.
[0080] During operation, the robot uses its own camera to identify landmark QR codes in real time and decodes the QR code information. The identification process is as follows: (1) First, the image is converted into a grayscale image, Gaussian filtering is applied to the image and it is converted into a binary image; (2) Morphological opening and closing operations are performed on the binary image; (3) The possible outlines in the image are extracted using the OpenCV toolkit, the corner positions are determined, and whether it is a QR code is determined based on the number of corners and the closing features of the outline; (4) Perspective correction is performed on the QR code based on the corner positions; (5) The ID matrix inside the QR code is extracted and the ID sequence is identified.
[0081] Through the above steps, the QR code is decoded. If the decoded information does not match the designated parking space, the robot continues to move forward. If the decoded information matches the parking space, the robot slows down, the side camera identifies the red sign in the middle of the garage, reads the RGB image from the side camera, and extracts the entire outline of the sign through the R channel. If the center of the outline is in the middle of the side camera's field of view, the robot rotates 90 degrees in place so that the front camera is facing the garage. At this time, the robot moves forward into the garage. When the front camera identifies the QR code containing the parking sign information, the robot completes parking and unloads the vehicle waiting to be parked.
[0082] Ultimately, the robot exits the garage along its original trajectory, still using its front-facing camera to identify lane lines and navigating based on the offset distance between the lane midpoint coordinates and the image center coordinates. A PID controller manages the robot's steering and speed. Upon receiving commands from the cloud, it returns to its starting position.
Claims
1. A parking assistance method based on a vision-guided parking robot, characterized in that, Includes the following steps: Step 1: Upload the surveillance video of the parking lot layout to the cloud, and read the surveillance video frame by frame in the cloud; A parking space detection model based on manual annotation and convolutional neural network is constructed. Parking spaces are marked in the monitoring image without vehicles in advance, and all parking spaces are segmented in the marked area. Then, the presence of vehicles in the parking spaces in the monitoring video image is detected to identify whether there are any vacant parking spaces. The car owner parks the car at the parking lot entrance, the parking robot carries the vehicle waiting to be parked, and the cloud sends the location information of the designated parking space to the parking robot; Step 2: Construct a lane line detection algorithm based on color space transformation; The parking robot reads road images through its front-facing camera, transforms the road images into a bird's-eye view through inverse perspective transformation, transforms the RGB image into HSV space, merges the hue and saturation images, and automatically adjusts the image threshold according to the scene lighting conditions to obtain a binarized image that reflects the lane line scene, thereby extracting the main part of the lane line. Step 3: In the road image, based on the main part of the lane lines, obtain the coordinates of the road boundary points. Fit the road boundary line into a cubic function curve using the least squares method. Calculate the road centerline based on the coordinates of the boundary line. The deviation between the robot and the target trajectory is represented by calculating the average offset distance between the position of the road centerline and the center of the field of view. Step 4: Control the robot's steering based on the deviation between the robot and the target trajectory. Use the deviation as the input to the controller, calculate the desired angular velocity of the robot through the control algorithm, and achieve the steering function through the differential speed of the inner and outer wheels. Step 5: Based on steps 2 to 4, the robot runs along the designated trajectory. During the operation, the robot uses its own camera to identify the landmark QR code in real time and decodes the QR code information. If the decoded information does not match the designated parking space, the robot continues to move forward; if the decoded information matches the parking space, the robot stops. Step 6: The robot arrives at the parking space. The robot's side camera identifies the sign in the middle of the parking space and controls the robot to position the sign in the center of the side camera's field of view. The robot rotates 90 degrees in place so that its front-facing camera is aimed at the parking space. At this time, the robot moves forward into the parking space. When the front-facing camera recognizes the QR code containing the parking sign information, the robot completes parking and unloads the vehicle waiting to be parked. Step 7: The vehicle exits the parking space along the original trajectory. The front-facing camera identifies lane lines, plans a path in real time, and leaves the parking space according to the planned path.
2. The assisted parking method based on a vision-guided parking robot according to claim 1, characterized in that, The empty parking space detection model based on manual annotation and convolutional neural networks is as follows: Step 1-1: Read the surveillance images without vehicles, mark the parking spaces in the images with rectangles, divide all parking spaces into single parking space images, and number all images according to the distance of the parking spaces from the parking lot entrance. Steps 1-2: Collect multiple images of parking spaces with and without cars to form a dataset classifying parking spaces with and without cars, and convert all images to grayscale images, and uniformly convert the image size to 60*20. Steps 1-3: Train the convolutional neural network; The network input layer consists of two convolutional layers nested within a pooling layer, with both convolutional layers being 5x5 and the pooling layer being 2x2. After passing through the pooling layer, the network is connected to a fully connected layer via the ReLU activation function. The fully connected layer has two output nodes, representing the states of having a car and not having a car. Steps 1-4: The parking robot carries the vehicles waiting to be parked, counts all available parking spaces in the cloud, and sends the number representing the designated parking space to the robot.
3. The assisted parking method based on a vision-guided parking robot according to claim 2, characterized in that, The lane line detection algorithm is as follows: Step 2-1: Install the robot's front-facing camera at the center of the front of the robot so that the robot can collect real-time images of the road ahead during operation; Step 2-2: Convert the image captured by the camera into a bird's-eye view using inverse perspective transformation: Let (a,b) be the coordinates of the image, (A,B) be the coordinates of (a,b) in the bird's-eye view, and h be the parameter matrix. The calibration formula is as follows: Where h = [h1, h2, h3, h4, h5, h6, h7, h8] T ; Steps 2-3: Select four points on the image and determine the four corresponding points according to the scale of the bird's-eye view, thereby obtaining the calibration matrix h; then, obtain the bird's-eye view by performing the following transformation matrix. Steps 2-4: Transform the RGB image space to HSV space, binarize the grayscale images of the H and S channels to obtain images H1 and S1, and perform an AND operation on images H1 and S1 to obtain a fused image I, which contains the outline of the lane lines; filter out the outlines that are not lane lines through morphological operations, and then search for boundary points from the middle to both sides in image I, forming two sets of boundary points on the left and right sides of the image; use the least squares method to fit the boundary points on both sides into a cubic curve, thus achieving the fitting of the lane lines.
4. The assisted parking method based on a vision-guided parking robot according to claim 3, characterized in that, Step 3 specifically involves: Step 3-1: Calculate a center guide line based on the fitted lane lines on both sides; In each row of the image, if there are points on the lane lines on both sides, the center point coordinates are the midpoint; if there are points on the lane lines only on the right side, the center point coordinates are the right boundary point minus half the road width; if there are points on the lane lines only on the left side, the center point coordinates are the left boundary point plus half the road width. Step 3-2: Calculate the offset distance between the midpoint coordinates of each lane in the bird's-eye view and the center coordinates of the image. Take the average of all results to obtain the average offset distance, which represents the deviation between the robot and the target trajectory.
5. The assisted parking method based on a vision-guided parking robot according to claim 4, characterized in that, Step 4 specifically involves: Step 4-1: During the robot's movement, it is necessary to control the robot's speed and direction respectively; Step 4-2: During direction control, the robot's rotation uses differential speed control. The average offset distance is recorded as error. The output of the differential speed diff_speed is obtained through the position-based PD algorithm as follows: diff_speed=p*error+d*(error-last_error) Step 4-3: During speed control, the differential speed is correlated with the desired speed of the wheels on both sides to achieve steering; the robot uses the difference between its own speed and the desired speed collected by the encoder as the input of the PID controller, and calculates the duty cycle required for motor drive through the incremental PI algorithm to achieve wheel rotation. The incremental PI output formula is as follows: error1 = speed-target duty=duty+i*error1+p1*(error1-last_error1) Where speed is the robot's actual linear velocity, target is the target velocity of the robot's two wheels, error1 is the difference between the two, last_error1 is the error1 at the previous moment, p1 and i are the proportional coefficient and integral coefficient, respectively, and duty is the duty cycle of the motor output; the parking robot runs in the parking lot according to the specified trajectory.
6. The assisted parking method based on a vision-guided parking robot according to claim 5, characterized in that, The robot uses its own camera to identify landmark QR codes in real time and decodes the QR code information. The specific process is as follows: Step 5-1: Convert the image to a grayscale image, perform Gaussian filtering on the image, and convert it to a binarized image; Step 5-2: Perform morphological opening and closing operations on the binary image; Step 5-3: Extract possible outlines from the image, determine the corner positions, and determine whether it is a QR code based on the number of corners and the closure characteristics of the outline; Step 5-4: Perform perspective correction on the QR code based on the corner positions; Step 5-5: Extract the ID matrix inside the QR code and identify the ID sequence.