Camera parameter adjusting method and device of robot and storage medium
By obtaining the actual position information and environmental images of the robot, and automatically adjusting the camera parameters online, the problem of unstable robot camera parameters affecting the operation accuracy is solved, and high-precision and automated camera parameter optimization is achieved.
Patent Information
- Application Number
- CN202510173770.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-17
- Publication Date
- 2025-05-16
AI Technical Summary
The parameters of the robot camera are prone to instability or inaccuracy during use, which affects the accuracy of the robot's operations.
By obtaining its actual pose information and environmental images during the movement of the target robot, online automatic adjustment and optimization of camera parameters are performed based on this information.
It improves the accuracy of robot operations, reduces manual calibration costs and human errors, and realizes real-time automatic update of camera parameters.
Smart Images

Figure CN120017954A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing technology, and in particular to a camera parameter adjustment method, device and storage medium for a robot. Background Art
[0002] With the continuous development of technology, robots such as food delivery robots and delivery robots are increasingly being used. Many robots use cameras to capture images and calculate the robot's current position in real time to locate the robot. However, if the camera parameters are deviated, it will directly affect the calculation accuracy of the position.
[0003] In the related art, the robot usually sets initial camera parameters when it leaves the factory. However, due to the use environment or other factors, the parameters of the camera on the robot may become unstable or inaccurate, thereby affecting the accuracy of the robot's operation. Summary of the invention
[0004] The present disclosure provides a camera parameter adjustment method, device and storage medium for a robot.
[0005] According to a first aspect of the present disclosure, a method for adjusting camera parameters of a robot is provided, the method comprising:
[0006] During the movement of the target robot, the actual position information of the target robot is obtained, and the environment image captured by the camera on the target robot is obtained;
[0007] Predicting the position and posture of the target robot based on the environment image to obtain predicted position and posture information;
[0008] Based on the actual pose information and the predicted pose information, camera parameters of the camera are adjusted.
[0009] Optionally, acquiring the environment image captured by a camera on the target robot includes:
[0010] Obtaining initial camera parameters of the camera on the target robot;
[0011] Based on the initial camera parameters, the camera is used to collect images of the current environment to obtain a current environment image.
[0012] Optionally, adjusting the camera parameters of the camera based on the actual pose information and the predicted pose information includes:
[0013] Based on the actual posture information and the predicted posture information, obtaining a posture difference;
[0014] When the posture difference is greater than a threshold, the camera parameters of the camera are adjusted.
[0015] Optionally, the method further comprises:
[0016] When the posture difference is not greater than a threshold, stop adjusting the camera parameters of the camera to obtain target camera parameters;
[0017] When it is detected that the target camera parameters need to be adjusted, the target camera parameters are used as initial camera parameters.
[0018] Optionally, adjusting the camera parameters of the camera includes:
[0019] Obtaining an iteration step length, and adjusting the initial camera parameters according to the iteration step length to obtain adjusted camera parameters;
[0020] The step of obtaining the environment image captured by the camera on the target robot comprises:
[0021] An environment image captured by the camera is acquired based on the adjusted camera parameters.
[0022] Optionally, predicting the position and posture of the target robot based on the environment image to obtain predicted position and posture information includes:
[0023] Acquire multiple environment images continuously captured by the camera to obtain an image sequence;
[0024] Acquiring feature points between adjacent images in the image sequence, and matching the feature points between adjacent images in the image sequence to obtain feature point pairs between adjacent images in the image sequence;
[0025] The position and posture of the target robot are calculated based on the feature point pairs to obtain predicted position and posture information.
[0026] Optionally, matching feature points between adjacent images in the image sequence to obtain feature point pairs between adjacent images in the image sequence includes:
[0027] Acquire a plurality of feature point pairs to be processed obtained by matching feature points between adjacent images in the image sequence;
[0028] Descriptors between adjacent images in the image sequence are obtained, and mismatch screening is performed on the plurality of feature point pairs to be processed based on the descriptors to obtain feature point pairs between adjacent images in the image sequence.
[0029] Optionally, the target robot is provided with a laser radar; and the obtaining of actual position information of the target robot includes:
[0030] Acquire point cloud data in the current environment of the target robot through the laser radar;
[0031] The point cloud data in the current environment is matched with the pre-stored point cloud data to obtain the actual position and posture information of the target robot.
[0032] According to a second aspect of the present disclosure, an electronic device is provided. The electronic device comprises: a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the program, the method described above is implemented.
[0033] According to a third aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the above method of the present disclosure is implemented.
[0034] The camera parameter adjustment method, device and storage medium of the robot provided by the embodiments of the present disclosure obtain the actual posture information of the target robot and the environment image captured by the camera on the target robot during the movement of the target robot. The posture of the target robot is predicted based on the environment image to obtain the predicted posture information. And based on the actual posture information and the predicted posture information, the camera parameters of the camera are adjusted. In this way, by obtaining the actual posture information and the predicted posture information of the robot, the camera parameters of the camera can be adjusted in time, thereby improving the operation accuracy of the robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Further details, features and advantages of the present disclosure are disclosed in the following description of exemplary embodiments in conjunction with the accompanying drawings, in which:
[0036] Figure 1 A flowchart of a camera parameter adjustment method for a robot provided by an exemplary embodiment of the present disclosure;
[0037] Figure 2 A structural block diagram of an electronic device provided for an exemplary embodiment of the present disclosure;
[0038] Figure 3 A structural block diagram of a computer system provided for an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0039] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0040] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0041] The term "including" and its variations used in this document are open inclusions, that is, "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one other embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions of other terms will be given in the description below. It should be noted that the concepts of "first", "second", etc. mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0042] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".
[0043] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0044] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0045] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.
[0046] As an optional but non-limiting implementation, in response to receiving an active request from the user, the method of sending a prompt message to the user may be, for example, a pop-up window, in which the prompt message may be presented in text. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device. It is understandable that the above notification and the process of obtaining user authorization are only illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0047] In current robot vision systems, accurate camera calibration is the key to achieving high-precision operations. The calibration methods in related technologies usually rely on manual operations and are performed in a specific calibration environment. This is not only time-consuming and laborious, but also easily affected by human factors and environmental changes, resulting in unstable and inaccurate calibration results. In addition, related technologies are often performed during machine production, and parameter offsets during subsequent transportation or temperature changes are generally unable to be compensated.
[0048] The technical problems existing in the related art mainly stem from the static nature and limitations of the traditional calibration method, and fail to fully consider the dynamic changes in the robot operation process. Therefore, the embodiments of the present disclosure can well solve the above technical problems existing in the related art by automatically adjusting and optimizing the camera parameters online, and can greatly improve the performance and stability of the robot vision system.
[0049] Therefore, in order to solve the above technical problems, the present disclosure provides a method for adjusting camera parameters of a robot, such as Figure 1 As shown, the method may include the following steps:
[0050] In step S110, during the movement of the target robot, the actual position information of the target robot is obtained, and the environment image captured by the camera on the target robot is obtained.
[0051] In the embodiment, the target robot may be a food delivery robot, a sweeping machine, or a delivery robot, etc., but the embodiment is not limited thereto. A camera is provided on the target robot, and the camera can collect the current environment image of the target robot. Since the camera parameters of the target robot are calibrated before leaving the factory, during the operation of the robot, for example, due to reasons such as loose screws, the relative position of the camera on the robot may change, causing the camera to also change, which requires re-adjusting the camera parameters, otherwise it will affect the normal operation of the target machine. For example, it will cause the positioning accuracy of the target robot to decrease.
[0052] In an embodiment, the target robot may also be provided with a laser radar, through which point cloud data in the current environment of the target robot may be collected, thereby obtaining the actual position and posture information of the target robot. Specifically, the point cloud data in the current environment of the target robot may be obtained through the laser radar, and the point cloud data in the current environment may be matched with the pre-stored point cloud data to obtain the actual position and posture information of the target robot.
[0053] Therefore, when the target robot moves in the target area, it can obtain point cloud data in the environment of the target area in advance, obtain prior point cloud data of the target area, and use the single-frame point cloud data in the point cloud data currently obtained by the lidar to match the prior point cloud data, for example, through matching algorithms such as iterative nearest point, and finally obtain the optimal posture and use it as the current actual posture information of the target robot, so as to obtain the real-time actual posture information of the target robot during the movement.
[0054] In step S120, the position and posture of the target robot is predicted based on the environment image to obtain predicted position and posture information.
[0055] In the embodiments, pose refers to the process of determining the position and orientation of an object in an image relative to a camera in computer vision. Pose includes the location and orientation of an object. The location refers to the specific coordinates of an object in three-dimensional space, while the orientation refers to the directional information such as rotation and tilt of an object relative to a reference coordinate system.
[0056] In an embodiment, the camera parameters of the camera can be initialized, and the camera parameters may include intrinsic parameters and extrinsic parameters. Based on the initialized camera, an environmental image of the environment is collected, and feature points are extracted from the environmental image, and the feature points include coordinates in three-dimensional space. The extracted feature points are matched with points in three-dimensional space, and the position and posture of the camera are calculated by an optimization algorithm (such as a PnP algorithm).
[0057] In step S130 , the camera parameters of the camera are adjusted based on the actual pose information and the predicted pose information.
[0058] In an embodiment, the actual current position information of the target robot can be calculated through point cloud data collected by a laser radar installed on the target robot, and the predicted current position information of the target robot can be predicted through the environmental image collected by the camera on the target robot.
[0059] In this way, when the predicted pose information is inconsistent with the above-mentioned actual pose information, it means that the camera parameters need to be adjusted. By adjusting the camera parameters again, and obtaining the environment image through the camera with adjusted parameters, and obtaining the predicted pose information based on the environment image, and comparing it with the current actual pose information again, until the predicted pose information is consistent with the actual pose information, stop adjusting the camera parameters, and obtain the optimal camera parameters of the camera.
[0060] It should be noted that the embodiments of the present disclosure can be applied to indoor environments. In indoor environments, when the camera is positioned visually, it will be disturbed by noise in the surrounding environment. Therefore, compared with positioning by vision, the confidence level when positioning by laser radar is greater. In this way, point cloud data is collected by laser radar, and higher-precision actual posture information can be obtained based on the point cloud data. When the camera adjusts parameters based on the higher-precision actual posture information, the obtained camera parameters will be more accurate.
[0061] The camera parameter adjustment method of the robot provided in the embodiment of the present disclosure obtains the actual posture information of the target robot and the environment image captured by the camera on the target robot during the movement of the target robot. The posture of the target robot is predicted based on the environment image to obtain the predicted posture information. And based on the actual posture information and the predicted posture information, the camera parameters of the camera are adjusted. In this way, by obtaining the actual posture information and the predicted posture information of the robot, the camera parameters of the camera can be adjusted in time, thereby improving the operation accuracy of the robot.
[0062] Based on the above embodiment, in another embodiment provided by the present disclosure, the above step S110 may further include the following steps:
[0063] In step S111, the initial camera parameters of the camera on the target robot are obtained.
[0064] In step S112, based on the initial camera parameters, the camera is used to capture images of the current environment to obtain a current environment image.
[0065] In an embodiment, the initial camera parameters may be the parameters of the camera when it leaves the factory. In addition, if the camera is adjusted multiple times in a historical period, the initial camera parameters may also be the average of the parameters adjusted in the historical period, or the initial camera parameters may be the parameters adjusted last time the camera was adjusted, but the embodiment is not limited thereto.
[0066] In this way, by obtaining the initial camera parameters of the camera on the target robot and based on the initial camera parameters, the camera collects images of the current environment to obtain the current environment image, so as to obtain the predicted posture information based on the current environment image.
[0067] In the embodiment, when adjusting the camera parameters of the camera based on the actual pose information and the predicted pose information, the pose difference can be obtained based on the actual pose information and the predicted pose information, and the camera parameters of the camera can be adjusted when the pose difference is greater than a threshold. In this way, when the pose difference is not greater than the threshold, it means that the predicted pose information and the actual pose information are consistent, and the adjustment of the camera parameters can be stopped.
[0068] Therefore, in the embodiment, when the posture difference is not greater than the threshold, the camera parameters of the camera are stopped from being adjusted to obtain the target camera parameters. When it is detected that the target camera parameters need to be adjusted, the target camera parameters can be used as the initial camera parameters. In this way, when it is detected that the target camera parameters need to be adjusted, it may generally be caused by the looseness or offset of the fixing device between the camera and the target robot. Adjustments can be made based on the target camera parameters, and the optimal parameters of the camera can be obtained in time.
[0069] In an embodiment, when adjusting the parameters of the camera, an iteration step can be obtained, and the initial camera parameters can be adjusted by the iteration step to obtain the adjusted camera parameters. And the environmental image captured by the camera is obtained based on the adjusted camera parameters. Among them, the iteration step represents the amplitude of the parameter adjustment. The larger the iteration step, the larger the amplitude of the parameter adjustment, and the camera parameters can be adjusted to the optimal camera parameters as soon as possible. However, if the iteration step is larger, the adjustment accuracy is lower, so the iteration step can be set according to actual needs. For example, according to the service life of the target robot, the iteration step can be positively correlated with the service life, that is, the longer the service life, the larger the iteration step, otherwise the smaller the iteration step, so that a balance can be found between the number of adjustments and the adjustment accuracy.
[0070] Based on the above embodiment, in another embodiment provided by the present disclosure, the above step S120 may further include the following steps:
[0071] Step S121, acquiring multiple environment images continuously captured by the camera to obtain an image sequence.
[0072] In the embodiment, when the robot is running, the camera continuously collects environmental images. In order to ensure the image quality, necessary preprocessing operations can be performed on the collected images, such as denoising, graying, histogram equalization, etc. These preprocessing operations help to improve the accuracy of subsequent feature extraction and matching.
[0073] Step S122, acquiring feature points between adjacent images in the image sequence, and matching the feature points between adjacent images in the image sequence to obtain feature point pairs between adjacent images in the image sequence.
[0074] Step S123, calculating the position and posture of the target robot based on the feature point pairs to obtain predicted position and posture information.
[0075] In an embodiment, multiple feature point pairs to be processed can be obtained by matching feature points between adjacent images in an image sequence. Descriptors between adjacent images in an image sequence are obtained, and mismatch screening is performed on multiple feature point pairs to be processed based on the descriptors to obtain feature point pairs between adjacent images in the image sequence.
[0076] Specifically, feature points and their descriptors can be extracted from each image based on a feature extraction algorithm. In order to ensure the stability of feature points and the accuracy of matching, the algorithm parameters can be optimized and adjusted, and a suitable feature point detection threshold can be selected. The designed matching strategy is used to match feature points of images in adjacent frames or specific time intervals. During the matching process, a nearest neighbor matching method based on descriptor distance can be used, combined with bidirectional matching and false matching elimination steps to improve the accuracy and reliability of the matching results.
[0077] Based on the matching point pairs, the epipolar constraint equation can be established using the principle of epipolar geometry. This equation describes the geometric relationship between the feature points under two perspectives and is used for subsequent parameter solution. Robust estimation methods, such as the RANSAC (Random Sample Consensus) algorithm, are introduced to deal with mismatches and noise interference in matching point pairs. By iteratively selecting sample point sets, calculating epipolar constraint equations, and eliminating points that do not conform to the model, a preliminary pose difference estimate and matching point pair set are obtained.
[0078] In an embodiment, the target robot posture information provided by the laser positioning system can be combined, and the camera parameters can be used as the optimization target to construct a nonlinear optimization problem. This problem aims to solve the optimal parameters of the camera under the premise of satisfying the epipolar constraints and posture differences. The camera parameters are iteratively optimized using a selected nonlinear optimization algorithm (such as the Levenberg-Marquardt algorithm or the trust region method). By continuously adjusting the parameter values, the objective function of the optimization problem (such as the reprojection error) reaches the minimum value, thereby obtaining accurate camera parameters. During the optimization process, appropriate initial parameter values and iteration steps can be used to improve the optimization efficiency and convergence speed.
[0079] Real-time verification is performed by applying the optimized camera parameters to actual visual processing. During the verification process, the accuracy of the calibration results can be evaluated by comparing the differences between the actual measured values and the predicted values. The camera parameters are dynamically adjusted based on the verification results. If the verification results show that the calibration results are inaccurate or unstable, the feature extraction, matching strategy or optimization algorithm can be adjusted and improved accordingly to improve the performance and stability of the calibration system.
[0080] The embodiments provided by the present disclosure dynamically analyze the complex interaction between the camera parameters, the paired point data sets obtained in the image and the robot posture changes, and realize the real-time and high-precision acquisition of the camera parameters through an iterative optimization algorithm. Compared with related technologies, it can not only eliminate the labor cost and artificial instability, but also improve the accuracy and realize the real-time automatic update of parameters.
[0081] An embodiment of the present disclosure also provides an electronic device, comprising: at least one processor; and a memory for storing instructions executable by the at least one processor; wherein the at least one processor is configured to execute the instructions to implement the above method disclosed in the embodiment of the present disclosure.
[0082] Figure 2 The structure diagram of an electronic device provided by an exemplary embodiment of the present disclosure is shown in FIG. Figure 2 As shown, the electronic device 1800 includes at least one processor 1801 and a memory 1802 coupled to the processor 1801 , and the processor 1801 can execute corresponding steps in the above method disclosed in the embodiment of the present disclosure.
[0083] The processor 1801 may also be referred to as a central processing unit (CPU), which may be an integrated circuit chip having signal processing capabilities. Each step in the method disclosed in the embodiment of the present disclosure may be completed by an integrated logic circuit of hardware in the processor 1801 or by instructions in the form of software. The processor 1801 may be a general-purpose processor, a digital signal processor (DSP), an ASIC (Application Specific Integrated Circuit), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. A general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present disclosure may be directly embodied as being executed by a hardware decoding processor, or may be executed by a combination of hardware and software modules in a decoding processor. The software module may be located in a memory 1802, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, or other mature storage media in the art. The processor 1801 reads the information in the memory 1802 and completes the steps of the method in combination with its hardware.
[0084] In addition, when various operations / processes according to the present disclosure are implemented by software and / or firmware, they can be transmitted from a storage medium or a network to a computer system having a dedicated hardware structure, such as Figure 3 The computer system 1900 shown is installed with the programs constituting the software. When the various programs are installed, the computer system can perform various functions, including the functions described above. Figure 3 A structural block diagram of a computer system provided for an exemplary embodiment of the present disclosure.
[0085] Computer system 1900 is intended to represent various forms of digital electronic computer devices, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0086] like Figure 3 As shown, the computer system 1900 includes a computing unit 1901, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 1902 or a computer program loaded from a storage unit 1908 to a random access memory (RAM) 1903. In the RAM 1903, various programs and data required for the operation of the computer system 1900 can also be stored. The computing unit 1901, the ROM 1902, and the RAM 1903 are connected to each other via a bus 1904. An input / output (I / O) interface 1905 is also connected to the bus 1904.
[0087] A plurality of components in the computer system 1900 are connected to the I / O interface 1905, including: an input unit 1906, an output unit 1907, a storage unit 1908, and a communication unit 1909. The input unit 1906 may be any type of device capable of inputting information to the computer system 1900, and the input unit 1906 may receive input digital or character information, and generate key signal inputs related to user settings and / or function control of the electronic device. The output unit 1907 may be any type of device capable of presenting information, and may include, but is not limited to, a display, a speaker, a video / audio output terminal, a vibrator, and / or a printer. The storage unit 1908 may include, but is not limited to, a disk, an optical disk. The communication unit 1909 allows the computer system 1900 to exchange information / data with other devices over a network such as the Internet, and may include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver, and / or a chipset, such as a Bluetooth™ device, a WiFi device, a WiMax device, a cellular communication device, and / or the like.
[0088] The computing unit 1901 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 1901 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 1901 performs the various methods and processes described above. For example, in some embodiments, the above methods disclosed in the embodiments of the present disclosure may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 1908. In some embodiments, part or all of the computer program may be loaded and / or installed on an electronic device via ROM 1902 and / or communication unit 1909. In some embodiments, the computing unit 1901 may be configured to perform the above methods disclosed in the embodiments of the present disclosure in any other appropriate manner (e.g., by means of firmware).
[0089] The embodiment of the present disclosure further provides a computer-readable storage medium, wherein when instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to execute the above method disclosed in the embodiment of the present disclosure.
[0090] The computer-readable storage medium in the disclosed embodiments may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. The computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. More specifically, the computer-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0091] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0092] The embodiments of the present disclosure further provide a computer program product, including a computer program, wherein when the computer program is executed by a processor, the above method disclosed in the embodiments of the present disclosure is implemented.
[0093] In embodiments of the present disclosure, computer program codes for performing the operations of the present disclosure may be written in one or more programming languages or combinations thereof, including but not limited to object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" language or similar programming languages. The program code may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer.
[0094] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0095] The modules, components or units involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the names of the modules, components or units do not, in some cases, limit the modules, components or units themselves.
[0096] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.
[0097] The above descriptions are only some embodiments of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosed concept. For example, a technical solution formed by replacing the above features with the technical features with similar functions disclosed in the present disclosure (but not limited to).
[0098] Although some specific embodiments of the present disclosure have been described in detail by way of example, it should be understood by those skilled in the art that the above examples are for illustration only and are not intended to limit the scope of the present disclosure. It should be understood by those skilled in the art that the above embodiments may be modified without departing from the scope and spirit of the present disclosure. The scope of the present disclosure is defined by the appended claims.
Claims
1. A method for adjusting camera parameters of a robot, characterized in that: The method comprises: During the movement of the target robot, the actual position information of the target robot is obtained, and the environment image captured by the camera on the target robot is obtained; Predicting the position and posture of the target robot based on the environment image to obtain predicted position and posture information; Based on the actual pose information and the predicted pose information, camera parameters of the camera are adjusted.
2. The method according to claim 1, characterized in that The step of obtaining the environment image captured by the camera on the target robot comprises: Obtaining initial camera parameters of the camera on the target robot; Based on the initial camera parameters, the camera is used to collect images of the current environment to obtain a current environment image.
3. The method according to claim 2, characterized in that The adjusting the camera parameters of the camera based on the actual pose information and the predicted pose information includes: Based on the actual posture information and the predicted posture information, obtaining a posture difference; When the posture difference is greater than a threshold, a camera parameter of the camera is adjusted.
4. The method according to claim 3, characterized in that The method further comprises: When the posture difference is not greater than a threshold, stop adjusting the camera parameters of the camera to obtain target camera parameters; When it is detected that the target camera parameters need to be adjusted, the target camera parameters are used as initial camera parameters.
5. The method according to claim 3, characterized in that: The adjusting the camera parameters of the camera includes: Obtaining an iteration step length, and adjusting the initial camera parameters according to the iteration step length to obtain adjusted camera parameters; The step of obtaining the environment image captured by the camera on the target robot comprises: An environment image captured by the camera is acquired based on the adjusted camera parameters.
6. The method according to claim 1, characterized in that Predicting the position and posture of the target robot based on the environment image to obtain predicted position and posture information includes: Acquire multiple environment images continuously captured by the camera to obtain an image sequence; Acquiring feature points between adjacent images in the image sequence, and matching the feature points between adjacent images in the image sequence to obtain feature point pairs between adjacent images in the image sequence; The position and posture of the target robot are calculated based on the feature point pairs to obtain predicted position and posture information.
7. The method according to claim 6, characterized in that The matching of feature points between adjacent images in the image sequence to obtain feature point pairs between adjacent images in the image sequence includes: Acquire a plurality of feature point pairs to be processed obtained by matching feature points between adjacent images in the image sequence; Descriptors between adjacent images in the image sequence are obtained, and mismatch screening is performed on the plurality of feature point pairs to be processed based on the descriptors to obtain feature point pairs between adjacent images in the image sequence.
8. The method according to claim 1, characterized in that The target robot is provided with a laser radar; the obtaining of actual position information of the target robot comprises: Acquire point cloud data in the current environment of the target robot through the laser radar; The point cloud data in the current environment is matched with the pre-stored point cloud data to obtain the actual position and posture information of the target robot.
9. An electronic device, characterized in that: include: at least one processor; a memory for storing the at least one processor-executable instruction; The at least one processor is configured to execute the instructions to implement the method according to any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that: When the instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the method as claimed in any one of claims 1 to 8.