Mobile chassis control method and device, electronic equipment and computer readable medium

By generating a sequence of speed and position data and combining point cloud data from the external environment for obstacle detection, optimizing the control method of mobile chassis, the problem of sharp velocity changes and obstacle collision in the existing technology is solved, and hardware wear is reduced and The effect of waste of resources.

CN119440012APending Publication Date: 2025-02-14SHANGHAI QI ZHI INSTITUTE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411583632.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-07
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

In the existing mobile chassis control methods, the motion path generated by a pure tracking algorithm is likely to lead to sharp velocity changes and obstacle collisions, resulting in hardware wear and waste of resources.

Method used

By receiving the acceleration information sequence sent by the user terminal, a speed data sequence and a position coordinate sequence are generated, and obstacle detection is performed in combination with point cloud data of the external environment, and optimization target information is generated to control the movement of the mobile chassis to the target position.

Benefits of technology

The number of times the mobile chassis undergoes sharp speed changes and collisions with obstacles is reduced, thereby extending the service life of the hardware and reducing the waste of hardware resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119440012A_ABST
    Figure CN119440012A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a mobile chassis control method and device, electronic equipment and a computer readable medium. One specific embodiment of the method comprises the following steps of: generating a speed data sequence; generating a position coordinate sequence; determining position coordinates meeting a preset position condition in the position coordinate sequence as predicted position coordinates; generating position parameters; generating a speed parameter; receiving external environment point cloud data sent by the target terminal; obtaining an obstacle detection result; generating obstacle parameters; generating first optimization target information based on the position parameter, the speed parameter, the obstacle parameter and each preset weight coefficient; and based on the first optimization target information, the sampling time and a preset constraint condition, controlling a corresponding mobile chassis to move to a target position. According to the embodiment, extra hardware loss of the mobile chassis can be reduced, the number of times of hardware replacement of the mobile chassis is reduced, and then hardware resource waste can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate to the field of computer technology, and in particular to a mobile chassis control method, device, electronic device, and computer-readable medium. Background Art

[0002] Mobile chassis control is a method of controlling the mobile chassis to move to a target location. For example, when transporting items by an unmanned transport vehicle, the mobile chassis control method can be used to control the unmanned transport vehicle to transport the items to the target location. At present, when controlling the movement of the mobile chassis, the method usually adopted is: generating the motion path of the mobile chassis by a pure pursuit algorithm (Pure Pursuit), and then controlling the mobile chassis to move to the target location by the generated motion path.

[0003] However, when the above method is used to control the movement of the mobile chassis, the following technical problems often occur:

[0004] The motion path generated by the pure tracking algorithm can easily cause the mobile device to make sharp turns and other drastic speed changes frequently, and has poor obstacle avoidance capabilities, resulting in a high number of collisions between the mobile chassis and obstacles, which can easily cause additional hardware wear on the mobile device and shorten the hardware's service life, leading to frequent hardware replacements for the mobile device and a waste of hardware resources. Summary of the invention

[0005] The content of this disclosure is used to introduce concepts in a brief form, which will be described in detail in the detailed implementation section below. The content of this disclosure is not intended to identify the key features or essential features of the technical solution claimed for protection, nor is it intended to limit the scope of the technical solution claimed for protection.

[0006] Some embodiments of the present disclosure propose a mobile chassis control method, device, electronic device, and computer-readable medium to solve one or more of the technical problems mentioned in the above background technology section.

[0007] In a first aspect, some embodiments of the present disclosure provide a mobile chassis control method, the method comprising: in response to receiving an acceleration information sequence sent by a user terminal, performing the following steps: generating a speed data sequence based on preset initial speed data, a preset sampling time and the acceleration information sequence; generating a position coordinate sequence based on the speed data sequence, the sampling time and the preset initial position coordinate data; determining the position coordinates in the position coordinate sequence that meet the preset position conditions as predicted position coordinates; generating position parameters based on the preset target position coordinates and the predicted position coordinates; generating speed parameters based on the speed data sequence; receiving external environment point cloud data sent by a target terminal; performing obstacle detection on the external environment point cloud data to obtain an obstacle detection result; in response to determining that the obstacle detection result meets the preset detection condition, generating obstacle parameters based on the obstacle detection result and the position coordinate sequence; generating first optimization target information based on the position parameter, the speed parameter, the obstacle parameter and preset weight coefficients; and controlling the corresponding mobile chassis to move to the target position based on the first optimization target information, a preset control cycle and preset constraints.

[0008] In a second aspect, some embodiments of the present disclosure provide a mobile chassis control device, the device comprising: an execution unit, configured to execute the following steps in response to receiving an acceleration information sequence sent by a user terminal: generating a speed data sequence based on preset initial speed data, a preset sampling time and the above acceleration information sequence; generating a position coordinate sequence based on the above speed data sequence, the above sampling time and the preset initial position coordinate data; determining the position coordinates in the above position coordinate sequence that meet the preset position conditions as predicted position coordinates; generating position parameters based on preset target position coordinates and the above predicted position coordinates; generating speed parameters based on the above speed data sequence; receiving external environment point cloud data sent by a target terminal; performing obstacle detection on the above external environment point cloud data to obtain an obstacle detection result; in response to determining that the above obstacle detection result meets the preset detection condition, generating obstacle parameters based on the above obstacle detection result and the above position coordinate sequence; generating first optimization target information based on the above position parameter, the above speed parameter, the above obstacle parameter and preset weight coefficients; and controlling the corresponding mobile chassis to move to the target position based on the above first optimization target information, a preset control cycle and preset constraints.

[0009] In a third aspect, some embodiments of the present disclosure provide an electronic device comprising: one or more processors; a storage device on which one or more programs are stored, and when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any implementation manner of the above-mentioned first aspect.

[0010] In a fourth aspect, some embodiments of the present disclosure provide a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method described in any implementation manner of the above-mentioned first aspect is implemented.

[0011] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the mobile chassis control method of some embodiments of the present disclosure, the number of times the mobile chassis undergoes sharp speed changes can be reduced, the number of collisions between the mobile chassis and obstacles can be reduced, and the waste of hardware resources can be reduced. Specifically, the reason for the waste of hardware resources is that the motion path generated by the pure tracking algorithm easily causes the mobile device to undergo sharp speed changes such as sharp turns, and the obstacle avoidance ability is poor, resulting in a large number of collisions between the mobile chassis and obstacles, which easily causes additional hardware wear of the mobile device, shortens the service life of the hardware, and further causes frequent hardware replacement of the mobile device, resulting in a waste of hardware resources. Based on this, the mobile chassis control method of some embodiments of the present disclosure, first, in response to receiving the acceleration information sequence sent by the user terminal, performs the following steps: first, based on the preset initial speed data, the preset sampling time and the above acceleration information sequence, a speed data sequence is generated. Thus, the speed of the mobile chassis during each sampling time can be obtained. Secondly, based on the above speed data sequence, the above sampling time and the preset initial position coordinate data, a position coordinate sequence is generated. Thus, the position coordinate sequence of the mobile chassis during movement can be obtained. Then, the position coordinates satisfying the preset position conditions in the position coordinate sequence are determined as predicted position coordinates. Thus, the coordinates corresponding to the position where the mobile chassis moves last can be obtained. Then, based on the preset target position coordinates and the predicted position coordinates, position parameters are generated. Thus, the error between the coordinates of the final position of the mobile chassis and the preset position coordinates can be obtained. Then, based on the speed data sequence, speed parameters are generated. Thus, speed parameters can be obtained. Then, the external environment point cloud data sent by the target terminal is received. Thus, point cloud data corresponding to the external environment can be obtained, and obstacles can be detected through the external environment point cloud data. Then, obstacle detection is performed on the external environment point cloud data to obtain an obstacle detection result. Thus, when an obstacle exists, the position of the obstacle can be obtained. Then, in response to determining that the obstacle detection result satisfies the preset detection condition, obstacle parameters are generated based on the obstacle detection result and the position coordinate sequence. Thus, the parameters of the obstacle can be obtained. Then, based on the position parameter, the speed parameter, the obstacle parameter and each preset weight coefficient, the first optimization target information is generated. Thus, the first optimization target information can be obtained. Finally, based on the first optimization target information, the preset control cycle and the preset constraint conditions, the corresponding mobile chassis is controlled to move to the target position. Thus, the speed and acceleration of the mobile chassis during movement can be constrained by the constraint conditions, thereby reducing the number of times the mobile chassis undergoes abrupt speed changes.Because the point cloud data of the external environment can be used to detect obstacles in the external environment, more accurate detection results can be obtained, and obstacles can be better avoided through the obstacle detection results, thus reducing the number of collisions between the mobile chassis and obstacles and reducing additional hardware wear on mobile devices. Also, because the speed and acceleration of the mobile chassis can be constrained by introducing constraints, the number of sharp speed changes such as sharp turns of the mobile device can be reduced, reducing additional hardware wear on the mobile device, thereby reducing the number of hardware replacements of the mobile device and reducing hardware resource waste. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that components and elements are not necessarily drawn to scale.

