Control method and device of movable platform, movable platform and storage medium
By introducing a predetermined mode into the movable platform, users can lock in higher-order motion parameters of the platform and gimbal, solving the problem that users need to operate continuously when controlling the movable platform, and improving user experience and control effects.
Patent Information
- Application Number
- CN202080029321.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-03-23
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2040-03-23
AI Technical Summary
In the prior art, when users control movable platforms such as drones, they need to continuously and stably operate the rocker, plug or button, resulting in user fatigue. Especially for novice users, it is difficult to achieve a smooth mirror-moving effect.
By introducing a predetermined mode into the movable platform, the user can input the movable platform control amount and the gimbal control amount to lock the speed, acceleration of the platform and the speed and acceleration of the gimbal, thereby achieving higher-order motion parameter locking control.
In the predetermined mode, not only more complex motion control can be achieved, but the continuous operation demand for the control device is reduced and the user experience is improved, especially for application scenarios where smoothing mirrors are needed.
Smart Images

Figure CN113692560B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of mobile platforms, and in particular to a control method and device for a mobile platform, a mobile platform, and a storage medium. Background Art
[0002] In the prior art, users can control a mobile platform such as a drone through a control device. During specific operations, users need to continuously and stably control the joystick, dial or button on the control device, which may cause user fatigue or make it difficult for novice users to continuously and stably control the joystick, dial or button. In order to solve this problem, the prior art adds a cruise control function to drones. For example, when a drone enters a cruise control state, the drone can fly at a fixed speed.
[0003] However, currently users can only lock the speed of the drone, and cannot perform higher-level locking control on the drone. This results in a single control effect that the drone can achieve in the cruise state. If users need to achieve a smooth camera movement effect, they still need to continue to operate accurately manually. Summary of the invention
[0004] The embodiments of the present application provide a control method, device, mobile platform and storage medium for a movable platform, so as to realize locking control of higher-order motion parameters of the movable platform, thereby diversifying the control effects that can be realized by the movable platform. When the user needs to achieve a smooth camera movement effect, by locking the pan / tilt, the user does not need to continuously and accurately operate the operating elements on the control device, thereby improving the user experience.
[0005] A first aspect of an embodiment of the present application is to provide a control method for a movable platform, wherein the movable platform is provided with a pan / tilt platform, and the method comprises:
[0006] When the movable platform enters a predetermined mode, a movable platform control amount and a pan / tilt control amount are acquired, wherein the movable platform control amount and the pan / tilt control amount are input by a user through a control device of the movable platform, the movable platform control amount is used to lock the speed and / or acceleration of the movable platform, and the pan / tilt control amount is used to lock the speed and / or acceleration of the pan / tilt;
[0007] The movable platform is controlled to move in the predetermined mode according to the movable platform control amount, and the pan-tilt head is controlled to move in the predetermined mode according to the pan-tilt head control amount.
[0008] A second aspect of an embodiment of the present application is to provide a control device for a movable platform, comprising: a memory and a processor;
[0009] The memory is used to store program code;
[0010] The processor calls the program code, and when the program code is executed, is used to perform the following operations:
[0011] When the movable platform enters a predetermined mode, a movable platform control amount and a pan / tilt control amount are acquired, wherein the movable platform control amount and the pan / tilt control amount are input by a user through a control device of the movable platform, the movable platform control amount is used to lock the speed and / or acceleration of the movable platform, and the pan / tilt control amount is used to lock the speed and / or acceleration of the pan / tilt;
[0012] The movable platform is controlled to move in the predetermined mode according to the movable platform control amount, and the pan-tilt head is controlled to move in the predetermined mode according to the pan-tilt head control amount.
[0013] A third aspect of the embodiments of the present application is to provide a movable platform, including:
[0014] body;
[0015] A power system, installed on the fuselage, for providing movement power;
[0016] And the control device described in the second aspect.
[0017] A fourth aspect of the embodiments of the present application is to provide a computer-readable storage medium on which a computer program is stored, and the computer program is executed by a processor to implement the method described in the first aspect.
[0018] The control method, device, mobile platform and storage medium of the movable platform provided in this embodiment obtain the movable platform control amount and the pan / tilt control amount when the movable platform enters the predetermined mode, and control the movable platform to move in the predetermined mode according to the movable platform control amount, and control the pan / tilt to move in the predetermined mode according to the pan / tilt control amount. That is to say, in the predetermined mode, not only the speed of the movable platform can be locked, but also the higher-order motion parameters of the movable platform can be locked and controlled. For example, the acceleration of the movable platform and the pan / tilt set on the movable platform can be locked and controlled, so that the control effect that can be achieved by the movable platform is diversified. When the user needs to achieve a smooth camera movement effect, there is no need to continuously and accurately operate the operating elements on the control device, thereby improving the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following is a brief introduction to the drawings required for use in the description of the embodiments. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0020] Figure 1 A schematic diagram of an application scenario provided in an embodiment of the present application;
[0021] Figure 2 A flow chart of a control method for a movable platform provided in an embodiment of the present application;
[0022] Figure 3 A schematic diagram of the corresponding relationship between the user's stick operation mode of the left joystick and the right joystick and the movement mode of the drone provided in an embodiment of the present application;
[0023] Figure 4 A flowchart of a control method for a movable platform provided in another embodiment of the present application;
[0024] Figure 5 A flowchart of a control method for a movable platform provided in another embodiment of the present application;
[0025] Figure 6 A flowchart of a control method for a movable platform provided in another embodiment of the present application;
[0026] Figure 7 A schematic diagram of a predicted trajectory provided in an embodiment of the present application;
[0027] Figure 8 A schematic diagram of a target trajectory provided in an embodiment of the present application;
[0028] Fig. 9 A structural diagram of a control device for a movable platform provided in an embodiment of the present application.
[0029] Reference numerals:
[0030] 10: drone; 101: filming device; 102: supporting equipment;
[0031] 103: communication module; 104: flight controller; 11: control device;
[0032] 30: predicted trajectory; 31: dotted box; 40: obstacle;
[0033] 41: Obstacle; 42: Obstacle; 43: Obstacle;
[0034] 44: obstacle; 45: obstacle; 46: target trajectory;
[0035] 90: control device; 91: memory; 92: processor;
[0036] 93: Communication interface. DETAILED DESCRIPTION
[0037] The following will be combined with the drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0038] It should be noted that when a component is said to be "fixed to" another component, it can be directly on the other component or there can be a central component. When a component is said to be "connected to" another component, it can be directly connected to the other component or there can be a central component at the same time.
[0039] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The term "and / or" used herein includes any and all combinations of one or more of the related listed items.
[0040] In conjunction with the accompanying drawings, some embodiments of the present application are described in detail below. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.
[0041] The present application embodiment provides a control method for a movable platform. The movable platform is provided with a pan / tilt platform. In the present application embodiment, the movable platform may be a movable device such as a drone or a mobile robot. The following is a schematic description using a drone as an example. Figure 1 As shown, the drone 10 is equipped with a shooting device 101. Specifically, the shooting device 101 is mounted on the body of the drone 10 through a supporting device 102. The supporting device 102 can be a gimbal. The shooting device 101 is used to capture images or record videos during the movement of the drone. In addition, the user can control the flight of the drone through a ground control device 11. In the embodiment of the present application, the control method of the movable platform can be executed on the movable platform or on the control device of the movable platform. The following is an example of execution on the movable platform.
[0042] Figure 2 Flow chart of the control method of the mobile platform provided in the embodiment of the present application. Figure 2 As shown, the method in this embodiment may include:
[0043] S201. When the movable platform enters a predetermined mode, a movable platform control amount and a gimbal control amount are obtained, wherein the movable platform control amount and the gimbal control amount are input by a user through a control device of the movable platform, the movable platform control amount is used to lock the speed and / or acceleration of the movable platform, and the gimbal control amount is used to lock the speed and / or acceleration of the gimbal.
[0044] The movable platform control amount and the pan / tilt control amount are input by the user through the control device of the movable platform, and the above input methods include but are not limited to the following two forms:
[0045] Inputting the movable platform control amount and the pan / tilt control amount through a user interaction interface of a control device of the movable platform; or
[0046] The movable platform control amount and the pan / tilt head control amount are inputted through the operating elements (such as a joystick or a thumbwheel) of the movable platform control device.
[0047] Normally, in the cruise control mode, the speed (e.g., linear speed) of the drone can be locked, so that the drone flies in a straight line at a fixed speed (e.g., linear speed). Compared with the cruise control mode, in the predetermined mode of this embodiment, not only the speed of the drone can be locked, but also higher-order motion parameters can be locked and controlled. The higher-order motion parameters can include not only the motion parameters of the drone, such as the acceleration of the drone. In addition, the higher-order motion parameters can also include the motion parameters of the gimbal, such as the speed and / or acceleration of the gimbal.
[0048] Optionally, the speed of the movable platform includes at least one of the following: a linear speed of the movable platform, an angular speed of the movable platform.
[0049] For example, the speed of the drone includes at least one of the linear speed and the angular speed of the drone. That is, in this predetermined mode, at least one of the linear speed and the angular speed of the drone can be locked.
[0050] Optionally, the acceleration of the movable platform includes at least one of the following: a linear acceleration of the movable platform, and an angular acceleration of the movable platform.
[0051] For example, the acceleration of the drone includes at least one of the linear acceleration and angular acceleration of the drone. That is, in this predetermined mode, when the higher-order motion parameters of the drone are locked and controlled, at least one of the linear acceleration and angular acceleration of the drone can be locked.
[0052] Optionally, the speed of the gimbal includes an angular velocity of the gimbal. Optionally, the acceleration of the gimbal includes an angular acceleration of the gimbal.
[0053] For example, when the gimbal of the drone is locked and controlled, the speed and / or acceleration of the gimbal may be locked and controlled. The speed of the gimbal includes the attitude angular velocity of the gimbal. The acceleration of the gimbal includes the attitude angular acceleration of the gimbal.
[0054] In the embodiments of the present application, Figure 1 The control device 11 shown can be a remote controller (for example, a remote controller with a screen), a mobile phone, a tablet computer, a laptop computer, or other devices that communicate with the drone. The remote controller is used as an example for schematic description. Specifically, the remote controller can be provided with operating elements for user operation, such as a joystick, a dial, or a button. Among them, the joystick can be used to control the drone, and the dial can be used to control the gimbal. The remote controller can generate a drone control amount according to the user's operation on the joystick, and generate a gimbal control amount according to the user's operation on the dial. When the drone enters a predetermined mode, the drone can obtain the drone control amount and the gimbal control amount from the remote controller. For example, the remote controller sends the drone control amount and the gimbal control amount to the drone 10. Among them, the drone control amount can be used to control the speed and / or acceleration of the drone, and the gimbal control amount can be used to control the speed and / or acceleration of the gimbal.
[0055] It is understandable that the operating elements provided on the remote controller for user operation are not limited to joysticks, dials or buttons, and may be icons or virtual buttons displayed on the remote controller screen, for example. In addition, the support device 102 may be equipped with not only a shooting device, but also a distance sensor (e.g., a laser radar), a searchlight, and other devices.
[0056] S202: Control the movable platform to move in the predetermined mode according to the movable platform control amount, and control the pan-tilt platform to move in the predetermined mode according to the pan-tilt platform control amount.
[0057] like Figure 1 As shown, the drone 10 is provided with a communication module 103 and a flight controller 104. After the flight controller 104 receives the drone control amount and the gimbal control amount from the remote controller through the communication module 103, it generates a drone control instruction for controlling the drone according to the drone control amount, and generates a gimbal control instruction for controlling the gimbal according to the gimbal control amount. Further, the flight controller 104 controls the speed and / or acceleration of the drone in the predetermined mode according to the drone control instruction, and controls the speed and / or acceleration of the gimbal in the predetermined mode according to the gimbal control instruction.
[0058] In some scenarios, the remote controller may also generate a drone control instruction for controlling the drone according to the drone control amount, and generate a gimbal control instruction for controlling the gimbal according to the gimbal control amount. Further, the remote controller sends the drone control instruction and the gimbal control instruction to the drone 10, so that the flight controller 104 can control the speed and / or acceleration of the drone in the predetermined mode according to the drone control instruction, and control the speed and / or acceleration of the gimbal in the predetermined mode according to the gimbal control instruction.
[0059] For example, the remote controller is provided with a left joystick and a right joystick. The corresponding relationship between the user's control mode of the left joystick and the right joystick and the movement mode of the drone can be as follows: Figure 3 For example, when the user pushes the left stick up, the drone goes up. When the user pushes the left stick down, the drone goes down. When the user pushes the left stick left, the drone turns left. When the user pushes the left stick right, the drone turns right. When the user pushes the right stick up, the drone flies forward. When the user pushes the right stick down, the drone flies backward. When the user pushes the right stick left, the drone pans to the left. When the user pushes the right stick right, the drone pans to the right.
[0060] In the predetermined mode, not only the speed of the drone can be locked, but also the acceleration of the drone and / or the gimbal of the drone can be locked. In this way, the drone can move with uniform acceleration and uniform deceleration, and the gimbal of the drone can move with uniform speed, uniform acceleration, and uniform deceleration. In addition, the motion parameters that are locked at the same time can be combined in a variety of ways. For example, the linear acceleration of the drone and the attitude angular velocity of the gimbal can be locked at the same time, and the linear velocity of the drone and the attitude angular acceleration of the gimbal can be locked at the same time.
[0061] The following is an example of locking the linear velocity and angular velocity of the drone at the same time. Figure 3 As shown, the user pushes the right joystick upward, and the remote controller generates a first control amount for controlling the drone to fly forward according to the user's operation of pushing the right joystick upward, and locks the first control amount. The first control amount can control the linear velocity of the drone flying forward. Further, the user pushes the left joystick to the right, and the remote controller generates a second control amount for controlling the drone to turn right according to the user's operation of pushing the left joystick to the right, and locks the second control amount. The second control amount can control the angular velocity of the drone turning to the right. The drone controls the drone to turn right on the basis of flying forward according to the locked first control amount and second control amount, so that the flight trajectory of the drone is an arc.
[0062] This embodiment obtains the movable platform control amount and the pan / tilt control amount when the movable platform enters the predetermined mode, and controls the movable platform to move in the predetermined mode according to the movable platform control amount, and controls the pan / tilt to move in the predetermined mode according to the pan / tilt control amount. That is to say, in the predetermined mode, not only the speed of the movable platform can be locked, but also the higher-order motion parameters of the movable platform can be locked and controlled. For example, the acceleration of the movable platform and the pan / tilt set on the movable platform can be locked and controlled, so that the control effect that can be achieved by the movable platform is diversified. When the user needs to achieve a smooth camera movement effect, there is no need to continuously and accurately operate the operating elements on the control device, thereby improving the user experience.
[0063] An embodiment of the present application provides a control method for a movable platform. Figure 4 This is a flow chart of a control method for a mobile platform provided by another embodiment of the present application. Figure 4 It is shown that, based on the above embodiment, the method in this embodiment may further include:
[0064] S401: Acquire a predetermined instruction, where the predetermined instruction is generated according to a first operation of a user on a control device of the mobile platform.
[0065] For example, when a user performs a first operation on a control device, the control device may generate a predetermined instruction according to the first operation, and the predetermined instruction may be used to control the drone to enter a predetermined mode.
[0066] Optionally, the first operation includes operating a predetermined key of the control device.
[0067] For example, the control device is a remote controller, which may be a remote controller with a screen, and a user interface is displayed on the screen of the remote controller with a screen, through which the user can control the drone to enter the Advanced Pilot Assistance System (APAS) function. Alternatively, the user controls the drone to enter the free mode in the smart eye mode through the user interface, and the smart eye mode may be a unified entrance to the free mode, the follow mode, and the surround mode.
[0068] Further, under the APAS function or in free mode, the user can operate a predetermined button on the remote control, and the operation is recorded as the first operation. The predetermined button can control the drone to enter a predetermined mode. The predetermined button can be a physical button or a virtual button displayed on the remote control screen. For example, the predetermined buttons include the C1 key and the C2 key. The C1 key can be used to lock the drone control amount, and the C2 key is used to lock the gimbal control amount. Alternatively, the C1 key can be used to lock the speed of the drone and / or the gimbal, and the C2 key is used to lock the acceleration of the drone and / or the gimbal.
[0069] S402: According to the predetermined instruction, control the movable platform to enter the predetermined mode.
[0070] When the flight controller 104 receives the predetermined instruction, it controls the drone to enter a predetermined mode according to the predetermined instruction.
[0071] In addition, before obtaining the predetermined instruction, the method further includes: when the second operation of the user on the control device meets a preset condition, generating first prompt information, wherein the first prompt information is used to prompt the user to perform the first operation on the control device.
[0072] For example, before the user performs a first operation on the remote control, the user can also perform a second operation on the remote control. When the user's second operation on the remote control meets a preset condition, the remote control can generate a first prompt message, and the first prompt message is used to prompt the user to perform the first operation on the remote control as described above, thereby controlling the drone to enter a predetermined mode.
[0073] Optionally, the second operation includes operating a first component or a second component of the control device, the first component is used to control the movable platform, and the second component is used to control the gimbal. Optionally, the second operation satisfies a preset condition, including: an operation time of the second operation is greater than or equal to a first preset time. Optionally, the first component includes a joystick, and the second component includes a gimbal dial.
[0074] For example, before the user operates a predetermined button on the remote controller, the user may operate the joystick or the gimbal dial on the remote controller. For example, the user controls the drone by operating the joystick and controls the gimbal by operating the gimbal dial. When the remote controller detects that the user continues to operate the joystick or the gimbal dial for a time greater than or equal to a first preset time, such as 2 seconds, the remote controller may generate a first prompt message. The specific prompt method may not be specifically limited. For example, the remote controller may display the first prompt message on its screen. The first prompt message may prompt the user to click a predetermined button to control the drone to enter a predetermined mode. Further, the user operates the C1 key or the C2 key according to the first prompt message, and the remote controller or the drone may lock the drone control amount and / or the gimbal control amount according to the operation.
[0075] This embodiment controls the movable platform to enter the predetermined mode by the user operating the predetermined button of the control device, thereby improving the convenience of the user controlling the movable platform to enter the predetermined mode. In addition, when the user continuously operates the joystick or the pan / tilt dial on the control device for a time greater than or equal to the first preset time, the first prompt information generated by the control device can prompt the user to operate the predetermined button to control the movable platform to enter the predetermined mode, so that the user does not need to continuously and accurately operate the operating elements on the control device, further improving the user experience.
[0076] Optionally, the user can also control the movable platform to enter the predetermined mode in other ways, such as controlling the movable platform to enter the predetermined mode through virtual buttons on the user interaction interface, and can input the movable platform control amount and gimbal control amount of the movable platform in the predetermined mode through the user interaction interface.
[0077] Optionally, when the movable platform enters a predetermined mode, obtaining the movable platform control amount and the pan-tilt control amount includes: when the movable platform enters a predetermined mode, obtaining the movable platform control amount and the pan-tilt control amount when the movable platform enters the predetermined mode.
[0078] For example, when the user performs the first operation on the remote control as described above, that is, operates a predetermined button on the remote control, the drone control amount locked by the remote control is the drone control amount at the moment of the operation, and the gimbal control amount locked by the remote control is the gimbal control amount at the moment of the operation.
[0079] Optionally, when the movable platform enters a predetermined mode, obtaining the movable platform control amount and the gimbal control amount includes: when the movable platform enters a predetermined mode, obtaining the movable platform control amount and the gimbal control amount within a second preset time before the movable platform enters the predetermined mode.
[0080] For example, the drone control amount and the gimbal control amount locked when the drone enters the predetermined mode may be the drone control amount and the gimbal control amount within the second preset time before the drone enters the predetermined mode, such as 5 seconds. For example, within 5 seconds before the drone enters the predetermined mode, the drone control amount is used to control the drone to uniformly accelerate. For example, within the 5 seconds, the linear speed of the drone is 1m / s, 2m / s, and 3m / s. In addition, within the 5 seconds, the gimbal control amount controls the gimbal to uniformly raise its head from the overlooking state to the forward-looking state. When the drone enters the predetermined mode, the drone control amount and the gimbal control amount within the 5 seconds are locked, so that after the drone enters the predetermined mode, the drone and the gimbal can repeat the movement within the 5 seconds. That is to say, after the drone enters the predetermined mode, the drone control amount and the gimbal control amount within the 5 seconds can be replayed, so that the user does not need to continuously and accurately operate the operating elements on the control device, further improving the user experience.
[0081] Optionally, when the movable platform enters a predetermined mode, the movable platform control amount and the pan / tilt control amount are obtained, including: Figure 5 The following steps are shown:
[0082] S501. When the movable platform enters a predetermined mode, a first control variable for controlling the movable platform and a second control variable for controlling the pan / tilt head are locked.
[0083] For example, when the drone enters a predetermined mode, a first control amount for controlling the drone and a second control amount for controlling the gimbal are locked.
[0084] S502. When the movable platform is controlled to move in the predetermined mode according to the first control amount, and the gimbal is controlled to move in the predetermined mode according to the second control amount, a third control amount for controlling the movable platform and a fourth control amount for controlling the gimbal are obtained.
[0085] In the process of locking control according to the first control amount and the second control amount, the user may operate the joystick and / or the gimbal dial again, so that the drone control amount and / or the gimbal control amount change. For example, in the process of locking control, a third control amount for controlling the drone and a fourth control amount for controlling the gimbal are obtained, the third control amount may be a change in the drone control amount, and the fourth control amount may be a change in the gimbal control amount.
[0086] Optionally, the obtaining of a third control quantity for controlling the movable platform and a fourth control quantity for controlling the gimbal includes: obtaining the third control quantity for controlling the movable platform according to a third operation of the user on the first component; and obtaining the fourth control quantity for controlling the gimbal according to a fourth operation of the user on the second component.
[0087] For example, during the process of locking control, the user's operation on the joystick is recorded as the third operation, and the control amount generated by the remote control according to the third operation is recorded as the third control amount. During the process of locking control, the user's operation on the pan / tilt wheel is recorded as the fourth operation, and the control amount generated by the remote control according to the fourth operation is recorded as the fourth control amount.
[0088] S503: Determine the control amount of the movable platform according to the first control amount and the third control amount.
[0089] For example, the third control amount is superimposed on the first control amount to obtain the drone control amount.
[0090] S504: Determine the PTZ control amount according to the second control amount and the fourth control amount.
[0091] For example, the fourth control amount is superimposed on the second control amount to obtain the pan / tilt control amount.
[0092] That is to say, during the locked control process, if the user's operation of the joystick and / or the gimbal dial causes the drone control amount and / or the gimbal control amount to change, the control amount generated by the user's operation of the joystick can be superimposed on the drone control amount locked when the drone enters the predetermined mode, and / or the control amount generated by the user's operation of the gimbal dial can be superimposed on the gimbal control amount locked when the drone enters the predetermined mode. As a result, after the drone enters the locked control, the user can still change the original control intention, increasing the flexibility of drone control.
[0093] Optionally, the method also includes: generating a second prompt information, the second prompt information being used to prompt the user whether to re-lock the movable platform control amount and the gimbal control amount; controlling the movable platform to move in the predetermined mode according to the movable platform control amount, and controlling the gimbal to move in the predetermined mode according to the gimbal control amount, comprising: controlling the movable platform to move in the predetermined mode according to the locked movable platform control amount, and controlling the gimbal to move in the predetermined mode according to the locked gimbal control amount.
[0094] For example, when the drone control amount and / or the gimbal control amount changes, the remote controller may also generate a second prompt message, which is used to prompt the user whether to re-lock the changed drone control amount and / or the gimbal control amount. If the user determines to lock the changed drone control amount and / or the gimbal control amount, the drone may control the drone to fly in a predetermined mode according to the changed drone control amount, and control the gimbal to move in the predetermined mode according to the changed gimbal control amount. By generating a second prompt message to prompt the user whether to re-lock the changed drone control amount and / or the gimbal control amount when the drone control amount and / or the gimbal control amount changes, the user's changed control intention can still be smoothly locked, thereby improving the flexibility of the locked drone control amount and / or the gimbal control amount.
[0095] In addition, when the user clicks a preset button, such as the C1 button or the C2 button, the drone can be controlled to exit the preset mode.
[0096] An embodiment of the present application provides a control method for a movable platform. Figure 6 This is a flow chart of a control method for a mobile platform provided by another embodiment of the present application. Figure 6 As shown, based on the above embodiment, controlling the movable platform to move in the predetermined mode according to the movable platform control amount may include:
[0097] S601. Determine predicted trajectory information of the movable platform according to the control amount of the movable platform.
[0098] For example, after receiving the drone control amount sent by the remote controller, the drone will generate an initial instruction sequence based on the drone control amount, and predict the trajectory of the drone based on the initial instruction sequence to obtain a predicted trajectory, and further determine the predicted trajectory information based on the predicted trajectory.
[0099] Optionally, determining the predicted trajectory information of the movable platform based on the control amount of the movable platform includes: generating an initial instruction sequence based on the control amount of the movable platform; determining the predicted trajectory of the movable platform based on the initial instruction sequence; and determining the position and / or speed of the movable platform corresponding to at least one trajectory point of the predicted trajectory as the predicted trajectory information.
[0100] Specifically, when the drone receives the drone control amount generated by the remote controller, a command sequence is obtained according to the drone control amount, and the command sequence is used as the initial command sequence. Optionally, the initial command sequence includes: an initial speed command sequence and an initial acceleration command sequence.
[0101] When the drone control amount is the drone control amount corresponding to the straight line trajectory, the initial instruction sequence may include: an initial linear velocity instruction sequence and an initial linear acceleration instruction sequence. In one example, the drone control amount may be mapped to a linear velocity instruction, and the linear velocity instruction at the current moment may be filtered according to the linear velocity instruction filtered at the previous moment, and the initial linear velocity instruction sequence may be obtained according to the uniform acceleration model, and the linear acceleration corresponding to the linear velocity in the initial linear velocity instruction sequence may be searched according to the air resistance model, thereby obtaining the initial linear acceleration instruction sequence. In other examples, the drone control amount may also be mapped to a linear acceleration instruction, and the linear velocity corresponding to the linear acceleration in the initial linear acceleration instruction sequence may be searched, thereby obtaining the initial linear velocity instruction sequence; or, the drone control amount may also be mapped to both the linear velocity instruction sequence and the linear acceleration instruction sequence.
[0102] When the drone control amount is the drone control amount corresponding to the curved trajectory, the initial instruction sequence includes: an initial position instruction sequence and an initial attitude instruction sequence. The initial position instruction sequence includes the initial linear velocity instruction sequence and the initial linear acceleration instruction sequence as described above. The initial attitude instruction sequence may include: an initial heading angular velocity instruction sequence.
[0103] After the initial instruction sequence is generated, the predicted trajectory of the UAV is determined according to the initial instruction sequence, and further, the position and / or speed of the UAV corresponding to at least one trajectory point of the predicted trajectory is determined as the predicted trajectory information. The position of the UAV corresponding to the trajectory point can be understood as the position of the UAV when the UAV is located at the trajectory point, that is, the position of the trajectory point, and the speed of the UAV corresponding to the trajectory point can be understood as the speed of the UAV when the UAV is located at the trajectory point.
[0104] Optionally, determining the predicted trajectory of the movable platform according to the initial instruction sequence includes: obtaining a kinematic model of the movable platform, the kinematic model including at least one of a uniform acceleration model, a uniform speed model or a nonlinear model; performing trajectory prediction according to the kinematic model and the initial instruction sequence to obtain the predicted trajectory.
[0105] When the drone control amount is the drone control amount corresponding to a straight line trajectory, in the process of determining the predicted trajectory, the kinematic model of the drone is first obtained, and the kinematic model includes at least one of a uniform acceleration model, a uniform speed model, or a nonlinear model. The kinematic model is then used to predict the trajectory of the initial instruction sequence to obtain a predicted trajectory, and the predicted trajectory points in the predicted trajectory are characterized by predicted position parameters. The predicted position parameters include: predicted position; or, predicted position and predicted linear velocity. The following is an example of a uniform acceleration model, but the present embodiment is not limited thereto, and any other type of kinematic model may also be used, such as but not limited to: a uniform speed model, a nonlinear model, etc.
[0106] The uniform acceleration model is as follows:
[0107] p k+1 =p k +v k ·Δt+0.5·a k ·Δt 2 (1)
[0108] v k+1 =v k +a k ·Δt (2)
[0109] Among them, Δt represents the time interval between adjacent moments; p k represents the position at time k, v k represents the linear velocity at time k, a k represents the linear acceleration at time k, v k+1 represents the linear velocity at time k+1, a k+1 represents the linear acceleration at time k+1.
[0110] In this embodiment, the position parameters of the drone at the current moment are first obtained, and then the position parameters at the current moment, the initial linear velocity instruction sequence, and the initial linear acceleration instruction sequence are input into formulas (1) and (2) to obtain the predicted position parameters of the predicted trajectory points of the predicted trajectory. Specifically, the position p0, linear velocity v0, and linear acceleration a0 of the drone at the current moment can be obtained through the drone's sensor. Then the position p0, linear velocity v0, and linear acceleration a0 are used as the initial values of formulas (1) and (2), and the initial values and the initial linear velocity instruction sequence v_cmd are used as the initial values of formulas (1) and (2). k Each linear velocity instruction and initial linear acceleration instruction sequence a_cmd in k Substituting each linear acceleration instruction in formula (1) and (2) for iterative calculation, the predicted trajectory points P1, P2, ..., P n ,The predicted position parameters of the predicted trajectory points include two parameters : the predicted position and the predicted linear speed.
[0111] When the control amount of the UAV is the control amount of the UAV corresponding to the curved trajectory, in the process of determining the predicted trajectory, the kinematic model of the UAV is first obtained, and then the kinematic model is used to predict the trajectory of the initial instruction sequence to obtain the predicted trajectory, and the predicted trajectory points in the predicted trajectory are characterized by predicted position parameters and predicted attitude parameters. Among them, the predicted attitude parameters include: predicted heading angle and predicted heading angular velocity.
[0112] The following is a schematic description of the drone control amount corresponding to a straight line trajectory. Correspondingly, the predicted trajectory can also be a straight line trajectory. After obtaining the predicted trajectory, the position and / or linear speed of the drone corresponding to at least one trajectory point of the predicted trajectory is determined as the predicted trajectory information.
[0113] Optionally, determining the position and / or speed of the movable platform corresponding to at least one trajectory point of the predicted trajectory as the predicted trajectory information includes: determining the position and / or speed of the movable platform corresponding to the end trajectory point of the predicted trajectory as the predicted trajectory information.
[0114] like Figure 7 As shown, 30 represents the predicted trajectory of the straight line, P1, P2, ..., P n represents n predicted trajectory points of the predicted trajectory 30, P n represents the end track point of the predicted track 30. Here, the end track point P n The corresponding position and / or linear velocity of the UAV is used as the predicted trajectory information.
[0115] S602: Establish an objective function at least in part based on the predicted trajectory information and obstacle information in the environment where the movable platform is located.
[0116] The drone can also query obstacle information in the drone's environment from the Euclidean Signed Distance Fields (ESDF) map, such as the position and distance of the obstacle relative to the drone. Further, an objective function is established at least in part based on the predicted trajectory information and the obstacle information in the drone's environment.
[0117] Here, the objective function is established in order to optimize the objective function, that is, to minimize the objective function, and to determine the target trajectory of the drone that can bypass obstacles in the process of minimizing the objective function. Specifically, minimizing the objective function can make the end trajectory point of the target trajectory converge to the end trajectory point of the predicted trajectory. For example, minimizing the objective function can make the linear velocity of the drone corresponding to the end trajectory point of the target trajectory converge to the linear velocity of the drone corresponding to the end trajectory point of the predicted trajectory, and / or minimizing the objective function can make the position of the drone corresponding to the end trajectory point of the target trajectory converge to the position of the drone corresponding to the end trajectory point of the predicted trajectory. Therefore, the objective function is at least related to the predicted trajectory information. In addition, the target trajectory enables the drone to bypass obstacles, that is, the distance between the target trajectory point on the target trajectory and the obstacle needs to meet certain conditions. Therefore, the objective function is at least related to the obstacle information in the environment where the drone is located.
[0118] In addition, the objective function may be related not only to the predicted trajectory information and the obstacle information in the environment in which the UAV is located, but also to other information. Therefore, the objective function may be established at least in part based on the predicted trajectory information and the obstacle information in the environment in which the UAV is located.
[0119] S603: Minimize the objective function to determine a target trajectory for the movable platform to avoid the obstacle.
[0120] S604: Control the movable platform to move along the target trajectory.
[0121] After establishing the objective function, the objective function is minimized to determine the target trajectory of the UAV to avoid obstacles. Further, the UAV is controlled to fly according to the target trajectory.
[0122] In order to save the amount of computation for minimizing the objective function, a plurality of predicted trajectory points may be sampled from the predicted trajectory 30, and the objective function may be minimized using the motion parameters of the drone corresponding to the sampled plurality of predicted trajectory points as initial values.
[0123] In the process of sampling the predicted trajectory 30 , the method further includes: performing interval sampling on the predicted trajectory to obtain predicted trajectory points after interval sampling.
[0124] like Figure 7 As shown, the predicted trajectory 30 includes a plurality of predicted trajectory points. For example, P1 represents the first predicted trajectory point, P nWhen performing interval sampling on the prediction trajectory 30, the n prediction trajectory points included in the prediction trajectory 30 can be sampled at intervals. For example, one prediction trajectory point is sampled every other prediction trajectory point, and finally 8 sampled prediction trajectory points are obtained. For example, the 8 sampled prediction trajectory points are recorded as It is understandable that the present application embodiment does not limit the sampling interval. For example, a predicted trajectory point may be sampled every 5 predicted trajectory points. In other words, the sampling interval may be fixed. In some embodiments, the sampling interval may also be variable. For example, and There is 1 predicted trajectory point between and In addition, the embodiment of the present application does not limit the number of predicted trajectory points after sampling, and 8 predicted trajectory points after sampling are only a schematic illustration.
[0125] The present application embodiment takes a fixed sampling interval as an example for schematic illustration. In some embodiments, if the number of predicted trajectory points after sampling is greater than 8, then It can be the end trajectory point of the predicted trajectory 30. Or It can be any one of the last five predicted trajectory points of the predicted trajectory 30, for example, Figure 7 Select one of the five predicted trajectory points in the dashed box 31 as This is just a schematic illustration, and the number of predicted trajectory points in the dashed box 31 is not limited to 5. It can be selected arbitrarily from the sampled predicted trajectory points.
[0126] In some other embodiments, if the number of predicted trajectory points after sampling is less than 8, the end trajectory point P of the predicted trajectory 30 is used as the n The corresponding UAV linear velocity continues to extend the predicted trajectory forward by 30 until 8 sampled predicted trajectory points are obtained.
[0127] In the embodiments of the present application, The positions of the corresponding drones are recorded as That is to say, in the embodiments of the present application, the meanings of uppercase letters and lowercase letters are different, for example, represents the predicted trajectory point after sampling, express The corresponding drone's location. In addition, The corresponding linear speed of the UAV is recorded as The corresponding linear acceleration of the UAV is recorded as
[0128] In the embodiment of the present application, 8 sampled predicted trajectory points can be used. The corresponding UAV motion parameters are used as initial values to minimize the objective function.
[0129] Specifically, the objective function can be recorded as f(X), where X represents a decision variable. By optimizing the objective function f(X), that is, calculating the minimum function value of the objective function f(X), the target trajectory of the drone to avoid obstacles can be determined.
[0130] Optionally, minimizing the objective function to determine the target trajectory of the movable platform to bypass the obstacle includes: minimizing the objective function to determine motion parameters of the movable platform corresponding to multiple target trajectory points, the motion parameters of the movable platform corresponding to the multiple target trajectory points minimize the function value of the objective function.
[0131] For example, the purpose of minimizing the objective function f(X) is to find the motion parameters of the drone corresponding to multiple target trajectory points, which minimize the function value of the objective function f(X). Optionally, the motion parameters include at least one of position, velocity, and acceleration.
[0132] For example, X can be a vector composed of the motion parameters of the drone corresponding to the eight candidate trajectory points on the candidate trajectory. The eight candidate trajectory points that can minimize the function value of f(X) are the eight target trajectory points that are ultimately sought. In the process of determining the eight target trajectory points, the eight candidate trajectory points can be continuously adjusted until the function value of f(X) is minimized.
[0133] Optionally, the eight target trajectory points are recorded as The positions of the UAVs corresponding to the eight target trajectory points are recorded as The linear speed of the UAV corresponding to the eight target trajectory points is recorded as The linear acceleration of the UAV corresponding to the eight target trajectory points is recorded as
[0134] Optionally, minimizing the objective function includes: taking motion parameters of the sampled predicted trajectory points as initial values, and minimizing the objective function.
[0135] For example, the initial value X0 of X can be a vector composed of the motion parameters of the drone corresponding to the 8 sampled predicted trajectory points as described above. When the motion parameters include three parameters: position, linear velocity, and linear acceleration, X is a 24-dimensional vector. Substituting the initial value into the objective function obtains a function value, which is recorded as f1. Further, the motion parameters of the drone corresponding to at least one of the 8 sampled predicted trajectory points are adjusted to obtain the motion parameters of the drone corresponding to the 8 candidate trajectory points. The motion parameters of the drone corresponding to the 8 candidate trajectory points can constitute the first updated value X1 of X. Substituting the updated value X1 into the objective function can obtain the function value f2. Furthermore, the motion parameters of the drone corresponding to at least one of the eight candidate trajectory points are adjusted to obtain the updated motion parameters of the drone corresponding to the eight candidate trajectory points, so as to obtain the second updated value X2 of X. Substituting the updated value X2 into the objective function can obtain the function value f3. By analogy, the function value of the objective function can be gradually converged by step-by-step iteration, and the minimum function value of the objective function can be determined. The eight candidate trajectory points that can minimize the function value of f(X) are the eight target trajectory points required. The target trajectory of the drone to bypass obstacles can be determined based on the eight target trajectory points. The flight controller in the drone controls the drone to fly and bypass obstacles based on the target trajectory.
[0136] It is understandable that the eight candidate trajectory points after each adjustment can constitute an candidate trajectory, so in the process of continuously adjusting the eight candidate trajectory points, multiple candidate trajectories can be obtained. Therefore, the target trajectory is an alternative trajectory among the multiple candidate trajectories that can minimize the function value of f(X).
[0137] It is understandable that the execution entity of S201-S204 can also be the remote control corresponding to the drone. When the remote control determines the target trajectory for bypassing the obstacle, the target trajectory is sent to the drone, so that the flight controller in the drone controls the drone to fly according to the target trajectory and bypass the obstacle.
[0138] In this embodiment, the predicted trajectory information of the movable platform is determined through the control amount of the movable platform, and the objective function is established at least partially based on the predicted trajectory information and the obstacle information in the environment where the movable platform is located, and the target trajectory of the movable platform to bypass the obstacle is determined by minimizing the objective function. Since there are many solution spaces for minimizing the objective function, that is, the bypass trajectory to bypass the obstacle, that is, the target trajectory, can be selected from an infinite number of alternative trajectories. Compared with the method based on motion primitives that can only select the bypass trajectory to bypass the obstacle from a limited number of alternative trajectories, when the movable platform is in an environment with dense obstacles, the possibility of the movable platform planning a bypass trajectory can be increased. In addition, the bypass trajectory selected from the infinite number of alternative trajectories can better bypass the obstacle, thereby avoiding the frequent braking of the movable platform in the process of bypassing the obstacle, thereby improving the user experience.
[0139] The embodiment of the present application provides a control method for a movable platform. Based on the above embodiment, the objective function is used to optimize: the speed difference and / or position difference of the movable platform corresponding to the end trajectory point of the target trajectory and the end trajectory point of the predicted trajectory; and the distance between each target trajectory point in the target trajectory and the target obstacle.
[0140] For example, the minimization objective function f(X) can be expressed as the following formula (3):
[0141] minf(X)=f ep (X)+f c (X) (3)
[0142] Among them, f ep (X) represents the terminal cost function, which is used to make the terminal trajectory point of the target trajectory converge to the terminal trajectory point of the predicted trajectory, for example, to make the linear velocity of the UAV corresponding to the terminal trajectory point of the target trajectory converge to the linear velocity of the UAV corresponding to the terminal trajectory point of the predicted trajectory, and / or to make the position of the UAV corresponding to the terminal trajectory point of the target trajectory converge to the position of the UAV corresponding to the terminal trajectory point of the predicted trajectory. In the process of calculating the minimum value of the objective function f(X), f ep (X) The difference between the linear velocity of the UAV corresponding to the end trajectory point of the target trajectory and the linear velocity of the UAV corresponding to the end trajectory point of the predicted trajectory can be optimized, and / or f ep (X) can optimize the difference between the position of the drone corresponding to the end trajectory point of the target trajectory and the position of the drone corresponding to the end trajectory point of the predicted trajectory. When the difference as mentioned above is smaller, the function value of the objective function f(X) is smaller. c (X) represents the collision cost function, which is used to make the target trajectory bypass obstacles. In the process of calculating the minimum value of the objective function f(X), f c(X) can optimize the distance between each target trajectory point and the target obstacle in the target trajectory. When the distance is larger, the function value of the objective function f(X) is smaller.
[0143] Optionally, the objective function is also used to optimize: the speed, acceleration or rate of change of acceleration of each trajectory point of the target trajectory.
[0144] For example, the minimization objective function f(X) can also be expressed as the following formula (4):
[0145] minf(X)=f ep (X)+f c (X)+f q (X) (4)
[0146] Among them, f ep (X) and f c The meaning of (X) is as described above and will not be repeated here. q (X) represents the differential cost function of each order of the candidate trajectory, which is used to penalize the more aggressive candidate trajectory, so that the final target trajectory is smoother. In the process of calculating the minimum value of the objective function f(X), f q (X) The velocity, acceleration, or rate of change of acceleration at each trajectory point of the target trajectory can be optimized.
[0147] Optionally, the objective function is also used to optimize: the matching degree between the position, velocity and acceleration of each trajectory point of the target trajectory and the kinematic model and the dynamic model.
[0148] For example, the minimization objective function f(X) can also be expressed as the following formula (5) or (6):
[0149] minf(X)=f ep (X)+f c (X)+f q (X)+f soft (X) (5)
[0150] minf(X)=f ep (X)+f c (X)+f soft (X) (6)
[0151] Among them, f ep (X), f c (X), f q The meaning of (X) is as described above and will not be repeated here. soft(X) represents the soft constraints that the target trajectory points need to satisfy, such as kinematic constraints and boundary constraints of various order differentials, which are used to make the target trajectory points conform to the kinematic model while their various order differentials satisfy the dynamic model. In the process of calculating the minimum value of the objective function f(X), f soft (X) The position, velocity and acceleration of each trajectory point of the target trajectory can be optimized to match the kinematic model and the dynamic model.
[0152] This embodiment optimizes the speed difference and / or position difference of the movable platform corresponding to the end trajectory point of the target trajectory and the end trajectory point of the predicted trajectory through the objective function, so that the end trajectory point of the target trajectory can converge to the end trajectory point of the predicted trajectory, so that the drone can return to the predicted trajectory to continue flying after flying along the target trajectory, or continue flying along the linear velocity of the end trajectory point of the predicted trajectory. By optimizing the distance between each target trajectory point and the target obstacle in the target trajectory through the objective function, each target trajectory point in the target trajectory can be as far away from the target obstacle as possible, thereby improving the safety of the drone flying along the target trajectory. In addition, by optimizing the speed, acceleration or rate of change of acceleration of each trajectory point of the target trajectory through the objective function, the target trajectory can be avoided from being too radical, so that the target trajectory can be made smoother. In addition, by optimizing the matching degree of the position, speed and acceleration of each trajectory point of the target trajectory with the kinematic model and the dynamic model through the objective function, each trajectory point of the target trajectory can meet the kinematic model and the dynamic model as much as possible, thereby improving the stability of the drone flight.
[0153] The embodiment of the present application provides a control method for a movable platform. Based on the above embodiment, the objective function includes a first cost function, and the greater the difference between the speed of the movable platform corresponding to the end trajectory point of the target trajectory and the speed of the movable platform corresponding to the end trajectory point of the predicted trajectory, the greater the value of the first cost function.
[0154] For example, the above embodiment described f ep (X) can be recorded as the first cost function, f ep (X) can be expressed as the following formula (7):
[0155]
[0156] Among them, λ v represents the weight coefficient, Indicates the linear velocity of the drone corresponding to the end trajectory point of the target trajectory, Indicates the linear velocity of the UAV corresponding to the end point of the predicted trajectory. and The greater the difference between epThe larger the value of (X), the greater the value of (X). In order to calculate the minimum value of the objective function, and The smaller the difference, the better, that is, and The smaller the difference between , the smaller the function value of the objective function. Therefore, f ep (X) The linear velocity of the UAV corresponding to the end trajectory point of the target trajectory can be converged to the linear velocity of the UAV corresponding to the end trajectory point of the predicted trajectory.
[0157] Optionally, the greater the difference between the position of the movable platform corresponding to the end trajectory point of the target trajectory and the position of the movable platform corresponding to the end trajectory point of the predicted trajectory, the greater the value of the first cost function.
[0158] For example, in some embodiments, f ep (X) can also be expressed as the following formula (8):
[0159]
[0160] Among them, λ p represents the weight coefficient, Indicates the position of the drone corresponding to the end track point of the target track, Indicates the position of the UAV corresponding to the end track point of the predicted trajectory. and The greater the difference between ep The larger the value of (X), the greater the value of (X). In order to calculate the minimum value of the objective function, and The smaller the difference, the better, that is, and The smaller the difference between , the smaller the function value of the objective function. Therefore, f ep (X) The position of the UAV corresponding to the end trajectory point of the target trajectory can be made to converge to the position of the UAV corresponding to the end trajectory point of the predicted trajectory.
[0161] In some other embodiments, f ep (X) can also be expressed as the following formula (9):
[0162]
[0163] In this case, f ep (X) can not only make the linear velocity of the UAV corresponding to the end trajectory point of the target trajectory converge to the linear velocity of the UAV corresponding to the end trajectory point of the predicted trajectory, but also make the position of the UAV corresponding to the end trajectory point of the target trajectory converge to the position of the UAV corresponding to the end trajectory point of the predicted trajectory.
[0164] Optionally, the objective function includes a second cost function, and the closer the distance between each target trajectory point in the target trajectory and the target obstacle is, the greater the value of the second cost function is. The greater the speed of the movable platform corresponding to each target trajectory point in the target trajectory is, the greater the value of the second cost function is.
[0165] For example, the above embodiment described f c (X) can be recorded as the second cost function, f c (X) can be expressed as the following formula (10):
[0166]
[0167] Among them, λ c represents the weight coefficient, Indicates the positions of the drones corresponding to the 8 target trajectory points. represents the linear velocity of the UAV corresponding to the 8 target trajectory points. Where c(p) is the single point collision distance cost function, which can be expressed as the following formula (11):
[0168]
[0169] Where τ represents the safety threshold of the obstacle distance. d(p) represents the distance between position p and the target obstacle, which can be obtained from the ESDF map. When p in d(p) and c(p) is When the distance between each target trajectory point and the target obstacle is closer, f c In order to calculate the minimum value of the objective function, the farther the distance between each target trajectory point and the target obstacle in the target trajectory is, the better. In other words, the farther the distance between each target trajectory point and the target obstacle is, the smaller the function value of the objective function is. Therefore, f c (X) Target trajectory points whose distance to target obstacles is less than a safety threshold can be penalized to prevent the drone from colliding with obstacles.
[0170] Optionally, the target obstacle includes the obstacle closest to the target trajectory point. When the target obstacle is an obstacle of different types, f c The weight coefficients in (X) can be different. For example, when the target obstacle is a human body, f c The weight coefficient in (X) can be relatively large. In addition, since c(p) includes the square of the difference between the distance of position p relative to the nearest obstacle and the safety threshold, f c(X) The problem of optimizing the objective function is transformed into a nonlinear optimization problem. Therefore, in the process of calculating the minimum value of the objective function, for example, the NLopt optimization library can be used to solve the nonlinear optimization problem. In addition, eigen3.3.5 can be used for ordinary matrix operations, and suitesparse-metis can be used for sparse matrix operations.
[0171] In addition, according to formula (10), the larger the linear velocity of the UAV corresponding to each target trajectory point in the target trajectory, ... c The larger the value of (X). In order to calculate the minimum value of the objective function, the linear speed of the drone corresponding to each target trajectory point in the target trajectory should be as small as possible, so that the target trajectory can slowly bypass obstacles along the target trajectory to prevent the drone from colliding with obstacles due to being too fast to be controlled.
[0172] Optionally, the objective function includes a third cost function, and the greater the acceleration of the movable platform corresponding to each target trajectory point of the target trajectory or the rate of change of the acceleration is, the greater the value of the third cost function is.
[0173] For example, the above embodiment described f q (X) can be recorded as the third cost function, f q (X) can be expressed as the following formula (12):
[0174]
[0175] Among them, λ a and λ j They represent weight coefficients respectively, Indicates the linear acceleration of the UAV corresponding to each of the eight target trajectory points. The larger the linear acceleration or rate of change of the linear acceleration of the UAV corresponding to each target trajectory point of the target trajectory, the greater the linear acceleration of the UAV corresponding to each target trajectory point of the target trajectory. q The larger the value of (X), the smaller the linear acceleration or the rate of change of linear acceleration of the UAV corresponding to each target trajectory point of the target trajectory should be in order to calculate the minimum value of the objective function. In other words, f q (X) The linear acceleration or the rate of change of the linear acceleration of the UAV corresponding to each target trajectory point of the target trajectory can be penalized so that the target trajectory is not too aggressive but smoother.
[0176] Optionally, the objective function includes a fourth cost function, and the value of the fourth cost function increases as the position, velocity and acceleration of each target trajectory point of the target trajectory deviate from the kinematic model constraint boundary and / or the dynamic model constraint boundary.
[0177] For example, the above embodiment described f soft(X) can be recorded as the fourth cost function, f soft (X) The target trajectory points can be made to conform to the kinematic model while their differentials of various orders satisfy the dynamic model.
[0178] For example, the kinematic model that each target trajectory point needs to satisfy can be expressed as the following formulas (13) and (14):
[0179]
[0180]
[0181] Furthermore, the kinematic model can also be described as the soft constraints described in the following formulas (15) and (16):
[0182]
[0183]
[0184] Among them, ε p and ε v denote relaxation factors, ε p and ε v It can also be called the kinematic model constraint boundary. If ε p and ε v If both are 0, the target trajectory points are required to strictly satisfy the kinematic model.
[0185] For example, the dynamic model that each target trajectory point needs to satisfy can be expressed as the following formulas (17) and (18):
[0186]
[0187]
[0188] Among them, v max and a max represent the constraints of the dynamic model. max can be the maximum linear speed that the drone can reach, a max It can be the maximum linear acceleration that the drone can achieve.
[0189] f soft (X) can be expressed as the following formula (19):
[0190]
[0191] Among them, λ kin represents the weight coefficient of the kinematic model constraint, λ lim represents the weight coefficient of the dynamic model constraint, It can be expressed as the following formula (20): It can be expressed as the following formula (21): Can be Can be
[0192]
[0193]
[0194] The constraint function l(x) can be expressed as the following formula (22):
[0195]
[0196] Among them, x max represents the boundary constraint, when When x max =ε p .when When x max =ε v .when When x max =v max .when When x max =a max .
[0197] According to formula (19), the greater the degree to which the position, velocity, and acceleration of each target trajectory point deviate from the kinematic model constraint boundary and / or the dynamic model constraint boundary, the greater the value of f soft The larger the value of (X), the smaller the deviation of the position, velocity, and acceleration of each target trajectory point from the kinematic model constraint boundary and / or the dynamic model constraint boundary is, the better, in order to calculate the minimum value of the objective function. In other words, f soft (X) The target trajectory points can conform to the kinematic model while their differentials of various orders satisfy the dynamic model.
[0198] It is understandable that f ep (X), f c (X), f q (X), f soft (X) The weight coefficients in the four functions can be set when the drone leaves the factory. In some embodiments, f ep (X), f c (X), f q (X), f soft(X) The weight coefficients in the four functions can also be adjusted. For example, when the user prefers that the end trajectory point of the target trajectory can converge to the end trajectory point of the predicted trajectory and the drone can safely avoid obstacles, the weight coefficient f can be increased. ep (X), f c If the user wants the target trajectory to be smooth enough, the weight coefficient f can be increased. q (X) is the weight coefficient. Usually, f ep (X), f c (X), f soft The weight coefficient in (X) can be set larger, f q The weight coefficient in (X) can be set smaller.
[0199] like Figure 8 As shown, there are dense obstacles 40-45 around the predicted trajectory 30. In order to avoid the collision between the drone and the obstacles, according to the method described above, a target trajectory 46 that bypasses the obstacles can be determined, where f ep (X) Formula (9) can be selected so that the end trajectory point of the target trajectory is Converge to the end trajectory point of the predicted trajectory 30 Therefore, the drone can go around the obstacle along the target trajectory 46 and then return to the predicted trajectory 30.
[0200] The embodiment of the present application provides a control device for a movable platform. The control device may be a control device in the movable platform, for example, a flight controller. Alternatively, the control device may be the control device as described above or a component in the control device. Fig. 9 A structural diagram of a control device for a movable platform provided in an embodiment of the present application, such as Fig. 9 As shown, the control device 90 includes: a memory 91 and a processor 92; wherein the memory 91 is used to store program codes; the processor 92 calls the program codes, and when the program codes are executed, is used to perform the following operations: when the movable platform enters a predetermined mode, obtain a movable platform control amount and a gimbal control amount, the movable platform control amount and the gimbal control amount are input by a user through a control device of the movable platform, the movable platform control amount is used to lock the speed and / or acceleration of the movable platform, and the gimbal control amount is used to lock the speed and / or acceleration of the gimbal; control the movable platform to move in the predetermined mode according to the movable platform control amount, and control the gimbal to move in the predetermined mode according to the gimbal control amount.
[0201] Optionally, the speed of the movable platform includes at least one of the following: a linear speed of the movable platform, an angular speed of the movable platform.
[0202] Optionally, the acceleration of the movable platform includes at least one of the following: a linear acceleration of the movable platform, and an angular acceleration of the movable platform.
[0203] Optionally, the speed of the gimbal includes an angular velocity of the gimbal.
[0204] Optionally, the acceleration of the gimbal includes the attitude angular acceleration of the gimbal.
[0205] Optionally, the processor 92 is further configured to: obtain a predetermined instruction, where the predetermined instruction is generated according to a first operation of a user on a control device of the movable platform; and control the movable platform to enter the predetermined mode according to the predetermined instruction.
[0206] Optionally, the first operation includes operating a predetermined key of the control device.
[0207] Optionally, before acquiring the predetermined instruction, the processor 92 is further used to: generate first prompt information when the second operation of the user on the control device meets a preset condition, wherein the first prompt information is used to prompt the user to perform the first operation on the control device.
[0208] Optionally, the second operation includes operating a first component or a second component of the control device, the first component is used to control the movable platform, and the second component is used to control the pan-tilt head.
[0209] Optionally, the first component includes a joystick, and the second component includes a gimbal dial.
[0210] Optionally, the second operation satisfies a preset condition, including: an operation time of the second operation is greater than or equal to a first preset time.
[0211] Optionally, the movable platform control amount is the control amount for controlling the movable platform that is locked when the user performs the first operation on the control device, and the gimbal control amount is the control amount for controlling the gimbal that is locked when the user performs the first operation on the control device.
[0212] Optionally, when the movable platform enters a predetermined mode, the processor 92 obtains the movable platform control amount and the gimbal control amount, and is specifically used to: when the movable platform enters a predetermined mode, lock a first control amount for controlling the movable platform and a second control amount for controlling the gimbal; when the movable platform is controlled to move in the predetermined mode according to the first control amount, and the gimbal is controlled to move in the predetermined mode according to the second control amount, obtain a third control amount for controlling the movable platform and a fourth control amount for controlling the gimbal; determine the movable platform control amount according to the first control amount and the third control amount; determine the gimbal control amount according to the second control amount and the fourth control amount.
[0213] Optionally, when the processor 92 obtains a third control quantity for controlling the movable platform and a fourth control quantity for controlling the gimbal, it is specifically used to: obtain the third control quantity for controlling the movable platform according to a third operation of the user on the first component; and obtain the fourth control quantity for controlling the gimbal according to a fourth operation of the user on the second component.
[0214] Optionally, the processor 92 is also used to: generate a second prompt message, the second prompt message is used to prompt the user whether to re-lock the movable platform control amount and the gimbal control amount; when the processor 92 controls the movable platform to move in the predetermined mode according to the movable platform control amount, and controls the gimbal to move in the predetermined mode according to the gimbal control amount, it is specifically used to: control the movable platform to move in the predetermined mode according to the locked movable platform control amount, and control the gimbal to move in the predetermined mode according to the locked gimbal control amount.
[0215] Optionally, when the movable platform enters a predetermined mode, the processor 92 obtains the movable platform control amount and the gimbal control amount, and is specifically used to: when the movable platform enters a predetermined mode, obtain the movable platform control amount and the gimbal control amount within a second preset time before the movable platform enters the predetermined mode.
[0216] Optionally, when the processor 92 controls the movable platform to move in the predetermined mode according to the movable platform control amount, it is specifically used to: determine the predicted trajectory information of the movable platform according to the movable platform control amount; establish an objective function at least partially based on the predicted trajectory information and obstacle information in the environment where the movable platform is located; minimize the objective function to determine the target trajectory of the movable platform to bypass the obstacle; and control the movable platform to move according to the target trajectory.
[0217] Optionally, when the processor 92 determines the predicted trajectory information of the movable platform based on the control amount of the movable platform, it is specifically used to: generate an initial instruction sequence based on the control amount of the movable platform; determine the predicted trajectory of the movable platform based on the initial instruction sequence; determine the position and / or speed of the movable platform corresponding to at least one trajectory point of the predicted trajectory as the predicted trajectory information.
[0218] Optionally, the initial instruction sequence includes: an initial speed instruction sequence and an initial acceleration instruction sequence.
[0219] Optionally, when the processor 92 determines the predicted trajectory of the movable platform according to the initial instruction sequence, it is specifically used to: obtain a kinematic model of the movable platform, the kinematic model including at least one of a uniform acceleration model, a uniform speed model or a nonlinear model; perform trajectory prediction according to the kinematic model and the initial instruction sequence to obtain the predicted trajectory.
[0220] Optionally, when the processor 92 determines that the position and / or speed of the movable platform corresponding to at least one trajectory point of the predicted trajectory is the predicted trajectory information, it is specifically used to: determine that the position and / or speed of the movable platform corresponding to the end trajectory point of the predicted trajectory is the predicted trajectory information.
[0221] Optionally, the processor 92 is further used to: perform interval sampling on the predicted trajectory to obtain predicted trajectory points after interval sampling; when the processor 92 minimizes the objective function, it is specifically used to: minimize the objective function using the motion parameters of the predicted trajectory points after sampling as initial values.
[0222] Optionally, when the processor 92 minimizes the objective function to determine the target trajectory of the movable platform to bypass the obstacle, it is specifically used to: minimize the objective function to determine the motion parameters of the movable platform corresponding to multiple target trajectory points, and the motion parameters of the movable platform corresponding to the multiple target trajectory points minimize the function value of the objective function.
[0223] Optionally, the motion parameter includes at least one of position, velocity, and acceleration.
[0224] Optionally, the objective function is used to optimize: the speed difference and / or position difference of the movable platform corresponding to the end trajectory point of the target trajectory and the end trajectory point of the predicted trajectory; and the distance between each target trajectory point in the target trajectory and the target obstacle.
[0225] Optionally, the objective function is also used to optimize: the speed, acceleration or rate of change of acceleration of each trajectory point of the target trajectory.
[0226] Optionally, the objective function is also used to optimize: the matching degree between the position, velocity and acceleration of each trajectory point of the target trajectory and the kinematic model and the dynamic model.
[0227] Optionally, the objective function includes a first cost function, and the greater the difference between the speed of the movable platform corresponding to the end trajectory point of the target trajectory and the speed of the movable platform corresponding to the end trajectory point of the predicted trajectory, the greater the value of the first cost function.
[0228] Optionally, the greater the difference between the position of the movable platform corresponding to the end trajectory point of the target trajectory and the position of the movable platform corresponding to the end trajectory point of the predicted trajectory, the greater the value of the first cost function.
[0229] Optionally, the objective function includes a second cost function, and the closer the distance between each target trajectory point in the target trajectory and the target obstacle is, the larger the value of the second cost function is.
[0230] Optionally, the greater the speed of the movable platform corresponding to each target trajectory point in the target trajectory, the greater the value of the second cost function.
[0231] Optionally, the target obstacle includes an obstacle closest to the target trajectory point.
[0232] Optionally, the objective function includes a third cost function, and the greater the acceleration of the movable platform corresponding to each target trajectory point of the target trajectory or the rate of change of the acceleration is, the greater the value of the third cost function is.
[0233] Optionally, the objective function includes a fourth cost function, and the value of the fourth cost function increases as the position, velocity and acceleration of each target trajectory point of the target trajectory deviate from the kinematic model constraint boundary and / or the dynamic model constraint boundary.
[0234] In some embodiments, the control device 90 may further include a communication interface 93. When the control device 90 is a control device in a movable platform, the communication interface 93 is used to communicate with a control device. When the control device 90 is a control device or a component in a control device, the communication interface 93 is used to communicate with a movable platform.
[0235] The control device provided in the embodiment of the present application is used to execute the control method of the movable platform as described above. The specific principles and implementation methods of the method are similar to those of the above embodiment and will not be repeated here.
[0236] The embodiment of the present application provides a movable platform. The movable platform comprises: a fuselage, a power system and a control device as described in the above embodiment. The power system is installed in the fuselage to provide moving power. The control device is used to execute the control method of the movable platform as described above. The specific principle and implementation method of the method are similar to those of the above embodiment and will not be repeated here.
[0237] Optionally, the movable platform includes a drone.
[0238] In addition, this embodiment further provides a computer-readable storage medium on which a computer program is stored. The computer program is executed by a processor to implement the control method of the movable platform described in the above embodiment.
[0239] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0240] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0241] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.
[0242] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform some steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
[0243] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example for illustration. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the device described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0244] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A control method for a movable platform, wherein the movable platform is provided with a pan / tilt platform, characterized in that: The method comprises: When the movable platform enters a predetermined mode, a movable platform control amount and a pan / tilt control amount are acquired, wherein the movable platform control amount and the pan / tilt control amount are input by a user through a control device of the movable platform, the movable platform control amount is used to lock the speed and / or acceleration of the movable platform, and the pan / tilt control amount is used to lock the speed and / or acceleration of the pan / tilt; Controlling the movable platform to move in the predetermined mode according to the movable platform control amount, and controlling the pan-tilt head to move in the predetermined mode according to the pan-tilt head control amount; Wherein, when the movable platform enters a predetermined mode, obtaining the movable platform control amount and the pan / tilt control amount includes: When the movable platform enters a predetermined mode, acquiring the movable platform control amount and the pan / tilt control amount when the movable platform enters the predetermined mode; or When the movable platform enters the predetermined mode, the movable platform control amount and the pan / tilt control amount within a second preset time before the movable platform enters the predetermined mode are acquired.
2. The method according to claim 1, characterized in that The speed of the movable platform includes at least one of the following: The linear velocity of the movable platform and the angular velocity of the movable platform.
3. The method according to claim 2, characterized in that The acceleration of the movable platform includes at least one of the following: The linear acceleration of the movable platform and the angular acceleration of the movable platform.
4. The method according to claim 2, characterized in that: The speed of the gimbal includes the attitude angular velocity of the gimbal.
5. The method according to claim 2, characterized in that: The acceleration of the gimbal includes the attitude angular acceleration of the gimbal.
6. The method according to claim 1, characterized in that The method further comprises: Acquire a predetermined instruction, where the predetermined instruction is generated according to a first operation of a user on a control device of the mobile platform; According to the predetermined instruction, the movable platform is controlled to enter the predetermined mode.
7. The method according to claim 6, characterized in that The first operation includes an operation on a predetermined key of the control device.
8. The method according to claim 6, characterized in that Before obtaining the predetermined instruction, the method further includes: When the second operation performed by the user on the control device meets a preset condition, first prompt information is generated, where the first prompt information is used to prompt the user to perform the first operation on the control device.
9. The method according to claim 8, characterized in that The second operation includes operating a first component or a second component of the control device, the first component is used to control the movable platform, and the second component is used to control the pan / tilt head.
10. The method according to claim 9, characterized in that The first component includes a joystick, and the second component includes a pan / tilt dial.
11. The method according to any one of claims 8 to 10, characterized in that: The second operation satisfies a preset condition, including: The operation time of the second operation is greater than or equal to the first preset time.
12. The method according to any one of claims 6 to 10, characterized in that: The movable platform control amount is the control amount for controlling the movable platform that is locked when the user performs the first operation on the control device, and the gimbal control amount is the control amount for controlling the gimbal that is locked when the user performs the first operation on the control device.
13. The method according to claim 9 or 10, characterized in that: When the movable platform enters a predetermined mode, obtaining a movable platform control amount and a pan / tilt control amount includes: When the movable platform enters a predetermined mode, locking a first control amount for controlling the movable platform and a second control amount for controlling the pan / tilt head; When the movable platform is controlled to move in the predetermined mode according to the first control amount, and the pan-tilt head is controlled to move in the predetermined mode according to the second control amount, acquiring a third control amount for controlling the movable platform and a fourth control amount for controlling the pan-tilt head; Determining the movable platform control amount according to the first control amount and the third control amount; The pan / tilt control amount is determined according to the second control amount and the fourth control amount.
14. The method according to claim 13, characterized in that The acquiring of the third control amount for controlling the movable platform and the fourth control amount for controlling the pan / tilt head comprises: acquiring, according to a third operation of the user on the first component, a third control amount for controlling the movable platform; According to a fourth operation of the user on the second component, a fourth control amount for controlling the pan / tilt head is acquired.
15. The method according to claim 13, characterized in that The method further comprises: generating a second prompt message, wherein the second prompt message is used to prompt the user whether to re-lock the movable platform control amount and the pan / tilt control amount; The controlling the movable platform to move in the predetermined mode according to the movable platform control amount, and controlling the pan-tilt head to move in the predetermined mode according to the pan-tilt head control amount, comprises: The movable platform is controlled to move in the predetermined mode according to the re-locked movable platform control amount, and the pan / tilt head is controlled to move in the predetermined mode according to the re-locked pan / tilt head control amount.
16. The method according to any one of claims 1 to 10, characterized in that: The step of controlling the movable platform to move in the predetermined mode according to the movable platform control amount includes: Determining predicted trajectory information of the movable platform according to the control amount of the movable platform; Establishing an objective function based at least in part on the predicted trajectory information and obstacle information in the environment of the movable platform; Minimizing the objective function to determine a target trajectory of the movable platform to avoid the obstacle; The movable platform is controlled to move according to the target trajectory.
17. The method according to claim 16, characterized in that The step of determining the predicted trajectory information of the movable platform according to the control amount of the movable platform includes: generating an initial instruction sequence according to the movable platform control amount; determining a predicted trajectory of the movable platform based on the initial instruction sequence; Determine a position and / or speed of the movable platform corresponding to at least one trajectory point of the predicted trajectory as the predicted trajectory information.
18. The method according to claim 17, characterized in that The initial instruction sequence includes: an initial speed instruction sequence and an initial acceleration instruction sequence.
19. The method according to claim 17, characterized in that Determining the predicted trajectory of the movable platform according to the initial instruction sequence includes: Acquire a kinematic model of the movable platform, wherein the kinematic model includes at least one of a uniform acceleration model, a uniform velocity model, or a nonlinear model; A trajectory prediction is performed according to the kinematic model and the initial instruction sequence to obtain the predicted trajectory.
20. The method according to claim 17, characterized in that The step of determining a position and / or a speed of the movable platform corresponding to at least one trajectory point of the predicted trajectory as the predicted trajectory information includes: The position and / or speed of the movable platform corresponding to the terminal trajectory point of the predicted trajectory is determined as the predicted trajectory information.
21. The method according to claim 17, characterized in that The method further comprises: Performing interval sampling on the predicted trajectory to obtain predicted trajectory points after interval sampling; The minimizing the objective function comprises: The objective function is minimized by taking the motion parameters of the sampled predicted trajectory points as initial values.
22. The method according to claim 16, characterized in that The minimizing the objective function to determine a target trajectory of the movable platform to avoid the obstacle includes: The objective function is minimized to determine motion parameters of the movable platform corresponding to a plurality of target trajectory points, wherein the motion parameters of the movable platform corresponding to the plurality of target trajectory points minimize a function value of the objective function.
23. The method according to claim 22, characterized in that The motion parameter includes at least one of position, velocity, and acceleration.
24. The method according to claim 16, characterized in that The objective function is used to optimize: The speed difference and / or position difference of the movable platform corresponding to the end trajectory point of the target trajectory and the end trajectory point of the predicted trajectory; and The distance between each target trajectory point in the target trajectory and the target obstacle.
25. The method according to claim 24, characterized in that The objective function is also used to optimize: The velocity, acceleration or rate of change of acceleration of each trajectory point of the target trajectory.
26. The method according to claim 25, characterized in that The objective function is also used to optimize: The matching degree between the position, velocity and acceleration of each trajectory point of the target trajectory and the kinematic model and the dynamic model.
27. The method according to claim 16, characterized in that The objective function includes a first cost function, and the greater the difference between the speed of the movable platform corresponding to the end trajectory point of the target trajectory and the speed of the movable platform corresponding to the end trajectory point of the predicted trajectory, the greater the value of the first cost function.
28. The method according to claim 27, characterized in that The greater the difference between the position of the movable platform corresponding to the end trajectory point of the target trajectory and the position of the movable platform corresponding to the end trajectory point of the predicted trajectory, the greater the value of the first cost function.
29. The method according to claim 16, characterized in that The objective function includes a second cost function. The closer the distance between each target trajectory point in the target trajectory and the target obstacle is, the greater the value of the second cost function is.
30. The method according to claim 29, characterized in that The greater the speed of the movable platform corresponding to each target trajectory point in the target trajectory, the greater the value of the second cost function.
31. The method according to claim 29, characterized in that The target obstacle includes an obstacle closest to the target trajectory point.
32. The method according to claim 16, characterized in that The objective function includes a third cost function, and the greater the acceleration of the movable platform corresponding to each target trajectory point of the target trajectory or the rate of change of the acceleration is, the greater the value of the third cost function is.
33. The method according to claim 16, characterized in that The objective function includes a fourth cost function. The more the position, velocity and acceleration of each target trajectory point of the target trajectory deviate from the kinematic model constraint boundary and / or the dynamic model constraint boundary, the larger the value of the fourth cost function.
34. A control device for a movable platform, characterized in that: include: Memory and processor; The memory is used to store program code; The processor calls the program code, and when the program code is executed, is used to perform the following operations: When the movable platform enters a predetermined mode, a movable platform control amount and a pan / tilt control amount are acquired, wherein the movable platform control amount and the pan / tilt control amount are input by a user through a control device of the movable platform, the movable platform control amount is used to lock the speed and / or acceleration of the movable platform, and the pan / tilt control amount is used to lock the speed and / or acceleration of the pan / tilt; Controlling the movable platform to move in the predetermined mode according to the movable platform control amount, and controlling the pan-tilt head to move in the predetermined mode according to the pan-tilt head control amount; Wherein, when the movable platform enters the predetermined mode, the processor acquires the movable platform control amount and the pan / tilt control amount, specifically for: When the movable platform enters a predetermined mode, acquiring the movable platform control amount and the pan / tilt control amount when the movable platform enters the predetermined mode; or When the movable platform enters the predetermined mode, the movable platform control amount and the pan / tilt control amount within a second preset time before the movable platform enters the predetermined mode are acquired.
35. The control device according to claim 34, characterized in that The speed of the movable platform includes at least one of the following: The linear velocity of the movable platform and the angular velocity of the movable platform.
36. The control device according to claim 35, characterized in that The acceleration of the movable platform includes at least one of the following: The linear acceleration of the movable platform and the angular acceleration of the movable platform.
37. The control device according to claim 35, characterized in that The speed of the gimbal includes the attitude angular velocity of the gimbal.
38. The control device according to claim 35, characterized in that The acceleration of the gimbal includes the attitude angular acceleration of the gimbal.
39. The control device according to claim 34, characterized in that The processor is further configured to: Acquire a predetermined instruction, where the predetermined instruction is generated according to a first operation of a user on a control device of the mobile platform; According to the predetermined instruction, the movable platform is controlled to enter the predetermined mode.
40. The control device according to claim 39, characterized in that The first operation includes an operation on a predetermined key of the control device.
41. The control device according to claim 40, characterized in that Before obtaining the predetermined instruction, the processor is further configured to: When the second operation performed by the user on the control device meets a preset condition, first prompt information is generated, where the first prompt information is used to prompt the user to perform the first operation on the control device.
42. The control device according to claim 41, characterized in that The second operation includes operating a first component or a second component of the control device, the first component is used to control the movable platform, and the second component is used to control the pan / tilt head.
43. The control device according to claim 42, characterized in that The first component includes a joystick, and the second component includes a pan / tilt dial.
44. The control device according to any one of claims 41 to 43, characterized in that: The second operation satisfies a preset condition, including: The operation time of the second operation is greater than or equal to the first preset time.
45. The control device according to any one of claims 39 to 43, characterized in that: The movable platform control amount is the control amount for controlling the movable platform that is locked when the user performs the first operation on the control device, and the gimbal control amount is the control amount for controlling the gimbal that is locked when the user performs the first operation on the control device.
46. The control device according to claim 42 or 43, characterized in that When the movable platform enters a predetermined mode, the processor acquires the movable platform control amount and the pan / tilt control amount, specifically for: When the movable platform enters a predetermined mode, locking a first control amount for controlling the movable platform and a second control amount for controlling the pan / tilt head; When the movable platform is controlled to move in the predetermined mode according to the first control amount, and the pan-tilt head is controlled to move in the predetermined mode according to the second control amount, acquiring a third control amount for controlling the movable platform and a fourth control amount for controlling the pan-tilt head; Determining the movable platform control amount according to the first control amount and the third control amount; The pan / tilt control amount is determined according to the second control amount and the fourth control amount.
47. The control device according to claim 46, characterized in that When the processor acquires the third control amount for controlling the movable platform and the fourth control amount for controlling the pan / tilt head, it is specifically used to: acquiring, according to a third operation of the user on the first component, a third control amount for controlling the movable platform; According to a fourth operation of the user on the second component, a fourth control amount for controlling the pan / tilt head is acquired.
48. The control device according to claim 47, characterized in that The processor is further configured to: generating a second prompt message, wherein the second prompt message is used to prompt the user whether to re-lock the movable platform control amount and the pan / tilt control amount; When the processor controls the movable platform to move in the predetermined mode according to the movable platform control amount, and controls the pan-tilt platform to move in the predetermined mode according to the pan-tilt platform control amount, the processor is specifically used to: The movable platform is controlled to move in the predetermined mode according to the re-locked movable platform control amount, and the pan / tilt head is controlled to move in the predetermined mode according to the re-locked pan / tilt head control amount.
49. The control device according to any one of claims 34 to 43, characterized in that: When the processor controls the movable platform to move in the predetermined mode according to the movable platform control amount, the processor is specifically configured to: Determining predicted trajectory information of the movable platform according to the control amount of the movable platform; Establishing an objective function based at least in part on the predicted trajectory information and obstacle information in the environment of the movable platform; Minimizing the objective function to determine a target trajectory of the movable platform to avoid the obstacle; The movable platform is controlled to move according to the target trajectory.
50. The control device according to claim 49, characterized in that When the processor determines the predicted trajectory information of the movable platform according to the control amount of the movable platform, it is specifically used to: generating an initial instruction sequence according to the movable platform control amount; determining a predicted trajectory of the movable platform based on the initial instruction sequence; Determine a position and / or speed of the movable platform corresponding to at least one trajectory point of the predicted trajectory as the predicted trajectory information.
51. The control device according to claim 50, characterized in that The initial instruction sequence includes: an initial speed instruction sequence and an initial acceleration instruction sequence.
52. The control device according to claim 50, characterized in that When the processor determines the predicted trajectory of the movable platform according to the initial instruction sequence, it is specifically used to: Acquire a kinematic model of the movable platform, wherein the kinematic model includes at least one of a uniform acceleration model, a uniform velocity model, or a nonlinear model; A trajectory prediction is performed according to the kinematic model and the initial instruction sequence to obtain the predicted trajectory.
53. The control device according to claim 50, characterized in that When the processor determines that the position and / or speed of the movable platform corresponding to at least one trajectory point of the predicted trajectory is the predicted trajectory information, it is specifically used to: The position and / or speed of the movable platform corresponding to the terminal trajectory point of the predicted trajectory is determined as the predicted trajectory information.
54. The control device according to claim 50, characterized in that The processor is further configured to: Performing interval sampling on the predicted trajectory to obtain predicted trajectory points after interval sampling; When minimizing the objective function, the processor is specifically used to: The objective function is minimized by taking the motion parameters of the sampled predicted trajectory points as initial values.
55. The control device according to claim 49, characterized in that When the processor minimizes the objective function to determine the target trajectory of the movable platform to bypass the obstacle, it is specifically used to: The objective function is minimized to determine motion parameters of the movable platform corresponding to a plurality of target trajectory points, wherein the motion parameters of the movable platform corresponding to the plurality of target trajectory points minimize a function value of the objective function.
56. The control device according to claim 55, characterized in that The motion parameter includes at least one of position, velocity, and acceleration.
57. The control device according to claim 49, characterized in that The objective function is used to optimize: The speed difference and / or position difference of the movable platform corresponding to the end trajectory point of the target trajectory and the end trajectory point of the predicted trajectory; and The distance between each target trajectory point in the target trajectory and the target obstacle.
58. The control device according to claim 57, characterized in that The objective function is also used to optimize: The velocity, acceleration or rate of change of acceleration of each trajectory point of the target trajectory.
59. The control device according to claim 58, characterized in that The objective function is also used to optimize: The matching degree between the position, velocity and acceleration of each trajectory point of the target trajectory and the kinematic model and the dynamic model.
60. The control device according to claim 49, characterized in that The objective function includes a first cost function, and the greater the difference between the speed of the movable platform corresponding to the end trajectory point of the target trajectory and the speed of the movable platform corresponding to the end trajectory point of the predicted trajectory, the greater the value of the first cost function.
61. The control device according to claim 60, characterized in that The greater the difference between the position of the movable platform corresponding to the end trajectory point of the target trajectory and the position of the movable platform corresponding to the end trajectory point of the predicted trajectory, the greater the value of the first cost function.
62. The control device according to claim 49, characterized in that The objective function includes a second cost function. The closer the distance between each target trajectory point in the target trajectory and the target obstacle is, the greater the value of the second cost function is.
63. The control device according to claim 62, characterized in that The greater the speed of the movable platform corresponding to each target trajectory point in the target trajectory, the greater the value of the second cost function.
64. The control device according to claim 62, characterized in that The target obstacle includes an obstacle closest to the target trajectory point.
65. The control device according to claim 49, characterized in that The objective function includes a third cost function, and the greater the acceleration of the movable platform corresponding to each target trajectory point of the target trajectory or the rate of change of the acceleration is, the greater the value of the third cost function is.
66. The control device according to claim 49, characterized in that The objective function includes a fourth cost function. The more the position, velocity and acceleration of each target trajectory point of the target trajectory deviate from the kinematic model constraint boundary and / or the dynamic model constraint boundary, the larger the value of the fourth cost function.
67. A movable platform, characterized in that: include: body; A power system, installed on the fuselage, for providing movement power; And the control device described in any one of claims 34-66.
68. The movable platform according to claim 67, characterized in that: The movable platform includes a drone.
69. A computer-readable storage medium, characterized in that A computer program is stored thereon, and the computer program is executed by a processor to implement the method according to any one of claims 1 to 33.
Citation Information
Patent Citations
Shooting control method and device of unmanned aerial vehicle
CN107589691A
Unmanned aerial vehicle flight obstacle avoidance method, device, electronic device and storage medium
CN109116867A
Video shooting method and device and control equipment
CN110785990A