Parking control methods, electronic devices, and storage media

The integration of LiDAR and visual sensors in a parking control method for mobile robots improves navigation precision and reliability, addressing the limitations of existing technologies by enabling centimeter-level accuracy in docking and task completion.

WO2026103377A1PCT designated stage Publication Date: 2026-05-21ZHEJIANG HUARAY TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
ZHEJIANG HUARAY TECH CO LTD
Filing Date
2025-09-30
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

Existing navigation technologies for mobile robots, such as AGVs, struggle to achieve centimeter-level precision and reliability in navigation tasks, particularly in scenarios requiring high precision and reliability.

Method used

A parking control method utilizing a LiDAR to determine the position of a reflective target, controlling the vehicle to a recognition area of a visual marker, determining the pose relationship between the vehicle and the visual marker using a visual sensor, and guiding the vehicle to a parking target point based on this relationship.

Benefits of technology

Enhances navigation precision and reliability by combining LiDAR and visual sensors to achieve high-precision parking control, ensuring accurate docking and task execution in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025125606_21052026_PF_FP_ABST
    Figure CN2025125606_21052026_PF_FP_ABST
Patent Text Reader

Abstract

A parking control method, electronic device, and storage media. The method comprises the following operations. A position of a reflective target is determined by a LiDAR. A vehicle is controlled to move to a recognition area of a visual marker. A pose relationship between the vehicle and the visual marker is determined based on a visual sensor within the recognition area of the visual marker. A parking target point is determined based on the pose relationship. The vehicle is controlled to move toward the parking target point.
Need to check novelty before this filing date? Find Prior Art

Description

PARKING CONTROL METHODS, ELECTRONIC DEVICES, AND STORAGE MEDIACROSS-REFERENCE TO RELATED APPLICATIONS

[0001] The present disclosure claims priority to Chinese Patent Application No. 202411640324.1, filed on November 15, 2024, and Chinese Patent Application No. 202511107187. X, filed on August 7, 2025, the entire contents of each of which are incorporated herein by reference.TECHNICAL FIELD

[0002] The present disclosure relates to the technical field of device navigation, and in particular, to a parking control method, an electronic device, and a storage medium.BACKGROUND

[0003] Mobile robots, such as automated guided vehicles (AGVs) , logistics robots, service robots, or the like, have been widely applied in a plurality of fields including warehousing and logistics, smart factories, and commercial services. In these application scenarios, core tasks of mobile robots usually include precisely moving to specific positions and completing docking.

[0004] In related technologies, navigation technologies of mobile robots focus on global path planning or planning navigation paths based on references. Although centimeter-level path navigation can be achieved, it is still difficult to meet requirements of application scenarios with high precision and high reliability.

[0005] Therefore, it is desirable to provide a parking control method, an electronic device, and a storage medium to achieve navigation with higher precision and higher reliability.SUMMARY

[0006] The present disclosure provides a parking control method in one or more embodiments. A parking control method comprises the following operations. A position of a reflective target is determined by a LiDAR. A vehicle is controlled to move to a recognition area of a visual marker based on the position of the reflective target. A pose relationship between the vehicle and the visual marker is determined based on a visual sensor within the recognition area of the visual marker. A parking target point is determined based on the pose relationship. The vehicle is controlled to move toward the parking target point.

[0007] The present disclosure provides an electronic device in one or more embodiments. The electronic device comprises at least one processor and at least one storage. The at least one storage is configured to store computer instructions. The at least one processor is configured to execute at least a portion of the computer instructions to implement the parking control method.

[0008] The present disclosure provides a computer-readable storage medium in one or more embodiments. The computer-readable storage medium stores computer instruction. When a computer reads the computer instructions from the computer-readable storage medium, the computer executes the parking control method.BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The present disclosure will be further described by way of exemplary embodiments, which are described in detail with reference to the accompanying drawings. These embodiments are not limiting. In the embodiments, identical reference numerals indicate identical structures, in which:

[0010] FIG. 1 is a schematic diagram illustrating an application scenario of the parking control methods according to some embodiments of the present disclosure;

[0011] FIG. 2 is a flowchart of an exemplary process of the parking control methods according to some embodiments of the present disclosure;

[0012] FIG. 3 is a schematic diagram illustrating a parking control process according to some embodiments of the present disclosure;

[0013] FIG. 4 is a schematic diagram illustrating a visual marker according to some embodiments of the present disclosure;

[0014] FIG. 5 is another schematic diagram illustrating a visual marker according to some embodiments of the present disclosure;

[0015] FIG. 6 is still another schematic diagram illustrating a visual marker according to some embodiments of the present disclosure;

[0016] FIG. 7 is a schematic diagram illustrating controlling a vehicle to move toward a parking target point according to some embodiments of the present disclosure;

[0017] FIG. 8 is a schematic diagram illustrating determining a visual-perceived distance according to some embodiments of the present disclosure;

[0018] FIG. 9 is a schematic diagram illustrating a method of determining a final-perceived distance according to some embodiments of the present disclosure;

[0019] FIG. 10 is another schematic diagram illustrating a method of determining a final-perceived distance according to some embodiments of the present disclosure;

[0020] FIG. 11 is a flowchart of an exemplary process of determining a final-perceived distance according to other embodiments of the present disclosure;

[0021] FIG. 12 is a schematic diagram illustrating a method of controlling movement of a vehicle according to some embodiments of the present disclosure;

[0022] FIG. 13 is a flowchart of an exemplary process of controlling movement of a vehicle according to some embodiments of the present disclosure;

[0023] FIG. 14 is a block diagram of an exemplary parking control device according to some embodiments of the present disclosure;

[0024] FIG. 15 is a flowchart of an exemplary process of determining a pose of a visual marker relative to a visual sensor according to some embodiments of the present disclosure;

[0025] FIG. 16 is a schematic diagram illustrating a parking control process according to other embodiments of the present disclosure;

[0026] FIG. 17 is a flowchart of an exemplary process of determining a parking target point according to some embodiments of the present disclosure;

[0027] FIG. 18 is a schematic diagram illustrating a graph optimization model according to some embodiments of the present disclosure;

[0028] FIG. 19 is another schematic diagram illustrating a graph optimization model according to some embodiments of the present disclosure;

[0029] FIG. 20 is a flowchart of an exemplary process of a vehicle docking method according to some embodiments of the present disclosure; and

[0030] FIG. 21 is a block diagram of another exemplary parking control device according to some embodiments of the present disclosure.DETAILED DESCRIPTION

[0031] In order to more clearly describe technical solutions of embodiments of the present disclosure, a brief introduction of drawings to be used in the description of the embodiments is provided below. Obviously, the drawings described below are merely some examples or embodiments of the present disclosure. For those of ordinary skill in the art, without creative efforts, the present disclosure may also be applied to other similar situations based on these drawings. Unless otherwise apparent from the context or specifically stated, identical reference numerals in the drawings represent identical structures or operations.

[0032] It should be understood that, as used herein, the terms "system" , "device" , "unit, " and / or "module" are used herein as a way to distinguish between different components, elements, parts, sections, or assemblies at different levels. However, if other words may achieve the same purpose, such words may replace the foregoing expressions.

[0033] As shown in the present disclosure and the claims, unless the context clearly indicates otherwise, terms “a, ” “an, ” “one, ” and / or “the” do not exclusively indicate singularity and may also include plurality. Generally, terms “include” and “contain” only indicate inclusion of explicitly identified steps and elements, and the steps and elements are not an exclusive list, and methods or devices may also include other steps or elements.

[0034] Flowcharts are used in the present disclosure to illustrate operations performed by systems according to embodiments of the present disclosure. It should be understood that the operations before or after do not necessarily need to be performed in an exact sequence. On the contrary, the operations may be performed in reverse order or simultaneously. Meanwhile, other operations may be added to or one or more operations may be removed from these processes.

[0035] A mobile robot refers to a robot with autonomous movement and environmental perception capabilities, such as logistics robots, automated guided vehicles (AGVs) , guide robots, cleaning robots, or the like.

[0036] In a robot system, navigation technology is one of the most important core technologies. The navigation technology mainly determines current pose information of a robot by sensor technologies and clarifies a running route of the robot based on destination information. At present, the robot navigation technologies may be divided into two types of manners: one type relies only on a global map and global positioning to guide a mobile device to move to a target pose; the other type pre-sets references, and dynamically plans a navigation path based on a pose and an orientation of the references relative to the mobile device. The navigation based on references has higher stability, accuracy, and flexibility However, in the navigation based on the references, generally only centimeter-level path navigation is supported, which cannot meet requirements of tasks with higher precision. Gher precision tasks.

[0037] FIG. 1 is a schematic diagram illustrating an application scenario of the parking control methods according to some embodiments of the present disclosure.

[0038] As shown in FIG. 1, an application scenario 100 of the parking control method includes a visual marker 110, a reflective target 120, a vehicle 130, and a processor 140.

[0039] The visual marker 110 includes at least one visual identification code band. For example, the visual marker includes only one visual identification code band, such as a visual identification code band 111 disposed on one side (e.g., a left side) of a traveling path of the vehicle, or a visual identification code band 112 disposed on the other side (e.g., a right side) of the traveling path of the vehicle. As another example, the visual marker 110 includes two visual identification code bands (e.g., the visual identification code band 111 and the visual identification code band 112) respectively disposed on two sides of the driving path. The visual identification code band 111 and the visual identification code band 112 contain structured annotations (e.g., one or more visual identification codes) for visual identification. The visual identification codes include ArUco codes, QR codes, or the like.

[0040] More descriptions regarding the visual marker 110 may be found in related descriptions in FIG. 2 of the present disclosure.

[0041] The reflective target 120 includes a dedicated marker made of reflective materials.

[0042] The reflective target 120 may be disposed at a parking end of the vehicle. For example, the reflective target 120 may be disposed on one side of a docking mechanism of the vehicle, below the docking mechanism, or at other positions capable of positioning the docking mechanism.

[0043] The vehicle 130 refers to a robot with an autonomous movement capability and an environmental perception capability.

[0044] In some embodiments, the vehicle includes a logistics robot, an AGV, an autonomous mobile robot (AMR) , a guide robot, a cleaning robot, or the like.

[0045] Core tasks of the vehicle include precisely moving to specific workstations (e.g., a charging pile, a loading and unloading station, or a workbench) and completing docking to perform subsequent tasks such as charging, loading, or performing specific operations.

[0046] The parking control includes navigation and control of an entire process of movement, stopping, and docking of the vehicle 130.

[0047] In some embodiments, visual sensors and / or ranging sensors configured to detect the visual marker 110 are deployed on two sides of the vehicle 130. The visual sensors and the ranging sensors perceive information such as a distance between the vehicle 130 and the visual marker 110, and a pose of the vehicle 130.

[0048] In some embodiments, the vehicle 130 may further be deployed with a LiDAR and / or an odometer. The LiDAR may cooperate with the reflective target 120 to generate LiDAR data for acquiring a current pose of the vehicle 130. The odometer may acquire odometry data of the vehicle 130.

[0049] The processor 140 is configured to process information and / or data generated during a parking control process. In some embodiments, the processor may be integrated in a terminal device or other physical devices (e.g., a user equipment (UE) , a computer, a mobile device, a user terminal, a terminal, a cellular phone, a cordless phone, a personal digital assistant (PDA) , a handheld device, a computing device, an in-vehicle device, or a wearable device) capable of performing information and / or data processing. The processor in the terminal device or the physical device communicates with the vehicle through a network to implement the parking control of the vehicle.

[0050] In some embodiments, the processor 140 may also be a data processing component disposed in the vehicle 130, and the vehicle 130 itself may process information and / or data to implement the parking control.

[0051] Merely by way of example, the processor 140 may be a device independent of the vehicle 130, and is configured to perform path planning based on the distance between the vehicle 130 and the visual marker 110 uploaded by the vehicle 130, as well as the pose of the vehicle 130, or the like, so as to control movement of the vehicle 130 according to a result of the path planning.

[0052] FIG. 2 is a flowchart of an exemplary process of the parking control methods according to some embodiments of the present disclosure. As shown in FIG. 2, the process 200 includes the following operations. In some embodiments, the process 200 may be executed by a processor (e.g., the processor 140) .

[0053] In 210, a position of a reflective target is determined by a LiDAR.

[0054] The LiDAR is an optical measurement device configured to acquire point cloud data of a surrounding environment by emitting laser beams and receiving reflection signals.

[0055] In some embodiments, the LiDAR may be disposed on the vehicle or other devices capable of autonomous movement and environmental perception.

[0056] In some embodiments, the LiDAR may be disposed on at least one position (e.g., at least one of a top, a front-left, a front-right, a rear-left, or a rear-right of the vehicle) of the vehicle.

[0057] The reflective target is a marker with reflection characteristics. For example, the reflective target may be an artificial visual marker made of high-reflectivity materials, such as a microprism retroreflective film, a metal foil, or a substrate coated with reflective paint. In some embodiments, the reflective target includes a plurality of laser reflective strips attached to designated positions. The plurality of laser reflective strips may be placed at fixed intervals.

[0058] In some embodiments, the reflective target may generate reflection signals significantly stronger than an environmental background at specific wavelengths (e.g., 905 nm, 1550 nm, or other possible wavelengths) of the LiDAR, so as to facilitate being recognized and located in the point cloud data.

[0059] In some embodiments, the position of the reflective target includes at least one of a three-dimensional spatial position of the reflective target and a rotation angle. For example, the position of the reflective target may be a relative position of the reflective target in a three-dimensional space under a coordinate system of the LiDAR, such as three-dimensional coordinates (x, y, z) , or a position represented in other ways. As another example, the rotation angle is used to describe a spatial pose deviation of the reflective target relative to the coordinate system of the LiDAR. The rotation angle includes angle information such as a tilt, a yaw, and a pitch of the reflective target relative to the coordinate system of the LiDAR. A tilt angle may be a rotation angle around an x-axis, a yaw angle may be a rotation angle around a z-axis, and a pitch angle may be a rotation angle around a y-axis.

[0060] As another example, the position of the reflective target may be expressed in a plurality of forms. For example, the reflective target may be at a position of 2 meters in front of the LiDAR, 0.5 meters above a ground, and facing the LiDAR. As another example, the reflective target is located at a position of (2 m, 0 m, 0.5 m) under a coordinate system in which the LiDAR is taken as an origin, a forward horizontal direction is defined as a y-axis direction, a direction perpendicular to the forward horizontal direction is defined as an x-axis direction, and a direction perpendicular to a horizontal plane is defined as a z-axis direction. The coordinate system may be set in various ways and is determined according to actual requirements.

[0061] As shown in FIG. 1, in a coordinate system, an origin (O) is an intersection of three axes and represents a position of (0, 0, 0) . The y-axis extends horizontally forward from the origin (apositive direction is forward, e.g., toward an observer or a moving direction) . The x-axis extends horizontally from the origin and is perpendicular to the y-axis. Assuming that a positive direction is to the right (from a perspective of the observer) , the x-axis points to a right side of the y-axis. The z-axis extends vertically from the origin and is perpendicular to a horizontal plane (apositive direction is upward) . FIG. 1 illustrates a top view of a xy-plane.

[0062] In some embodiments, the processor may control the LiDAR to emit laser beams, acquire point cloud data reflected by the reflective target, and determine a position of the reflective target based on the point cloud data.

[0063] In some embodiments, the processor may obtain point cloud data of a scene to be positioned acquired by the LiDAR, and determine a pose of the reflective target using the point cloud data. The scene to be positioned refers to an environment where the vehicle is located. In the scene to be positioned, the reflective target, the visual marker, and the vehicle need to be positioned, so as to control the vehicle to move toward the parking target point. The pose is a general term combining a position and an orientation, and the position is three-dimensional coordinates of an object. The orientation refers to a rotation state of the object relative to a coordinate system. The visual marker is a structured marker deployed on two sides of a driving path of an AGV and is configured to provide high-precision pose references. By determining a position of the visual marker, positioning support may be provided for the AGV, and a trigger for switching navigation stages of the AGV may be determined based on the position of the visual marker.

[0064] FIG. 3 is a schematic diagram illustrating a parking control process according to some embodiments of the present disclosure.

[0065] As shown in FIG. 3, in the parking control scenario, the reflective target may be attached to a planar structure below a docking mechanism, and a center of the reflective target overlaps with a center of the docking mechanism, or the reflective target may be deployed in other feasible ways. For example, a dashed box 303 represents a front view of the docking mechanism shown in FIG. 3 (FIG. 3 is a top view) , and the reflective target is attached below the docking mechanism.

[0066] As another example, the LiDAR may be disposed at a front-left of the vehicle and a rear-right of the vehicle. During the parking control process, the vehicle may start the LiDAR to acquire the point cloud data of the scene to be positioned, so as to determine the pose of the reflective target using the point cloud data.