[0013] Figure 1 is a flow chart of some embodiments of the mobile chassis control method according to the present disclosure;

[0014] Figure 2 is a schematic structural diagram of some embodiments of the mobile chassis control device according to the present disclosure;

[0015] Figure 3 is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure;

[0016] Figure 4 It is an internal test schematic diagram of controlling the movement of a mobile chassis in a test environment according to the mobile chassis control method disclosed in the present invention. DETAILED DESCRIPTION

[0017] 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 set forth herein. On the contrary, these embodiments are provided to provide 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.

[0018] It should also be noted that, for ease of description, only the parts related to the invention are shown in the drawings. In the absence of conflict, the embodiments and features in the embodiments of the present disclosure can be combined with each other.

[0019] It should be noted that the concepts such as "first" and "second" mentioned in the present 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.

[0020] 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".

[0021] 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.

[0022] The present disclosure will be described in detail below with reference to the accompanying drawings and in conjunction with embodiments.

[0023] Figure 1 The process 100 of some embodiments of the mobile chassis control method according to the present disclosure is shown. The mobile chassis control method comprises the following steps:

[0024] Step 101, in response to receiving an acceleration information sequence sent by a user terminal, performing the following steps:

[0025] Step 1011, generating a velocity data sequence based on preset initial velocity data, preset sampling time and acceleration information sequence.

[0026] In some embodiments, the execution subject (e.g., computing device) of the mobile chassis control method may generate a speed data sequence based on preset initial speed data, preset sampling time, and acceleration information sequence. Among them, the user terminal may be a user's terminal device. The acceleration information may be the acceleration of the mobile chassis. The acceleration information may include horizontal coordinate acceleration information, vertical coordinate acceleration information, and rotation angle acceleration information. The horizontal coordinate acceleration information may be the acceleration of the mobile chassis in the horizontal coordinate direction in the preset mobile coordinate system. The vertical coordinate acceleration information may be the acceleration of the mobile chassis in the vertical coordinate direction in the mobile coordinate system. The rotation angle acceleration information may be the angular acceleration of the mobile chassis. The angle corresponding to the angular acceleration may be the angle between the horizontal coordinate axis of the mobile coordinate system and the horizontal coordinate axis of the preset reference coordinate system. The mobile coordinate system may be a two-dimensional coordinate system with the center of mass of the mobile chassis as the coordinate origin, the forward direction of the mobile chassis as the horizontal coordinate axis, and the horizontal left direction perpendicular to the horizontal coordinate axis as the vertical coordinate axis. The reference coordinate system may be a two-dimensional coordinate system with any point in the environment where the mobile chassis is located as the coordinate origin, the horizontal eastward direction as the horizontal axis, and the horizontal northward direction as the vertical axis. In practice, first, the execution subject may receive the external environment data sent by the user terminal. Then, a three-dimensional model corresponding to the external environment data may be generated by a SLAM algorithm (Simultaneous Localization And Mapping). Then, the plane where the ground in the three-dimensional model is located is determined as a reference plane. Then, a preset point in the reference plane may be determined as the coordinate origin, with the horizontal eastward direction as the horizontal axis and the horizontal northward direction as the vertical axis, to construct a two-dimensional coordinate system as a reference coordinate system. Among them, the execution subject may be a computing device. The initial speed data may be the moving speed of the mobile chassis preset by a technician. The initial speed data may include initial horizontal coordinate speed data, initial vertical coordinate speed data, and initial angular velocity data. The initial horizontal coordinate speed data may be the moving speed of the mobile chassis in the horizontal coordinate direction in the mobile coordinate system preset by a technician. The initial ordinate velocity data may be a moving velocity of the mobile chassis in the ordinate direction in the mobile coordinate system preset by a technician. The initial angular velocity data may be an angular velocity of the mobile chassis preset by a technician. The sampling time may be a time length from the last change in the velocity or acceleration of the mobile chassis to the next change in the velocity or acceleration of the mobile chassis.

[0027] In some optional implementations of some embodiments, the execution subject may generate a velocity data sequence based on preset initial velocity data, preset sampling time and the acceleration information sequence through the following steps:

[0028] The first step is to determine the above initial velocity data as the velocity data to be processed. The above velocity data to be processed includes the horizontal coordinate velocity data to be processed, the vertical coordinate velocity data to be processed and the angular velocity data to be processed. The above horizontal coordinate velocity data to be processed can be the above initial horizontal coordinate velocity data. The above vertical coordinate velocity data to be processed can be the above initial vertical coordinate velocity data. The above angular velocity data to be processed can be the above initial angular velocity data.

[0029] In the second step, for each acceleration information in the above acceleration information sequence, perform the following steps:

[0030] The first sub-step is to generate speed data based on the speed data to be processed, including the horizontal coordinate speed data to be processed, the vertical coordinate speed data to be processed and the angular velocity data to be processed, the sampling time and the acceleration information, wherein the speed data may be the moving speed of the mobile chassis after the acceleration information changes.

[0031] The second sub-step is to store the speed data into a speed data sequence to update the speed data sequence.

[0032] The third sub-step is to determine the speed data as the speed data to be processed, so as to update the speed data to be processed.

[0033] The third step is to determine the updated speed data sequence as the speed data sequence.

[0034] In some optional implementations of some embodiments, the execution subject may generate velocity data based on the to-be-processed horizontal coordinate velocity data, to-be-processed vertical coordinate velocity data and to-be-processed angular velocity data included in the to-be-processed velocity data, the sampling time and the acceleration information through the following steps:

[0035] In the first step, the product of the horizontal coordinate acceleration information in the acceleration information and the sampling time is determined as the horizontal coordinate velocity change data.

[0036] In the second step, the sum of the to-be-processed horizontal coordinate speed data included in the to-be-processed speed data and the above-mentioned horizontal coordinate speed change data is determined as the horizontal coordinate speed data.

[0037] In the third step, the product of the vertical coordinate acceleration information in the acceleration information and the sampling time is determined as the vertical coordinate velocity change data.

[0038] The fourth step is to determine the sum of the to-be-processed ordinate velocity data included in the to-be-processed velocity data and the ordinate velocity change data as the ordinate velocity data.

[0039] In the fifth step, the product of the rotation angle acceleration information in the acceleration information and the sampling time is determined as the rotation angle speed change data.

[0040] In the sixth step, the sum of the angular velocity data to be processed included in the velocity data to be processed and the rotation angle velocity change data is determined as the angular velocity data.

[0041] The seventh step is to integrate the abscissa velocity data, the ordinate velocity data and the angular velocity data to obtain velocity data.

[0042] Step 1012: Generate a position coordinate sequence based on the speed data sequence, the sampling time and the preset initial position coordinate data.

[0043] In some embodiments, the execution subject may generate a position coordinate sequence based on the speed data sequence, the sampling time and the preset initial position coordinate data, wherein the position coordinates in the position coordinate sequence may be two-dimensional coordinates in the reference coordinate system after the mobile chassis moves for a sampling time.

[0044] In some optional implementations of some embodiments, the execution subject may generate a position coordinate sequence based on the speed data sequence, the sampling time and the preset initial position coordinate data through the following steps:

