Data logger for a real-time robotic control system

US11550693B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11550693-B2
Application numberUS-202117373024-A
CountryUS
Kind codeB2
Filing dateJul 12, 2021
Priority dateDec 23, 2019
Publication dateJan 10, 2023
Grant dateJan 10, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for logging real-time data of a robot control system. One of the systems comprises a real-time robotic control system comprising one or more computers, programmed to perform operations comprising i) software module loops and ii) real-time data logging, wherein each software module loop comprises a plurality of software modules executed repeatedly in a predetermined sequence, each software module executes within a predetermined time window, and the real-time data logging comprises copying segments of real-time data used by a particular software module to a buffer accessible by a non-real-time downstream system, wherein each segment of real-time data is copied at a respective predetermined time relative to execution of the software modules in the software module loop; and the non-real-time downstream system comprising one or more computers, the non-real-time downstream system programmed to perform operations that consume the real-time messages.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: a real-time robotic control system comprising one or more computers, the real-time robotic control system programmed to perform operations comprising i) repeatedly executing a software module loop and ii) performing real-time data logging, wherein: the software module loop comprises a plurality of software modules executed in a predetermined sequence, each software module in the software module loop executes within a predetermined time window, and performing the real-time data logging comprises copying one or more segments of real-time data processed by a particular software module of the software module loop to a buffer accessible by a non-real-time downstream system, wherein each of the one or more segments of real-time data is copied at a respective predetermined time relative to execution of the software modules in the software module loop; and the non-real-time downstream system comprising one or more computers, the non-real-time downstream system programmed to perform operations that consume the one or more segments of real-time data. 2. The system of claim 1 , wherein: at least one software module of the software module loop executes according to respective predefined data interfaces, the at least one software module of the software module loop exchanges real-time messages with one or more other software modules of the software module loop according to the respective predefined data interfaces, and the one or more segments of real-time data comprise one or more real-time messages exchanged between respective software modules of the software module loop. 3. The system of claim 1 , wherein copying each segment of the one or more segments of real-time data takes a respective predetermined amount of time. 4. The system of claim 1 , wherein copying the one or more segments of real-time data comprises accessing a configuration file that specifies the one or more segments of real-time data. 5. The system of claim 1 , wherein performing the real-time logging further comprises: processing the one or more segments of real-time data, and inserting the one or more segments of processed real-time data into the buffer accessible by the non-real-time downstream system. 6. The system of claim 1 , wherein copying the one or more segments of real-time data to a buffer comprises serializing the segments of real-time data in the buffer. 7. The system of claim 1 , wherein performing the real-time data logging further comprises configuring a size of the buffer accessible by the non-real-time downstream system. 8. The system of claim 1 , wherein copying the one or more segments of real-time data to a buffer comprises selecting a respective location in the buffer for each segment of real-time data to be copied. 9. The system of claim 1 , wherein the non-real-time downstream system comprises one or more of: a visualizer system, a debugging system, an analytics system, an auditing system, a preventative maintenance system, or a machine learning system. 10. The system of claim 1 , wherein each of the one or more segments of real-time data is overwritten at each execution of the software module loop, and wherein the respective predetermined time for copying each segment of real-time data precedes the overwriting of the segment of real-time data in the software module loop. 11. A method comprising: receiving data representing a software module loop to be repeatedly executed by a real-time robotic control system, wherein the software module loop comprises a plurality of software modules to be executed in a predetermined sequence; generating a schedule that specifies a respective time at which to execute each software module in the software module loop according to one or more real-time constraints of the real-time robotic control system; selecting, within the schedule and relative to the execution of the software modules in the software module loop, respective times to copy one or more segments of real-time data processed by a particular software module of the software module loop; and generating a modified schedule that when executed by the real-time robotic control system causes the real-time robotic control system to perform operations comprising copying the one or more segments of real-time data to a buffer accessible by a non-real-time downstream system. 12. The method of claim 11 , wherein: receiving data representing a software module loop comprises receiving data representing a respective data interface for at least one of the software modules in the software module loop, wherein each data interface specifies real-time messages exchanged between the respective software module and other software modules in the software module loop; and the one or more segments of real-time data comprise one or more real-time messages exchanged between respective software modules. 13. The method of claim 11 , wherein copying each segment of real-time data takes a respective predetermined amount of time. 14. The method of claim 11 , wherein copying the one or more segments of real-time data comprises accessing a configuration file that specifies the one or more segments of real-time data. 15. The method of claim 11 , wherein copying the one or more segments of real-time data to a buffer accessible by a non-real-time downstream system comprises: processing the one or more segments of real-time data, and inserting the one or more segments of processed real-time data into the buffer accessible by the non-real-time downstream system. 16. The method of claim 11 , wherein copying the one or more segments of real-time data to a buffer comprises serializing the segments of real-time data in the buffer. 17. The method of claim 11 , further comprising configuring a size of the buffer accessible by the non-real-time downstream system. 18. The method of claim 11 , wherein copying the one or more segments of real-time data to a buffer comprises selecting a respective location in the buffer for each segment of real-time data to be copied. 19. The method of claim 11 , wherein: each of the one or more segments of real-time data is overwritten at each execution of the software module loop, and selecting, within the schedule and relative to the execution of the software modules in the software module loop, respective times to copy the one or more segments of real-time data comprises, for each segment of real-time data, selecting a time within the schedule that precedes the overwriting of the segment of real-time data. 20. One or more non-transitory computer storage media encoded with computer program instructions that when executed by a plurality of computers cause the plurality of computers to perform operations comprising: receiving data representing a software module loop to be repeatedly executed by a real-time robotic control system, wherein the software module loop comprises a plurality of software modules to be executed in a predetermined sequence; generating a schedule that specifies a respective time at which to execute each software module in the software module loop according to one or more real-time constraints of the real-time robotic control system; selecting, within the schedule and relative to the execution of the software modules in the software module loop, respective times to copy one or more segments of real-time data processed by a particular software module of the software module loop; and generating a modified schedule that when executed by the real-time robotic co

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11550693B2 cover?
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for logging real-time data of a robot control system. One of the systems comprises a real-time robotic control system comprising one or more computers, programmed to perform operations comprising i) software module loops and ii) real-time data logging, wherein each software module loop comprises a pl…
Who is the assignee on this patent?
Intrinsic Innovation Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/3476. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 10 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).