Real-time equipment control
AssigneeMicrosoft Technology Licensing, LLC
InventorSergey Rusakov
Life of this patent
Estimating the term…
Abstract
In one example, a system for real-time execution in a non-real-time processing system includes a processor and a processor and storage device. The storage device stores instructions that, in response to execution by the processor, cause the processor to identify a processing unit for a single thread real-time execution environment. The instructions also cause the processor to determine that an application is submitted for real-time execution. The instructions additionally cause the processor to assign a shared memory space to the application. Further, the instructions cause the processor to submit real-time instructions received from a real-time control loop of the application to the identified processing unit.
Claims21
A system for real-time execution in a non-real-time operating system, comprising:
- a processor comprising a plurality of cores;
- and
- a storage device that stores instructions that, in response to execution by the processor, cause the processor to:
- designate one of the cores for a single thread real-time execution environment based on a suitability of the core for real-time use such that a single real-time control loop of an executing first application has exclusive control of the designated core, wherein the processor is to deny access to a second application that makes a request of the non-real-time operating system to run on the designated core;
- determine that the first application is submitted for real-time execution;
- assign a shared memory space to the first application;
- and
- submit real-time instructions received from the real-time control loop of the first application to the one core, the real-time instructions to be sent to the one core in response to detecting sensor data that indicates an operating condition based on a distance between a robot and a user, the real-time instructions to halt at least one actuator operated by the robot.
One or more computer-readable storage devices for real-time execution comprising a plurality of instructions that, based at least on execution by a plurality of processors, cause the processors to:
- designate a specified number of cores for a single thread real-time execution environment based on a suitability of the designated cores for real-time use such that a single real-time control loop of an executing first application has exclusive control of the designated cores, wherein the processor is to deny access to a second application that makes a request of a non-real-time operating system to run on the designated cores, the designated cores being associated with the processors;
- determine that the first application is submitted for real-time execution;
- assign a shared memory space to the first application;
- and
- submit real-time instructions received from the real-time control loop of the first application to one of the designated cores, the real-time instructions to be sent to the designated cores in response to detecting sensor data that indicates an operating condition based on a distance between a robot and a user, the real-time instructions to halt at least one actuator operated by the robot.
A method for real-time execution using a non-real-time operating system, comprising:
- designating a first core of a first processor for a single thread real-time execution environment based on a suitability of the first core for real-time use such that a single real-time control loop of an executing first application has exclusive control of the designated cores, wherein the first processor is to deny access to a second application that makes a request of the non-real-time operating system to run on the designated cores;
- identifying a second core of a second processor for non-real-time execution, wherein the first core and the second core are identified based on whether identification numbers for the first core and the second core are highest-numbered cores in comparison to other cores of the first processor and the second processor, wherein the first core is a highest numbered core of the first processor and the second core is not a highest numbered core of the second processor;
- determining that the first application is submitted for real-time execution;
- assigning a shared memory space to the first application;
- and
- submitting real-time instructions received from the real-time control loop of the first application to the first core, the real-time instructions to be sent to the first core in response to detecting sensor data that indicates an operating condition based on a distance between a robot and a user, wherein the first core provides, in real-time, a command for an actuator in response to executing one of the real-time instructions.
Dependencies are inferred from the claim text.