# Data saving/sharing standards for objects, actions and senses

I am working on a language (computer language) for robotics to communicate with each other.

I am looking for naming standards that is unique and usable for robotics, for example when two robots are communicating with this language, they will use a word(standard) for an object like "door" that is understandable for both because they are using one unique naming standard.

As I searched the internet I couldn't find something helpful for naming objects, senses and actions may robots share with each other and they understand what are they meaning for.

Syntax of my language

SEND BY loc ON object = door


This language is a query language like SQL that programmer based on programming conditions writes communication queries to archive some data from destination robot or requesting some actions from it.

In the code above, loc and door are names that should be declared by a standard that both robots can understand them.

I'm asking you if you can suggest any naming standard for saving and sharing names on robots and if there is robotics communication standard to suggest especially scholars. thanks.

• Are you planning on having object names as first-class objects in your programming language? In other words, are keywords like "door" and "face" and every other thing that computer vision can recognize going to be included in your language. Do you want a vocabulary of 10,000? 20,000? This is one of the reasons why there isn't such a naming convention. – NomadMaker Jul 29 '18 at 6:20

"ontology" is the search term you are looking for. There are a few. You will have to review them to see if any meet your needs.

You may be tempted to only look at ontologies made by roboticists or with the word robot in the title, but each ontology is created with a set of assumptions or contexts in mind. You may miss a useful ontology if you only look at robotics.

• Do you mean "Ontology for Robotics and Automation" papers in IEEE? Or another term. can you please write down a complete keyword in the comments? For example "Naming ontology for robots". Or if you add some results to your answer I mark it as the answer to the question. Thank you. – Amir Fo Jul 29 '18 at 7:16
• I added a note about why i only suggested the generic term instead of robot ontology. As a side note, the messages used by ROS and other middleware are also an aspect of shared knowledge between robots. – hauptmech Jul 29 '18 at 9:15

Most of the published papers are from the area of computer animation, for example the JACK system which was developed by Norman Badler in the 1990s. It is some kind of virtual agent with a natural language interface. Only in recent years, some efforts are ongoing to use robotics together with an animation language. A general standard is called the RDF-triple notation. Every situation is expressed with “subject verb object”. That means, we have three words, separated by a space sign. A scene could be described for example with “robot is-on placeA”.

The most dominant problem is not the robot-to-robot communication. This can be done in case of doubt with a simple Json / XML / API interface. Instead the real challenge is the human-to-machine communication. Like you mentioned in the Original post natural language is a good starting point. This makes it easier to debug existing scripts and control the robot interactively.

Dude, don't reinvent the wheel. If you are smart do something useful... Stand on the shoulders of giants! ROS is a middle-ware that solved this issue. They basically have message types that are user defined... just drop in the data type into a file in a specifically named directory structure, and two "softwares" (nodes) can communicate. It makes communication very easy, and there you go, a real problem for a robot solved.

This is hard to really understand (for me), but give it a read: http://wiki.ros.org/msg

• Thank you for your answer. I think my idea (query language) is better and simpler than writing files and it has so many capabilities like robot authentications. Can you please answer the main question that how can I get standards for naming? – Amir Fo Jul 28 '18 at 7:33
• I believe that you misunderstand ROS and the answer. The file merely defines the way the two nodes communicate. This can be done via programming, but files may be easier in some cases. – NomadMaker Jul 29 '18 at 6:16
• @NomadMaker is there some syntax for messages? Or they are a human language. or some data to be sent? – Amir Fo Jul 29 '18 at 7:05
• ROS uses a simple message description language for its messages. wiki.ros.org/msg – NomadMaker Jul 29 '18 at 13:04