weisongwen / UrbanNavDataset

UrbanNav: an Open-Sourcing Localization Data Collected in Asian Urban Canyons, Including Tokyo and Hong Kong
https://www.polyu-ipn-lab.com/download
479 stars 55 forks source link

extrinsic parameter of imu and groundtruth #3

Closed boxuLibrary closed 4 years ago

boxuLibrary commented 4 years ago

thank you for opening dataset,I have some issue of the dataset, I used the lantitude ,longitude and altitude in groundtruth to calculate xyz in ENU coordinate, and then I aligned the groundtruth and VIO trajectory, there is a yaw difference, I used gnss velocity to calculate yaw angle from VIO Coordinate frame to ENU coordinate frame ,however there is still alignment error, I want to know if there is a transformation between IMU coordinate frame and GNSS coordinate frame . Another question is I notice that in the extrinsic parameter file, the final col、 final row of the transformation matrix T is -0.28 and -0.36, in the standard transformation matrix, I think it is 1, so how should I understand the transformation matrix ,thank you very much.

weisongwen commented 4 years ago

@xubogithub Thanks for your issue. (1) Regarding the yaw angle difference you need, you may want to find the heading angle of the vehicle via rostopic /novatel_data/inspvax. The structure of the rostopic is as follows:

uint32 INS_STATUS_INACTIVE=0
uint32 INS_STATUS_ALIGNING=1
uint32 INS_STATUS_HIGH_VARIANCE=2
uint32 INS_STATUS_SOLUTION_GOOD=3
uint32 INS_STATUS_SOLUTION_FREE=6
uint32 INS_STATUS_ALIGNMENT_COMPLETE=7
uint32 INS_STATUS_DETERMINING_ORIENTATION=8
uint32 INS_STATUS_WAITING_INITIALPOS=9
uint32 POSITION_TYPE_NONE=0
uint32 POSITION_TYPE_SBAS=52
uint32 POSITION_TYPE_PSEUDORANGE_SINGLE_POINT=53
uint32 POSITION_TYPE_PSEUDORANGE_DIFFERENTIAL=54
uint32 POSITION_TYPE_RTK_FLOAT=55
uint32 POSITION_TYPE_RTK_FIXED=56
uint32 POSITION_TYPE_OMNISTAR=57
uint32 POSITION_TYPE_OMNISTAR_HP=58
uint32 POSITION_TYPE_OMNISTAR_XP=59
uint32 POSITION_TYPE_PPP_CONVERGING=73
uint32 POSITION_TYPE_PPP=74
uint32 EXTENDED_STATUS_POSITION_UPDATE_APPLIED=1
uint32 EXTENDED_STATUS_PHASE_UPDATE_APPLIED=2
uint32 EXTENDED_STATUS_ZUPT_APPLIED=4
uint32 EXTENDED_STATUS_WHEEL_SENSOR_APPLIED=8
uint32 EXTENDED_STATUS_HEADING_UPDATE_APPLIED=16
uint32 EXTENDED_STATUS_INS_SOLUTION_CONVERGED=64
novatel_msgs/CommonHeader header
  uint32 RECEIVER_STATUS_ERROR=1
  uint32 RECEIVER_STATUS_TEMPERATURE_WARNING=2
  uint32 RECEIVER_STATUS_VOLTAGE_SUPPLY_WARNING=4
  uint32 RECEIVER_STATUS_ANTENNA_UNPOWERED=8
  uint32 RECEIVER_STATUS_LNA_FAILURE=16
  uint32 RECEIVER_STATUS_ANTENNA_OPEN=32
  uint32 RECEIVER_STATUS_ANTENNA_SHORTED=64
  uint32 RECEIVER_STATUS_CPU_OVERLOADED=128
  uint32 RECEIVER_STATUS_COM1_BUFFER_OVERRUN=256
  uint32 RECEIVER_STATUS_COM2_BUFFER_OVERRUN=512
  uint32 RECEIVER_STATUS_COM3_BUFFER_OVERRUN=1024
  uint32 RECEIVER_STATUS_LINK_OVERLOAD=2048
  uint32 RECEIVER_STATUS_AUX_TRANSMIT_OVERRUN=8192
  uint32 RECEIVER_STATUS_AGC_OUT_OF_RANGE=16384
  uint32 RECEIVER_STATUS_INS_RESET=65536
  uint32 RECEIVER_STATUS_ALMANAC_INVALID=262144
  uint32 RECEIVER_STATUS_POSITION_SOLUTION_INVALID=524288
  uint32 RECEIVER_STATUS_POSITION_NOT_FIXED=1048576
  uint32 RECEIVER_STATUS_CLOCK_STEERING_DISABLED=2097152
  uint32 RECEIVER_STATUS_CLOCK_MODEL_INVALID=4194304
  uint32 RECEIVER_STATUS_EXTERNAL_OSCILLATOR_LOCKED=8388608
  uint32 RECEIVER_STATUS_SOFTWARE_RESOURCE_WARNING=16777216
  uint32 RECEIVER_STATUS_AUXILIARY3_EVENT=536870912
  uint32 RECEIVER_STATUS_AUXILIARY2_EVENT=1073741824
  uint32 RECEIVER_STATUS_AUXILIARY1_EVENT=2147483648
  uint16 id
  uint8 msg_type
  uint8 port_addr
  uint16 length
  uint16 sequence
  uint8 idle_time
  uint8 time_status
  uint16 gps_week
  uint32 gps_week_seconds
  uint32 receiver_status
  uint16 reserved
  uint16 software_version
uint32 ins_status
uint32 position_type
float64 latitude
float64 longitude
float64 altitude
float32 undulation
float64 north_velocity
float64 east_velocity
float64 up_velocity
float64 roll
float64 pitch
float64 azimuth
float32 latitude_std
float32 longitude_std
float32 altitude_std
float32 north_velocity_std
float32 east_velocity_std
float32 up_velocity_std
float32 roll_std
float32 pitch_std
float32 azimuth_std
uint32 extended_status
uint16 seconds_since_update

The azimuth denotes the yaw angle with respect to the north.

(2) Regarding the extrinsic parameters, we update them accordingly. Please see the latest extrinsic parameters.