Robot carrier

The robotic carrier trained through machine learning uses sensors and models to analyze platform and load properties and dynamically adjusts docking strategies, solving the problem of unsuccessful docking or platform damage in complex environments, and achieving safe and efficient object handling.

CN120604187APending Publication Date: 2025-09-05OCADO INNOVATION LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380093141.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-05
Filing Date
2023-12-05
Publication Date
2025-09-05

AI Technical Summary

Technical Problem

When docking with a platform, existing robotic vehicles find it difficult to effectively identify and respond to the platform's attribute differences, load conditions, and environmental complexity, resulting in unsuccessful docking or damage to the platform and payload.

Method used

The robotic vehicle, trained with machine learning, uses sensors to collect data, analyzes platform and payload properties through machine learning models, and dynamically adjusts docking strategies to ensure successful docking and transportation without damaging the platform and payload.

Benefits of technology

It improves the success rate of docking the robot carrier with the platform in complex environments, reduces the risk of damage to the platform and load, and achieves safe and efficient object handling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120604187A_ABST
    Figure CN120604187A_ABST
Patent Text Reader

Abstract

Systems, devices, and methods are disclosed for assisting docking of a robotic vehicle with a platform. An example apparatus includes a memory; a machine readable instruction; and a processor circuit executing the machine-readable instructions to: identify an attribute associated with the platform; determining a confidence associated with docking the automated vehicle with the platform based on the attributes associated with the platform; identifying a positioning manipulation action performed by the automated vehicle relative to the platform based on the confidence and the attributes of the platform; and outputting an instruction to enable the automatic carrier to execute a positioning control action.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to U.S. patent application No. 18 / 075,156, filed on December 5, 2022, the entire contents of which are incorporated herein by reference. Technical Field

[0002] The present disclosure relates generally to robotic vehicles, and more particularly to systems, apparatus, and methods for assisting in docking a robotic vehicle with a platform. Background Art

[0003] A robotic vehicle (eg, a robotic truck) may include forks (also referred to as forks or tines) to enable the vehicle to pick up and move object(s) (eg, pallets) in an environment such as a warehouse.

[0004] According to a first aspect, an autonomous vehicle is provided, comprising: a memory; machine-readable instructions; and a processor circuit that executes the machine-readable instructions, the processor circuit being configured to, in use: identify attributes associated with a platform; determine a confidence level associated with docking the autonomous vehicle with the platform based on the attributes associated with the platform; identify a positioning maneuver to be performed by the autonomous vehicle relative to the platform based on the confidence level and the attributes of the platform; and cause the autonomous vehicle to perform the identified positioning maneuver. The processor circuit may perform a comparison of the confidence level with a threshold and then: i) identify the positioning maneuver if the confidence level meets the threshold; or ii) cause an alarm to be output if the confidence level does not meet the threshold. The attributes associated with the platform include one or more of the following: a shape of the platform, a size of the platform, an orientation of the platform in an environment, a position of the platform in an environment, a condition of the platform being built, a condition of the platform being maintained, or an attribute of a load supported by the platform.

[0005] The attribute associated with the platform can be a first attribute, and the processor circuit can then: identify a second attribute associated with the platform based on data corresponding to the output of the sensor when the fork of the automated vehicle is at least partially engaged with the platform; adjust the positioning maneuver based on the second attribute; and output instructions to cause the automated vehicle to perform the adjusted positioning maneuver.

[0006] The processor circuitry may determine, based on data corresponding to outputs from sensors of the autonomous vehicle, the orientation of the platform relative to the fork of the autonomous vehicle when the fork is at least partially engaged with the platform; adjust a positioning maneuver based on the orientation; and output instructions for the autonomous vehicle to perform the adjusted positioning maneuver. The processor circuitry may identify attributes associated with the platform based on image data output by the sensors of the autonomous vehicle. The processor circuitry may execute one or more machine learning models to determine the confidence level.

[0007] The attributes associated with the platform may include the weight of a load supported by the platform, and the processor circuit may identify a first positioning maneuver to cause the automated vehicle to move a fork of the automated vehicle to a first position relative to the platform when the load is associated with the first weight; and identify a second positioning maneuver to cause the automated vehicle to move the fork to a second position relative to the platform when the load is associated with a second weight.

[0008] According to a second aspect, a method for operating an automatic vehicle is provided, the method comprising the steps of: i) identifying one or more attributes of a platform; ii) selecting a positioning manipulation action relative to the platform to be performed by the automatic vehicle based on the one or more attributes identified in step i); and, iii) outputting instructions to cause the automatic vehicle to perform the positioning manipulation action selected in step ii).

[0009] If one or more further platform properties are identified during the execution of the positioning maneuver selected in step ii), the method comprises the further steps of: a) modifying the previously selected positioning maneuver; or b) selecting a further positioning maneuver. Thus, the automated vehicle may abort the positioning maneuver, for example if it detects significant damage to the platform. Alternatively, the automated vehicle may adjust the previously selected positioning maneuver, for example to pick up from a different position on the platform. In a further alternative, the automated vehicle may perform further positioning maneuvers, for example to disengage from the platform and / or subsequently reengage at a different position on the platform or to reengage in a different orientation.

[0010] In a further alternative, a first property of the platform may be identified in step i); a second property of the platform may be identified during execution of the selected positioning maneuver in step ii), the second property of the platform being identified based on data corresponding to output of a sensor when a fork of the automated vehicle is at least partially engaged with the platform; the method comprising the further steps of: iv) adjusting the positioning maneuver based on the second property; and v) outputting instructions to cause the automated vehicle to perform the adjusted positioning maneuver.

[0011] In step i), the one or more properties of the platform may include one or more properties of a load carried by the platform. In step i), the properties of the load carried by the platform may be identified, and in step ii), if the identified load property is a first load property, a first positioning maneuver may be selected to cause the automated vehicle to move the fork of the automated vehicle to a first position relative to the platform; or, if the identified load property is a second load property, a second positioning maneuver may be selected to cause the automated vehicle to move the fork of the automated vehicle to a second position relative to the platform.

[0012] In step ii), selecting the positioning maneuver may include executing one or more machine learning models to select the positioning maneuver. In step i), one or more attributes of the platform are identified based on the output of one or more sensors, the one or more sensors being carried by at least one of the platform or the autonomous vehicle. In step i), the one or more attributes of the platform may be identified based on the orientation or position of the platform in the environment. The positioning maneuver selected in step ii) may cause the autonomous vehicle to perform a first positioning maneuver to dock the autonomous vehicle with the platform. The autonomous vehicle may perform a further positioning maneuver to undock from the platform. In response to an indication that the autonomous vehicle has arrived at a predetermined destination, the autonomous vehicle undocks from the platform.

[0013] According to a third aspect, there is provided a non-transitory machine-readable storage medium comprising machine-readable code, wherein when the machine-readable code is executed, the method as described above is caused to be performed. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] Figure 1 A schematic diagram illustrating an embodiment of a system according to the teachings of the present disclosure is shown; Figure 2 Demonstrates that the teachings of the present disclosure include Figure 1 an exemplary system of exemplary robotic vehicles and exemplary docking control circuits; Figure 3 is a block diagram of an exemplary machine learning model training circuit; Figure 4 is a block diagram of an exemplary docking control circuit; Figure 5 is representative of what can be executed by an exemplary processor circuit to implement Figure 3 Example machine-readable instructions and / or a flowchart of example operations for machine learning training circuitry in; and Figure 6 is representative of what can be executed by an exemplary processor circuit to implement Figure 4 A flowchart of example machine-readable instructions and / or example operations of the docking control circuit in. DETAILED DESCRIPTION

[0015] Platforms, such as pallets, are used in warehouses to support goods and enable them to be transported from one location to another. Platforms can vary in size, shape, material (one or more), weight, condition, and other factors. Furthermore, the placement of platforms in the warehouse can affect access to them. For example, platforms may be positioned between other platforms and / or against one or more walls.

[0016] Robotic vehicles, such as automated carriers, may include forks to pick up a platform, such as a pallet (e.g., where the platform includes an opening to receive the forks) and move the platform to another location within the environment. However, differences in the properties and / or location of the respective platforms may affect the ability of the robotic vehicle to dock with (e.g., automatically engage or connect with) the platform for transport. Furthermore, the platform may or may not be supporting a load (e.g., cargo). The presence of cargo supported by the platform, the type of cargo, and the placement of the cargo on the platform may also affect the ability of the robotic vehicle to automatically dock with the platform for transport.

