个人简历

联系方式

基本信息

实习经历

武汉库柏特科技有限公司(2018年10月~2019年01月)

CAID项目

  该项目的一个目的是开发一款供公司内部员工使用的深度神经网络模型的训练和部署工具,方便现场技术人员训练和部署神经网络模型,以达到降低模型训练和部署的工作难度和强度,同时提高工作效率。在这个项目中,我负责模型训练工具的开发,功能包括数据标注、模型训练(用户可灵活配置训练集和测试集的数据,通过指定GPU达到可以同时寻训练多个模型,经而根据多个模型的训练效果来调参)、模型测试、训练/测试的结果实时可视化、模型保存/加载、模型部署等。

技术关键词:Qt5,Caffe

技术难点:

  1. 海量图片列表加载显示(数据标注和模型测试结果显示的时候,需要将大量的图片一次性加载到列表控件中显示)
  2. 多线程(Qt前端和Caffe后端的数据交互)
  3. 配置项管理(每次新建训练项目都要保存训练集和测试集的数据配方,加载预训练模型进行训练的时候会同时加载与当前用于训练和测试该模型的数据配方相一致,用户在训练之前,根据需要配置超参数和调整训练集和测试集的数据配方)
  4. 深度学习模型训练和测试结果的实时曲线显示。
  5. 超参数编辑器(实现了类似于Qt Designer 中的属性编辑器的功能)

该项目中我编写的代码量有约6000行C++代码,在这段为期三个月的实习期间,除了CAID项目项目,也写过一些其他小工具,比如简单的图像数据清洗工具、图像显示小工具(通过调用训练好的深度学习模型检测来同步显示通过实时采集的Basler相机的原始图像和经过检测算法处理后的图像)等。

桂林新力科技有限公司(2019年02月~2019年05月)

钻头激光熔覆项目

  这是我导师跟桂林新力科技有限公司合作的一个项目,具体来说就是在机器人的末端法兰安装激光器,通过三维激光扫描仪或者高精度的工业级3D智能相机获取待熔覆钻头表面的点云数据,将点云数据进行配准、滤波(去除离群点)、降采样(减少数据量)、转换成纯文本的txt格式、再转换成CAD格式、最后转换成STL格式的三角网格数据,最后通过将扫描并处理后的到的STL文件和设计时候的同尺寸的完整的STL文件进行3D布尔运算(通过差集运算,因为破损的钻头的尺寸总是会小于玩好的同型号的设计的钻头),最后对得到的STL文件进行通过VTK中的切片算法,切分一系列的片段,然后提取轮廓数据,进行路径规划,将规划好的结果传给机器人的控制器,进行激光熔覆。我在该公司实习的时候,主要做的是点云数据处理和规划路径,以及机器人运动学方面的工作,包括KUKA机器人通信。

技术关键词:PCL,VTK,KUKA

技术难点:

  1. 点云数据处理(点云拼接、去除离群点、降采样、转成STL)
  2. STL文件处理(3D布尔运算、3D等距切片、每层切片的轮廓数据提取)
  3. 机器人运动规划(路径规划、轨迹插补、关节角度插补)
  4. 机器人逆接算法(推导机器人的封闭解算法)
  5. KUKA机器人通信控制(通过tcp控制kuka机器人)

该项目主要涉及到机器人运动学、运动规划、点云数据处理、KUKA机器人运动控制。

工作经历

武汉库柏特科技有限公司(2019年06月~2020年03月)

  本人在武汉库柏特科技有限公司工作的9个月的时间里,先后在3个部门工作过,因此整个工作时间可以划分为下面的3个阶段:

2019年06月~2019年09月(在库柏特研究院的机器人部工作)

  • 机器人末端工具标定算法的C++实现
  • 机器人模型各关节坐标系转换功能的C++实现,从而可以通过标准的DH参数表计算出需要的数据来写XML
  • 核清洗项目开发Aubo机器人的封闭逆解算法,为项目如期顺利交付提供有力支撑
  • 力控打磨项目 开发Denso机器人的封闭逆解算法
  • 航天机器人项目 开发关节空间的轨迹插补算法
  • 经颅磁刺激项目 开发任务空间的轨迹规划算法

