The RCbenchmark Tracking Lab software streams UDP packets over the network. See the code here.
The User Datagram Protocol (UDP) is a transport layer protocol defined to be used with an IP network layer protocol. The UDP is simple and fast which means that it has much lower bandwidth overhead and latency. However, the packets being sent may be lost or received out of order. It is a best-effort delivery meaning that no guarantees are provided for the delivery of the packages.
The Transmission Control Protocol (TCP) is a transport layer protocol defined to be used with an IP network layer protocol. The TCP offers reliable messaging meaning that even lost packages are resent until received. It uses the three-way handshake method. However, the additional services that TCP offers comes at a cost in terms of additional data overhead and delays.
The server is theRCbenchmark Tracking Lab. The server communicates with the client program via UDP/IP and TCP/IP. The role of the server is to provide the necessary data to the client.
The client can be any program that wishes to acquire data from the server. Currently, the source code is provided to connect to the UDP sockets of the server using the following programming languages: C, C++, C#, Python, MATLAB and LabVIEW. To connect to the TCP sockets of the server, a source code in C# is provided. A ROS (Robot Operating System) module is provided, as well, to interface in real-time with the server.
Table 1. RCbenchmark Tracking Lab Ports and Protocols
|5400||UDP||Kinematics w.r.t. User Defined Frame, and more (See Figure 1)|
|BYTE #||UDP PACKAGE CONTENT|
|16||Linear Position: x|
|24||Linear Position: y|
|32||Linear Position: z|
|40||Linear Velocity: x|
|48||Linear Velocity: y|
|56||Linear Velocity: z|
|64||Linear Acceleration: x|
|72||Linear Acceleration: y|
|80||Linear Acceleration: z|
|88||Orientation Quaternion: x|
|96||Orientation Quaternion: y|
|104||Orientation Quaternion: z|
|112||Orientation Quaternion: w|
|120||Angular Velocity: x|
|128||Angular Velocity: y|
|136||Angular Velocity: z|
|144||Angular Acceleration: x|
|152||Angular Acceleration: y|
|160||Angular Acceleration: z|
Figure 1.UDP Package Content