[0045] In the first step, the initial position coordinate data is determined as the position coordinate data to be processed, wherein the position coordinate data to be processed includes horizontal coordinate data to be processed, vertical coordinate data to be processed and rotation angle data to be processed.

[0046] In the second step, for each speed data in the above speed data sequence, perform the following steps:

[0047] In the first sub-step, in response to determining that the angular velocity data included in the velocity data meets a preset velocity condition, the following steps are performed:

[0048] Sub-step 1, based on the to-be-processed horizontal coordinate data, to-be-processed vertical coordinate data and to-be-processed rotation angle data included in the to-be-processed position coordinate data, the above-mentioned sampling time and the above-mentioned speed data, generate the position coordinate data. Among them, the above-mentioned preset speed condition can be that the angular velocity data included in the above-mentioned speed data is equal to the preset value. The above-mentioned preset value is a pre-set value. Here, the specific setting of the above-mentioned preset value is not limited. The above-mentioned position coordinate data can be the two-dimensional coordinates of the above-mentioned mobile chassis in the above-mentioned reference coordinate system.

[0049] Sub-step 2: storing the position coordinate data in a position coordinate data sequence to update the position coordinate data sequence. In practice, the execution subject may rank the first generated position coordinate data in the first position of the position coordinate data sequence, the second generated position coordinate data in the second position of the position coordinate data sequence, and so on.

[0050] Sub-step three: determining the above position coordinate data as the position coordinate data to be processed, so as to update the position coordinate data to be processed.

[0051] The third step is to determine the updated position coordinate data sequence as the position coordinate sequence.

[0052] In some optional implementations of some embodiments, the execution subject may generate the position coordinate data based on the horizontal coordinate data to be processed, the vertical coordinate data to be processed and the rotation angle data to be processed, the sampling time and the speed data included in the position coordinate data to be processed by the following steps:

[0053] In the first step, the cosine value of the rotation angle data to be processed included in the position coordinate data to be processed is determined as the rotation angle cosine value.

[0054] In the second step, the sine value of the rotation angle data to be processed included in the above-mentioned position coordinate data to be processed is determined as the rotation angle sine value.

[0055] In the third step, the product of the horizontal coordinate speed data included in the speed data and the cosine value of the rotation angle is determined as the horizontal coordinate cosine data.

[0056] The fourth step is to determine the product of the vertical coordinate speed data included in the speed data and the sine value of the rotation angle as the vertical coordinate sine data.

[0057] The fifth step is to determine the difference between the above-mentioned horizontal coordinate cosine data and the above-mentioned vertical coordinate sine data as the horizontal coordinate velocity component data.

[0058] In the sixth step, the product of the abscissa velocity component data and the sampling time is determined as abscissa displacement data.

[0059] The seventh step is to determine the sum of the horizontal coordinate displacement data and the horizontal coordinate data to be processed included in the above-mentioned position coordinate data to be processed as the horizontal coordinate data.

[0060] In the eighth step, the product of the horizontal coordinate speed data included in the speed data and the sine value of the rotation angle is determined as the horizontal coordinate sine data.

[0061] The ninth step is to determine the product of the ordinate velocity data included in the velocity data and the cosine value of the rotation angle as the ordinate cosine data.

[0062] The tenth step is to determine the sum of the abscissa sine data and the ordinate cosine data as the ordinate velocity component data.

[0063] In the eleventh step, the product of the vertical coordinate velocity component data and the sampling time is determined as the vertical coordinate displacement data.

[0064] In the twelfth step, the sum of the vertical coordinate displacement data and the vertical coordinate data to be processed included in the position coordinate data to be processed is determined as the vertical coordinate data.

[0065] In the thirteenth step, the rotation angle data to be processed included in the above position coordinate data to be processed is determined as the rotation angle data.

[0066] Step 14: Integrate the abscissa data, the ordinate data and the rotation angle data to obtain position coordinate data. In practice, the execution subject may combine the abscissa data, the ordinate data and the rotation angle data into position coordinate data.

[0067] Step 1013: determine the position coordinates in the position coordinate sequence that meet the preset position condition as the predicted position coordinates.

[0068] In some embodiments, the execution entity may determine the position coordinates in the position coordinate sequence that meet a preset position condition as the predicted position coordinates, wherein the preset position condition may be that the position coordinate is the last one in the position coordinate sequence.

[0069] Step 1014, generating position parameters based on the preset target position coordinates and the predicted position coordinates.

[0070] In some embodiments, the execution subject may generate position parameters based on preset target position coordinates and the predicted position coordinates. The target position coordinates may be two-dimensional coordinates of the target position in the reference coordinate system. The target position may be the position at which the mobile chassis reaches its last destination, which is preset by a technician. The position parameters may be used to characterize the degree of deviation between the predicted position coordinates and the target position coordinates. In practice, first, the execution subject may determine the difference between the horizontal coordinate value of the predicted position coordinates and the horizontal coordinate value of the target position coordinates as the horizontal coordinate difference. Then, the square of the horizontal coordinate difference may be determined as the horizontal coordinate square value. Then, the difference between the vertical coordinate value of the predicted position coordinates and the vertical coordinate value of the target position coordinates may be determined as the vertical coordinate difference. Then, the square of the vertical coordinate difference may be determined as the vertical coordinate square value. Finally, the sum of the horizontal coordinate square value and the vertical coordinate square value may be determined as the position parameter.

[0071] Step 1015: Generate speed parameters based on the speed data sequence.

[0072] In some embodiments, the execution subject may generate a speed parameter based on the speed data sequence. The speed parameter may be used to characterize the average speed of the mobile chassis when it moves. In practice, for each speed data in the speed data sequence, first, the execution subject may determine the square of the horizontal coordinate speed data included in the speed data as the horizontal coordinate speed square data. Secondly, the square of the vertical coordinate speed data included in the speed data may be determined as the vertical coordinate speed square data. Then, the square of the angular velocity data included in the speed data may be determined as the angular velocity square data. Then, the sum of the horizontal coordinate speed square data, the vertical coordinate speed square data and the angular velocity square data may be determined as the speed square data. Then, the square root of the speed square data may be determined as the speed square root data. Then, the norm of the speed square root data may be determined as the speed norm data. Then, the square of the speed norm data may be determined as the speed norm square data. Finally, the sum of the determined speed norm square data may be determined as the speed parameter.

[0073] Step 1016, receiving the external environment point cloud data sent by the target terminal.

[0074] In some embodiments, the execution subject may receive external environment point cloud data sent by a target terminal. The target terminal may be a terminal device of the mobile chassis. The external environment point cloud data may be point cloud data corresponding to the external environment in which the mobile chassis is located when it is moving, obtained by a laser radar of the mobile chassis.

[0075] Step 1017: perform obstacle detection on the external environment point cloud data to obtain an obstacle detection result.

[0076] In some embodiments, the execution subject may perform obstacle detection on the external environment point cloud data to obtain an obstacle detection result. The obstacle detection result may be a two-dimensional coordinate of the obstacle in the reference coordinate system or a space. In practice, first, the execution subject may control the laser radar on the mobile chassis to emit laser pulses in the moving direction of the mobile chassis to detect whether there is an obstacle ahead. Then, in response to receiving the obstacle distance and obstacle angle sent by the target terminal, the two-dimensional coordinate of the mobile chassis in the reference coordinate system may be obtained as the mobile chassis coordinate. Then, the product of the cosine value of the obstacle angle and the obstacle distance may be determined as the horizontal coordinate cosine value. Then, the sum of the horizontal coordinate in the mobile chassis coordinate and the cosine value of the horizontal coordinate may be determined as the obstacle horizontal coordinate. Then, the product of the sine value of the obstacle angle and the obstacle distance may be determined as the sine value of the ordinate. Then, the sum of the sine value of the ordinate and the ordinate in the mobile chassis coordinate may be determined as the obstacle ordinate. Then, the obstacle horizontal coordinate and the obstacle vertical coordinate can be combined into the obstacle coordinate. Finally, the obstacle coordinate can be determined as the obstacle detection result. In practice, in response to not receiving the obstacle distance and obstacle angle sent by the target terminal within a preset response time range, null is determined as the obstacle detection result. Among them, the obstacle distance can be used to characterize the distance between the obstacle and the mobile chassis. The obstacle angle can be used to characterize the angle of the obstacle relative to the mobile chassis. The preset response time range can be within a preset time period after the laser radar controlling the mobile chassis emits a laser pulse. The preset time period can be a pre-set time period. For example, the preset time period can be one minute.