[0067] In 220, a vehicle is controlled to move to a recognition area of a visual marker based on the position of the reflective target.

[0068] The recognition area of the visual marker refers to an area in which a position may be identified by a visual sensor.

[0069] In some embodiments, the recognition area of the visual marker includes the recognition area of the visual marker. In the recognition area of the visual marker, the processor may acquire image data of the visual marker by the visual sensor (e.g., a camera) .

[0070] The visual marker refers to a marker disposed at a specific position and having a specific pattern or code that may be recognized and processed by the visual sensor. The visual marker may provide precise visual positioning and navigation references for the AGV or other similar mobile devices.

[0071] In some embodiments, the visual marker includes a visual identification code band. As another example, the visual identification code band includes one or more visual identification codes. In some embodiments, when the visual identification code band includes a plurality of visual identification codes, the visual identification codes (e.g., QR codes, ArUco codes, or AprilTags) may be arranged and attached at intervals in a fixed ID sequence on a plane (e.g., a plane parallel to a yz-plane of the coordinate system shown in FIG. 1. A structure for attaching the visual identification codes may be disposed on the plane parallel to the yz-plane, and the specific structure is not limited) , so as to form the visual identification code band as an artificial visual marker for recognition by the visual sensor.

[0072] In some embodiments, the visual marker may also be referred to as a visual target, and the visual identification code may also be referred to as an identification code.

[0073] FIG. 4 is a schematic diagram illustrating a visual marker according to some embodiments of the present disclosure.

[0074] In some embodiments, the visual marker includes a left visual identification code band and a right visual identification code band. The left visual identification code band and the right visual identification code band are determined relative to the driving path of the vehicle. As shown in FIG. 3, an arrow in FIG. 3 represents a driving direction of the vehicle, 301 represents the left visual identification code band, and 302 represents the right visual identification code band. As shown in FIG. 4, the left visual identification code band and the right visual identification code band are both composed of a plurality of ArUco codes arranged linearly at intervals, and the ArUco codes arranged in the left visual identification code band and the right visual identification code band are arranged symmetrically so as to facilitate subsequent synchronous recognition of the left visual identification code band and the right visual identification code band by the visual sensor.

[0075] As another example, a code band coordinate system may be established by using a code center of an ArUco code (e.g., an ArUco code marked by a dashed box in FIG. 4) , so as to calculate the pose of the visual sensor in the code band coordinate system by an identity document (ID) corresponding to each ArUco code during recognition. Since the ArUco codes arranged in the left visual identification code band and the right visual identification code band are arranged symmetrically, a coordinate system of the left visual identification code band and a coordinate system of the right visual identification code band may be unified by using the ArUco code with a same ID as an origin, thereby facilitating synchronous recognition of the left visual identification code band and the right visual identification code band by the visual sensor.

[0076] In some embodiments, in addition to an implementation manner of the visual identification code band exemplified in FIG. 4, other forms of the visual identification code band may also be used.

[0077] FIG. 5 is another schematic diagram illustrating a visual marker according to some embodiments of the present disclosure.

[0078] In some embodiments, the visual marker includes a single visual identification code band disposed on a left side or a right side of the vehicle. As shown in FIG. 5, the single visual identification code band includes a plurality of rows of ArUco codes. In some embodiments, the single visual identification code band may also include a single row of ArUco codes.

[0079] FIG. 6 is still another schematic diagram illustrating a visual marker according to some embodiments of the present disclosure.

[0080] In some embodiments, the single visual identification code band of the visual marker may also be in other forms. As shown in FIG. 6, the single visual identification code band includes a single row of ArUco codes, in which an identical ArUco code is additionally arranged above and below (e.g., 601 indicates above and 602 indicates below in FIG. 6) each preset number of ArUco codes in the single row. Of course, other forms of the visual marker may also be used, such as ArUco codes arranged and combined into geometric shapes or the ArUco codes arranged and combined into wave shapes.

[0081] In some embodiments, the processor may control the vehicle to move to the recognition area of the visual marker based on the position of the reflective target.

[0082] In some embodiments, the recognition area of the visual marker may also be referred to as the recognition area or the recognition area of the visual marker. The recognition area of the visual marker refers to an area in which the image data of the visual marker may be acquired.

[0083] In some embodiments, the processor may navigate or control the vehicle to move to the recognition area of the visual marker based on a pose relationship between the reflective target and the visual marker. The poses (e.g., extrinsic parameters) of the visual sensor and the LiDAR on the vehicle are known. At the same time, a size of the vehicle is also known. Therefore, since it is strictly required that positions of the visual markers and the reflective targets are arranged according to relative positions to a theoretical parking position, and relative positions of each sensor and each recognized target of the vehicle during a docking process are in an ideal situation, the pose relationship between the reflective target and the visual marker is considered to be known.

[0084] If, based on the pose relationship between the reflective target and the visual marker, the vehicle is determined not to have entered the recognition area of the visual marker, the vehicle continues to be navigated to move to the recognition area of the visual marker.

[0085] As shown in FIG. 3, when the vehicle has not entered the recognition area of the visual marker, the vehicle is in a LiDAR perception stage. After entering the recognition area of the visual marker, the vehicle enters a visual perception stage, and the visual sensor starts to acquire image data of the visual marker so as to obtain a visual-perceived pose, thereby navigating to a task end point. After entering an adjacent area of the task end point, the vehicle enters a multi-sensor fusion perception stage, and positioning and navigation are performed by combining a plurality of sensors including a ranging sensor, the LiDAR, and the visual sensor until the task end point is reached. The task end point may be a position where the parking target point is located. The adjacent area refers to an area within a preset distance range around the task end point. For example, the adjacent area is an area within a radius range of 5 meters or 6 meters. As another example, the adjacent area is an area within a rectangular range formed by enclosing the reflective target and the visual marker, such as a range indicated by a rectangular dashed box in FIG. 3.

[0086] In some embodiments, the ranging sensor may be initiated after the vehicle enters the recognition area of the visual marker, or after a valid visual-perceived pose is calculated. In some embodiments, the ranging sensor may be initiated after the vehicle enters the adjacent area of the task end point. The valid visual-perceived pose is pose data output by the visual sensor and verified as reliable. A verification manner includes clearly recognizing a sufficient count of the identification codes in an image.

[0087] In some embodiments of the present disclosure, the vehicle is first navigated to the recognition area of the visual marker based on the LiDAR, and then movement of the vehicle is controlled by combining advantages of the LiDAR, the visual sensor, the ranging sensor, and the like, so as to improve accuracy of execution of the navigation task and efficiency of device usage.

[0088] In 230, a pose relationship between the vehicle and the visual marker is determined based on a visual sensor within the recognition area of the visual marker.

[0089] The pose relationship refers to an association relationship between the pose of the vehicle and the visual marker. The pose relationship between the vehicle and the visual marker includes a relationship among the pose of the vehicle in the world coordinate system, the pose of the visual marker in the world coordinate system, and the pose of the visual marker relative to a visual sensor in the vehicle.

[0090] In some embodiments, the pose of the vehicle in the world coordinate system may also be referred to as the visual-perceived pose, and the pose of the visual marker relative to the visual sensor in the vehicle may also be referred to as a visual-coordinate system pose. That is, the pose relationship between the vehicle and the visual marker includes a relationship among the visual-perceived pose, the pose of the visual marker in the world coordinate system, and the visual-coordinate-system pose.

[0091] The world coordinate system refers to a reference coordinate system used for uniformly describing positions and directions of a plurality of objects in a real three-dimensional space. For example, the world coordinate system may be a coordinate system capable of describing absolute positions of the plurality of objects (e.g., the vehicle, the reflective target, the visual marker, and the parking target point) in a parking control system in a space where the plurality of objects are located. For example, the world coordinate system is a geographic coordinate system or a fixed coordinate system determined in other reasonable manners.

[0092] A visual-coordinate system refers to a coordinate system established by taking the visual sensor in the vehicle as an origin. Coordinate axes of the visual-coordinate system may be set according to actual situations.

[0093] In some embodiments, since the vehicle acquires different image data of the visual identification code band at different positions with different orientations, the visual-coordinate-system poses of the visual identification code band are different. However, the pose of the visual marker in the world coordinate system is determined, and a relationship among the pose of the visual marker in the world coordinate system, the pose of the vehicle in the world coordinate system, and the pose of the visual marker relative to the visual sensor in the vehicle is determined.

[0094] During a process of acquiring the image data of the visual marker by the visual sensor, characteristics of the visual sensor also affect the pose of the visual marker relative to the visual sensor. Therefore, when determining the relationship among the pose of the visual marker in the world coordinate system, the pose of the vehicle in the world coordinate system, and the pose of the visual marker relative to the visual sensor in the vehicle, external calibration parameters of the visual sensor may also be considered.

[0095] In some embodiments, the processor may represent the pose relationship between the vehicle and the visual marker by the following equation (1) :

[0096] Where represents the pose of the visual marker in the world coordinate system,  represents the pose of the vehicle in the world coordinate system,  represents external calibration parameters of the visual sensor in the vehicle coordinate system (acoordinate system established by taking a motion center of the vehicle as an origin) , and represents the pose of the visual marker relative to the visual sensor in the vehicle.

[0097] The pose of the visual marker in the world coordinate system the external calibration parameters of the visual sensor in the vehicle coordinate system and the pose of the visual marker relative to the visual sensor in the vehicle are all acquirable. Therefore, in some embodiments, the processor may solve the equation (1) , to obtain the pose of the vehicle in the world coordinate system

[0098] The external calibration parameters of the visual sensor in the vehicle coordinate system refer to characteristics of the visual sensor in the vehicle coordinate system, and are usually constants, but may also be pre-acquired by the processor. For example, the external calibration parameters of the visual sensor in the vehicle coordinate system may be acquired based on manual input, or may be determined by invoking specification parameters, installation data, or the like of the visual sensor.

[0099] In some embodiments, the processor may control the visual sensor in the vehicle to acquire the image data of the visual marker, analyze the image data, and determine the pose of the visual marker relative to the visual sensor in the vehicle

[0100] In some embodiments, the visual sensors may be disposed on the left and right sides of the vehicle. The visual sensors disposed on the two sides of the vehicle may collect the image data of the visual markers separately.

[0101] In some embodiments, the processor may determine a visual-coordinate-system pose of the visual identification code band (the visual marker) relative to the visual sensor based on the image data of the visual identification code band acquired.

[0102] It should be noted that, if the visual identification code band includes one visual identification code, since a size of the visual identification code is known, an image feature of the visual identification code in the image data may be extracted to obtain the visual-coordinate-system pose of the visual identification code band. If the visual identification code band includes a plurality of visual identification codes, since a size of each visual identification code and an interval between the visual identification codes are known, image features corresponding to the plurality of visual identification codes contained in the image data may be extracted, and the visual-coordinate-system pose of the visual identification code band relative to the visual sensor may be solved by combining all extracted image features of the visual identification codes.

[0103] As another example, the image features of the visual identification code include, but are not limited to, an ID corresponding to the visual identification code and pixel coordinates of corner points. Based on the ID corresponding to the visual identification code and the pixel coordinates of the corner points, the PnP (Perspective-n-Point) algorithm may be used to solve the visual-coordinate-system pose of the visual identification code band relative to the visual sensor.

[0104] In some embodiments, the processor may further determine a pose of the visual marker relative to the visual sensor by other manners based on the image data acquired by the visual sensor. More descriptions may be found in FIG. 15 of the present disclosure and related descriptions thereof.

[0105] In some embodiments, since the visual sensors disposed on two sides of the vehicle may obtain two visual-perceived poses, the processor may perform a weighted summation on the two visual-perceived poses to obtain a final visual-perceived pose. The weights used in the weighted summation may be preset according to experience or may be flexibly determined. For example, an image quality score may be determined based on the image data acquired by each visual sensor, and the weight corresponding to each visual-perceived pose may be determined according to the image quality score. A higher image quality score corresponds to a higher weight. As another example, the vehicle pose perceived by other sensors may be acquired, and a difference between each visual-perceived pose and the vehicle pose perceived by the other sensors may be determined. The weight corresponding to each visual-perceived pose may be determined according to the difference. A smaller difference corresponds to a higher weight. As another example, both the image quality score and a difference between the vehicle poses perceived by the other sensors may be comprehensively considered to set the weight corresponding to each visual-perceived pose.

[0106] In some embodiments, the processor may also select any one of the visual-perceived poses as a final visual-perceived pose. For example, the processor may select the visual-perceived pose determined from the image data with a highest image quality score as the final visual-perceived pose. Alternatively, the processor may select the visual-perceived pose with a smallest difference from the vehicle pose perceived by other sensors as the final visual-perceived pose. Alternatively, the processor may determine a recommended index of each visual-perceived pose based on both the image quality score and the difference from the vehicle pose perceived by the other sensors, and select the visual-perceived pose with a highest recommended index as the final visual-perceived pose.

[0107] In 240, a parking target point is determined based on the pose relationship.

[0108] The parking target point refers to an end point of movement of the vehicle. In some embodiments, the parking target point includes a pose (e.g., a position, an orientation, or the like) of the vehicle in the world coordinate system when the vehicle arrives at the parking target point.

[0109] In some embodiments, the processor may determine the parking target point according to the pose relationship between the vehicle and the visual marker corresponding to any moment during the movement of the vehicle and the pose relationship between the vehicle and the visual marker corresponding to a moment of parking arrival.

[0110] During the movement of the vehicle, the pose relationship between the vehicle and the visual marker may always satisfy the foregoing equation (1) . Therefore, at any moment during the movement of the vehicle and at the moment of parking arrival, the following equation (2) and equation (3) may be constructed:

[0111] Where t1 represents any moment during the movement of the vehicle, equation (2) represents the pose relationship between the vehicle and the visual marker corresponding to t1 during the movement of the vehicle,  represents the pose of the visual marker in the world coordinate system at t1,  represents the pose of the vehicle in the world coordinate system at t1,  represents external calibration parameters of the visual sensor in the vehicle coordinate system at t1, and represents the pose of the visual marker relative to the visual sensor in the vehicle at t1; t2 represents a moment of parking arrival, equation (3) represents the pose relationship between the vehicle and the visual marker corresponding to t2,  represents the pose of the visual marker in the world coordinate system at t2,  represents the pose of the vehicle in the world coordinate system at t2, that is, the parking target point,  represents external calibration parameters of the visual sensor in the vehicle coordinate system at t2, and represents the pose of the visual marker relative to the visual sensor in the vehicle at t2.

[0112] In equation (2) , at any moment during movement of the vehicle,  is acquirable; in equation (3) , at a moment of parking arrival,  is acquirable. More descriptions may be found in the foregoing related descriptions regarding acquiring

[0113] In some embodiments, the processor may combine equation (2) and equation (3) to obtain a system of equations, and obtain the pose of the vehicle in the world coordinate system at t2 by solving the system of equations, thereby determining the parking target point.

[0114] The external calibration parameters of the visual sensor in the vehicle coordinate system are fixed. For example,  is equal to and the parameter is known.

[0115] By performing a mathematical transformation on the foregoing system of equations, the pose of the vehicle in the world coordinate system at t2 may be obtained, as shown in the following equation (4) :

[0116] By simplifying equation (4) , the following equation (5) is obtained:

[0117] Where is an inverse matrix of representing the pose of the visual marker relative to the visual sensor in the vehicle at t2.

[0118] In some embodiments, the processor may process odometry data of the vehicle, thereby determining a pose of the vehicle in the world coordinate system at t1. The odometry data of the vehicle may be acquired by a device for acquiring odometry disposed in the vehicle (e.g., the odometer, the LiDAR, or other devices capable of acquiring the odometry of the vehicle) .

[0119] In some embodiments, the pose of the vehicle in the world coordinate system may be determined by the LiDAR. For example, the processor may determine the odometry data of the vehicle from a moment when recognition of the visual marker starts to t1 based on data acquired by the LiDAR, and determine  based on the odometry data.

[0120] In some embodiments, the pose of the vehicle in the world coordinate system may be determined by an odometer deployed on the vehicle. For example, the processor may obtain the odometry data of the vehicle from a moment when recognition of the visual marker starts to t1 by the odometer, and determine  based on the odometry data.

[0121] In some embodiments, the processor may determine based on sensor data (e.g., the image data) acquired by the visual sensor at t1 and camera intrinsic parameters by the PnP algorithm. More descriptions may be found in related descriptions in 230. The camera intrinsic parameters refer to parameters characterizing characteristics of the camera itself. For example, the camera intrinsic parameters include a focal length f, principal point coordinates (u0, v0) , pixel size (dx, dy) , or the like.