[0017] This application discloses embodiments of machine learning-trained robotic vehicles (e.g., autonomous vehicles, robotic trucks, robotic pallet trucks) having forks to support and / or carry objects (one or more), such as platforms containing cargo, in an environment such as a warehouse. Embodiments disclosed herein utilize machine learning to train a robotic vehicle to dock with a platform, such as a pallet. Embodiments disclosed herein generate one or more machine learning docking algorithms to determine the confidence, probability, or likelihood that the robotic vehicle can dock and / or transport the platform without damaging or substantially damaging the platform, any load supported by the platform, and / or the vehicle, based on variables such as the platform's state and / or position in the environment, the type of load, and the placement of the load on the platform. In embodiments where the likelihood of a successful docking event with the platform is identified, the exemplary machine learning docking algorithm(s) is used to cause the robotic vehicle to execute movements based on properties of the platform and / or load, such as to position the forks relative to the platform, thereby enabling the robotic vehicle to carry the platform. For example, if a heavy load is placed on one side of a platform, the exemplary machine learning algorithm disclosed herein can be trained to cause the robotic vehicle to center the forks under the load, thereby reducing the likelihood of the load tipping over during transport.

[0018] Embodiments of the robotic vehicle disclosed herein include sensors (e.g., image sensors, distance sensors, force sensors, etc.) to, for example, monitor the engagement of the forks with the platform. Embodiments disclosed herein can dynamically adjust the operation of the robotic vehicle, for example, to halt the lifting of the platform if sensor data indicates damage to the platform surface (e.g., the surface is obscured upon completion of the initial confidence check). Embodiments disclosed herein can also generate instructions to cause the robotic vehicle to execute a maneuver to disengage the platform once the robotic vehicle has reached its destination, further preventing damage or substantial harm to the platform, payload, and / or vehicle.

[0019] Figure 11 shows a schematic diagram of an embodiment of a system 100, wherein the system 100 includes a robotic vehicle 102 to dock or engage with a platform located in an environment 104 to carry and move the platform. The environment 104 may include, for example, a warehouse. Figure 1 In the embodiment of FIG. 1 , first platform 106 and second platform 108 are located in environment 104 . Additional platforms 106 , 108 and / or robotic vehicles 102 may be located in environment 104 .

[0020] The first platform 106 may include a pallet having a surface 109 that supports a first load 110. The second platform 108 may include a pallet having a surface 111 that supports a second load 112. The first load 110 and the second load 112 may include, for example, inventory. In some embodiments, the first load 110 and / or the second load 112 may be moved from a first location in the environment 104 to a second location, for example, to place the loads 110, 112 on a truck. In some embodiments, the first platform 106 and / or the second platform 108 do not include a load placed on them. In such embodiments, the first platform 106 and / or the second platform 106, 108 may be moved from a first location in the environment 104 to a second location, for example, to place a load on the respective platforms 106, 108.

[0021] The robotic vehicle 102 includes a first fork 114 and a second fork 116 extending from a body 117 of the robotic vehicle 102. The forks 114, 116 can be inserted into one or more openings or slots 118 defined in the first platform 106 to dock with the first platform 106. In other words, when the forks 114, 116 are inserted into the opening(s) 118, the first platform 106 is engaged or coupled with the first platform 106, enabling the robotic vehicle 102 to support or carry the first platform 106 for transport. For example, when the robotic vehicle 102 is docked with the first platform 106 via the forks 114, 116, the robotic vehicle 102 can lift the first platform 106 from the ground on which it rests and carry the first platform 106 to move the first platform 106 within the environment 104. Similarly, the robotic vehicle 102 may dock with the second platform 108 to transport the second platform 108 by inserting the forks 114 , 116 into the opening(s) 118 defined in the second platform 108 .

[0022] exist Figure 1In some embodiments, the robotic vehicle 102 may comprise an automated vehicle capable of docking with the platforms 106, 108 without or with limited user input control during operation of the robotic vehicle 102. For example, the robotic vehicle 102 may automatically position or manipulate the forks 114, 116 relative to the opening(s) 118 of the respective platforms 106, 108 to insert the forks 114, 116 into the openings 118 without input from a human operator. In some embodiments, the robotic vehicle 102 is a remotely driven vehicle. In such embodiments, the robotic vehicle 102 moves to a location in the environment 104 and / or engages with the platform(s) 106, 108 in response to input provided by a remote user.

[0023] In some examples, differences between the properties of the first and second platforms 106, 108, the locations of the platforms 106, 108 in the environment 104, and / or the properties of the payloads 110, 112 (or the presence or absence of the payloads 110, 112) may affect the ability of the robotic vehicle 102 to dock with the platforms 106, 108 to transport the platforms 106, 108 and any payloads 110, 112 supported by the platforms 106, 108. Specifically, platform, payload, and / or environmental variables, as well as the specifications of the robotic vehicle 102 (e.g., load capacity, fork size), may affect the ability of the robotic vehicle 102 to dock with and / or carry the platform(s) 106, 108 without damaging or substantially damaging the platform(s) 106, 108, the payload(s) 110, 112, and / or the robotic vehicle 102. For example, the properties of the first platform 106 (e.g., the size, shape, and / or material of the first platform 106) may differ from the properties of the second platform 108. As a result, the robotic vehicle 102 may perform different positioning maneuvers to dock with the first platform 106 differently than with the second platform 108. In some embodiments, the robotic vehicle 102 may not include forks 114, 116 that are, for example, long enough to support a platform larger than a certain size.

[0024] In some embodiments, the state or condition of first platform 106 and second platform 108 may be different. For example, first platform 106 may include one or more damaged portions, while second platform 108 may not. If robotic vehicle 102 positions fork(s) 114, 116 in such a manner that the weight of first platform 106 is supported by robotic vehicle 102 at the damaged portion(s), first platform 106 may be further damaged or broken.

[0025] In some embodiments, the first platform 106 may be stationary at a location within the environment 104, with no other platforms and / or objects in close proximity. However, the second platform 108 may be located, for example, between two other platforms within the environment 104, in a corner of a room, on a shelf, below a shelf, etc. As such, the robotic vehicle 102 may perform different maneuvers to dock and / or lift the first platform 106 based on the location and / or characteristics of the environment 104 proximate to the platform(s) 106, 108. For example, when the second platform 108 is adjacent to (e.g., wedged against) a wall or another pallet, the force exerted by the robotic vehicle 102 when docking or lifting the second platform 108 may affect (e.g., impact) the other pallet and / or the wall.

[0026] As disclosed herein, the first platform 106 and / or the second platform 108 may or may not be supporting a corresponding load 110, 112 at a given time. The presence or absence of a load 110, 112 supported by the respective platform 106, 108, the type of load(s) 110, 112, the weight of the load(s) 110, 112, and the placement of the load(s) 110, 112 on the platform 106, 108 may affect the ability of the robotic vehicle 102 to autonomously dock with the platform 106, 108 for transport. For example, the weight of the load 110 may be substantially evenly distributed across the surface 109 of the first platform 106, while the weight of the load 112 may be substantially distributed to one side of the surface 111 of the second platform 108. For another example, the load 110 may occupy a majority of the surface 109 of the first platform 106, while the load 112 may occupy a smaller area of ​​the surface 111 of the second platform 108.

[0027] These differences in the loads 110, 112 may affect how the robotic vehicle 102 positions the forks 114, 116 relative to the platforms 106, 108. In some embodiments, the robotic vehicle 102 may be unable to support certain weights exceeding a certain threshold. As another example, the second load 112 may include a package 119 disposed around the second load 112, while the first load 110 does not include the package 119.

[0028] Figure 1 The system 100 may include sensors to generate output corresponding to data representing properties of the platforms 106 , 108 , properties of the payloads 110 , 112 , and / or properties of the environment 104 related to the positions of the platforms 106 , 108 and / or other states of the environment 104 that may affect the docking of the robotic vehicle 102 with the platform 106 . Figure 1The exemplary robotic vehicle 102 in FIG may include one or more sensors 120 carried by a body 117 and / or fork(s) 114, 116 of the robotic vehicle 102. The robotic vehicle sensor(s) 120 may include, for example, image sensor(s), force sensor(s), weight sensor(s), proximity sensor(s), infrared sensor(s), lidar sensor(s), etc.

