
在自动驾驶中,四元数的核心作用是:用稳定、紧凑的方式表示三维空间中的旋转和姿态。自动驾驶系统需要不断处理车辆、相机、激光雷达、毫米波雷达、IMU、障碍物检测框等对象在三维空间中的位置和朝向。对于一个物体来说,仅知道它在哪里是不够的,还需要知道它“朝向哪里”。这个“朝向”本质上就是三维旋转问题,而四元数正是解决三维旋转问题的重要工具。相比欧拉角,四元数可以避免万向锁问题;相比旋转矩阵,四元数只需要 4 个数,表达更加紧凑。因此,在自动驾驶感知、定位、融合、预测和控制模块中,四元数都非常常见。例如:array([9.19637827e-01,-5.44678106e-04,9.76648310e-03,-3.92645624e-01])如果按照pyquaternion的格式理解,它的顺序是: