0%

位移平台程序应当满足的功能

程序功能

预想中的程序应该实现以下几个功能:

  1. 对路径的规划:获得带测量点,避免和已有待测物体发生撞车,智能更新测量点(类似于绘制函数的时候梯度变化大的点多,梯度变化小的点少)
  2. 移动命令的执行:与grbl进行通讯实现移动(通过传输GCode的方式),实时获知位置,获知出现撞车或者达到极限等状况,自定义原点
  3. 数据的获取与处理:原始数据获取(厂家有提供库),数据不确定度估算与定标(需要结合技术手册以及探头设计进一步研究)
  4. 中央控制程序:将电机等的状态显示出来,3D显示路径以及测量结果

为何不使用如kliment这样的程序

因为kliment是设计给3D打印机而非我们所使用的测量装置的

其优点有:

  1. 具有较为完善的各种错误的处理功能(但是grbl不支持)
  2. 界面比较漂亮
  3. 支持stl文件的导入等

但是我目前已经实现了gcode的传输以及实时的位置获取,klimenr可以为未来改进自定义原点或检查异常情况提供灵感,但是没有必要依赖其实现

主要原因在于klimenr缺乏开发文档,研究其源码会非常困难,并且其完全依赖于下位机的gcode功能(例如温度获取),但是对于我们现在的目标这么做并不切合实际.那么这样会导致可能存在解析gcode的”中间商”,将问题弄得过于复杂.

我的观点在于目前几个部分的模块分别开发(目前已经实现了一个可以控制grbl移动以及控制AD卡读取数据的一个控制程序),剩余的部分自行开发(当然像处理3D模型这样的问题究竟是使用像VTK这样的工具还是像使用slicer这样的小型工具还有待研究)

而最后的图形界面(虽然现在有一个基于CUI的”伪”图形界面),这个的制作属于比较细枝末节的问题(甚至最后可以扔给Labview解决),我们现在就不考虑了