[0122] In some embodiments, the processor may determine by solving an inverse matrix of  Where,  may be determined by manual input. For example,  may be such that the visual sensor in the vehicle faces an origin of the visual coordinate system when the vehicle stops.

[0123] In some embodiments, the processor may determine by acquiring manual input or by reading installation data of the visual sensor. As another example,  may include a position of the visual sensor (Xcam, Ycam, Zcam) and an orientation of the visual sensor (Rxcam, Rycam, Rzcam) . Where Y represents a forward direction of the vehicle, X represents a left-right direction perpendicular to the forward direction of the vehicle, and Z represents a height direction; Rxcam, Rycam, and Rzcam respectively represent angle transformation relationships of the X-axis, Y-axis, and Z-axis of the visual-coordinate system and the vehicle coordinate system.

[0124] In some embodiments, the processor may further determine a plurality of first target poses, a plurality of second target poses, and a plurality of pose change differences. The processor may determine the parking target point based on the plurality of first target poses, the plurality of second target poses, and the plurality of pose change differences. More descriptions may be found in FIG. 16 of the present disclosure and related descriptions thereof.

[0125] Since a frame rate of the visual sensor and a frame rate of the odometer or the LiDAR are inconsistent, acquisition times respectively corresponding to the pose of the visual marker relative to the visual sensor and the pose of the vehicle in the world coordinate system are not synchronized. In order to unify time measurement of the pose of the visual sensor and the pose of the vehicle in the world coordinate system included in the pose relationship between the vehicle and the visual marker, time synchronization processing is required for both.

[0126] In some embodiments, the processor may perform time synchronization on the sensor data obtained by the odometer or the LiDAR using the data acquisition timestamp corresponding to the visual sensor as the reference time. Based on the sensor data acquired by the odometer after the time synchronization, the pose of the vehicle in the world coordinate system is determined.

[0127] As another example, the processor may use a timestamp of the image data acquired by the visual sensor with a lower frequency as the reference time; in the odometry data determined by a device with a higher frequency (e.g., the odometer or the LiDAR) , two pieces of data respectively before and after the reference time that are closest to the reference time are found, and the odometry data corresponding to the reference time is fitted according to an interpolation principle as time-synchronized odometry data. The time-synchronized odometry data is determined based on the time-synchronized odometry data, and the pose of the vehicle in the world coordinate system is determined based on the time-synchronized odometry data.

[0128] In 250, the vehicle is controlled to move toward the parking target point.

[0129] In some embodiments, the processor may plan an optimal path for the vehicle to reach the parking target point, and control the vehicle to move to a task endpoint along the optimal path. The optimal path may be planned according to one or more conditions such as a shortest path distance, a minimum driving energy consumption, a shortest operation time, and a condition that distances between the vehicle and visual identification code bands on both sides during driving are within a preset distance range.

[0130] In some embodiments of the present disclosure, when the vehicle is far from the parking target position, guidance is first performed by the LiDAR and the reflective target. After the vehicle enters a region where the pose may be acquired by the visual sensor, a code band is identified by a camera, and the parking target point is accurately determined. This results in low cost and high fault tolerance, provides good adaptability in facing complex scenarios, and is able to meet requirements for high precision and high stability of the vehicle navigation in complex scenarios.

[0131] It should be noted that the foregoing descriptions regarding process 200 are merely by way of example and illustration, and do not limit the scope of the present disclosure. For those skilled in the art, various modifications and changes may be made to process 200 under the guidance of the present disclosure, such as adding a data storage operation between steps. However, these modifications and changes still fall within the scope of the present disclosure.

[0132] FIG. 7 is a schematic diagram illustrating controlling a vehicle to move toward a parking target point according to some embodiments of the present disclosure.

[0133] In some embodiments, the processor may determine a visual-perceived distance 720 based on the image data 710 obtained by the visual sensor. A range-perceived distance 740 is determined based on the sensor data 730 obtained by the ranging sensor deployed on the vehicle. The vehicle is controlled to move toward the parking target point based on at least one of the visual-perceived distance 720 or the range-perceived distance 740.

[0134] The visual-perceived distance refers to a distance between the vehicle and the visual marker measured by the visual sensor. For example, when the visual markers are disposed on both sides of the vehicle, the visual-perceived distance includes a distance DL1 from a motion center of the vehicle to a left visual marker, a distance DL2 from the motion center of the vehicle to a right visual marker, or a mean value of the distance DL1 and the distance DL2. Alternatively, the visual-perceived distance includes a distance DL1 from a motion center of the vehicle to the left visual marker and a distance DL2 from the motion center of the vehicle to the right visual marker. As another example, when only one side of the vehicle is provided with the visual marker, the visual-perceived distance includes a distance DL from a motion center of the vehicle to the visual marker on that side.

[0135] In some embodiments, the visual-perceived poses respectively corresponding to the visual markers may be determined based on the image data obtained by the visual sensor in the vehicle based on the visual-perceived poses respectively corresponding to the visual markers, distances between the visual markers and the vehicle may be determined so that the visual-perceived distance is obtained.

[0136] In some embodiments, when the visual markers are disposed on both sides of the vehicle, the image data obtained by the visual sensors on both sides of the vehicle may be used to determine the visual-perceived poses respectively corresponding to the visual markers on both sides. Based on the visual-perceived poses respectively corresponding to the visual markers on both sides, positions between the vehicle and the visual markers on both sides may be determined.

[0137] FIG. 8 is a schematic diagram illustrating determining a visual-perceived distance according to some embodiments of the present disclosure.

[0138] As shown in FIG. 8, CL1 represents a distance between the left visual sensor of the vehicle and the visual identification code band, CL2 represents a distance between the right visual sensor of the vehicle and the visual identification code band, d1 represents a longitudinal offset of the vehicle calculated by the left visual sensor in the left code-band coordinate system, d2 represents a longitudinal offset of the vehicle calculated by the right visual sensor in the right code-band coordinate system, DL1 represents a distance between the motion center of the vehicle and the left visual identification code band, DL2 represents a distance between the motion center of the vehicle and the right visual identification code band, and L represents a distance between the left visual sensor and the motion center of the vehicle.

[0139] An included angle between a camera baseline of the visual sensor and a line connecting to a code-band origin may be represented by the following equation (6) : b=arcsin ( (d1+d2)  / B)   (6)

[0140] Since calibration parameters of the visual sensor are known, an included angle d, an included angle c, and an included angle L in FIG. 8 may be determined based on the calibration parameters of the visual sensor.

[0141] According to a similarity principle of triangles, an included angle b is equal to the included angle c, so that the included angle d may be determined. Therefore, DL1 may be determined based on the following equation (7) : DL1=CL1+L·sind   (7)

[0142] Similarly, a distance DL2 between the motion center of the vehicle and the right visual identification code band may be determined.

[0143] In some embodiments, the processor may designate DL1 and DL2 as the visual-perceived distance.

[0144] In some embodiments, a position x1 of the visual sensor on one side along a vehicle advancing direction may be determined, and a position x2 of a code-band coordinate origin on the side along the vehicle advancing direction may be determined. Based on a difference between x1 and x2, a longitudinal offset of the vehicle in the code-band coordinate system on the side calculated by the visual sensor on the side may be determined. In this way, a longitudinal offset d1 of the vehicle in the left code-band coordinate system calculated by the left visual sensor and a longitudinal offset d2 of the vehicle in the right code-band coordinate system calculated by the right visual sensor may be determined.

[0145] In some embodiments, a distance between the visual sensor and the code band may be determined based on information such as a size and a rotation angle of an ArUco code recognized by the visual sensor, and CL1 and CL2 may be further determined.

[0146] The range-perceived distance refers to a distance between the vehicle and the visual marker measured by the visual sensor. For example, when the visual markers are disposed on both sides of the vehicle, the range-perceived distance includes either a distance DL1′from a motion center of the vehicle to the left visual marker, a distance DL2′from the motion center of the vehicle to the right visual marker, or a mean value of both. Alternatively, the range-perceived distance includes a distance DL1′from a motion center of the vehicle to the left visual marker and a distance DL2′from the motion center of the vehicle to the right visual marker. As another example, when only one side of the vehicle is provided with the visual marker, the range-perceived distance includes a distance DL′from a motion center of the vehicle to the visual marker on that side.

[0147] In some embodiments, the range-perceived distance may be determined based on the sensor data obtained by the ranging sensor deployed on the vehicle.

[0148] In some embodiments, the ranging sensors may be disposed on both sides of the vehicle. The range-perceived distance may be obtained by the ranging sensors on both sides of the vehicle respectively by perceiving distances between the vehicle and the visual markers on both sides.

[0149] In some embodiments, before the final-perceived distance is obtained by combining the visual-perceived distance and the range-perceived distance, the processor may use a data acquisition timestamp corresponding to the visual-perceived distance as a reference time, and at least two range-perceived distances adjacent to the reference time before and after the reference time may be selected. Based on the at least two range-perceived distances adjacent to the reference time before and after the reference time, an interpolation operation may be performed to obtain a range-perceived distance at the reference time, and the range-perceived distance at the reference time may be designated as the range-perceived distance.

[0150] Based on at least two range-perceived distances adjacent to the reference time before and after the reference time, the range-perceived distance at the reference time may be predicted by interpolation, so that the time synchronization between the visual-perceived distance and the range-perceived distance is achieved, thereby improving the accuracy of subsequent calculations.

[0151] The foregoing description only relates to synchronization between the data of the visual sensor and the data of the ranging sensor. If more other sensors are involved, perception data of the other sensors may also be subjected to the time synchronization in the same manner.

[0152] Since the data acquisition frame rate of the visual sensor is generally low, the data acquisition timestamp corresponding to the visual-perceived distance is used as the reference time. If there exists another sensor whose data acquisition frame rate is lower than that of the visual sensor, the data acquisition timestamp of that sensor may also be selected as the reference time.

[0153] In some embodiments, the processor may further initiate the ranging sensor deployed on the vehicle as needed. Merely by way of example, the processor may preset a safety distance threshold. The safety distance threshold refers to a minimum distance between the vehicle and the visual marker during safe movement of the vehicle. During movement of the vehicle, the distance between the vehicle and the visual marker may be less than the safety distance threshold or may be greater than or equal to the safety distance threshold.

[0154] The distance between the vehicle and the visual marker may be determined by the processor based on the image data obtained by the visual sensor. More detailed descriptions may be found in the related descriptions above.

[0155] In some embodiments, in response to determining that a distance between the vehicle and the visual marker is less than the safety distance threshold, the processor may initiate the ranging sensor, and the vehicle may be controlled to move toward the parking target point based on at least one of the visual-perceived distance or the range-perceived distance. At this time, the vehicle is in a dangerous area prone to collisions, and high requirements are imposed on the accuracy and stability of ranging. Therefore, during navigation, the ranging sensor needs to be initiated for ranging verification, and the ranging result determined based on the visual sensor needs to be cross-validated. That is, the vehicle needs to be controlled based on the visual-perceived distance and the range-perceived distance simultaneously, so as to ensure accuracy and stability of ranging.

[0156] In some embodiments, in response to determining that the distance between the vehicle and the visual marker is greater than or equal to the safety distance threshold, the vehicle may be controlled to move toward the parking target point based on the visual-perceived distance. At this time, the vehicle is in a safe area where collisions are unlikely to occur. Therefore, during navigation, the vehicle may be safely controlled based only on the visual-perceived distance.

[0157] In some embodiments, when at least one of the visual-perceived distance or the range-perceived distance is outside a preset distance range, a vehicle safety control may be triggered, and the vehicle may be controlled by the processor to perform one or more actions including an emergency stop and correcting a posture of the vehicle. When both the visual-perceived distance and the range-perceived distance are within the preset distance range, the vehicle may be controlled by the processor to move toward the parking target point according to an optimal path.

[0158] In some embodiments, a final-perceived distance may be obtained by the processor based on the visual-perceived distance and the range-perceived distance. The vehicle may be controlled by the processor to move toward the parking target point based on the final-perceived distance.

[0159] In some embodiments, a perceived distance with higher accuracy may be selected by the processor from the visual-perceived distance and the range-perceived distance as the final-perceived distance.

[0160] In some embodiments, the processor may further perform a weighted summation of the visual-perceived distance and the range-perceived distance to obtain the final-perceived distance.

[0161] In some embodiments, the final-perceived distance may further be determined by the processor in other manners, and the vehicle may be controlled to move toward the parking target point based on the final-perceived distance. More detailed descriptions may be found in the related descriptions in FIG. 9–FIG. 11 of the present disclosure.

[0162] Merely by way of example, the processor may perform an attitude adjustment of the vehicle based on the final-perceived distance during a process of controlling the vehicle to move toward the task end point according to the visual-perceived pose.

[0163] Merely by way of example, the processor may further determine whether the vehicle is in a dangerous attitude based on the final-perceived distance during a process of controlling the vehicle to move toward the task end point according to the visual-perceived pose. If the vehicle is in a dangerous attitude, a travel processing may be performed according to a preset strategy, including but not limited to reducing the movement speed, changing the movement direction, stopping in place, and issuing a warning signal. If the vehicle is not in the dangerous attitude, the vehicle continues to move toward the task end point.

[0164] FIG. 9 is a schematic diagram illustrating a method of determining a final-perceived distance according to some embodiments of the present disclosure.

[0165] In some embodiments, a process of obtaining the final-perceived distance based on the visual-perceived distance and the range-perceived distance includes the following operations:

[0166] In 910, a difference between the visual-perceived distance and the range-perceived distance may be determined.

[0167] In 920, the difference between the visual-perceived distance and the range-perceived distance, and a first threshold may be compared. There are two cases: the difference between the visual-perceived distance and the range-perceived distance is greater than the first threshold, and the difference between the visual-perceived distance and the range-perceived distance is not greater than the first threshold. In response to determining that the difference between the visual-perceived distance and the range-perceived distance is greater than the first threshold, step 930 may be performed. In response to determining that the difference between the visual-perceived distance and the range-perceived distance is not greater than the first threshold, step 940 may be performed.

[0168] The first threshold is a threshold for screening the visual-perceived distance and the range-perceived distance.

[0169] In 930, the range-perceived distance may be designated as the final-perceived distance.

[0170] In 940, the visual-perceived distance may be designated as the final-perceived distance.

[0171] In some embodiments, a method for determining the final-perceived distance as described in steps 910 to 940 may also be referred to as a first fusion strategy.

[0172] For ease of calculation, the ranging sensor and the visual sensor may be installed adjacent to each other (e.g., a distance between installation positions is less than a specific threshold) . When the visual sensor recognizes the visual-perceived distance, the ranging sensor is generally also able to irradiate onto the visual identification code bands on both sides. The ranging sensor may be activated to calculate an offset of a motion center of the vehicle on both sides of the driving path, so as to obtain the range-perceived distance (the calculation method is the same as the calculation steps of the visual-perceived distance, with CL1 and CL2 replaced by the ranging results on both sides) , and a cross validation may be performed with the visual-perceived distance.

[0173] Merely by way of example, in response to determining that a difference between the visual-perceived distance and the range-perceived distance is greater than the first threshold, the range-perceived distance is preferentially designated as the final-perceived distance; otherwise, the visual-perceived distance is designated as the final-perceived distance.

[0174] In response to the range-perceived distance being invalid (e.g., because the ranging sensor is started later, valid data of the ranging sensor may be later than that of the visual sensor) , the visual-perceived distance is preferentially used as the final-perceived distance. In response to the range-perceived distance being valid but a difference between the range-perceived distance and the visual-perceived distance being greater than the first threshold, the range-perceived distance is preferentially designated as the final-perceived distance.

[0175] In some embodiments, when the difference between the visual-perceived distance and the range-perceived distance is not greater than the first threshold, a distance with a highest accuracy may be selected from the visual-perceived distance and the range-perceived distance as the final-perceived distance.

[0176] In some embodiments, the processor may determine the first threshold in various ways. For example, the first threshold may be obtained in advance based on manual input. As another example, the first threshold may be determined based on historical data.

[0177] In some embodiments, the processor may determine a linear velocity and an angular velocity of the vehicle based on the image data at a plurality of time points. The first threshold may be determined based on the linear velocity and the angular velocity. The angular velocity of the vehicle refers to a steering velocity of the vehicle.

[0178] In some embodiments, the processor may determine the linear velocity and the angular velocity of the vehicle in various ways based on the image data at a plurality of time points. For example, the processor may input the image data of the vehicle acquired by the visual sensor at a plurality of time points into a trained machine learning model, and output the linear velocity and the angular velocity of the vehicle through the trained machine learning model. As another example, the processor may analyze feature point correspondences (e.g., corner points or edges) between the image data corresponding to the plurality of time points, and estimate a motion of the vehicle based on the correspondences, thereby resolving the linear velocity and the angular velocity. The plurality of time points include a preset number of time points closest to a current time point, and the preset number may be specifically set or selected according to actual requirements.

