Invented by Jeffrey Linnell, Kendra Byrne, Intrinsic Innovation LLC
Industries such as manufacturing, logistics, and healthcare are increasingly using robots to perform repetitive and time-consuming tasks. These tasks include material handling, assembly, packaging, and transportation. The use of robots not only increases efficiency but also reduces the risk of injury to human workers.
The market for systems and methods for time-based parallel robotic operation is driven by the need for faster and more efficient production processes. The use of multiple robots working in parallel can significantly reduce the time required to complete a task. This is particularly important in industries where time is a critical factor, such as manufacturing and logistics.
The market for these systems and methods is also driven by the need for increased flexibility and adaptability. As production processes become more complex, the ability to quickly reconfigure robotic systems to meet changing requirements becomes increasingly important. Time-based parallel robotic operation allows for greater flexibility and adaptability, as multiple robots can be easily reconfigured to perform different tasks.
The market for systems and methods for time-based parallel robotic operation is also driven by advancements in technology. The development of advanced sensors, machine learning algorithms, and artificial intelligence has enabled robots to work together in a more coordinated and efficient manner. This has led to the development of new systems and methods for time-based parallel robotic operation that are more sophisticated and effective than ever before.
In conclusion, the market for systems and methods for time-based parallel robotic operation is growing rapidly as more industries adopt automation to increase efficiency and productivity. The market is driven by the need for faster and more efficient production processes, increased flexibility and adaptability, and advancements in technology. As the market continues to grow, we can expect to see even more sophisticated and effective systems and methods for time-based parallel robotic operation.
The Intrinsic Innovation LLC invention works as follows
Examples of systems and methods allow parallel operation of robots within a workcell. For example, industrial robots are controlled to produce an output product. One example method involves receiving sequences for a plurality corresponding robotics devices, determining time based operations for each robotic device, where the time based operations indicate positions within the workspace at corresponding timesteps on a global timeline, determining potential collisions between the robotics devices that could result from the parallel executions within the workplace, and modifying the time based operations to prevent these collisions.
Background for Systems and Methods for Time-Based Parallel Robotic Operation
The materials described here are not considered prior art for the claims of this application, and their inclusion in this section does not admit them to be prior arts.
Automated Manufacturing Processes may involve using one or more robots to build an output product such as a vehicle, wall, furniture or other physical fabrications. The robotic devices can be fitted with tools mounted on the end-effectors, such as grippers or drills, which are used in a construction process. The robotic devices can be programmed to perform a manufacturing process by executing sequences of motion commands or commands for other operations.
The present disclosure provides apparatuses and methods that can help allow robot operations to be executed in parallel, based on time, within a workcell. The workcell can be a manufacturing or other environment that contains one or more robots and/or components for an automated robotic process. In some examples, sequential instructions may be received which indicate target positions that a plurality robotic devices should move through in the workcell. Then, time-based operations sequences can be determined for every robotic device. The time-based operations may include the positions of robotic devices in timesteps on a global timeline. The time-based sequencing can be used to identify possible collisions that may occur from the parallel execution. Modifications of the sequences are then made to avoid the collisions. Modified time-based operations can be given to robotic devices in parallel execution.
In one example, the method includes receiving an ordered set of operations from a number of robotic devices. The ordered set of operations may include an ordered list of target positions in a workcell. A computing device may determine time-based operations for each robotic device. The time-based operations indicate positions in the workcell for corresponding timesteps on a global timeline. Positions within a given time-based operation include target positions from an ordered sequence of robotic operations. The method can also include determining potential collisions between the robotic devices resulting from the parallel execution of time-based operations in the workcell. Modifying the time-based operations may also be included in the method to avoid the potential collisions. The method can also include instructions for the robot devices to execute the modified time-based operations in parallel at different timesteps on the global timeline.
In another example, a computer-readable non-transitory medium with program instructions on it is disclosed. At least one processor can execute the program instructions to receive an ordered series of operations for a plurality corresponding robotic devices. An ordered series of operations includes an ordered set of target positions in a workcell. The program instructions can also be executed to determine time-based operations for each robotic device. A time-based operation indicates the position of a robotic device within the workcell for corresponding timesteps on a global timeline. The program instructions can also be executed to determine if there are any collisions that could occur between the robotic devices resulting from the parallel execution of time-based operations in the workcell. The program instructions can also be executed to modify the time-based operations to prevent one or more collisions. The program instructions can also be executed to provide instructions that the robot devices in the workcell execute the modified time-based operations at different timesteps on the global timeline.
In another example, it is disclosed a nontransitory computer-readable medium that stores instructions which, when executed by a computing device, cause the computing device to perform certain functions. Receiving ordered sequences for a plurality corresponding robotic devices may be one of the functions. An ordered sequence includes a sequence of target locations within a workspace. The functions can also include determining the time-based operations for each robotic device. A time-based operation indicates the position within the workcell for corresponding timesteps on a global timeline. These functions can also include identifying one or more collisions that could occur between the robotic devices if the time-based operations were executed in parallel within the workcell. In order to avoid the collisions, the functions can also modify the time-based operations. “The functions can also include instructions for the robot devices to execute the modified time-based operations in parallel at different timesteps on the global timeline.
In a third example, the system could include means to receive ordered sequences for a number of robotic devices. An ordered sequence includes an orderly sequence of target locations within a cell. The system can also include means to determine time-based operations for each robotic device. A time-based operation indicates the position of a robotic device within a workcell for the timesteps on a global timeline. The system can also include means to determine one or more collisions that could occur between the robotic devices if the time-based operations were executed in parallel within the workcell. The system can also include means to modify the time-based operations in order prevent one or more collisions. The system can also include instructions to the robot devices in the workcell for the parallel execution of modified time-based operations at different timesteps on the global timeline.
The summary above is intended only as an example and not to be limiting in any way. The figures, the detailed description, and the accompanying drawings will reveal additional aspects, embodiments and features in addition to those described above.
Herein are described “Example systems and methods”. The example embodiments and features described herein are not to be construed in a way that is preferable or superior to other embodiments or characteristics. The examples described herein do not mean to limit. “It will be easily understood that certain aspects and combinations of the disclosed methods and systems can be arranged in many different configurations. All of these are considered herein.
Furthermore the specific arrangements shown in the figures should not be considered as limiting. Other embodiments may include more or fewer of the elements shown in a particular figure. Some of the elements illustrated may also be combined or omitted. Further, an example embodiment can include elements not shown in the figures.
Example methods and systems may be used to allow for the parallel operation of robotic devices in a workcell. For example, industrial robots that are controlled to produce an output product. Sequences of robotic operations, such as robot movements and tool action, can be first provided for different robotic devices in the workcell. These sequences can be created by an authoring software. In some cases, robot-specific sequences have been programmed in advance and stored to be executed later. The sequences for robot operations can indicate target positions (e.g. positions with six degrees-of-freedom) that the end effectors of robotic devices should progress through in the workcell. In examples, robot operation sequences may be converted to time-based sequences referring to a global schedule to allow parallel execution in the workcell.
In other examples, time-based operations of robotic devices can indicate the positions of an end-effector of one robotic device at timestamps on the global timeline. In some instances, a time interval can be used to separate timestamps. In one example, for instance, the position of every robotic device along the timeline may be determined at 12 milliseconds intervals. Other examples may use a different resolution, depending on the available hardware or communications systems in a specific workcell.
In other examples, the sequence of time-based operations for a robot device can include the target position from the sequence of operation for the robotic system. The target positions, for example, may define a path of motion through the workcell that the robotic device will follow (e.g. during a construction procedure). The target positions may be included in the time-based sequence to make the robotic device move along the same path.
In further examples, the time-based sequencing for a robot device can include additional target positions between successive target positions. A time-based sequencing may use a 12 millisecond interval, but sequential operations may only include targets that the robotic device can reach roughly every second. Positions can be set between successive target positions to smooth out the motion of the robotic device. Instead of using straight lines to connect consecutive target positions, you could use continuous curves. “In other examples, the robot device may be placed in a way that minimizes the time it takes to move from one position to another.
In further examples, collisions that may occur from the parallel execution of robot operation by multiple robotic devices in a workcell can be predicted. The time-based operations of several robotic devices can be synchronized with a clock that has a specific timestep resolution. In this way, the position of every robotic device in the workcell can be determined by timesteps on the global timeline. This is used to determine when possible collisions might occur. “When possible collisions are detected one or more time-based operations can be modified to allow parallel execution without colliding.
In certain examples, time-based operations can be modified in order to avoid collisions and minimize the time needed to complete a task (e.g. a manufacturing process). In one example the speed of operation of one of more robotic devices can be changed at one or several points on the global timeline. A robot could be slowed to avoid a collision with another robot that is acting in the same workcell. Further examples may include determining velocity curves for each robotic device relative to the global time line in order to ensure that the robotic devices operate as quickly as possible, while avoiding collisions within the workcell.
In other examples, one of more time-based operations can be modified in order to avoid collisions by other means or at all. In other words, operations can be added to force one or more devices to remain in a specific position within the cell for a certain amount of time. A first robot, for example, may be instructed to hold its position until a subsequent robot has completed a specific motion path in the workcell. In other examples, the positions between target locations within time-based operations can be determined to avoid collisions. This may happen independently or together with timing modifications. “For example, a robot can be instructed to move through an area that is occupied by another robot in order to reach a specific target position.
In other examples, the robotic devices’ sequential operations may include syncpoints that correspond to the operations in each robot’s sequence. These must be reached by any robot before it can continue performing operations. Sync points can be used, for example, to prevent collisions from simultaneous operations within a cell. In some cases, sync points are not necessary for collision avoidance when converting from time-based to sequence-based operations. Collision detection can be done by comparing the positions of robot devices along a global timeline. In some cases, however, it may be necessary to synchronize certain operations in time-based mode. Two robotic devices, for example, may be working on the same component in a workspace (e.g. a robotic device inserting a screw onto a board held by another robotic device). These sync points can be used to identify anchor points that require synchronization when in time-based modes, while other syncs points are removed.
Below, “Example Systems, including various hardware and software components, will described. Alternative systems that may include omitting certain components, combining components, or adding additional components may also use the disclosed methods.
Click here to view the patent on Google Patents.