Robot Torque Control With QP for Smooth Obstacle Avoidance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern robots with kinematic redundancy and compliance face challenges in smoothly performing tasks while avoiding obstacles, particularly when manually guided, as they can react too weakly, hit objects, or exhibit jerky behavior due to discontinuous torque switching and conflicting constraints.
Innovation Solution
The use of Quadratic Programming (QP) to optimize joint torques and accelerations, incorporating inequality constraints and priority-based task formulation, ensures smooth obstacle avoidance and task completion by formulating tasks as objective functions and constraints, allowing for soft or strict prioritization and inclusion of joint and Cartesian limits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If obstacle avoidance task is continuously activated with high priority, then collision avoidance is ensured, but torque peaks and jerky behavior occur
Solution Approach 1:
The obstacle avoidance task activation is made dynamic rather than continuous. The task is activated only when the distance to the obstacle falls below a threshold distance, and deactivated when the distance exceeds a threshold distance plus hysteresis. This dynamic activation/deactivation approach prevents continuous torque application while ensuring safety when needed.
Solution Approach 2:
The controller adjusts the activation state of the obstacle avoidance task based on changing distance parameters. By monitoring the distance to the obstacle and comparing it against dynamically set thresholds (including hysteresis), the system changes the parameter of task activation to avoid unnecessary torque peaks while maintaining collision avoidance when truly needed.
2Object-generated harmful factors
If obstacle avoidance task is switched on and off based on distance thresholds, then torque peaks are reduced, but discontinuous solutions and oscillations occur
Solution Approach 1:
Hysteresis is introduced to create asymmetric thresholds for activation and deactivation. The activation threshold distance is smaller than the deactivation threshold distance by a hysteresis margin. This dynamic threshold adjustment ensures that once the obstacle avoidance task is activated, it remains active even if the distance fluctuates slightly, preventing oscillations while still reducing unnecessary activations.
3Reliability
If multiple constraints (pose limits, velocity limits, acceleration limits) are implemented in a stack of tasks, then comprehensive safety is achieved, but one limit may be sacrificed for another
Solution Approach 1:
Multiple constraints (Cartesian pose limits, velocity limits, acceleration limits, and obstacle avoidance) are merged into a unified quadratic programming optimization problem. All constraints are formulated as inequality constraints within the same optimization framework, allowing them to be satisfied simultaneously without hierarchical sacrifice. The QP solver finds a solution that respects all constraints while minimizing the cost function.
4Ease of operation
If torque control is used for compliant human-robot interaction, then ease of manual guidance is improved, but smooth task activation and obstacle avoidance become more challenging
Solution Approach 1:
The quadratic programming optimizer acts as an intermediary between the human operator's manual guidance inputs and the robot's actuation system. The QP solver processes the desired task objectives, obstacle avoidance requirements, and various constraints to compute the optimal joint torques that satisfy all requirements. This intermediary layer simplifies the control implementation by handling the complexity of coordinating multiple objectives and constraints.
Data Source
Figure 1~2
Figure 3
Figure 4~5
AI summary
A method to control a robot (1) to perform at least one Cartesian or joint space task comprises using quadratic programming to determine joint forces, in particular joint torques, and/or joint accelerations of said robot based on at least one cost function which depends on said task.