[0179] In some embodiments, when either the linear velocity or the angular velocity of the vehicle is greater than a corresponding maximum preset threshold, the processor may increase the first threshold. At this time, the vehicle is moving at a relatively high speed or is in a steering state, and measurement errors and noise of the sensors (e.g., the visual sensor, the ranging sensor, or the like) naturally increase. In such a case, setting a higher first threshold may prevent the processor from abandoning the visual-perceived distance due to normal and temporary fluctuations of the vehicle velocity, which is advantageous for ensuring smooth and stable motion of the vehicle.

[0180] In some embodiments, when the linear velocity of the vehicle is less than a corresponding minimum preset threshold or when the angular velocity of the vehicle is 0, the processor may decrease the first threshold. At this time, the vehicle is approaching the parking target point at a low speed or is moving smoothly, and a higher precision of ranging is required. Tightening the first threshold enables the sensors in the vehicle to sensitively capture small and real deviations, thereby achieving finer control and fault detection.

[0181] FIG. 10 is another schematic diagram illustrating a method of determining a final-perceived distance according to some embodiments of the present disclosure. As shown in FIG. 10, the process 1000 includes the following operations. In some embodiments, the process 1000 may be performed by the processor.

[0182] In some embodiments, the process in which the processor obtains the final-perceived distance based on the visual-perceived distance and the range-perceived distance includes the following operations:

[0183] In 1010, the accuracy of the visual-perceived distance is determined based on a fluctuation trend of the visual-perceived distance recorded within a preset time period. The accuracy of the range-perceived distance is determined based on a fluctuation trend of the range-perceived distance recorded within the preset time period.

[0184] Whether the current visual-perceived distance conforms to the fluctuation trend of the visual-perceived distance recorded within the preset time period is determined. There are two situations: the current visual-perceived distance conforms to the fluctuation trend, or the current visual-perceived distance does not conform to the fluctuation trend. In response to the current visual-perceived distance conforming to the fluctuation trend of the visual-perceived distance recorded within a preset time period, the more closely it conforms, the higher the accuracy, and the accuracy of the visual-perceived distance may be obtained. In response to the current visual-perceived distance not conforming to the fluctuation trend of the visual-perceived distance recorded within a preset time period, calculation of the accuracy of the visual-perceived distance may be abandoned.

[0185] Whether the current range-perceived distance conforms to the fluctuation trend of the range-perceived distance recorded within the preset time period is determined. There are two situations: the current range-perceived distance conforms to the fluctuation trend of the range-perceived distance recorded within the preset time period, or the current range-perceived distance does not conform to the fluctuation trend of the range-perceived distance recorded within the preset time period. In response to the current range-perceived distance conforming to the fluctuation trend of the range-perceived distance recorded within a preset time period, the more closely the current range-perceived distance conforms to the fluctuation trend, the higher the accuracy, and the accuracy of the range-perceived distance may be obtained. In response to the current range-perceived distance not conforming to the fluctuation trend of the range-perceived distance recorded within a preset time period, calculation of the accuracy of the range-perceived distance may be abandoned.

[0186] In 1020, a distance with the highest accuracy is selected from the visual-perceived distance and the range-perceived distance as the final-perceived distance.

[0187] In some embodiments, the method for determining the final-perceived distance described in steps 1010 and 1020 may also be referred to as a second fusion strategy.

[0188] In some embodiments, in addition to calculating the accuracy corresponding to the visual-perceived distance based on the fluctuation trend, the processor may also calculate the accuracy corresponding to the visual-perceived distance based on one or more of: an image quality score of the image data, a difference between the visual-perceived distance and the vehicle distance perceived by other sensors, and a matching degree between the visual-perceived poses respectively obtained from two sides. The higher the image quality score, the smaller the difference, and the higher the matching degree, the higher the accuracy of the visual-perceived distance.

[0189] In some embodiments, in addition to calculating the accuracy corresponding to the range-perceived distance based on the fluctuation trend, the processor may also calculate the accuracy corresponding to the range-perceived distance based on one or more of the difference between the range-perceived distance and the vehicle distance perceived by other sensors, and a matching degree between the range-perceived distances respectively obtained from two sides. The smaller difference and the higher matching degree, the higher accuracy of the range-perceived distance.

[0190] The preset time period refers to a pre-established time period. The preset time period may be determined based on a value preset manually. For example, the processor may determine the preset time period by acquiring an user input of time. In some embodiments, the preset time period may be a time period of 1 second or 2 seconds closest to the current moment, or may be another value set based on actual conditions.

[0191] The fluctuation trend refers to a variation pattern of a perceived distance with time within the preset time period. The perceived distance includes at least one of the visual-perceived distance or the range-perceived distance.

[0192] In some embodiments, the processor may acquire a perceived distance sequence within the preset time period from historical data, and determine the fluctuation trend of the perceived distance sequence based on the perceived distance sequence modeling. The perceived distance sequence refers to a series of perceived distance data obtained by sorting the perceived distances in chronological order.

[0193] For example, the processor may perform linear regression based on the perceived distance sequence to determine a prediction function corresponding to the perceived distance sequence. The prediction function may represent a linear fluctuation trend of the perceived distance.

[0194] As another example, the processor may establish an independent Kalman filter for each sensor capable of obtaining a perceived distance sequence. The Kalman filter may provide a prediction value of the perceived distance at time t based on a historical data sequence at time t-1 (i.e., a previous moment of time t) , and a confidence level corresponding to the prediction value. The prediction value and the confidence level may represent the fluctuation trend of the perceived distance.

[0195] In some embodiments, the processor may determine fluctuation trends respectively corresponding to the visual-perceived distance and the range-perceived distance according to the above-mentioned manner.

[0196] In some embodiments, the processor may determine the accuracy of the perceived distance based on an actual measured value of the perceived distance at time t and a prediction value of the perceived distance output by the Kalman filter.

[0197] For example, the processor may subtract the predicted value of the perceived distance output by the Kalman filter from the actual measured value of the perceived distance at time t, so as to obtain a prediction error. The smaller an absolute value of the prediction error is, the better the perceived distance at time t fits the fluctuation trend, and the higher the accuracy of the perceived distance is.

[0198] In some embodiments, the processor may determine accuracies of the visual-perceived distance and the range-perceived distance respectively by the above-described manner.

[0199] In some embodiments, the processor may designate the distance with a higher accuracy among the visual-perceived distance and the range-perceived distance as the final-perceived distance.

[0200] FIG. 11 is a flowchart of an exemplary process of determining a final-perceived distance according to other embodiments of the present disclosure. In some embodiments, process 1100 may be executed by the processor. As shown in FIG. 11, process 1100 includes the following operations.

[0201] In some embodiments, the process in which the processor obtains the final-perceived distance based on the visual-perceived distance and the range-perceived distance includes the following operations:

[0202] In 1110, the accuracy of the visual-perceived distance is determined based on a fluctuation trend of the visual-perceived distance recorded within a preset time period. The accuracy of the range-perceived distance is determined based on a fluctuation trend of the range-perceived distance recorded within the preset time period.

[0203] In 1120, a weight of the visual-perceived distance and a weight of the range-perceived distance are determined based on the accuracy of the visual-perceived distance and the accuracy of the range-perceived distance, respectively.

[0204] In 1130, the final-perceived distance is determined based on the weight of the visual-perceived distance and the weight of the range-perceived distance.

[0205] For example, the visual-perceived distance and the range-perceived distance may be subjected to a weighted summation based on the weight of the visual-perceived distance and the weight of the range-perceived distance to obtain the final-perceived distance. The higher the accuracy, the higher the weight in the weighted summation.

[0206] In some embodiments, the processor may set the weight of the visual-perceived distance and the weight of the range-perceived distance, respectively, based on the accuracy of the visual-perceived distance, the accuracy of the range-perceived distance, and a predicted distance. The predicted distance may be an average value of the visual-perceived distance and the range-perceived distance.

[0207] In some embodiments, the weight corresponding to the visual-perceived distance is negatively correlated with the predicted distance and positively correlated with the accuracy of the visual-perceived distance. The weight corresponding to the range-perceived distance is positively correlated with the predicted distance and positively correlated with the accuracy of the range-perceived distance.

[0208] As another example, when the predicted distance is relatively large (for example, greater than a preset predicted distance threshold) , the vehicle is in a cruising stage. In this case, smoothness is important, and the ranging sensor generally provides more stable baseline readings. At this time, the weight bias of the ranging sensor may be appropriately increased. When the predicted distance is relatively small (for example, less than a preset predicted distance threshold) , the vehicle is in a precise docking stage. In this case, higher accuracy of ranging is required, often at centimeter-level or even millimeter-level docking accuracy. At this time, the weight bias of the visual sensor may be increased to provide higher-resolution lateral and pose information.

[0209] In some embodiments of the present disclosure, by dynamically setting the weights of the visual-perceived distance and the range-perceived distance, it is possible to assign weights that better conform to actual conditions at different driving stages of the vehicle, thereby improving the robustness and accuracy of determining the final-perceived distance.

[0210] In some embodiments, the method for determining the final-perceived distance as described in steps 1110 to 1130 may also be referred to as a third fusion strategy.

[0211] In some embodiments, in addition to the manner of calculating the accuracy of the visual-perceived distance and the range-perceived distance respectively based on the fluctuation trend of the visual-perceived distance recorded within the preset time period and the fluctuation trend of the range-perceived distance recorded within the preset time period, other manners for calculating the accuracy may also be adopted, which are not limited herein.

[0212] In some embodiments of the present disclosure, the final-perceived distance may be obtained by performing the weighted summation of the visual-perceived distance and the range-perceived distance, thereby improving the accuracy of the distance determination.

[0213] More descriptions regarding the determination of the visual-perceived distance and the range-perceived distance may be found in the related descriptions of FIG. 10 in the present disclosure.

[0214] In some embodiments, the processor may obtain a linear velocity and an angular velocity of the vehicle at a plurality of time points. Based on the linear velocity and the angular velocity, a motion smoothness value of the vehicle may be calculated. Based on the linear velocity and the motion smoothness value, a target fusion strategy may be determined from the first fusion strategy, the second fusion strategy, and the third fusion strategy. Based on the visual-perceived distance and the range-perceived distance, the final-perceived distance may be obtained by the target fusion strategy.

[0215] More descriptions regarding the obtaining of the linear velocity and the angular velocity may be found in the related descriptions of FIG. 9 in the present disclosure.

[0216] The motion smoothness value refers to a parameter for measuring a smoothness degree of the vehicle driving. A higher motion smoothness value indicates a higher smoothness degree of the vehicle driving.

[0217] In some embodiments, the motion smoothness value of the vehicle is negatively correlated with the intensity degree of vehicle motion.

[0218] In some embodiments, the intensity degree of the vehicle motion may be determined based on a variance of the linear velocity of the vehicle at a plurality of time points and a variance of the angular velocity of the vehicle at a plurality of time points. For example, the mean value of the variance of the linear velocity and the variance of the angular velocity may be determined.

[0219] In some embodiments, the processor may determine the target fusion strategy from the first fusion strategy, the second fusion strategy, and the third fusion strategy based on at least one of the linear velocity and the motion smoothness value.

[0220] In some embodiments, the processor may compare the motion smoothness value with a smoothness threshold to determine whether to adopt the first fusion strategy. The smoothness threshold is a critical value for measuring whether the vehicle movement is stable, which may be preset based on prior experience or actual requirements. When the motion smoothness value of the vehicle is less than the smoothness threshold, the stability of the vehicle movement is low and the state of the vehicle movement changes drastically. There are two known cases where the motion smoothness value of the vehicle is less than the smoothness threshold or not less than (i.e., greater than or equal to) the smoothness threshold.

[0221] In some embodiments, in response to the motion smoothness value being less than the smoothness threshold, the processor may designate the first fusion strategy as the target fusion strategy. At this time, the state of the vehicle changes drastically, and measurement values of sensors are prone to temporary large deviations. In this case, rapid decision-making is required to prevent erroneous measurement values from affecting the control of the vehicle.

[0222] In some embodiments, in response to the motion smoothness value being greater than or equal to the smoothness threshold, the processor may determine the target fusion strategy from the second fusion strategy or the third fusion strategy. At this time, the processor may compare the linear velocity of the vehicle with a velocity threshold and determine a final fusion strategy based on a comparison result. The velocity threshold may be preset based on prior experience or actual requirements.

[0223] In some embodiments, in response to the motion smoothness value being greater than or equal to the smoothness threshold and the linear velocity being greater than or equal to the velocity threshold, the processor may designate the second fusion strategy as a target fusion strategy. At this moment, the vehicle is in a stable cruising state, and the core requirement is driving smoothness and the capability of correcting small and continuous deviations. By selecting a sensor with the most stable historical data as a reference, high-frequency noise can be effectively filtered out, ensuring that the vehicle travels along a smooth trajectory and avoiding unnecessary oscillations.

[0224] In some embodiments, in response to the motion smoothness value being greater than or equal to the smoothness threshold and the linear velocity being less than the velocity threshold, the processor may designate the third fusion strategy as the target fusion strategy. At this time, the vehicle is about to reach the parking target point, and a high accuracy of the final-perceived distance is required. It is necessary to comprehensively utilize information from both sensors and achieve the highest accuracy positioning through dynamic weight allocation.

[0225] More descriptions regarding obtaining the final-perceived distance through different fusion strategies may be found in related descriptions of FIG. 9-FIG. 11 in the present disclosure.

[0226] In some embodiments of the present disclosure, by using dynamic fusion strategies, an appropriate target fusion strategy can be selected according to actual conditions, thereby improving the robustness and accuracy of determining the final-perceived distance and providing a solid foundation for controlling the vehicle parking more accurately and safely.

[0227] FIG. 12 is a schematic diagram illustrating a method of controlling movement of a vehicle according to some embodiments of the present disclosure.

[0228] In some embodiments, the final-perceived distance may comprise a first distance between one side of the vehicle and the visual marker and a second distance between the other side of the vehicle and the visual marker. The processor may control the vehicle to move toward the parking target point based on the first distance and the second distance.

[0229] In some embodiments, the final-perceived distance may be composed of the first distance between one side of the vehicle and the visual identification code strip and the second distance between the other side of the vehicle and the visual identification code strip.

[0230] In some embodiments, the navigating the vehicle to move toward the task end point based on the final-perceived distance and the visual-perceived pose includes the following operations:

[0231] In 1211, a difference between the first distance and the second distance is determined. There are two cases in which the difference between the first distance and the second distance is greater than the second threshold or not greater than the second threshold.

[0232] In 1212, in response to determining that the difference between the first distance and the second distance is greater than the second threshold, the vehicle is controlled to perform an attitude adjustment based on the difference.

[0233] The difference between the first distance and the second distance is reduced by adjusting the attitude of the vehicle.

[0234] In 1213, in response to determining that the difference between the first distance and the second distance corresponding to the vehicle after the attitude adjustment is not greater than the second threshold, the vehicle is controlled to continue moving toward the task end point based on the visual-perceived pose.

[0235] In some embodiments, the navigating of the vehicle to move toward the task end point based on the final-perceived distance and the visual-perceived pose may further include:

[0236] In 1221, in response to determining that the vehicle enters an adjacent area of the parking target point, whether a difference between the first distance and the second distance is determined to be greater than a third threshold. There are two cases in which a difference between the first distance and the second distance is greater than the third threshold, or the difference is not greater than the third threshold. In response to determining that the difference between the first distance and the second distance is greater than the third threshold, step 1222 is performed. In response to determining that the difference between the first distance and the second distance is not greater than the third threshold, step 1223 is performed.

[0237] In 1222, the movement of the vehicle is stopped.

[0238] In 1223, the vehicle is controlled to move toward the task end point based on the visual-perceived pose.

[0239] In some embodiments, in high-precision tasks, after the vehicle enters the adjacent area of the task end point, in order to ensure stability and accuracy of movement of the vehicle, if the difference between the first distance and the second distance is detected to be excessively large, movement of the vehicle may be directly stopped, and an alarm may further be issued to avoid equipment damage caused by failure of task execution.

[0240] In some embodiments of the present disclosure, by considering distances between the vehicle and the visual markers on both sides, a fault tolerance rate in the vehicle control process can be increased, and the safety of movement of the vehicle can be ensured.

[0241] FIG. 13 is a flowchart of an exemplary process of controlling movement of a vehicle according to some embodiments of the present disclosure.