[0029] In some embodiments, one or more sensors 122 are located in environment 104. Environmental sensor(s) 122 may include, for example, an image sensor to capture images of environment 104, including platforms 106, 108. In some embodiments, platforms 106, 108 may include one or more sensors 124 disposed thereon to output signals representative of, for example, the weight of load(s) 110, 112 supported by platforms 106, 108. Environmental sensor(s) 122 and / or platform sensor(s) 124 may include other types of sensors.

[0030] exist Figure 1 In an embodiment, the outputs of the sensor(s) 120, 122, 124 are analyzed by docking control circuitry 126 (e.g., a processor circuit) to manage the docking of the robotic vehicle 102 with the platform(s) 106, 108. Specifically, the docking control circuitry 126 analyzes the outputs of the sensor(s) 120, 122, 124 to detect properties of the platform(s) 106, 108, properties of the payload(s) 110, 112, and / or variables in the environment 104 that may affect the docking of the robotic vehicle 102 with the platform(s) 106, 108, such as obstacles, hazards, etc. The docking control circuitry 126 of FIG. 1 executes the machine learning model(s) in conjunction with the sensor data to determine whether the robotic vehicle 102 should initiate a docking event (e.g., attempt a docking) with the platform(s) 106, 108 to transport the platform(s) 106, 108. Specifically, the docking control circuitry 126 executes the machine learning model(s) to determine the likelihood that the robotic vehicle 102 can dock and / or carry the platform(s) 106, 108 without damaging the platform(s) 106, 108, the payload(s) 110, 112, and / or the robotic vehicle 102.

[0031] For example, the docking control circuitry 126 may analyze image data output by the sensor(s) 120, 122, 124 to detect physical properties of the platform(s) 106, 108. Properties (e.g., physical properties) of the respective platforms 106, 108 may include, for example, the size of the platforms 106, 108, the shape of the platforms 106, 108, the material (e.g., wood, plastic) of the platforms 106, 108, and / or the quality of the platforms. Properties related to the quality of the respective platforms 106, 108 may include the construction of the platforms 106, 108 (i.e., platform build condition) or changes in the platforms 106, 108 over time (i.e., platform maintenance condition). The platform build condition may reflect variations in the manufacture of the platforms 106, 108, such as whether the platforms 106, 108 are made of scrap wood or durable plastic. The platform maintenance condition may reflect, for example, the effects of damage to the platform 106, 108 during use, which may affect the structural integrity of the surface(s) of the platform 106, 108, may cause the surface(s) to become uneven, etc. The quality of the platform(s) 106, 108 may affect the ability of the platform(s) 106, 108 to support a load and engage with the fork(s) 114, 116 of the robotic vehicle 102 (e.g., an uneven platform surface may affect the balance of the platform 106, 108 on the fork(s) 114, 116 of the vehicle 102).

[0032] Based on the sensor data and the machine learning model(s), the docking control circuitry 126 determines a confidence level that the robotic vehicle 102 is able to dock with the platform(s) 106, 108, taking into account the physical properties of the platform(s) 106, 108, the carrying capacity or specifications of the robotic vehicle 102 (e.g., fork dimensions), and the risk of damage to the platform(s) 106, 108, the payload(s) 110, 112, and / or the robotic vehicle 102. As another example, the docking control circuitry 126 may analyze the output of the sensor(s) 120, 122, 124 to identify the location(s) of the platform(s) 106, 108 in the environment 104, and thereby determine whether the robotic vehicle 102 is able to dock and / or carry the platform(s) 106, 108 without damaging, for example, another platform or a wall against which the platform(s) 106, 108 rests.

[0033] If, based on the confidence analysis, the example docking control circuitry 126 determines that the robotic vehicle 102 should initiate a docking event, the docking control circuitry 126 executes the machine learning model(s) to direct the robotic vehicle 102 to engage the platforms 106, 108. For example, if the docking control circuitry 126 determines that the robotic vehicle 102 should dock with the first platform 106, the docking control circuitry 126 may generate instructions to cause the robotic vehicle 102 to move the forks 114, 116 (e.g., adjust the width between the forks 114, 116, the angle at which the forks 114, 116 enter the opening(s) 118 of the platform 106, etc.) based on the detected placement of the payload 110 on the platform 106 to reduce the risk of the payload 110 tipping over during transport on the platform 106.

[0034] Figure 1 The docking control circuitry 126 in the system monitors the outputs of the sensor(s) 120, 122, and 124 during docking of the robotic vehicle 102 with the platform(s) 106, 108 to determine whether adjustments should be made to the positioning of the robotic vehicle 102 relative to the platform(s) 106, 108. In some embodiments, the docking control circuitry 126 determines whether the docking event should be aborted based on sensor data generated during the docking event. For example, the docking control circuitry 126 may determine, based on the outputs of the sensor(s) 120 of the forks 114, 116, that a condition of the first platform 106 may result in platform damage, and such a platform condition may not be detected until the forks 114, 116 are at least partially inserted into the opening(s) 118 of the first platform 106. If the docking control circuitry 126 determines that the docking event should be aborted, the docking control circuitry 126 may cause an alarm to be output to notify a human operator.

[0035] Figure 1The docking control circuitry 126 in the robotic vehicle 102 may also generate instructions to cause the robotic vehicle 102 to perform maneuvers to undock or decouple from the platform 106 after transporting the platform 106, 108 to a specific location, for example, based on properties of the platform(s) 106, 108, properties of the payload(s) 110, 112, and / or properties of the environment 104. The docking control circuitry 126 may provide sensor data and / or instructions generated during monitoring of the robotic vehicle 102 docking, transporting, and / or undocking the platform(s) 106, 108 to improve and / or further train the machine learning model(s). For example, if a payload 110, 112 falls from the robotic vehicle 102 during transport, the docking control circuitry 126 may record relevant data (e.g., payload properties, position of the forks 114, 116, etc.) for use in training the machine learning model(s).

[0036] Figure 2 The above reference Figure 1 A schematic diagram of the robotic vehicle 102 of the system 100 is shown. Figure 2 The robotic vehicle 102 in includes wheels 200 coupled to the body 117 of the robotic vehicle 102 so that the robotic vehicle 102 can move, for example, to transport the platform(s) 106 , 108 . Figure 2 The robotic vehicle 102 in FIG. 1 includes one or more motors 204 (e.g., electric motor(s) and / or other drive mechanism(s)) to move the robotic vehicle 102 via its wheel(s) 200. The robotic vehicle 102 includes motor control circuitry 206 to control, for example, the speed of the robotic vehicle 102.

[0037] The robotic vehicle 102 includes fork(s) 114, 116 supported by a body 117 of the robotic vehicle 102. The robotic vehicle 102 includes one or more actuators 208 to actuate the movement of the fork(s) 114, 116. The actuator(s) 208 can extend the fork(s) 114, 116 relative to the body 117, for example, to enter the opening(s) 118 of the platform 106, 108, or retract the fork(s) 114, 116 relative to the body 117 to disengage the platform(s) 106, 108. The robotic vehicle 102 includes fork actuator control circuitry 210 to control actuation of the fork(s) 114, 116.

[0038] As disclosed in the present application, the robotic vehicle 102 may be an automatic vehicle. The robotic vehicle 102 includes a vehicle control circuit 211 to control the movement of the automatic vehicle 102. Figure 2 In an embodiment of the present invention, the vehicle control circuit 211 is implemented by the processor circuit 220 of the robotic vehicle 102. The robotic vehicle 102 moves to a location in the environment 104 with no or limited user input control during movement of the vehicle 102.

[0039] Figure 2 The robotic vehicle 102 in FIG. 1 includes one or more sensors 120. The sensor(s) 120 may include, for example, image sensors(s), force sensors(s), weight sensors(s), proximity sensors(s), infrared sensors(s), lidar sensors(s), etc. As disclosed herein, the robotic vehicle sensor(s) 120 output signals corresponding to data that can be used to evaluate whether the robotic vehicle 102 should dock or attempt to dock with the platform(s) 106, 108.

