FPGA OpenCL Collision Acceleration for Robot Motion Planning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Robot motion planning tasks are computationally intensive, particularly due to high CPU time consumption in collision detection, which hinders the efficiency of robotic systems.

Innovation Solution

The use of an FPGA as a co-processor to accelerate robot motion planning by executing OpenCL operations on the Flexible Collision Library (FCL), optimizing the processing flow, implementing a prefetching scheme, and leveraging the pipeline and parallelism properties of the FPGA to enhance performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If collision detection is performed using pure CPU solutions, then the system has simple architecture and ease of deployment, but the computation time and CPU time consumption are excessively high

Engineering Contradiction:
Improvecollision detection timeVSAvoidsystem architecture complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

An FPGA-based co-processor is introduced as an intermediary device between the CPU and collision detection algorithms. The FPGA accelerates FCL (Flexible Collision Library) operations by implementing specialized hardware circuits for bounding volume hierarchy traversal and collision detection, while the CPU handles high-level motion planning tasks. This mediator approach resolves the contradiction by offloading computationally intensive collision detection from the CPU to the FPGA co-processor.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The collision detection system is segmented into two parts: CPU-managed high-level motion planning tasks and FPGA-accelerated low-level collision detection operations. The FPGA implements parallel processing of broad-phase and narrow-phase collision detection, dividing the computational workload to achieve faster collision detection times without requiring the entire system architecture to become complex.

Inventive Principle:
Principle #1Segmentation

2Productivity

If FPGA is used to accelerate collision detection, then processing speed increases, but device complexity and implementation difficulty increase

Engineering Contradiction:
Improvecollision detection throughputVSAvoidFPGA implementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The FPGA implementation uses dynamic resource allocation and configurable processing elements that can be programmed via OpenCL to handle different collision detection scenarios. The system dynamically adjusts processing parameters such as bounding volume hierarchy traversal depth and parallel processing degree based on real-time computational requirements, allowing high productivity without requiring a fixed complex hardware design for every possible scenario.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The FPGA co-processor is designed with universal OpenCL-based processing capabilities that can accelerate multiple collision detection algorithms and data structures (bounding volume hierarchies, oriented bounding boxes, etc.). This multi-functionality allows a single FPGA implementation to handle diverse collision detection tasks, reducing implementation complexity compared to dedicated hardware for each specific algorithm.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If OpenCL operations are executed on FPGA for FCL acceleration, then computation efficiency improves, but energy consumption may increase

Engineering Contradiction:
Improvemotion planning computation efficiencyVSAvoidFPGA power consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system applies partial acceleration by using the FPGA co-processor only for the most computationally intensive portions of motion planning (collision detection and FCL operations), while leaving other tasks to the CPU. This selective approach achieves significant computation efficiency improvement without requiring the entire system to operate at maximum capacity, thereby controlling overall energy consumption.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The FPGA implementation dynamically adjusts operational parameters such as clock frequency, parallel processing degree, and memory access patterns based on the specific collision detection workload. By changing these parameters adaptively, the system optimizes the balance between computation efficiency and power consumption, consuming more energy only when high computational throughput is actually required.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11829119B2FPGA-based acceleration using OpenCL on FCL in robot motion planning
Publication Date: 2023.11.28 INTEL CORP
  • US11829119B2 patent drawing
  • US11829119B2 patent drawing
  • US11829119B2 patent drawing

AI summary

Methods and apparatus relating to FPGA (Field-Programmable Gate Array) based acceleration in robot motion planning are described. In an embodiment, logic circuitry (such as an FPGA), coupled to a processor, accelerates one or more motion planning operations for a plurality of objects. A first memory, coupled to the logic circuitry, stores data corresponding to a plurality of Oriented Bounding Boxes (OBBs). The plurality of OBBs are to provide Bounding Volume (BV) models for the plurality of objects. Other embodiments are also disclosed and claimed.