[0242] In some embodiments, during the navigating the vehicle toward the task end point based on the visual-perceived pose, other poses of the vehicle perceived by other sensors may further be determined. For example, the point cloud data of the reflective target obtained by LiDAR scanning may be acquired, the pose of the vehicle may be determined based on the point cloud data, a point-cloud-perceived pose may be obtained, the visual-perceived pose and the point-cloud-perceived pose may be fused to obtain a final-perceived pose, and the vehicle may be navigated toward the task end point based on the final-perceived pose.

[0243] As shown in FIG. 13, the process of controlling the movement of the vehicle includes:

[0244] In1310, the point cloud data of a scene to be located acquired by the LiDAR may be obtained, and the pose of the reflective target may be determined using the point cloud data.

[0245] In 1320, the vehicle may be navigated to the recognition area of the visual marker based on the pose relationship between the reflective target and the visual marker. The position of the vehicle may be in one of two cases: entering the recognition area of the visual marker or not entering the recognition area of the visual marker.

[0246] In 1330, in response to the vehicle entering the recognition area of the visual marker, the image data of the visual marker may be acquired by starting the visual sensor, and the ranging sensor may be started.

[0247] In 1340, the final-perceived distance may be obtained by fusing the visual-perceived distance and the range-perceived distance, and the vehicle may be navigated based on the final-perceived distance and the visual-perceived pose.

[0248] In 1350, whether the vehicle enters the adjacent area of a task end point may be determined. In response to determining that the vehicle enters the adjacent area of the task end point, step 1360 may be performed. In response to determining that the vehicle does not enter the adjacent area of the task end point, process 1330 may be continued.

[0249] In 1360, whether the difference between the first distance and the second distance of the final-perceived distance is greater than a threshold may be determined. In response to determining that the difference is greater than the threshold, step 1370 may be performed. In response to determining that the difference is not greater than the threshold, step 1380 may be performed.

[0250] In 1370, dangerous parking may be performed.

[0251] In 1380, whether a task end point is reached may be determined. In response to determining that the task end point is reached, the task may be ended. In response to determining that the task end point is not reached, step 1330 may be continued.

[0252] The multi-sensor fusion navigation process provided in the present disclosure includes acquiring the image data of visual identification code strips collected respectively by the visual sensors deployed on two sides of the vehicle, determining the pose of the vehicle in a scene to be located based on the image data to obtain the visual-perceived pose, and determining distances between the two sides of the vehicle and the visual identification code strips to obtain the visual-perceived distance. The process further includes acquiring distances between the two sides of the vehicle and the visual identification code strips collected by the ranging sensors deployed on the two sides of the vehicle to obtain the range-perceived distance, obtaining the final-perceived distance by combining the visual-perceived distance and the range-perceived distance, and navigating the vehicle to move to a task end point based on the final-perceived distance and the visual-perceived pose. By combining the visual sensors deployed on the two sides of the vehicle, the ranging sensors, and the visual identification code strips deployed on two sides of a driving path, comprehensive positioning of a plurality of sensors and a plurality of identification objects may be implemented. Moreover, by combining the visual-perceived distance and the range-perceived distance, the attitude of the vehicle may be more accurately obtained, navigation accuracy may be improved, and the process may be applied to a high-precision navigation task.

[0253] FIG. 14 is a block diagram of an exemplary the parking control device according to some embodiments of the present disclosure. As shown in FIG. 14, in some embodiments, a parking control device 1400 includes an image analysis module 1410, a pose calculation module 1420, a first distance calculation module 1430, a second distance calculation module 1440, and a navigation module 1450.

[0254] The image analysis module 1410 is configured to acquire the image data of visual identification code strips collected respectively by the visual sensors on two sides, and to obtain the pose of the visual identification code strips relative to the visual-coordinate-system pose of the visual sensors.

[0255] The pose calculation module 1420 is configured to determine the pose of the vehicle in a scene to be located based on calibration parameters of the visual sensor, the pose of a visual identification code strip in the world coordinate system, and the visual-coordinate-system pose of the visual identification code strip, so as to obtain the visual-perceived pose.

[0256] The first distance calculation module 1430 is configured to determine distances between two sides of the vehicle and the visual identification code strips based on the visual-perceived poses obtained respectively from the image data acquired by the visual sensors on two sides, so as to obtain the visual-perceived distance. The first distance calculation module 1430 is further configured to obtain the range-perceived distance by acquiring distances between the two sides of the vehicle and the visual identification code strips collected by the ranging sensors on the two sides.

[0257] The second distance calculation module 1440 is configured to obtain the final-perceived distance by combining the visual-perceived distance and the range-perceived distance.

[0258] The navigation module 1450 is configured to navigate the vehicle to move to the task end point based on the final-perceived distance and the visual-perceived pose.

[0259] More descriptions regarding modules in FIG. 14 may be found in related flowchart descriptions (e.g., descriptions in connection with FIG. 2-FIG. 13) .

[0260] FIG. 15 is a flowchart of an exemplary process of determining a pose of a visual marker relative to a visual sensor according to some embodiments of the present disclosure. As shown in FIG. 15, the process 1500 includes the following operations. In some embodiments, the process 1500 may be executed by a processor.

[0261] As shown in FIG. 16, FIG. 16 is a schematic diagram illustrating a parking control process according to other embodiments of the present disclosure. In some embodiments, the visual marker may be disposed only on one side of the vehicle. The LiDARs are located respectively at a front portion and a rear portion of the vehicle. The visual sensor is mounted on a side of the vehicle adjacent to the visual marker to recognize the visual marker. As shown in FIG. 16, a bold black solid line represents the visual marker, which includes a code strip composed of a plurality of identification codes. During the parking control process, when the vehicle starts to move, the processor may turn on the LiDAR and the odometer to scan a reflective target and determine the current pose of the vehicle. In response to detecting that the distance between the vehicle and a parking position is less than a preset distance value, the processor controls the visual sensor to be turned on to detect camera recognition information of the visual marker (also referred to as the image data) until the vehicle reaches the parking position (e.g., a target docking position of the vehicle) . The preset distance value may be a distance between a first point of the visual marker in a direction toward the parking position and a projection point of the parking position in an extending direction of the visual marker, or may be another preset value.

[0262] In 1510, a plurality of identification codes and coordinate information corresponding to the identification codes are determined based on image data acquired by the visual sensor.

[0263] The identification code refers to a structured feature mark for visual recognition. Merely by way of example, the identification code may be an Aruco code (aQR code) . The Aruco code refers to a square marker composed of a wide black border and an internal binary matrix that determines its identifier (ID) . The plurality of identification codes may be arranged at a fixed interval in the fixed ID sequence to form the visual marker, and the code-strip coordinate system may be established based on the identification code of a certain fixed ID. More descriptions may be found in the present disclosure (e.g., FIG. 4-FIG. 5 and related descriptions thereof) .

[0264] The image data refers to data acquired by the visual sensor and containing the image of the visual marker. It should be noted that the image data acquired by the visual sensor includes all identification codes in the visual marker, or includes only a portion of the identification codes in the visual marker. In some embodiments, the image data may include a plurality of complete identification codes, or may include a case in which a portion of the acquired identification codes is incomplete.

[0265] In some embodiments, the processor may analyze the acquired image data to determine the plurality of identification codes and corresponding coordinate information thereof. The processor may analyze the image data in various manners, such as an image recognition algorithm, a machine learning model, or the like.

[0266] In 1520, the plurality of identification codes are screened based on the coordinate information to determine the target identification code.

[0267] The target identification code refers to an identification code selected from the plurality of identification codes. The target identification code is used for pose determination so as to obtain the current pose of the vehicle (or a robot) .

[0268] After the camera recognition information including the identification codes (e.g., the coordinate information) is obtained, in order to improve recognition accuracy and reduce interference by errors, the processor may perform screening on the respective identification codes based on the coordinate information of the respective identification codes to obtain at least one target identification code.

[0269] In some embodiments, the processor may detect corner-point integrity of the respective identification codes. In response to determining that representation of the identification code is complete, the corresponding identification code is retained as the target identification code; in response to determining that representation of the identification code is incomplete, the corresponding identification code is removed.

[0270] In some embodiments, for the identification codes obtained by the visual sensor, distortion of the identification codes located at image edges may be relatively severe; accordingly, the processor may remove the identification codes located at the image edges and designate the remaining identification codes as the target identification codes.

[0271] In some embodiments, after the processor obtains the image data for the respective identification codes, the identification codes with an interval distance greater than the length of the identification code are selected from the respective identification codes as the target identification codes, so that the identification codes with a relatively wide corner-point baseline are obtained for pose recognition. Merely by way of example, the processor may select the identification codes at the left and right ends from the recognized identification codes as the target identification codes. Of course, the identification codes in the middle portion may also be selected as the target identification codes, as long as an interval distance between the selected target identification codes is greater than the length of the identification code.

[0272] It should be noted that the interval distance between adjacent target identification codes refers to an interval distance between corresponding corner points in the adjacent target identification codes. By defining that the interval distance between the adjacent target identification codes is greater than the length of the identification code, the length of a corner-point baseline constituted by the selected target identification codes may be ensured to be at least greater than the length of a single target identification code.

[0273] The width of a corner-point baseline may be a distance between a minimum value and a maximum value of horizontal coordinates of the corner points in the target identification codes.

[0274] In some embodiments, the processor may determine a pixel region of the respective identification codes based on the coordinate information of the respective identification codes. The pixel region of the identification codes may be in one of two cases: being located in a target pixel region or not being located in the target pixel region. In response to determining that the pixel region of the identification codes is located in the target pixel region, the corresponding identification codes are determined as the target identification codes. Accordingly, by retaining the identification codes located in the target pixel region and removing the identification codes not located in the target pixel region, errors caused by distortion at image edges may be reduced. The coordinate information of the identification codes may be the coordinate information in a camera coordinate system.

[0275] In some embodiments, after the processor obtains an acquired image of the visual sensor, four corner points in the detected identification codes are converted into a camera coordinate system by using intrinsic parameters of the visual sensor, so as to obtain the coordinate information of the identification codes. The coordinate information of the identification codes includes coordinates of the four corner points. The target pixel region may be a region in an image with relatively small distortion. Merely by way of example, the target pixel region may be predetermined according to camera attributes. For example, a central region of the image may be used as the target pixel region, and an area of the central region is determined according to actual conditions. After the target pixel region is determined, the respective identification codes are filtered through the target pixel region. The camera coordinate system refers to a coordinate system established by using the center of the visual sensor (e.g., a camera) as an origin. The coordinate information of the identification codes in the camera coordinate system may represent the pose of the identification codes relative to the visual sensor.

[0276] In some embodiments, the processor determines an intersection-over-union (IoU) ratio of pixel regions of the identification codes with the target pixel region, and determines IoU values of the identification codes. In response to determining that the IoU value is greater than a preset IoU value, a pixel region of the identification codes is determined to be located in the target pixel region. In response to determining that the IoU value is less than or equal to the preset IoU value, the pixel region of the identification codes is determined to be not located in the target pixel region.

[0277] In some embodiments, the processor may further determine whether the respective corner points are located in the target pixel region based on coordinates of the respective corner points, so as to determine whether a pixel region of the identification codes is located in the target pixel region. in some embodiments, the horizontal coordinates of the upper-left corner point and the lower-left corner point in the identification codes are obtained; a reference scale of the identification codes is calculated by using the horizontal coordinate of the upper-left corner point and the horizontal coordinate of the upper-right corner point. Merely by way of example, the reference scale may be determined by the following formula (8) : s=|X2-X1| / d    (8)

[0278] Where s refers to a reference scale of the identification code, X2 refers to a horizontal coordinate of an upper-left corner point of the identification code, X1 refers to a horizontal coordinate of a lower-left corner point of the identification code, and d refers to an actual size of a single identification code. The actual size of the identification code may be represented by a length, a width, or a diagonal length of the identification code.

[0279] In some embodiments, the processor may determine a filtering strategy of the identification codes based on a relationship between a reference scale of the identification code and a first preset scale and a second preset scale. The first preset scale is greater than the second preset scale, and the two may be preset based on experience or actual requirements. For example, the first preset scale may be 1.5, and the second preset scale may be 0.8.

[0280] In some embodiments, when the reference scale is not less than the first preset scale, the processor may remove the identification codes, among the plurality of identification codes, in which all Y-axis direction coordinates of corner points are less than 1 / 5h or greater than 4 / 5h, and designate the remaining identification codes as the target identification codes.

[0281] In some embodiments, when the reference scale is less than the first preset scale and greater than the second preset scale, the processor may remove the identification codes, among the plurality of identification codes, in which all Y-axis direction coordinates of corner points are less than 1 / 4h or greater than 3 / 4h, and designate the remaining identification codes as the target identification codes.

[0282] h refers to a width or a length of the code strip. Preferably, h is the width of the code strip.

[0283] In some embodiments, the processor may determine a count of identification codes removed in the screening. In response to determining that the count of the identification codes is greater than a preset count threshold, a current reference code is removed from the plurality of identification codes. Based on the coordinate information, the plurality of identification codes after removing the current reference code are screened to determine the target identification code.

[0284] The reference code refers to an identification code closest to a center of the visual sensor among the identification codes. In some embodiments, the reference code may also be referred to as a central identification code. Merely by way of example, the central identification code may be determined based on the coordinate information of the identification codes. Since distortion becomes more severe as a distance from a camera center increases, the central identification code may be selected to perform screening on other detected identification codes so as to obtain the target identification codes meeting requirements.

[0285] In some embodiments, the processor may determine a size of the central identification code and sizes of other identification codes except the central identification code based on the coordinate information of the identification codes. A deviation between the sizes of the other identification codes and the size of the central identification code may be in one of two cases : being greater than a preset deviation or not greater than the preset deviation. In response to determining that a deviation between sizes of the other identification codes and a size of the central identification code is greater than a preset deviation, the corresponding other identification codes are removed to obtain removed identification codes. A count of the removed identification codes is then determined. In response to determining that the count of the identification codes is greater than or equal to a preset identification-code count, the coordinate information of the removed identification codes is determined as the target identification codes. Accordingly, by screening the other identification codes through the central identification code with relatively small distortion, the quality of the identification codes may be improved, and the accuracy of the pose recognition may be enhanced.

[0286] In some embodiments, the processor may determine the sizes of the identification codes based on the coordinate information of the identification codes, and determine whether the other identification codes meet requirements according to a deviation between a size of the central identification code and sizes of the other identification codes. The sizes include a length and a width of the identification codes. A length deviation and a width deviation between the central identification code and the other identification codes are compared, respectively. In response to determining that the length deviation is greater than a preset length deviation and / or the width deviation is greater than a preset width deviation, the corresponding other identification codes are removed. The sizes may further include an area of the identification codes. An area deviation between the central identification code and the other identification codes is compared respectively. In response to determining that the area deviation is greater than a preset area deviation, the corresponding other identification codes are removed.

[0287] After the other identification codes that do not meet requirements are removed, the count of the removed identification codes is determined. In response to determining that the count of the removed identification codes is greater than or equal to a preset identification-code count, the removed identification codes are designated as the target identification codes. In response to determining that the count of the removed identification codes is less than the preset identification-code count, the central identification code is removed from the identification codes, a new central identification code is re-determined from the identification codes after removing the central identification code, and the above screening operations are repeated.

[0288] In some embodiments, the processor may first perform a first screening on the identification codes based on pixel regions of the identification codes and the target pixel region to obtain screened identification codes after the first screening. The central identification code is then selected from the screened identification codes after the first screening, and a second screening is performed on the other identification codes based on a size of the central identification code to obtain the target identification codes. Of course, in other embodiments, the processor may first select the central identification code from the identification codes, and perform the first screening on the other identification codes based on the size of the central identification code to obtain screened identification codes after the first screening. The second screening is then performed on the screened identification codes after the first screening based on pixel regions of the screened identification codes after the first screening and the target pixel region to obtain the target identification codes.

[0289] It should be noted that a count of removed identification codes may be in one of two cases: being greater than the preset count threshold or not greater than the preset count threshold. In response to determining that the count of the removed identification codes is greater than the preset count threshold, the processor removes the current reference code from the plurality of identification codes according to the above manner, and, based on the coordinate information, screens the plurality of identification codes after removing the current reference code to re-determine the target identification code. In response to determining that the count of the removed identification codes is not greater than the preset count threshold, subsequent processing is performed based on the determined target identification code.

[0290] In 1530, the pose of the visual marker relative to the visual sensor is determined based on the target identification code.

[0291] In some embodiments, the pose of the visual marker relative to the visual sensor may also be regarded as the pose of the visual marker relative to the camera coordinate system.

