三无的代价 (转)

三无的代价 (转)[@more@]

三无的代价

  这是一段真实的经历,讲述了一个软件开发中遇到的种种问题,可以说是软件危机的在实际项目中的真实

体现。为了避免再次重蹈覆辙,特撰写此文以勉励自我。
  2001年夏,我刚毕业,来到一家不算太小的软件公司工作,这家公司是做电信周边业务的公司,效益还不

错。进入公司后,由于一位同事的离职,一个做了一半的项目便落到了我的肩上。这是公司给我的第一个任务

,我很高兴,因为我觉得这是我施展才华的大好机会。这个项目很小,用部门经理的话说就是一两周可以完成

的项目。我将项目接了过来,很快的阅读了留下来的全部代码并完成了整个软件的开发,整个过程仅仅花了1周

的时间。我很高兴,这么快完成了任务。同时,我也得到了领导的器重。很快另一项大项目启动了,我便参与

到了这个项目中,在这个项目中担任一个还算比较重要的角色。这时的我可以用春风得意来形容,但是悲剧在

此已悄然拉开了帷幕。
  我还记得,交付用户使用时的情景,我将该软件刻录到了一张光盘上,来到客户那里,为他安装好,并将

系统运行起来,客户看了之后也非常满意。但是,就是从这里开始,问题便接二连三的出现了,系统不稳定,

有些端口无法接收数据,网络通讯经常出现中断,甚至经常造成死机。每次出现问题我就必须去客户那里解决

一次问题,经常影响到新系统的开发,由于有很多新的任务,也无法抽出时间来做一次大的修改,于是就这样

修修补补的,一晃几个月过去了,但是这个软件仍然不能正常的运行。终于,客户也无法忍受了,他告诉了我

的部门经理,说这个项目已经拖了4个月了。来自于客户的不满,当然的使我受到了严厉的批评。被迫,只能放

下现在的工作重新对系统做一次全新的设计。
  当我重新来看这个系统时,我才发现在我接手这个任务时,这个系统的设计便存在非常严重的缺陷,这个

缺陷是导致错误的根本原因,要解决实际问题只能将系统重新的进行设计,于是我便花了2周时间重新进行系统

的开发,除了一些周边的辅助模块外,其核心代码几乎被全部替换。对系统做了测试然后再交给用户。新的系

统运行的稳定性有了很大的提高。
  了却了一件心病后,再从头看起这个项目的开发过程,让我感触颇深,一个软件的开发一定要规范,对系

统的设计不能随心所欲,应该考虑周详,从各个方面认真的审核设计中可能存在的问题。为了保证系统的正常运行,测试过程绝对不能省略。
 
 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-990274/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-990274/

### 关于EVO单一比例坐标且不涉及旋的实现方法 在讨论EVO(Event-based Visual Odometry)时,其核心优势在于能够处理高速运动场景以及强光照变化条件下的视觉测程问题[^1]。然而,在特定的应用需求下,可能需要关注仅与平移相关的部分而不考虑旋分量。 #### 平移估计的核心原理 对于基于事件的视觉测程算法而言,通常会利用时间戳密集的时间序列数据来构建光流场或者通过优化直接计算相机位姿的变化。如果目标是忽略旋并专注于单一比例坐标的平移,则可以通过以下方式简化: 1. **线性化假设** 假设在一个短时间段内,相机的运动主要由平移主导,可以近似认为旋矩阵 \( R \approx I \),其中 \( I \) 是单位矩阵。此时,相机的变换可以用简单的三维向量表示为平移矢量 \( t=[t_x, t_y, t_z]^T \)。 2. **约束优化** 如果只需要获取单一方向的比例坐标(例如沿 z 轴),则可以在优化过程中引入额外约束。具体来说,设定其他两个维度上的平移参数固定为零,即 \( t_x=0 \), \( t_y=0 \),从而只保留 \( t_z \) 的自由度。这种做法可通过调整代价函数中的权重系数完成: ```python import numpy as np def cost_function(tz, events): tx = 0 ty = 0 tz = tz # 只允许tz作为变量 reprojection_error = compute_reprojection_error(tx, ty, tz, events) return reprojection_error initial_guess_tz = 1.0 # 初始猜测值 optimized_tz = optimize.minimize(cost_function, initial_guess_tz, args=(events,)) ``` 3. **事件驱动的重投影误差最小化** 对于每组输入事件数据,定义一个重投影误差函数,并将其用于评估当前估计位置相对于实际观测之间的偏差程度。由于忽略了旋成分,因此只需集中精力解决如何使该误差达到全局最优即可。 4. **尺度恢复策略** 需要注意的是,即使我们成功提取出了某个轴向上的一维距离信息,但由于缺乏绝对参照物的存在,最终得到的结果往往仍然是相对意义上的数值而非真实世界里的物理长度测量值。为了克服这一局限性,一种常见手段是从外部传感器读取辅助信号来进行校准;另一种则是借助已知尺寸的目标物体充当标尺角色参与整个流程当中去帮助确定整体缩放因子大小关系。 上述过程展示了当希望从EVO框架里单独抽取有关纯平动的信息时不涉及到任何角度改变操作的具体思路和技术细节说明文档。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值