主要内容

生成偏离中心的IMU读数

这个例子展示了如何从安装在地面车辆上的传感器生成惯性测量单元(IMU)读数。根据传感器的位置不同,IMU加速度也不同。

创建轨迹

指定路径点轨迹的车辆和计算车辆姿态使用lookupPose

%抽样率。Fs = 100;%航路点和到达时间。路径点= [1 1 1;3 1 1;3 0 0;0 0 0];T = [1;10;20;30);%创建轨迹和计算姿态。traj = waypoint轨迹(路径点,t,“SampleRate”Fs);[posVeh, orientVeh, velVeh, accVeh, angvelVeh] = lookupPose(traj,...t (1): 1 / Fs: t ());

创建传感器并定义偏移量

创建两个9轴imuSensor由加速度计、陀螺仪和磁强计传感器组成的物体。一个imuSensor该对象生成安装在车辆原点的IMU的读数,另一个生成安装在驾驶员座位上的IMU的读数。接下来,指定车辆原点和安装在驾驶员座位上的IMU之间的偏移量。调用helperPlotIMU来可视化传感器的位置。

车辆原点的% IMU。imu = imsensor (“accel-gyro-mag”“SampleRate”Fs);IMU坐在驾驶座上。mountedIMU = imussensor (“accel-gyro-mag”“SampleRate”Fs);%车辆与安装的IMU的位置和方向偏移。posVeh2IMU = [2.4 0.5 0.4];orientVeh2IMU =四元数([0 0 90],“eulerd”“ZYX股票”“帧”);%的可视化。helpplotimu (posVeh(1,:), orientVeh(1,:), posVeh2IMU, orientVeh2IMU);

图中包含一个轴对象。axis对象包含line、patch类型的2个对象。

利用飞行器轨迹计算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);IMU坐在驾驶座上。[accelMounted, gyroMounted, magMounted] = mountedIMU(...accIMU, angvelIMU, orientIMU);

比较加速度计读数

比较两个imu的加速度计读数。注意x-轴加速度是不同的,因为偏离中心的位置。

图(“名字”加速度计比较的) subplot(3,1,1) plot([accel(:,1), accelMounted(:,1)])“与车辆对齐”“偏心”)标题(加速度计的) ylabel (“轴(m / s ^ 2)”) subplot(3,1,2) plot([accel(:,2), accelMounted(:,2)])“轴(m / s ^ 2)”) subplot(3, 1, 3) plot([accel(:,3), accelMounted(:,3)])“z轴(m / s ^ 2)”

图加速度计比较包含3个轴对象。标题为Accelerometer的Axes对象1包含2个类型为line的对象。这些对象表示与车辆对齐,偏离中心。坐标轴对象2包含2个line类型的对象。坐标轴对象3包含2个line类型的对象。

比较陀螺仪读数

比较两个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)”

图陀螺仪对比包含3个轴对象。标题为Gyroscope的坐标轴对象1包含2个类型为line的对象。这些对象表示与车辆对齐,偏离中心。坐标轴对象2包含2个line类型的对象。坐标轴对象3包含2个line类型的对象。

比较磁力计读数

对比两个imu的磁力计读数。

图(“名字”“磁强计比较”)次要情节(3、1、1)的阴谋([杂志(:1),magMounted(: 1)])传说(“与车辆对齐”“偏心”)标题(“磁强计”) ylabel (“轴(\狗)”次要情节(3、1、2)情节([杂志(:,2),magMounted (:, 2)]) ylabel (“轴(\狗)”次要情节(3,1,3)情节([杂志(:,3),magMounted (:, 3)]) ylabel (“z轴(\狗)”

图磁力仪对比包含3个轴对象。标题为Magnetometer的Axes对象1包含2个类型为line的对象。这些对象表示与车辆对齐,偏离中心。坐标轴对象2包含2个line类型的对象。坐标轴对象3包含2个line类型的对象。