Users Manual

Table 8.3.1: Available data streams via the rc_dynamics interface
Name Protocol Protobuf Description
dynamics UDP Dynamics Dynamics of sensor (pose, velocity, acceleration) from INS or
SLAM (best effort depending on availability) at realtime
frequency (IMU rate)
dynamics
_
ins UDP Dynamics Dynamics of sensor (pose, velocity, acceleration) from stereo INS
at realtime frequency (IMU rate)
pose UDP Frame Pose of left camera from INS or SLAM (best effort depending on
availability) at maximum camera frequency (fps)
pose
_
rt UDP Frame Pose of left camera from INS or SLAM (best effort depending on
availability) at realtime frequency (IMU rate)
pose
_
ins UDP Frame Pose of left camera from stereo INS at maximum camera
frequency (fps)
pose
_
rt
_
ins UDP Frame Pose of left camera from stereo INS at realtime frequency (IMU
rate)
imu UDP Imu Raw IMU (Inertial Measurement Unit) values at realtime
frequency (IMU rate)
The general procedure for working with the rc_dynamics interface is the following:
1. Request a data stream via REST-API. The following sample curl command issues a PUT /
datastreams/{stream} request to initiate a stream of type pose
_
rt from the rc_visard to
client host 10.0.1.14 at port 30000:
curl -X PUT --header 'Content-Type: application/x-www-form-urlencoded' --header
˓'Accept: application/json' -d 'destination=10.0.1.14:30000' 'http://<rcvisard>/api/v1/
˓datastreams/pose
_
rt'
2. Receive and deserialize data. With a successful request, the stream is initiated and data of the specified
stream type is continuously sent to the client host. According to the Data-stream protocol (Section
8.3.3), the client needs to receive, deserialize and process the data.
3. Stop a requested data stream via REST-API. The following sample curl command issues a DELETE /
datastreams/{stream} request to delete, i.e., stop, the previously requested stream of type pose
_
rt
with destination 10.0.1.14:30000:
curl -X DELETE --header 'Accept: application/json' 'http://<rcvisard>/api/v1/
˓datastreams/pose
_
rt?destination=10.0.1.14:30000'
To remove all destinations for a stream, simply omit the destination parameter.
Warning: Data streams can not be deleted automatically, i.e., the rc_visard keeps streaming data even if the
client-side is disconnected or has stopped consuming the sent datagrams. A maximum of 10 destinations per
stream are allowed. It is therefore strongly recommended to stop data streams via the REST-API when they
are or no longer used.
8.3.3 Data-stream protocol
Once a data stream is established, data is continuously sent to the specified client host and port (destination)
via the following protocol:
Network protocol: The only currently supported network protocol is UDP, i.e., data is sent as UDP datagrams.
Data serialization: The data being sent is serialized via Google protocol buffers. The following message type
definitions are used.
The camera-pose streams and real-time camera-pose streams (Section 6.3.2) are serialized using the
Frame message type:
8.3. The rc_dynamics interface 162