2019年10月~2019年12月(在机器人与智能系统部的物流与拆码垛组工作)

  • 作为主要成员,参与公司的某国家机器人重大专项项目申报工作(课题申报材料中技术相关的材料初稿撰写)
  • 参与公司的某电力行业机器人项目的方案细化工作
  • 参与公司的机器人通用AI抓取平台的研发工作,(上位机软件、UR\Elite机器人驱动)
  • 机器人通用AI抓取平台用到的Elite机器人开发封闭逆解算法
  • 双11和双12大促销期间,武汉某化妆品物流中心现场维护4台UR10机器人化妆品分捡工作站

2019年12月~2020年03月(在库柏特研究院的操作系统部工作)

  • 完成CobotStudio中的硬件设备库(机器人、相机、工作台、手爪和障碍物等)开发
  • 主持搭建公司的在线帮助文档(内容整理、编写、编译和微软云部署在线帮助文档)
  • 完成CobotStudio中的Gcode模块的开发(机器人路径规划仿真、轨迹生成和KUKA/ABB机器人程序导出)
  • 参与CobotStudio中机器人运动规划算法库的开发

开源项目

  • 基于视觉的机器人抓取软件
  • 基于力控制的机器人打磨软件()
  • 机器人仿真软件(包含运动学仿真、运动规划、碰撞检测、轨迹生成、轨迹插补,可以模仿RoboDK和RobotStudio等商业和免费的RobWork仿真软件)
  • 标定软件(包含相机参数标定、机器人手眼标定、自动手眼标定、自动相机参数标定)
  • 图像和点云处理软件(2D图像处理、3D点云处理,可以使用)
  • VTK的数据流编程(将VTK中的数据可视化算法封装成算法子,供用户拖拽调用)
  • 基于数据流的神经网络设计和训练软件(使用qtpynodeeditor + PyTorch)
  • 基于数据流的神经网络部署软件(QtNodeEditor + libTorch)

技术文章

挑选你写作或翻译的技术文章,好的文章可以从侧面证实你的表达和沟通能力,也帮助招聘方更了解你

技术书籍

《机器人工程师从入门到精通》

技能清单

  • 熟悉Qt5的C++开发框架,了解Qt5的QML开发框架
  • 熟悉2D视觉算法库OpenCV
  • 熟悉3D点云算法库PCL/Open3D
  • 熟悉机器人运动学、动力学、轨迹规划和轨迹插补
  • 熟悉机器人运动规划(基于采样的OMPL,基于优化的STOMP和TrajOpt,以及传统的人工势场算法)
  • 了解VTK和OSG
  • 熟练使用C++11/14/17
  • 熟悉ROS/RobWork等机器人开发框架
  • 熟悉Dart/Drake等机器人动力学库
  • 熟悉KDL/Track_IK运动学逆解算法
  • 熟悉SocKet编程/sqlite3数据库操作/基于DBus的进程间通信/多线程并发编程
  • 熟悉线性代数库Eigen3
  • 会使用CMake构建工具
  • 会使用GCC/GDB调试代码
  • 会使用GitHub和GitLab管理代码
  • 熟悉常用的设计模式
  • 熟悉常用的数据结构和算法

技能关键词

https://github.com/geekcompany/ResumeSample/blob/master/c.md

  • C++/Python/CMake/Shell/MATLAB
  • GitHub/GitLab
  • MarkDown/reStructuredText
  • Qt5/STL/OpenCV/PCL/Open3D/Eigen3/RobWork/Dart/Drake/SQLite3/Asio/DBus/KDL/Trac_IK
  • GCC/GDB
  • VSCode/QtCreator/CLion

自我评价

  • 做事认真靠谱
  • 写代码有洁癖
  • 具有良好的英文文献和文档的阅读能力(大学一年级通过英语四六级)
  • 主要爱好是逛知乎和GitHub,遇到问题会上StackOverFlow
  • 日常喜欢用MarkDown做笔记,写技术博客,分享技术

致谢

感谢您花时间阅读我的简历,期待能有机会与您共事。

评论加载中