Hey Guys,
I encountered a weird problem during the use of the C++-based
rock-replay2, which uses the local typekit definitions to load
marshalled types from the log files. In some logfiles, the local and the
marshalled typekit type mismatch in their sizes, for instance the
RigidBodyState_m type. The log was recorded with the Sherpa-Bot in Utah:
type a:
compound /base/samples/RigidBodyState_m [416] {
(+0) compound /base/Time [8] {
(+0) sint(8) (/int64_t) microseconds
}; time
(+8) container /std/string</int8_t> sourceFrame
(+16) container /std/string</int8_t> targetFrame
(+24) compound /wrappers/Matrix</double,3,1> [24] {
(+0) array[3] of
float(8) (/double) data
}; position
(+48) compound /wrappers/Matrix</double,3,3> [72] {
(+0) array[9] of
float(8) (/double) data
}; cov_position
(+120) compound /wrappers/Quaternion</double> [32] {
(+0) array[3] of
float(8) (/double) im
(+24) float(8) (/double) re
}; orientation
(+152) compound /wrappers/Matrix</double,3,3> [72] {
(+0) array[9] of
float(8) (/double) data
}; cov_orientation
(+224) compound /wrappers/Matrix</double,3,1> [24] {
(+0) array[3] of
float(8) (/double) data
}; velocity
(+248) compound /wrappers/Matrix</double,3,3> [72] {
(+0) array[9] of
float(8) (/double) data
}; cov_velocity
(+320) compound /wrappers/Matrix</double,3,1> [24] {
(+0) array[3] of
float(8) (/double) data
}; angular_velocity
(+344) compound /wrappers/Matrix</double,3,3> [72] {
(+0) array[9] of
float(8) (/double) data
}; cov_angular_velocity
};
type b:
compound /base/samples/RigidBodyState_m [464] {
(+0) compound /base/Time [8] {
(+0) sint(8) (/int64_t) microseconds
}; time
(+8) container /std/string</int8_t> sourceFrame
(+40) container /std/string</int8_t> targetFrame
(+72) compound /wrappers/Matrix</double,3,1> [24] {
(+0) array[3] of
float(8) (/double) data
}; position
(+96) compound /wrappers/Matrix</double,3,3> [72] {
(+0) array[9] of
float(8) (/double) data
}; cov_position
(+168) compound /wrappers/Quaternion</double> [32] {
(+0) array[3] of
float(8) (/double) im
(+24) float(8) (/double) re
}; orientation
(+200) compound /wrappers/Matrix</double,3,3> [72] {
(+0) array[9] of
float(8) (/double) data
}; cov_orientation
(+272) compound /wrappers/Matrix</double,3,1> [24] {
(+0) array[3] of
float(8) (/double) data
}; velocity
(+296) compound /wrappers/Matrix</double,3,3> [72] {
(+0) array[9] of
float(8) (/double) data
}; cov_velocity
(+368) compound /wrappers/Matrix</double,3,1> [24] {
(+0) array[3] of
float(8) (/double) data
}; angular_velocity
(+392) compound /wrappers/Matrix</double,3,3> [72] {
(+0) array[9] of
float(8) (/double) data
}; cov_angular_velocity
};Checking /body_joint.state
Differences can be found in the source- and targetFrame definitions.
Thank you and best regards,
Dennis
_______________________________________________
Rock-dev mailing list
[email protected]
http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev