Robotic arms are used in many different industrial settings to perform a variety of tasks. A robotic arm may comprise a sequence of serially connected links each pair of links having one or more robotically controlled joints associated with the pair, each joint providing a degree of freedom, i.e., a robotically controlled ability to rotate or bend at the joint. A robotic arm commonly used in industrial settings is the 6 degree of freedom (6DOF) robotic arm.
A typical 6DOF robotic arm may be mounted on a fixed base or column. A “shoulder” joint at or near the base may provide one or more degrees of freedom. The robotic arm may include an “upper” arm link or segment connected at a proximal (to the base) end to the shoulder joint and to an “elbow” joint at the distal end. The elbow joint may connect the upper arm link or segment to a “forearm” link or segment and may provide one or more additional degrees of freedom. A “wrist” joint provided at the distal end of the forearm segment provides the remaining degrees of freedom. For example, the wrist joint may provide roll, pitch, and yaw degrees of freedom. The wrist may provide a mounting point for a robotically controlled end effector, such as a hand, gripper, or suction-based end effector, to be mounted.
One control regime used to control robotic arms is operational space control, in which the end effector is moved through a trajectory while being held in a specific pose (e.g., orientation). For example, a suction-based end effector may be used to grasp a box by applying suction to the top surface of the box. The box may be lifted and moved through a trajectory while the end effector remains substantially parallel to the ground, for example.
When operational space control is used, a condition known as a “singularity” can occur that can lead to instability as a consequence of the mathematics used to implement operational space control. For example, for certain robotic arms, a “wrist” singularity can occur if the elbow and wrist joints are aligned (e.g., axes of rotation parallel or coincident, depending on the design). One example of a context in which such a singularity could occur is using a 6DOF robotic arm to pick up an object from the ground near it's shoulder/base.
Typically, a robotic arm cannot be moved (or cannot be moved smoothly or continuously) through a trajectory that would place the arm in a singularity. Singularities may be possible to handle within the physical constraints of the robot, e.g., by rotating two or more joints simultaneously to another orientation then proceeding, but the solution may not be easy or possible to achieve or implement. In some prior approaches, trajectory planning required an additional step to ensure a planned trajectory would not put the robot in singularity. This check takes time and computing resources, and a different plan must be generated if a singularity is found. In another (or combined) approach, a separate controller configured specifically to control the robot at or at it moves through a singularity is used, adding further complexity.
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or a memory described as being configured to perform a task may be implemented as a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. As used herein, the term ‘processor’ refers to one or more devices, circuits, and/or processing cores configured to process data, such as computer program instructions.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
A robotic arm (or other robotic serial manipulator) having articulated, modular, variable length, or other mechanism to vary the distance between the shoulder and elbow (and/or other adjacent pairs of joints) is disclosed. In various embodiments, a robotic arm having an added joint between the shoulder and elbow is provided. The added joint(a) allow(s) for one or more control objectives to be achieved in real time using a single control strategy, e.g., avoidance of singularities, collision free operation in tight spaces, and rapid acceleration and/or movement with advantageous pose/positioning of the joints and links comprising the robot.
In various embodiments, singularities are avoided without pre-planning to avoid singularities, so no upfront time is needed for a singularity check. The path to the new goal is planned directly. Because singularities are avoided, there is not a need for special-case singularity controller modes and planning of controller mode switching into and out of singularity regimes.
In various embodiments, the added joint(s) allow for remaining joints and links to be used in a pose or range of poses that enable such joints and links to be (better) used to better achieve an objective, such as to maximize or otherwise optimize one or more of end effector acceleration, speed, and load/capacity. For example, the added joint(s) may allow all or some of the joints and/or links comprising the robot to be maintained in a preferred pose or a set or range of preferred poses. The preferred pose/poses may allow those elements and/or the end effector to be moved more quickly through the trajectory without risk of collision, for example, or the preferred pose may provide advantages in terms of the mechanics and/or dynamics of motion, such as by balancing the torque required to be applied at/by one or more joints to move the end effector through the end effector trajectory. Stated another way, the added joint(s) provide additional options to use the combination of joints and links comprising the robot to perform a task, much like an athlete might use a number of muscle groups to lift or move a heavy object, or kick a soccer ball, or strike a tennis ball.
In the example shown, an added joint 112 (J4) is included between the shoulder 106 (J2, J3) and the elbow 114 (J5, J6). The axis of rotation z4 of the added joint J4 is parallel to the respective axes of rotation z3, 25 of the shoulder joint and elbow joint, respectively, in this example, all of which are coming directly out of the page as shown in
In various embodiments, including an added joint, such as joint 112 (J4) in the example shown, between the should and elbow enables singularities to be avoided by allowing the distance from the shoulder to the elbow to be shortened, if needed, to avoid putting other elements of the arm in a pose associated with singularity. The disclosed structure, i.e., including an “extra” elbow joint 112 interposed between the shoulder 106 and elbow 114, in essence replacing what in a traditional (e.g., 6DOF) robotic arm would be a single, continuous upper arm disposed between the shoulder 106 and elbow 114, into two segments 108, 110 joined by the added elbow 112, is sometimes referred to herein as an “articulated” link or segment. In some embodiments, presence of the added joint (e.g., 112) may enable the elbow 114 to (more readily) be kept (more) clear of potential collisions, e.g., with the sidewall of a truck or other container or workspace in which robot 100 is operating.
In some embodiments, the added joint 112 (J4) between the shoulder 106 and elbow 114 is included, but the rotatably mounted extender is not included and the shoulder is rotatably mounted directly to the base. That is, a 7DOF robot, comprising joints J2 through J8, but not joint J1, is provided.
In some embodiments, additional degrees of freedom may be provided, e.g., by mounting the robot 100 on a movable chassis, such as a rail mounted chassis (linear DOF) or cart or similar fully mobile chassis (two additional DOF).
In some embodiments, robots with more or fewer degrees of freedom are provided, while including three consecutive joints having parallel axes of rotation, to effectively enable an otherwise unitary link (e.g., upper arm) to be bent forward or back to shorten the distance between the shoulder and elbow, as disclosed herein.
In various embodiments, an 8 DOF robot as disclosed herein, such as robot 100 of
In various embodiments, an added joint is installed, as disclosed herein, between two joints of a typical existing 6DOF arm so that much of the 6DOF robots design can continue to be used and fewer new parts need to be designed. In various embodiments, each new axis has the same motion axis direction as the previous joint.
In various embodiments, a two-part controller may be used. One controller controls rotation of the extender platform, to put the robotic arm in position, then a more traditional (e.g., 6DOF) robotic arm controller controls the arm portion to perform a task. For example, extender positions arm to be able to reach an item with least (or lower) risk of collision or singularity, robotic arm controller controls arm to perform pick/place with respect to the item. The added DOF (e.g., added joint between shoulder and elbow) gives singularity free options for the controller to move the item through the planned trajectory.
In another example, a first controller controls the extender arm and the added joint (e.g., J4) to position the robotic arm and set the distance between shoulder and elbow to one expect to avoid singularity (and/or avoid elbow or other collision) for a given task (e.g., pick item, move through trajectory, and place item), then use traditional robotic arm controller (e.g., 6DOF) to control arm (e.g., joints other than added joint J4) for pick/place.
In the example shown in
As shown in
In the examples shown in
In some alternative embodiments, modular joints are used to provide a robot with variable distance between adjacent joints, such as shoulder/elbow. The robotic arm comprises modular joints that can be connected together with aluminum tubes or carbon fiber/aluminum hybrid. Tubes/links of length associated with desired (e.g., shorter or longer) distance between joints may be selected. Using such a design, the robotic arm is not limited to fixed spacing, decided at robot design time, between adjacent joints. For a given context or application (robot use), links of length most likely to avoid singularity are selected. Variants for various applications may have different link lengths and size of the modular joints. For new applications and associate robotic arm tasks (e.g., trajectories, work environment, other constraints), tubes/links of lengths appropriate for the new application may be determined and provided. In various embodiments, use of lightweight tubes/links enables very lightweight robots for 8DOF robot applications, e.g., by reducing the overall weight of the robot system, minimizes operating costs like electricity, enabling fully battery-operated systems, etc.
A further alternative approach, in various embodiments, is to use an extendable/retractable upper arm link to vary the distance between adjacent joints, such as shoulder and elbow. In some embodiments, a linear actuator extends/retracts the upper arm to vary distance between joints, e.g., to avoid or move out of singularity.
In the pose shown in
In some alternative embodiments, the segment between shoulder 306 and elbow 314 is varied by replacing a tube or other lightweight removable link of length l1 with one of length l2. For example, prior to deploying robot 300, an engineer or technician may determine which length for the segment between shoulder 306 and elbow 314 is most likely to facilitate efficient operation and performance of robot 300 while avoiding singularities (or, in some embodiments, making such conditions less likely to occur).
In the example shown, the perception/vision module (subsystem) 506 provides the three-dimensional view to one or both of a motion planning module (subsystem) 508 and a machine learning module 510. Motion planning module 508 uses the three-dimensional view and one or more models 512 to generate a motion plan to use the robotic arm to move an item through a trajectory. Models 512 may include one or more of the following: a kinematic model of the robotic arm; heuristics, hard coded, or learned strategies to use an “extra” elbow joint to avoid singularities, for a given robotic application, task, context, etc.; and models indicating one or more attributes of an item or class of item and/or strategies to grasp or move a given item.
In various embodiments, a motion plan determined by motion planning module 508 may include a series of joint motor torque commands calculated to cause the joints of the robotic arm to be actuated in a manner that moves the joints and links comprising the arm each through a sequence of movements that result in the end effector and/or item being moved through the received trajectory. In various embodiments, the motion plan may include actuation of an “extra” elbow joint, included in a robotic arm as disclosed herein, in a manner such that singularity conditions are avoided.
In various embodiments, machine learning module 510 may use three-dimensional view information received from perception/vision module 506 to learn how best to use the joints comprising a robotic arm, including an “extra” elbow joint as disclosed herein, to perform tasks efficiently while avoiding singularity conditions. For example, in a learning/training phase or mode of operation, the machine learning module 510 may observe as a human operator controls the robot (e.g., via teleoperation) to perform a set of tasks, including use of an extra joint, as disclosed herein, to avoid singularities. In some embodiments, machine learning module 510 may observe the robot in normal, non-training operations, and may learn strategies to operate the robot to perform tasks efficiently while avoiding singularities. In various embodiments, machine learning module 510 may encode or otherwise embody in one or more models included in models 512 observed and/or learned knowledge as to how best to use the joints comprising a robotic arm, including an “extra” elbow joint as disclosed herein, to perform tasks efficiently while avoiding singularities.
The selection may be triggered by time or occurrence of an event, such as completion of another task by the same or another robotic arm. At 608, the selected motion plan is implemented.
In various embodiments, the joint trajectory (or trajectories) iteratively selected at 604 may include a trajectory select for each of one or more joints that provide an added degree of freedom. For example, in a 7DOF robot, a trajectory may be selected for one joint. In some embodiments, a trajectory for an element or elements of the robotic arm other than a single joint may be used. For example, a “posture” trajectory for one or more elements, in addition to or instead of a joint, may be used. In some embodiments, the end effector trajectory may be broken down into phases, and for each phase a joint other posture trajectory may be determined and used to find a best motion plan to achieve the end effector trajectory through that phase.
In various embodiments, a joint or other posture trajectory may be determined randomly and/or based on one or more heuristics. For example, a parabolic trajectory within given parameters may be considered most likely to yield a good (best) result for a certain type or task or robotic application, such as stacking items on a pallet, unloading items from a truck, etc.
In various embodiments, motion plans associated with 1,000 or more iteratively selected joint/posture trajectories may be simulated at 604 before a best motion plan is selected at 606.
A 6DOF robot is considered minimally suitable to perform certain tasks in an industrial setting, in part because the six degrees of freedom enable any end effector trajectory with the operational reach of the robotic arm to be realized. That is, the six degrees of freedom enable the six variables required to realize an end effector trajectory using operational space control—i.e., end effector position in x, y, and z coordinates along with end effector orientation in terms of roll, pitch, and yaw-to be controlled. However, a 6DOF robot can realize a given end effector trajectory in only one or very few ways, in terms of the poses through which the robotic arm and its component joints and links must be moved to realize a given end effector trajectory. Depending on the starting pose, a 6DOF robotic arm may not be able to avoid a singularity condition or may be required to move through a convoluted sequence of poses to reposition its joints and/or links to achieve a given end effector trajectory without reach a singularity condition.
By contrast, by using the robotic arm structures and control techniques disclosed herein, in various embodiments, a 7DOF, 8DOF, or other robotic arm with an “extra” elbow or similar joint, a robotic system as disclosed herein may have numerous ways to achieve an end effector trajectory without entering or approaching any singularity condition.
In some embodiments, a robotic system as disclosed herein may be configured and/or may learn to favor certain poses for at least a distal portion of the robotic arm, e.g., from the distal elbow to the end effector. Other joints, including the “extra” (proximal) elbow joint as disclosed herein, such as joint 112 in the example shown in
In various embodiments, techniques disclosed herein may be used, singly or in any combination, to provide a robot that will avoid or more readily be able to move out of singularity conditions associated with controlling a robotic arm using operational space control.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
This application claims priority to U.S. Provisional Patent Application No. 63/447,986 entitled ROBOT WITH ARTICULATED OR VARIABLE LENGTH UPPER ARM filed Feb. 24, 2023, which is incorporated herein by reference for all purposes.
Number | Date | Country | |
---|---|---|---|
63447986 | Feb 2023 | US |