[0077] Step 1018 , in response to determining that the obstacle detection result satisfies a preset detection condition, generating obstacle parameters based on the obstacle detection result and the position coordinate sequence.

[0078] In some embodiments, the execution subject may generate an obstacle parameter based on the obstacle detection result and the position coordinate sequence in response to determining that the obstacle detection result satisfies a preset detection condition. The preset detection condition may be that the obstacle detection result is not empty. The obstacle parameter may be used to characterize the distance between the position of the mobile chassis and the obstacle.

[0079] In some optional implementations of some embodiments, the execution entity may generate obstacle parameters based on the obstacle detection result and the position coordinate sequence through the following steps:

[0080] The first step is to determine the obstacle position coordinate data based on the obstacle detection result. The obstacle position coordinates include the obstacle horizontal coordinate data and the obstacle vertical coordinate data. In practice, when the obstacle detection result is not empty, the execution subject can determine the obstacle detection result as the obstacle position coordinate data.

[0081] In the second step, for each position coordinate in the above position coordinate sequence, perform the following steps:

[0082] The first sub-step is to determine the difference between the horizontal coordinate data included in the above position coordinates and the obstacle horizontal coordinate data included in the above obstacle position coordinate data as horizontal coordinate difference data.

[0083] The second sub-step is to determine the square of the horizontal coordinate difference data as the horizontal coordinate square data.

[0084] The third sub-step is to determine the difference between the ordinate data included in the position coordinates and the obstacle ordinate data included in the obstacle position coordinates as ordinate difference data.

[0085] The fourth sub-step is to determine the square of the vertical coordinate difference data as the vertical coordinate square data.

[0086] The fifth sub-step is to determine the sum of the above-mentioned squared data of the horizontal coordinate and the above-mentioned squared data of the vertical coordinate as the squared coordinate data.

[0087] The sixth sub-step is to determine the reciprocal of the above-mentioned coordinate square data as the coordinate reciprocal data.

[0088] In the third step, the sum of the determined inverse data of each coordinate is determined as the obstacle parameter.

[0089] Step 1019: Generate first optimization target information based on the position parameter, speed parameter, obstacle parameter and preset weight coefficients.

[0090] In some embodiments, the execution subject may generate the first optimization target information based on the position parameter, the speed parameter, the obstacle parameter and the preset weight coefficients. The weight coefficient may be used to characterize the proportion of the position parameter, the speed parameter and the obstacle parameter. The weight coefficients may include a position weight coefficient, a speed weight coefficient and an obstacle weight coefficient. The position weight coefficient may be a weight coefficient corresponding to the position parameter. The speed weight coefficient may be a weight coefficient corresponding to the speed parameter. The obstacle weight coefficient may be a weight coefficient corresponding to the obstacle parameter. The first optimization target information may be a formula composed of the position parameter, the speed parameter, the obstacle parameter and the weight coefficients. In practice, first, the execution subject may determine the product of the position parameter and the position weight coefficient as position weight data. Secondly, the product of the speed parameter and the speed weight coefficient may be determined as speed weight data. Then, the product of the obstacle parameter and the obstacle weight coefficient may be determined as obstacle weight data. Finally, the sum of the position weight data, the speed weight data and the obstacle weight data may be determined as the first optimization target information.

[0091] Step 10110, based on the first optimization target information, the preset control cycle and the preset constraint conditions, control the corresponding mobile chassis to move to the target position.

[0092] In some embodiments, the execution entity may control the corresponding mobile chassis to move to the target position based on the first optimization target information, a preset control cycle and preset constraints.

[0093] In some optional implementations of some embodiments, the execution subject may control the corresponding mobile chassis to move to the target position based on the first optimization target information, the preset control cycle and the preset constraint conditions through the following steps:

[0094] The first step is to construct nonlinear optimization information based on the above-mentioned first optimization target information and preset constraints. Among them, the above-mentioned constraints may be information constraining the maximum speed and maximum acceleration that the above-mentioned mobile chassis can reach when moving. For example, the above-mentioned constraints may be "the maximum speed of the mobile chassis is less than the preset speed value and the maximum acceleration is less than the preset acceleration value". The above-mentioned preset speed value may be a preset value. Here, there is no limitation on the specific setting of the above-mentioned preset speed value. The above-mentioned preset acceleration value may be a preset value. Here, there is no limitation on the specific setting of the above-mentioned preset acceleration value. The above-mentioned nonlinear optimization information may be the first target optimization information with the above-mentioned constraints added. In practice, the above-mentioned execution entity may combine the above-mentioned first optimization target information and the above-mentioned constraints into the above-mentioned nonlinear optimization information.

[0095] In the second step, based on the nonlinear optimization information, the following loop steps are performed:

[0096] The first sub-step is to generate a target acceleration information sequence based on the nonlinear optimization information. The target acceleration information may be the acceleration of the mobile chassis when it moves obtained by the nonlinear optimization problem. Each target acceleration information in the target acceleration information sequence may include a target horizontal coordinate acceleration, a target vertical coordinate acceleration and a target rotation angle acceleration. The target horizontal coordinate acceleration may be the acceleration of the mobile chassis on the horizontal axis of the mobile coordinate system when it moves obtained by the nonlinear optimization problem. The target vertical coordinate acceleration may be the acceleration of the mobile chassis on the vertical axis of the mobile coordinate system when it moves obtained by the nonlinear optimization problem. The target rotation angle acceleration may be the angular acceleration of the mobile chassis when it moves obtained by the nonlinear optimization problem. In practice, the execution subject may solve the nonlinear optimization information through a library function to obtain the target horizontal coordinate acceleration, the target vertical coordinate acceleration and the target rotation angle acceleration of each sampling time in the preset sampling time sequence. Then, for each sampling time in the sampling time sequence, the target horizontal coordinate acceleration, the target vertical coordinate acceleration and the target rotation angle acceleration corresponding to the sampling time are combined into target acceleration information. Finally, the combined target acceleration information can be arranged in sequence according to the order of the corresponding sampling times in the sampling time sequence to obtain a target acceleration information sequence. The library function can be the fmincon function in MATLAB.

[0097] The second sub-step is to determine the target acceleration information that meets the preset processing conditions in the above-mentioned target acceleration information sequence as the acceleration information to be processed. Among them, the above-mentioned preset processing condition may be that the target acceleration information is ranked first in the above-mentioned target acceleration information sequence. In practice, first, the above-mentioned execution subject may determine the target horizontal coordinate acceleration included in the above-mentioned target acceleration information as the horizontal coordinate acceleration to be processed. Then, the target vertical coordinate acceleration included in the above-mentioned target acceleration information may be determined as the vertical coordinate acceleration to be processed. Then, the target rotation angle acceleration included in the above-mentioned target acceleration information may be determined as the rotation angle acceleration to be processed. Finally, the above-mentioned horizontal coordinate acceleration to be processed, the above-mentioned vertical coordinate acceleration to be processed and the above-mentioned rotation angle acceleration to be processed may be combined into the acceleration information to be processed.

[0098] The third sub-step is to generate the speed data to be sent based on the initial speed data, the above-mentioned acceleration information to be processed and the preset control cycle. Among them, the above-mentioned control cycle can be used to characterize the time required for the above-mentioned mobile chassis to move once. In practice, first, the above-mentioned execution subject can determine the product of the horizontal coordinate acceleration to be processed included in the above-mentioned acceleration information to be processed and the above-mentioned control cycle as the horizontal coordinate speed change data. Then, the sum of the above-mentioned horizontal coordinate speed change data and the initial horizontal coordinate speed data included in the above-mentioned initial speed data can be determined as the horizontal coordinate speed data to be sent. The method of obtaining the vertical coordinate speed data to be sent and the method of obtaining the angular velocity data to be sent is similar to the method of obtaining the above-mentioned horizontal coordinate speed data to be sent, and will not be repeated here. Finally, the above-mentioned execution subject can combine the horizontal coordinate speed data to be sent, the vertical coordinate speed data to be sent and the above-mentioned angular velocity data to be sent into the speed data to be sent.