[0040] In some embodiments, the robotic vehicle 102 includes a display screen 212 to present data to the user(s) of the robotic vehicle 102. In such embodiments, Figure 2 A display controller 214 (e.g., a graphics processing unit (GPU)) of the exemplary robotic vehicle 102 in FIG. 1 controls operation of the display screen 212 and facilitates presentation of content (e.g., display frame(s) associated with graphical user interface(s)) via the display screen 212 . Figure 2 The exemplary robotic vehicle 102 in FIG. 1 includes a power source 216 (e.g., a battery) to power components of the robotic vehicle 102 that are communicatively coupled via a bus 218. In some embodiments, the robotic vehicle 102 includes speaker(s) 219 to provide audio output(s) to user(s) interacting with the robotic vehicle 102.

[0041] exist Figure 2 In the embodiment, Figure 1The docking control circuitry 126 in the embodiment is implemented by executing executable instructions on the processor circuitry 220 of the robotic vehicle 102. However, in other embodiments, the docking control circuitry 126 is implemented by the processor circuitry 222 of another user device 224 (e.g., a smartphone, wearable device, etc.) in communication with the robotic vehicle 102, or by a cloud-based computing device 226. In other embodiments, one or more components of the docking control circuitry 126 are implemented by dedicated circuitry located on the robotic vehicle 102 and / or the user device 224. These components may be implemented in software, in hardware, or in any combination of two or more of software, firmware, and / or hardware.

[0042] Artificial Intelligence (AI) – includes machine learning (ML), deep learning (DL), and / or other artificial machine-driven logic that enables a machine to utilize a model to process input data and generate outputs based on patterns and / or associations previously learned by the model through a training process. For example, a model may be trained on data to discern patterns and / or associations and follow such patterns and / or associations when processing input data, so that other input(s) produce output(s) consistent with the discerned patterns and / or associations.

[0043] Figure 3 is a block diagram of a machine learning model training circuit 300 for training a machine learning model(s) executed by the docking control circuit 126 to determine whether the robotic vehicle 102 should dock with the platform(s) 106, 108, and to control or direct the robotic vehicle 102 to engage and / or transport the platform(s) 106, 108 when the docking control circuit 126 determines that a docking event should occur. Figure 3 The machine learning model training circuit 300 in the embodiment can be instantiated by a processor circuit (e.g., a central processing unit (CPU)) that executes instructions or an equivalent processing device (e.g., a suitable application-specific integrated circuit (ASIC) or field-programmable gate array (FPGA)). It should be understood that Figure 3 Some or all of the circuits in may be instantiated at the same or different times.

