Robot Motion Planning Controller Using Iterative Quadratic Programming

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current robotic systems face challenges in rapid and efficient programming of movements, often requiring extensive hardcoding and failing to account for environmental and physical constraints, leading to bottlenecks and potential damage to the robot or its environment.

Innovation Solution

A dynamic planning controller that transforms user-defined maneuvers into nonlinear optimization problems, linearizes them using quadratic programming, and generates joint commands to control legged robot motion, allowing for flexible and accurate movement generation with minimal user input.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If traditional hardcoding methods are used to program robot movements, then movement precision can be controlled, but programming time and complexity increase significantly

Engineering Contradiction:
Improvemovement precisionVSAvoidprogramming time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent replaces traditional mechanical programming approaches (hardcoding) with a computational optimization system. The motion planning is transformed into a nonlinear optimization problem that automatically generates trajectories by optimizing objective functions, substituting manual programming mechanics with automated mathematical optimization.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system changes the fundamental parameters of motion planning by introducing cost functions and optimization variables. Instead of hardcoding specific movement sequences, the system defines optimization parameters (cost functions, constraints, weights) that automatically generate appropriate trajectories, allowing rapid adaptation by simply changing parameter values rather than rewriting code.

Inventive Principle:
Principle #35Parameter changes

2Manufacturing precision

If detailed movement programming is specified to ensure accurate execution, then movement accuracy improves, but system complexity and difficulty of operation increase

Engineering Contradiction:
Improvemovement accuracyVSAvoidprogramming ease
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The optimization system performs self-service by automatically generating motion trajectories without requiring detailed manual programming. The cost functions and constraints define the desired behavior, and the optimization algorithm autonomously computes the specific trajectories, eliminating the need for operators to manually program detailed movement sequences while maintaining high accuracy.

Inventive Principle:
Principle #25Self-service

3Device complexity

If traditional control methods are used without considering environmental constraints, then control simplicity is maintained, but robot or environment damage may occur

Engineering Contradiction:
Improvecontrol simplicityVSAvoidrobot or environment damage
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary action by incorporating environmental and physical constraints into the optimization problem before generating trajectories. Contact forces, friction constraints, and environmental boundaries are pre-defined in the optimization formulation, ensuring that generated trajectories inherently satisfy safety requirements before execution, preventing potential damage rather than reacting to it.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240367315A1Dynamic Planning Controller
Publication Date: 2024.11.07 BOSTON DYNAMICS INC
  • US20240367315A1 patent drawing
  • US20240367315A1 patent drawing
  • US20240367315A1 patent drawing

AI summary

A dynamic planning controller receives a maneuver for a robot and a current state of the robot and transforms the maneuver and the current state of the robot into a nonlinear optimization problem. The nonlinear optimization problem is configured to optimize an unknown force and an unknown position vector. At a first time instance, the controller linearizes the nonlinear optimization problem into a first linear optimization problem and determines a first solution to the first linear optimization problem using quadratic programming. At a second time instance, the controller linearizes the nonlinear optimization problem into a second linear optimization problem based on the first solution at the first time instance and determines a second solution to the second linear optimization problem based on the first solution using the quadratic programming. The controller also generates a joint command to control motion of the robot during the maneuver based on the second solution.