Motion control method of robot and electronic device thereof
Patent Information
- Application Number
- CN202311281181.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-28
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2043-09-28
AI Technical Summary
[0018]本申请通过获取机器人当前的运行速度信息和置物区状态信息;根据运行速度信息和置物区状态信息,确定机器人的点头幅度值;在点头幅度值满足速度调整条件的情况下,根据速度调整条件对应的速度调整策略,调整机器人当前的运行速度,实现了根据机器人的点头幅度值,针对不同运动场景选择不同的策略来对机器人进行运动控制,可以有效提升机器运动稳定性,安全性及运动效率。
Smart Images

Figure CN117260722B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics, and more particularly to a motion control method for a robot and its electronic device. Background Technology
[0002] With the rapid development of artificial intelligence, intelligent robots are being used more and more widely in people's lives, such as robotic vacuum cleaners and delivery robots. Delivery robots, in particular, have high requirements for motion control. For example, in restaurant applications, most of the food being transported contains broth, and the robot needs to maintain stability during transport to prevent spills. Currently, most existing robot motion control methods for obstacle-prone scenarios involve stopping the motor's power output to achieve emergency braking. This braking method is simplistic, resulting in a large speed reduction and significant inertia, causing the robot to sway considerably and failing to guarantee stability. Summary of the Invention
[0003] In view of this, embodiments of this application provide a motion control method for a robot and an electronic device thereof, which can select different strategies to control the robot's motion according to different motion scenarios, and can effectively improve the robot's motion stability, safety and motion efficiency.
[0004] A first aspect of this application provides a motion control method for a robot, comprising: acquiring current running speed information and storage area status information of the robot; determining the nodding amplitude value of the robot based on the running speed information and storage area status information; and adjusting the current running speed of the robot according to a speed adjustment strategy corresponding to the speed adjustment conditions when the nodding amplitude value meets the speed adjustment conditions.
[0005] In one possible implementation, the speed adjustment conditions include speed adjustment conditions under an unloaded state. These unloaded speed adjustment conditions include a first nod amplitude range for controlling the robot to execute a deceleration strategy under an unloaded state, a second nod amplitude range for controlling the robot to maintain a constant speed under an unloaded state, and a third nod amplitude range for controlling the robot to execute an acceleration strategy under an unloaded state. The step of adjusting the robot's current operating speed according to the speed adjustment strategy corresponding to the speed adjustment conditions when the nod amplitude values meet the speed adjustment conditions includes: determining whether the robot is in an unloaded state based on the storage area status information; if the robot is in an unloaded state, comparing the nod amplitude values with the speed adjustment conditions under an unloaded state; if the nod amplitude values fall within the first nod amplitude range, adjusting the robot's current operating speed according to the deceleration strategy corresponding to the first nod amplitude range; if the nod amplitude values fall within the second nod amplitude range, maintaining the robot's current operating speed unchanged; and if the nod amplitude values fall within the third nod amplitude range, adjusting the robot's current operating speed according to the acceleration strategy corresponding to the third nod amplitude range.
[0006] In one possible implementation, the speed adjustment conditions include speed adjustment conditions under load conditions. These load conditions include a fourth nod amplitude range for controlling the robot to execute a deceleration strategy under load conditions, a fifth nod amplitude range for controlling the robot to maintain a constant speed under load conditions, and a sixth nod amplitude range for controlling the robot to execute an acceleration strategy under load conditions. The step of adjusting the robot's current operating speed according to the speed adjustment strategy corresponding to the speed adjustment conditions when the nod amplitude values meet the speed adjustment conditions includes: determining whether the robot is under load based on the storage area status information; if the robot is in an unloaded state, comparing the nod amplitude values with the speed adjustment conditions under the unloaded state; if the nod amplitude values fall within the fourth nod amplitude range, adjusting the robot's current operating speed according to the deceleration strategy corresponding to the fourth nod amplitude range; if the nod amplitude values fall within the fifth nod amplitude range, maintaining the robot's current operating speed unchanged; and if the nod amplitude values fall within the sixth nod amplitude range, adjusting the robot's current operating speed according to the acceleration strategy corresponding to the sixth nod amplitude range.
[0007] In one possible implementation, the step of adjusting the robot's current operating speed according to the speed adjustment strategy corresponding to the speed adjustment condition includes: determining a target speed value according to a deceleration strategy or an acceleration strategy, wherein the target speed value is the operating speed that the robot is to achieve after adjustment; comparing the target speed value with a preset speed range; if the target speed value does not exceed the preset speed range, then adjusting the robot's current operating speed to the target speed value, wherein if the target speed value is lower than the lower limit of the preset speed range, then adjusting the robot's current operating speed to the lower limit of the preset speed range; if the target speed value is higher than the upper limit of the preset speed range, then adjusting the robot's current operating speed to the upper limit of the preset speed range.
[0008] In one possible implementation, if the robot is under load, the step of determining a target speed value according to a deceleration or acceleration strategy, wherein the target speed value is the operating speed that the robot is to achieve after adjustment, further includes: determining the load center of gravity position based on the storage area status information; obtaining a deceleration or acceleration value matching the load center of gravity position from the deceleration or acceleration strategy based on the load center of gravity position; and adjusting the current operating speed of the robot according to the deceleration or acceleration value.
[0009] In one possible implementation, the step of adjusting the robot's current operating speed according to the speed adjustment strategy corresponding to the speed adjustment conditions includes: acquiring obstacle information on the robot's movement path; determining a deceleration strategy adapted to the robot's current movement scenario based on the obstacle information and the placement area status information, wherein the deceleration strategy includes an emergency braking strategy and a periodic deceleration strategy, wherein the emergency braking strategy is a strategy that directly adjusts the robot's current operating speed to zero, and the periodic deceleration strategy is a strategy that adjusts the robot's current operating speed to a target speed value according to a preset deceleration step size; and controlling the robot to perform braking processing according to the deceleration strategy adapted to the robot's current movement scenario.
[0010] In one possible implementation, the step of determining the deceleration strategy adapted to the robot's current motion scenario based on the obstacle information and the storage area status information includes: determining whether there are obstacles on the robot's motion path and whether the distance between the obstacle and the robot is greater than a preset distance value based on the obstacle information; if there are no obstacles on the robot's motion path, then the deceleration strategy adapted to the robot's current motion scenario is determined to be a periodic deceleration strategy; if the distance between the obstacle and the robot is not greater than the preset distance value, then the deceleration strategy adapted to the robot's current motion scenario is determined to be an emergency braking strategy; if the distance between the obstacle and the robot is greater than the preset distance value but the robot is in an unloaded state, then the deceleration strategy adapted to the robot's current motion scenario is determined to be an emergency braking strategy; if the distance between the obstacle and the robot is greater than the preset distance value but the robot is in a loaded state, then the deceleration strategy adapted to the robot's current motion scenario is determined to be a periodic deceleration strategy.
[0011] In one possible implementation, the step of determining the robot's head nodding amplitude value based on the operating speed information and the storage area status information includes: determining a data statistical range based on the operating speed information and the storage area status information; obtaining historical head nodding amplitude data of the robot from a historical database according to the data statistical range, wherein the data range is determined by any one of the following methods: speed value and storage area status, or speed range and storage area status; and performing data statistical analysis based on the historical head nodding amplitude data to determine the robot's head nodding amplitude value.
[0012] In one possible implementation, before the step of adjusting the robot's current operating speed according to the speed adjustment strategy corresponding to the speed adjustment conditions when the head nodding amplitude value meets the speed adjustment conditions, the method further includes: taking all speed values included in the preset speed range one by one as specified speed values, and obtaining the pitch angle data of the robot performing emergency braking at the specified speed values; calculating the head nodding amplitude value of the robot performing emergency braking at different specified speed values based on the pitch angle data; comparing the head nodding amplitude value of the robot performing emergency braking at different specified speed values with the preset head nodding amplitude value range, filtering out all specified speed values that meet the requirements of the preset head nodding amplitude value range, and determining the robot's factory-set speed from all specified speed values that meet the requirements of the preset head nodding amplitude value range.
[0013] A second aspect of this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the electronic device, wherein the processor executes the computer program to implement the steps of the motion control method for a robot provided in the first aspect.
[0014] A third aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the motion control method for a robot provided in the first aspect.
[0015] A fourth aspect of this application provides a computer program product that, when run on an electronic device, causes the electronic device to execute the steps of the motion control method for the robot provided in the first aspect.
[0016] This application provides a robot motion control method and its electronic device, which have the following features:
[0017] Beneficial effects:
[0018] This application obtains the robot's current running speed information and the status information of the storage area; determines the robot's head nodding amplitude value based on the running speed information and the status information of the storage area; and adjusts the robot's current running speed according to the speed adjustment strategy corresponding to the speed adjustment conditions when the head nodding amplitude value meets the speed adjustment conditions. This enables the selection of different strategies for robot motion control based on the robot's head nodding amplitude value for different motion scenarios, which can effectively improve the robot's motion stability, safety, and motion efficiency. Attached Figure Description
[0019] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0020] Figure 1 This is a schematic diagram of the structure of a delivery robot provided in an embodiment of this application;
[0021] Figure 2 This is a schematic diagram of another delivery robot provided in an embodiment of this application;
[0022] Figure 3 A flowchart illustrating the implementation of a motion control method for a robot provided in this application embodiment;
[0023] Figure 4 A flowchart illustrating a method for adjusting the running speed of a robot in an unloaded state in the motion control method of this application embodiment;
[0024] Figure 5A flowchart illustrating a method for adjusting the running speed of a robot under load in a robot motion control method provided in this application embodiment;
[0025] Figure 6 A flowchart of the first method for adjusting the current running speed of a robot in the robot motion control method provided in this application embodiment;
[0026] Figure 7 A flowchart of a second method for adjusting the current running speed of a robot in the motion control method provided in this application embodiment;
[0027] Figure 8 A flowchart of a third method for adjusting the current running speed of a robot in the motion control method provided in this application embodiment;
[0028] Figure 9 A flowchart of a method for determining a deceleration strategy suitable for the current motion scene of a robot in the motion control method provided in the embodiments of this application;
[0029] Figure 10 A flowchart illustrating one method for determining the robot's head nodding amplitude value in the robot motion control method provided in this application embodiment;
[0030] Figure 11 A flowchart of a method for determining the factory-set speed of a robot in the motion control method provided in this application embodiment;
[0031] Figure 12 A schematic diagram of a robot test provided in an embodiment of this application;
[0032] Figure 13 This is a basic structural block diagram of an electronic device provided in an embodiment of this application. Detailed Implementation
[0033] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of this application with unnecessary detail.
[0034] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.
[0035] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0036] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."
[0037] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0038] References to "one embodiment" or "some embodiments" in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized. "A plurality" means "two or more."
[0039] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0040] The motion control method for robots provided in this application can be specifically applied to delivery robots. A delivery robot is a robot capable of performing delivery tasks and delivering items to users. Delivery scenarios for delivery robots include residential communities, warehouses, airports, and hotels, particularly for food delivery services in restaurants and room delivery services in hotels. The delivery area of a delivery robot refers to a pre-designated area within the delivery scenario. For example, the delivery area can be a specific location within the delivery scenario, such as a building in a residential community or the doorway of a room in a hotel.
[0041] Please see Figure 1 , Figure 1 This is a schematic diagram of a delivery robot provided in an embodiment of this application. The motion control method of the robot in this application can be applied to this delivery robot. Figure 1 As shown, the robot includes: a shell 20 for carrying objects, a mobile chassis 10, a function controller for providing user operation, a low-level controller for map generation and path planning, and a component controller for controlling the movement unit and the environment detection unit; the mobile chassis is provided with at least two sets of drive wheels 120, each set of drive wheels 120 being located on one side of the mobile chassis 10; the component controller controls the travel speed of the drive wheels 120.
[0042] The chassis 10 has at least one turn signal unit 110 at the bottom, and each turn signal unit 110 includes at least one turn signal 111; the moving unit is provided with at least two sets of drive wheels 120, and each set of drive wheels 120 is located on one side of the chassis 10; the component controller controls the traveling speed of the drive wheels 120; and controls the turn signal 111 in the turn signal unit 110 to light up in a preset manner when the robot turns.
[0043] Specifically, among the drive wheels 120 configured in the mobile unit, at least one set of drive wheels 120 serves as the left drive wheel, and at least one set of drive wheels 120 serves as the right drive wheel, with the left and right drive wheels located on opposite sides of the chassis 10. Optionally, the mobile unit may also include at least two sets of driven wheels, one set of drive wheels corresponding to one set of driven wheels, wherein at least one set of driven wheels serves as the left driven wheel, and at least one set of driven wheels serves as the right driven wheel. The left and right driven wheels assist the left and right drive wheels in driving the robot's housing 20 and chassis 10, reducing the load pressure on the drive wheels 120.
[0044] The robot provided in this embodiment of the invention uses a component controller to illuminate the turn signal when the robot turns, in order to alert pedestrians.
[0045] In one example, when the speed difference between the drive wheels 120 on both sides of the chassis 10 is greater than a preset value, the component controller controls the turn signal 111 in the turn signal unit 110 to light up in a preset manner.
[0046] In one example, the robot also includes a voice module electrically connected to the component controller; the component controller controls the voice module to issue voice prompts when the robot turns.
[0047] In one example, the robot also includes a lidar system that can rotate along a set plane, causing its photoelectric receiving array to form a scanning cylinder. The lidar system can be positioned at an opening in the robot's housing, facilitating the emission of laser signals to detect surrounding objects. Exemplarily, the lidar system includes a photoelectric receiving array and a laser emitting unit array. When the lidar system rotates along the set plane, the photoelectric receiving array forms a scanning cylinder, increasing the scanning area and facilitating the acquisition of detailed object shapes, thus preventing the robot from colliding with obstacles. If the lidar system contains only a single photoelectric receiving unit and a single laser emitting unit, it can only measure the shape of an object within a single circle after rotating along the set plane, failing to capture the shapes of complex objects in a timely manner, increasing the risk of collisions and endangering personal safety and property. Optionally, the set plane can be a horizontal plane, facilitating object detection during robot movement. Furthermore, other set planes, such as a vertical plane, can be selected according to user needs; this embodiment does not limit this.
[0048] In one example, the robot is also equipped with acquisition sensors and a modeling processor. The modeling processor uses environmental data collected by the acquisition sensors to build an environmental map. Exemplary acquisition sensors include LiDAR, ultrasonic sensors, and infrared sensors. These sensors collect data on the robot's work area. The modeling processor uses this data to create a map, generating different map layers using different sensors, such as static layers, dynamic obstacle layers, ultrasonic layers, and visual layers. These layers are then fused to obtain a positioning map for the robot's localization and navigation. The robot can plan a path based on the positioning map. For example, it can determine its current position, target position, and obstacle positions based on the positioning map, and then plan a path accordingly. The target position is either a user-defined location or a position determined by the robot's processing system that it needs to move to. This target position can be the next position determined during movement or the robot's final destination. The current position is the robot's real-time position information determined by the position sensors.
[0049] Please see Figure 2 , Figure 2 This is a schematic diagram of another delivery robot provided as an embodiment of this application. The motion control method of the robot in this application can be applied to this delivery robot. Figure 2As shown, the delivery robot includes a storage area 30, a mobile base 40, and a control interface 50. The storage area 30 is multi-layered, and each layer can hold items. Drive wheels are mounted on the bottom of the mobile base 40, and the robot's forward, backward, and turning movements are achieved by controlling the drive wheels. A control application is installed in the control interface 50. This application is used to capture pitch angle data reported by the robot's IMU inertial sensor and calculate the head nod amplitude based on the captured pitch angle data. This embodiment is not limited in any way. For some embodiments of this application, please refer to... Figure 3 , Figure 3 This is a flowchart illustrating the implementation of a robot motion control method according to an embodiment of this application. Figure 3 As shown, it may specifically include steps S11 to S13.
[0050] S11: Obtain the robot's current running speed information and the status information of the storage area.
[0051] In one example, the robot's current operating speed can be detected by a speed sensor installed on the robot. The robot's storage area status includes an empty state and a loaded state. If it is a multi-layer delivery robot, the load can be divided into a single-layer load or a multi-layer load, etc. Specifically, the current storage area status information can be obtained by installing a radar device in the robot's storage area to monitor the storage area. Alternatively, the current storage area status information can be obtained by installing a camera device in the robot's storage area to acquire images of the storage area; or by using infrared sensors, gravity sensors, etc., which are not limited in this embodiment.
[0052] S12: Determine the nodding amplitude value of the robot based on the running speed information and the status information of the storage area.
[0053] In this embodiment, the robot's current head nod amplitude value can be obtained by analyzing IMU (Inertial Measurement Unit) data. IMU data is measured by the robot's inertial sensors, specifically the robot's pitch angle data. The robot's historical database stores historical head nod amplitude values for the robot at different movement speeds and in different placement areas. It can be understood that head nod amplitude refers to the difference between the maximum and minimum pitch angles captured by the robot. In one example, based on the robot's current operating speed and placement area status information, historical head nod amplitude values matching this information can be extracted from the robot's historical database. By combining these matching historical head nod amplitude values with the robot's current head nod amplitude value, the robot's total head nod amplitude value can be determined. It is understood that the robot's head nodding amplitude value can be the mean or median value calculated based on all matching historical head nodding amplitude value data and the current head nodding amplitude value obtained through IMU data analysis. This mean or median value can be calculated by averaging or medianing all historical head nodding amplitude value data and the current head nodding amplitude value obtained through IMU data analysis, or it can be obtained by first filtering out outliers from all historical head nodding amplitude value data and the current head nodding amplitude value obtained through IMU data analysis, and then calculating the mean or median based on the head nodding amplitude value data after removing outliers. Outliers are head nodding amplitude values with significant differences among these historical head nodding amplitude value data and the current head nodding amplitude value obtained through IMU data analysis. This embodiment does not impose any limitations on this.
[0054] In one example, when extracting historical head nod amplitude data from the robot's historical database, the robot's current operating route can also be considered, and historical head nod amplitude data matching the current operating route can be extracted from the robot's historical database.
[0055] S13: If the nodding amplitude value meets the speed adjustment condition, adjust the current running speed of the robot according to the speed adjustment strategy corresponding to the speed adjustment condition.
[0056] In this embodiment, different speed adjustment conditions are configured for different robot motion scenarios, establishing a correspondence between motion scenarios and speed adjustment conditions. Furthermore, different speed adjustment conditions are also configured with different speed adjustment strategies, establishing a correspondence between speed adjustment conditions and speed adjustment strategies. In this embodiment, the current robot motion scenario can be determined based on the robot's current running speed information and the status information of the storage area, and then the corresponding speed adjustment conditions can be obtained based on the current robot motion scenario. By comparing the robot's head nodding amplitude value with the speed adjustment conditions, it is determined whether the head nodding amplitude value meets the speed adjustment conditions. If the head nodding amplitude value meets the speed adjustment conditions, the speed adjustment strategy corresponding to the speed adjustment conditions can be obtained based on the correspondence between the speed adjustment conditions and speed adjustment strategies, and then the robot's current running speed can be adjusted according to the speed adjustment strategy corresponding to the speed adjustment conditions.
[0057] As can be seen from the above, the robot motion control method provided in this application obtains the robot's current running speed information and the status information of the storage area; determines the robot's head nodding amplitude value based on the running speed information and the storage area status information; and adjusts the robot's current running speed according to the speed adjustment strategy corresponding to the speed adjustment condition when the head nodding amplitude value meets the speed adjustment condition. This achieves the ability to select different strategies for different motion scenarios to control the robot's motion based on the robot's head nodding amplitude value, which can effectively improve the robot's motion stability, safety, and motion efficiency.
[0058] In some embodiments of this application, please refer to Figure 4 , Figure 4 This is a flowchart illustrating a method for adjusting the running speed of a robot in an unloaded state within the robot motion control method provided in this application embodiment. Figure 4 As shown, it may specifically include steps S21 to S22.
[0059] S21: Based on the status information of the storage area, determine whether the robot is in an unloaded state;
[0060] S22: If the robot is in an idle state, the nodding amplitude value is compared with the speed adjustment conditions in the idle state. If the nodding amplitude value falls within the first nodding amplitude value range, the robot's current running speed is adjusted according to the deceleration strategy corresponding to the first nodding amplitude value range. If the nodding amplitude value falls within the second nodding amplitude value range, the robot's current running speed is kept unchanged. If the nodding amplitude value falls within the third nodding amplitude value range, the robot's current running speed is adjusted according to the acceleration strategy corresponding to the third nodding amplitude value range.
[0061] In this embodiment, the robot's motion scenario can be divided according to the state of the storage area, and the speed adjustment conditions include those for the idle state. Based on speed, the robot's motion control methods include three types: deceleration adjustment, acceleration adjustment, and maintaining a constant speed. The speed adjustment conditions are specifically set based on the head nodding amplitude value. For the above three motion control methods, the speed adjustment conditions for the idle state include a first head nodding amplitude value range for controlling the robot to execute a deceleration strategy in the idle state, a second head nodding amplitude value range for controlling the robot to maintain a constant speed in the idle state, and a third head nodding amplitude value range for controlling the robot to execute an acceleration strategy in the idle state. In this embodiment, after obtaining the robot's current storage area state information, it can first determine whether the robot is in an idle state based on the storage area state information. If it is determined that the robot is in an idle state, the robot's head nodding amplitude value is compared with each speed adjustment condition in the idle state to determine which speed adjustment condition in the idle state matches the robot's head nodding amplitude value. For example, if the head nodding amplitude value falls within the first head nodding amplitude value range, the robot's current running speed is adjusted according to the deceleration strategy corresponding to the first head nodding amplitude value range. If the nodding amplitude falls within the second nodding amplitude range, the robot's current running speed remains unchanged. If the nodding amplitude falls within the third nodding amplitude range, the robot's current running speed is adjusted according to the acceleration strategy corresponding to the third nodding amplitude range. It can be understood that the deceleration strategy includes strategies that decelerate according to a preset deceleration step size or strategies that directly reduce speed to zero. The acceleration strategy includes strategies that decelerate according to a preset acceleration step size. This embodiment designs speed adjustment conditions and speed adjustment strategies based on the nodding amplitude value for the robot's idle state, enabling the selection of different strategies for motion control of the robot in different idle scenarios.
[0062] In some embodiments of this application, please refer to Figure 5 , Figure 5 This is a flowchart illustrating a method for adjusting the running speed of a robot under load, as provided in an embodiment of this application. Figure 5 As shown, it may specifically include steps S31 to S32.
[0063] S31: Based on the status information of the storage area, determine whether the robot is in a loaded state;
[0064] S32: If the robot is in an idle state, compare the nodding amplitude value with the speed adjustment conditions in the idle state. If the nodding amplitude value falls within the fourth nodding amplitude value range, adjust the robot's current running speed according to the deceleration strategy corresponding to the fourth nodding amplitude value range. If the nodding amplitude value falls within the fifth nodding amplitude value range, keep the robot's current running speed unchanged. If the nodding amplitude value falls within the sixth nodding amplitude value range, adjust the robot's current running speed according to the acceleration strategy corresponding to the sixth nodding amplitude value range.
[0065] In this embodiment, based on the motion scenario divided according to the state of the storage area, the speed adjustment conditions also include speed adjustment conditions under load. According to the three robot motion control methods—deceleration adjustment, acceleration adjustment, and maintaining constant speed—the speed adjustment conditions under load specifically include a fourth nod amplitude range for controlling the robot to execute a deceleration strategy under load, a fifth nod amplitude range for controlling the robot to maintain constant speed under load, and a sixth nod amplitude range for controlling the robot to execute an acceleration strategy under load. In this embodiment, after obtaining the current storage area state information of the robot, it can first determine whether the robot is under load based on the storage area state information. If it is determined that the robot is under load, the nod amplitude value of the robot is compared with each speed adjustment condition under load to determine which speed adjustment condition under load matches the robot's nod amplitude value. For example, if the head nodding amplitude value falls within the fourth head nodding amplitude value range, the robot's current running speed is adjusted according to the deceleration strategy corresponding to the fourth head nodding amplitude value range; if the head nodding amplitude value falls within the fifth head nodding amplitude value range, the robot's current running speed remains unchanged; if the head nodding amplitude value falls within the sixth head nodding amplitude value range, the robot's current running speed is adjusted according to the acceleration strategy corresponding to the sixth head nodding amplitude value range. It can be understood that the deceleration strategy includes a strategy of decelerating according to a preset deceleration step size. The acceleration strategy includes a strategy of decelerating according to a preset acceleration step size. This embodiment, through the design of speed adjustment conditions and speed adjustment strategies based on the robot's load state using head nodding amplitude values, achieves the selection of different strategies for motion control of the robot for different load scenarios.
[0066] In some embodiments of this application, please refer to Figure 6 , Figure 6 This is a flowchart of the first method for adjusting the robot's current running speed using an adjustment strategy in the robot motion control method provided in this application embodiment. Figure 6 As shown, it may specifically include steps S41 to S42.
[0067] S41: Determine the target speed value according to the deceleration strategy or acceleration strategy, wherein the target speed value is the operating speed that the robot is to achieve after adjustment;
[0068] S42: Compare the target speed value with a preset speed range. If the target speed value does not exceed the preset speed range, adjust the robot's current operating speed to the target speed value. If the target speed value is lower than the lower limit of the preset speed range, adjust the robot's current operating speed to the lower limit of the preset speed range. If the target speed value is higher than the upper limit of the preset speed range, adjust the robot's current operating speed to the upper limit of the preset speed range.
[0069] In this embodiment, the robot undergoes a robot test before leaving the factory to obtain a qualified operating speed range. This qualified operating speed range is stored locally on the robot as a preset speed range to limit the robot's operating speed. For example, assuming the qualified operating speed range is 60cm / s to 90cm / s, the robot's operating speed can only be any speed within this range. In this embodiment, when adjusting the robot's current operating speed using a deceleration or acceleration strategy, a target speed value can be determined according to the deceleration or acceleration strategy. The target speed value is the operating speed that the robot is expected to achieve after adjustment. For example, assuming the robot's current operating speed is 68cm / s and the deceleration strategy is configured with a deceleration step size of 5cm / s, then when adjusting the robot's current operating speed using the deceleration strategy, the target speed value is 68cm / s - 5cm / s = 63cm / s. After obtaining the target speed value, the robot further retrieves the locally stored acceptable operating speed range and compares it with the preset speed range. If the target speed value does not exceed the preset speed range, the robot's current operating speed is adjusted to the target speed value. For example, if the calculated target speed value is 63 cm / s, and the robot's stored preset speed range is 60 cm / s to 90 cm / s, then 63 cm / s falls within this range. Therefore, the robot can be decelerated, adjusting its current operating speed from 68 cm / s to 63 cm / s. This embodiment ensures robot safety by limiting the adjusted operating speed to within the preset speed range.
[0070] Regarding deceleration strategies, the target speed value calculated based on the deceleration strategy may exceed the preset speed range, specifically, the target speed value may be lower than the lower limit of the preset speed range. Therefore, in this embodiment, if the target speed value is lower than the lower limit of the preset speed range, the robot's current operating speed can be adjusted to the lower limit of the preset speed range. For example, suppose the target speed value of the robot calculated by the deceleration strategy is 58 cm / s, and the lower limit of the preset speed range is 60 cm / s. Since 58 cm / s < 60 cm / s, the robot's current operating speed can be adjusted to 60 cm / s.
[0071] Regarding the acceleration strategy, the target speed value calculated based on the acceleration strategy may exceed the preset speed range, specifically, the target speed value is higher than the upper limit of the preset speed range. Therefore, in this embodiment, if the target speed value is higher than the upper limit of the preset speed range, the robot's current running speed can be adjusted to the upper limit of the preset speed range. For example, assuming the robot's current running speed is 86 cm / s, and the acceleration strategy is configured with an acceleration step size of 5 cm / s, then when adjusting the robot's current running speed through the acceleration strategy, the target speed value is 86 cm / s + 5 cm / s = 91 cm / s. Since 91 cm / s > 90 cm / s, the robot's current running speed can be adjusted to 90 cm / s.
[0072] In some embodiments of this application, please refer to Figure 7 , Figure 7 This is a flowchart illustrating a second method for adjusting the robot's current running speed using a strategy within the robot motion control method provided in this application embodiment. (See flowchart for example.) Figure 7 As shown, it may specifically include steps S51 to S53.
[0073] S51: Determine the position of the load center of gravity based on the status information of the storage area;
[0074] S52: Based on the load center location, obtain a deceleration value or acceleration value that matches the load center location from the deceleration strategy or the acceleration strategy;
[0075] S53: Adjust the robot's current operating speed according to the deceleration or acceleration value.
[0076] In this embodiment, the robot's motion scenario can be further refined according to the load center of gravity position, based on the robot's load state. For example, assuming the robot's storage area is divided into upper, middle, and lower layers, the motion scenario can be further divided into upper-layer single-load scenario, middle-layer single-load scenario, lower-layer single-load scenario, and multi-layer load scenario. Different deceleration and acceleration strategies are configured for these different motion scenarios. Specifically, different deceleration strategies correspond to different deceleration step values, and different acceleration strategies correspond to different acceleration step values. In this embodiment, after obtaining the storage area state information, if the storage area is in a loaded state, the load center of gravity position can be further determined based on this information. Then, based on the load center of gravity position, a deceleration or acceleration value matching the load center of gravity position is obtained from the corresponding deceleration or acceleration strategy. The robot's current running speed is then adjusted according to the obtained deceleration or acceleration value. This embodiment achieves different strategy selection for different load scenarios with different center of gravity positions by designing different acceleration and deceleration strategies for different load center of gravity positions, thus enabling motion control of the robot.
[0077] In some embodiments of this application, please refer to Figure 8 , Figure 8 This is a flowchart illustrating a third method for adjusting the robot's current running speed using an adjustment strategy in the robot motion control method provided in this application embodiment. (See flowchart for example.) Figure 8 As shown, it may specifically include steps S61 to S63.
[0078] S61: Obtain obstacle information on the robot's movement path;
[0079] S62: Based on the obstacle information and the status information of the placement area, determine the deceleration strategy adapted to the current motion scene of the robot. The deceleration strategy includes an emergency braking strategy and a periodic deceleration strategy. The emergency braking strategy is a strategy to directly adjust the current running speed of the robot to zero. The periodic deceleration strategy is a strategy to adjust the current running speed of the robot to a target speed value according to a preset deceleration step value.
[0080] S63: Control the robot to perform braking according to the deceleration strategy adapted to the current motion scenario of the robot.
[0081] In this embodiment, for scenarios where obstacles exist in front of the robot during its movement, a deceleration strategy can be used to adjust the robot's current running speed, thereby enabling the robot to avoid obstacles on its movement path. Specifically, obstacle information on the robot's movement path can be obtained, including but not limited to the distance information between the obstacle and the robot. In this embodiment, the robot's movement scenario can be further refined by combining obstacle distance and storage area status. For example, two ranges can be set according to obstacle distance: a near range and a far range. The storage area status includes two states: empty and loaded. Based on these two ranges and states, the following movement scenarios can be obtained: obstacle-free scenario, obstacle at near range scenario, obstacle at far range and storage area loaded scenario, obstacle at near range and storage area empty scenario, etc. Different deceleration strategies are configured for the above different movement scenarios. Specifically, the deceleration strategies include a sudden braking strategy and a periodic deceleration strategy. The sudden braking strategy is a strategy that directly adjusts the robot's current running speed to zero, and the periodic deceleration strategy is a strategy that adjusts the robot's current running speed to a target speed value according to a preset deceleration step value. For periodic deceleration strategies, different periodic deceleration strategies can be set according to different deceleration step sizes to be applied to different motion scenarios. For the different motion scenarios described above, each motion scenario is configured with a corresponding deceleration strategy. Based on this, after obtaining obstacle information on the robot's motion path, the deceleration strategy suitable for the current motion scenario can be determined according to the obstacle information and the status information of the storage area. Then, according to the deceleration strategy suitable for the current motion scenario, the robot is controlled to decelerate, thereby achieving the purpose of braking. For example, in this embodiment, for obstacle-free scenarios, regardless of whether the robot is loaded, its deceleration strategy is configured as a periodic deceleration strategy. For scenarios where obstacles are within a short distance, its deceleration strategy is configured as a sudden braking strategy. For scenarios where obstacles are within a long distance and the storage area is loaded, its deceleration strategy is configured as a periodic deceleration strategy. For scenarios where obstacles are within a long distance and the storage area is empty, its deceleration strategy is configured as a sudden braking strategy. In this embodiment, the periodic deceleration strategy refers to the process of phased deceleration. For some less urgent scenarios, using the periodic deceleration strategy for braking can extend the braking distance, ensure the stability of the robot, and improve the safety of transported goods.
[0082] In some embodiments of this application, please refer to Figure 9 , Figure 9 This is a flowchart illustrating a method for determining a deceleration strategy suitable for the current motion scene of a robot in the motion control method provided in this application embodiment. Figure 9 Specifically, this may include steps S71 to S75.
[0083] S71: Determine whether there are obstacles on the robot's movement path based on the obstacle information, and determine whether the distance between the obstacle and the robot is greater than a preset distance value;
[0084] S72: If there are no obstacles on the robot's movement path, then the deceleration strategy adapted to the current movement scene of the robot is determined to be a periodic deceleration strategy.
[0085] S73: If the distance between the obstacle and the robot is not greater than the preset distance value, then the deceleration strategy adapted to the current motion scene of the robot is determined to be the emergency braking strategy.
[0086] S74: If the distance between the obstacle and the robot is greater than a preset distance value but the robot is in an unloaded state, then the deceleration strategy adapted to the current motion scene of the robot is determined to be an emergency braking strategy.
[0087] S75: If the distance between the obstacle and the robot is greater than a preset distance value but the robot is under load, then the deceleration strategy adapted to the current motion scene of the robot is determined to be a periodic deceleration strategy.
[0088] In this embodiment, for scenarios where there are obstacles in front of the robot during its movement, a deceleration strategy adapted to the current movement scenario is determined based on obstacle information and the status information of the placement area. The motion control method is dynamically adjusted according to the actual movement scenario of the robot, optimizing the robot's safety and stability under different movement scenarios. Specifically, the deceleration strategy adapted to the current movement scenario can be determined by determining whether there are obstacles on the robot's movement path and whether the distance between the obstacle and the robot is greater than a preset distance value. It should be noted that when there are no obstacles on the robot's movement path, the obstacle information acquired by the robot is empty. When there are obstacles on the robot's movement path, or by further detecting the distance between the obstacle and the robot, the robot acquires this distance value as obstacle information. After obtaining obstacle information, the robot can determine whether there are obstacles on its movement path by identifying whether the obstacle information is empty. If the obstacle information is empty, it is determined that the current movement scenario of the robot is an obstacle-free scenario. At this time, the deceleration strategy adapted to the current movement scenario of the robot can be determined to be the periodic deceleration strategy corresponding to the obstacle-free scenario. If the obstacle information is not empty, it is determined that there is an obstacle on the robot's movement path. The distance value recorded in the obstacle information is then compared with a preset distance value to determine if the distance between the obstacle and the robot is greater than the preset distance value. If the distance is not greater than the preset distance value, the robot's current movement scenario is one where the obstacle is within a close range. In this case, the appropriate deceleration strategy for the current robot movement scenario is the emergency braking strategy corresponding to a scenario where the obstacle is within a close range. If the distance between the obstacle and the robot is greater than the preset distance value, the robot's storage area status information is considered. If the storage area is empty, the robot's current movement scenario is one where the obstacle is at a far distance and the storage area is empty. In this case, the appropriate deceleration strategy for the current robot movement scenario is the emergency braking strategy corresponding to a scenario where the obstacle is at a far distance and the storage area is empty. If the distance between the obstacle and the robot is greater than the preset distance value, combined with the robot's storage area status information, if the robot's storage area status is a loaded state, it means that the robot's current motion scenario is a scenario where the obstacle is located at a long distance and the storage area is loaded. At this time, it can be determined that the deceleration strategy adapted to the robot's current motion scenario is the periodic deceleration strategy corresponding to the scenario where the obstacle is located at a long distance and the storage area is loaded.
[0089] In some embodiments of this application, please refer to Figure 10 , Figure 10 This is a flowchart illustrating one method for determining the robot's head nodding amplitude in the robot motion control method provided in this application embodiment. Figure 10 As shown, it may specifically include steps S81 to S82.
[0090] S81: Based on the running speed information and the storage area status information, determine the data statistics range, and obtain the robot's historical head nodding amplitude data from the historical database according to the data statistics range. The data range is determined by any one of the following methods: speed value and storage area status, speed range and storage area status.
[0091] S82: Perform statistical analysis on the historical nodding amplitude data to determine the nodding amplitude value of the robot.
[0092] In this embodiment, the robot's internal historical database can be divided into data ranges according to either speed value and storage area status, or speed range and storage area status, to achieve grouped storage of historical data. When saving historical data grouped by speed value and storage area status, the storage conditions for each group are set to speed value and storage area status. For example, assuming a group's speed value condition is 65 cm / s and the storage area status condition is "loaded," then historical head nodding amplitude values that meet the conditions of a speed value of 65 cm / s and a storage area status of "loaded" will be saved to that group. Similarly, when saving historical data grouped by speed range and storage area status, the storage conditions for each group are set to speed range and storage area status. For example, assuming a group's speed range condition is 60 cm / s to 65 cm / s and the storage area status condition is "loaded," then historical head nodding amplitude values that meet the conditions of a speed value falling within the 60 cm / s to 65 cm / s speed range and a storage area status of "loaded" will be saved to that group. In this embodiment, after obtaining the robot's current operating speed information and the storage area status information, the data statistical range can be determined based on this information. For example, assuming the robot's current operating speed is 68 cm / s and the storage area is in a loaded state, the corresponding data group is retrieved from the historical database based on this speed of 68 cm / s and load status, and all historical head-nodding amplitude values stored in that group are obtained. Then, based on the current head-nodding amplitude value obtained by the robot's IMU inertial sensor, and combined with all the obtained historical head-nodding amplitude data, statistical analysis is performed to determine the robot's head-nodding amplitude value, thereby improving the safety of robot motion control. Specifically, the statistical analysis can involve calculating the average of the current head-nodding amplitude value and all historical head-nodding amplitude data.
[0093] In some embodiments of this application, please refer to Figure 11 , Figure 11 This is a flowchart illustrating a method for determining the robot's factory-set speed in the robot motion control method provided in this application embodiment. Figure 11 As shown, it may specifically include steps S91 to S93.
[0094] S91: Take all the speed values included in the preset speed range one by one as the specified speed value, and obtain the pitch angle data of the robot performing emergency braking at the specified speed value;
[0095] S92: Based on the pitch angle data, calculate the nodal amplitude value of the robot when performing emergency braking at different specified speed values;
[0096] S93: Compare the head nodding amplitude values of the robot when performing emergency braking at different specified speed values with the preset head nodding amplitude value range, filter out all specified speed values that meet the requirements of the preset head nodding amplitude value range, and determine the factory-set speed of the robot from all specified speed values that meet the requirements of the preset head nodding amplitude value range.
[0097] In this embodiment, the robot's factory-set speed can be determined through robot testing based on a preset speed range stored locally on the robot. Specifically, the robot's factory-set speed is the optimal speed within the preset speed range for emergency braking scenarios. For example, a specified speed value can be set in the robot's control app, using all speed values within the preset speed range as the specified speed value, and acquiring the pitch angle data for emergency braking at that specified speed value. Specifically, during robot movement, the robot's IMU inertial sensor reports pitch angle data to the control app at a certain frequency. The IMU inertial sensor's data reporting frequency can be customized, such as 50-100 Hz. After receiving the reported pitch angle data, the control app can capture the pitch angle data for the two seconds after the robot triggers the pause command, from the moment the pause command is triggered until the robot stops, as the pitch angle data for emergency braking at the specified speed value. Then, based on the captured pitch angle data, the nodal amplitude value for emergency braking at different specified speed values is calculated. In this embodiment, multiple nodding amplitude values can be obtained through repeated tests, and the average of these multiple nodding amplitude values is then used as the final nodding amplitude value, thereby improving data accuracy. Specifically, when calculating the nodding amplitude value based on pitch angle data, the maximum and minimum angles in the pitch angle data are obtained, and the difference between the maximum and minimum angles is calculated as the nodding amplitude value. After obtaining the nodding amplitude value, it can be compared with a preset nodding amplitude value range for the robot to perform emergency braking at different specified speed values, thereby determining whether the specified speed value meets the preset nodding amplitude value range requirement. This preset nodding amplitude value range requirement represents the range of nodding amplitude values that characterizes the robot's acceptable performance, set by the robot's factory standards. After all speed values within the preset speed range have been tested one by one as specified speed values, all specified speed values that meet the preset nodding amplitude value range requirement can be selected. Then, by comparing the magnitudes of all specified speed values that meet the preset nodding amplitude range, the maximum speed value is determined, and this maximum speed value is set as the robot's factory-set speed. This achieves the determination of the robot's factory-set speed from all specified speed values that meet the preset nodding amplitude range.
[0098] In some embodiments of this application, before the robot leaves the factory, it can be tested at different movement speeds and in different placement areas to obtain head nodding amplitude data. This tested head nodding amplitude data is then stored as historical head nodding amplitude data in a historical database. For example, please refer to... Figure 12 , Figure 12 This is a schematic diagram of a robot test provided as an embodiment of this application. Figure 12As shown, the robot's testing process can be as follows: During the test, the robot starts from point A and moves towards point C. It automatically pauses after every 6 seconds, marking the pause point as B. After pausing for 2 seconds at point B, it automatically moves towards point C again, completing the first test upon reaching the target point C. Then, the robot automatically starts from point C and moves towards point A again, pausing after every 6 seconds, marking the pause point as D. After pausing for 2 seconds at point D, it automatically moves towards point A again, completing the second test upon reaching point A. This process is repeated multiple times until the total test time is reached, thus completing the test.
[0099] It is understood that the sequence numbers of the steps in the above embodiments do not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. For some embodiments of this application, please refer to... Figure 13 , Figure 13 This is a basic structural block diagram of an electronic device provided in an embodiment of this application. Figure 13 As shown, the electronic device 13 of this embodiment includes: a processor 131, a memory 132, and a computer program 133 stored in the memory 132 and executable on the processor 131, such as a program for a robot motion control method. When the processor 131 executes the computer program 133, it implements the steps in the various embodiments of the robot motion control methods described above. Alternatively, when the processor 131 executes the computer program 133, it implements the functions of each module in the embodiments corresponding to the robot motion control device described above. Please refer to the relevant descriptions in the embodiments for details, which will not be repeated here.
[0100] For example, the computer program 133 can be divided into one or more modules (units) for performing the various steps in the above method embodiments. The one or more modules are stored in the memory 132 and executed by the processor 131 to complete this application. The one or more modules can be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of the computer program 133 in the electronic device 13.
[0101] The electronic device may include, but is not limited to, a processor 131 and a memory 132. Those skilled in the art will understand that... Figure 13 This is merely an example of electronic device 13 and does not constitute a limitation on electronic device 13. It may include more or fewer components than shown, or combine certain components, or different components. For example, the electronic device may also include input / output devices, network access devices, buses, etc.
[0102] The processor 131 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0103] The memory 132 can be an internal storage unit of the electronic device 13, such as a hard disk or memory of the electronic device 13. The memory 132 can also be an external storage device of the electronic device 13, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the electronic device 13. Furthermore, the memory 132 can include both internal and external storage units of the electronic device 13. The memory 132 is used to store the computer program and other programs and data required by the electronic device. The memory 132 can also be used to temporarily store data that has been output or will be output.
[0104] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.
[0105] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the steps in the various method embodiments described above. In this embodiment, the computer-readable storage medium can be either non-volatile or volatile.
[0106] This application provides a computer program product that, when run on a mobile terminal, enables the mobile terminal to implement the steps described in the various method embodiments.
[0107] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above device can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0108] If the integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electrical carrier signals and telecommunication signals.
[0109] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0110] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A motion control method for a robot, characterized in that, include: Obtain the robot's current operating speed and the status information of the storage area; Based on the running speed information and the status information of the storage area, the nodding amplitude value of the robot is determined; If the nodding amplitude value meets the speed adjustment condition, the robot's current operating speed is adjusted according to the speed adjustment strategy corresponding to the speed adjustment condition, including: Obstacle information on the robot's movement path; Based on the obstacle information and the status information of the placement area, a deceleration strategy adapted to the current motion scene of the robot is determined. The deceleration strategy includes an emergency braking strategy and a periodic deceleration strategy. Based on the deceleration strategy adapted to the robot's current motion scenario, the robot is controlled to perform braking.
2. The motion control method for a robot according to claim 1, characterized in that, The speed adjustment conditions include speed adjustment conditions under no-load conditions, which include a first nod amplitude range for controlling the robot to execute a deceleration strategy under no-load conditions, a second nod amplitude range for controlling the robot to maintain a constant speed under no-load conditions, and a third nod amplitude range for controlling the robot to execute an acceleration strategy under no-load conditions. The step of adjusting the robot's current operating speed according to the speed adjustment strategy corresponding to the speed adjustment conditions when the nodding amplitude value meets the speed adjustment conditions includes: Based on the status information of the storage area, determine whether the robot is in an unloaded state; If the robot is in an idle state, the nodding amplitude value is compared with the speed adjustment conditions in the idle state. If the nodding amplitude value falls within the first nodding amplitude value range, the robot's current running speed is adjusted according to the deceleration strategy corresponding to the first nodding amplitude value range. If the nodding amplitude value falls within the second nodding amplitude value range, the robot's current running speed remains unchanged. If the nodding amplitude value falls within the third nodding amplitude value range, the robot's current running speed is adjusted according to the acceleration strategy corresponding to the third nodding amplitude value range.
3. The motion control method for a robot according to claim 1, characterized in that, The speed adjustment conditions include speed adjustment conditions under load conditions, which include a fourth head nod amplitude range for controlling the robot to execute a deceleration strategy under load conditions, a fifth head nod amplitude range for controlling the robot to maintain a constant speed under load conditions, and a sixth head nod amplitude range for controlling the robot to execute an acceleration strategy under load conditions. The step of adjusting the robot's current operating speed according to the speed adjustment strategy corresponding to the speed adjustment conditions when the nodding amplitude value meets the speed adjustment conditions includes: Based on the status information of the storage area, determine whether the robot is under load; If the robot is under load, the nodding amplitude value is compared with the speed adjustment conditions under load. If the nodding amplitude value falls within the fourth nodding amplitude value range, the robot's current running speed is adjusted according to the deceleration strategy corresponding to the fourth nodding amplitude value range. If the nodding amplitude value falls within the fifth nodding amplitude value range, the robot's current running speed remains unchanged. If the nodding amplitude value falls within the sixth nodding amplitude value range, the robot's current running speed is adjusted according to the acceleration strategy corresponding to the sixth nodding amplitude value range.
4. The motion control method for a robot according to any one of claims 1-3, characterized in that, The step of adjusting the robot's current operating speed according to the speed adjustment strategy corresponding to the speed adjustment conditions includes: According to the deceleration strategy or acceleration strategy, a target speed value is determined, wherein the target speed value is the operating speed that the robot is to achieve after adjustment; The target speed value is compared with a preset speed range. If the target speed value does not exceed the preset speed range, the robot's current operating speed is adjusted to the target speed value. If the target speed value is lower than the lower limit of the preset speed range, the robot's current operating speed is adjusted to the lower limit of the preset speed range. If the target speed value is higher than the upper limit of the preset speed range, the robot's current operating speed is adjusted to the upper limit of the preset speed range.
5. The motion control method for a robot according to claim 4, characterized in that, If the robot is under load, the step of determining a target speed value according to a deceleration or acceleration strategy, wherein the target speed value is the operating speed that the robot is to achieve after adjustment, further includes: Based on the status information of the storage area, determine the position of the load center of gravity; Based on the load center of gravity position, obtain a deceleration value or acceleration value that matches the load center of gravity position from the deceleration strategy or the acceleration strategy; Adjust the robot's current operating speed according to the deceleration or acceleration value.
6. The motion control method for a robot according to any one of claims 1-3, characterized in that, The emergency braking strategy is a strategy that directly adjusts the robot's current operating speed to zero, and the periodic deceleration strategy is a strategy that adjusts the robot's current operating speed to a target speed value according to a preset deceleration step value.
7. The motion control method for a robot according to claim 6, characterized in that, The step of determining the deceleration strategy adapted to the robot's current motion scenario based on the obstacle information and the placement area state information includes: Based on the obstacle information, determine whether there are obstacles on the robot's movement path and whether the distance between the obstacle and the robot is greater than a preset distance value; If there are no obstacles on the robot's movement path, then the deceleration strategy adapted to the robot's current movement scenario is determined to be a periodic deceleration strategy. If the distance between the obstacle and the robot is not greater than a preset distance value, then the deceleration strategy adapted to the current motion scenario of the robot is determined to be an emergency braking strategy. If the distance between the obstacle and the robot is greater than a preset distance value but the robot is in an unloaded state, then the deceleration strategy adapted to the current motion scene of the robot is determined to be an emergency braking strategy. If the distance between the obstacle and the robot is greater than a preset distance value but the robot is under load, then the deceleration strategy adapted to the robot's current motion scenario is determined to be a periodic deceleration strategy.
8. The motion control method for a robot according to claim 1, characterized in that, The step of determining the robot's head nodding amplitude value based on the running speed information and the storage area status information includes: Based on the running speed information and the status information of the storage area, the data statistics range is determined, and the historical head nodding amplitude data of the robot is obtained from the historical database according to the data statistics range. The data statistics range is determined by any one of the following methods: speed value and storage area status, speed range and storage area status. The robot's nodding amplitude value is determined by statistical analysis of the historical nodding amplitude data.
9. The motion control method for a robot according to claim 1, 2, 3, or 8, characterized in that, Before the step of adjusting the robot's current operating speed according to the speed adjustment strategy corresponding to the speed adjustment conditions when the nodding amplitude value meets the speed adjustment conditions, the method further includes: By taking all speed values within the preset speed range as the specified speed value, the pitch angle data of the robot performing emergency braking at the specified speed value is obtained. Based on the pitch angle data, calculate the nodal amplitude value of the robot when performing emergency braking at different specified speed values; The robot's head nodding amplitude values during emergency braking at different specified speeds are compared with a preset head nodding amplitude value range. All specified speed values that meet the preset head nodding amplitude value range requirements are selected, and the robot's factory-set speed is determined from all specified speed values that meet the preset head nodding amplitude value range requirements.
10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Robot movement control method, robot movement control device and robot
CN113246126A