[0044] Figure 3 The exemplary machine learning model training circuit 300 in FIG. 1 includes a training control circuit 302, a neural network training circuit 304, and a neural network processor circuit 306. In some embodiments, the training control circuit 302 executes training control instructions and / or is configured to perform operations (e.g., by Figure 5In some embodiments, the neural network training circuit 304 is configured to execute training control instructions and / or be configured to perform operations (e.g., by Figure 5 The operations of the processor circuit are represented by the flowchart.

[0045] Typically, implementing an ML / AI system involves two phases: a learning / training phase and an inference phase. During the learning / training phase, a model is trained using a training algorithm, for example, based on training data, so that the model operates according to patterns and / or associations. Typically, the model includes internal parameters that dictate how input data is transformed into output data, such as through a series of nodes and connections within the model. Additionally, as part of the training process, hyperparameters are used to control how learning is performed (e.g., the learning rate, the number of layers used in the machine learning model, etc.). Hyperparameters are defined as training parameters that are determined before the training process begins.

[0046] Different types of training can be performed based on the type of ML / AI model and / or the type of expected output. For example, supervised training uses inputs and corresponding expected (e.g., labeled) outputs to select parameters for the ML / AI model (e.g., by iterating through carefully selected parameter combinations) to reduce model error. Here, labeling refers to the expected output of the machine learning model (e.g., classification, expected output value, etc.). Alternatively, unsupervised training involves inferring patterns from the input to select parameters for the ML / AI model.

[0047] In the embodiments disclosed herein, training is performed either remotely (e.g., in the cloud or at a server) or locally (e.g., at the robotic vehicle 102). Training is performed using hyperparameters that control how learning is performed (e.g., learning rate, number of layers used in the machine learning model, etc.). Training is performed using training data.

[0048] In embodiments disclosed herein, training data may be derived from, for example, robotic vehicle 102, other robotic vehicles, other types of vehicles (e.g., manually operated vehicles), sensors carried by vehicle(s), sensors carried by platform(s) (e.g., platform(s) 106, 108 or other platform(s)), and / or sensors located in an environment (e.g., environment 104, other environments). When supervised training is used, the training data is labeled. In some embodiments, the training data is pre-processed. In some embodiments, retraining may be performed. Such retraining may be performed in response to, for example, data collected by robotic vehicle 102 during docking, transport, and / or undocking of platform(s) 106, 108.

[0049] Once trained, the model is deployed as an executable framework to process inputs and provide outputs based on the node network and connections defined in the model. The model can be stored in local memory or in a remote location (e.g., the cloud) before being executed by the docking control circuit 126.

[0050] Once trained, the deployed model can be run in the inference phase to process data. During the inference phase, data to be analyzed (e.g., real-time data) is input into the model, and the model executes the data to be analyzed to produce output. This inference phase can be understood as executing the model to apply learned patterns and / or associations to real-time data. In some embodiments, the input data is pre-processed before being used as input to the machine learning model. Furthermore, in some embodiments, the output data, after being generated by the AI ​​model, can be post-processed to transform the output into a useful result (e.g., display data, instructions executed by the machine, etc.).

[0051] In some embodiments, the output of the deployed model can be collected and provided as feedback. By analyzing this feedback, the accuracy of the deployed model can be determined. If the feedback indicates that the accuracy of the deployed model is below a threshold or other standard, training of an updated model using this feedback along with updated training datasets, hyperparameters, etc. can be triggered to generate an updated deployed model.

[0052] In the embodiments disclosed in this application, Figure 3 The neural network processor circuit 306 in implements one or more neural networks. Figure 3 The exemplary neural network training circuit 304 in FIG. 1 performs training of the neural network(s) implemented by the neural network processor circuit 306. In some embodiments disclosed herein, the training is performed using a stochastic gradient descent algorithm. However, other methods may also be used to train the neural network(s) in addition or alternatively.

[0053] Figure 3 The exemplary training control circuit 302 instructs the neural network training circuit 304 to perform training of the neural network(s) using the training data 308. Figure 3 In the embodiment of FIG. 3 , training data 308 used by neural network training circuitry 304 to train the neural network(s) is stored in database 310 .

[0054] exist Figure 3In an embodiment, the training data 308 may include, for example, images of platforms (e.g., pallets) having different attributes (e.g., size, shape, weight, condition, material(s) of the platform), and / or images of material(s) surrounding the platform (e.g., packaging), etc. The training data 308 may include images of the platform in different orientations and / or in different positions, such as resting on the floor, on a truck bed, partially surrounded by obstacles (e.g., other platforms, equipment, walls, etc.). The training data 308 may be based on sensor data generated during operation of a manual vehicle or a user-controlled vehicle and / or during operation of the robotic vehicle 102 or other robotic vehicles.

[0055] The training data 308 may include images of vehicles performing maneuvers to engage, lift, and / or carry platforms of varying sizes, shapes, conditions, orientations, locations, etc. The training data 308 may include sensor data associated with the performance of successful, preferred, and / or safe docking and undocking operations performed by manually operated vehicles and / or robotic vehicles. The training data 308 may include sensor data associated with unsuccessful, non-preferred, and / or unsafe docking and undocking operations performed by manually operated vehicles and / or robotic vehicles, such as where the platform, the payload carried by the platform, and / or the vehicle are damaged. The sensor data associated with successful and / or unsuccessful operations may include sensor output generated before, during, and / or after engagement with the platform.

[0056] In some embodiments, training data 308 includes data collected when a user manually docks a vehicle, such as a forklift, with a platform (i.e., the user operates the vehicle, provides input at the vehicle to position the forks relative to the platform, etc.). In such embodiments, training data 308 may include, for example, images of the vehicle docked with the platform while being operated by the user, outputs of sensors (e.g., force sensors, proximity sensors) of the vehicle during operator-controlled docking maneuvers, and the like. Training data 308 may include examples of successful and unsuccessful manually controlled docking events. Training data 308 may also include data collected during manually controlled undocking events.

[0057] The training data 308 may be annotated to indicate the type of docking or undocking operation (e.g., a successful, preferred, or safe docking / undocking operation; an unsuccessful, non-preferred, or unsafe docking / undocking operation; etc.). For example, the training data 308 may include labels indicating whether the platform is in a state of being lifted by a vehicle, whether a particular type of robotic vehicle is capable of carrying the platform (e.g., based on weight restrictions, the fork style of the vehicle), whether the platform is in a position that allows the platform to be lifted, whether the docking operation is associated with a successful or unsuccessful docking operation, etc.

[0058] Neural network training circuitry 304 uses training data 308 to train the neural network(s) implemented by neural network processor circuitry 306. For example, neural network training circuitry 304 trains the neural network(s) to determine the confidence or likelihood that the robotic vehicle can dock and / or carry the platform, e.g., without damaging or substantially damaging the platform, the payload carried by the platform, and / or the robotic vehicle. Properties of the platform, payload, and / or environment may be used as weights to train the neural network model to generate confidence predictions. As a result of the neural network training, one or more docking confidence models 312 are generated. Docking confidence models(s) 312 are stored in database 314. Databases 310 and 314 may be on the same storage device or on different storage devices.

[0059] exist Figure 3 In one embodiment, the neural network training circuit 304 trains a neural network (one or more) to guide the robotic vehicle to position and move the vehicle body and / or the vehicle fork to couple, lift, and carry the platform based on properties associated with the platform, payload, and / or environment. As a result of the neural network training, one or more docking positioning models 316 are generated. The docking positioning model(s) 316 are stored in the database 314.

[0060] In some embodiments, the neural network training circuitry 304 trains the neural network(s) to identify potential risk(s) of damage or substantial damage to the platform, the payload, and / or the robotic vehicle while the robotic vehicle is engaging or has engaged with the platform. For example, the neural network training circuitry 304 may train the neural network(s) to identify when the weight distribution of the payload may cause the payload to fall from the platform (e.g., because the payload is overhanging the forks) while the robotic vehicle is transporting the platform. As a result of the neural network training, one or more docking performance models 318 are generated. The docking performance model(s) 318 are stored in the database 314. As disclosed herein, the docking confidence model(s) 312, the docking positioning model(s) 316, and / or the docking performance monitoring model(s) 318 are executed by the docking control circuitry 126 to assess the docking performance of the platform and the robotic vehicle. Figure 1 and Figure 2 The docking event(s) of the robotic vehicle 102 in the embodiment of the present invention are managed.

[0061] Although Figure 3 An exemplary manner of implementing the machine learning model training circuit 300 is shown, however, it should be understood that Figure 3One or more of the elements shown may be implemented in different ways. In addition, the machine learning model training circuit 300 or any of its components may be implemented solely in hardware, or in a combination of hardware and software and / or firmware. Furthermore, the exemplary machine learning model training circuit 300 may include, in addition to Figure 3 One or more elements, processes and / or devices in addition to or in place of those shown, and / or more than one element, process and device may be included in addition to or in place of those shown, and / or more than one element, process and device may be included in any or all of the elements, processes and devices shown.

[0062] Figure 4 yes Figure 1 and Figure 2 FIG. 1 is a block diagram of an exemplary docking control circuit 126 in FIG. 1 that executes a machine learning model(s) to selectively determine the position of a robotic vehicle (e.g., Figure 1 and Figure 2 Whether the robotic vehicle 102 in the embodiment should initiate a docking event with the platform to transport the platform and guide the robotic vehicle to engage with the platform. Figure 4 The docking control circuit 126 in may be instantiated by a processor circuit (e.g., a CPU) or an equivalent processing device (e.g., a suitable ASIC or FPGA). Additionally or alternatively, Figure 4 The docking control circuit 126 in can be instantiated (eg, create an entity, generate, materialize, implement, etc., within an arbitrary period of time) by an ASIC or FPGA designed to perform operations corresponding to the instructions.

[0063] Figure 4 The exemplary docking control circuit 126 in FIG. 1 includes a platform classification circuit 400, a confidence determination circuit 402, a docking position control circuit 404, a monitoring circuit 406, and a feedback circuit 408. In some embodiments, the platform classification circuit 400 executes platform classification instructions and / or is configured to perform operations (e.g., Figure 6 In some embodiments, the confidence determination circuit 402 executes confidence determination instructions and / or is configured to perform operations (e.g., Figure 6 In some embodiments, the docking position control circuit 404 executes docking position control instructions and / or is configured to perform operations (e.g., Figure 6 In some embodiments, the monitoring circuit 406 is configured to execute monitoring instructions and / or be configured to perform operations (e.g., Figure 6 In some embodiments, the feedback circuit 408 is implemented by executing feedback instructions and / or being configured to perform operations (e.g., Figure 6 The operations of the processor circuit are represented by the flowchart.

[0064] Figure 4 The example platform classification circuit 400 in

[0044] identifies or classifies platforms 106, 108 that are candidates for docking with the robotic vehicle 102. The candidate platforms 106, 108 may be platforms that the robotic vehicle 102 is requested, instructed, or designated to transport. Figure 4 The exemplary platform classification circuitry 400 in

[0045] accesses sensor data (e.g., image data, weight data, proximity data) corresponding to outputs of the robotic vehicle sensor(s) 120, the environmental sensor(s) 122, and / or the platform sensor(s) 124. The platform classification circuitry 400 analyzes (e.g., identifies) properties of the candidate platforms 106, 108, properties of the payloads 110, 112 carried by the platforms 106, 108, and / or properties of the environment 104 based on the sensor outputs.

[0065] For example, the platform classification circuitry 400 may perform image analysis to identify or discern the platform 106, 108 that the robotic vehicle 102 is designated to transport. The platform classification circuitry 400 analyzes the sensor data to identify attributes of the selected platform 106, 108, such as the size, shape, material(s), etc. of the platform 106, 108. In some embodiments, the platform classification circuitry 400 identifies attributes of the load 110, 112 carried by the platform 106, 108 based on the analysis of the sensor data, such as the size, weight, type, etc. of the load 110, 112, etc., based on image analysis of a barcode or label on the load 110, 112. In some embodiments, the platform classification circuitry 400 identifies the location and / or orientation of the platform 106, 108 in the environment 104 based on the sensor data. In some embodiments, the platform classification circuitry 400 identifies hazards or obstacles in the environment 104 based on the sensor data. The platform classification circuit 400 stores the attributes of the platforms 106, 108, the attributes of the loads 110, 112, and / or the attributes of the environment 104 as platform classification data 412 in a database 410. In some embodiments, the docking control circuit 126 includes the database 410. In some embodiments, as Figure 4 As shown, the database 410 is located external to the docking control circuitry 126 at a location accessible by the docking control circuitry 126 .

[0066] The example confidence determination circuitry 402 executes the docking confidence model(s) 312 to predict, based on the platform classification 412, the likelihood that the robotic vehicle 102 can dock and / or carry the platform 106, 108 without, for example, damaging or substantially damaging the platform 106, 108, the payload 110, 112, and / or the robotic vehicle 102. The confidence determination circuitry 402 may access the docking confidence model(s) 312 from a database 314. The databases 314, 410 may be stored in the same storage device or in different storage devices.

[0067] As a result of executing the docking confidence model(s) 312, the confidence determination circuitry 402 determines a confidence level for the candidate platform 106, 108, indicating the likelihood that the robotic vehicle 102 can dock and / or carry the platform 106, 108 without damaging or substantially damaging the platform 106, 108, the payload 110, 112, or the robotic vehicle 102. When executing the docking confidence model(s) 312, the platform classification data 412 may serve as a weight(s) that influences the confidence level. For example, a platform that is wider than the robotic vehicle 102 may result in a lower confidence level, while a platform that is smaller than the robotic vehicle may result in a higher confidence level. For another example, a platform 106, 108 standing alone in an environment may result in a higher confidence level, while a platform 106, 108 located between two other pallets or between a wall and another pallet may result in a lower confidence level.

[0068] The confidence determination circuit 402 determines whether the confidence level satisfies a confidence threshold 414. The confidence threshold 414 may be defined based on one or more user inputs and may be stored in the database 410. If the confidence level satisfies the confidence threshold 414, the confidence determination circuit 402 outputs an instruction indicating that the robotic vehicle 102 should initiate a docking event with the platform 106, 108. For example, the confidence determination circuit 402 may communicate with the vehicle control circuit 211 and / or the motor control circuit 206 of the robotic vehicle 102 ( Figure 2 ) to communicate so that the robotic vehicle 102 moves to a location that includes platforms 106 and 108.

[0069] If the confidence level does not meet the confidence threshold 414, the confidence determination circuitry 402 does not output instructions to engage the robotic vehicle 102 with the platform 106, 108. In some such embodiments, the confidence determination circuitry 402 causes an alert (or alerts) to be output (e.g., via the display screen 212 and / or speaker 219 of the robotic vehicle 102) to indicate that the operator should assist in retrieving the platform 106, 108 (e.g., by manually operating the robotic vehicle 102). In some embodiments, the user can override the alert (or alerts) to dock the robotic vehicle 102 with the platform 106, 108.

[0070] In embodiments where the confidence determination circuitry 402 determines that the confidence level satisfies the confidence threshold 414 and, therefore, determines that the robotic vehicle 102 should dock with the platform 106, 108, the docking position control circuitry 404 executes the docking positioning model(s) 316 to cause the robotic vehicle 102 to perform one or more positioning maneuvers to dock with the platform 106, 108. Specifically, the docking position control circuitry 404 executes the docking positioning model(s) 316 to determine, identify, or select maneuvers to be performed by the robotic vehicle 102 to engage with the platform 106, 108 based on the platform classification data 412.

[0071] For example, as a result of executing the docking position model(s) 316, the docking position control circuitry 404 may determine whether the robotic vehicle 102 should move the forks 114, 116 upward, downward, left / right, etc., based on the orientation, size, and / or shape of the platforms 106, 108. As a result of executing the docking position model(s) 316, the docking position control circuitry 404 may determine whether the robotic vehicle 102 should adjust the width between the forks 114, 116, adjust the angle at which the forks 114, 116 dock with the platforms 106, 108, and / or engage a particular side of the platforms 106, 108, based on the type of platforms, the orientation of the platforms 106, 108, obstacles closest to the platforms 106, 108 in the environment 104, etc. The docking position control circuitry 404 may determine a specific maneuver to position the forks 114, 116 relative to the platforms 106, 108 based on the weight of the payloads 110, 112. For example, the docked position control circuit 404 may determine that the prongs 114, 116 should be separated a first amount to support a first load weight and a second amount to support a second load weight that is different than the first load weight.

[0072] The docking position control circuit 404 outputs instructions to cause the robotic vehicle 102 to perform a maneuver. For example, the docking position control circuit 404 may output instructions that are implemented by the fork actuator control circuit 210 to cause the fork actuator 208 to move the fork(s) 114, 116 based on the instructions.

[0073] In some embodiments, the docking position control circuit 404 executes the docking positioning model(s) 316 to cause the robotic vehicle 102 to perform the maneuver(s) to disengage or undock from the platform 106, 108. For example, the vehicle control circuit 211 ( Figure 2 ) may indicate to the docking position control circuitry 404 that the robotic vehicle 102 has arrived at the destination of the platform 106, 108. In response, the docking position control circuitry 404 may execute the docking positioning model(s) 316 to disengage the robotic vehicle 102 from the platform 106, 108 at the destination. As a result of executing the docking positioning model(s) 316 in conjunction with the platform classification data 412, the undocking maneuver is based on factors such as the platform type and the weight distribution of the payload 110, 112. In this way, the docking position control circuitry 404 may identify positioning maneuvers for disengaging the platform 106, 108 to prevent damage or substantial damage to the platform 106, 108, the payload 110, 112, or the robotic vehicle 102.

[0074] When the robotic vehicle 102 is engaging or has engaged with the platform 106, 108, Figure 4The exemplary monitoring circuit 406 in the embodiment analyzes the output of the sensor(s) 120, 122, 124. Based on the data corresponding to the output of the sensor(s) 120, 122, 124, the monitoring circuit 406 determines, for example, whether the robotic vehicle 102 should implement a change in the positioning maneuver or whether the docking event should be aborted. For example, as disclosed herein, the fork(s) 114, 116 of the robotic vehicle 102 may include a sensor(s) 120 that outputs an image of the surface 109, 111 of the platform 106, 108 when the fork(s) 114, 116 are at least partially positioned within the opening(s) 118 of the platform 106, 108. The monitoring circuitry 406 may analyze the image data to determine whether one or more portions of the surfaces 109 , 111 show signs of wear, whether there are obstructions at the platforms 106 , 108 (e.g., material disposed between (e.g., suspended between) slots of the platforms 106 , 108 ), etc. In some such embodiments, the monitoring circuitry 406 communicates with the docking position control circuitry 404 to cause the robotic vehicle 102 to, for example, reposition the fork(s) 114 , 116 relative to the platforms 106 , 108 so that the fork(s) 114 , 116 do not engage the worn portion(s) of the platform surfaces 109 , 111 . In some such embodiments, when, for example, the monitoring circuit 406 predicts that the payload 110, 112 may be damaged due to the condition of the platform 106, 108 when the fork(s) 114, 116 engage the platform surface 109, 111, the monitoring circuit 406 outputs instructions to disengage the robotic vehicle 102 from the platform 106, 108 and abort the docking action.

[0075] The monitoring circuitry 406 executes the docking performance monitoring model(s) 318 to identify potential risks of damage to the platforms 106, 108, the payloads 110, 112, and the robotic vehicle 102 while the robotic vehicle 102 is engaging or has engaged with the platforms 106, 108. For example, based on data corresponding to the outputs of the sensor(s) 120, 122, 124 and based on execution of the docking performance monitoring model(s) 318, the monitoring circuitry 406 may identify the orientation of the platforms 106, 108 when carried by the forks 114, 116. As a result of executing the docking performance monitoring model(s) 318, the monitoring circuitry 406 may determine that the engagement of the forks 114, 116 with the platform 106, 108 causes the platform 106, 108 to overhang the forks 114, 116 by an amount that could cause the platform 106, 108 to fall during transport, or that the platform 106, 108 is in another orientation that could affect the ability of the robotic vehicle 102 to carry the platform 106, 108. In some embodiments, the monitoring circuitry 406 determines that the forks 114, 116 are skewed and, therefore, that the platform 106, 108 is tilted. In some such embodiments, the monitoring circuitry 406 outputs instruction(s) to disengage the robotic vehicle 102 from the platform 106, 108. For example, the monitoring circuit 406 communicates with the docking position control circuit 404 to cause the robotic vehicle 102 to return the platforms 106, 108 to the ground, disengage from the platforms 106, 108 and perform adjusted maneuvers to re-engage with the platforms 106, 108, thereby avoiding or minimizing the risk of the loads 110, 112 falling during transportation.

[0076] In some embodiments, the monitoring circuitry 406 causes an alarm(s) to be output (e.g., via the display screen 212 and / or speaker 219 of the robotic vehicle 102) to inform an operator of how the robotic vehicle 102 is performing while docking and / or carrying a platform 106, 108. In some embodiments, the user can override the alarm(s) to allow the robotic vehicle 102 to continue transporting the platform 106, 108.

[0077] Feedback circuit 408 and Figure 3The machine learning model training circuit 300 in the robotic vehicle 102 is in communication with the robotic vehicle 102 to facilitate training, retraining, and / or improving the docking confidence model(s) 312, docking positioning model(s) 316, and / or docking performance monitoring model(s) 318 based on data collected during the robotic vehicle 102 performing the docking event(s). The feedback circuit 408 may provide data associated with, for example, the positioning of the forks 114, 116 prior to engagement with the platforms 106, 108, the repositioning of the forks 114, 116 during docking, for use in improving and / or retraining the machine learning model(s) 312, 316, 318. For example, the feedback circuitry 408 may communicate with the machine learning model training circuitry 300 to inform the machine learning model training circuitry 300 that a certain manner of lifting the platform 106 previously associated with the docking positioning model(s) 316 resulted in damage to the platform 106, 108 and / or payload(s) 110, 112. In this manner, the machine learning model training circuitry 300 may retrain the docking performance model(s) 318 so that the robotic vehicle 102 does not pick up other platforms(s) and / or payload(s) that have similar properties to the damaged platform and / or payload in the same manner.

[0078] In some embodiments, the docking control circuit 126 includes means for classification. For example, the means for classification may be implemented by the platform classification circuit 400.

[0079] In some embodiments, docking control circuitry 126 includes means for confidence determination. For example, the means for confidence determination may be implemented by confidence determination circuitry 402. In some embodiments, confidence determination circuitry 402 may be instantiated by a processor circuit, such as exemplary processor circuitry 812 in FIG. 8 .

[0080] In some embodiments, docking control circuitry 126 includes means for position control. For example, the means for position control may be implemented by docking position control circuitry 404. In some embodiments, docking position control circuitry 404 may be instantiated by a processor circuit, such as exemplary processor circuitry 812 in FIG. 8 .

[0081] In some embodiments, docking control circuitry 126 includes means for monitoring. For example, means for monitoring may be instantiated by monitoring circuitry 406. In some embodiments, monitoring circuitry 406 may be instantiated by a processor circuit, such as exemplary processor circuitry 812 in FIG8. Instructions are not executed in the context of software or firmware, but other configurations are equally suitable.

[0082] In some embodiments, the docking control circuit 126 includes means for providing feedback. For example, the means for providing feedback can be implemented by the feedback circuit 408.

[0083] Although Figure 3 Demonstrated implementation Figure 1 and Figure 2 In an exemplary manner, however, the docking control circuit 126 Figure 3 One or more of the elements, processes and / or devices shown may be combined, divided, rearranged, omitted, deleted and / or implemented in any other manner. In addition, the exemplary platform classification circuit 400, the exemplary confidence determination circuit 402, the exemplary docking position control circuit 404, the exemplary monitoring circuit 406, the exemplary feedback circuit 408 and / or more generally— Figure 1 and Figure 2 The exemplary docking control circuit 126 in FIG. 1 may be implemented in hardware or a combination of software and / or firmware.

[0084] Figure 5 A flowchart representing exemplary machine-readable instructions that may be executed to configure a processor circuit to implement Figure 3 The machine learning model training circuit 300 in FIG. Figure 6 A flowchart representing exemplary machine-readable instructions that may be executed to configure a processor circuit to implement Figure 4 The docking control circuit 126 in.

[0085] In addition, although the reference Figure 5 and Figure 6 The flowchart shown describes an exemplary procedure, but various other methods of implementing the exemplary machine learning model training circuit 300 and / or the docking control circuit 126 may alternatively be used. For example, the order of execution of the blocks may be changed, and / or some of the blocks described may be changed, deleted, or combined.

[0086] As mentioned above, Figure 5 and Figure 6 The example operations in may be implemented using executable instructions (eg, computer-readable instructions and / or machine-readable instructions) stored on one or more non-transitory computer-readable media and / or non-transitory machine-readable media (eg, a hard drive, CD, or other such devices).

[0087] Figure 5is a flow diagram representative of example machine-readable instructions and / or example operations 500 that may be executed and / or instantiated by processor circuitry to train neural network(s) to manage docking of a robotic vehicle with a platform. Figure 5 The machine-readable instructions and / or operations 500 in FIG. 5 begin at block 502, where the training control circuitry 302 accesses reference data. The reference data may include, for example, image data, force sensor data, proximity sensor data, etc., generated when the vehicle performs operations such as docking with or attempting to dock with a platform, lifting a platform, or transporting a platform, where the platform may have different sizes and shapes, may have different loads or no load, may be in different orientations or locations in an environment, etc.

[0088] At block 504, the training control circuitry 302 annotates the reference data based on the platform's attributes and / or the payload's attributes to identify, for example, preferred, successful, and / or safe docking platform operations. The training control circuitry 302 may also annotate the reference data based on the platform's attributes and / or the payload's attributes to identify, for example, non-preferred, unsuccessful, and / or unsafe docking platform operations. At block 506, the example training control circuitry 302 generates training data 308 based on the annotated content.

[0089] At block 508, training control circuitry 302 instructs neural network training circuitry 304 to perform training of the neural network(s) implemented by neural network processor circuitry 306. As a result of the training, at block 510, docking confidence model(s) 312, docking position model(s) 316, and / or docking performance model(s) 316 are generated. Figure 5 The example instructions 500 in

[0064] end when no additional training (eg, retraining) is performed (block 512, block 514).

[0090] Figure 6 is a flow diagram representative of example machine-readable instructions and / or example operations 600 that may be executed and / or instantiated by processor circuitry to perform a robotic vehicle (e.g., Figure 1 and Figure 2 The docking of a robotic vehicle 102 in the system with a platform (eg, platform(s) 106, 108, pallet) is managed. Figure 6The machine readable instructions and / or operations 600 in FIG. 6 begin at block 602 where the platform classification circuit 400 identifies attributes associated with candidate platforms 106, 108 for docking with the robotic vehicle 102. The platforms 106, 108 may include platforms 106, 108 designated for transportation by the robotic vehicle 102. Figure 6 In an embodiment, the platform classification circuit 400 identifies attributes based on sensor outputs from the sensor(s) 120 of the vehicle 102, the sensor(s) 122 in the environment 104 including the platforms 106, 108, and / or the sensor(s) 124 of the platforms 106, 108 to generate the platform classification data 412. The attributes may include attributes of the platforms 106, 108 (e.g., size, shape, material), attributes of the loads 110, 112 (if any) carried by the platforms (e.g., type, placement on the platforms 106, 108, weight), and / or attributes of the environment 104 that may affect docking (e.g., platform location, other platforms and / or objects that are closest to (e.g., adjacent to, in contact with) the candidate platforms 106, 108), etc.

[0091] At block 604, the confidence determination circuitry 402 executes the docking confidence model(s) 312 to determine a confidence level associated with a docking event between the robotic vehicle 102 and the candidate platform 106, 108 based on the platform classification data 412 for the particular platform 106, 108. At block 606, the confidence determination circuitry 402 determines whether the confidence level satisfies a confidence threshold 414 such that the likelihood of docking between the robotic vehicle 102 and the platform 106, 108 will ensure that the vehicle 102 is able to engage and carry the platform without damaging or substantially damaging the platform 106, 108, the payload 110, 112, and / or the vehicle 102.

[0092] In embodiments where the confidence determination circuitry 402 determines that the confidence level satisfies the confidence threshold 414, at block 608, the docking position control circuitry 404 executes the docking positioning model(s) 316 to cause or instruct the robotic vehicle 102 to engage or couple with the platforms 106, 108. For example, as a result of executing the docking positioning model(s) 316 in conjunction with the platform classification data 412, the docking position control circuitry 404 causes the robotic vehicle 102 to perform a particular maneuver to position the forks 114, 116 for engagement with the platforms 106, 108.

[0093] At block 610, the monitoring circuitry 406 monitors the outputs generated by the sensor(s) 120, 122, 124 while the robotic vehicle 120 is engaging or has engaged with the platform 106, 108 to determine whether docking operations should be adjusted. For example, the monitoring circuitry 406 may determine that docking operations should be adjusted based on force sensor output indicating that the weight associated with the platform 106, 108 is unbalanced between the forks 114, 116 and, therefore, is likely to fall. At block 612, the docking position control circuitry 404 executes the docking positioning model(s) 316 to cause the robotic vehicle 102 to perform maneuvers to adjust docking operations with the platform 106, 108 or to abort docking with the platform 106, 108.

[0094] In some embodiments, the monitoring circuit 406 determines that the docking operation should be aborted rather than adjusted (block 614). The monitoring circuit 406 may determine that the docking operation should be aborted based on, for example, image data showing a condition of the platforms 106, 108 that may not be apparent until the forks 114, 116 at least partially enter the opening(s) 118 of the platforms 106, 108. If the monitoring circuit 406 determines that the docking operation should be aborted, control proceeds to block 620, where the docking position control circuit 404 executes the docking positioning model(s) 316 to cause the robotic vehicle 102 to abort the docking action.

[0095] If the monitoring circuit 406 does not identify an adjustment to the docking operation, control proceeds to block 616 where the docking position control circuit 404 receives an indication from the vehicle control circuit 211 that the robotic vehicle 102 has reached the destination of the platform 106, 108. After the docking operation is adjusted, control proceeds to block 616 as well. In response to the indication that the vehicle 102 has reached the destination, at block 618, the docking position control circuit 404 executes the docking positioning model(s) 316 to cause the robotic vehicle 102 to perform maneuvers to undock or undocking from the platform 106, 108 without causing damage or significant damage to the platform 106, 108, the payload 110, 112, or the robotic vehicle 102.

[0096] At block 622 , the feedback circuitry 408 provides feedback to the machine learning model training circuitry 300 based on, for example, data noted or recorded during the docking event, where the docking event is either a successful docking event (e.g., the platform is transported to the destination via the vehicle 102 without damage or substantial damage to the platform 106 , 108 , payload 110 , 112 , or vehicle 102 ) or an unsuccessful docking event (e.g., the payload falls from the vehicle 102 during transport and the docking operation is aborted). For example, the feedback circuitry 408 may provide data representing the position(s) of the fork(s) 114, 116 during successful and / or unsuccessful docking events with the robotic vehicle 102 (this data and the corresponding platform classification data 412) for use in retraining the model(s) 312, 316, 318. In some embodiments, the feedback circuitry 408 may store the data (e.g., data from successful and / or unsuccessful docking events) and subsequently provide it to the machine learning model training circuitry 300. Similarly, in embodiments where the confidence determination circuitry 402 determines that the confidence level does not meet the threshold 414 (block 606), the feedback circuitry 408 may provide the corresponding platform classification data 412 for use in retraining the model(s) 312, 316, 318. When no more candidate platforms are identified for docking with the robotic vehicle 102, the example instructions 600 end (blocks 624, 626).

[0097] In summary, it should be understood that the present application discloses exemplary systems, methods, apparatus, and articles of manufacture for selectively docking a robotic vehicle with a platform (e.g., a pallet) based on properties associated with the pallet and / or a load carried by the platform to facilitate transportation of the platform by the vehicle. The embodiments disclosed herein execute machine learning models (one or more) to evaluate whether a robotic vehicle should initiate a docking event with the platform based on associated platform properties. When the vehicle is about to dock with the platform based on a confidence analysis, the embodiments disclosed herein execute machine learning models (one or more) to guide or direct the coupling between the robotic vehicle and the platform to avoid damaging or substantially damaging the platform, any load carried by the platform, and / or the robotic vehicle. The embodiments disclosed herein monitor the docking between the vehicle and the platform and provide dynamic adjustments to the docking operation to maintain the structural integrity of the platform, the load, and / or the vehicle.

[0098] From the foregoing discussion, it should be understood that the present invention is implemented in software within the automated vehicle (either entirely within the software within the automated vehicle, or with portions of the computational process executed on other computing resources, such as local servers, cloud computing platforms, etc.). Such software may be provided on a physical medium, such as a digital versatile disk (DVD), a compact disc read-only drive (CD-ROM), a USB memory stick, etc., or may be accessed by downloading, for example, from an Internet Service Provider (ISP) over the Internet.

[0099] The following claims are incorporated by reference into the detailed description. Although this application discloses certain exemplary systems, methods, apparatus, and articles of manufacture, the scope of protection of this patent is not limited thereto. On the contrary, this patent covers all systems, methods, apparatus, and articles of manufacture that reasonably fall within the scope of the claims of this patent.

Claims

1. An automatic vehicle, comprising: Memory; machine-readable instructions; and a processor circuit that executes the machine-readable instructions, the processor circuit being configured, in use: Identify attributes associated with the platform; determining a confidence level associated with docking the automated vehicle with the platform based on the attributes associated with the platform; identifying a positioning maneuver to be performed by the autonomous vehicle relative to the platform based on the confidence level and the attribute of the platform; as well as The automatic vehicle is caused to execute the identified positioning manipulation action.

2. The automatic carrier according to claim 1, wherein: The processor circuit is further configured to perform a comparison of the confidence level to a threshold value and then: i) if the confidence level satisfies the threshold, identifying the positioning manipulation action; or ii) causing an alert to be output if the confidence level does not meet the threshold.

3. The automatic carrier according to claim 1 or claim 2, wherein: The attribute associated with the platform is a first attribute associated with the platform, and the processor circuit is further configured to: identifying a second attribute associated with the platform based on data corresponding to an output of a sensor when a fork of the automated vehicle is at least partially engaged with the platform; Based on the second attribute, adjusting the positioning manipulation action; and Outputting instructions to enable the automatic carrier to perform the adjusted positioning and maneuvering action.

4. An automated carrier according to any preceding claim, wherein: The processor circuit is further configured to: determining, based on data corresponding to outputs of sensors of the automated carrier, an orientation of the platform relative to a fork of the automated carrier when the fork of the automated carrier is at least partially engaged with the platform; adjusting the positioning manipulation action based on the orientation; as well as Outputting instructions to enable the automatic carrier to perform the adjusted positioning and maneuvering action.

5. An automated carrier according to any preceding claim, wherein: The processor circuit is further configured to identify the attribute associated with the platform based on image data output by a sensor of the autonomous vehicle.

6. An automated carrier according to any preceding claim, wherein: The processor circuit executes one or more machine learning models to determine the confidence level.

7. An automated carrier according to any preceding claim, wherein: The property associated with the platform includes a weight of a load supported by the platform, and the processor circuit is configured to: identifying a first positioning maneuver to cause the automated carrier to move a fork of the automated carrier to a first position relative to the platform when the load is associated with a first weight; and When the load is associated with a second weight, a second positioning maneuver is identified to cause the automated vehicle to move the fork to a second position relative to the platform.

8. A method for operating an automatic carrier, the method comprising the following steps: i) identifying one or more attributes of the platform; ii) selecting a positioning maneuver to be performed by the autonomous vehicle relative to the platform based on the one or more attributes identified in step i); and iii) outputting instructions to enable the automatic vehicle to perform the positioning and manipulation action selected in step ii).

9. The method according to claim 8, wherein If one or more further platform properties are identified during the execution of the positioning maneuver selected in step ii), the method comprises the further steps of: a) modifying the positioning manipulation action previously selected; or b) Select further positioning manipulation actions.

