生成偏心的IMU读数
这个例子展示了如何从安装在地面车辆上的传感器生成惯性测量单元(IMU)读数。根据传感器的位置不同,IMU的加速度也不同。
创建轨迹
指定车辆的路径点轨迹,并计算车辆姿态使用lookupPose
.
%采样率。Fs = 100;航路点和到达时间。航路点= [1 1 1;3 1 1;3 0 0;0 0 0];t = [1;10;20;30);创建轨迹并计算姿态。traj = waypointTrajectory(waypoints, t,“SampleRate”Fs);[posVeh, orientVeh, velVeh, accVeh, angvelVeh] = lookupPose(traj,...t (1): 1 / Fs: t ());
创建传感器并定义偏移量
创建两个9-axisimuSensor
由加速度计、陀螺仪和磁强计传感器组成的物体。一个imuSensor
对象生成安装在车辆起点的IMU的读数,另一个生成安装在驾驶员座位上的IMU的读数。接下来,指定车辆起点和安装在驾驶员座位上的IMU之间的偏移量。调用helperPlotIMU
将传感器的位置可视化。
车辆原点的IMU。imu = imuSensor (“accel-gyro-mag”,“SampleRate”Fs);我坐在驾驶座上。mountedIMU = imuSensor (“accel-gyro-mag”,“SampleRate”Fs);车辆和安装的IMU的位置和方向偏移。posVeh2IMU = [2.4 0.5 0.4];orientVeh2IMU =四元数([0 0 90],“eulerd”,“ZYX股票”,“帧”);%的可视化。helperPlotIMU(posVeh(1,:), orientVeh(1,:), posVeh2IMU, orientVeh2IMU);
利用车辆轨迹计算IMU轨迹
计算安装在驾驶员座位上的IMU的地面真实轨迹transformMotion
函数。该函数使用位置和方向偏移量以及车辆轨迹来计算IMU轨迹。
[posIMU, orientIMU, velIMU, accIMU, angvelIMU] = transformMotion(...posVeh2IMU orientVeh2IMU,...posVeh, orientVeh, velVeh, accVeh, angvelVeh);
生成传感器读数
为安装在车辆起点的IMU和安装在驾驶员座位上的IMU生成IMU读数。
车辆原点的IMU。[accel,陀螺仪,mag] = imu(accVeh, angvelVeh, orientVeh);我坐在驾驶座上。[accelermounted, gyroMounted, magMounted] = mountedIMU(...accIMU、angvelIMU orientIMU);
比较加速度计读数
比较两个imu的加速度计读数。请注意,x-轴加速度是不同的,因为偏离中心的位置。
图(“名字”,加速度计比较的) subplot(3,1,1) plot([accel(:,1), accelMounted(:,1)]) legend(与车辆的,“偏心”)标题(加速度计的) ylabel (“轴(m / s ^ 2)”) subplot(3, 1, 2) plot([accel(:,2), accelermounted (:,2)])“轴(m / s ^ 2)”) subplot(3, 1, 3) plot([accel(:,3), accelermounted (:,3)]) ylabel(“z轴(m / s ^ 2)”)
比较陀螺仪数据
比较两个imu的陀螺仪读数。
图(“名字”,“陀螺仪比较”)次要情节(3、1、1)的阴谋([陀螺(:1),gyroMounted (: 1)]) ylim([-0.22 - 0.1])传说(与车辆的,“偏心”)标题(“陀螺”) ylabel (“轴(rad / s)”次要情节(3、1、2)情节([陀螺(:,2),gyroMounted (:, 2)]) ylabel (“轴(rad / s)”次要情节(3,1,3)情节([陀螺(:,3),gyroMounted (:, 3)]) ylabel (“z轴(rad / s)”)
比较磁强计读数
比较两个imu的磁强计读数。
图(“名字”,“磁强计比较”)次要情节(3、1、1)的阴谋([杂志(:1),magMounted(: 1)])传说(与车辆的,“偏心”)标题(“磁强计”) ylabel (“轴(\狗)”次要情节(3、1、2)情节([杂志(:,2),magMounted (:, 2)]) ylabel (“轴(\狗)”次要情节(3,1,3)情节([杂志(:,3),magMounted (:, 3)]) ylabel (“z轴(\狗)”)