[0099] The fourth sub-step is to send the speed data to be sent to the target terminal to control the movement of the mobile chassis.

[0100] The fifth sub-step is, in response to receiving the actual speed data and the actual position coordinate data sent by the target terminal, executing the following steps:

[0101] Sub-step one, determining the above-mentioned actual speed data as the initial speed data to update the initial speed data. The above-mentioned actual speed data may be the speed of the above-mentioned mobile chassis when it is actually moving. The above-mentioned actual speed data may include actual horizontal coordinate speed data, actual vertical coordinate speed data and actual angular velocity data. The above-mentioned actual horizontal coordinate speed data may be the moving speed of the above-mentioned mobile chassis in the horizontal coordinate direction in the above-mentioned mobile coordinate system when it is actually moving. The above-mentioned initial vertical coordinate speed data may be the moving speed of the above-mentioned mobile chassis in the vertical coordinate direction in the above-mentioned mobile coordinate system when it is actually moving. The above-mentioned initial angular velocity data may be the angular velocity of the above-mentioned mobile chassis when it is actually moving. The above-mentioned actual position coordinate data may be the coordinates of the above-mentioned mobile chassis in the above-mentioned reference coordinate system after the movement is completed.

[0102] Sub-step two: determining the actual position coordinate data as the initial position coordinate data to update the initial position coordinate data.

[0103] The sixth sub-step is to determine the target acceleration information sequence as the acceleration information sequence to update the acceleration information sequence.

[0104] The seventh sub-step is, in response to determining that the updated initial position coordinate data satisfies a preset loop condition, executing the following steps:

[0105] Sub-step 1: Based on the updated initial velocity data, the updated initial position coordinate data and the updated acceleration information sequence, nonlinear optimization information is generated to update the nonlinear optimization information. The preset loop condition may be that the initial horizontal coordinate velocity data, the initial vertical coordinate velocity data and the initial angular velocity data included in the updated initial velocity data are not all zero. The method for generating the nonlinear optimization information can refer to the specific implementation method of the first step in step 10110, which will not be repeated here.

[0106] Sub-step 2: Execute the above loop steps again using the updated nonlinear optimization information.

[0107] In an eighth sub-step, in response to determining that the updated initial position coordinate data does not satisfy the preset loop condition, the preset stop movement speed data is sent to the target terminal. The stop movement speed data may be data in which the speed of the mobile chassis on the horizontal axis and the vertical axis of the mobile coordinate system and the angular velocity of the mobile chassis are all zero.

[0108] For example, Figure 4 It is a schematic diagram of an internal test for controlling the movement of a mobile chassis in a test environment according to the mobile chassis control method disclosed in the present invention, and shows a visual interactive interface of the execution subject when controlling the movement of the mobile chassis.

[0109] like Figure 4 As shown, the marking point may be an obstacle detected by the laser radar in the environment area of ​​the mobile chassis. The target point may be used to characterize the position that the mobile chassis needs to reach. The arrow may be a control for translating the target point left and right. The wheel may be a control for adjusting the position of the target point. The mobile chassis may be the mobile chassis mentioned above. The local path may be used to characterize the local movement trajectory of the mobile chassis in the process of moving to the target point. The non-grid area may be the environment area when the mobile chassis moves. The grid area may be the environment area when the mobile chassis moves. Among them, the grid in the grid area may be a mark of the environment area in the visualization page, which can be used to help technicians measure the moving distance of the mobile chassis.

[0110] In the process of adopting technical solutions to solve the above technical problems, the following problems are often accompanied:

[0111] When using the above-mentioned pure tracking algorithm to generate the motion path of the mobile chassis, the pure tracking algorithm has poor ability to dynamically adjust the weight coefficient according to different environments, which results in the motion path generated by the above-mentioned pure tracking algorithm having poor adaptability in different environments, which can easily lead to the poor flexibility of the mobile chassis when moving in different environments according to the motion path, and can easily lead to a large number of collisions between the mobile chassis and obstacles when moving, causing additional hardware wear of the mobile chassis and waste of hardware resources.

[0112] Faced with the above technical problems, we decided to adopt the following solutions:

[0113] Optionally, after step 101, the method further includes:

[0114] The first step is to receive the environmental point cloud data sent by the target terminal, wherein the environmental point cloud data may be the point cloud data of the external environment where the mobile chassis is located.

[0115] The second step is to preprocess the above-mentioned environmental point cloud data to obtain preprocessed environmental point cloud data. The above-mentioned preprocessed environmental point cloud data can be the above-mentioned environmental point cloud data after preprocessing. In practice, the above-mentioned execution subject can filter and denoise the above-mentioned environmental point cloud data to obtain preprocessed environmental point cloud data.

[0116] The third step is to perform point cloud slicing processing on the above-mentioned pre-processed environmental point cloud data to obtain environmental point cloud slicing data. Among them, the above-mentioned environmental point cloud slicing data can be the pre-processed environmental point cloud data within a preset area. The above-mentioned preset area can be an area of ​​pre-processed environmental point cloud data that needs to be retained and is preset by a technician. In practice, the above-mentioned execution entity can use the pass-through filter in PCL (Point Cloud Library) to retain the pre-processed environmental point cloud data within the above-mentioned preset area, and delete the pre-processed environmental point cloud data that does not belong to the above-mentioned preset area, so as to perform point cloud slicing processing on the above-mentioned pre-processed environmental point cloud data to obtain environmental point cloud slicing data.

[0117] The fourth step is to perform voxel filtering on the above-mentioned environmental point cloud slice data to obtain environmental point cloud filtered data. The above-mentioned environmental point cloud filtered data may be environmental point cloud slice data after voxel filtering. In practice, the above-mentioned execution subject may perform voxel filtering on the above-mentioned environmental point cloud slice data through a VoxelGrid filter to obtain environmental point cloud filtered data.

[0118] The fifth step is to perform point cloud segmentation processing on the above-mentioned environmental point cloud filter data to obtain point cloud segmentation data. The above-mentioned point cloud segmentation data may be the environmental point cloud filter data after the ground point cloud data is removed. In practice, the above-mentioned execution subject may remove the point cloud data corresponding to the ground area from the above-mentioned environmental point cloud filter data through the RANSAC (Random Sample Consensus) algorithm to perform point cloud segmentation processing on the above-mentioned environmental point cloud filter data to obtain point cloud segmentation data.

[0119] The sixth step is to perform point cloud clustering processing on the above point cloud segmentation data to obtain point cloud clustering data. The above point cloud clustering data can be point cloud data after clustering the point clouds belonging to the same object in the above point cloud segmentation data. The above point cloud clustering data can include various point cloud clusters. Each point cloud cluster in the above point cloud clusters can be used to characterize an object. In practice, the above execution subject can cluster the point clouds corresponding to the same object through the k-means algorithm to form various point cloud clusters to obtain point cloud clustering data.

[0120] In the seventh step, the number of each point cloud cluster included in the point cloud clustering data is determined as the number of point cloud clusters.

[0121] In step 8, in response to determining that the number of point cloud clusters satisfies the first preset number condition, the preset coefficient value and the obstacle weight coefficient included in the above-mentioned weight coefficients are determined as the obstacle coefficient. Among them, the first preset number condition may be that the number of point cloud clusters is greater than the first preset number. The first preset number may be a preset value. Here, the specific setting of the first preset number is not limited. The preset coefficient value may be a preset value. Here, the specific setting of the preset coefficient value is not limited.

[0122] In a ninth step, in response to determining that the number of the point cloud clusters does not satisfy the first preset number condition, the obstacle weight coefficient included in the weight coefficients is determined as an obstacle coefficient.

[0123] The tenth step is to receive the speed information sent by the target terminal, wherein the speed information may be the average speed that the mobile chassis needs to achieve when moving from the current position to the target position within a preset moving time.

