ORTE - OCERA Real-Time Ethernet

ORTE stands for OCERA Real Time Ethernet and it is a part of OCERA project. ORTE is an open source implementation of RTPS (Real-Time Publish-Subscribe) communication protocol defined by Real Time Innovations. RTPS is an application layer protocol, which has two main communication modes. One is the publish-subscribe protocol for transferring the data from publisher to subscribers, and the other one is Composite State Transfer (CST) protocol, which transfers state. RTPS protocol was designed to use an unreliable underlying network protocol, such as IP/UDP.

Publisher-subscriber model of ORTE communication Publisher-subscriber model of ORTE communication.

Publisher-subscriber model of ORTE communication

The publish-subscribe architecture was designed to simplify data distribution from one source to many recipients. The publisher does not have to have any knowledge of the number or location of subscribers. Also, the subscribers simply receive the data anonymously and thus they don't need to know any information about the publisher. An application can be publisher and subscriber at the same time.

The publish-subscribe architecture is best suited for distributed applications. It is scalable and the data flows can be managed easily regardless of the number of nodes (publishers and subscribers) connected to the system. When subscribing to a data flow, the application specifies only the topic of the data it wants to receive, rather than to any specific publisher.

The publish-subscribe services are typically made available to applications through middle-ware, that sits on top of the operating system network interface and presents an application programming interface.

In our case, we are using ORTE to publish data from an application, which intercepts data from CAN bus. Then the data are subscribed in the main controlling application running on the main controller board, but also in a graphical application running on a standard desktop or portable computer, which we use for visualizing all the data from the robot. Thus we can see on-line all the sensors readings, information about the position of the robot and so on. The controlling application publishes all the commands for controlling the motion of the robot to ORTE also, and the data are subscribed in CAN bus communication application, which transforms them into appropriate CAN messages and sends them to the motor driver board. This approach makes it possible to control the robot as from the controlling application as from the graphical application on a separate computer in the same manner.

References