Pallet handling device and product transport using multiple robots
Patent Information
- Application Number
- JP2024547412
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-02-11
- Filing Date
- 2023-02-07
- Publication Date
- 2025-10-20
AI Technical Summary
Current robotic systems are not scalable and lack the ability to efficiently coordinate multiple robots to perform complex tasks such as lifting and moving pallets, due to limitations in task and planning methodologies.
A system comprising a plurality of robots, each equipped with wheels driven by motors, wireless communication circuits, and processors, which can fit under pallets and lift them using a scissor lifting device. A central server coordinates the robots to select the appropriate group, assign tasks, and instruct them to lift and move pallets to designated destinations.
The system enables efficient and coordinated movement of pallets by multiple robots, overcoming the limitations of current robotic systems by ensuring robust task planning and scalability, while reducing the risk of human error and injury associated with manual handling.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 309,263, filed November 02, 2022, the entirety of which is incorporated herein by reference. The present invention relates to a pallet handling device, and more particularly to a pallet handling device that uses multiple robots that operate in coordination. [Background technology]
[0002] Many industries require frequent movement of loads within warehouses, production facilities, and the like. Typical loads include, for example, palletized objects, machinery, vehicles, and the like. As shown in FIG. 1, a typical existing load 10 stored in a warehouse may include an object 16 mounted on a pallet 12 resting on a floor 11. The pallet 12 typically defines two spaced apart open areas 14 located below a platform 13 on which the object 16 rests. The two open areas 14 are sized to receive the forks of a forklift to facilitate lifting and movement of the load 10. Some loads do not require pallets, such as automobiles stored in a city parking lot.
[0003] Palletization is a global industry with an ever-increasing need. Virtually every form of commerce requires the movement of products as a natural part of the shipping process. This need makes warehousing and the movement of heavy goods a very important consideration for most forms of commercial enterprises. Moving this heavy goods typically requires the operation of forklifts and hand trucks, which can be very risky. Facilities that use forklifts saw an average of 88 deaths and 8,700 injuries per year in the United States between 2011 and 2017, with forklifts accounting for 10% of all physical injuries. Additionally, human labor imposes limitations on the amount of work that can be done in warehouses.
[0004] One of the goals of modern warehouse management technology is to use robotic systems to remove the uncertainty of human error. Unfortunately, robotics cannot yet replace human labor in many factory and warehouse tasks. Humans are adept at responding to diverse situations with changing needs and cooperating with each other when necessary. On the other hand, many of today's robotic systems tend to follow prescribed procedures, making it difficult to program new tasks and often fail when presented with situations that do not precisely match the expected initial system or environmental conditions. One solution that is often adopted is to make the system more complex, either by increasing the parameters that the user must tune or by making the conditions that must be met for the mission to be successful more complex. This situation becomes even more complicated when trying to employ swarms of cooperating robots, which requires a highly trained user workforce with both task expertise and robotics expertise. One proposed solution involves a framework for training robots rather than a user workforce. Such a framework would allow the robots to use data on what actions are appropriate and what outcomes are expected as a result of those actions.
[0005] Regardless of the task framework, robots must be able to plan trajectories to accomplish the assigned task. This includes not only individual actions, but also trajectories of swarms of robots acting collectively to accomplish a single complex task. Even in the realm of planning, robots are not usually designed to share state spaces, so other coordination techniques must be found. The reason is surprisingly simple: state-of-the-art path planning methods cannot handle systems with many degrees of freedom. Trajectory planning for swarms of systems is usually a combination of search-based methods and heuristic algorithms. Unfortunately, this limits their capabilities when the number of units changes, and the system cannot scale to the number of units in operation. Moreover, such limitations are well understood in the world of robotics, so the units themselves are typically designed not to cooperate with other units. As a result of this limitation, the design of most commercially available robotic systems is not suitable for practical swarms of systems.
[0006] State-of-the-art path planning methods cannot adequately handle swarms of systems. Search-based path planning methods are not suitable for path planning of large systems with a variable number of robots because the dimensionality grows exponentially. However, the artificial potential field method is not a search-based algorithm. It is a mathematical formula for determining the movement of a robotic system. Although the method has its advantages, it also has its disadvantages, and as computational power improved and other methods became available, it fell into little use. However, a new application of the artificial potential field method, known as the secant approach, has guaranteed and well-defined convergence properties. The algorithm has been tested and proven effective for a single mobile robot in a field with static obstacles. Summary of the Invention [Problem to be solved by the invention]
[0007] Traditional robotic units have specialized hardware to complete a task, and complex tasks are accomplished by combining a set of different specialized robotic units. To complete a specific task, a specific design for the specific robot is required. Such robots become single-purpose systems. For example, a robot designed to lift racks of goods for transportation cannot carry new types of goods or handle different types of racks. This requires the entire infrastructure to be homogeneous, which may not be optimal for the required tasks. In one application, an area in a warehouse setting involves the lifting and transport of various items and pallets.
[0008] In general, current robots performing industrial-level tasks are not intended to be scalable. The typical model is a limited number of systems working together to accomplish a fixed task. Such models are either designed for a fixed task (such as an assembly line) or a large range of tasks (such as a delivery robot) but with a small number of components working together. One of the barriers that prevents robotic systems from having a scalable number of units is the lack of a robust task and planning methodology for such systems.
[0009] Therefore, there is a need for a pallet moving robot system that has the scalability to allow multiple robots to cooperate to lift and move pallets. [Means for solving the problem]
[0010] The shortcomings of the prior art are overcome by the present invention. In one aspect, the present invention is a system for moving a load on a floor to a selected destination, the load defining an open area between the load and the floor. The system includes a plurality of robots, each robot including at least two wheels driven by a motor, a wireless communication circuit, and a processor in communication with the wireless communication circuit and controlling the motor. Each of the plurality of robots is sized to fit into the open area under the load. A lifting device is secured to each robot and controlled by the processor of each robot. The lifting device has a contracted state and a lifting state, and when the lifting device is in the contracted state, the robot and the lifting device can fit into the open area, and when the lifting device is in the lifting state, the load is lifted from the floor. A central server is in communication with the communication circuit of each of the plurality of robots. The central server is configured to determine a configuration of robots to lift the load, to configure a robot swarm by assigning a selected robot from the plurality of robots, and to instruct the selected robot to go to a selected location in the open area under the load, lift the load, and move the load to the selected destination.
[0011] In another aspect, the invention is a method of moving a load to a selected destination, the load having a weight and located on a floor, the load defining an open area between the load and the floor, and a plurality of robots are selected from a plurality of robots for moving the load. The selected robots have a capability of lifting a weight greater than a weight of the load. Each of the selected robots moves toward the load. Each of the selected robots is moved to a selected location within the open area. A lift mechanism of each of the selected robots is actuated to lift the load from the floor. Each of the selected robots moves in coordination to a selected destination. At the selected destination, the load is lowered to the floor.
[0012] These and other aspects of the present invention will become apparent from the following description of the preferred embodiments taken in conjunction with the drawings, in which: As will be apparent to those skilled in the art, the present invention is susceptible to numerous variations and modifications without departing from the spirit and scope of the novel concepts of the disclosure. [Brief description of the drawings]
[0013] [Figure 1] FIG. 1 is a perspective view of an object placed on a pallet. [Diagram 2] Figure 2A is a side view of the self-balancing robot with the lifting device attached in a contracted state, Figure 2B is a front view of the self-balancing robot shown in Figure 2A, and Figure 2C is a side view of the self-balancing robot shown in Figure 2A with the lifting device in a lifting state. [Diagram 3] FIG. 3 is a side view of a robot detecting an obstacle. [Figure 4] FIG. 4 is a schematic diagram of the robot including some functional elements associated with the robot. [Diagram 5] Fig. 5A is a schematic diagram showing a load and two robots in an open area defined by the two robots, and Fig. 5B is a schematic diagram showing the load shown in Fig. 5A being lifted by the robots. [Figure 6] FIG. 6 is a front view of a robot that employs a scissor lift type lifting device. [Figure 7] 7A-D are schematic diagrams showing a series of robots engaging and moving packages to their destinations. [Figure 8A] FIG. 8A is a schematic diagram showing obstacles avoided by a robot. [Figure 8B] FIG. 8B is a graph showing the potential magnetic field for a concave obstacle. [Figure 9] Figure 9 is a goal diagram that details the relationship between hierarchical task processing, the secant method planner, and ubiquitous robot design. [Figure 10] 10A-10E are schematic diagrams showing different robot and load configurations. [Figure 11] FIG. 11 is a schematic diagram showing how a group of robots and loads in different configurations navigate relative to each other. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention are described below in detail. Referring to the drawings, like numbers refer to like parts throughout the figures. Unless otherwise indicated in the following disclosure, the drawings are not necessarily drawn to scale. The present disclosure should in no way be limited to the exemplary embodiments and techniques illustrated in the drawings and described below. As used throughout this specification and claims, the following terms take on the meanings expressly associated therewith in this specification, unless the context clearly dictates otherwise. The meanings of "a", "an", and "the" include plural references and the meaning of "in" includes "in" and "on".
[0015] The IEEE Robotics and Automation Society's P1872-1 Robot Tasking Standards aims to develop a standardized tasking frame for robot tasks. This new standard is implemented to perform single-vehicle task planning based on the Planning Domain Definition Language (PDDL) framework, which is widely used in the Robot Operating System (ROS) framework. Under PDDL, there exists a finite set of robot actions, and each action contains predefined preconditions that must be true to execute the action, maintaining conditions that must be true throughout the action, and expected effects that occur as a result of the action. An AI-based planning framework can then construct a plan that will lead the system from its current state to a goal state. With this approach, the end user only needs to specify the starting state of the system and the desired goal state. The system then considers how to achieve this goal, monitors its progress towards the goal, and corrects any errors that occur along the way by replanning. This invention extends this planning paradigm to work with multiple vehicles.
[0016] In one exemplary embodiment, the present invention includes a hierarchical planning system for a fleet of robots used to move objects. High level path planning is employed for machine tasking states. The system selects a single robot and a fleet of robots from among multiple robots to be deployed to lift and move loads.
[0017] Typically, a server receives a request to move a package from its initial location to its destination. The server evaluates the package's weight and dimensions and selects a group of robots that have the capabilities to lift the package and move it to its destination. Once the robots are assigned to move the package, they communicate with each other and behave as if they were a single robot.
[0018] As shown in FIGS. 2A-2C, an embodiment of a robot 100 that can be used as a plurality of robots typically includes a self-balancing transporter 110 including at least two wheels 112 and a lifting device 120. The lifting device 120 has a retracted state (as shown in FIGS. 2A and 2B) in which the robot 100 can engage an open area 14 below the platform 13 (see FIG. 1) of the load 10. The lifting device 120 also has a lifting state (as shown in FIG. 2C) in which the lifting device is extended to a height sufficient to lift the load 10 from the floor 11. As shown in FIG. 3, at least one of the robots 100 selected by the server includes a sensor 124 (e.g., a LIDAR sensor, may be employed; other sensor examples include ultrasonic, video, GPS, light sensing, touch sensing, humidity, temperature, and any of many other types of sensors known in the sensor technology, depending on the particular application.) that can sense the presence of an obstacle 20 or other object (such as another robot). The information from the sensors is processed using collision avoidance algorithms (e.g., the secant method) to prevent collisions between the robots.
[0019] As shown in FIG. 4, a typical robot 100 employed in the present system is controlled by a processor / controller 130 that communicates with a server and other robots via communication circuitry 132. As is widely understood, the communication circuitry 132 may include circuitry to facilitate communication using one or a combination of a number of communication standards known to those skilled in the art of robotics (e.g., Wi-Fi, Bluetooth, ZigBee, etc.). The processor 130 also controls a lift actuator 134 that actuates the lift device 120 between a lifted state and a retracted state. The processor 130 controls a motor 136 that moves the wheels 112. The robot 100 is powered by a battery 138, such as a rechargeable lithium-ion battery.
[0020] The robot 100 is shown in FIG. 5A being moved into position under the load 10, and the load 10 is shown being lifted by the robot 100 in FIG. 5B.
[0021] The robots in the system may all be the same, or different types of robots may be used. For example, some robots may employ a complex sensor and control suite while others may be passive robots that receive instructions from the complex robot. Also, while a robot with two wheels is shown, robots with more than two wheels may be used. Also, different robots may have different lifting capabilities and different battery charge capacities. Also, different types of lifting devices may be employed. For example, as shown in FIG. 6, in one embodiment, the lifting device includes a scissor lift 200 coupled to the robot 100.
[0022] The central server stores information such as each robot's lifting capability, current charge state, and current location. The server then selects the robot swarm based on the robots' collective capability to move the load to the destination. For example, as shown in FIGS. 7A-7D, a system 300 typically includes a server 310 that controls multiple robots 320 (shown as robots R1-R9). In FIG. 7A, the server 310 receives a request to move a load 10 from its current location to the destination 30. Based on information provided to the server 310 regarding the load's weight, weight distribution, and dimensions, the server 310 selects and assigns robots R2, R5, R6, and R8 to lift and move the load. In FIG. 7B, the selected robots of the robot swarm 322 that are assigned the task communicate with each other to move to the assigned location under the load 10 in a coordinated manner. The movement paths of the robots of the robot swarm 322 may be calculated in the robots' processors. In one embodiment, the server can calculate all the robots' movements and send movement instructions to the selected robots. Robots R6 and R8 are required to take a path to reach the load while avoiding obstacles 20, calculated using an object avoidance algorithm such as the secant method.
[0023] As shown in FIG. 7C, the robots 322 engage the load 10, lift it, and move it to the destination 30 while avoiding obstacles 20 in the process, in cooperation with one another. Once the load 10 is delivered to the destination 30, the robots retract their lifting equipment, move away from under the load 10, and return to their assigned locations to await instructions regarding the next lifting operation, as shown in FIG. 7D. A robot may indicate to the server 310 that it does not have enough battery capacity to reach the selected destination. In this case, the server 310 will move the robot away from the load and substitute another robot, which will move toward the load and join the collection of robots tasked with moving the load 10.
[0024] The present invention employs an adaptive planning paradigm. The system includes an inference engine that reason over logical predictions and concepts of actions present in the world model. This generates logical task plans that are understandable to humans and provide goals for deliberative systems. This logical planner provides an understanding of the state of the world as well as the outcomes (effects) and requirements (constraints / preconditions) of the actions. It also allows the system to understand when an action fails. Once an action is performed, the system can infer the failure of the action and change the success probability or add / remove requirements for a particular action. These action sequences are derived through the use of a PDDL planning system that augments the standard ROS Plan framework. The ROS Plan framework, well known from robotics, provides a collection of tools for AI planning in ROS systems. ROS Plan has various nodes that encapsulate planning, problem generation, and plan execution. An example of this form of plan is a sequence of human-readable task descriptions such as "Robot 1 undocks; Robot 1 navigates to pallet 23; Robot 1 docks with pallet 23; Robot 1 lifts". Although such planning is logically consistent, it cannot be practically executed by conventional robotic systems. Each task must first be based on metric information associated with a world model instance (e.g., where is pallet 23 located). The framework of the present invention provides for combining logical and metric information for use in our planning hierarchy. Additional contributions to this framework include:
[0025] Core Schema and Extensions: An XML-based core schema contains all the classes and definitions required to implement the system, and domain-dependent extensions of the schema enable physical planning systems in domains ranging from biomanufacturing to autonomous vehicle control.
[0026] Logical and physical planning:PDDL is designed to operate in a logical planning environment. For example, multiple vehicles can be commanded to coordinate at specified waypoints. However, decoding those specified waypoints into physical locations is necessary for cost calculations and detailed planning. This problem is addressed by a real-time database that contains information that combines the logical and physical planning domains. This database is formatted to fit a schema, and its creation, maintenance, and access are controlled by automatically generated code.
[0027] Automatic code generation: The system makes extensive use of the open source ROSPlan framework for generating, evaluating and dispatching logical plans via PDDL. ROSPlan requires a database of logical types and instances for its operation. The physical planning environment requires metric information bound to these instances. To accommodate both systems, the system employs a package that reads the schema and generates both the logical and physical databases used by the planner. Additionally, C++ classes are generated for all types, along with access functions that allow seamless access to all class variables with reads and posts to the appropriate databases.
[0028] Finite State Machine (FSM) encoding capabilities:The PDDL planner is near optimal and is not guaranteed to converge to an optimal solution within a certain period of time. For many high-level actions, expert systems have already created optimal solutions for activities consisting of FSMs with defined actions, and an AI planning system is not required to find the optimal solution. In such cases, the framework allows the user to follow a simple format to describe the intended FSM. The plan dispatcher can then read this FSM and treat it as if it had been designed by the PDDL planning system. This includes checking preconditions and effects. The user can define preconditions and effects for the entire FSM, but the dispatcher also ensures that preconditions and effects for each individual atomic action are met. Thus, the effect of the FSM is a combination of the effects of all low-level actions and the high-level effects described by the user. Also, an embodiment could use behavior trees instead of FSMs and supersonic geolocation instead of an optimal track system.
[0029] Hierarchical Planning: One of the benefits of using FSMs with preconditions and effects is that these FSMs can now be used as atomic actions. The framework provides the ability to recursively decompose composite actions during execution. This allows for the use of auto-generated plans and planning hierarchies where FSMs can call FSMs as part of their plans.
[0030] ROS action server implementation: For ease of debugging and development, all low-level actions of the framework are developed as ROS action servers, allowing each action to be debugged and characterized independently.
[0031] Visual Programming: Additions to the framework can include a visual programming interface that allows drag-and-drop programming of robot activities.
[0032] The adaptive planning framework employed in this invention employs an auction-based approach to task allocation to multiple platforms that address multiple objectives, providing platforms for task allocation for each requested task. Load balancing (how many platforms and what type are allocated to complete each task successfully) and integration into hybrid architectures are part of the system.
[0033] Secant method: Artificial Potential Field (APF) path planning was originally intended as a path planning tool for systems with very low (by modern standards) processing power. The challenge for previous roboticists was simple: computers could not be mobile and have significant processing power at the same time. Thus, APF was born as an ideal solution. APF is a mathematical model that informs the desired state of the robot. By modeling the goal position as an attractive force and obstacles as repulsive forces, the algorithm aims to avoid collisions while converging to the goal. The advantage of APF is, to say the least, that it is very computationally efficient. However, in modern robotics, it has another advantage that is often overlooked. This property differs from grid-based algorithms, which grow exponentially, and from search-based methods, which converge stochastically and grow exponentially with dimension. The APF function grows linearly with dimension, making it an ideal candidate for large swarm applications where the number of units changes dynamically.
[0034] Although the APF algorithm has properties that make it ideal for generalized path planning, the APF method also has well-documented performance issues. The main problem is convergence; general APF methods are not guaranteed to converge within a specified region of the goal (they can get stuck). However, other well-known issues exist, such as oscillations on narrow paths. Some systems employing swarm APF planning have mitigated this issue by removing ground obstacles and focusing on UAV-type movements. These limitations, combined with increasing processing power, have led other path planning algorithms to take center stage in modern robotics.
[0035] The present invention applies a modified APF approach called the "secant method" (as shown in Figure 8A) as a means of guaranteeing goal convergence and collision avoidance for robot swarms in the known field. The secant method has advantageous properties that make it ideal for path planning, as shown in Equation 1 below. Most importantly, the algorithm is guaranteed goal convergence for obstacles of any shape (including concave shapes as shown in Figure 8B). The secant method also has the advantages of the general APF method: it scales linearly with the dimension and is computationally lightweight. Another advantage of the secant method is that it can be applied to different types of robots; it works equally well for small platform robots as it does for large mobile units. Thus, a team of small systems can be effectively "chained" together and commanded as a single system by the same algorithm. The secant method leverages the best aspects of APF theory and introduces the guaranteed convergence property, making it an ideal solution for swarm systems.
number
[0036] Equation 1 shows the potential function generated by the secant method. The associated vectors are shown in Figure 8A and k p and k i is a positive constant.
[0037] Ubiquitous Robot Design: The design of a ubiquitous robot is a system whose task domain changes depending on the number of units available. While more complex designs with specialized hardware are certainly possible to augment a ubiquitous robot, the intention here is to reshape how tasks are perceived. Therefore, the robot focuses on scalability with a wide range of tableaus that allow a wide range of customizations. The robot can be used by non-robot experts, allowing the system to function in a wide range of environments and achieve a large social impact.
[0038] The system does not address all the scenarios that a robot swarm may encounter. Instead, the task processing itself can be redefined by considering the concept of scalable robotics. So, instead of having special equipment for every problem of warehouse logistics, the design of the robots is focused on a specific and known need in the industry, such as moving pallets or objects in a limited environment. For example, four robots may be needed to move a pallet of a certain weight. But with a scalable design, twice as many robots are needed to move a pallet that is twice as heavy or twice as large. The number of units depends on the task, not on the units themselves, so the system does not need to utilize stronger robots to lift heavier pallets.
[0039] The system employs task-oriented robot swarms, so the robot is designed to work with any number of partners as a single unit. It should be noted that the same methodology developed here can be applied to different types of systems. Moreover, robots can be modified to handle different specialized tasks. Also, robots of different designs can work together (e.g. a platform robot and a robot arm can be given tasks at the same time).
[0040] By combining state-of-the-art hierarchical task planning with path planning, this system changes the paradigm of robotics. Typically, a single robot or robot type is designed to accomplish a single task. This system, on the other hand, can employ swarms of robots working in coordination. The task domain of each robot is affected by the number of robots utilized. Instead of using a more powerful robot to lift a heavier load, swarms of robots of the same type can team up to move larger objects.
[0041] In one embodiment, the system takes a hierarchical planner designed for system abstraction and applies it to swarm technology to simultaneously task a fleet of changing robots under dynamic tasks. The hierarchical tasks extend the ideas of detailed fleet allocation and hybrid logical / deliberative single-platform planning systems. The result is a system that can operate a fleet of heterogeneous robotic platforms while providing human-understandable plans that cover multiple objectives.
[0042] The convergent planner is designed for single-unit path planning, and its formulation is modified to be applicable to swarm techniques involving multi-unit convergence in the presence of moving obstacles. The present invention extends the secant algorithm to apply to multi-robot systems that avoid each other as they converge to their respective goals. Key advantages of this system are that it is computationally inexpensive and that the path planning requirements scale linearly with dimension. Combining these two properties results in a system that can plan paths for multiple robots while ensuring that individual units avoid collisions.
[0043] The task domain of a robotic system can be seen as a function of the number of robotic units, not the functions contained in one unit. Instead of assigning a robot to a task, the task can be mapped to a swarm of robots to produce an outcome. Thus, the system employs a swarm of individual mobile robots that can complete tasks by scaling their individual capabilities and numbers. The robots can be a mix of sensor-rich and sensor-poor systems, i.e., focused on having the same primary capability of lifting boxes, pallets, and various other objects. The tasks that a system can complete vary with the number of robots used for the task. For example, lighter loads can be accomplished with fewer (or even just one), while heavier loads are transported using proportionally more mobile systems. Also, loads that require specialized formations (like beams) can be achieved by varying the configuration patterns of multiple systems working together.
[0044] Figure 9 shows an objective chart 400 detailing the relationship between hierarchical task processing, the secant planner, and ubiquitous robot design. Task requirements and constraints are input from the user to the master control unit, which provides a logical solution to the task problem. The solution applies an auction-based approach to match task requirements with platform capabilities to build a near-optimal team to accomplish the task. The master control unit further decomposes the task into a set of concurrent logical tasks. Each of these tasks is dispatched to individual robot software services, and a joint database is utilized to base the logical tasks on the physical actions of the robots. These actions are executed on the individual robot hardware, resulting in collective robot behavior operating on the environment.
[0045] Robot Swarms: A low-cost, easy to operate surrogate platform is used with a secant based control logic. There are many open source options that can be used, for example the Sainsmart Instabot self-balancing robot system is used in one representative embodiment with an Arduino Mega microcontroller. These robots can be fitted with an Optitrack system, allowing precise localization as part of the task planning and control logic.
[0046] Mobile heavy lift platforms provide a low profile, small footprint system with two hub motorized wheels in the center of the platform, with differential drive. These are operated with an inverted pendulum self-balancing controller. This reduces the number of motors required while allowing high torque and heavy lift capacity, providing dynamic movement and control. Similar systems now exist in the consumer sector. For example, the Segway Drift Hovershoes can carry a 220 lb load at up to 7.5 mph with a single hub motor per vehicle.
[0047] In one experimental embodiment, all parts are commercially available, making it a highly composable hardware system that can be used for various purposes. An Nvidia Jetson TX2 can be utilized as the main processing unit. A LIDAR combined with a stereo depth imaging sensor allows for obstacle detection and safe navigation. A compact lifting mechanism can be mounted on top of the platform to lift and transport objects or pallets. A brushless motor controller can also be used. In the experimental embodiment, it is powered by a LIPO battery pack with a battery management system. The frame is made of 80 / 20 extrusions. A Robot Operating System (ROS) is heavily utilized for the robot control.
[0048] There are several different assumptions regarding the space in which the experimental embodiment is used: the area of use is a completely known space; localization is achieved by external sensing mounted within the space, delivering information to the robot frequently and with high accuracy; there are obstacles in the space, but their locations are trackable or known; there are also designated areas for loading and unloading pallets; the experimental embodiment uses a level of infrastructure along with the systems; the system needs to be able to remotely control each robot, hence using a master controller on an external computer.
[0049] A key component of task planning theory and the secant method is the use of a central processing framework to remotely manage the systems. Each system can have a subset of individual autonomous capabilities, but the main task processing, planning, and control occurs on the server. The environment map can also be located here. This server communicates with the OptiTrack system, providing real-time location information of all agents, obstacles, and objects in the environment. It also communicates directly with the individual robots to manage task assignment and provide all navigation commands. ROS can be heavily leveraged for this implementation. OptiTrack markers can be placed on each robot platform and provide location information to the master controller. Each system is equipped with wireless communication. The server provides all navigation functions and can calculate and send motor speed commands directly to each robot.
[0050] In an experimental embodiment, we incorporate an auction-based planning system for the allocation and maintenance of the swarm. Individual platform plans flow to the individual platforms, and these plans are executed on the physical system by a master control unit. This system is responsible for determining the high-level tasks for the swarm, monitoring the behavior of the individual robots, and evaluating task performance. The high-level planner can include all kinds of tasks that may be required of the swarm and can determine when, how, and who should perform these tasks.
[0051] The secant method has been adapted to physical hardware. The system can be commanded by a hierarchical planner to achieve a trajectory that converges to a goal position while avoiding obstacles.
[0052] An important feature is that the robots can form patterns and move together as a single unit. The advantage of the different drive systems is that they are very agile, so the robots can move while maintaining the same relative distance and orientation to each other. This feature can be augmented with basic secant path planning and obstacle avoidance routines.
[0053] As shown in Figures 10A-10E, the system can form different combinations of robots to work together. For example, as shown in Figure 10A, one robot can be used to move a relatively light load, while as shown in Figure 10B, two robots can be used to move a half pallet. As shown in Figure 10C, four robots can be used to move a single pallet, while as shown in Figure 10D, six robots can be used to move a heavier pallet. A heavy double pallet, as shown in Figure 10E, would require twelve robots working together. It will be readily appreciated that many other configurations are possible. In these configurations, the robots are commanded to move as a single unit from one location to another. It is important to ensure that the robots move in unison.
[0054] Each platform runs a local version of ROS, allowing for fully independent autonomous control. Dynamic obstacle detection and avoidance is implemented in the units using data acquired via sensors. This dynamic obstacle data can be communicated to a master server for insertion into the map, allowing adaptive navigation of the entire robot swarm against dynamic obstacles in the environment. Errors can be corrected at the lowest possible level (e.g., each robot attempts to self-correct before giving up and seeking guidance from a higher hierarchy). As a result, the robot swarm can self-recover from both minor and major platform failures. One important aspect of this system is having the ability to simultaneously navigate a group of linked mixed footprint systems, as shown in Figure 11.
[0055] Hierarchical planners for large robot swarms can suffer from concurrent events and shifting goals. Therefore, for more advanced path planning, the task state of the machines is important. Typically, a sequential order is generated that dictates what actions are taken depending on what conditions are met. The hierarchical planning method employed allows for changing states within the system, which in turn means that the system is capable of self-diagnosing and error checking. It also allows for concurrent actions and does not require tasks to be predefined. Applying this technique to swarms creates a system that can deal with shifting and changing goals, which is not currently possible.
[0056] Some swarms combine the most difficult elements of path planning into one system. High-dimensional path planning for search and optimization methods requires nonlinear growth per dimension. As a result, path planning for systems of larger orders of magnitude resorts to heuristic algorithms to simplify the problem. An unintended consequence of this behavior is that systems become very difficult to scale. Thus, modern path planning may not be scalable, even for systems that can handle swarms of systems. To address this issue, the system utilizes the secant method, a modernized and mathematically improved approach to artificial potential fields. It is not a search or optimization method. Instead, it relies on potential fields and has guaranteed convergence. It also essentially scales linearly with the dimension. In swarm applications, doubling the number of robots means doubling the processing requirements for the robots. But with each additional robot, there are also more processing units to control the robots. Thus, the processing power of a swarm of robots also scales linearly with the dimension. If the path planning is done locally on the system and fast enough, the path planner itself is not a bottleneck in swarm robotics.
[0057] The system offloads robot tasks to a hierarchical task planner that can operate on a variable number of systems to accomplish abstracted tasks, so that the human giving the robot a task can give instructions as complex or simple as needed, in a way that even a robotics novice can understand, and the planner can create the low-level commands necessary to accomplish the task.
[0058] Although certain advantages have been enumerated above, various embodiments may include none, some, or all of the enumerated advantages. Other technical advantages will be readily apparent to those skilled in the art upon review of the following figures and description. Although exemplary embodiments are illustrated in the figures and described below, it will be understood that the principles of the present disclosure may be implemented using any number of technologies, whether currently known or not. Modifications, additions, or omissions may be made to the systems, apparatus, and methods described herein without departing from the scope of the present invention. Components of the systems and apparatus may be integrated or separated. The operations of the systems and apparatus disclosed herein may be performed by more, fewer, or other components, and the methods described may include more, fewer, or other steps. Furthermore, the steps may be performed in any suitable order. As used herein, "each" refers to each member of a set or each member of a subset of a set. The following claims and claim elements are not intended to invoke 35 USC §112(f) unless the phrase "means for" or "step for" is explicitly used in a particular claim. The above-described embodiments, including the preferred embodiments and the best mode of the invention known to the inventor at the time of filing, are given by way of example only. It will be readily understood that many departures can be made from the specific embodiments disclosed herein without departing from the spirit and scope of the invention. Thus, the scope of the invention is not limited to the specifically described embodiments above, but is determined by the following claims.
Claims
1. 1. A system for moving a load on a floor to a selected destination, wherein an open area between the load and the floor is defined by the load, the system comprising: (a) each robot includes at least two wheels driven by motors, a wireless communication circuit, and a processor in communication with the wireless communication circuit and controlling the motors; a plurality of robots, each of the plurality of robots sized to fit within the open area beneath the load; (b) a lift device secured to each of the robots and controlled by the processor of each of the robots, the lift device having a stowed state and a lift state such that the robot and the lift device fit into the open area when the lift device is in the stowed state and the load is lifted off the floor when the lift device is in the lift state; and (c) a central server in communication with the wireless communication circuitry of each of the plurality of robots, the central server being configured to determine a configuration of a robot to lift the load, select and assign the robot from the plurality of robots to have the robot configuration, and instruct the selected robot to go to a selected location within the open area beneath the load, lift the load, and move the load to the selected destination.
2. 2. The system of claim 1, wherein the load comprises a pallet and an object disposed thereon.
3. 2. The system of claim 1, wherein the processor of each of the selected robots communicates with the other selected robots to coordinate the lifting and movement of the load.
4. 2. The system of claim 1, wherein each of the selected robots is controlled by the central server to coordinate the lifting and movement of the loads by the selected robots.
5. 10. The system of claim 1, wherein each of the selected robots employs a collision avoidance system to avoid colliding with each other.
6. 6. The system of claim 5, wherein the collision avoidance system employs a secant method.
7. The system of claim 1 , wherein at least one of the selected robots includes at least one object sensor.
8. 8. The system of claim 7, wherein the object sensor comprises a sensor technology selected from the list consisting of LIDAR, ultrasonic, video, GPS, light sensing, touch sensing, humidity, temperature, and combinations thereof.
9. The system of claim 1 , wherein at least one of the selected robots includes a load sensor.
10. 2. The system of claim 1, wherein each of the plurality of robots includes a battery, each of the plurality of robots reports a current state of charge of the battery to the central server, and when the central server selects a robot, it determines that the battery of each of the selected robots has sufficient charge so that the selected robot can lift and move the load to a selected destination.
11. 2. The system of claim 1, wherein each robot has at least two wheels that are rotatable.
12. The system of claim 1 , wherein each of the robots comprises a self-balancing transport.
13. The system of claim 1 , wherein the lift device comprises a linear actuator.
14. 10. The system of claim 1, wherein the lift device comprises a scissor lift.
15. 1. A method of moving a load to a selected destination, the load having a weight and positioned on a floor, the load defining an open area between the load and the floor, the method comprising the steps of: (a) selecting a group of robots from a plurality of robots to move the load, the group of robots having a sum of their combined lift capacities greater than a weight of the load; (b) directing each of the selected robots to the load; (c) moving each of the selected robots to a selected location within the open area; (d) activating a lift mechanism of each of the selected robots to lift the load from the floor; (e) moving each robot in the selected group of robots in a coordinated manner to the selected destination; (f) lowering said cargo onto the floor of said selected destination;
16. 16. The method of claim 15, wherein the step of moving each robot in the selected group of robots to a selected location within the open area includes moving each robot in the selected group of robots to a different location beneath a pallet.
17. 16. The method of claim 15, wherein the step of moving each robot in the selected fleet of robots to a selected location includes calculating a path for one of the selected robots from the first location to the selected destination.
18. 20. The method of claim 17, wherein the step of calculating the route further comprises the steps of: (a) Detecting obstacles on the route (b) Employ a collision avoidance system to avoid obstacles.
19. 20. The method of claim 18, wherein the step of sensing obstacles on the path is performed using an object sensor attached to at least one of the robots, the object sensor comprising a sensor technology selected from the list consisting of LIDAR, ultrasonic, video, GPS, light sensing, touch sensing, humidity, temperature, and combinations thereof.
20. 20. The method of claim 18, wherein the step of calculating the path uses the secant method.
21. 16. The method of claim 15 further comprising the steps of: (a) stopping the fleet of robots when a first robot in the fleet indicates that it no longer has sufficient battery capacity to reach a selected destination; (b) moving the first robot away from the load; (c) adding a second robot not originally included in the robot fleet to the robot fleet and directing it to take the place of the first robot at the selected location; (d) instructing a fleet of robots, including the second robot, to pick up the load and move it to a selected destination.