[0124] In step 11, in response to determining that the speed information satisfies the second preset quantity condition, the sum of the preset coefficient value and the speed weight coefficient included in the weight coefficients is determined as the speed coefficient. The second preset quantity condition may be that the speed information is greater than the second preset quantity. The second preset quantity may be a pre-set value. Here, the specific setting of the second preset quantity is not limited.

[0125] In step 12, in response to determining that the speed information does not satisfy the second preset quantity condition, the speed weight coefficient included in the weight coefficients is determined as the speed coefficient.

[0126] In step 13, in response to detecting the position weight coefficient adjustment information sent by the user terminal, the sum of the preset coefficient value and the position weight coefficient included in the above-mentioned weight coefficients is determined as the position coefficient. The above-mentioned position weight coefficient adjustment information may be information for prompting the above-mentioned execution subject to adjust the above-mentioned position weight coefficient. For example, the above-mentioned position weight coefficient adjustment information may be "increase the position weight coefficient".

[0127] In step 14, in response to determining that there is no position weight adjustment information sent by the user terminal, the position weight coefficient included in the above-mentioned weight coefficients is determined as the position coefficient. In practice, when the above-mentioned execution subject does not detect the position weight adjustment information sent by the above-mentioned user terminal within the preset detection time range, it can be determined that there is no position weight adjustment information sent by the above-mentioned user terminal. Among them, the above-mentioned preset detection time range can be within one hour after the above-mentioned obstacle coefficient and the above-mentioned speed coefficient are confirmed.

[0128] Step 15: Based on the position coefficient, the speed coefficient, the obstacle coefficient, the position parameter, the speed parameter and the obstacle parameter, generate the second optimization target information. The second optimization target information may be a formula composed of the position coefficient, the speed coefficient, the obstacle coefficient, the position parameter, the speed parameter and the obstacle parameter. The method for generating the second optimization target information may refer to the specific implementation of step 1019, which will not be described in detail here.

[0129] Step 16: Based on the second optimization target information, the sampling time and the constraints, control the corresponding mobile chassis to move to the target position.

[0130] The above technical solution and its related contents, as an inventive point of the embodiment of the present disclosure, solve the problem of "waste of hardware resources". The factors that lead to the high number of collisions between the mobile chassis and obstacles when moving, and the waste of hardware resources are often as follows: when the above pure tracking algorithm is used to generate the motion path of the mobile chassis, the pure tracking algorithm has poor ability to dynamically adjust the weight coefficient according to different environments, which leads to the poor adaptability of the motion path generated by the above pure tracking algorithm in different environments, which easily leads to the poor flexibility of the mobile chassis when moving in different environments according to the motion path, and easily leads to the high number of collisions between the mobile chassis and obstacles when moving, causing additional hardware wear of the mobile chassis, resulting in waste of hardware resources. If the above factors are solved, the number of collisions between the mobile chassis and obstacles can be reduced, and the waste of hardware resources can be reduced. In order to achieve this effect, the present disclosure first receives the environmental point cloud data sent by the above target terminal. Thus, the point cloud data of the external environment can be obtained. Secondly, the above environmental point cloud data is preprocessed to obtain preprocessed environmental point cloud data. Thus, the above environmental point cloud data can be preprocessed to obtain preprocessed environmental point cloud data. Then, the pre-processed environment point cloud data is subjected to point cloud slicing processing to obtain environment point cloud slicing data. Thus, point cloud data within a preset range can be obtained, the processing of point cloud data outside the range can be reduced, and the processing efficiency can be improved. Then, the environment point cloud slicing data is subjected to voxel filtering processing to obtain environment point cloud filtering data. Thus, the environment point cloud slicing data can be subjected to voxel filtering processing to obtain more accurate point cloud data. Then, the environment point cloud filtering data is subjected to point cloud segmentation processing to obtain point cloud segmentation data. Thus, the point cloud data corresponding to the ground in the environment point cloud filtering data can be separated from the point cloud data corresponding to the obstacles on the ground. Then, the point cloud segmentation data is subjected to point cloud clustering processing to obtain point cloud clustering data, wherein the point cloud clustering data includes each point cloud cluster. Thus, the point cloud data corresponding to the same obstacle can be clustered together. Then, the number of each point cloud cluster included in the point cloud clustering data is determined as the number of point cloud clusters. Thus, the number of obstacles on the ground can be obtained by the number of each point cloud cluster. Then, in response to determining that the number of point cloud clusters meets the first preset number condition, the preset coefficient value and the obstacle weight coefficient included in the above-mentioned various weight coefficients are determined as the obstacle coefficient. Thus, when the number of obstacles is large, the weight coefficient corresponding to the obstacle can be increased, and obstacles can be better avoided when controlling the mobile chassis to move, reducing the number of collisions with obstacles. Then, in response to determining that the number of point cloud clusters does not meet the first preset number condition, the obstacle weight coefficient included in the above-mentioned various weight coefficients is determined as the obstacle coefficient. Then, the speed information sent by the above-mentioned target terminal is received. Thus, the average speed of the mobile chassis when moving can be obtained.Then, in response to determining that the speed information meets the second preset quantity condition, the sum of the preset coefficient value and the speed weight coefficient included in the above-mentioned weight coefficients is determined as the speed coefficient. Thus, when the speed is large, the weight coefficient corresponding to the speed can be increased, thereby enhancing the stability of the mobile chassis when moving at high speed. Then, in response to determining that the speed information does not meet the second preset quantity condition, the speed weight coefficient included in the above-mentioned weight coefficients is determined as the speed coefficient. Then, in response to detecting the position weight coefficient adjustment information sent by the above-mentioned user terminal, the sum of the preset coefficient value and the position weight coefficient included in the above-mentioned weight coefficients is determined as the position coefficient. Thus, after receiving the position weight coefficient adjustment information sent by the user terminal, the weight coefficient corresponding to the position can be increased, thereby reducing the error between the last position and the target position reached by the mobile chassis when moving in a complex path. Then, in response to determining that there is no position weight coefficient adjustment information sent by the above-mentioned user terminal, the position weight coefficient included in the above-mentioned weight coefficients is determined as the position coefficient. Then, based on the above-mentioned position coefficient, the above-mentioned speed coefficient, the above-mentioned obstacle coefficient, the above-mentioned position parameter, the above-mentioned speed parameter and the above-mentioned obstacle parameter, the second optimization target information is generated. Finally, based on the second optimization target information, the sampling time and the constraint conditions, the corresponding mobile chassis is controlled to move to the target position. Also, because the number of obstacles can be detected through the point cloud data of the external environment of the mobile chassis, and the weight coefficient corresponding to the obstacle is increased when there are many obstacles, the number of collisions between the mobile chassis and obstacles in a complex environment can be reduced, and the additional hardware wear of the mobile chassis can be reduced, thereby reducing the number of hardware replacements of the mobile device and reducing the waste of hardware resources.