[0292] After the target identification codes are obtained, the processor may select corner points, from horizontal coordinates of corner points of the target identification codes, with horizontal coordinates less than a first preset horizontal coordinate and horizontal coordinates greater than a second preset horizontal coordinate as initial corner points. The corner points, from vertical coordinates of the initial corner points, with the vertical coordinates less than a first preset vertical coordinate and the vertical coordinates greater than a second preset vertical coordinate are selected as target corner points. It is known that the target corner points may be in one of two cases: meeting preset requirements or not meeting the preset requirements. In response to determining that the target corner points meet the preset requirements, pose determination is performed based on the target corner points to obtain the current pose of the vehicle. Accordingly, corner points located at two ends may be selected to reduce calculation errors caused by an excessively short corner-point baseline.

[0293] Where the first preset horizontal coordinate and the second preset horizontal coordinate may be set according to actual requirements. Merely by way of example, a corner-point baseline width may be determined according to detection accuracy, and the first preset horizontal coordinate and the second preset horizontal coordinate may then be determined according to the corner-point baseline width. The corner-point baseline width refers to an absolute value of a difference between horizontal coordinates of two adjacent corner points. In other embodiments, a minimum corner-point horizontal coordinate and a maximum corner-point horizontal coordinate may also be selected from the corner-point horizontal coordinates of the target identification codes, and corresponding corner points are designated as the initial corner points.

[0294] The first preset vertical coordinate and the second preset vertical coordinate may also be set according to actual requirements. Merely by way of example, a corner-point baseline height may be determined according to detection accuracy, and the first preset vertical coordinate and the second preset vertical coordinate may then be determined according to the corner-point baseline height. The corner-point baseline height refers to an absolute value of a difference between vertical coordinates of two adjacent corner points. In other embodiments, a minimum corner-point vertical coordinate and a maximum corner-point vertical coordinate may also be selected from the vertical coordinates of the initial corner points, and corresponding corner points are designated as the target corner points.

[0295] In some embodiments, the screening process based on the horizontal coordinates of the corner points and the screening process based on the vertical coordinates of the corner points may be interchanged, i.e., the initial corner points are first obtained through screening based on the vertical coordinates of the corner points, and then the target corner points are obtained through screening based on the horizontal coordinates of the corner points.

[0296] In some embodiments, after the target corner points are obtained, the processor determines whether the target corner points meet preset requirements. In response to determining that the preset requirements are met, the pose determination is performed based on the target corner points to obtain the current pose of the vehicle. The preset requirements may be that the target corner points are not located in a distortion region of an acquired image. Merely by way of example, it may be determined whether horizontal coordinates and / or vertical coordinates of the target corner points are less than a first preset distortion coordinate and / or whether horizontal coordinates and / or vertical coordinates of the target corner points are greater than a second preset distortion coordinate. In response to determining that the condition is met, the corresponding target corner points are removed, and the target corner points are re-determined based on the remaining corner points after removal.

[0297] In some embodiments, the following cases may be included: first, it is determined whether horizontal coordinates of the target corner points are less than a first preset distortion coordinate, and in response to determining that the condition is met, the corresponding target corner points are removed. Second, it is determined whether vertical coordinates of the target corner points are less than the first preset distortion coordinate, and in response to determining that the condition is met, the corresponding target corner points are removed. Third, it is determined whether the horizontal coordinates of the target corner points are less than the first preset distortion coordinate and the vertical coordinates of the target corner points are less than the first preset distortion coordinate, and in response to determining that the condition is met, the corresponding target corner points are removed. Fourth, it is determined whether the horizontal coordinates of the target corner points are less than a second preset distortion coordinate, and in response to determining that the condition is met, the corresponding target corner points are removed. Fifth, it is determined whether the vertical coordinates of the target corner points are less than a second preset distortion coordinate, and in response to determining that the condition is met, the corresponding target corner points are removed. Sixth, it is determined whether the horizontal coordinates of the target corner points are less than the second preset distortion coordinate and the vertical coordinates of the target corner points are less than the second preset distortion coordinate, and in response to determining that the condition is met, the corresponding target corner points are removed. Seventh, it is determined whether horizontal coordinates of the target corner points are less than the first preset distortion coordinate and vertical coordinates of the target corner points are less than the first preset distortion coordinate, and whether horizontal coordinates of the target corner points are less than the second preset distortion coordinate and vertical coordinates of the target corner points are less than the second preset distortion coordinate. In response to determining that the condition is met, the corresponding target corner points are removed.

[0298] In some embodiments, the processor obtains code-strip coordinate information of the target corner points in a code-strip coordinate system. Meanwhile, for ease of distinction, the coordinate information of the target corner points in a camera coordinate system is designated as the camera coordinate information. Determination of the pose is performed by using the camera coordinate information of the target corner points in the camera coordinate system and the code-strip coordinate information of the target corner points in the code-strip coordinate system to obtain the current pose of the vehicle.

[0299] The position of the visual marker in the world coordinate system is which is fixed and may be expressed by equation (1) described above at any time.

[0300] In some embodiments, the processor may perform the determination of the pose based on equation (1) to obtain the pose of the visual marker in the camera coordinate system, i.e., the pose of the visual marker relative to the visual sensor, denoted as

[0301] More descriptions regarding equation (1) and a process for determination of the pose may be found in related descriptions in connection with FIG. 2 of the present disclosure.

[0302] FIG. 17 is a flowchart of an exemplary process of determining a parking target point according to some embodiments of the present disclosure. As shown in FIG. 17, process 1700 includes the following contents. In some embodiments, the process 1700 may be executed by the processor.

[0303] In 1710, the image data is obtained based on the visual sensor.

[0304] In some embodiments, the processor may obtain the image data based on the visual sensor. More descriptions regarding obtaining the image data may be found in related descriptions in connection with FIG. 2 of the present disclosure.

[0305] In 1720, LiDAR data of the vehicle is obtained based on the LiDAR.

[0306] In some embodiments, the processor may obtain the LiDAR data of the vehicle through the LiDAR. The LiDAR data may also be referred to as LiDAR recognition information.

[0307] The LiDAR recognition information refers to information obtained by scanning a surrounding environment through the LiDAR. The LiDAR is a sensor configured to detect two-dimensional planar information, and may be installed at specific positions of the vehicle to acquire two-dimensional planar contour information of the surrounding environment of the vehicle, and also to detect highly reflective materials. Merely by way of example, the LiDAR may be installed at a left front position and a right lower position of the vehicle. In some embodiments, the reflective target may be arranged in a relevant region of a parking position in advance. The LiDAR scans the reflective target to obtain the point cloud information of the reflective target and processes the point cloud information of the reflective target, so as to obtain the pose of the vehicle under the LiDAR recognition information. The reflective target may be a reflective plate, and laser reflective stickers are disposed on the reflective plate.

[0308] In 1730, odometry data is obtained based on the odometer.

[0309] In some embodiments, the odometry data may also be referred to as odometer recognition information.

[0310] The odometer recognition information refers to information obtained by detecting the movement of a vehicle through an odometer. The odometer is a device configured to measure travel and speed of the vehicle, and is typically installed in wheels of the vehicle, using relative movement data of the vehicle over a period of time. For example, the odometer recognition information indicates that the vehicle moves forward 9 m and rotates 45° to the right over a period of time.

[0311] During movement of the vehicle, the vehicle processor continuously acquires the LiDAR recognition information detected by the LiDAR and the odometer recognition information detected by the odometer. In response to not detecting the image data for the visual marker, the current pose of the vehicle is determined based on the LiDAR recognition information and the odometer recognition information, or the parking target point at a time when parking is reached is determined based solely on the LiDAR recognition information. In response to detecting the image data for the visual marker, the parking target point at the time when parking is reached is determined based on the image data, the LiDAR recognition information, and the odometer recognition information.

[0312] More descriptions regarding obtaining the odometry data may be found in related descriptions in connection with FIG. 2 of the present disclosure.

[0313] In 1740, a plurality of first target poses are determined based on the LiDAR data.

[0314] The first target pose refers to a pose of the vehicle in the world coordinate system at a parking arrival moment, being determined based on the LiDAR data.

[0315] In some embodiments, the processor may determine, based on the LiDAR data at a certain moment, the pose relationship among the vehicle, the reflective target, and the LiDAR in different coordinate systems, and determine the first target pose based on the pose relationship.

[0316] In some embodiments, the pose relationship among the vehicle, the reflective target, and the LiDAR in different coordinate systems may be represented by the following equation (9) :

[0317] Where represents the pose of the reflective target in the world coordinate system;  represents the current pose of the vehicle in the world coordinate system;  represents the pose of the LiDAR relative to a motion center of the vehicle, which is also referred to as an external calibration parameter of the LiDAR;  represents the pose of the reflective target relative to the LiDAR coordinate system; and  represents the pose of the LiDAR in the reflective target coordinate system at a parking arrival moment. The LiDAR coordinate system refers to a coordinate system established with the LiDAR as an origin; and the reflective target coordinate system refers to a coordinate system established with a center of the reflective target as an origin.

[0318] In some embodiments, the processor may guide the vehicle to move to reach a position of the reflective target based on the pose of the reflective target in the world coordinate system so as to complete the movement. Therefore, the pose of the reflective target in the world coordinate system may be regarded as the parking target point of the vehicle, and the processor may obtain the first target pose of the vehicle by solving equation (9) .

[0319] In some embodiments, the current pose of the vehicle in the world coordinate system may be calculated based on the odometry data. More descriptions may be found in connection with FIG. 2, step 240 of the present disclosure. The pose of the LiDAR relative to a movement center of the vehicle which is used to represent a position of the LiDAR relative to the vehicle center, is a fixed and known value and may be determined based on installation data of the LiDAR or by manual input. The pose of the reflective target relative to the LiDAR coordinate system may be obtained based on the LiDAR data. The pose of the LiDAR in a reflective-target coordinate system at a parking arrival moment may be preset. For example,  may include the pose of the LiDAR facing the center of the reflective target at the parking arrival moment.

[0320] In some embodiments, the processor may obtain a plurality of first target poses corresponding to a current moment and a plurality of historical docking moments before the current moment through the above manner, and then determine the plurality of first target poses. As another example, when a current moment is a moment tc, the processor may obtain the first target poses corresponding to a moment ta, a moment tb, and the moment tc through equation X. The moment ta and the moment tb are historical docking moments earlier than the moment tc.

[0321] In 1750, a plurality of second target poses and a plurality of pose change differences are determined based on the image data and the odometry data.

[0322] The second target pose refers to the pose of the vehicle in the world coordinate system at a time when parking is reached, determined based on the image data.

[0323] In some embodiments, the processor may determine the pose relationship between the vehicle and the visual marker based on the image data, and determine the second target pose based on the pose relationship. The specific determination process is similar to a process for determining the parking target point in FIG. 2 of the present disclosure, and may be found in operations 230 and 240 of FIG. 2 and related descriptions thereof.

[0324] In some embodiments, the processor may determine the second target pose of the vehicle through equation (5) described above. The Equation (5) is as follows:

[0325] Where t1 denotes any time during movement of the vehicle, and t2 denotes a time when parking is reached.  denotes the pose of the vehicle in the world coordinate system at t2.  denotes the pose of the vehicle in the world coordinate system at t1.  denotes an extrinsic calibration parameter of the visual sensor in the vehicle coordinate system.  denotes the pose of the visual marker relative to the visual sensor in the vehicle at t1.  denotes a pose of the visual sensor in the vehicle relative to the visual marker at t2.

[0326] In some embodiments, at t1, the pose of the visual marker relative to the visual sensor in the vehicle, denoted as may be determined based on the target identification codes. More detailed descriptions may be found in related descriptions in connection with FIG. 15 of the present disclosure.

[0327] More descriptions regarding obtaining and may be found in related descriptions in connection with FIG. 2 of the present disclosure.

[0328] In some embodiments, the processor may obtain the second target poses corresponding to a current time and a plurality of historical docking times prior to the current time by solving equation (5) , and further determine the plurality of second target poses.

[0329] The pose change difference refers to a change of the pose of the vehicle between two adjacent times.

[0330] In some embodiments, the processor may obtain the odometry data corresponding to each of two adjacent times through the odometer, and determine the pose change difference based on the odometry data corresponding to the two adjacent times.

[0331] In some embodiments, for a time ti, the processor may determine a corresponding pose change difference through equation (10) as follows: Δβi=βi -βi-1    (10)

[0332] Where Δβi denotes the pose change difference corresponding to the time, βi denotes the odometry data obtained by the odometer at time ti, and βi-1 denotes the odometry data obtained by the odometer at time ti-1.

[0333] In 1760, the parking target point is determined based on the plurality of first target poses, the plurality of second target poses, and the plurality of pose change differences.

[0334] In some embodiments, the processor may determine a parking target angle and a parking position respectively based on the plurality of first target poses, the plurality of second target poses, and the plurality of pose change differences, and determine the parking target point based on the parking target angle and the parking position.

[0335] The parking target angle refers to an included angle between a center line of the vehicle and respective coordinate axes of the world coordinate system at a time when parking is reached.

[0336] In some embodiments, the processor may respectively determine a first angle residual and a second angle residual based on angle data corresponding to the plurality of first target poses and the plurality of second target poses, determine a third angle residual based on the plurality of pose change differences, and determine the parking target angle based on the first angle residual, the second angle residual, and the third angle residual through solving according to an optimization objective.

[0337] In some embodiments, the processor may construct a first angle residual based on the first target pose. Merely by way of example, the first angle residual may be expressed by equation (11) as follows: EMαi=Qp· (Mαi -Bi)    (11)

[0338] Where EMαi denotes a first angle residual, Qp denotes the first weight, Mαi denotes an angle in the first target pose corresponding to time ti, and Bi denotes a parking target angle to be solved. Bi is aligned with a timestamp of Mαi.

[0339] In some embodiments, a value of the first weight Qp may be preset based on prior experience or actual requirements.

[0340] In some embodiments, the processor may construct a second angle residual based on the second target pose. Merely by way of example, the second angle residual may be expressed by equation (12) as follows: EMci=Qc· (Mci -Bi)    (12)

[0341] Where EMci denotes a second angle residual, Qc denotes the second weight, Mci denotes an angle in the second target pose corresponding to time ti, and Bi denotes a parking target angle to be solved. Bi is aligned with a timestamp of Mci.

[0342] In some embodiments, a value of the second weight Qc is less than one half of a value of the first weight Qp. However, as a count of currently detected ArUco codes increases, the value of the second weight Qc also gradually increases, but does not exceed the first weight Qp at maximum. A count of currently detected ArUco codes refers to a count of ArUco codes included in the image data acquired at time ti.

[0343] In some embodiments, the processor may construct a third angle residual based on a third target pose. Merely by way of example, the third angle residual may be expressed by equation (13) as follows: Eβij=Qr· (Δβ - (Bj-Bi) )   (13)

[0344] Where Eβij denotes the third angle residual, Qr denotes the third weight, Δβ denotes an angle difference in the pose change difference corresponding to time tj and time ti (time tj is later than time ti) , and Bj and Bi respectively denote parking target angles to be solved corresponding to time tj and time ti.

[0345] In some embodiments, a value of the third weight Qr may be preset based on prior experience or actual requirements.

[0346] In some embodiments, the processor may construct a first optimization objective related to a first angle residual, a second angle residual, and a third angle residual. The first optimization objective may be expressed by equation (14) as follows: min (∑iEMci+∑iEMαi+∑i, j Eβij)    (14)

[0347] In some embodiments, the processor may adopt a manner of Newton, a manner of gradient descent, or other feasible manners to solve in a manner based on the first optimization objective to obtain optimal values of Bj and Bi, and designate the determined optimal value of Bj as the parking target angle.

[0348] In some embodiments, for the time ti, when an absolute value of the difference between an angle in the second target pose Mci and an angle in the first target pose Mαi corresponding thereto is greater than 5°, the first target pose determined based on the image data may be directly adopted. For example, the value of EMci may be assigned to EMαi for determination.

[0349] The parking position refers to a designated position region that the vehicle is required to reach.

[0350] In some embodiments, the processor may respectively determine a first displacement residual and a second displacement residual based on positions corresponding to the plurality of first target poses and the plurality of second target poses, and determine the parking position through solving according to a second optimization objective based on the first displacement residual and the second displacement residual.

[0351] In some embodiments, the processor may construct a first displacement residual based on the first target pose, and the first displacement residual may be expressed by equation (15) as follows: EGαi=Qf· (Gαi-Ti)    (15)

[0352] Where EGαi denotes a first displacement residual, Qf denotes the fourth weight, Gci denotes a position in the first target pose corresponding to time ti, and Ti denotes a parking position to be solved.

[0353] In some embodiments, the value of the fourth weight Qf may be preset based on prior experience or actual requirements.

