You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Have observed angular velocities published by twist pub are too small by a factor of 100 in my case. This is while running the tracker at 100hz. I believe this driver is missing a division by dt.
Looking in VrpnTrackerRos::handle_twist, I see the vrpn_TRACKERVELCBvel_quat field is currently converted from quaternion to Euler then published without further modification.
typedef struct _vrpn_TRACKERVELCB {
struct timeval msg_time; // Time of the report
vrpn_int32 sensor; // Which sensor is reporting
vrpn_float64 vel[3]; // Velocity of the sensor
vrpn_float64 vel_quat[4]; // Rotation of the sensor per vel_quat_dt
vrpn_float64 vel_quat_dt; // delta time (in secs) for vel_quat
} vrpn_TRACKERVELCB;
The vel_quat field provides change in rotation over a time interval, and the vel_quat_dt provides the length of that time interval. Hence the user must divide vel_quat by vel_quat_dt to determine rotation rate per second. This driver does not perform that division, hence the scaling error on published angular velocity.
I'd suggest the following (untested!) change is appropriate:
Have observed angular velocities published by twist pub are too small by a factor of 100 in my case. This is while running the tracker at 100hz. I believe this driver is missing a division by
dt
.Looking in
VrpnTrackerRos::handle_twist
, I see thevrpn_TRACKERVELCB
vel_quat
field is currently converted from quaternion to Euler then published without further modification.Note in the the definition of the
vrpn_TRACKERVELCB
struct:The
vel_quat
field provides change in rotation over a time interval, and thevel_quat_dt
provides the length of that time interval. Hence the user must dividevel_quat
byvel_quat_dt
to determine rotation rate per second. This driver does not perform that division, hence the scaling error on published angular velocity.I'd suggest the following (untested!) change is appropriate:
The text was updated successfully, but these errors were encountered: