Robots with articulated or variable-length upper arms

The additional joint in robotic arms allows for real-time singularity avoidance and optimized movement, addressing stability issues and enhancing operational efficiency.

JP2026508237APending Publication Date: 2026-03-10DEXTERITY INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-23
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Conventional robotic arms face instability due to singularities, which require additional computational resources and complex trajectory planning to avoid, limiting their smooth operation and efficiency.

Method used

Incorporating an additional joint between the shoulder and elbow in robotic arms, allowing for real-time singularity avoidance without prior planning, and enabling flexible joint configurations to optimize movement and avoid collisions.

Benefits of technology

Enables efficient, collision-free, and rapid movement of robotic arms by avoiding singularities, reducing the need for complex planning and controller switching, and enhancing operational flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026508237000001_ABST
    Figure 2026508237000001_ABST
Patent Text Reader

Abstract

The robotic system includes a robotic arm having a first joint connecting a first segment to a second segment, the first segment connected to a shoulder joint of the robotic arm at an end of the first segment opposite the first joint, and the second segment connected to an elbow joint of the robotic arm at an end of the second segment opposite the first joint, and a processor connected to the robotic arm, wherein the processor is configured to receive an end effector trajectory and determine a motion plan for moving the end effector through the end effector trajectory, such as by using the first joint to vary the distance between the shoulder joint and the elbow joint as necessary to achieve the end effector trajectory while utilizing joints and links other than the first joint in a preferred pose.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO OTHER APPLICATIONS

[0001] This application claims priority to U.S. Provisional Patent Application No. 63 / 447,986, filed February 24, 2023, entitled "ROBOT WITH ARTICULATED OR VARIABLE LENGTH UPPER ARM," which is incorporated herein by reference for all purposes. [Background technology]

[0002] Robotic arms are used in many different industrial environments to perform a variety of tasks. A robotic arm may comprise a series of serially connected links, with each pair of links having one or more robotically controlled joints associated with the pair, each joint providing a degree of freedom (i.e., the ability to rotate or bend at the joint under robotic control). A robotic arm commonly used in industrial environments is a six-degree-of-freedom (6DOF) robotic arm.

[0003] A typical 6DOF robotic arm may be mounted to 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 to a shoulder joint at its proximal end (at the base) and to an "elbow" joint at its distal end. The elbow joint may connect the upper arm link or segment to a "forearm" link or segment, which 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 an attachment point to which a robotically controlled end effector (such as a hand, gripper, or suction-based end effector) is attached.

[0004] One control regime used to control a robotic arm is motion space control, in which the end effector is held in a particular pose (e.g., orientation) and moved through a trajectory. For example, an adhesive-based end effector may be used to grasp a box by applying an adhesive force to the top surface of the box. The box is lifted and moved through a trajectory while the end effector remains substantially parallel to the ground, for example.

[0005] When motion space control is used, conditions known as "singularities" can occur that can lead to instability as a result of the mathematical processes used to implement motion space control. For example, for a particular robotic arm, a "wrist" singularity can occur when the elbow and wrist joints are aligned (e.g., when the axes of rotation are parallel or coincident, depending on the design). One example of a situation where such a singularity can occur is when a 6DOF robotic arm is used to pick up an object from the ground near its shoulder / base.

[0006] Typically, a robot arm cannot be moved (or moved smoothly or continuously) through a trajectory that places the arm in a singularity. While a singularity may be manageable within the physical constraints of the robot, for example, by simultaneously rotating two or more joints to different orientations and then continuing, that solution may not be easy or possible to achieve or implement. In some conventional approaches, trajectory planning requires an additional step to ensure that the planned trajectory does not place the robot in a singularity. This check requires time and computational resources, and if a singularity is found, another plan must be developed. Another (or combined) approach adds further complexity by using a separate controller specifically configured to control the robot through or at a singularity. [Brief explanation of the drawings]

[0007] Various embodiments of the present invention are disclosed in the following detailed description and the accompanying drawings.

[0008] [Figure 1A] FIG. 1 illustrates an embodiment of a robotic system comprising a robotic arm with an articulated upper arm.

[0009] [Figure 1B] FIG. 1 illustrates an embodiment of a robotic system with a robotic arm with an articulated upper arm in a position associated with a singularity.

[0010] [Figure 1C] FIG. 1 illustrates an embodiment of a robotic system with a robotic arm in a position where the articulated upper arm is in a singularity avoidance position utilizing the joints of the articulated upper arm.

[0011] [Figure 1D] FIG. 1 illustrates an embodiment of a robotic system with a robotic arm with an articulated upper arm in a position associated with a singularity.

[0012] [Figure 1E] FIG. 1 illustrates an embodiment of a robotic system with a robotic arm in a position where the articulated upper arm is in a singularity avoidance position utilizing the joints of the articulated upper arm.

[0013] [Figure 2A] FIG. 1 illustrates an embodiment of a robotic system with two robotic arms, each with an articulated upper arm.

[0014] [Figure 2B] FIG. 1 illustrates an embodiment of a robotic system with two robotic arms, each with an articulated upper arm.

[0015] [Figure 3A]FIG. 1 illustrates an embodiment of a robotic system with a robotic arm with a variable length upper arm in a position associated with a singularity.

[0016] [Figure 3B] FIG. 1 illustrates an embodiment of a robotic system including a robotic arm with a variable-length upper arm in a position where the length of the upper arm is shortened to avoid a singularity.

[0017] [Figure 4] 1 is a flow chart illustrating one embodiment of a process for controlling a robotic arm with articulated or variable length segments.

[0018] [Figure 5] FIG. 1 is a block diagram illustrating one embodiment of a control computer for controlling a robotic arm having articulated or variable length segments.

[0019] [Figure 6] 1 is a flow chart illustrating one embodiment of a process for controlling a robotic arm with articulated or variable length segments. DETAILED DESCRIPTION OF THE INVENTION

[0020] The present invention may be embodied in various forms, 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 configured to execute instructions stored in and / or provided by a memory coupled to the processor. These embodiments, or any other form the present invention may take, may be referred to herein as technology. In general, the order of steps in a disclosed process may be varied within the scope of the present invention. Unless otherwise noted, components, such as a processor or memory, described as configured to perform a task may be implemented as general components temporarily configured to perform the task at a given time, or as specific components 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.

[0021] The following is a detailed description of one or more embodiments of the present invention with reference to figures that illustrate the principles of the invention. While the present invention has been described in connection with such embodiments, it is not limited to any particular embodiment. The scope of the present invention is limited only by the claims, and the present invention includes many alternatives, modifications, and equivalents. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. These details are for the purpose of example, and the present invention may be practiced according to the claims without some or all of these specific details. For simplicity, technical matters that are well known in the art related to the present invention have not been described in detail so as not to unnecessarily obscure the present invention.

[0022] A robotic arm (or other robotic serial manipulator) is disclosed that has an articulated, modular, variable length, or other mechanism for varying the distance between the shoulder and elbow (and / or other adjacent joint pairs). In various embodiments, a robotic arm is provided with an additional joint between the shoulder and elbow. The additional joint, along with advantageous poses / positioning of the joints and links that make up the robot, allows one or more control objectives, such as singularity avoidance, collision-free operation in tight spaces, and rapid acceleration and / or movement, to be achieved in real time using a single control strategy.

[0023] In various embodiments, singularities are avoided without prior planning to avoid them, so there is no need to spend time upfront checking for singularities. A path to the new target is planned directly. Because singularities are avoided, there is no need for planning special-case singularity controller modes and controller mode switching for singularity regimes.

[0024] In various embodiments, the additional joints allow for the use of the remaining joints and links in a pose or range of poses that allows for the remaining joints and links to be better employed to achieve a goal, such as to maximize or otherwise optimize one or more of the end effector's acceleration, velocity, and load / capacity. For example, the additional joints allow for a portion or portions of the joints and / or links that make up the robot to be maintained in a preferred pose or set or range of preferred poses. The preferred poses may, for example, allow those elements and / or the end effector to be moved faster through a trajectory without risk of collision, or the preferred poses may provide advantages in terms of the mechanics and / or dynamics of the motion, such as by balancing the torques that need to be applied at / by one or more joints to move the end effector through its trajectory. That is, much like an athlete can utilize many muscle groups to lift or move a heavy object, or kick a soccer ball, or hit a tennis ball, additional joints provide additional options for utilizing the combinations of joints and links that make up the robot in performing a task.

[0025] FIG. 1A illustrates one embodiment of a robotic system including a robotic arm with an articulated upper arm. In the example shown in FIG. 1A, an 8DOF robotic arm robot 100 is mounted (at joint J0) to a fixed base 102, which may be fixed to the ground or a mobile chassis (such as a rail-mounted chassis or a four-wheel cart-type chassis). The robot 100 includes an extension arm platform 104 rotatably mounted (at joint J1) on the base 102. A robot arm, including joints J2-J8 associated with a shoulder 106, elbows 112 and 114, and a wrist assembly 118 and intervening links 108, 110, and 116, is rotatably mounted (at joint J2) to the outboard end (or other end) of the extension arm or platform. The extension arm or platform 104 may be rotated (J1) to position the robot arm on a circular path defined by the geometry of the extension arm or platform (specifically, the distance from joint J1 to the location where the shoulder 106 of the robot arm is attached (J2, J3)). The shoulder 106 is attached in a manner that allows robotically controlled rotation (J2) and bending (J3) at the shoulder 106.

[0026] In the illustrated example, an additional joint 112 (J4) is provided between the shoulder 106 (J2, J3) and the elbow 114 (J5, J6). The rotation axis z4 of the additional joint J4 is parallel to the rotation axes z3, z5 of the shoulder and elbow joints, respectively, which in this example all extend straight out of the page as shown in FIG. 1A. Thus, the series of adjacent rotation axes z3, z4, z5 are parallel. Joint J5 allows the robot arm to bend at the elbow 114, while joint J6 allows the forearm 116 to be rotated about the longitudinal axis (z6). Finally, joints J7 and J8 allow the wrist 118 to bend (z7) or rotate (z8).

[0027] In various embodiments, including an additional joint between the shoulder and elbow (such as joint 112 (J4) in the illustrated example) allows for singularity avoidance by allowing the distance from the shoulder to the elbow to be shortened, if necessary, to avoid placing other elements of the arm in a pose associated with the singularity. The disclosed structure (i.e., including the “additional” elbow joint 112 disposed between the shoulder 106 and the elbow 114) essentially replaces what would be a single continuous upper arm disposed between the shoulder 106 and the elbow 114 in a conventional (e.g., 6DOF) robotic arm with two segments 108, 110 joined by the additional elbow 112, also referred to herein as an “articulated” link or segment. In some embodiments, the presence of the additional joint (e.g., 112) allows the elbow 114 to be maintained (more easily) to avoid potential collisions, for example, with the sidewalls of a truck or other container or workspace in which the robot 100 is operating.

[0028] In some embodiments, an additional joint 112 (J4) between the shoulder 106 and the elbow 114 is provided, but no rotatably mounted extension is provided, and the shoulder is rotatably mounted directly to the base, i.e., a 7DOF robot is provided with joints J2-J8 but not joint J1.

[0029] In some embodiments, additional degrees of freedom may be provided, for example, by mounting the robot 100 on a mobile chassis, such as a rail-mounted chassis (linear DOF) or cart, or similar fully mobile chassis (two additional DOF).

[0030] In some embodiments, having three consecutive joints with parallel axes of rotation provides a robot with more or fewer degrees of freedom while allowing an otherwise single link (e.g., an upper arm) to bend back and forth to shorten the distance between the shoulder and elbow as disclosed herein.

[0031] In various embodiments, the 8DOF robots disclosed herein (such as robot 100 of FIG. 1A) may include one or both of the following: Extension platform (e.g., 104) Change the form factor of the robot: compact for parking (rotate the extension and move the robot inwards); bulky for working (swing the arm away from the base / chassis) Long reach from the front (when mounted at the front of the chassis) Wide reach between two robots (e.g. one on each side of the chassis with a centrally mounted or positioned conveyor). Additional joints ("second elbows," e.g., 112, in some embodiments, having axes aligned with one or both adjacent joints (e.g., J3, J4, J5) Slightly longer shoulder-to-elbow distance (when J3, J4, and J5 joints are aligned) for longer reach Elbows (e.g., 114) can be repositioned to avoid wrist singularities, which often occur in face-down positions, for example, when picking near the robot's base or chassis. Avoid hitting elbows (e.g., 114) against the wall of a truck / trailer (when working in a confined space) a. Increase the distance from adjacent conveyors (or the distance between robots on either side of a conveyor) before picking from the belt b. Operate close to the front and sides of the robot truck / container loader, facing downwards towards the ground, without singularities c. For example, when placing the truck / container deep inside near the bottom of the wall, to avoid the elbow colliding with the wall in front. d. For lower conveyors, keep elbows clear of grippers so that two adjacent robots can avoid each other.

[0032] In various embodiments, placing an additional joint between two joints of a typical existing 6DOF arm, as disclosed herein, allows the majority of 6DOF robot designs to continue to be utilized, reducing the need to design new parts. In various embodiments, each new axis has the same axis of motion as the previous joint.

[0033] In various embodiments, a two-part controller may be used. One controller controls the rotation of the extension platform to position the robotic arm, and then a more conventional (e.g., 6 DOF) robotic arm controller controls the arm position to perform a task. For example, the extension positions the arm to reach an item with minimal (or lower) risk of collision or singularity, and the robotic arm controller controls the arm to perform a pick / place for the item. The additional DOF (e.g., an added joint between the shoulder and elbow) gives the controller a singularity-free option to move the item through a planned trajectory.

[0034] In another example, a first controller controls an extension arm and an additional joint (e.g., J4) to position the robotic arm to set the distance between the shoulder and elbow at a distance that is predicted to avoid singularities (and / or avoid elbow or other collisions) for a given task (e.g., picking an item, moving it through a trajectory, and placing the item), and then a conventional robotic arm controller (e.g., 6 DOF) is used to control the arm (e.g., joints other than the additional joint J4) for picking / placing.

[0035] 1B illustrates an embodiment of a robotic system with a robot arm having an articulated upper arm in a position associated with a singularity. In the illustrated example, the robot 100 includes a suction-type gripper 120 that is being used to grasp an item 122, which is on the ground at a distance from the base 102. In the illustrated pose, the additional joint 112 is not utilized, resulting in the wrist singularity due to the axes of rotation of the wrist 118 and elbow / forearm 114, 116 being aligned along axis 124.

[0036] 1C illustrates an embodiment of a robotic system including a robot arm with an articulated upper arm in a position that utilizes the joints of the articulated upper arm to avoid a singularity. In the illustrated example, item 122 is closer to base 102 of robot 100; that is, robot 100 has been moved closer to item 122, e.g., by a mobile chassis (not shown), and placed near base 102 for item 122, e.g., by another operator (robot or human). In the position shown in FIG. 1C, additional elbow 112 is flexed to bring elbow 114 closer to shoulder 106 (relative to the position shown in FIG. 1B), thereby avoiding the wrist singularity shown in FIG. 1B.

[0037] 1D illustrates an embodiment of a robotic system with a robot arm with an articulated upper arm in a position associated with a singularity. In the illustrated example, the robot 100 is using the gripper 120 to grasp (or place) an item 132 (in this example, a box stacked on top of another box). In the pose shown in FIG. 1D, the robot 100 is in a wrist singularity state due to the axes of rotation of the wrist 118 and elbow / forearm 114, 116 being aligned along axis 134.

[0038] 1E illustrates an embodiment of a robotic system including a robot arm with an articulated upper arm in a position that utilizes the joints of the articulated upper arm to avoid a singularity. In the illustrated example, an item 132 is closer to the base 102 of the robot 100, and the robot 100 has been moved closer to the item 132, for example, by a mobile chassis (not shown). In the position shown in FIG. 1E, the additional elbow 112 is flexed to bring the elbow 114 closer to the shoulder 106 (than in the position shown in FIG. 1D), thereby avoiding the wrist singularity shown in FIG. 1D.

[0039] FIG. 2A illustrates one embodiment of a robotic system comprising two robotic arms, each with an articulated upper arm. In the illustrated example, a mobile robot 200 comprises a mobile chassis 202 (e.g., a robotically controlled, and in some embodiments, autonomously operating, chassis) on which two 7-DOF or 8-DOF robotic arms 204, 206 are disposed. The robot 200 is already driven (i.e., driving itself) into a truck or other container 207, e.g., to load or unload boxes or other items from the truck or other container 207. The walls of the truck / container 207 are shown in dashed lines and define the confined space within which the robot 200 must operate to perform its assigned set of tasks (e.g., to load or unload the truck / container 207). The robotic arms 204, 206 must be operated in a manner that allows them to efficiently and cooperatively load / unload items without colliding with or otherwise interfering with each other or the sides of the truck / container 207.

[0040] 2A, each robotic arm 204, 206 includes elements arranged, for example, as shown in FIG. 1A. Specifically, in the illustrated example, robotic arm 204 includes, along the intervening link, a shoulder 208, an "extra" elbow 210 disposed between shoulder 208 and distal elbow 212, and a wrist assembly 214. Similarly, robotic arm 206 includes a shoulder 216, an "extra" elbow 218, a distal elbow 220, and a wrist assembly 222.

[0041] As shown in FIG. 2A , the “extra” elbows 210, 218 provide additional flexibility when the robotic arms 204, 206 are used to perform tasks such as picking / placing items very close to the mobile chassis 202 within the limited operating space of the truck / container 207, while preventing the distal elbows 212, 220 and other joints from colliding with the side walls of the truck / container 207, or with each other or other elements that make up the robotic arms 204, 206.

[0042] 2B illustrates an embodiment of a robotic system including two robotic arms, each with an articulated upper arm. In the illustrated example, the robotic arm 204 is oriented to reach behind its shoulder 204 to pick or place items from or onto a transport structure (not shown) (e.g., a conveyor positioned to pull items from or supply items to the space between the robotic arms 204, 206), such as a structure that may be positioned on or above the central longitudinal axis of the chassis 202. In the illustrated pose, the "extra" elbow 212 of the robotic arm 204 is bent back to allow an end effector (not shown) attached to the wrist assembly 214 to be utilized to pick or place items from or onto a position above or above the chassis 202 (e.g., a position closer to the shoulder 216) without unduly interfering with the robotic arm 206 being utilized to pick or place items from or onto a position above or above the chassis 202.

[0043] In the examples shown in Figures 1A-E and 2A-B, an "extra" elbow joint is placed between the shoulder and the (distal or conventional 6DOF) elbow to allow the distance between the shoulder and elbow to be varied (e.g., shorter or longer) as needed / required to avoid singularities.

[0044] In some alternative embodiments, modular joints are used to provide the robot with variable distances between adjacent joints (such as shoulders / elbows). The robot arm includes modular joints that can be connected using aluminum tubing or a carbon fiber / aluminum hybrid. Tube / link lengths associated with the desired (e.g., shorter or longer) distance between joints can be selected. With such a design, the robot arm is not limited to fixed spacing between adjacent joints determined during robot design. For a given situation or application (robot use), link lengths that are most likely to avoid singularities are selected. Variations for different applications may have different link lengths and sizes of modular joints. For new applications and associated robot arm tasks (e.g., trajectories, work environments, other constraints), appropriate tube / link lengths for the new application can be determined and provided. In various embodiments, utilizing lightweight tubes / links enables very lightweight robots for 8DOF robotic applications, for example, by reducing the overall weight of the robotic system, while minimizing operating costs such as power, enabling fully battery-powered systems, etc.

[0045] A further alternative approach, in various embodiments, is to utilize extendable / retractable upper arm links to change the distance between adjacent joints (such as the shoulder and elbow). In some embodiments, a linear actuator extends / retracts the upper arm to change the distance between the joints, for example, to avoid or escape a singularity.

[0046] FIG. 3A is a diagram showing an embodiment of a robot system including a robot arm in a state where a variable-length upper arm is at a position associated with a singularity. In the example of the figure, the robot 300 includes a fixed base 302 and an extension or platform 304 rotatably attached. A shoulder 306 is rotatably attached to the distal end of the extension or platform 304. A variable-length upper arm having a proximal segment 308 and a distal segment 310 is flexibly connected to the shoulder 306 at the proximal end and to the elbow 314 at the distal end, and the elbow 314 is then connected to the wrist assembly 318 via the forearm 316.

[0047] In the posture shown in FIG. 3A, the variable-length upper arms 308, 310 are deployed to a length l1, for example, by the operation of a hydraulic actuator, a linear bearing, or some other linear drive mechanism, and as a result, due to the alignment of the elbow 314, the forearm 316, and the wrist assembly 318 along the axis 320, a singular state has occurred.

[0048] FIG. 3B is a diagram showing an embodiment of a robot system including a robot arm in a state where the variable-length upper arm is in a posture with the length of the upper arm shortened to avoid a singularity. In the posture shown in FIG. 3B, the lengths of the variable-length upper arms 308, 310 are shortened to a length l2 < l1, and by shortening the distance from the shoulder 306 to the elbow 314, the singular state shown in FIG. 3A is avoided.

[0049] In some alternative embodiments, the segment between shoulder 306 and elbow 314 is modified by replacing a tube or other lightweight detachable link of length l with one of length l. For example, before deploying robot 300, an engineer or technician may determine what length of the segment between shoulder 306 and elbow 314 is most likely to promote efficient operation and performance of robot 300 while avoiding singularities (or, in some embodiments, reducing the likelihood of such conditions occurring).

[0050] FIG. 4 is a flowchart illustrating one embodiment of a process for controlling a robotic arm having articulated or variable-length segments. In various embodiments, process 400 of FIG. 4 may be performed by a control computer, such as a computer configured to control a 7-DOF or greater robot as disclosed herein. In the illustrated example, a desired end-effector trajectory is received at step 402. Referring to the example shown in FIGS. 1B and 1C , for example, a trajectory may be determined and / or received to move end effector 120 gripping an item 122 through a trajectory of {x, y, z} positions in three-dimensional space while holding the end effector in the orientation {roll, pitch, yaw} as shown. At step 404, joint motor torque commands and sequencing are calculated and begin to be implemented to move the end effector through the trajectory received at step 402. At step 406, planned and ongoing motion of the robotic arm and its components is monitored. If no singularity condition is approached or implied (step 406), motion continues (step 408). If an indication is received at step 406 that the trend (i.e., the next portion) of the motion plan may place the robot arm in a singularity state, then at step 410, an "extra" elbow comprising the robot arm is actuated to change the distance from the shoulder to the elbow, after which motion planning using motion control resumes at step 412. The direction and extent of movement of the extra elbow may depend on the task being performed, one or more heuristics, contextual information such as obstacles or space constraints, learned approaches that utilize the extra elbow to avoid singularities, etc. Processing continues until the task being performed by the robot arm is completed (step 414).

[0051] FIG. 5 is a block diagram illustrating one embodiment of a control computer for controlling a robotic arm having articulated or variable-length segments. In various embodiments, control computer 502 may be used to control a robotic arm having an “extra” elbow as disclosed herein, such as a 7-DOF or 8-DOF robotic arm. In the illustrated example, control computer 502 includes a communication interface 504, such as a wireless or wired communication interface. In various embodiments, control computer 502 may receive / provide one or more of the following via communication interface 504: image data, sensor readings, joint / motor position or other feedback, joint motor torque commands, etc. Image data (e.g., 3D camera output including RGB or other 2D image data and depth pixel information) and / or other sensor data (e.g., LIDAR, infrared, etc.) received via communication interface 504 is provided to perception / vision module (subsystem) 506, which uses the information to construct a three-dimensional view of at least a portion of the workspace in which the robot is operating. The three-dimensional view may include an estimate of the state of the robot arm and its components as well as items in the workspace (a stack of items being formed (or picked) by the robot, a specific item being picked / placed, etc.).

[0052] In the illustrated example, a perception / vision module (subsystem) 506 provides a three-dimensional view to one or both of a motion planning module (subsystem) 508 and a machine learning module 510. The motion planning module 508 uses the three-dimensional view and one or more models 512 to generate a motion plan for moving an item through a trajectory using a robotic arm. The models 512 may include one or more of the following: a kinematic model of the robotic arm, heuristics, hard-coded or learned strategies for avoiding singularities using an "extra" elbow joint for a given robot application, task, context, etc., and a model describing one or more attributes of an item or class of items and / or a strategy for grasping or moving a given item.

[0053] In various embodiments, the motion plan determined by the motion planning module 508 may include a series of joint motor torque commands calculated to actuate the joints of the robot arm to move each of the joints and links that make up the arm through a series of motions that result in the end effector and / or item moving through the received trajectory. In various embodiments, the motion plan may include actuating an "extra" elbow joint included in the robotic arms disclosed herein such that singularity conditions are avoided.

[0054] In various embodiments, the machine learning module 510 may use the three-dimensional visual information received from the perception / vision module 506 to learn how best to utilize the joints of the robot arm (including the “extra” elbow joint as disclosed herein) to efficiently perform tasks while avoiding singularity conditions. For example, during a learning / training operational phase or mode, the machine learning module 510 may observe as a human operator (e.g., teleoperated) controls the robot to perform a series of tasks, including utilizing the “extra” joint as disclosed herein to avoid singularities. In some embodiments, the machine learning module 510 may observe the robot during normal, non-training operation and learn strategies for operating the robot to efficiently perform tasks while avoiding singularities. In various embodiments, the machine learning module 510 may encode or otherwise embody the observed and / or learned knowledge regarding how best to utilize the joints of the robot arm (including the “extra” elbow joint as disclosed herein) to efficiently perform tasks while avoiding singularities in one or more models included in the model 512.

[0055] FIG. 6 is a flowchart illustrating one embodiment of a process for controlling a robotic arm having articulated or variable-length segments. In various embodiments, process 600 of FIG. 6 may be implemented by a control computer (such as control computer 502 of FIG. 5 ) and may be used to control a robotic arm having an “extra” elbow as disclosed herein, such as a 7-DOF or 8-DOF robotic arm. In the illustrated example, at step 602, an end-effector trajectory is received. At step 604, the control computer generates a set of candidate joint trajectories for each of one or more joints (e.g., for an extra elbow joint), and for each candidate joint trajectory (or set of trajectories, in the case of multiple joints), a motion plan is determined and simulated to move the end effector through the end-effector trajectory received at step 602. For example, for each candidate joint trajectory, a motion plan may be determined and simulated to determine whether the end-effector trajectory can be achieved efficiently and without collisions. For each candidate joint trajectory, the simulation may determine whether and / or to what extent the motion plan meets one or more selection criteria, such as calculated costs (e.g., time, energy, interference with other robot arms, etc.). At step 606, the joint trajectory and associated motion plan are selected. For example, the motion plan that performed best in the simulation may be selected. The selection may be triggered by time or the occurrence of an event (e.g., the completion of another task by the same or another robot arm). At step 608, the selected motion plan is implemented.

[0056] In various embodiments, the one or more joint trajectories iteratively selected in step 604 may include a trajectory selected for each of one or more joints that provide additional degrees of freedom. For example, in a 7-DOF robot, a trajectory may be selected for one joint. In some embodiments, trajectories for one or more elements of the robot arm other than a single joint may be used. For example, a "pose" trajectory for one or more elements may be used in addition to or instead of a joint. In some embodiments, the end-effector trajectory may be divided into multiple phases, and for each phase, the joint and other pose trajectories may be used to find the best motion plan for achieving the end-effector trajectory through that phase.

[0057] In various embodiments, joint trajectories or other pose trajectories may be determined randomly and / or based on one or more heuristics, for example, a parabolic trajectory within given parameters may be deemed most likely to produce good (best) results for a particular type or task or robotic application (such as stacking items onto a pallet or unloading items from a truck).

[0058] In various embodiments, motion plans associated with 1,000 or more iteratively selected joint / pose trajectories may be simulated in step 604 before the best motion plan is selected in step 606.

[0059] In part, six degrees of freedom (DOF) robots are considered the minimum adequate for performing certain tasks in industrial environments because six degrees of freedom enable the realization of any end-effector trajectory with the operational reach of the robot arm. That is, six degrees of freedom enable control of the six variables necessary to realize an end-effector trajectory using motion space control (i.e., end-effector position in x, y, and z coordinates, along with end-effector orientation in roll, pitch, and yaw). However, a 6DOF robot can only realize a given end-effector trajectory in one or very few ways in terms of the poses that the robot arm and its component joints and links must go through to achieve the given end-effector trajectory. Depending on the starting pose, a 6DOF robot arm may not be able to avoid a singularity condition or may need to move through a complex series of poses to reposition its joints and / or links in order to achieve the given end-effector trajectory without reaching a singularity condition.

[0060] In contrast, using the robotic arm structure and control techniques disclosed herein, in various embodiments, a 7DOF, 8DOF, or other robotic arm with an "extra" elbow or similar joint may have many ways to achieve an end effector trajectory without entering or approaching any singularity condition.

[0061] In some embodiments, the robotic systems disclosed herein may be configured and / or may learn to prefer a particular pose for at least the distal portion of the robotic arm (e.g., from the distal elbow to the end effector). Other joints, including the “extra” (proximal) elbow joint disclosed herein (such as joint 112 in the example shown in FIG. 1A ), may be operated as needed to achieve an end effector trajectory while at least tending to keep the remaining distal joints and segments at, near, or closer to a preferred pose. For example, when iterating joint trajectories as in step 604 of process 600 of FIG. 6 , a higher cost may be associated with motion plans that deviate more from the preferred or favored poses of the distal joints and links. In this aspect, the cost function may act somewhat like a virtual “rubber band” tending to pull those elements back to the preferred configuration.

[0062] In various embodiments, the techniques disclosed herein may be used alone or in any combination in connection with controlling a robotic arm using motion space control to provide a robot that can avoid or more easily exit singularity conditions.

[0063] Although the above-described embodiments have been described in some detail for ease 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 are not intended to be limiting.

Claims

1. 1. A robotic system comprising: a robotic arm comprising a plurality of segments connected in series via a plurality of motor-actuated joints, each joint providing a corresponding degree of freedom of movement of the robotic arm, the robotic arm configured to have an end effector disposed at a distal end thereof, the plurality of joints including a first joint connecting a first segment to a second segment, the first segment connected to a shoulder joint of the robotic arm at an end of the first segment opposite the first joint, and the second segment connected to an elbow joint of the robotic arm at an end of the second segment opposite the first joint; a processor connected to the robotic arm; Equipped with The processor: receiving an end effector trajectory indicating a series of positions and orientations through which the end effector is moved from a start position and orientation to an end position and orientation; and determining a motion plan for actuating the motors of each of the plurality of joints to move the end effector through the end effector trajectory, such as by varying the distance between the shoulder joint and the elbow joint using the first joint as needed to achieve the end effector trajectory while utilizing the plurality of joints and links other than the first joint in a preferred pose.

2. 10. The system of claim 1, wherein the motion planning avoids placing the robotic arm, or any portion thereof, in a position associated with a singularity.

3. 10. The system of claim 1, wherein the preferred pose allows one or both of end effector acceleration and end effector velocity to be optimized.

4. 2. The system of claim 1, wherein the preferred pose allows the plurality of joints and links other than the first joint to be moved at a higher speed while avoiding collisions.

5. 2. The system of claim 1, wherein a first axis of rotation of the first joint is parallel to a second axis of rotation of the shoulder joint and a third axis of rotation of the elbow joint.

6. 10. The system of claim 1, wherein the robotic arm comprises a seven degrees of freedom (7 DOF) robotic arm.

7. 7. The system of claim 6, wherein the 7 DOF robotic arm is mounted on a rotatably mounted extension structure providing an eighth degree of freedom.

8. 10. The system of claim 1, wherein the robotic arm is mounted on a mobile chassis.

9. 9. The system of claim 8, wherein the processor is further configured to control movement of the mobile chassis to position the robotic arm at a position associated with the end effector trajectory.

10. 10. The system of claim 9, wherein the processor is configured to select the position at least in part to facilitate utilization of the first joint to avoid placing the robot arm, or any portion thereof, in a position associated with a singularity.

11. 10. The system of claim 1, wherein the processor is configured to determine the motion plan at least in part by iteratively selecting joint trajectories or other attitude trajectories, generating motion plans based at least in part on the joint trajectories or other attitude trajectories, and selecting for implementation the motion plan that best meets selection criteria.

12. The system of claim 11 , wherein the selection criteria includes a cost function.

13. 10. The system of claim 1, wherein the robotic arm includes a first robotic arm mounted on a mobile chassis along with one or more other robotic arms.

14. 2. The system of claim 1, wherein the processor is further configured to operate the first joint in a manner that allows the end effector trajectory to be achieved without colliding any portion of the robot arm with structures that define limits of or exist within a working space in which the robot arm is utilized.

15. 10. The system of claim 1, wherein the processor is configured to use machine learning techniques to learn one or more strategies for utilizing the one joint to move the robotic arm in a manner that avoids placing the robotic arm, or any portion thereof, in a position associated with a singularity.

16. The system of claim 1 , wherein the first joint comprises a linear joint configured to vary a combined length of the first segment and the second segment.

17. The system of claim 1 , wherein the processor is configured to divide the end effector trajectory into two or more phases and determine a respective motion plan for each phase.

18. 1. A method for controlling a robotic arm having a plurality of segments connected in series via a plurality of motor-actuated joints, each joint providing a corresponding degree of freedom of movement of the robotic arm, the robotic arm configured with an end effector disposed at a distal end thereof, the plurality of joints including a first joint connecting a first segment to a second segment, the first segment connected to a shoulder joint of the robotic arm at an end of the first segment opposite the first joint, and the second segment connected to an elbow joint of the robotic arm at an end of the second segment opposite the first joint; receiving an end effector trajectory indicating a series of positions and orientations through which the end effector is moved from a start position and orientation to an end position and orientation; utilizing a processor to determine a motion plan for actuating the motors of each of the plurality of joints to move the end effector through the end effector trajectory, such as by varying the distance between the shoulder joint and the elbow joint using the first joint as needed to achieve the end effector trajectory while utilizing the plurality of joints and links other than the first joint in a preferred pose; A method comprising:

19. 20. The method of claim 18, wherein the motion planning avoids placing the robot arm, or any portion thereof, in a position associated with a singularity.

20. 20. The method of claim 18, wherein a first axis of rotation of the first joint is parallel to a second axis of rotation of the shoulder joint and a third axis of rotation of the elbow joint.

21. 20. The method of claim 18, wherein the processor is configured to determine the motion plan at least in part by iteratively selecting joint trajectories or other attitude trajectories, generating motion plans based at least in part on the joint trajectories or other attitude trajectories, and selecting for implementation the motion plan that best meets selection criteria.

22. 1. A computer program for controlling a robotic arm having a plurality of segments connected in series via a plurality of motor-actuated joints, each joint providing a corresponding degree of freedom of movement of the robotic arm, the robotic arm configured with an end effector disposed at a distal end thereof, the plurality of joints including a first joint connecting a first segment to a second segment, the first segment connected to a shoulder joint of the robotic arm at an end thereof opposite the first joint, and the second segment connected to an elbow joint of the robotic arm at an end thereof opposite the first joint; the computer program product embodied in a non-transitory computer-readable medium; computer instructions for receiving an end effector trajectory indicating a series of positions and orientations through which the end effector will be moved from a start position and orientation to an end position and orientation; computer instructions for determining a motion plan for actuating the motors of the plurality of joints to move the end effector through the end effector trajectory, such as by varying the distance between the shoulder joint and the elbow joint using the first joint as needed to achieve the end effector trajectory while utilizing the plurality of joints and links other than the first joint in a preferred pose; A computer program comprising:

23. 23. The computer program product of claim 22, wherein the motion planning avoids placing the robotic arm, or any portion thereof, in a position associated with a singularity.

24. 23. The computer program product of claim 22, wherein a first axis of rotation of the first joint is parallel to a second axis of rotation of the shoulder joint and a third axis of rotation of the elbow joint.