硕士毕设及相关代码链接与说明
本说明文档使用 编写,可在 查看,或含有Markdown插件的 编辑器中查看。
相关代码
机械臂上位机 机械臂控制器 中期报告 毕业论文 毕业论文bibtex引用 无约束优化库 矩阵运算库 相机标定
使用说明
毕业论文的编译
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 参考文献 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ibliographystyle{../paperbibs/stylebib} ibliography{ ../paperbibs/bibautotest, ../paperbibs/bibrobotarm, ../paperbibs/bibvision, ../paperbibs/bibmath, ../paperbibs/bibother }
论文源代码的README.md中给出了部分有用的网站链接,此处不赘述。 论文的所有插图和画图程序已经放到了论文源代码中,如果需要重新生成插图,除了 LaTeX LaTeX LATEX自带的 tikz 以外,使用的软件为:、、、matlab(simscape)、Altium Designer、Proteus、等,和 。 C++动态链接库的编译和python的调用见博客 ,在机械臂轨迹规划的两个图中,将 算法的C++源代码motor.cpp编译生成动态链接库供python脚本figtraceplan.py调用。无法编译出合适的动态链接库,所以只能使用 visual studio 编译。 相关软件的版本为
-
Python 3.9.2 matplotlib 3.4.2 matlab R2020a Qt 5.12
机械臂上位机和控制器程序的编译
控制器使用STM32单片机,具体型号为STM32F103VE。编译并运行程序使用集成开发环境 。建立工程使用“Manage Run-Time Environment”方法,具体方法可参考 。 上位机需要用到C++版 。上位机运行于树莓派的Linux系统上,环境配置方法见 。 程序需要依赖前面提到的矩阵运算库zhnmat。上位机和矩阵运算库均使用和编译。Linux下的编译命令行为
~/package $ mkdir build ~/package $ cd build ~/package/build $ cmake .. ~/package/build $ make
windows下对应的mingw命令行为cmake .. -G "MinGW Makefiles"和mingw32-make。 cmake教程和C++的编译环境搭建推荐: 树莓派的官方Debian系统自带Python和mingw环境,如果使用Windows系统则需要另外安装mingw。建议使用Qt发行版自带mingw,单独安装的方法见 。
相机标定程序的使用
按照使用顺序分别说明如下:
-
camera.cpp: 拍照程序。 monocular.cpp: 单目相机标定。 stereo.cpp: 双目相机标定。 transformation.cpp: 无约束优化法手眼标定。 transformation.cpp: 双目测距效果测试。
其中,与上位机程序类似,多个程序需要依赖矩阵运算库zhnmat,手眼标定程序另外依赖无约束优化库zhnoptim,配置环境方式相同。另外需要注意,相机标定程序完成后,zhnmat和zhnoptim两个库仍然进行了后续更新,若出现不兼容的现象则查阅这两个库之前版本的提交记录。 李代数求导法和无约束优化法两个手眼标定程序在论文源代码中有截至画出论文插图的最新版本。