10. The method according to claim 9, wherein: In step i), a first attribute of the platform is identified; During execution of the positioning maneuver selected in step ii), identifying a second property of the platform, the second property of the platform being identified based on data corresponding to an output of a sensor when a fork of the automated vehicle is at least partially engaged with the platform; the method comprising the further steps of: iv) adjusting the positioning manipulation action based on the second attribute; and v) outputting instructions to enable the automatic vehicle to perform the adjusted positioning and maneuvering action.

11. The method according to any one of claims 8 to 10, wherein In step i), the one or more properties of the platform may include one or more properties of a load carried by the platform.

12. The method according to claim 11, wherein In step i), an attribute of the load carried by the platform is identified, and in step ii), if the identified attribute of the load is a first load attribute, a first positioning maneuver is selected to cause the automatic carrier to move the fork of the automatic carrier to a first position relative to the platform; or, if the identified attribute of the load is a second load attribute, a second positioning maneuver is selected to cause the automatic carrier to move the fork of the automatic carrier to a second position relative to the platform.

13. The method according to any one of claims 8 to 12, wherein In step ii), selecting the positioning manipulation action includes executing one or more machine learning models to select the positioning manipulation action.

14. The method according to any one of claims 8 to 11, wherein In step i), the one or more properties of the platform are identified based on output of one or more sensors carried by at least one of the platform or the autonomous vehicle.

15. The method according to any one of claims 8 to 14, wherein In step i), the one or more properties of the platform are identified based on the orientation or position of the platform in an environment.

16. The method according to any one of claims 8 to 15, wherein The positioning manipulation action selected in step ii) causes the automatic carrier to perform a first positioning manipulation action to dock the automatic carrier with the platform.

17. The method according to claim 16, wherein The automatic vehicle performs further positioning manipulation to disconnect from the platform.

18. The method according to claim 17, wherein The autonomous vehicle performs the further positioning maneuver to undock from the platform in response to an indication that the autonomous vehicle has reached a predetermined destination.

19. A non-transitory machine-readable storage medium comprising machine-readable code which, when executed, causes the method according to any one of claims 8 to 18 to be performed.