LiDAR Calibration
By using calibration equipment to collect and compare the texture data of lidar sensors, the problem of long and inaccurate calibration of lidar sensors in the prior art is solved, and a faster and more accurate calibration process is achieved.
Patent Information
- Application Number
- CN201811024840.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-09-07
- Filing Date
- 2018-09-03
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2038-09-03
AI Technical Summary
The process of calibrating a lidar sensor in the prior art takes a long time and is inaccurate, especially when objects move frequently.
By using calibration equipment, including control computers and fixtures, collecting texture data output from lidar sensors and comparing them to known textures, determining whether calibration is needed, and calibrating the sensor by uploading updated values.
Faster and accurate lidar sensor calibration is achieved, reducing the dependence of manual operation and improving calibration accuracy and efficiency.
Smart Images

Figure CN109471089B_ABST
Abstract
Description
Field of the Invention
[0001] The present disclosure relates generally to sensors, and more particularly, to methods and systems for calibrating lidar (light detection and ranging) sensors. Background Art
[0002] Lidar stands for (light detection and ranging). Sensors using lidar technology are sometimes referred to as "lidar sensors". Lidar sensors have many applications, one of which is in autonomous vehicles. Lidar sensors help autonomous vehicles detect nearby objects. Summary of the Invention
[0003] A lidar sensor can be periodically calibrated to confirm that the sensor readings are accurate. Calibrating a lidar sensor includes: placing the lidar sensor at a known distance from an object, comparing the sensor readings with the known distance, and adjusting the programming of the lidar sensor such that the distance measured by the lidar sensor matches the distance to the known object. This process is repeated as the object moves to different known distances, heights, etc. Since the object often moves, calibrating a lidar sensor can take a long time and may also be inaccurate. For example, this requires a person to manually move the object relative to the lidar sensor between each sensor reading. This also requires a person to accurately measure the distance from the lidar sensor to the object.
[0004] A calibration device can be used to more accurately determine whether a lidar sensor is properly calibrated. The calibration device can include a control computer. The control computer includes a computer memory and a computer processor, and the computer processor is programmed to execute instructions stored in the memory to perform a lidar calibration test. The instructions include: collecting texture data output by the lidar sensor, the texture data representing the detected texture of the inner surface of a first fixture disposed around the lidar sensor; comparing the texture data output by the lidar sensor with the known texture of the inner surface of the first fixture; determining that the lidar sensor needs to be calibrated based on the comparison of the texture data with the known texture; and calibrating the lidar sensor by uploading updated values for the lidar sensor.
[0005] The computer processor can be programmed to activate the lidar sensor by outputting an activation control signal to the lidar sensor before collecting the texture data output by the lidar sensor.
[0006] In some implementations, the computer processor can be programmed to deactivate the lidar sensor by outputting a deactivation control signal to the lidar sensor after collecting the texture data output by the lidar sensor.
[0007] Optionally or additionally, a computer processor may be programmed to repeat the lidar calibration test with a second fixture. The inner surface of the second fixture may have a known texture that is different from the texture of the first fixture. In this case, the computer processor may be programmed to wait for the first fixture to be removed and the second fixture to be set around the lidar sensor before repeating the lidar calibration test with the second fixture.
[0008] A computer processor may be programmed to determine the form factor of a lidar sensor. In this case, the computer processor is programmed to calibrate the lidar sensor at least in part based on the form factor of the lidar sensor.
[0009] An exemplary method of performing a lidar calibration test includes: collecting texture data output by a lidar sensor, the texture data representing a determined texture of an inner surface of a first fixture set around the lidar sensor; comparing the texture data output by the lidar sensor with the known texture of the inner surface of the first fixture; determining that the lidar sensor needs to be calibrated based on the comparison of the texture data with the known texture; and calibrating the lidar sensor by applying an updated value for the lidar sensor.
[0010] The method may further include: activating the lidar sensor by outputting an activation control signal to the lidar sensor before collecting the texture data output by the lidar sensor.
[0011] The method may further include: deactivating the lidar sensor by outputting a deactivation control signal to the lidar sensor after collecting the texture data output by the lidar sensor.
[0012] The method may further include: repeating the lidar calibration test with a second fixture. The inner surface of the second fixture may have a known texture that is different from the texture of the first fixture. The method may further include: waiting for the first fixture to be removed and the second fixture to be set around the lidar sensor before repeating the lidar calibration test with the second fixture.
[0013] The method may further include: determining the form factor of the lidar sensor. In this case, the method may further include: calibrating the lidar sensor at least in part based on the form factor of the lidar sensor.
[0014] The calibration device includes a first fixture configured to receive a lidar sensor during a lidar calibration test. The first fixture has an inner surface with a first known texture. The calibration device further includes a control computer programmed to collect texture data output by the lidar sensor, the texture data representing the determined texture of the inner surface of the first fixture, wherein the control computer is further programmed to compare the texture data output by the lidar sensor with the first known texture, determine that the lidar sensor needs to be calibrated based on the comparison of the texture data with the first known texture, and calibrate the lidar sensor by uploading updated values for the lidar sensor.
[0015] The control computer can be programmed to activate the lidar sensor by outputting an activation control signal to the lidar sensor before collecting the texture data output by the lidar sensor, and to deactivate the lidar sensor by outputting a deactivation control signal to the lidar sensor after collecting the texture data output by the lidar sensor.
[0016] The control computer can be programmed to repeat the lidar calibration test with a second fixture. The inner surface of the second fixture has a second known texture different from the first known texture. The control computer can be programmed to wait for the first fixture to be removed and the second fixture to be set around the lidar sensor before repeating the lidar calibration test with the second fixture.
[0017] The control computer can be programmed to determine the form factor of the lidar sensor. In this implementation, the control computer can be programmed to calibrate the lidar sensor at least in part based on the form factor of the lidar sensor.
[0018] The elements shown can take many different forms and include multiple and / or alternative components and facilities. The exemplary components shown are not intended to be limiting. In fact, additional or alternative components and / or implementations can be used. Additionally, unless so explicitly stated, the elements shown are not necessarily drawn to scale. Description of the Drawings
[0019] Figure 1 An exemplary calibration device for calibrating a lidar sensor is shown.
[0020] Figure 2 Another exemplary device for calibrating a lidar sensor is shown.
[0021] Figure 3A and Figure 3B Various perspective views of a first exemplary jig that can be used to calibrate a lidar sensor are shown.
[0022] Figure 3CAnd Figure 3D Shows various perspective views of a second exemplary fixture that can be used to calibrate a lidar sensor after using the first fixture.
[0023] Figure 4 Is a flowchart of an exemplary process that can be executed by a control computer of a calibration device.
[0024] Figure 5 Is a flowchart of another exemplary process that can be executed by a control computer of a calibration device. Detailed Description
[0025] As Figure 1 And Figure 2 Shown, during calibration, the lidar sensor 100 is mounted to a calibration device 105, which includes a fixture 110, a control computer 115, and a power supply 120. At least some components of the calibration device 105, such as the fixture 110, can be mounted to a calibrator base 125.
[0026] The lidar sensor 100 is implemented via a laser, a laser detector, circuitry, a chip, or other electronic components that can determine the distance to an object based on laser light reflected from the object. The lidar sensor 100 activates one or more of the lasers to project laser light onto an object. The lidar detects the laser light reflected from the object. The amount of time between emitting the laser light and receiving the reflected laser light is used to calculate the distance to the object. If multiple lasers are used, including lasers projected from the lidar sensor 100 at different angles, then the lidar sensor 100 can determine the approximate shape, height, and depth of the object. The lidar sensor 100 can spin to project the laser light and thus detect objects around the lidar sensor 100. The lidar sensor 100 can include any number of lasers. For example, the lidar sensor 100 can emit laser light from 16 or 32 lasers located within the housing of the lidar sensor 100. The lidar sensor 100 can be programmed to output data representing the detected objects. The data can indicate the position of the object relative to where the lidar sensor 100 is located, the distance to the object, etc. The data set can be used to create a virtual image of the object. During calibration, the data collected by the lidar sensor 100 can be output to the control computer 115.
[0027] The fixture 110 is a tool for testing the lidar sensor 100. The fixture 110 can be formed from a material such as plastic or metal. Referring below to Figures 3A to 3DLet's discuss the exemplary fixture 110. The exterior of the fixture 110 may have a cylindrical shape, which may have a constant outer diameter 130, for example. The interior of the fixture 110 may be textured. That is, the interior of the fixture 110 may include a plurality of protrusions 135, recesses 155, or both. Each of the protrusions 135 may extend from the inner surface 140 of the fixture 110. The protrusions 135 may extend different lengths from the inner surface 140 towards the center of the fixture 110. The protrusions 135 may be adjacent to each other laterally or longitudinally. Some of the protrusions 135 may be spaced apart laterally or longitudinally from each other. Additionally, the protrusions 135 may have different sizes. That is, as Figure 1 and Figure 2 shown, some of the protrusions 135 may have different lengths, widths, heights, etc. relative to other protrusions 135, thereby creating recesses 155 between at least some of the protrusions 135. Additionally, "texture" may also refer to or alternatively refer to the size, shape, and reflectivity of the protrusions 135, recesses 155, inner surface 140, etc. Thus, portions of the inner surface 140 may have contrasting colors of different chromaticities that reflect light from the lidar sensor 100 with different intensities. In some cases, the chromaticities of the colors are arranged in a specific pattern (e.g., like a checkerboard pattern). The texture of the inner surface 140 of the fixture 110 may be known to the calibration device 105. That is, the calibration device 105 may know the distances from the center of the fixture 110 to each protrusion 135 and recess 155.
[0028] During calibration, the lidar sensor 100 may be placed at the center of the fixture 110. In other words, during a calibration test, the fixture 110 may be set around the lidar sensor. When the lidar sensor 100 is activated, the laser projected by the lidar sensor 100 may be reflected back to the lidar sensor 100 by the protrusions 135 and recesses 155. The lidar sensor 100 may output texture data representing the determined texture of the inner surface 140 of the fixture 110. The texture data may include the distances detected by the lidar sensor 100 to each protrusion 135 or recess 155.
[0029] Although typically shown as flat, the edges of the recesses 155 and protrusions 135 may have other geometries. For example, the edges of the protrusions 135 may be rounded, concave, or convex, and the recesses 155 may resemble pits that appear on the inner surface 140 of the fixture 110. Additionally, the calibration device 105 may use multiple fixtures 110 of variable sizes to improve the calibration of the lidar sensor 100. For example, Figure 1 the fixture 110 in the example of Figure 2The fixture 110 in the example. In this way, the lidar sensor 100 can be calibrated according to different measurement ranges. That is, one fixture 110 (i.e., the smaller fixture 110) can have an outer diameter 130 of at least approximately 2 to 3 meters, while another fixture 110 (i.e., the larger fixture 110) can have an outer diameter 130 of approximately 3 to 5 meters or more. This diameter can vary according to the lidar model and future developments in lidar technology. The fixture 110 can include any number of protrusions 135, and fixtures 110 of different sizes can have the same or different numbers of protrusions 135. Some fixtures 110 may have more than 1000 protrusions 135.
[0030] The control computer 115 is implemented via circuitry, chips, or other electronic components that are programmed to process data output by the lidar sensor 100 and determine whether the lidar sensor 100 is properly calibrated based on the data output by the lidar sensor 100. If the lidar sensor 100 is not properly calibrated, then the control computer 115 can be programmed to determine an appropriate correction based on, for example, the form factor of the lidar sensor 100. The appropriate correction can be in the form of updated values or weighted values in the software of the lidar sensor 100 and / or in a processing unit that will be connected to the lidar sensor 100 in its intended application. After making the appropriate correction, the lidar sensor 100 can be tested again. That is, the lidar sensor 100 can be activated and the data collected by the lidar sensor 100 can be output to the control computer 115 so that additional corrections (if any) can be made. This can continue until the lidar sensor 100 is calibrated for the fixture 110. If other fixtures 110 are available or otherwise required for continued calibration testing (since using more fixtures 110 can result in a more precise calibration of the lidar sensor 100), then these fixtures 110 can be placed on the lidar sensor 100 so that the control computer 115 can also calibrate the lidar sensor 100 for these fixtures 110.
[0031] The control computer 115 includes a computer memory 145 and a computer processor 150. The computer memory 145 may include one or more of the following: read-only memory (ROM), random access memory (RAM), flash memory, electrically programmable memory (EPROM), electrically programmable and erasable memory (EEPROM), embedded multimedia card (eMMC), hard disk drive, or any volatile or non-volatile medium, etc. The computer memory 145 may store instructions and data executable by the computer processor 150, such as the length of each protrusion 135, the distance of each protrusion 135 from the center of the fixture 110, the data collected by the lidar sensor 100, etc. The instructions and data stored in the memory may be accessed by the computer processor 150 and possibly other components of the calibration device 105. The computer processor 150 is implemented via circuits, chips, or other electronic components and may include one or more microcontrollers, one or more field programmable gate arrays (FPGAs), one or more application specific integrated circuits (ASICs), one or more digital signal processors (DSPs), one or more customer specific integrated circuits, etc. The processor may receive the data output by the lidar sensor 100 and the data stored in the computer memory 145 and determine whether the lidar sensor 100 needs to be calibrated based on the data. If so, then the computer processor 150 may perform appropriate correction on the lidar sensor 100 by uploading updated values (including updated shape factor values) to the lidar sensor 100 or another processing unit involved in the operation of the lidar sensor 100.
[0032] The power supply 120 is implemented via circuits, chips, or other electronic components that supply electrical energy to the lidar sensor 100 during calibration. The power supply 120 may include, for example, a transformer and other circuits that provide sufficient electrical energy for the lidar sensor 100 to operate during the calibration process.
[0033] Figures 3A to 3D An exemplary perspective side view of an exemplary fixture 110 is shown ( Figure 3A and Figure 3C ) and an exemplary perspective top view ( Figure 3B and Figure 3D ). Referred to as "first fixture 110A" ( Figure 3A and Figure 3B ) and "second fixture 110B" ( Figure 3C and Figure 3D) The fixture 110 has a cylindrical shape, which has a constant outer diameter 130 (e.g., circular when viewed from the top view) and a textured inner surface 140. Optionally, the fixture 110 may be oval when viewed from the top view. Other shapes may include spherical, rectangular, triangular, etc. In addition, different fixtures 110 may have different geometries. By way of example only, the first fixture 110A may be cylindrical, while the second fixture 110B may be spherical. Additionally or alternatively, the first fixture 110A and the second fixture 110B may have the same shape (e.g., cylindrical), but have different outer diameters 130. That is, the first fixture 110A may be smaller than the second fixture 110B. During the calibration test, only one fixture 110 is positioned around the lidar sensor 100 at a time.
[0034] As shown, the interior of each fixture 110 is textured. Thus, the inner surface 140 of the fixture 110 defines a plurality of protrusions 135 and depressions 155, where each protrusion 135 extends from the inner surface 140 of the fixture 110. The protrusions 135 extend different lengths from the inner surface 140 towards the center of the fixture 110. The protrusions 135 may be adjacent to each other laterally or longitudinally. Some protrusions 135 may be spaced apart from each other laterally or longitudinally. There is a space for the lidar sensor 100 at the center of the fixture 110. In other words, no protrusion 135 extends to the center of the fixture 110, as such protrusions 135 would interfere with the placement of the lidar sensor 100 at the center of the fixture 110. The arrangement of the protrusions 135 in the first fixture 110A may be different from the arrangement of the protrusions 135 in the second fixture 110B.
[0035] As described above, the edges of the protrusions 135 may have other shapes or profiles. For example, the edges may be rounded, angled, or both. The protrusions 135 may extend perpendicular to the inner surface 140 (as shown), or may extend from the inner surface 140 at another angle. Different protrusions 135 may extend at different angles. For example, each protrusion 135 may extend towards the center of the fixture 110. Thus, some protrusions 135 (such as those near the bottom of the fixture 110) may extend upward, while other protrusions 135 (such as those near the top of the fixture 110) may extend downward.
[0036] To impart a “random” looking texture, the protrusions 135 may be arranged in an unspecified manner, which means that protrusions 135 of different lengths may be positioned adjacent to each other (both laterally and longitudinally) along the inner surface 140 of the fixture 110. This does not mean randomly arranging the protrusions 135, as a random distribution of the variable length protrusions 135 may cause some protrusions 135 to “block” the laser from reaching other protrusions 135. Figures 3A to 3DThe fixture 110 shown in [figure] shows an example of the fixture 110, where the protrusions 135 are arranged in an unspecified manner. An alternative implementation is to arrange the protrusions 135 in a more orderly manner. For example, the protrusions 135 in a particular row or column may extend the same length, and the length may gradually increase or decrease row by row or column by column. The change in length may be relative to a reference row or column. The reference row may be the top row, the bottom row, the center row, or any other row. Since the fixture 110 completely surrounds the lidar sensor 100, the position of the reference column may not matter.
[0037] In addition, the control computer 115 can be programmed with the length of each protrusion 135, the distance from the edge of each protrusion 135 to the center of the fixture 110, or both. In this way, the control computer 115 (via, for example, the computer processor 150) can determine whether the lidar sensor 100 needs to be calibrated by, for example, comparing the data collected by the lidar sensor 100 with the distances stored in the computer memory 145 of the control computer 115 for each protrusion 135, as described below with reference to Figure 4 and Figure 5 described.
[0038] Figure 4 is a flowchart of an exemplary process 400 that can be executed by the control computer 115 of the calibration device 105. The process 400 can start after the lidar sensor 100 is removed from the host vehicle and installed on the calibrator base 125. Optionally, the fixture 110 can be placed on the lidar sensor 100 while the lidar sensor 100 is still attached to the host vehicle. In some cases, the fixture 110 can be a room with protrusions 135 built into the walls of the room and a door for allowing the host vehicle, the technician, or both to enter the room. The process 400 can continue until the lidar sensor 100 is calibrated. The process 400 can be executed by the control computer 115, and specifically the computer processor 150.
[0039] At block 405, the lidar sensor 100 is activated. The lidar sensor 100 can be activated after the lidar sensor 100 is connected to the power supply 120 and after the power supply 120 starts supplying electrical energy to the lidar sensor 100. The computer processor 150 can be programmed to activate the lidar sensor 100 by providing various control signals to the lidar sensor 100, including outputting an activation control signal to activate the lidar sensor 100.
[0040] At block 410, the control computer 115 collects data output by the lidar sensor 100. The data, referred to as "texture data", may include the distance from the lidar sensor 100 to one or more of the protrusions 135, depressions 155, or both on the inner surface 140 of the fixture 110. The computer processor 150 may be programmed to collect the texture data output by the lidar sensor 100.
[0041] At block 415, the control computer 115 deactivates the lidar sensor 100. The computer processor 150 may be programmed to turn off the lidar sensor 100 by transmitting a deactivation control signal to the lidar sensor 100. The lidar sensor 100 may be powered down upon receipt of the deactivation control signal. In some cases, the deactivation control signal electrically disconnects the lidar sensor 100 from the power supply 120.
[0042] At decision block 420, the control computer 115 determines whether the texture data captured by the lidar sensor 100 is accurate. For example, the computer processor 150 may be programmed to compare the texture data determined by the lidar sensor 100 with the known texture of the inner surface 140 of the fixture 110 used during the calibration test. If the computer processor 150 determines that the texture of the inner surface 140 of the fixture 110 determined by the lidar sensor 100 is accurate, then process 400 may proceed to block 425. Otherwise, process 400 may proceed to block 430.
[0043] At block 425, the control computer 115 determines that the lidar sensor 100 is properly calibrated. The computer processor 150 may be programmed to output a warning indicating this. The warning may be presented via a user interface, which may include a display screen, a light, a speaker, or some other means of indicating that the lidar sensor 100 is calibrated. Process 400 may end after block 425.
[0044] At block 430, the control computer 115 determines the form factor of the lidar sensor 100. The form factor can be determined via communication with the lidar sensor 100, via user input, or some other means. The computer processor 150 can be programmed to communicate directly with the lidar sensor 100 to determine the form factor, which can be stored in the memory of the lidar sensor 100. Optionally, the computer processor 150 can be programmed to receive user input indicating the form factor. That is, a technician can select or input the form factor for the lidar sensor 100 into the control computer 115, and the control computer 115 can proceed with the user input as the form factor. Another way to determine the form factor is for the computer processor 150 to be programmed to access the form factor of the lidar sensor 100 from the computer memory 145. In some possible implementations, block 430 can occur earlier in the process 400, such as before activating the lidar sensor 100, so that the computer processor 150 can use such data when comparing the texture data with the known texture of the inner surface 140 of the fixture 110.
[0045] At block 435, the control computer 115 calibrates the lidar sensor 100. That is, based on the form factor and the difference between the texture data and the known texture, the computer processor 150 can be programmed to calibrate the lidar sensor 100 by determining and applying an appropriate correction for the lidar sensor 100. Applying the appropriate correction can occur in the form of updating values or the weighting of values in the software of the lidar sensor 100. The computer processor 150 can be programmed to upload the appropriate correction via direct communication with the lidar sensor 100.
[0046] After, for example, restarting the lidar sensor 100 with the updated values, the process 400 can proceed to block 405. The process 400 can continue to repeat until, for example, block 425 is executed.
[0047] Figure 5 is a flowchart of another exemplary process 500 that can be executed by the control computer 115. The process 500 can begin after removing the lidar sensor 100 from the applied object of use (main vehicle, drone, etc.) and mounting it on the calibrator base 125. Optionally, the fixture 110 can be placed on the lidar sensor 100 while the lidar sensor 100 remains attached to the main vehicle. In some cases, the fixture 110 can be a room that has protrusions 135 built into the walls of the room and a door that allows the main vehicle, the technician, or both to enter the room. The process 500 can continue to execute until the lidar sensor 100 is calibrated. The process 500 can be executed by the control computer 115, and specifically the computer processor 150.
[0048] At block 505, the lidar sensor 100 is activated. The lidar sensor 100 can be activated after it is connected to the power supply 120 and after the power supply 120 starts supplying electrical energy to the lidar sensor 100. The computer processor 150 can be programmed to activate the lidar sensor 100 by providing various control signals to the lidar sensor 100, including an activation control signal to activate the lidar sensor 100.
[0049] At block 510, the control computer 115 collects the texture data output by the lidar sensor 100. The texture data can represent the texture of the inner surface 140 of the fixture 110 (e.g., the positions and distances of at least some of the protrusions 135 and recesses 155). The computer processor 150 can be programmed to collect the texture data output by the lidar sensor 100.
[0050] At block 515, the control computer 115 deactivates the lidar sensor 100. The control computer 115 can turn off the lidar sensor 100 by transmitting a deactivation control signal to the lidar sensor 100. The lidar sensor 100 can be powered off due to receiving the deactivation control signal. The computer processor 150 can be programmed to output a deactivation signal. In some cases, the deactivation control signal electrically disconnects the lidar sensor 100 from the power supply 120.
[0051] At decision block 520, the control computer 115 determines whether to repeat the calibration test with a different fixture 110. For example, the computer processor 150 can be programmed to determine that the calibration test should be repeated with a fixture 110 of a different size, texture, or both. For example, after performing the calibration test with a first fixture 110A, the control computer 115 can select to repeat the calibration test with a second fixture 110B. In such cases, process 500 can proceed to block 525. Otherwise, process 500 can proceed to block 530. In some possible methods, the computer processor 150 can be programmed to determine that the calibration test should be repeated with different fixtures 110 a predetermined number of times. The predetermined number can correspond to the number of available fixtures 110, the number of fixtures 110 of different sizes, the number of fixtures 110 with different textures of the inner surface 140, etc. Thus, if two fixture sizes or textures are available or required given the accuracy required for the calibration test, then the computer processor 150 can be programmed such that process 500 proceeds to block 525 when block 520 is executed for the first time, and proceeds to block 530 when process 500 is executed for the second time. The count can be reset when process 500 reaches block 530, so that, for example, if process 500 needs to be repeated after, e.g., decision block 530, calibration tests can be performed with multiple fixtures 110.
[0052] At block 525, the control computer 115 waits for the first fixture 110A to be removed and a new fixture (i.e., the second fixture 110B) to be placed on the lidar sensor 100. The computer processor 150 can be programmed to wait for a predetermined amount of time or wait for a user input from a technician indicating that the fixture 110 has been replaced. The user input can also provide information about the new fixture 110, including the size of the new fixture, the texture of the inner surface of the new fixture, etc. In some cases, the user input can include a unique identifier that the control computer 115 can use to identify the characteristics of the new fixture 110. Based on the characteristics, the computer processor 150 can be programmed to determine the texture of the inner surface 140 of the new fixture 110. Process 400 advances from block 530 to block 505.
[0053] At decision block 530, the control computer 115 determines whether the texture data captured by the lidar sensor 100 is accurate. For example, the computer processor 150 can be programmed to compare the texture data with the known texture of the inner surface 140 of the fixture 110 used during the calibration test. If the computer processor 150 determines that the distance determined by the lidar sensor 100 is accurate, then process 500 can advance to block 535. Otherwise, process 500 can advance to block 540.
[0054] At block 535, the control computer 115 determines that the lidar sensor 100 is properly calibrated. The computer processor 150 can be programmed to output a warning indicating this. The warning can be presented via a user interface, which can include a display screen, a light, a speaker, or some other means of indicating that the lidar sensor 100 is calibrated. Process 500 can end after block 535.
[0055] At block 540, the control computer 115 determines the form factor of the lidar sensor 100. The form factor can be determined via communication with the lidar sensor 100, via user input, or some other means. The computer processor 150 can be programmed to communicate directly with the lidar sensor 100 to determine the form factor, which can be stored in the memory of the lidar sensor 100. Optionally, the control computer 115 can receive a user input indicating the form factor. That is, a technician can select or input the form factor for the lidar sensor 100 into the control computer 115, and the control computer 115 can proceed with the user input as the form factor. Another way to determine the form factor is for the computer processor 150 to be programmed to access the form factor of the lidar sensor 100 from the computer memory 145. In some possible implementations, block 540 can occur earlier in process 500, such as before activating the lidar sensor 100.
[0056] At block 545, the control computer 115 calibrates the lidar sensor 100. That is, given the form factor of the lidar sensor 100, based on the difference between the form factor and the known distance to the protrusion 135 and the data collected by the lidar sensor 100, the computer processor 150 can be programmed to calibrate the lidar sensor 100 by determining and applying an appropriate correction for the lidar sensor 100. Applying the appropriate correction can occur in the form of updating values or weighting of values in the software of the lidar sensor 100. The computer processor 150 can be programmed to upload the appropriate correction via direct communication with the lidar sensor 100.
[0057] After, for example, restarting the lidar sensor 100 with the updated values, process 500 can proceed to block 505. Process 500 can continue to repeat until, for example, block 535 is executed.
[0058] Generally speaking, the described computing system and / or device can employ any of a variety of computer operating systems, including but not limited to: Ford versions and / or variants of applications, AppLink / Smart Device Link middleware, Microsoft operating systems, Microsoft operating systems, Unix operating systems (e.g., the operating system released by Oracle Corporation of Redwood Shores, California), the AIX UNIX operating system released by International Business Machines Corporation of Armonk, New York, Linux operating systems, the Mac OSX and iOS operating systems released by Apple Inc. of Cupertino, California, the BlackBerryOS released by BlackBerry Limited of Waterloo, Canada, and the Android operating system developed by Google Inc. and the Open Handset Alliance, or the CAR Platform provided by QNX Software Systems for infotainment. Examples of computing devices include but are not limited to in-vehicle computers, computer workstations, servers, desktop computers, notebooks, laptop computers or handheld computers, or some other computing system and / or device.
[0059] Computing devices generally include computer-executable instructions, where the instructions can be executed by one or more computing devices (such as those listed above). The computer-executable instructions can be compiled or interpreted by computer programs created using a variety of programming languages and / or technologies, including but not limited to and individually or in combination Java TM, C, C++, Visual Basic, Java Script, Perl, etc. Some of these applications can be compiled and executed on virtual machines such as Java virtual machines, Dalvik virtual machines, etc. Generally speaking, a processor (e.g., a microprocessor) receives instructions from, for example, a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Various computer-readable media can be used to store and transmit such instructions and other data.
[0060] A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that can be read by a computer (e.g., by a processor of a computer). Such a medium can take many forms, including but not limited to non-volatile media and volatile media. Non-volatile media can include, for example, optical discs or magnetic disks and other persistent memories. Volatile media can include, for example, dynamic random access memory (DRAM) that typically constitutes main memory. Such instructions can be transmitted by one or more transmission media, including coaxial cables, copper wires, and optical fibers, including the wires that make up a system bus coupled to a processor of a computer. Common forms of computer-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, any other magnetic medium, CD-ROM, DVD, any other optical medium, punch cards, paper tapes, any other physical medium with hole patterns, RAM, PROM, EPROM, FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
[0061] The databases, data repositories, or other data storage areas described herein can include various mechanisms for storing, accessing, and retrieving various data, including hierarchical databases, a set of files in a file system, application databases in proprietary formats, relational database management systems (RDBMSs), etc. Each such data storage area is typically included within a computing device that employs a computer operating system such as one of those mentioned above, and is accessed over a network in any one or more of various ways. A file system can be accessed by a computer operating system and can include files stored in various formats. In addition to languages for creating, storing, editing, and executing stored procedures such as the PL / SQL language mentioned above, an RDBMS typically also employs the Structured Query Language (SQL).
[0062] In some examples, system components may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.) stored on a computer-readable medium associated therewith (e.g., disks, memories, etc.). A computer program product may include such instructions stored on a computer-readable medium for performing the functions described herein.
[0063] Regarding the processes, systems, methods, heuristics, etc. described herein, it should be understood that although the steps of such processes, etc. have been described as occurring in a particular sequence, such processes may be practiced by performing the described steps in an order different from that described herein. It should also be understood that certain steps may be performed simultaneously, other steps may be added, or certain steps described herein may be omitted. In other words, the description of the processes herein is provided for the purpose of illustrating certain embodiments and should in no way be construed as limiting the claims.
[0064] Accordingly, it should be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications, other than the examples provided, will become apparent to those of ordinary skill in the art upon reading the above description. Therefore, the scope should not be determined by the above description, but rather by the appended claims, along with the full scope of equivalents to which such claims are entitled. It is expected and intended that the technology discussed herein will evolve in the future, and the disclosed systems and methods will be incorporated into such future embodiments. In summary, it should be understood that this application is capable of modification and variation.
[0065] Unless expressly stated to the contrary herein, all terms used in the claims are intended to be given their ordinary meaning as understood by those of ordinary skill in the art. In particular, the use of singular articles such as "a", "an", "the", etc. should be understood to refer to one or more of the indicated elements unless the claims expressly state a contrary limitation.
[0066] A summary is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It should be understood that the summary is not intended to be used to interpret or limit the scope or meaning of the claims. Additionally, in the foregoing detailed description, it can be seen that for the purpose of streamlining the disclosure, various features are grouped together in various embodiments. This method of the disclosure should not be interpreted as reflecting an intention that the embodiments claimed require more features than are expressly recited in each claim. Rather, as reflected in the following claims, the subject matter of the invention lies in less than all of the features of a single disclosed embodiment. Accordingly, the following claims are hereby incorporated into the detailed description, where each claim stands on its own as a separately claimed subject matter.
[0067] According to the present invention, there is provided a control computer having a computer memory; and a computer processor programmed to execute instructions stored in the memory to perform a lidar calibration test, the instructions including: collecting texture data output by a lidar sensor, the texture data representing a detected texture of an inner surface of a first fixture disposed around the lidar sensor; comparing the texture data output by the lidar sensor with a known texture of the inner surface of the first fixture; determining that the lidar sensor needs to be calibrated based on the comparison of the detected texture with the known texture; and calibrating the lidar sensor by uploading updated values for the lidar sensor.
[0068] According to an embodiment, a further feature of the above invention is that the computer processor is programmed to activate the lidar sensor by outputting an activation control signal to the lidar sensor before collecting the texture data output by the lidar sensor.
[0069] According to an embodiment, a further feature of the above invention is that the computer processor is programmed to deactivate the lidar sensor by outputting a deactivation control signal to the lidar sensor after collecting the texture data output by the lidar sensor.
[0070] According to an embodiment, a further feature of the above invention is that the computer processor is programmed to repeat the lidar calibration test with a second fixture, wherein the inner surface of the second fixture has a known texture different from that of the inner surface of the first fixture.
[0071] According to an embodiment, a further feature of the above invention is that the computer processor is programmed to wait for the removal of the first fixture and the setting of the second fixture around the lidar sensor before repeating the lidar calibration test with the second fixture.
[0072] According to an embodiment, a further feature of the above invention is that the computer processor is programmed to determine the form factor of the lidar sensor.
[0073] According to an embodiment, a further feature of the above invention is that the computer processor is programmed to calibrate the lidar sensor at least in part based on the form factor of the lidar sensor.
[0074] According to the present invention, a method for performing a lidar calibration test is provided, the method having: collecting texture data output by a lidar sensor, the texture data representing the detected texture of the inner surface of a first fixture disposed around the lidar sensor; comparing the texture data output by the lidar sensor with the known texture of the inner surface of the first fixture; determining that the lidar sensor needs to be calibrated based on the comparison of the texture data with the known texture; and calibrating the lidar sensor by uploading an updated value for the lidar sensor.
[0075] According to an embodiment, a further feature of the present invention is that the lidar sensor is activated by outputting an activation control signal to the lidar sensor before collecting the texture data output by the lidar sensor.
[0076] According to an embodiment, a further feature of the present invention is that the lidar sensor is deactivated by outputting a deactivation control signal to the lidar sensor after collecting the texture data output by the lidar sensor.
[0077] According to an embodiment, a further feature of the present invention is that the lidar calibration test is repeated with a second fixture, wherein the inner surface of the second fixture has a known texture different from the inner surface of the first fixture.
[0078] According to an embodiment, a further feature of the present invention is that before repeating the lidar calibration test with the second fixture, waiting for the first fixture to be removed and the second fixture to be disposed around the lidar sensor.
[0079] According to an embodiment, a further feature of the present invention is to determine the form factor of the lidar sensor.
[0080] According to an embodiment, a further feature of the present invention is that calibrating the lidar sensor includes: calibrating the lidar sensor at least partially based on the form factor of the lidar sensor.
[0081] According to the present invention, there is provided a calibration device having: a first fixture configured to receive a lidar sensor during a lidar calibration test, the first fixture including an inner surface having a first known texture; and a control computer programmed to collect texture data output by the lidar sensor, the texture data representing the detected texture of the inner surface of the first fixture as determined by the lidar sensor, wherein the control computer is further programmed to compare the texture data output by the lidar sensor with the first known texture, determine that the lidar sensor needs to be calibrated based on the comparison of the texture data with the first known texture, and calibrate the lidar sensor by uploading updated values for the lidar sensor.
[0082] According to an embodiment, the control computer is programmed to activate the lidar sensor by outputting an activation control signal to the lidar sensor before collecting the texture data output by the lidar sensor, and deactivate the lidar sensor by outputting a deactivation control signal to the lidar sensor after collecting the texture data output by the lidar sensor.
[0083] According to an embodiment, the control computer is programmed to repeat the lidar calibration test with a second fixture, wherein the inner surface of the second fixture has a second known texture different from the first known texture.
[0084] According to an embodiment, a further feature of the present invention is that the control computer is programmed to wait for the removal of the first fixture and the setting of the second fixture around the lidar sensor before repeating the lidar calibration test with the second fixture.
[0085] According to an embodiment, the control computer is programmed to determine the form factor of the lidar sensor.
[0086] According to an embodiment, the control computer is programmed to calibrate the lidar sensor at least in part based on the form factor of the lidar sensor.
Claims
1. A control computer, comprising: A computer memory; And A computer processor programmed to execute instructions stored in the memory to perform a lidar calibration test, the instructions including: Collecting texture data output by a lidar sensor, the texture data representing the detected texture of the inner surface of a first fixture disposed around the lidar sensor, the inner surface of the first fixture including a plurality of protrusions and recesses, the texture including the distances from the lidar sensor to the protrusions and recesses on the inner surface of the first fixture; Comparing the texture data output by the lidar sensor with the known texture of the inner surface of the first fixture; Determining that the lidar sensor needs to be calibrated based on the comparison of the detected texture with the known texture; and Calibrating the lidar sensor by uploading updated values for the lidar sensor.
2. The control computer according to claim 1, wherein the computer processor is programmed to activate the lidar sensor by outputting an activation control signal to the lidar sensor before collecting the texture data output by the lidar sensor.
3. The control computer according to claim 1 or 2, wherein the computer processor is programmed to deactivate the lidar sensor by outputting a deactivation control signal to the lidar sensor after collecting the texture data output by the lidar sensor.
4. The control computer according to claim 1 or 2, wherein the computer processor is programmed to repeat the lidar calibration test with a second fixture, wherein the inner surface of the second fixture has a known texture different from that of the inner surface of the first fixture.
5. The control computer according to claim 4, wherein the computer processor is programmed to wait for the first fixture to be removed and the second fixture to be disposed around the lidar sensor before repeating the lidar calibration test with the second fixture.
6. The control computer according to claim 1, 2 or 5, wherein the computer processor is programmed to determine the form factor of the lidar sensor.
7. The control computer according to claim 6, wherein the computer processor is programmed to calibrate the lidar sensor at least partially based on the form factor of the lidar sensor.
8. A method for performing a lidar calibration test, the method including: Collecting texture data output by a lidar sensor, the texture data representing the detected texture of the inner surface of a first fixture disposed around the lidar sensor, the inner surface of the first fixture including a plurality of protrusions and recesses, the texture including the distances from the lidar sensor to the protrusions and recesses on the inner surface of the first fixture; Comparing the texture data output by the lidar sensor with the known texture of the inner surface of the first fixture; Determine that the lidar sensor needs to be calibrated based on a comparison of the texture data with the known texture; and Calibrate the lidar sensor by uploading updated values for the lidar sensor.
9. The method according to claim 8, further comprising: Activate the lidar sensor by outputting an activation control signal to the lidar sensor before collecting the texture data output by the lidar sensor.
10. The method according to claim 8 or 9, further comprising: Deactivate the lidar sensor by outputting a deactivation control signal to the lidar sensor after collecting the texture data output by the lidar sensor.
11. The method according to claim 8 or 9, further comprising: Repeat the lidar calibration test with a second fixture, wherein an inner surface of the second fixture has a known texture different from the inner surface of the first fixture.
12. The method according to claim 11, further comprising: Before repeating the lidar calibration test with the second fixture, wait for the first fixture to be removed and the second fixture to be positioned around the lidar sensor.
13. The method according to claim 8, 9 or 12, further comprising: Determine the form factor of the lidar sensor.
14. The method according to claim 13, wherein calibrating the lidar sensor comprises: Calibrate the lidar sensor at least in part based on the form factor of the lidar sensor.
Citation Information
Patent Citations
Machine sensor calibration system
US20100076709A1