Method and apparatus for transmitting data in a robot operating system

US9965344B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9965344-B2
Application numberUS-201715409946-A
CountryUS
Kind codeB2
Filing dateJan 19, 2017
Priority dateSep 6, 2016
Publication dateMay 8, 2018
Grant dateMay 8, 2018

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.

This disclosure discloses a method and apparatus for transmitting data in a robot operating system. The robot operating system includes a transmitting node, a receiving node, and a shared memory as a transmission medium between the transmitting and receiving nodes. The method in a particular embodiment includes: traversing, by the transmitting node, a sequence of data templates stored in advance in the shared memory, and determining whether the respective data templates in the sequence of data templates are currently being written into or read from; identifying a data template in the sequence of data templates currently being neither written into nor read from as a target data template, and obtaining information of the target data template; and writing data into the target data template according to the information of the target data template. This embodiment can improve the performance of transmitting the data while occupying less memory resources.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for transmitting data in a robot operating system to improve data transmission performance or reduce required memory resources, the robot operating system comprising a transmitting node, a receiving node, and a shared memory as a transmission medium between the transmitting node and the receiving node, the method comprising: traversing, by the transmitting node, a sequence of data templates stored in advance in the shared memory, and determining whether respective data templates in the sequence of data templates are currently being written into or read from; identifying one of the data templates in the sequence of data templates currently being neither written into nor read from as a target data template, and obtaining information of the target data template; and writing data into the target data template according to the information of the target data template. 2. The method according to claim 1 , wherein the traversing the sequence of data templates stored in advance in the shared memory, and determining whether the respective data templates in the sequence of data templates are currently being written into or read from comprises: obtaining sequence numbers of the data templates in the sequence of data templates currently being written into, wherein the respective sequence numbers of the data templates in the sequence of data templates are preset by the robot operating system; and monitoring sequentially, by starting from a sequence number greater than values of the obtained sequence numbers, and in an ascending order of the respective sequence numbers of the data templates in the sequence of data templates, whether the data templates currently not being written into in the sequence of data templates are currently being read from. 3. The method according to claim 2 , wherein the identifying one of the data templates in the sequence of data templates currently being neither written into nor read from as a target data template, and obtaining information of the target data template comprises: in response to determining that one of the data templates among the data templates currently not being written into in the sequence of data templates is not currently being read from, identifying the data template currently being neither written into nor read from as the target data template; in response to determining that each of the data templates currently not being written into in the sequence of data templates is currently being read from, monitoring in a cyclic order of the sequence numbers of the respective data templates in the sequence of data templates until one of the data templates currently not being read is detected, and identifying the data template currently being neither written into nor read from as the target data template; and obtaining the information of the target data template. 4. The method according to claim 1 , wherein the data templates comprise data tables. 5. The method according to claim 1 , wherein the data comprise structured data and semi-structured data, the structured data and the semi-structured data are data logically represented in a two-dimensional table structure. 6. A method for transmitting data in a robot operating system to improve data transmission performance or reduce required memory resources, the robot operating system comprising a transmitting node, a receiving node, and a shared memory as a transmission medium between the transmitting node and the receiving node, the method comprising: traversing, by the receiving node, a sequence of data templates stored in advance in the shared memory, and determining whether respective data templates in the sequence of data templates are currently being written into; identifying one of the data templates in the sequence of data templates currently not being written into as a target data template, and obtaining information of the target data template; and reading data in the target data template according to the information of the target data template. 7. The method according to claim 6 , wherein the traversing a sequence of data templates stored in advance in the shared memory, and determining whether the respective data templates in the sequence of data templates are currently being written into comprises: monitoring sequentially, in an ascending order of the respective sequence numbers of the data templates in the sequence of data templates, whether the respective data templates in the sequence of data templates are currently being written into, wherein the respective sequence numbers of the data templates in the sequence of data templates are preset by the robot operating system. 8. The method according to claim 7 , wherein the identifying one of the data templates in the sequence of data templates currently not being written into as a target data template, and obtaining information of the target data template comprises: in response to determining that a data template one of the data templates in the sequence of data templates is not currently being written into, identifying the data template currently not being written into as the target data template; in response to determining that each of the data templates in the sequence of data templates is currently being written into, entering into a waiting status until completion of writing into one of the data templates is detected, and identifying the data template which has been completed to be written into as the target data template; and obtaining the information of the target data template. 9. The method according to claim 6 , wherein the data templates comprise data tables. 10. The method according to claim 6 , wherein the data comprise structured data and semi-structured data, the structured data and the semi-structured data are data logically represented in a two-dimensional table structure. 11. An apparatus for transmitting data in a robot operating system to improve data transmission performance or reduce required memory resources, the robot operating system comprising a transmitting node, a receiving node, and a shared memory as a transmission medium between the transmitting node and the receiving node, the apparatus comprising: a determining unit configured to traverse a sequence of data templates stored in advance in the shared memory, and determine whether respective data templates in the sequence of data templates are currently being written into or read from; an obtaining unit configured to identify one of the data templates in the sequence of data templates currently being neither written into nor read from as a target data template, and obtain information of the target data template; and a writing unit configured to write data into the target data template according to the information of the target data template. 12. The apparatus according to claim 11 , wherein the determining unit comprises: a sequence number obtaining module configured to obtain sequence numbers of the data templates in the sequence of data templates currently being written into, wherein the respective sequence numbers of the data templates in the sequence of data templates are preset by the robot operating system; and a monitoring module configured to monitor sequentially, by starting from a sequence number greater than values of the obtained sequence numbers, and in an ascending order of the respective sequence numbers of the data templates in the sequence of data templates, whether the data templates currently not being written into in the sequence of data templates are currently being read from. 13. The apparatus according to claim 12 , wherein the obtaining unit comprises: a first template deter

Assignees

Inventors

Classifications

  • G06F9/52Primary

    Program synchronisation; Mutual exclusion, e.g. by means of semaphores · CPC title

  • Miscellaneous · CPC title

  • where the computing system component is a central processing unit [CPU] · CPC title

  • Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available (error or fault processing without redundancy G06F11/0703; error detection or correction by redundancy in data representation G06F11/08; error detection or correction of the data by redundancy in operations G06F11/14; error detection or correction by redundancy in hardware G06F11/16) · CPC title

  • G06F9/546Primary

    Message passing systems or structures, e.g. queues · CPC title

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 US9965344B2 cover?
This disclosure discloses a method and apparatus for transmitting data in a robot operating system. The robot operating system includes a transmitting node, a receiving node, and a shared memory as a transmission medium between the transmitting and receiving nodes. The method in a particular embodiment includes: traversing, by the transmitting node, a sequence of data templates stored in advanc…
Who is the assignee on this patent?
Beijing Baidu Netcom Sci & Tec
What technology area does this patent fall under?
Primary CPC classification G06F9/52. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 08 2018 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).