Optical axis calibration method for optical tracking device with a racemic prism in an infrared channel
Patent Information
- Application Number
- CN202311684407.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-11
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2043-12-11
AI Technical Summary
[0004]随着消旋棱镜的转动,光轴标定时,空间中唯一确定的激光像点在红外通道的成像位置不尽相同,这使得带有消旋棱镜的光学跟踪设备的光轴标校变得异常复杂
[0026]本发明的有益效果是:本发明根据消旋棱镜的角度转动量,将红外通道中消旋棱镜的角度转动量分为72档,每5°为一个档位,然后在每个档位中进行一组光轴标定数据,这样一共有72组光轴标定数据,不再使用人工标定的方式,而是通过自动化方式标定出72组光轴数据,实现了光轴平行性的自动化标定流程,可有效解决红外通道中带消旋棱镜的光学跟踪设备红外光轴和激光光轴平行性标定异常繁琐、耗时长、精度低、可操作性差的问题。
Smart Images

Figure CN117664532B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of laser communication technology, specifically relating to a method for calibrating the optical axis of an optical tracking device with a derotating prism in an infrared optical channel. Background Technology
[0002] Traditional optical tracking devices only need to calibrate one set of parameters to achieve the parallelism between the laser optical axis and the infrared optical axis when calibrating the optical axis parallelism between the laser optical axis and the infrared optical axis.
[0003] Optical tracking devices are equipped with both laser and infrared sensors. The infrared channel features a derotation prism. To achieve long-distance laser ranging, the parallelism of the infrared and laser optical axes must be maintained when the derotation prism rotates at different angles. In optical tracking devices where derotation is achieved through a rotating prism in the infrared channel, angular displacements of the rotating mechanical axis, the prism axis, and the laser optical axis all contribute to laser image skipping.
[0004] As the derotating prism rotates, the imaging position of the uniquely defined laser image point in space during optical axis calibration varies in the infrared channel, making the optical axis calibration of optical tracking devices with derotating prisms extremely complex.
[0005] For optical tracking devices with derotating prisms in the infrared channel, traditional optical axis calibration methods have become ineffective. Summary of the Invention
[0006] To address the above problems, this invention provides a method for calibrating the optical axis of an optical tracking device with a derotating prism in the infrared optical channel. Multiple sets of optical axis data are constructed based on the rotation amount of the derotating prism in the optical tracking device to achieve the effect of parallelism between the laser optical axis and the infrared optical axis during automated calibration.
[0007] The technical solution adopted by this invention to solve its technical problem is: a method for calibrating the optical axis of an optical tracking device with a derotation prism in the infrared channel, comprising the following steps:
[0008] S1, Calibration Preparation: After receiving the "Calibration Preparation" command, turn on the laser soft switch and close the laser baffle, control the servo control board to turn to the calibration position, clear the counter value in the start calibration command to zero, and then send "Calibration Ready" to the outside world.
[0009] S2, Check if the hardware is ready: Upon receiving an external "Hardware ready" command, check if the laser is working normally, if the laser baffle feedback is properly closed, and if the servo control board is turned to the calibration position. If ready, send an "Hardware ready" status message. During the initialization phase, set the infrared sensor derotation setting (SetIndex) to 1, control the derotation prism mechanism of the infrared sensor, rotate the derotation prism angle measurement value to around 3°, and simultaneously clear the variables used in the program. If not ready, end the calibration process.
[0010] S3, if ready, begin calibration: Upon receiving the external "Start Calibration" command, execute the infrared baffle-off command to pull the infrared sensor into a virtual position to prevent the laser from damaging the infrared detector; send position control commands to the servo control board to ensure that the spatial orientation of the laser optical axis and the infrared optical axis remains unchanged during the calibration process; according to the commands, send laser manual control serial port commands, laser energy attenuation serial port commands, and laser frequency setting to low frequency serial port commands, and finally send laser emission serial port commands; send laser emission stop serial port commands, infrared baffle open serial port commands, and laser energy recovery serial port commands;
[0011] S4, Initial Calibration Test: Based on the SetIndex data value of the infrared sensor's derotation setting, rotate the infrared sensor's derotation prism to approximately (SetIndex-1)×5+3°. After the infrared sensor's derotation prism rotates for 4 seconds, read the extraction deviation data from the image board and determine the current laser image point extraction deviation ranges Xbias and Ybias. Is Xbias satisfied? bias <25 and Y bias Infrared optical axis calibration for the current gear is only performed when the value is less than 25.
[0012] After determining that the data is qualified, obtain the infrared optical axis data for the current gear using the following formula:
[0013] IRCROSSXnow=Xbias*(-1)+IRCROSSXlast
[0014] IRCROSSYnow=Ybias+IRCROSSYlast
[0015] In the formula, IRCROSSXnow and IRCROSSYnow are the current infrared optical axis data, and IRCROSSXLast and IRCROSSYLast are the historical optical axis data.
[0016] After obtaining the current infrared optical axis data, immediately send a command to the infrared image to update the display position of the infrared optical axis; perform infrared optical axis data calibration from level 1 to level 72 in this manner, and save 72 sets of initial measurement data of infrared optical axis deviation and initial measurement data of infrared optical axis position.
[0017] S5, Calibration and Retest: Based on the SetIndex data value of the infrared sensor's derotation setting, rotate the infrared sensor's derotation prism to approximately (SetIndex-1)×5+3°. After the infrared sensor's derotation prism rotates for 4 seconds, read the retest data of the extracted laser image point deviations Xbias and Ybias from the image board. Obtain the infrared optical axis data for the current setting using the following formula:
[0018] IRCROSSXnow=Xbias*(-1)+IRCROSSXlast
[0019] IRCROSSYnow=Ybias+IRCROSSYlast
[0020] At this point, IRCROSSXnow and IRCROSSYnow are the retested infrared optical axis data, and IRCROSSXLast and IRCROSSYLast are the initial measured optical axis data; repeat the retesting of infrared optical axis data from level 1 to level 72 in this manner.
[0021] S6, Determine if the retest data is valid: Determine if the optical axis retest deviation X and optical axis retest deviation Y in the 72 sets of acquired infrared optical axis deviation retest data are both less than 3°, then the initial calibration data is considered valid and the calibration data is automatically saved.
[0022] Furthermore, step S2 also includes a calibration data query command step: at any time during operation, the system can respond to an external "calibration data query command" to query the saved infrared optical axis data for the initial and retest stages.
[0023] Furthermore, in step S3, calibration is performed after a period of time following laser emission because the laser emits a lot of heat onto the laser photographic paper immediately after emission, resulting in large laser spots. Calibration errors would be significant if performed at this time.
[0024] Furthermore, in step S4, after the infrared sensor derotation prism rotates for 4 seconds, the extraction deviation data of the image plate is read; in step S5, after the infrared sensor derotation prism rotates for 4 seconds, the extraction laser image point deviations Xbias and Ybias retest data of the image plate are read.
[0025] Furthermore, if the requirement for automatic saving of the optical axis is not met in step S6, then the user manually determines whether the current optical axis calibration data should be saved.
[0026] The beneficial effects of this invention are as follows: Based on the angular rotation of the derotating prism, this invention divides the angular rotation of the derotating prism in the infrared channel into 72 levels, with each level being 5°. Then, a set of optical axis calibration data is performed in each level, resulting in a total of 72 sets of optical axis calibration data. Instead of using manual calibration, 72 sets of optical axis data are calibrated automatically, realizing an automated calibration process for optical axis parallelism. This effectively solves the problems of extremely cumbersome, time-consuming, low-precision, and poor operability in calibrating the parallelism of the infrared optical axis and laser optical axis of optical tracking devices with derotating prisms in the infrared channel. Attached Figure Description
[0027] Figure 1 This is a flowchart of the optical axis calibration method of the present invention;
[0028] Figure 2 This is a graph showing the relationship between the mechanical axis angular displacement and the laser image jump of this invention;
[0029] Figure 3 This is a graph showing the relationship between the prism axis displacement and the laser image jump of this invention;
[0030] Figure 4 This is a graph showing the relationship between the prism axis displacement and the laser image jump of this invention;
[0031] Figure 5 The simulation results of laser image jump do not consider the angular displacement of the laser optical axis;
[0032] Figure 6 This is a simulation result of laser image jump considering the angular displacement of the laser optical axis. Detailed Implementation
[0033] The present invention will be further described below with reference to the accompanying drawings and specific embodiments.
[0034] Taking the infrared optical axis of the optical tracking device as a reference, the angular displacement of the rotating mechanical axis, the angular displacement of the prism axis, and the angular displacement of the laser optical axis will all produce laser image jump phenomenon, which is decomposed into the following points.
[0035] (1) The effect of angular displacement of the mechanical axis on image jump. For example... Figure 2 As shown, when the mechanical axis has an angular displacement Δ1, the prism will deviate from the infrared optical axis during the rotation of the mechanical axis. When the mechanical axis rotates by an angle θ, the offset components of the image point in the two directions are:
[0036]
[0037] (2) The effect of the angular displacement of the Delta prism axis on image jump. For example... Figure 3As shown, according to the relationship of equivalent plane reflection of a prism, when there is an angular displacement Δ2 on the prism axis, the output light axis shifts by 2Δ2. During the rotation of the mechanical axis, the prism will rotate, and the image point will rotate accordingly. When the mechanical axis rotates by an angle θ, the offset of the image point in the two directions is:
[0038]
[0039] (3) The effect of angular displacement of the laser optical axis on image jump. For example... Figure 4 As shown, when the laser optical axis has an angular displacement Δ3, the rotation of the mechanical axis drives the prism to rotate, and the laser image point rotates accordingly. When the mechanical axis rotates by an angle θ, the offset of the image point in the two directions is:
[0040]
[0041] In summary, the theoretical formula for laser image hop can be summarized as follows:
[0042]
[0043] In optical tracking equipment, the infrared optical channel typically uses a Delta prism to eliminate image spin. Due to the unavoidable deviation between the laser optical axis and the infrared optical axis, when the de-rotation prism mechanism rotates, the laser emission image point observed via infrared will exhibit a phenomenon called image scrambling (or simply image scrambling). Laser image scrambling depends on the combined effects of mechanical axis angular displacement, prism axis angular displacement, and laser optical axis angular displacement. Based on assembly and adjustment experience, the angular displacement of the mechanical axis can generally be controlled within 0.5 pixels, the angular displacement of the prism axis can generally be controlled within 0.5 pixels, and the angular displacement of the laser optical axis can be controlled within 2 pixels. Without loss of generality, this paper conducts simulation analysis for the following situations to find the patterns of laser image scrambling.
[0044] When Δ1 = 0.5 pixels, Δ2 = 0.5 pixels, and Δ3 = 0 pixels, the image jump simulation result is as follows: Figure 5 As shown, the image jump curve exhibits a cardioid distribution. The image jump ranges between [-2 pixels, +2 pixels] along both the x and y axes. Simulation results indicate that assembly and adjustment errors are unavoidable during the setup and adjustment of the infrared unit, leading to image jump inherent in the unit itself. This finding can guide the performance control of the infrared unit.
[0045] When Δ1 = 0.5 pixels, Δ2 = 0.5 pixels, and Δ3 = 2 pixels, the simulation results of laser image hop are as follows: Figure 6As shown, the image jump curve is a spiral curve, with the maximum image jump on both the x and y axes reaching 4 pixels. Assuming the infrared aiming line (crosshairs) is always at the coordinate system (0,0), when the laser image jump exceeds 2 pixels, the laser echo rate will decrease significantly; when the laser image jump exceeds 3 pixels, the laser echo rate will be 0, and there will be no distance feedback. This result can guide the design of system optical axis consistency.
[0046] In conclusion, the following inference can be drawn:
[0047] (1) Try to constrain the mechanical axis angular displacement and prism angular displacement of the infrared unit to reduce image jump. However, it is impossible to completely eliminate image jump in terms of technology. The image jump caused by the infrared unit is generally within 2 pixels. Based on this, the performance requirements of the infrared unit are proposed.
[0048] (2) The angular offset of the laser optical axis is the main determining factor of laser image slack. Laser image slack exceeding 2 pixels will significantly reduce laser echo, and laser image slack exceeding 3 pixels will cause ranging to be invalid.
[0049] (3) The laser image jump is determined by the laser optical axis angular displacement, mechanical axis angular displacement and prism axis angular displacement. The variation law is a non-linear curve, which is difficult to obtain by fitting a few sampling points (e.g., 5 sampling points).
[0050] (4) It is necessary to explore a suitable calibration and compensation method, obtain the entire image jump curve through multiple discrete point calibrations, so that the infrared aiming line always follows the laser image jump, thereby solving the problem of laser rangefinding and aiming deviation in built-in optoelectronic systems.
[0051] This shows that traditional optical axis calibration methods are no longer applicable to optical tracking devices with derotating prisms in the infrared channel.
[0052] Reference Figure 1 As shown, this invention addresses the challenge of optical axis calibration in optical tracking devices with derotating prisms in the infrared channel. It discloses an automated optical axis calibration method for such devices, comprising three main steps: interaction with an external system; implementation of the optical axis calibration process; and reading and saving calibration data. The method is divided into three VxWorks tasks: VxWorks Task 1 is the calibration preparation task for interaction with the external system; VxWorks Task 2 is the implementation task for the optical axis calibration process; and VxWorks Task 3 is the task for reading and saving calibration data. The specific steps are as follows.
[0053] S1, Calibration Preparation. After receiving the "Calibration Preparation" command, the optical tracking device turns on the laser soft switch, closes the laser baffle, controls the servo control board to turn to the calibration position, clears the counter value in the start calibration command to zero, and then sends the "Calibration Ready" command to the outside world.
[0054] VxWorks Task 1 corresponds to step S1. The module is responsible for interacting with the external system, receiving external commands and sending calibration status information. Received external commands include: "Calibration Ready," "Hardware Ready?", "Start Calibration," "End Calibration," and "Calibration Data Query Command." Upon receiving an external command, a serial port command needs to be sent internally to execute the corresponding operation. Some commands are issued from a single serial port, and the execution of multiple commands has time dependencies. Therefore, the task is designed as a loop task with a period of 0.25 seconds, and command execution relies on a counter value.
[0055] S2, check if the hardware is ready. Upon receiving an external "Hardware ready?" command, the software will check if the laser is working normally, if the laser baffle feedback is properly closed, and if the servo control board is switched to the calibration position. If ready, it will send a "Hardware ready" status message; otherwise, it will end the calibration. The software can respond to external "End Calibration" commands at any time during operation. Upon receiving the command, the software will perform the following operations: 1) Clear internal counter data; 2) Laser energy recovery serial port command; 3) Laser baffle open serial port command; 4) Infrared baffle open serial port command; 5) Laser sensor power-off command.
[0056] Calibration data query command: At any time during software operation, it can respond to external "calibration data query command" and saves infrared optical axis data from the initial test and retest stages in the software.
[0057] Initialization phase: Set the derotation setting SetIndex of the infrared sensor to 1, control the derotation prism mechanism of the infrared sensor to rotate the angle measurement value of the derotation prism to around 3°, and at the same time clear the variables used in the program to zero.
[0058] S3, if ready, begin calibration. Upon receiving the external "Start Calibration" command, the software will enter the "Initial Testing" state, clearing the counter ExcuteCnt to zero. When ExcuteCnt is 1, execute the infrared baffle-off command to pull the infrared sensor into a virtual state, preventing the laser from damaging the infrared detector. When ExcuteCnt is 9, send a position control command to the servo control board to ensure that the spatial orientation of the laser optical axis and the infrared optical axis remains unchanged during calibration. When ExcuteCnt is 11, send the laser manual control serial port command, the laser energy attenuation serial port command, and the laser frequency setting to low frequency serial port command, and finally send the laser emission serial port command. When ExcuteCnt is 71, send the laser emission stop serial port command. When ExcuteCnt is 91, send the infrared baffle-on serial port command and the laser energy recovery serial port command.
[0059] When ExcuteCnt is 371, the calibration implementation module of Task 2 is executed. The design of waiting for a period of time after laser emission before executing the calibration implementation module is very critical, because immediately after the laser is emitted, there is a lot of heat hitting the laser photographic paper, which causes the laser spot to be large. At this time, the calibration error will be large.
[0060] After Task 2 is completed, the system will be in the "Calculation Complete" state. The software will then enter the "Retesting" state and repeat Task 2. After Task 2 is completed, the system will be in the "Retest Complete" state. The entire calibration process includes two processes: calculation and retesting. The retesting is the verification of the calculated data.
[0061] S4, Initial Calibration Test. Based on the SetIndex data value of the infrared sensor's derotation setting, the infrared sensor's derotation prism angle measurement value is rotated to approximately (SetIndex-1)×5+3°. After the infrared sensor's derotation prism rotates for 4 seconds, the extraction deviation data of the image board is read, and the data range of the current laser image point extraction deviation Xbias and Ybias is determined. Xbias must be satisfied. bias <25 and Y bias Infrared optical axis calibration for the current gear is only performed when the value is less than 25.
[0062] After determining that the data is qualified, obtain the infrared optical axis data for the current gear using the following formula:
[0063] IRCROSSXnow=Xbias*(-1)+IRCROSSXlast
[0064] IRCROSSYnow=Ybias+IRCROSSYlast
[0065] In the formula, IRCROSSXnow and IRCROSSYnow represent the current infrared optical axis data, while IRCROSSXLast and IRCROSSYLast represent historical optical axis data. After acquiring the current infrared optical axis data, a command is immediately sent to the infrared image to update the displayed position of the infrared optical axis. This method is used to calibrate infrared optical axis data for levels 1 to 72 sequentially, while simultaneously saving 72 sets of initial measurement data for infrared optical axis deviation and initial measurement data for infrared optical axis position.
[0066] S5, Calibration and Retest. Based on the SetIndex data value of the infrared sensor's derotation setting, rotate the infrared sensor's derotation prism angle measurement value to approximately (SetIndex-1)×5+3°. After the infrared sensor's derotation prism rotates for 4 seconds, read the retest data of the extracted laser image point deviations Xbias and Ybias from the image board. Obtain the infrared optical axis data for the current setting using the following formula:
[0067] IRCROSSXnow=Xbias*(-1)+IRCROSSXlast
[0068] IRCROSSYnow=Ybias+IRCROSSYlast
[0069] At this point, IRCROSSXnow and IRCROSSYnow are the remeasured infrared optical axis data, while IRCROSSXLast and IRCROSSYLast are the initial measured optical axis data.
[0070] The infrared optical axis data from level 1 to level 72 were retested sequentially using this method.
[0071] S6. Determine if the retest data is valid. Based on the 72 sets of infrared optical axis deviation retest data, if both the optical axis retest deviation X and optical axis retest deviation Y in the 72 sets of data are less than 3°, then the initial calibration data is considered valid and the calibration data is automatically saved; otherwise, if the requirement for automatic saving of the optical axis is not met, a manual determination is made as to whether the current optical axis calibration data should be saved.
[0072] End Calibration: The software can respond to the external "End Calibration Command" at any time during operation. Upon receiving the command, the software will perform the following operations: 1) Clear internal counter data; 2) Laser energy recovery serial port command; 3) Laser baffle open serial port command; 4) Infrared baffle open serial port command; 5) Laser sensor power-off command.
[0073] Task 2, corresponding to steps S3-S6, is responsible for the specific implementation of the optical axis calibration process. It is mainly divided into the "initialization stage," "initial calibration test stage," "optical axis retest stage," and "data judgment and saving stage." The execution of specific commands in this task has a time dependency; therefore, Task 2 is designed as a cyclic task with a period of 0.25 seconds. The angle data of the derotating prism in the infrared sensor channel is divided into 72 levels, ranging from 0 to 360 degrees. Dividing the angle data by 5 and rounding it down, the derotating prism angle data is divided into 1-72 levels. The derotating prism is controlled to rotate to different levels, and then the image deviation of the laser spot relative to the infrared optical axis at that level is obtained. Combined with the original infrared optical axis coordinate values, the current coordinate position of the infrared optical axis can be calculated.
[0074] S7, Calibration Data Query. At any time during software operation, it can respond to external "calibration data query commands" and saves the infrared optical axis data from both the initial and retest stages within the software.
[0075] Task 3 is responsible for reading and saving infrared optical axis calibration data. This mainly includes 72 sets of initial measurement data for current optical axis deviation, 72 sets of initial measurement data for optical axis position, 72 sets of remeasured data for current optical axis deviation, and 72 sets of remeasured data for optical axis position. Optical axis data can be read throughout the entire optical axis calibration process.
[0076] Those skilled in the art will readily understand the other advantages and effects of this invention from the description herein. Various details of this specification can also be modified or altered based on different viewpoints and applications without departing from the spirit of this invention.
Claims
1. A method for calibrating the optical axis of an optical tracking device with a derotating prism in the infrared channel, characterized in that: Includes the following steps S1, Calibration Preparation: Turn on the laser switch, close the laser baffle, and control the servo control board to rotate to the calibration position; S2, Determine if the hardware is ready: Check if the laser is working properly, if the laser baffle feedback is properly closed, and if the servo control board is turned to the calibration position. During initialization, set the infrared sensor derotation setting SetIndex=1 and rotate the derotation prism angle measurement value to 3°. If not ready, end the calibration. S3, if ready, begin calibration: pull the infrared sensor to perform a virtual operation, send a position control command to the servo control board, and keep the spatial orientation of the laser optical axis and infrared optical axis unchanged during the calibration process; According to the command, select to send the laser emission serial port command, send the laser emission stop serial port command, send the infrared baffle open serial port command, and send the laser energy recovery serial port command; S4, Initial Calibration Test: Based on the SetIndex value of the derotation setting, rotate the derotation prism to (SetIndex-1)×5+3°, read the extraction deviation data of the image board, and determine the data range of the current laser image point extraction deviation Xbias and Ybias. Xbias must be satisfied. bias <25 and Y bias After reaching <25, perform infrared optical axis calibration for the current gear; once the data is deemed acceptable, obtain the infrared optical axis data for the current gear using the following formula: IRCROSSXnow=Xbias*(-1)+IRCROSSXlast IRCROSSYnow=Ybias+IRCROSSYlast In the formula, IRCROSSXnow and IRCROSSYnow are the current infrared optical axis data, and IRCROSSXLast and IRCROSSYLast are the historical infrared optical axis data. After obtaining the current infrared optical axis data, a command is immediately sent to the infrared image to update the display position of the infrared optical axis. The infrared optical axis data of levels 1 to 72 were calibrated sequentially, and 72 sets of initial measurement data of infrared optical axis deviation and initial measurement data of infrared optical axis position were saved at the same time. S5, Calibration and Retest: Based on the SetIndex value of the infrared sensor's derotation setting, rotate the derotation prism to (SetIndex-1)×5+3°. After the infrared sensor's derotation prism rotates for 4 seconds, read the retest data of the extracted laser image point deviations Xbias and Ybias from the image board. Obtain the infrared optical axis data for the current setting using the following formula: IRCROSSXnow=Xbias*(-1)+IRCROSSXlast IRCROSSYnow=Ybias+IRCROSSYlast In the formula, IRCROSSXnow and IRCROSSYnow are the remeasured infrared optical axis data, and IRCROSSXLast and IRCROSSYLast are the initial measured optical axis data. The infrared optical axis data from level 1 to level 72 were re-measured sequentially; S6, Determine if the retest data is valid: If the optical axis retest deviation X and optical axis retest deviation Y in the 72 sets of data are both less than 3°, then the initial calibration data is considered valid.
2. The optical axis calibration method for an optical tracking device with a derotating prism in the infrared channel according to claim 1, characterized in that, Step S2 also includes a calibration data query command step: the infrared optical axis data of the two saved stages of initial test and retest can be queried at any time.
3. The optical axis calibration method for an optical tracking device with a derotating prism in the infrared channel according to claim 2, characterized in that, In step S3, calibration is performed after a period of time following laser emission.
4. The optical axis calibration method for an optical tracking device with a derotating prism in the infrared channel according to claim 1, 2, or 3, characterized in that, In step S4, after the infrared sensor derotation prism rotates for 4 seconds, the extraction deviation data of the image board is read; in step S5, after the infrared sensor derotation prism rotates for 4 seconds, the extraction laser image point deviations Xbias and Ybias retest data of the image board are read.
5. The optical axis calibration method for an optical tracking device with a derotating prism in the infrared channel according to claim 1, 2, or 3, characterized in that, If the requirement for automatic saving of the optical axis is not met in step S6, the current optical axis calibration data should be manually determined.
Citation Information
Patent Citations
Parallelism detector for optical axis of multi-optical system
CN101718534A
Cube prism optical calibration device for aiming and monitoring optical axis of telescope
CN109029925A