【第五课】UAV倾斜摄影测量三维建模之空三计算问题

前言

基于UAV倾斜摄影测量技术进行三维建模的过程中,有一个至关重要的步骤——空三计算,在此前,Smart3D必须非常准确知道每张航片的照片属性和姿态,其实姿态也就是(x,y,f)。如果忽略这些属性,或者不太确定是否足够准确的时候,空三的过程会自动计算这些参数。

空三基于块(Block),并生产一个计算好相关属性的新块(Block)。空三会参考当前摄像机位置(例如,从GPS初始化)或基于地理参考控制点。

尽管ContextCapture可以在没有输入照片姿态初始信息的情况下完成空三,但不建议对大量照片进行计算;在这种情况下,没有任何初始位置信息的空三可能失败或者错乱。大数据集最好包括大概的姿态信息(例如INS),也可以通过XML或MS Excel文件导入。ContextCapture可以完成一个非常大的块(Block)的空三计算,块大小的唯一限制是计算机内存。

注意也就是:在大面积进行航拍的时候,如果拥有TB级的存储那可能就是“壕无人性”的这种,可是很多时候,都并不能达到这种存储,成本太高了,也就是根据实际情况进行分块,常规建议32G内存不要超过8000张。

本课程就空三失败和空三错乱提供一下解决思路,仅供大家参考学习。

【一】空三失败

【1】空三一开始就失败

  • 考虑ContextCapture Engine 是否打开,尝试关闭后重新打开;
  • 考虑相片数量是否过多(比如说在 10000 张以上,此时系统内存是个瓶颈);
  • 考虑修改 Jobs queue 路径(打开 ContextCapture Setting,将 Job queue directory 切换到别的路径,重新尝试;如果还不行的话再切换回去继重新尝试);
  • 上述方法都不行,则考虑相片本身问题或者重新安装软件。

【2】联机空三,辅机engine显not found

检查局域网是否畅通(建议用一个好的交换机保证网速畅通,保证每台工作站分配至少50兆以上)

【3】空三完成后提示有大量照片未参与重建。

(1)若测区无大面积同名点难以识别的地物地貌(例如水域、沙漠、玻璃等),出现大量照片未参与重建的情况一般是初始的“传感器尺寸(sensor size)”或者“相机焦距(focal length)”数值错误,可在最初导入的block表格中修改上述参数,或者直接在CC Master软件中修改上述参数,然后重新提交空三。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一份简单的维轨迹跟踪MATLAB代码示例: ```matlab clc; clear; close all; % 目标轨迹 t = 0:0.1:10; x_ref = 100 * sin(t); y_ref = 200 * sin(2*t); z_ref = 300 * sin(3*t); % 初始化状态 x = zeros(length(t), 6); x(1,:) = [0 0 0 0 0 0]; % 定义控制器参数 Kp = diag([0.5 0.5 0.5]); Kd = diag([0.3 0.3 0.3]); Ki = diag([0.1 0.1 0.1]); % 定义误差积分项 e_int = [0 0 0]; % 开始模拟 for i = 2:length(t) % 计算误差项 e = [x_ref(i) y_ref(i) z_ref(i)] - x(i-1,1:3); % 更新误差积分项 e_int = e_int + e * 0.1; % 计算控制指令 u = Kp * e' + Kd * ((e' - (x(i-1,1:3) - x(i-2,1:3)) / 0.1)') + Ki * e_int'; % 计算下一时刻的状态 x(i,:) = [x(i-1,1:3) x(i-1,4:6)]; x(i,4:6) = x(i,4:6) + u' * 0.1; end % 绘制轨迹 figure; plot3(x(:,1), x(:,2), x(:,3), 'LineWidth', 2, 'DisplayName', 'UAV'); hold on; plot3(x_ref, y_ref, z_ref, 'LineWidth', 2, 'DisplayName', 'Reference'); xlabel('x'); ylabel('y'); zlabel('z'); title('Trajectory Tracking'); legend; ``` 在这份代码中,我们首先定义了目标轨迹,即一些简单的正弦函数。然后我们通过一个循环,计算了每个时间步长内无人机的控制指令和状态,并保存了状态数据。最后我们用MATLAB的plot3函数绘制了无人机的轨迹和目标轨迹,并添加了图例和标题。在控制器方面,我们采用了一个简单的PID控制器,其中包括比例项、微分项和积分项。需要注意的是,由于无人机是一个维的物体,因此我们需要将状态变量扩展为六维,其中前维表示位置,后维表示速度。同时,我们也需要将控制指令转换为一个六维向量,其中前维表示线性加速度,后维表示角速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

端木宛白的GIS课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值