[0131] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the mobile chassis control method of some embodiments of the present disclosure, the number of times the mobile chassis undergoes sharp speed changes can be reduced, the number of collisions between the mobile chassis and obstacles can be reduced, and the waste of hardware resources can be reduced. Specifically, the reason for the waste of hardware resources is that the motion path generated by the pure tracking algorithm easily causes the mobile device to undergo sharp speed changes such as sharp turns, and the obstacle avoidance ability is poor, resulting in a large number of collisions between the mobile chassis and obstacles, which easily causes additional hardware wear of the mobile device, shortens the service life of the hardware, and further causes frequent hardware replacement of the mobile device, resulting in a waste of hardware resources. Based on this, the mobile chassis control method of some embodiments of the present disclosure, first, in response to receiving the acceleration information sequence sent by the user terminal, performs the following steps: first, based on the preset initial speed data, the preset sampling time and the above acceleration information sequence, a speed data sequence is generated. Thus, the speed of the mobile chassis during each sampling time can be obtained. Secondly, based on the above speed data sequence, the above sampling time and the preset initial position coordinate data, a position coordinate sequence is generated. Thus, the position coordinate sequence of the mobile chassis during movement can be obtained. Then, the position coordinates satisfying the preset position conditions in the position coordinate sequence are determined as predicted position coordinates. Thus, the coordinates corresponding to the position where the mobile chassis moves last can be obtained. Then, based on the preset target position coordinates and the predicted position coordinates, position parameters are generated. Thus, the error between the coordinates of the final position of the mobile chassis and the preset position coordinates can be obtained. Then, based on the speed data sequence, speed parameters are generated. Thus, speed parameters can be obtained. Then, the external environment point cloud data sent by the target terminal is received. Thus, point cloud data corresponding to the external environment can be obtained, and obstacles can be detected through the external environment point cloud data. Then, obstacle detection is performed on the external environment point cloud data to obtain an obstacle detection result. Thus, when an obstacle exists, the position of the obstacle can be obtained. Then, in response to determining that the obstacle detection result satisfies the preset detection condition, obstacle parameters are generated based on the obstacle detection result and the position coordinate sequence. Thus, the parameters of the obstacle can be obtained. Then, based on the position parameter, the speed parameter, the obstacle parameter and each preset weight coefficient, the first optimization target information is generated. Thus, the first optimization target information can be obtained. Finally, based on the first optimization target information, the preset control cycle and the preset constraint conditions, the corresponding mobile chassis is controlled to move to the target position. Thus, the speed and acceleration of the mobile chassis during movement can be constrained by the constraint conditions, thereby reducing the number of times the mobile chassis undergoes abrupt speed changes.Because the point cloud data of the external environment can be used to detect obstacles in the external environment, more accurate detection results can be obtained, and obstacles can be better avoided through the obstacle detection results, thus reducing the number of collisions between the mobile chassis and obstacles and reducing additional hardware wear on mobile devices. Also, because the speed and acceleration of the mobile chassis can be constrained by introducing constraints, the number of sharp speed changes such as sharp turns of the mobile device can be reduced, reducing additional hardware wear on the mobile device, thereby reducing the number of hardware replacements of the mobile device and reducing hardware resource waste.

[0132] Further references Figure 2 As an implementation of the methods shown in the above figures, the present disclosure provides some embodiments of a mobile chassis control device, and these device embodiments are Figure 1 Corresponding to the method embodiments shown, the device can be specifically applied to various electronic devices.

[0133] like Figure 2 As shown, the mobile chassis control device 200 of some embodiments includes: an execution unit 201. The execution unit 201 is configured to execute the following steps in response to receiving an acceleration information sequence sent by a user terminal: generating a speed data sequence based on preset initial speed data, preset sampling time and the acceleration information sequence; generating a position coordinate sequence based on the speed data sequence, the sampling time and preset initial position coordinate data; determining the position coordinates in the position coordinate sequence that meet the preset position conditions as predicted position coordinates; generating position parameters based on the preset target position coordinates and the predicted position coordinates; generating speed parameters based on the speed data sequence; receiving external environment point cloud data sent by a target terminal; performing obstacle detection on the external environment point cloud data to obtain an obstacle detection result; generating obstacle parameters based on the obstacle detection result and the position coordinate sequence in response to determining that the obstacle detection result meets the preset detection condition; generating first optimization target information based on the position parameter, the speed parameter, the obstacle parameter and preset weight coefficients; and controlling the corresponding mobile chassis to move to the target position based on the first optimization target information, a preset control cycle and preset constraints.

[0134] It is understood that the units described in the device 200 are similar to those described in the reference Figure 1 Therefore, the operations, features and beneficial effects described above for the method are also applicable to the device 200 and the units included therein, and will not be described in detail here.

[0135] Reference below Figure 3 , which shows a structural schematic diagram of an electronic device 300 suitable for implementing some embodiments of the present disclosure. Figure 3 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0136] like Figure 3 As shown, the electronic device 300 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 301, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 302 or a program loaded from a storage device 308 into a random access memory (RAM) 303. In the RAM 303, various programs and data required for the operation of the electronic device 300 are also stored. The processing device 301, the ROM 302, and the RAM 303 are connected to each other via a bus 304. An input / output (I / O) interface 305 is also connected to the bus 304.

[0137] Typically, the following devices may be connected to the I / O interface 305: input devices 306 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 307 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 308 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 309. The communication devices 309 may allow the electronic device 300 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 3 The electronic device 300 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead. Figure 3 Each block shown in the figure may represent one device, or may represent multiple devices as required.

[0138] In particular, according to some embodiments of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, some embodiments of the present disclosure include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In some such embodiments, the computer program can be downloaded and installed from the network through the communication device 309, or installed from the storage device 308, or installed from the ROM 302. When the computer program is executed by the processing device 301, the above-mentioned functions defined in the method of some embodiments of the present disclosure are executed.

[0139] It should be noted that the computer-readable medium recorded in some embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, 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 above. In some embodiments of the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In some embodiments of the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.

[0140] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0141] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device. The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: in response to receiving an acceleration information sequence sent by a user terminal, performs the following steps: generating a speed data sequence based on preset initial speed data, preset sampling time and the acceleration information sequence; generating a position coordinate sequence based on the speed data sequence, the sampling time and preset initial position coordinate data; determining the position coordinates in the position coordinate sequence that meet the preset position conditions as predicted position coordinates; generating position parameters based on the preset target position coordinates and the predicted position coordinates; generating speed parameters based on the speed data sequence; receiving external environment point cloud data sent by a target terminal; performing obstacle detection on the external environment point cloud data to obtain an obstacle detection result; in response to determining that the obstacle detection result meets the preset detection condition, generating obstacle parameters based on the obstacle detection result and the position coordinate sequence; generating first optimization target information based on the position parameter, the speed parameter, the obstacle parameter and preset weight coefficients; and controlling the corresponding mobile chassis to move to the target position based on the first optimization target information, a preset control cycle and preset constraints.

[0142] Computer program code for performing the operations of some embodiments of the present disclosure may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving 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 (e.g., via the Internet using an Internet service provider).

[0143] 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.

[0144] The units described in some embodiments of the present disclosure may be implemented by software or by hardware. The described units may also be provided in a processor, for example, may be described as: a processor includes an execution unit. The names of these units do not constitute a limitation on the units themselves in some cases, for example, the execution unit may also be described as "a unit that executes the following steps in response to receiving an acceleration information sequence sent by a user terminal".

[0145] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of 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 chips (SOCs), complex programmable logic devices (CPLDs), and the like.

[0146] The above descriptions are only some preferred embodiments of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solutions formed by a specific combination of the above-mentioned technical features, but should also cover other technical solutions formed by any combination of the above-mentioned technical features or their equivalent features without departing from the above-mentioned inventive concept. For example, the above-mentioned features are replaced with the technical features with similar functions disclosed in the embodiments of the present disclosure (but not limited to) and the technical solutions formed.

Claims

1. A mobile chassis control method, comprising: In response to receiving the acceleration information sequence sent by the user terminal, the following steps are performed: Generate a velocity data sequence based on preset initial velocity data, preset sampling time and the acceleration information sequence; Generate a position coordinate sequence based on the speed data sequence, the sampling time and the preset initial position coordinate data; Determining the position coordinates in the position coordinate sequence that meet the preset position condition as the predicted position coordinates; Generate position parameters based on the preset target position coordinates and the predicted position coordinates; Based on the speed data sequence, generating speed parameters; Receive external environment point cloud data sent by the target terminal; Performing obstacle detection on the external environment point cloud data to obtain an obstacle detection result; In response to determining that the obstacle detection result satisfies a preset detection condition, generating an obstacle parameter based on the obstacle detection result and the position coordinate sequence; Generate first optimization target information based on the position parameter, the speed parameter, the obstacle parameter and various preset weight coefficients; Based on the first optimization target information, a preset control cycle and preset constraints, the corresponding mobile chassis is controlled to move to the target position.