[0354] In some embodiments, the processor may construct a second displacement residual based on the second target pose, and the second displacement residual may be expressed as equation (16) below: EGci=Qd· (Gci-Ti)    (16)

[0355] Where EGci denotes a second displacement residual, Qd denotes a fifth weight, Gci denotes a position in the second target pose corresponding to time ti, and Ti denotes a parking position to be solved.

[0356] In some embodiments, a value of the fifth weight Qd is greater than three times Qf. However, as a count of currently detected ArUco codes increases, the value of the fifth weight Qd also gradually increases, but does not exceed five times Qf at maximum.

[0357] In some embodiments, the processor may construct a second optimization objective related to a first displacement residual and a second displacement residual, and the second optimization objective may be expressed by equation (17) as follows: min (∑iEGci+∑iEGαi)   (17)

[0358] In some embodiments, the processor may adopt the manner of Newton, the manner of gradient descent, or any other feasible manners to solve in the manner based on the second optimization objective to obtain the optimal value of Ti, and designate the determined optimal value of Ti as the parking position.

[0359] In some embodiments, the processor may determine the parking target point based on the parking target angle and the parking position.

[0360] In some embodiments of the present disclosure, in determining the parking position of the vehicle, data acquired from the LiDAR, the visual sensor, and the odometer and related calculation results are comprehensively considered. Through fusion calculation, the robustness and accuracy of calculating the parking target point may be further improved, thereby facilitating more accurate control of the movement of the vehicle.

[0361] In some embodiments, the processor may also control the vehicle based on the current pose of the vehicle and the ideal pose of the vehicle. For example, the processor may determine whether to control the vehicle to return to the LiDAR recognition preparation point based on the current pose of the vehicle and the ideal pose of the vehicle, and determine whether to issue the parking alarm.

[0362] In some embodiments, the processor may determine the current pose of the vehicle based on the odometry data obtained by at least one of the odometer or the LiDAR, and determine whether to return to the LiDAR recognition preparation point and determine whether to issue the parking alarm based on the current pose of the vehicle and the ideal pose of the vehicle.

[0363] The current pose refers to a pose of the vehicle in the world coordinate system at the current time. More descriptions regarding determining the current pose may be found in related descriptions in operation 230 of FIG. 2 and operation 1740 of FIG. 17 of the present disclosure.

[0364] The ideal pose refers to an ideal pose of the vehicle in the world coordinate system. In some embodiments, the ideal pose includes an ideal position and an ideal angle.

[0365] In some embodiments, the processor may predetermine positions that the vehicle may pass through in a process of moving toward the parking target point based on the parking target point, and determine the positions as the ideal position.

[0366] In some embodiments, the processor may also acquire historical data of vehicles moving toward historical parking target points through a global camera, designate data in which a historical parking target point is the same as the current parking target point as reference data, and determine positions passed by the historical vehicles successfully reaching the parking target point in the reference data as the ideal position.

[0367] In some embodiments, the processor may determine the ideal angle through estimation in advance or based on historical data in a similar manner.

[0368] The LiDAR recognition preparation point is a point where the LiDAR in the vehicle starts to operate. The LiDAR recognition preparation point may also be regarded as a position where the LiDAR completes preparation work.

[0369] In some embodiments, the processor may determine a real-time position and a real-time angle of the vehicle based on the current pose of the vehicle. When a distance between the real-time position of the vehicle and the parking target point is less than a preset red-line distance, the vehicle is considered to enter a danger zone, and line-following accuracy supervision needs to be started. Merely by way of example, when a distance between the real-time position of the vehicle and the ideal position exceeds a preset distance threshold, the vehicle is controlled to return to the LiDAR recognition preparation point to restart control of the vehicle; when a difference between the real-time angle of the vehicle and the ideal angle exceeds a preset angle threshold, the vehicle is controlled to return to the LiDAR recognition preparation point to restart control of the vehicle.

[0370] In some embodiments, when the vehicle returns to the LiDAR recognition preparation point multiple times (e.g., two times, three times, or more) at the same position, the vehicle is controlled to stop, and an alarm is issued to report an abnormal condition.

[0371] In some embodiments of the present disclosure, safety control of the movement of the vehicle is performed based on the current pose of the vehicle. When an out-of-limit deviation is detected, the vehicle is controlled to retreat in time, which may effectively avoid collision accidents caused by cumulative errors or system abnormalities. Meanwhile, through a continuous failure alarm mechanism, risks caused by repetitive positioning errors may be further prevented, thereby significantly improving active safety and system reliability in a process of controlling the movement of the vehicle.

[0372] In some embodiments, a manner of identifying the pose of the vehicle by combining the LiDAR, a camera, and the odometer is provided. In some embodiments, the LiDAR recognition information and the odometer recognition information of the vehicle are obtained; a first initial pose of the vehicle is determined based on the target identification codes; a second initial pose of the vehicle is determined based on the LiDAR recognition information; a third initial pose of the vehicle is determined based on the odometer recognition information; and the current pose target docking pose of the vehicle is determined based on the first initial pose, the second initial pose, and the third initial pose. Accordingly, by fusing sensor information to determine the pose of the vehicle, higher accuracy may be achieved compared with using a single sensor.

[0373] The first initial pose is determined based on the image data. After detecting the image data for the visual marker, the vehicle processor processes the image data to obtain the first initial pose of the vehicle. In some embodiments, the visual marker may be feature points in an image acquired by a camera, and the first initial pose of the vehicle may be obtained by performing recognition processing on the feature points. A selection manner of the feature points includes but is not limited to a Harris corner detection algorithm, non-maximum suppression, or the like. In other embodiments, the visual marker includes at least one identification code. the vehicle processor screens the identification codes based on the coordinate information of the identification codes to obtain the target identification codes, and performs the pose recognition processing on the target identification codes to obtain a first initial pose of the vehicle.

[0374] The second initial pose is determined based on the LiDAR recognition information detected by the vehicle. In some embodiments, the vehicle processor detects a reflective target in the LiDAR recognition information to obtain the point cloud data of the reflective target, and performs the pose recognition on the point cloud data of the reflective target to obtain the second initial pose of the vehicle. In other embodiments, the vehicle processor sets a sliding window in the LiDAR data queue. When a preset count of raw point clouds exists in the LiDAR data queue, the multiple frames of raw point clouds are read through the sliding window. The reflective target detection is performed based on the obtained multiple frames of raw point clouds to obtain a second initial pose of the vehicle. Accordingly, a count of the point clouds is enriched through the multiple frames of raw point clouds, thereby solving a problem that the pose of the reflective target in the LiDAR coordinate system is difficult to be accurately detected when the LiDAR is relatively far from the reflective target.

[0375] The third initial pose is determined based on the odometer recognition information of the vehicle. Merely by way of example, a distance variation and the angle variation of the vehicle between a historical time and a current time are detected through the odometer, where the historical time may include any historical time. The third initial pose of the vehicle is determined based on the distance variation and the angle variation of the vehicle. It should be noted that the odometer recognition information needs to be determined based on two detection results. Therefore, at the first detection, the target docking pose of the vehicle is determined based on the LiDAR recognition information, or determined based on the LiDAR recognition information and the image data.

[0376] Before fusing the first initial pose, the second initial pose, and the third initial pose, timestamp synchronization control needs to be performed on recognition results of different sensors to ensure fusion accuracy. Since a frequency of a camera and frequencies of the odometer and the LiDAR are different, timestamp interpolation synchronization is required. in some embodiments, the image acquisition timestamp of the camera with a lower frequency is taken as a reference. Frame data before and after the corresponding image acquisition timestamp are found in the cached odometer queue with a higher frequency, and the odometer recognition information at the image acquisition timestamp is fitted according to an interpolation principle to complete the synchronization.

[0377] After obtaining synchronized the first initial pose, the second initial pose, and the third initial pose, the vehicle processor may perform joint optimization on the first initial pose, the second initial pose, and the third initial pose by using a graph optimization model to obtain the target docking pose of the vehicle.

[0378] To reduce errors, the vehicle processor may further perform verification processing on the first initial pose corresponding to the image data by using the second initial pose corresponding to the LiDAR recognition information. If the verification succeeds, the target docking pose of the vehicle is determined by simultaneously using the first initial pose, the second initial pose, and the third initial pose. If the verification fails, the first initial pose is rejected, and the target docking pose of the vehicle is determined by using the second initial pose and the third initial pose. Merely by way of example, the difference value between the first initial pose and the second initial pose is obtained. It is known that the difference value between the first initial pose and the second initial pose may be less than a preset difference value or greater than or equal to the preset difference value. In response to the difference value being less than the preset difference value, the first initial pose, the second initial pose, and the third initial pose are input into a graph optimization model for optimization to obtain the target docking pose of the vehicle. In response to the difference value being greater than or equal to the preset difference value, the second initial pose and the third initial pose are input into the graph optimization model for optimization to obtain the target docking pose of the vehicle. Since the second initial pose corresponding to the LiDAR recognition information is more accurate than the first initial pose corresponding to the image data, performing verification on the first initial pose by using the second initial pose may prevent the first initial pose with a large error from affecting the accuracy of the target docking pose of the vehicle.

[0379] The pose includes an angle of the vehicle. The vehicle processor obtains a difference value between the first initial pose and the second initial pose, which may specifically be a difference value between a first angle in the first initial pose and a second angle in the second initial pose. In some embodiments, since an initial angle of the vehicle calculated from detected LiDAR point clouds during a docking process has certain fluctuations, directly using the angle may result in large fluctuations in a route autonomously planned by the vehicle, which is not conducive to trajectory tracking in motion control. Therefore, smoothing processing may be performed on the initial angle to obtain the first angle of the first initial pose.

[0380] The preset difference value is set according to actual requirements. Merely by way of example, the preset difference value may be any one of values in a range of 1° to 5°. When the difference value is less than the preset difference value, the first initial pose is considered to meet requirements, and the first initial pose, the second initial pose, and the third initial pose are input into a graph optimization model for joint optimization to obtain the target docking pose of the vehicle. When the difference value is greater than or equal to the preset difference value, the first initial pose is considered not to meet requirements, and the second initial pose and the third initial pose are input into the graph optimization model for joint optimization to obtain the target docking pose of the vehicle.

[0381] The graph optimization model refers to expressing an optimization problem in a form of a graph. The graph is a structure composed of vertices and edges, and an edge connects a plurality of vertices to represent relationships between the vertices.

[0382] FIG. 18 is a schematic diagram illustrating a graph optimization model according to some embodiments of the present disclosure.

[0383] As shown in FIG. 18, a circle represents an angle to be optimized, a square represents a second angle recognized by the LiDAR, a triangle represents a third angle recognized by the odometer, and a diamond represents the first angle recognized by the camera. For one of the angles to be optimized, the first angle, the second angle, and the third angle may be used as constraint information of the angle to be optimized to perform joint optimization on the angle to be optimized, so as to obtain a more accurate current angle. The third angle recognized by the odometer may include one or more.

[0384] As shown in FIG. 18, the pose optimization process includes: constructing a residual value of the first initial pose, a residual value of the second initial pose, and a residual value of the third initial pose respectively according to a first preset optimization variable. The residual value of the first initial pose, the residual value of the second initial pose, and the residual value of the third initial pose are subjected to weighted summation processing respectively according to a first preset weight, a second preset weight, and a third preset weight to obtain a target residual value, where the first preset weight is proportional to a count of the identification codes. Optimization is performed with a purpose of reducing the target residual value to obtain the target docking pose of the vehicle. Accordingly, by determining the target docking pose of the vehicle through optimizing the residual values of multiple sensors, the optimization effect may be improved. Furthermore, the weight of the first initial pose is continuously adjusted based on a count of identification codes. The more the identification codes, the more accurate the first initial pose is, and increasing the corresponding weight may improve the accuracy of the target docking pose accordingly.

[0385] The pose optimization includes angle optimization. The residual value of a first angle is constructed according to a first preset optimization variable, and then the residual value of the first angle is subjected to weighting processing according to a first preset weight to obtain the residual value of the first angle after the weighting processing. Merely by way of example, an equation (18) of the residual value of the first angle after the weighting processing is as follows: EMci1=Qc1* (Mci1-Bi1)   (18)

[0386] Where Qc1 represents the first preset weight, Mci1 represents the first angle, and Bi1 represents a first preset optimization variable. The first preset weight increases with an increase in the count of the identification codes, but does not exceed the second preset weight. Merely by way of example, the first preset weight is less than a second preset weight multiplied by a first preset multiple, and the first preset multiple may be any one of values in a range of 1 / 2 to 3 / 4.

[0387] The residual value of the second angle is constructed according to the first preset optimization variable, and then the residual value of the second angle is subjected to the weighting processing according to the second preset weight to obtain the residual value of the second angle after the weighting processing. Merely by way of example, an equation (19) of the residual value of the second angle after the weighting processing is as follows: EMai1=Qp1* (Mai1-Bi1)   (19)

[0388] Where Qp1 represents the second preset weight, Mai1 represents the second angle, and Bi1 represents the first preset optimization variable.

[0389] The residual value of a third angle is constructed according to a first preset optimization variable, and then the residual value of the third angle is subjected to the weighting processing according to the third preset weight to obtain the residual value of the third angle after the weighting processing. Merely by way of example, an equation (20) of the residual value of the third angle after the weighting processing is as follows: Eβij1=Qr1* (Δβ1- (Bj1-Bi1) )    (20)

[0390] Where Qr1 represents the third preset weight, Δβ1 represents the third angle recognized by the odometer, which is determined based on the angle variation between the angle at the historical time and the angle at the current time, Bj1 represents the historical optimization variable corresponding to the historical time, and Bi1 represents the first preset optimization variable corresponding to the current time.

[0391] After obtaining the residual value of the first angle after the weighting processing, the residual value of the second angle after the weighting processing, and the residual value of the third angle after the weighting processing, joint optimization is performed by using the residual values to obtain the current angle of the vehicle. The process of joint optimization is to obtain min (∑i1EMαi1+∑i1EMci1+∑i1, j1Eβi1j1) .

[0392] In some embodiments, a displacement optimization manner is further provided. Generally, displacement recognized by the camera is more accurate than displacement recognized by the LiDAR. Therefore, the first displacement in the first initial pose recognized by the camera and the second displacement in the second initial pose recognized by the LiDAR may be jointly optimized to obtain the current displacement of the vehicle. In this process, the displacement optimization may be implemented through a graph optimization model.

[0393] FIG. 19 is another schematic diagram illustrating a graph optimization model according to some embodiments of the present disclosure.

[0394] As shown in FIG. 19, a circle represents a displacement to be optimized, a square represents a second displacement recognized by the LiDAR, and a diamond represents a first displacement recognized by the camera. The first displacement and the second displacement are used as constraint information of the displacement to be optimized to perform optimization, so as to obtain the current displacement of the vehicle.

[0395] The residual value of the first displacement is constructed according to the second preset optimization variable, and then the residual value of the first displacement is subjected to the weighting processing according to the fourth preset weight to obtain the residual value of the first displacement after the weighting processing. Merely by way of example, an equation (21) of the residual value of the first displacement after the weighting processing is as follows: EGci1=Qd1* (Gci1-Ti1)   (21)

[0396] Where Qd1 represents the fourth preset weight, Gci1 represents a first displacement recognized by the camera, and Ti1 represents the second preset optimization variable. The second preset optimization variable is a variable detected at a LiDAR timestamp closest to a timestamp corresponding to a first displacement. The fourth preset weight increases with an increase in the count of the identification codes, but does not exceed a fifth preset weight corresponding to LiDAR recognition. Merely by way of example, the fourth preset weight is less than the fifth preset weight multiplied by a second preset multiple, and the second preset multiple may be any one of values in a range of 3 to 5. The fourth preset weight may also be set to be greater than the second preset weight multiplied by a third preset multiple, and the third preset multiple may be 3.

[0397] The residual value of the second displacement is constructed according to the second preset optimization variable, and then the residual value of the second displacement is subjected to the weighting processing according to the fifth preset weight to obtain the residual value of the second displacement after the weighting processing. Merely by way of example, an equation (22) of the residual value of the second displacement after the weighting processing is as follows: EGai1=Qf1* (Gai1-Ti1)   (22)

[0398] Where Qf1 represents the fifth preset weight, Gai1 represents the second displacement recognized by LiDAR, and Ti1 represents the second preset optimization variable. It should be noted that the second preset optimization variable needs to be aligned with a timestamp of the second displacement.

[0399] After obtaining the residual value of the first displacement after the weighting processing and the residual value of the second displacement after the weighting processing, joint optimization is performed by using the residual values to obtain a current displacement of the vehicle. The process of joint optimization is to obtain min (∑i1EGαi1+∑i1EGci1) .

