Concurrent Robot Task Simulation With Operand-Triggered Logic Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current robotic simulation techniques on common computers are cumbersome, introduce simulation errors, and fail to provide realistic and high-performing simulations of complex industrial robot cells with multiple robots executing numerous tasks, often requiring workarounds that compromise execution time and realism.

Innovation Solution

A method that enables concurrent simulation of multiple robotic tasks by suspending and resuming the execution of logic programs based on operand modifications, allowing for the execution of both motion and logic programs in a virtual environment without external Virtual Robot Controllers, thereby optimizing CPU usage and maintaining close to real-time performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If current robotic simulation techniques are used on common computers, then the simulation can be executed on accessible hardware, but the simulation introduces errors and fails to provide realistic and high-performing results

Engineering Contradiction:
Improvesimulation realismVSAvoidsimulation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The simulation system segments robotic tasks into motion tasks and logic tasks, executing them through different mechanisms. Motion tasks are executed by the simulation engine while logic tasks are handled by external Virtual Robot Controllers, allowing complex simulations to be divided into manageable components that can be executed on common computers without sacrificing realism

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Virtual Robot Controllers (VRCs) act as intermediaries between the simulation environment and the robotic logic programs. The VRCs execute logic tasks externally and communicate results to the motion task simulator, enabling realistic logic processing without burdening the common computer's simulation engine

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple robotic programs are executed concurrently to simulate complex robot cells, then the simulation coverage is improved, but the CPU time and execution performance deteriorate

Engineering Contradiction:
Improvesimulation coverageVSAvoidCPU time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The concurrent execution system segments programs into motion tasks and logic tasks. Motion tasks execute in the simulation environment while logic tasks are offloaded to external VRCs, reducing the CPU burden on the simulation computer while maintaining comprehensive simulation coverage

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system executes only the essential motion tasks concurrently in the simulation environment, while logic tasks are handled partially by external VRCs. This selective concurrent execution reduces CPU time requirements while maintaining sufficient simulation coverage for complex robot cells

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12162146B2Method and system for facilitating a concurrent simulation of multiple robotic tasks
Publication Date: 2024.12.10 SIEMENS INDUSTRY SOFTWARE LTD
  • US12162146B2 patent drawing
  • US12162146B2 patent drawing
  • US12162146B2 patent drawing

AI summary

Systems and a method for facilitating a concurrent simulation of multiple tasks of a plurality of robots in a virtual environment, wherein at least one virtual robot is foreseen to concurrently simulate one robotic motion task and a set of robotic logic tasks by concurrently executing one corresponding robotic motion program and a set of corresponding robotic logic programs on a set of operands. During a concurrent execution of the plurality of robotic motion programs and the plurality of sets of robotic logic programs of the plurality of robots, the execution of at least one given logic program is suspended and resumed by repetitively: executing a run of the given logic program; collecting a subset of operands used in the executed run; if none of the collected operands is modified in the execution run, suspending the execution of the given logic program and resuming its execution when one of the collected operands is modified.