2. The method according to claim 1, wherein: The generating of the velocity data sequence based on the preset initial velocity data, the preset sampling time and the acceleration information sequence comprises: Determine the initial velocity data as the velocity data to be processed, wherein the velocity data to be processed includes the abscissa velocity data to be processed, the ordinate velocity data to be processed and the angular velocity data to be processed; For each piece of acceleration information in the acceleration information sequence, the following steps are performed: Generate velocity data based on the abscissa velocity data to be processed, the ordinate velocity data to be processed and the angular velocity data to be processed, the sampling time and the acceleration information included in the velocity data to be processed; storing the speed data into a speed data sequence to update the speed data sequence; Determine the speed data as the speed data to be processed, so as to update the speed data to be processed; The updated speed data sequence is determined as the speed data sequence.

3. The method according to claim 2, wherein: Each acceleration information in the acceleration information sequence includes abscissa acceleration information, ordinate acceleration information and rotation angle acceleration information; and generating velocity data based on the abscissa velocity data to be processed, the ordinate velocity data to be processed and the angular velocity data to be processed, the sampling time and the acceleration information, including: Determine the product of the horizontal coordinate acceleration information in the acceleration information and the sampling time as horizontal coordinate velocity change data; Determine the sum of the to-be-processed abscissa velocity data included in the to-be-processed velocity data and the abscissa velocity change data as the abscissa velocity data; Determine the product of the vertical coordinate acceleration information in the acceleration information and the sampling time as the vertical coordinate velocity change data; Determine the sum of the to-be-processed ordinate speed data included in the to-be-processed speed data and the ordinate speed change data as the ordinate speed data; Determine the product of the rotation angle acceleration information in the acceleration information and the sampling time as the rotation angle speed change data; Determine the sum of the angular velocity data to be processed included in the velocity data to be processed and the rotation angle velocity change data as angular velocity data; The horizontal coordinate velocity data, the vertical coordinate velocity data and the angular velocity data are integrated to obtain velocity data.

4. The method according to claim 1, wherein: The generating of the position coordinate sequence based on the speed data sequence, the sampling time and the preset initial position coordinate data comprises: Determining the initial position coordinate data as the position coordinate data to be processed, wherein the position coordinate data to be processed includes horizontal coordinate data to be processed, vertical coordinate data to be processed, and rotation angle data to be processed; For each speed data in the speed data sequence, the following steps are performed: In response to determining that the angular velocity data included in the velocity data satisfies a preset velocity condition, performing the following steps: Generate position coordinate data based on the horizontal coordinate data to be processed, the vertical coordinate data to be processed and the rotation angle data to be processed, the sampling time and the speed data included in the position coordinate data to be processed; storing the position coordinate data into a position coordinate data sequence to update the position coordinate data sequence; Determining the position coordinate data as the position coordinate data to be processed, so as to update the position coordinate data to be processed; The updated position coordinate data sequence is determined as a position coordinate sequence.

5. The method according to claim 4, wherein: The generating of the position coordinate data based on the horizontal coordinate data to be processed, the vertical coordinate data to be processed and the rotation angle data to be processed, the sampling time and the speed data included in the position coordinate data to be processed comprises: Determine the cosine value of the to-be-processed rotation angle data included in the to-be-processed position coordinate data as the rotation angle cosine value; Determine the sine value of the rotation angle data to be processed included in the position coordinate data to be processed as the rotation angle sine value; Determine the product of the abscissa velocity data included in the velocity data and the cosine value of the rotation angle as abscissa cosine data; Determine the product of the ordinate velocity data included in the velocity data and the sine value of the rotation angle as ordinate sine data; Determine the difference between the abscissa cosine data and the ordinate sine data as abscissa velocity component data; Determine the product of the horizontal coordinate velocity component data and the sampling time as the horizontal coordinate displacement data; Determine the sum of the horizontal coordinate displacement data and the horizontal coordinate data to be processed included in the position coordinate data to be processed as the horizontal coordinate data; Determine the product of the abscissa velocity data included in the velocity data and the sine value of the rotation angle as abscissa sine data; Determine the product of the ordinate velocity data included in the velocity data and the cosine value of the rotation angle as ordinate cosine data; Determine the sum of the abscissa sine data and the ordinate cosine data as ordinate velocity component data; Determine the product of the ordinate velocity component data and the sampling time as ordinate displacement data; Determine the sum of the longitudinal coordinate displacement data and the longitudinal coordinate data to be processed included in the position coordinate data to be processed as the longitudinal coordinate data; Determining the to-be-processed rotation angle data included in the to-be-processed position coordinate data as rotation angle data; The horizontal coordinate data, the vertical coordinate data and the rotation angle data are integrated to obtain position coordinate data.

6. The method according to claim 1, wherein: The generating obstacle parameters based on the obstacle detection result and the position coordinate sequence includes: Based on the obstacle detection result, determine obstacle position coordinate data, wherein the obstacle position coordinates include obstacle horizontal coordinate data and obstacle vertical coordinate data; For each position coordinate in the position coordinate sequence, perform the following steps: Determine the difference between the horizontal coordinate data included in the position coordinates and the obstacle horizontal coordinate data included in the obstacle position coordinate data as horizontal coordinate difference data; Determine the square of the abscissa difference data as abscissa square data; Determine the difference between the ordinate data included in the position coordinates and the obstacle ordinate data included in the obstacle position coordinate data as ordinate difference data; Determine the square of the ordinate difference data as the ordinate square data; Determine the sum of the abscissa square data and the ordinate square data as coordinate square data; Determine the reciprocal of the coordinate square data as coordinate reciprocal data; The sum of the determined reciprocal data of each coordinate is determined as the obstacle parameter.

7. The method according to claim 1, wherein: The controlling the corresponding mobile chassis to move to the target position based on the first optimization target information, the preset control cycle and the preset constraint condition includes: Constructing nonlinear optimization information based on the first optimization target information and preset constraints; Based on the nonlinear optimization information, the following loop steps are performed: Based on the nonlinear optimization information, a target acceleration information sequence is generated, wherein each target acceleration information in the target acceleration information sequence includes a target horizontal coordinate acceleration, a target vertical coordinate acceleration and a target rotation angle acceleration; Determining the target acceleration information satisfying the preset processing condition in the target acceleration information sequence as the acceleration information to be processed; Generate speed data to be sent based on the initial speed data, the acceleration information to be processed and a preset control period; Sending the speed data to be sent to the target terminal to control the mobile chassis to move; In response to receiving the actual speed data and the actual position coordinate data sent by the target terminal, the following steps are performed: Determining the actual speed data as initial speed data to update the initial speed data; Determining the actual position coordinate data as the initial position coordinate data to update the initial position coordinate data; Determining the target acceleration information sequence as the acceleration information sequence to update the acceleration information sequence; In response to determining that the updated initial position coordinate data satisfies a preset loop condition, the following steps are performed: Based on the updated initial velocity data, the updated initial position coordinate data and the updated acceleration information sequence, nonlinear optimization information is generated to update the nonlinear optimization information; Executing the loop step again using the updated nonlinear optimization information; In response to determining that the updated initial position coordinate data does not satisfy the preset cycle condition, the preset stop movement speed data is sent to the target terminal.

8. A mobile chassis control device, comprising: The execution unit is configured to, in response to receiving the acceleration information sequence sent by the user terminal, perform the following steps: generate a speed data sequence based on preset initial speed data, preset sampling time and the acceleration information sequence; generate a position coordinate sequence based on the speed data sequence, the sampling time and preset initial position coordinate data; determine the position coordinates in the position coordinate sequence that meet the preset position condition as the predicted position coordinates; Generate position parameters based on the preset target position coordinates and the predicted position coordinates; Based on the speed data sequence, generating speed parameters; Receive external environment point cloud data sent by the target terminal; Performing obstacle detection on the external environment point cloud data to obtain an obstacle detection result; In response to determining that the obstacle detection result satisfies a preset detection condition, generating an obstacle parameter based on the obstacle detection result and the position coordinate sequence; Generate first optimization target information based on the position parameter, the speed parameter, the obstacle parameter and various preset weight coefficients; Based on the first optimization target information, a preset control cycle and preset constraints, the corresponding mobile chassis is controlled to move to the target position.

9. An electronic device, comprising: one or more processors; a storage device having one or more programs stored thereon; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 7.

10. A computer readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.