Skip to content

Communication Systems

Mathieu Tuli edited this page Nov 11, 2019 · 8 revisions

Communications Protocol - LCM

LCM (Lightweight Communications and Marshalling) is a communication protocol developed by MIT on top of UDP Multicast. It’s targeted at real-time systems, where low latency and high bandwidth is critical, and so proves incredibly useful to a system like the Hyperloop. All data is transferred through “channels”. It is based on the Publish/Subscribe communications model, where recipients can “subscribe” to a channel they wish to receive data from. The data gets sent to every member in the network, but only the subscribers of the channel accept the data. Figure 1 demonstrates this concept. pub_sub

Figure 1 : Visual representation of the publish / subscribe method

A list and description of our channels are yet to be decided.

System Health - Health Monitor

The System Health Monitor, works collaboratively with the Network and Channel monitors to ensure that all data being obtained from sensors is error-free. Errors are being accounted for in the actual data itself and the frequency of data being transmitted.

We have established a list of maximum and minimum values for each channel, which describe the acceptal range the data can lie in. Every time data is received from a sensor, it is compared against this range. Based on priority of the channel, appropriate action is taken (E-Stop, restart sensor, etc.)

For our system, it is also integral for data to be transmitted at a fast-rate. The Health Monitor continually monitors the rates data is being sent / received for each channel, and action is also taken appropriately taken to recover from this.

Physical Communication

Ethernet is currently used for physical transmission of data between the Arduinos and the Odroid.

Clone this wiki locally