前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >做机器人算法工程师是怎样一种体验?

做机器人算法工程师是怎样一种体验?

作者头像
机器人网
发布2018-04-16 11:28:11
2.5K0
发布2018-04-16 11:28:11
举报
文章被收录于专栏:机器人网机器人网

我应该也算是机器人算法工程师了,我所在实验室就叫学习算法与系统实验室(LASA, Learning Algorithm and System Lab,Learning Algorithms and Systems Laboratory (LASA)那些说没有这个职位的就不要闹了, robot software and algorithm engineer是一个很大的市场空缺

简单的说, 最深的体验就是:You have to take someone's shit. (受虐,无处不在)你需要懂的东西很多,需要你一次次走出自己的舒适区域

我只能以我的经历说一下:

2011年,我刚到实验室,实验室有个女博士后(postdoc)在做抓取规划(grasp planning),我老板让我一起做这个项目,我研究室也是做的这个,所以可以很快的上手但是,为了用一个优化的算法(IPOPT),整个规划(planning)是用AMPL(The AMPL Book)写的,Bell实验室出品,速度也是很好的,但是那个语法完全虐死人我保证你们都没有用过,用过之后就不想再见到这货了经过半年的努力,我也算是走通了整个MTALAB到AMPL+IPOPT的流程,然后程序要在CMU的一个服务器(server)上跑一个星期,得到了很多花样的炫酷的grasp(比如一个简单圆柱体大概得到3000+个不同grasp)

然后呢,当然要把这些grasp在仿真里面显示出来当时实验室在使用一款叫RobotToolKit,的自己开发的机器人仿真软件,没有说明文档,没有人有太多时间教你,关键是我当时连coding也是很渣的(当然现在也很烂)好不容易弄懂了整个逻辑,也会仿照着别人的东西写一些demo了在simulation里面一跑,各种grasp不能实现,需要把物体摆在机器人工作空间某个非常合适的位置,恰好IK(逆运动学)可以找到合适的关节角总之,3000个grasp,做了一下分类(简单clustering), 最终挑选出还能看的也就下图20个为了这20个grasp,我几乎花了两三个月的时间但最终也算知道这个仿真软件的一些基本东西了,也知道所有research中你看到的仅仅是冰山一角走到这一步,聪明的人就停留在仿真了,仿真的世界真的很美好

这不是结束!

我当然不满足于虚拟的世界,接下来才是整个作为一个机器人算法工程师的受虐之路的开始:算法实现所有的机器人算法都是要用实践来检验的,直观的将就是你要做一个demo,最好是在实际的机器人上终于要上机器人玩了,当时还有点小激动,用的还是iCub,就是下图这货,看起来十分萌

手上还有当时的视频,就不放了,简单的说一下iCub是线驱动(cable driven),整个手臂的定位精度可能在2cm左右整个手指关节定位精度,我只能说5度左右吧,实际上更差,每个手指末端大概能提供1N的力实际中,绝大多数(90%以上)的grasp在机器人上都没有办法实现出来机械臂到不了,手指又不准,手指力又不够,现实中的物体的摩擦,重力,材料等等特性又没有考虑下图中看到的,基本上是我和那个postdoc花了几个星期得到的稍微看得过去的grasp,其中又有无数的hacking基本上一个做grasp的走完这一步,已经要怀疑人生了

在这个hacking的世界里,我折腾了大半年,看看下图的手指末端的海绵,还有程序中各种小的技巧,总算也可以用KUKA LWR加上Barrett hand做点简单的grasp了

如果这就是结束,那生活也太美好了!整个PhD真正的大招是上图右下角的那个触觉传感器(tactile sensor) --Syntouch这一个传感器报价8000刀,一个手上要用三个,显然是一个暴利行业当时作为世界上最早使用的整个传感器的实验室,他们只提供了一个很简单的API,可以读取数据数据的意义不知道,反正传感器及其敏感,你说话都可以引起数据的变化,我要做的就是从中提取对grasp有用的信息并且用到grasp里面去但是什么是对grasp有用的呢?怎么用呢?每个人都以为自己知道,但实际上又没有几个人知道这才是最最受虐的,你根本不知道你的目标在哪里

于是乎,我在老板的领导下,一步步走到坑里,自己写算法(GP,GMM,SVM, NN,K-Means)标定了接触点的位置(精度0.3mm),接触力的大小(精度法向0.1N,切向0.3N),估计物体的重量,估计摩擦系数,估计物体动力学参数

还些东西就是我上面说的辅助性工作,但是是机器人算法中不可缺少的这一年把我虐到胃溃疡加胃出血,这也是做机器人算法的很多时候的陷阱,你感觉每天都很忙,但好像又什么都没有做出来这就是雷总说的战术上的勤奋,掩盖了战略上的懒惰

这时,一个日本教授(Kenji)来到我们实验室(2013年4月15号),一切都是命中注定的感觉在几次讨论后,突然间发现这个教授的控制算法可以和我做的触觉传感,通过机器学习算法结合起来然后就在2013年4月到2014年3月,灌水了几篇可以毕业的东西

到目前为止基本走了: 规划(planning+simulation) 实现(implementation)传感 (perception)控制 (control)当然这里面每一步都是从很多论文的合作者那里学到了不少的东西,这也是一个机器人算法工程师的必备能力:快速学习

这样一遍虐下来,你会发现到处都是问题,好像什么问题都没有被解决然后就到时候回头看看了,是时候找出每一个环节的最短板了

来源/知乎 李淼robot,文章版权归原作者所有如有转载,请标明来源与原作者。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-10-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器人网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档