Hello, i am trying to associate radar velocities with the GT annotations velocities, and compare if they are right. I know that the velocities in the annotations are in the global frame, so i have to transform my radar compensate velocities (vx_comp, vy_comp) to this frame. I am doing like this, with the Front radar:
sample_data = nusc.get(‘sample_data’, sample[‘data’][‘RADAR_FRONT’])
pc = RadarPointCloud.from_file(osp.join(nusc.dataroot, sample_data[‘filename’]))
# Get the ego pose associated with the sample data.
ego_pose = nusc.get(‘ego_pose’, sample_data[‘ego_pose_token’])
# Get the rotation matrix from the ego pose.
ego_rotation = Quaternion(ego_pose['rotation']).rotation_matrix
# Transform the velocities from the local frame of the radar sensor to the global frame.
local_velocities = pc.points[8:10, :]
global_velocities = np.dot(ego_rotation[:2, :2], local_velocities)
It is correct what i am doing? Sometimes velocities match with the Ground Truth velocities, but in some cases i have a bit difference. I would like to work with the 5 radars, i should do the same with the others?
Thanks you so much!