Planning Motions for 2-Armed Robots

In many modern industrial settings, two-armed robots, also known as bimanual or dual-arm robots, are being utilized to improve efficiency, flexibility, and productivity. These robots have potential to handle more complex tasks than a single-arm robot by simultaneously performing coordinated actions, like assembling components, untangling cables, folding t-shirts, and interacting with their environment in a synchronized manner. The use of two arms can mimic human actions, making these robots particularly suitable for intricate manipulation tasks, especially when both precision and speed are essential. However, planning motions for two-armed robots introduces unique challenges that require advanced motion capabilities.

Credit: The AUTOLab at UC Berkeley.

Challenges in Planning for Two-Armed Robots

Coordinated vs. Uncoordinated Motions

When planning motions for two-armed robots, we want to first understand if the arms are dependent on each other:

  • Coordinated Motions: In this case, both arms work together to move a rigid object. For example, think of two arms gripping and moving a long, heavy beam or a rectangular box. Because they are holding the object together, their motions are tightly constrained – the position and orientation of one arm directly impact the other.

  • Uncoordinated Motions: Here, each arm operates independently and can achieve its own task without being constrained by the other arm. This type of uncoordinated bimanual motion is often seen in lab automation. Planning for this type of goal is easier as there is more flexibility in motion.

Planning Approaches

We can achieve coordinated and uncoordinated motions in various ways:

  • Planning for Each Arm Separately and Sequentially Using Interlocks: In some cases, the motion of each arm can be planned independently, but with sequential interlocks. This means one arm may complete a task while the other waits or only proceeds when it is safe. This approach makes it easy to avoid collisions, but is not always efficient in terms of motion time and overall productivity.

  • Simultaneous Planning for Both Arms: In this approach, motions are planned concurrently for both arms. This simultaneous planning allows for a more optimized and efficient motion but comes with the trade-off of significantly increased complexity due to the need to consider interactions and collision avoidance between both arms.

  • Planning for One Arm While Treating the Other as a Moving Obstacle: This technique involves planning the motion of one arm while considering the other arm as a dynamic (moving) obstacle. The moving obstacle adds a temporal dimension to the planning problem, making collision checking more complicated than in a static environment.

Key Challenges in Motion Planning

Several key challenges are inherent in planning motions for two-armed robots, especially when dealing with high degrees of freedom (DoFs):

  • Planning Time: The combination of both arms’ movements results in a high-dimensional state space (e.g., 12-14 DoF for two 6-DoF arms). Traditional sampling-based motion planning algorithms, like Rapidly-exploring Random Trees (RRT) or Probabilistic Roadmaps (PRM), suffer from the curse of dimensionality, leading to long planning times.

  • Finding Optimized Solutions: Optimization in high-dimensional spaces often faces the challenge of local minima. The planner may find a feasible solution that is not the best possible path due to getting stuck in local minima during the optimization process.

  • Coordinating the Arms Effectively: Ensuring consistent coordination between both arms' end-effectors, especially in coordinated motions, is difficult. Maintaining the correct relative offset between the two end-effectors throughout the entire motion is often a hard constraint. Existing planning methods address this constraint in two ways:

    • Rejection Sampling: Sampling-based motion planners can implement constraints through rejection sampling, but this is highly inefficient for high-dimensional spaces, as most sampled paths may be rejected.
    • Soft Constraints: Some optimization-based planners support "soft" constraints (not strictly enforced), but the relative offset between the arms' end-effectors is a "hard" constraint, requiring exact maintenance throughout the motion.

Planning Motions with Jacobi

Jacobi's Bimanual Motion API offers a unique motion planning solution that addresses many of the challenges in two-armed robot motion planning. Here's how:

Coordinated and Uncoordinated Motion Planning

With Jacobi, it is possible to plan both coordinated and uncoordinated motions seamlessly. Whether the two arms need to move in precise synchronization to manipulate a rigid object together (coordinated) or operate independently while avoiding collisions in the same workspace (uncoordinated), Jacobi’s planner can handle both scenarios effectively.

Faster Planning Time

Jacobi’s proprietary motion planning technology combines the benefits of sampling-based and optimization-based methods. It achieves quick planning times by efficiently exploring the high-dimensional state space while optimizing for motion time and is less prone to local minima. This approach provides a significant speed advantage over traditional planners that either suffer from long sampling times or struggle with optimization in complex spaces.

Support for Varied Motion Types

Jacobi's motion planning capabilities allow for diverse motion types across the two arms. For example: One arm can be set to follow a precise path while the other moves freely in the same workspace with a time-optimal motion, dynamically avoiding collisions and singularities.

Versatility in Arm Models and Degrees of Freedom

Jacobi’s planner is not limited to specific types of robot arms. It supports bimanual motion planning for any two arms placed anywhere in the environment, regardless of their model or number of DoFs. This flexibility makes it applicable to a wide range of robotics systems and setups.

Flexible Goal and Waypoint Definitions

The motion planning goals for both arms can be set arbitrarily in either joint space or Cartesian space:

  • For example, the goal for one arm could be defined in joint space, while the goal for the other arm is defined in Cartesian coordinates.
  • Intermediate waypoints for both arms can also be set to achieve complex maneuvers, and linear approach and retraction motions can be defined for each arm to achieve smooth start and stop sequences.

For a detailed overview of Jacobi’s motion planning capabilities, please refer to Jacobi's documentation.

Comparing Planning Approaches with Jacobi

In a recent project, we’ve implemented robotic depalletizing with 3 bimanual motion planning approaches:

  • Bimanual Mode, where both arms plan and execute pick-and-place actions simultaneously

  • Single-Arm Dynamic Mode, where one arm’s motion is planned first and the other follows while considering the first arm’s trajectory, with both arms executing their motions at the same time

  • Single-Arm Interlock Mode, where one arm’s motion is planned while the other remains static, and the trajectories are executed sequentially.

Check out the code and robot environment.

Conclusion

Planning motions for two-armed robots is a complex challenge that requires balancing high-dimensional state spaces, coordination between both arms, and efficient motion planning. Approaches like sequential planning, simultaneous planning, and treating one arm as a moving obstacle each have their own merits and trade-offs. Jacobi’s advanced motion planning technology provides an efficient solution to overcome these challenges, offering rapid planning times, optimized bimanual coordination, and flexibility in handling varied arm models and motion types. With Jacobi, planning coordinated and uncoordinated motions for two-armed robots becomes significantly more streamlined and effective, paving the way for more advanced robotic applications.

For additional details, check out Jacobi Robotics, or reach out via contact@jacobirobotics.com

Blog overview