Netzwerkprotokoll: Derzeit wird ausschließlich das Netzwerkprotokoll
ten als UDP-Datagramme versandt werden.
Datenserialisierung: Die gesandten Daten werden über
gende Nachrichtentyp-Definitionen verwendet.
• Die
Kameraposen-Datenströme
mithilfe des Nachrichtentyps
message
Frame
{
optional
optional
optional
}
• Der
Echtzeit-Dynamik-Datenstrom
rialisiert:
message
Dynamics
{
optional
captured
optional
optional
the pose is given in
optional
optional
the linear _ velocity is given in
optional
optional
the angular _ velocity is given in
optional
linear acceleration in m/s
optional
the acceleration is given in
repeated
representation of the 15x15 covariance matrix
optional
wrt. the IMU frame
optional
was a jump in the pose estimation
}
• Der
IMU-Datenstrom
message
Imu
{
optional
captured
optional
2
s
measured by the IMU
optional
s measured by the IMU
}
• Die enthaltenen Nachrichtentypen
wie folgt definiert:
message
PoseStamped
{
optional
optional
7.3. Die rc_dynamics-Schnittstelle
und
Echtzeit-Datenströme der Kamerapose
serialisiert:
Frame
PoseStamped
pose
=
1;
string
parent
=
2;
string
name
=
3;
(Abschnitt 6.3.2) wird mithilfe des Nachrichtentyps
Time
timestamp
Pose
pose
pose _ frame
string
linear _ velocity
Vector3d
linear _ velocity _ frame
string
angular _ velocity
Vector3d
angular _ velocity _ frame
string
linear _ acceleration
Vector3d
2
linear _ acceleration _ frame
string
double
covariance
cam2imu _ transform
Frame
possible _ jump
bool
(Abschnitt 6.3.2) wird mithilfe des Nachrichtentyps
Time
timestamp
linear _ acceleration
Vector3d
angular _ velocity
Vector3d
PoseStamped
Time
timestamp
=
1;
// Time when the data was captured
Pose
pose
=
2;
UDP
unterstützt, was bedeutet, dass Da-
Google protocol buffers
// Name of the parent frame
// Name of the frame
=
1;
// Time when the data was
=
2;
=
3;
// Name of the frame that
=
4;
// Linear velocity in m/s
=
5;
// Name of the frame that
=
6;
// Angular velocity in rad/s
=
7;
// Name of the frame that
=
8;
// Gravity compensated
=
9;
// Name of the frame that
=
10
[packed=true];
=
11;
// pose of the left camera
=
12;
// True if there possibly
=
1;
// Time when the data was
=
2;
// Linear acceleration in m/
=
3;
// Angular velocity in rad/
,
Pose
,
Time
,
Quaternion
serialisiert. Dabei werden fol-
(Abschnitt 6.3.2) werden
Dynamics
// Row-major
serialisiert:
Imu
und
Vector3D
werden
se-
107