[0400] Furthermore, during the vehicle docking process, the distance between the vehicle and a parking position is detected in real time. When the distance between the vehicle and the parking position is less than the second preset distance value, it indicates that the vehicle enters a danger region, and a line-following precision supervision module is started. Within the danger region, when a left or right displacement coordinate exceeds a preset threshold or an angle exceeds a preset angle threshold, the vehicle is controlled to retreat along the current angle to the LiDAR recognition preparation point to restart fusion recognition. When exiting tuning occurs continuously multiple times at the same point, the parking alarm is triggered.

[0401] FIG. 20 is a flowchart of an exemplary process of a vehicle docking method according to some embodiments of the present disclosure. As shown in FIG. 20, a vehicle docking method may include the following contents.

[0402] The vehicle processor controls the vehicle to reach the LiDAR recognition preparation point, starts the LiDAR to scan the reflective target to obtain the LiDAR recognition information, and simultaneously starts the odometer to acquire the odometer recognition information of the vehicle. In a first docking stage, the target docking pose of the vehicle is determined by using the LiDAR recognition information and the odometer recognition information, and the vehicle is controlled to approach a parking position according to the target docking pose of the vehicle.

[0403] In the second docking phase, when a distance between the vehicle and the parking position is detected to be less than a first predetermined distance value, the camera is turned on to detect the image data directed at the visual marker. Meanwhile, the odometer recognition information and the LiDAR recognition information are acquired, the odometer recognition information is stored in the odometer queue, the LiDAR recognition information is stored in the LiDAR data queue, and the image data is stored in a camera data queue.

[0404] A sliding window is used to obtain multiple frames of the LiDAR recognition information from the LiDAR data queue. Linear interpolation is performed in the odometer queue to calculate the third initial poses synchronized with timestamps within the sliding window, and the third initial poses are stored in a timestamp synchronization queue. Using the synchronized poses of the respective timestamps, the LiDAR recognition information is projected into the latest LiDAR coordinate system of the sliding window to perform screening on point cloud data, thereby obtaining screened point cloud data. Motion distortion removal is performed on the screened point cloud data to obtain target point cloud data. The pose recognition processing is performed on the target point cloud data to obtain the second initial pose, and the second initial pose is stored in a feature center queue.

[0405] In the process of determining the pose of the vehicle by using the image data, screening processing on the identification codes is first performed by using a camera installation height and pixel regions where the identification codes are located, so as to obtain the target identification codes. Subsequently, target corner points farther away are selected from the target identification codes to increase a baseline length of the corner points. The pose recognition is performed based on the target corner points to determine the first initial pose.

[0406] The vehicle processor determines whether a difference value between the first initial pose and the second initial pose is less than a preset difference value. If the difference value is less than the preset difference value, synchronized first initial pose, the second initial pose, and the third initial pose are jointly optimized to obtain the target docking pose of the vehicle. If the difference value is greater than or equal to the preset difference value, it is determined whether a count of the LiDAR recognition information in a feature center queue is greater than or equal to 2. If the count of LiDAR recognition information in the feature center queue is greater than or equal to 2, joint optimization is performed based on a timestamp synchronization queue and the feature center queue to obtain an initial pose of the vehicle. It is further determined whether a count of nodes of the joint optimization is greater than a preset optimization count threshold. If the count of nodes of the joint optimization is greater than the preset optimization count threshold, sliding-window optimization is performed to ensure that the count of nodes of the joint optimization is less than a certain range. If the count of nodes of the joint optimization is not greater than the preset optimization count threshold, the initial pose of the vehicle is determined as the target docking pose of the vehicle. If the count of the LiDAR recognition information in the feature center queue is less than 2, the target docking pose of the vehicle is determined based on the second initial pose and the third initial pose.

[0407] FIG. 21 is a block diagram of another exemplary parking control device according to some embodiments of the present disclosure.

[0408] As shown in FIG. 21, a parking control device 2100 includes an acquisition module 2110, a determination module 2120, and a control module 2130.

[0409] The acquisition module 2110 is configured to, during movement of the vehicle, in response to detecting the image data for the identification codes, select at least two target identification codes from the identification codes based on the image data, where the interval distance between the adjacent target identification codes is greater than the length of the identification code.

[0410] The determination module 2120 is configured to determine the target docking pose of the vehicle based on the target identification codes.

[0411] The control module 2130 is configured to control the vehicle to move toward the parking position based on the target docking pose until reaching the parking position.

[0412] During the movement of the vehicle, there are two cases: the image data for the identification codes is detected, or the image data for the identification codes is not detected. In response to detecting the image data for the identification codes, the processor may select at least two target identification codes from the identification codes based on the image data, where the interval distance between the adjacent target identification codes is greater than the length of the identification code. The target docking pose of the vehicle is determined based on the target identification codes, and the vehicle is controlled to move toward a parking position based on the target docking pose until reaching the parking position. By selecting the identification codes with a relatively large interval distance as the target identification codes, a corner point baseline width of the pose recognition may be increased, thereby avoiding instability in the pose recognition accuracy caused by an excessively short corner point baseline width.

[0413] In some embodiments of the present disclosure, an electronic device is further provided. The electronic device includes at least one processor and at least one storage. The at least one storage is configured to store computer instructions. The at least one processor is configured to execute at least a portion of the computer instructions to implement the foregoing parking control method.

[0414] In some embodiments of the present disclosure, a computer-readable storage medium is further provided. The storage medium stores computer instructions. When a computer reads the computer instructions from the computer-readable storage medium, the computer executes the foregoing parking control method.

[0415] The basic concepts have been described above, and it is apparent to those skilled in the art that the foregoing detailed disclosure is intended as an example only and does not constitute a limitation of this specification. While not expressly stated herein, various modifications, improvements, and amendments may be made to this specification by those skilled in the art. Those types of modifications, improvements, and amendments are suggested in this specification, so those types of modifications, improvements, and amendments remain within the spirit and scope of the exemplary embodiments of this specification.

[0416] Also, this specification uses specific words to describe the embodiments of this specification. such as "an embodiment" , "an embodiment" , and / or "some embodiment" means a feature, structure, or characteristic associated with at least one embodiment of the present specification. Accordingly, it should be emphasized and noted that "one embodiment" or "one embodiment" referred to two or more times in different locations in this specification or "a number of embodiments" means a feature, structure, or characteristic related to at least one embodiment of this specification. "an embodiment" or "an alternative embodiment" in different places in this specification do not necessarily refer to the same embodiment. In addition, certain features, structures, or characteristics in one or more embodiments of the present specification may be suitably combined.

[0417] In addition, the order of processing elements and sequences, the use of numerical letters, or the use of other names described herein are not intended to qualify the order of the processes and methods of this specification, unless expressly stated in the claims. While some embodiments of the invention that are currently considered useful are discussed in the foregoing disclosure by way of various examples, it is to be understood that such details serve only illustrative purposes, and that additional claims are not limited to the disclosed embodiments, rather, the claims are intended to cover all amendments and equivalent combinations that are consistent with the substance and scope of the embodiments of this specification. For example, although the system components described above may be implemented by hardware devices, the system components may also be implemented merely by software solutions, such as installing the described system on an existing processor or on an existing vehicle.

[0418] Similarly, it should be noted that in order to simplify the presentation of the disclosure of this specification, and thereby aid in the understanding of one or more embodiments of the invention, the foregoing descriptions of embodiments of the specification sometimes group multiple features together in a single embodiment, accompanying drawings, or description thereof. description thereof. However, this method of disclosure does not imply that more features are required for the objects of the present specification than are mentioned in the claims. Rather, claimed subject matter may lie in less than all features of a single foregoing disclosed embodiment.

[0419] Numbers describing the number of components, attributes are used in some embodiments, and it should be appreciated that such numbers, used for the description of the embodiments, are used in some examples with the modifiers "approximately " , "approximately" , or "generally" is used in some examples. Unless otherwise noted, the terms "about, " "approximately, " or "approximately" indicates that a ±20%variation in the stated number is allowed. Correspondingly, in some embodiments, the numerical parameters used in the specification and claims are approximations, which can change depending on the desired characteristics of individual embodiments. In some embodiments, the numerical parameters should take into account the specified number of valid digits and employ general place-keeping. While the numerical domains and parameters used to confirm the breadth of their ranges in some embodiments of the present specification are approximations, in specific embodiments such values are set to be as precise as possible within the feasible range.

[0420] For each of the patents, patent applications, patent application disclosures, and other materials cited in this specification, such as articles, books, specification sheets, publications, documents, and the like, the entire contents of which are hereby incorporated herein by reference. Application history documents that are inconsistent with or conflict with the contents of this specification are excluded, as are documents (currently or hereafter appended to this specification) that limit the broadest scope of the claims of this specification. It should be noted that in the event of any inconsistency or conflict between the descriptions, definitions, and / or use of terms in the materials appended to this specification and those set forth herein, the descriptions, definitions and / or use of terms in this specification shall control. use shall prevail.

[0421] Finally, it should be understood that the embodiments described in this specification are used only to illustrate the principles of the embodiments of this specification. Other deformations may also fall within the scope of this specification. As such, alternative configurations of embodiments of the present specification may be viewed as consistent with the teachings of the present specification as an example, not as a limitation. Correspondingly, the embodiments of the present specification are not limited to the embodiments expressly presented and described herein.

Claims

A parking control method, comprising:determining a position of a reflective target by a LiDAR;controlling a vehicle to move to a recognition area of a visual marker based on the position of the reflective target;determining a pose relationship between the vehicle and the visual marker based on a visual sensor within the recognition area of the visual marker;determining a parking target point based on the pose relationship; andcontrolling the vehicle to move toward the parking target point.The parking control method according to claim 1, wherein the controlling the vehicle to move toward the parking target point includes:determining a visual-perceived distance based on image data obtained by the visual sensor;determining a range-perceived distance based on sensor data obtained by a ranging sensor deployed on the vehicle; andcontrolling the vehicle to move toward the parking target point based on at least one of the visual-perceived distance or the range-perceived distance.The parking control method according to claim 2, further comprising starting the ranging sensor deployed on the vehicle,wherein the starting the ranging sensor deployed on the vehicle includes:in response to determining that a distance between the vehicle and the visual marker is less than a safety distance threshold, starting the ranging sensor;wherein the controlling the vehicle to move toward the parking target point based on at least one of the visual-perceived distance or the range-perceived distance includes:controlling the vehicle to move toward the parking target point based on the visual-perceived distance and the range-perceived distance; orin response to determining that the distance between the vehicle and the visual marker is greater than or equal to the safety distance threshold, the controlling the vehicle to move toward the parking target point based on at least one of the visual-perceived distance or the photoelectric-perceived distance includes:controlling the vehicle to move toward the parking target point based on the visual-perceived distance.The parking control method according to claim 3, wherein the controlling the vehicle to move toward the parking target point based on the visual-perceived distance and the range-perceived distance includes:obtaining a final-perceived distance based on the visual-perceived distance and the range-perceived distance; andcontrolling the vehicle to move toward the parking target point based on the final-perceived distance.The parking control method according to claim 4, wherein the obtaining the final-perceived distance based on the visual-perceived distance and the range-perceived distance includes:determining a difference between the visual-perceived distance and the range-perceived distance;in response to determining that the difference is greater than a first threshold, designating the range-perceived distance as the final-perceived distance;in response to determining that the difference is not greater than the first threshold, designating the visual-perceived distance as the final-perceived distance.The parking control method according to claim 4, wherein the obtaining the final-perceived distance based on the visual-perceived distance and the range-perceived distance comprises:determining an accuracy of the visual-perceived distance based on a fluctuation trend of the visual-perceived distance recorded within a preset time period;determining an accuracy of the range-perceived distance based on a fluctuation trend of the range-perceived distance recorded within the preset time period;selecting a distance with a highest accuracy from the visual-perceived distance and the range-perceived distance as the final-perceived distance.The parking control method according to claim 4, wherein the obtaining the final-perceived distance based on the visual-perceived distance and the photoelectric-perceived distance comprises:determining an accuracy of the visual-perceived distance based on a fluctuation trend of the visual-perceived distance recorded within a preset time period;determining an accuracy of the range-perceived distance based on a fluctuation trend of the range-perceived distance recorded within the preset time period;determining a weight of the visual-perceived distance and a weight of the range-perceived distance based on the accuracy of the visual-perceived distance and the accuracy of the range-perceived distance, respectively; anddetermining the final-perceived distance based on the weight of the visual-perceived distance and the weight of the range-perceived distance.The parking control method according to claim 4, wherein the final-perceived distance comprises a first distance between one side of the vehicle and the visual marker and a second distance between the other side of the vehicle and the visual marker, and the controlling the vehicle to move toward the parking target point based on the final-perceived distance includes:controlling the vehicle to move toward the parking target point based on the first distance and the second distance.The parking control method according to claim 8, wherein the controlling the vehicle to move toward the parking target point based on the first distance and the second distance includes:determining a difference between the first distance and the second distance;in response to determining that the difference is greater than a second threshold, controlling the vehicle to perform an attitude adjustment based on the difference;in response to determining that a difference between the first distance and the second distance corresponding to the vehicle after the attitude adjustment is not greater than the second threshold, controlling the vehicle to move toward the parking target point.The parking control method according to claim 8, wherein the controlling the vehicle to move toward the parking target point based on the first distance and the second distance includes:in response to determining that the vehicle enters an adjacent area of the parking target point, determining whether a difference between the first distance and the second distance is greater than a third threshold;in response to determining that the difference is greater than the third threshold, stopping movement of the vehicle;in response to determining that the difference is not greater than the third threshold, controlling the vehicle to move toward the parking target point.The parking control method according to any one of claims 1 to 10, wherein a pose of the vehicle in a world coordinate system is determined by the LiDAR.The parking control method according to any one of claims 1 to 11, wherein a pose of the vehicle in a world coordinate system is determined by an odometer deployed on the vehicle.The parking control method according to claim 12, wherein the pose relationship between the vehicle and the visual marker comprises a pose of the vehicle in the world coordinate system and a pose of the visual marker relative to the visual sensor, and determining the pose relationship between the vehicle and the visual marker includes:performing a time synchronization on sensor data obtained by the odometer using a data acquisition timestamp corresponding to the visual sensor as a reference time; anddetermining the pose of the vehicle in the world coordinate system based on the sensor data acquired by the odometer after the time synchronization.The parking control method according to any one of claims 2 to 13, wherein the determining the range-perceived distance based on the sensor data acquired by the ranging sensor includes:selecting at least two range-perceived distances adjacent to a reference time before and after the reference time, wherein the reference time is a data acquisition timestamp corresponding to the visual-perceived distance;performing an interpolation operation to obtain a range-perceived distance at the reference time based on the at least two range-perceived distances adjacent to the reference time before and after the reference time, the range-perceived distance at the reference time being designated as the range-perceived distance.The parking control method according to claim 1, wherein the pose relationship comprises a pose of the visual marker relative to the visual sensor, and the pose of the visual marker relative to the visual sensor is determined by:determining a plurality of identification codes and coordinate information corresponding to the identification codes based on image data acquired by the visual sensor;screening the plurality of identification codes based on the coordinate information to determine a target identification code; anddetermining the pose of the visual marker relative to the visual sensor based on the target identification code.The parking control method according to claim 15 , wherein the method further comprises:determining a count of identification codes removed in the screening the plurality of identification codes;in response to determining that the count of identification codes is greater than a preset count threshold, removing a current reference code from the plurality of identification codes;based on the coordinate information, screening the plurality of identification codes after removing the current reference code to determine the target identification code.The parking control method according to claim 1, wherein the determining the parking target point includes:obtaining image data based on the visual sensor;obtaining LiDAR data of the vehicle based on the LiDAR;obtaining odometry data based on an odometer;determining a plurality of first target poses based on the LiDAR data;determining a plurality of second target poses and a plurality of pose change differences based on the image data and the odometry data; anddetermining the parking target point based on the plurality of first target poses, the plurality of second target poses, and the plurality of pose change differences.The parking control method according to claim 1, wherein the controlling the vehicle to move toward the parking target point includes:determining a current pose of the vehicle based on odometry data obtained by at least one of an odometer or the LiDAR;determining whether to return to a LiDAR recognition preparation point and determining whether to issue a parking alarm based on the current pose of the vehicle and an ideal pose of the vehicle.An electronic device, comprising at least one processor and at least one storage;the at least one storage is configured to store computer instructions;the at least one processor is configured to execute at least a portion of the computer instructions to implement a parking control method according to any one of claims 1 to 18.A computer-readable storage medium storing computer instructions, wherein when a computer reads the computer instructions from the computer-readable storage medium, the computer executes a parking control method according to any one of claims 1 to 18.